BKTel - Machine Learning Tutorial 01: Vehicles Counting - Python - OpenCV - YOLOv3
BKTel - Machine Learning Tutorial 01: Vehicles Counting - Anaconda - Pycharm - Git - OpenCV - YOLOv3, Vehicle Counting, Đếm xe, Đếm phương tiện giao thông
FANPAGE: / hcmbktel
WEBSITE: dte.dee.hcmut.edu.vn/
EMAIL: bmvt@hcmut.edu.vn
GITHUB: github.com/nkloi
Пікірлер: 98
thầy giảng hay quá ạ. E cảm ơn thầy!
thầy giảng hay quá
tổng hợp lại 1 số lỗi trong quá trình mình ngồi để chạy đc project này cv2 ko có mấy cái attribute cái này thì dùng pycharm r cài cái opencv-contribu-python j j đó là đc line 82 sửa thành cái này boxes.append([int(x), int(y), int(w), int(h)]) line tầm 69 70 xóa bớt 1 vòng for ngoài cùng đi r sửa thành như này 2 dòng đầu thành như này for detection in layer_output: scores = detection[2:]
giảng dễ hiểu quá ạ!!!
Cám ơn thầy
cảm ơn thầy nhiều ạ
hay quá ạ
ad có thể hướng dẫn về cách dự báo nhu cầu giao thông khi làm quy hoạch mạng lươi đường đô thị không ạ
thầy cho em hỏi là dùng thuật toán gì ạ , sử dụng những bộ thư viện nào?thầy có thể cho em xin slide được không ạ
Thầy ơi, thầy hướng dẫn em phần nhận diện biển số xe với ạ
mình đã chạy được chương trình nhưng nó không nhận diện được vehicle trong video, chỉ show được video thôi ạ Can't get output layers Can't get output layers Traceback (most recent call last): File "D:\HocLapTrinhDaiHoc\MachineLearning\vehicles_counting\main.py", line 244, in counting_vehicle('highway.mp4', 'vehicles.avi') File "D:\HocLapTrinhDaiHoc\MachineLearning\vehicles_counting\main.py", line 190, in counting_vehicle boxes, class_ids, confidences = detections_yolo3(net, frame, CONFIDENCE_SETTING, YOLOV3_WIDTH, File "D:\HocLapTrinhDaiHoc\MachineLearning\vehicles_counting\main.py", line 50, in detections_yolo3 layer_output = net.forward(get_output_layers(net)) KeyboardInterrupt
Thầy đang dùng model pretrain đúng k ạ
Lưu ý: Nhiều bạn hay bị 2 lỗi sau: 1) error: (-212:Parsing error) Failed to parse NetParameter file: yolov3.weights in function: Nguyên nhân là ở đoạn clip phút 7:33 mình có chuyển định dạng file cfg từ (Text Document txt) sang (Tất cả tập tin *.*). Nên các bạn lưu ý làm như vậy. Nếu ko các bạn có thể sửa đoạn này trong code thêm txt. Line 21: YOLOV3_CFG = 'yolov3-tiny.cfg.txt' 2) Lỗi liên quan đến cv2 Ví dụ - 219 AttributeError: module 'cv2.cv2' has no attribute 'TrackerKCF_create': Nguyên nhân là do liên quan đến phiên bản cv2. Nên các bạn lưu ý cài đặt đúng như hướng dẫn.
@buivuhoang1529
3 жыл бұрын
em cài y hệt vậy mà thầy pin install opencv-contrib-python sao vẫn lỗi ạ
@MLIoTLab
3 жыл бұрын
Em kiểm tra version xem ntn nhé. Và em bị lỗi gì?
Thầy ơi,Thư viện imutils ko sử dụng được với anaconda ạ?Mong thầy trả lời e ạ.
@MLIoTLab
3 жыл бұрын
sao không được vậy bạn? Vẫn dùng: pip install imutils
thầy ơi, e muốn chạy chương trình này ở bản yolov5 thì làm sao ạ. e có chuyển yolov5.pt sang .onnx để opencv hỗ trợ mà vẫn bị lỗi: IndexError: index 540346 is out of bounds for axis 0 with size 25195
@MLIoTLab
2 жыл бұрын
Em check cái issue này nhé: github.com/ultralytics/yolov5/issues/239
thầy ơi em xài open cv xác định chuyển động rồi em có vùng các phương tiện rồi bỏ vô transfer learning nhận dạng rồi đếm số xe như thầy có đc ko thầy!
@MLIoTLab
2 жыл бұрын
Có vẻ hướng này ko hiệu quả đâu em
Sao e người đi bộ k nhận diện vậy thầy
FPS đạt được là bao nhiêu vậy thầy. Thấy nên thêm để có sự so sánh. Cảm ơn thầy
@MLIoTLab
4 жыл бұрын
Cám ơn bạn. Video mục đích để các bạn mới biết AI có thể làm được gì, và 1 cách đơn giản để tiếp cận nó. Nên kết quả ko chú trọng vào các metric :).
Traceback (most recent call last): File "D:\BKU\vehicles_counting\main.py", line 1, in import cv2 ModuleNotFoundError: No module named 'cv2' lỗi này làm sao thầy
@MLIoTLab
2 жыл бұрын
Em chưa cài thư viện á em. Em xem kỹ từ đầu video đến hết nhé.
@dongmanh6851
Жыл бұрын
@@MLIoTLab thầy cho e xin code đc ko ạ
Có share code không ạ
Dạ thầy cho em hỏi lỗi này là gì vậy ạ Traceback (most recent call last): File "D:\Code PY\ML\vehicles_counting\main.py", line 250, in counting_vehicle('highway.mp4', 'vehicles.avi') File "D:\Code PY\ML\vehicles_counting\main.py", line 220, in counting_vehicle new_tracker.init(frame, tuple(box)) cv2.error: OpenCV(4.5.3) :-1: error: (-5:Bad argument) in function 'init' > Overload resolution failed: > - Can't parse 'boundingBox'. Sequence item with index 0 has a wrong type > - Can't parse 'boundingBox'. Sequence item with index 0 has a wrong type
@MLIoTLab
2 жыл бұрын
Ở phía dưới có bạn hướng dẫn á em "Bác sửa dòng 83 thành thế này nhé: boxes.append([int(x), int(y), int(w), int(h)])". Em thử xem nhé.
@thanhnguyenminh4740
2 жыл бұрын
@@MLIoTLab dạ em cảm ơn thầy ạ
E muốn tính số xe hiện tại trong một vùng nhất định được kẻ thì làm tn ạ. Tks
@MLIoTLab
2 жыл бұрын
Lúc đó bài toán của bạn sẽ chuyển sang dạng xác định 1 đối tượng đi vào và đi ra 1 polygon. Khi nào đối tượng đi vào polygon thì bạn tracking, khi nào đối tượng đi ra polygon thì bạn đếm lên.
@nguyenxuantuyen2684
2 жыл бұрын
@@MLIoTLab e cảm ơn thầy. Nếu muốn xác định số xe đang có trong ROI thì sẽ xử lý thế nào ạ
module 'cv2.cv2' has no attribute 'TrackerKCF_create' e bị lỗi này và đã cài pip install opencv-contrib-python nhưng vẫn bị ạ
@MLIoTLab
3 жыл бұрын
Em kiểm tra xem trong danh sách pip của em có cài sẵn cái opencv-python không? Nếu có thì uninstall nó ra luôn nhé.
@sangha5473
3 жыл бұрын
dạ e cài đc r ạ
Dạ thầy ơi, code này dành cho video ở một ngã tư được không vậy ạ?
@MLIoTLab
3 жыл бұрын
được nhé em. Code lại phần xác định cần counting ở đâu.
@thypham9434
3 жыл бұрын
@@MLIoTLab thầy có thể làm một video hướng dẫn về node giao thông ở ngã tư không ạ?
@MLIoTLab
3 жыл бұрын
@@thypham9434 Cái này cũng tương tự bài toán trong clip thôi em, em đọc thêm code để hiểu và phát triển thêm nhé.
Traceback (most recent call last): File "E:\BKU\vehicles_counting\main.py", line 250, in counting_vehicle('highway.mp4', 'vehicles.avi') File "E:\BKU\vehicles_counting\main.py", line 220, in counting_vehicle new_tracker.init(frame, tuple(box)) cv2.error: OpenCV(4.5.3) :-1: error: (-5:Bad argument) in function 'init' > Overload resolution failed: > - Can't parse 'boundingBox'. Sequence item with index 0 has a wrong type > - Can't parse 'boundingBox'. Sequence item with index 0 has a wrong type Em bị lỗi này, nhờ anh chị chỉ giáo ạ
@MLIoTLab
2 жыл бұрын
Ở phía dưới có bạn hướng dẫn á em "Bác sửa dòng 83 thành thế này nhé: boxes.append([int(x), int(y), int(w), int(h)])". Em thử xem nhé.
em muốn hỏi là e liên kết camera bên ngoài được không. không dùng video
@MLIoTLab
4 жыл бұрын
Chào bạn, nếu bạn dùng camera của device thì bạn sửa đoạn code đọc video thành cap = cv2.VideoCapture(0) trong đó 0 là Cam_ID. Nếu bạn dùng nguồn cam stream thì code như sau cap = cv2.VideoCapture(stream_link)
@letanat8966
4 жыл бұрын
@@MLIoTLab e nhúng vào Kit kết nối camera được phải ko ad có chỉnh sửa gì ko
@MLIoTLab
4 жыл бұрын
@@letanat8966 đúng rồi em, nếu có thì chắc chỉ chỉnh sửa về môi trường thôi em.
@letanat8966
4 жыл бұрын
@@MLIoTLab thầy ơi cho e hỏi làm thế nào để chỉnh sửa thanh ngang trong video vậy thầy. video của thầy đang để ngang. giờ e muốn để đúng để sử dụng video khác làm như thế nào thầy
@MLIoTLab
4 жыл бұрын
@@letanat8966 Em muốn chỉnh cái đó, thì chỉnh các function sau: 1. check_location: Kiểm tra cái điểm trung tâm của object đã chạy qua cái line để đếm hay chưa, cái này đang code là theo chiều trên xuống, em đổi sang chiều khác. 2. check_start_line: Kiểm tra điểm trung tâm của obj đã chạy qua cái line để bắt đầu tracking obj này. 3. Các dòng code hiễn thị: 235, 237, ...
Can't get output layers Traceback (most recent call last): File "d:\Kuliah\AI\New folder\vehicles_counting-master\main.py", line 250, in counting_vehicle('highway.mp4', 'vehicles.avi') File "d:\Kuliah\AI\New folder\vehicles_counting-master\main.py", line 196, in counting_vehicle boxes, class_ids, confidences = detections_yolo3(net, frame, CONFIDENCE_SETTING, YOLOV3_WIDTH, File "d:\Kuliah\AI\New folder\vehicles_counting-master\main.py", line 70, in detections_yolo3 scores = detection[5:] IndexError: invalid index to scalar variable. i have tracecall like that
@MLIoTLab
2 жыл бұрын
Bạn xem các comment phía dưới có cách khắc phục nhé.
@TuanNguyen-xx2qd
Жыл бұрын
@@MLIoTLab em cũng đang bị lỗi này có vác nào sửa được chưa ạ
@thinhletruong8262
9 ай бұрын
xin cách khắc phục lỗi này vs mn
Traceback (most recent call last): File "F:/Lap trinh/Python/Tutorial/BKU/vehicles_counting/main.py", line 250, in counting_vehicle('highway.mp4', 'vehicles.avi') File "F:/Lap trinh/Python/Tutorial/BKU/vehicles_counting/main.py", line 220, in counting_vehicle new_tracker.init(frame, tuple(box)) TypeError: integer argument expected, got float Tôi chạy code thì bị lỗi như thế này, làm ơn chỉ giúp ạ
@huongphanngoc6163
3 жыл бұрын
Bác sửa dòng 83 thành thế này nhé: boxes.append([int(x), int(y), int(w), int(h)])
@KienLe-fc3zt
3 жыл бұрын
@@huongphanngoc6163 cho em hỏi là sao nó không nhận đc motorbike ạ. Dù em đã thêm classes 4 vào.
@buivuhoang1529
3 жыл бұрын
bác fix dc 2 lỗi ý chưa chỉ e fix với
@buivuhoang1529
2 жыл бұрын
@@huongphanngoc6163 bác cho e hỏi e bị lỗi như này thì sửa sao v bác File "C:/BKU/vehicles_counting/main.py", line 250, in counting_vehicle('highway.mp4', 'vehicles.avi') File "C:/BKU/vehicles_counting/main.py", line 197, in counting_vehicle YOLOV3_HEIGHT, width, height, classes=CLASSES) File "C:/BKU/vehicles_counting/main.py", line 70, in detections_yolo3 scores = detection[5:] IndexError: invalid index to scalar variable.
@v.v5214
2 жыл бұрын
hóng ai fix dc quá
Code vẫn chạy đc thầy ạ nhưng nó k thể xuất ra đc video mà cũng k hiện lỗi vẫn chạy mã đếm xe bình thường là lỗi gì vậy ạ
@MLIoTLab
2 жыл бұрын
Có vẻ lạ quá nhỉ? Nếu ko ra thì phải hiện lỗi gì chứ :)
@kiencaptian6644
2 жыл бұрын
Fix dc chưa bro
@kiencaptian6644
2 жыл бұрын
@@MLIoTLab kiểu chạy ở console thôi thầy ạ nó ko hiện video lên
@ongnguyen4730
2 жыл бұрын
@@kiencaptian6644 k hiện ra lỗi nên k biết chỗ nào để fix bro ạ. Chơi code khác thôi
@dongmanh6851
Жыл бұрын
@@MLIoTLab thầy cho e xin code yolo3 vs ah
Detect xe máy chưa đc b ơi
@MLIoTLab
3 жыл бұрын
Bạn đã bổ sung classes 4 vào dòng số 18 chưa? # Define vehicle class VEHICLE_CLASSES = [1, 2, 3, 4, 5, 6, 7]
@amquangphuoc5377
3 жыл бұрын
@@MLIoTLab Mình bổ sung vô rồi, nhưng detect ko tốt lắm, đa số làm tìm không ra được> Bạn có thể làm video tutorial source code cho c# không?
@sontranthanh9335
3 жыл бұрын
@@MLIoTLab Motorbike được detect thành Car . không biết lỗi từ đâu
@dungngoc5182
2 жыл бұрын
@@sontranthanh9335 đây là dùng yolov3 tiny nên muốn chính xác nhất b nên dùng bản yolov3 608
thưa thầy e gặp lỗi này phải fix thế nào ạ C:\Users\Administrator\Anaconda3\envs\ComputerVision\python.exe D:/a/vehicles_counting/main.py Can't get output layers Traceback (most recent call last): File "D:/a/vehicles_counting/main.py", line 250, in counting_vehicle('highway.mp4', 'vehicles.avi') File "D:/a/vehicles_counting/main.py", line 197, in counting_vehicle YOLOV3_HEIGHT, width, height, classes=CLASSES) File "D:/a/vehicles_counting/main.py", line 70, in detections_yolo3 scores = detection[5:] IndexError: invalid index to scalar variable.
@MLIoTLab
2 жыл бұрын
Em đọc mấy comment có hướng dẫn fix nhé.
@namtrannguyen2073
Жыл бұрын
Đã sửa lỗi này được chưa ạ?
:̣̣̣̣̣̣̣( em bij lỗi này kb fix sao ạ Can't get output layers Traceback (most recent call last): File "D:/BKU/vehicles_counting/main.py", line 250, in counting_vehicle('highway.mp4', 'vehicles.avi') File "D:/BKU/vehicles_counting/main.py", line 197, in counting_vehicle YOLOV3_HEIGHT, width, height, classes=CLASSES) File "D:/BKU/vehicles_counting/main.py", line 70, in detections_yolo3 scores = detection[5:] IndexError: invalid index to scalar variable.
@namtrannguyen2073
Жыл бұрын
đã sửa lỗi này được chưa ạ?
@user-jl7cn4eg8j
8 ай бұрын
bạn fix được chưa ạ? mình cũng bị y hệt