Chào các bạn , hôm nay mình xin phép quay trở lại chủ đề về AI và Machine Learning sau một thời gian nghiên cứu dài. Hy vọng lần quay lại này sẽ truyền tải được nhiều hơn! Trong bài đầu tiên mình sẽ hướng dẫn cách train Yolov5 để detect vật thể bất kỳ. Khác với các bản yolo khác bản thứ 5 này quá trình train sẽ đơn giản hơn.

I. Giới Thiệu Về YoloV5

YoloV5 được ra mắt sau Yolov4 một thời gian rất ngắn và để lại rất nhiều trang cãi. Có rất nhiều ý kiến trái chiều về việc YoloV5 có thuộc dòng họ YoLo hay không. Tuy nhiên đối với mình thì bản YoLo này cực kỳ dễ sài, dễ sử dụng. Khác với các bản Yolo trước, bản này sử dụng framework Pytorch vì thế các bạn hoàn toàn có thể train và sử dụng model trên Windows 10 nhé !

Trong Yolov5 Có 4 Phiên Bản là :

Nguồn : Internet

Các bạn chọn phiên bản nào sử dụng thì các bạn sửa biến nc trong các file config. Các file này nằm trong thư mục models của thư mục yolov5 sau khi các bạn clone về.

II. Chuẩn Bị Data

Đầu tiên các bạn gắn label cho data với phần mềm LabelImg. Mình đã từng làm với hệ điều hành Linux. Trên Window cách sử dụng tương tự như trên linux. Các bạn có thể xem lại cách cài đặt và sử dụng LabelImg tại đây.

Bạn nào sài Window + Anaconda thì mở CMD lên và gõ các lệnh như sau để cài đặt môi trường và chạy LabelImg :

conda create --name yolov5
conda activate yolov5
git clone https://github.com/tzutalin/labelImg
cd labelImg
conda install pyqt=5
conda install -c anaconda lxml
pyrcc5 -o libs/resources.py resources.qrc
python labelImg.py

Cách gán nhãn các bạn đọc phần cách thực hiện trong bài trước . Các bạn có thể xem lại cách cài đặt và sử dụng LabelImg tại đây. Chú ý khác với YoloV4 , YoloV5 các bạn phải để thư mục ảnh và thư mục label khác nhau trong bước chọn thư mục lưu.

Chi tiết thì các bạn làm như sau:

  • Đầu tiên các bạn tạo 1 thư mục có tên là tên của data ở đây mình là fanta.
  • Tiếp theo, trong thư mục vừa tạo (fanta) các bạn tạo 2 thư mục imageslabels
  • Các bạn copy 80% số ảnh vào thư mục train và 20% vào trong thư mục val của thư mục images.
  • Các bạn mở phần mềm labelImg lên và chọn thư mục train trong thư mục images và chọn thư mục lưu là train trong thư mục labels.
  • Tương tự đối với thư mục val

Và ta dược cấu trúc như sau:

Tiếp Đến Bạn Mở CMD lên và clone thư mục Yolov5 với git về. Chú ý các bạn phải cài git trước nhé!

git clone https://github.com/ultralytics/yolov5.git

Các bạn bỏ thư mục data ( của mình là fanta) vào trong thư mục yolov5. Chúng ta được cấu trúc như sau:

III. Kết Luận

Trong Phần 1 này mình đã chia sẻ cách tạo data trước khi train Yolov5. Data của mình ở đây là data test mà khách hàng của mình gửi cho mình , nó là những hình ảnh chứa lon fanta. Dành cho bạn nào lười thì mình đã upload hết thư mục yolov5 chứa data đã làm sẵn lên google driver.

Link Share Driver Của Thư Mục: https://drive.google.com/file/d/1ZfmCQ9YP-Q-gsAaKFnt8AiYHMG4uInXA/view?usp=sharing

Các bạn có thể tham gia group học python cơ bản tại link :

https://www.facebook.com/groups/pythoncoban

Hoặc follow mình để biết nhiều project hay tại link facebook:

https://www.facebook.com/sonnguyen16032000/

Và cũng có thể tham gia group hongtin để tìm hiểu các project hay hoặc hỏi các vấn đề về code nhé !

https://www.facebook.com/groups/164371998723215

Chào tạm biệt và hẹn gặp lại các bạn trong bài sau của Seri nha!