Skip to content
Mì AI Mì AI Mì AI

Học AI theo cách Mì ăn liền!

Mì AI Mì AI Mì AI

Học AI theo cách Mì ăn liền!

  • Trang chủ
  • Kênh Youtube
  • Facebook Group
  • Nói về chủ tiệm Mì
  • Trang chủ
  • Kênh Youtube
  • Facebook Group
  • Nói về chủ tiệm Mì
Close

Search

  • Trang chủ
  • Kênh Youtube
  • Facebook Group
  • Nói về chủ tiệm Mì
Mì AI Mì AI Mì AI

Học AI theo cách Mì ăn liền!

Mì AI Mì AI Mì AI

Học AI theo cách Mì ăn liền!

  • Trang chủ
  • Kênh Youtube
  • Facebook Group
  • Nói về chủ tiệm Mì
  • Trang chủ
  • Kênh Youtube
  • Facebook Group
  • Nói về chủ tiệm Mì
Close

Search

  • Trang chủ
  • Kênh Youtube
  • Facebook Group
  • Nói về chủ tiệm Mì
Computer Vision

Computer Vision & Pi – Chương 4. Train model Tiny YOLOv3 để xem có đưa lên Pi được không?

By Chủ tiệm Mì
March 2, 2020 4 Min Read
6

Hê lô xin chào tuần mới tất cả các member yêu quý của Mì AI. Tiếp nối đợt bài về Pi thì hôm nay mình sẽ cùng nhau Train model Tiny YOLO v3 để xem có đưa lên Pi được không?

Về vấn để train yolo thì mình đã có cả 1 series rồi tại đây: Website: https://miai.vn/?s=yolo . Tuy nhiên gần đây có một số bạn có inbox mình hỏi về cách train Tiny Yolo vì các bạn có muốn đưa Yolo lên các thiết bị có cấu hình yếu để chạy thử nên nhân series Pi này mình sẽ làm một bài về train Tiny Yolov3 luôn nhé.

tiny yolo
Cấu trúc mạng tiny-yolo

Phần 1 – Tổng quan quá trình train YOLO

Để hiểu được cần phải làm gì, chuẩn bị ra sao thì các bạn đọc qua tổng quan 9 bước train YOLO nhé.

  • Bước 1: Chuẩn bị dữ liệu train. Cụ thể là các file ảnh chứa vật thể cần nhận diện (ví dụ: đồng hồ, lá cây, ví tiền,….). Bạn nên tạo thư mục data, bên trong có thư mục images và copy hết ảnh vào trong đó (chỉ nên sử dụng ảnh png hoặc jpg nhé).
  • Bước 2: Gán nhãn cho dữ liệu. Phần này các bạn phải gán bằng tay nhé. Nhiều bạn cứ hỏi mình có tool nào tự gán không? Mình xin trả lời là: nếu có tool tự nhận diện được object và gán giúp bạn thì bạn đã có model rồi cần gì train nữa :D. Các bạn chịu tạo thư mục labels nằm trong thư mục data sau đó tải phần mềm labelimg về để gán nhãn.
  • Bước 3: Tải mã nguồn darknet bằng lệnh git thần thánh. Sau đó chỉnh sửa Makefile và thực hiện compile darknet.
  • Bước 4: Tải file weights cho các lớp convolutional layer tại đây.
  • Bước 5: Xóa thư mục data trong folder darknet và copy folder data (mà ta tạo ra ở bước 1) vào thư mục darkenet nhé.
  • Bước 6: Tạo ra file train.txt và val.txt chứa danh sách các file ảnh (chỉ file ảnh thôi, chính là đống ảnh nằm trong thư mục images mà ta tạo ra ở Bước 1 đó). Cụ thể là file train.txt sẽ chứa 80% số ảnh đó và val.txt chứa 20% số ảnh đó. Chọn càng ngẫu nhiên càng tốt.
  • Bước 7: Tạo các file cần thiết cho YOLO như: yolo.names (chứa danh sách các đối tượng cần nhận diện như: súng, dao, xe hơi, xe máy…), yolo.data (chứa thông tin train như: số class, path đến file train và val, thư mục chứa weights sau train).
  • Bước 8: Chỉnh sửa file config. Chú ý file config ta sẽ dùng yolov3-tiny.cfg chứ ko dùng yolov3.cfg như thông thường nhé (cả 2 file đều trong thư mục cfg nhé).
  • Bước 9: Train và tận hưởng thành quả.

Phần 2 – Chi tiết bước chỉnh sửa file config

Đại khái cách train mình đã có bài rất chi tiết rồi, các bạn có thể tìm lại tại đây. Mình chỉ đi sâu vào phần chỉnh sửa file yolov3-tiny.cfg vì nó khác đôi chút với chúng ta train YOLOv3 thông thường.

Các bạn tiến hành sửa file yolov3-tiny.cfg theo cách sau:

  • Tìm đến dòng số 3, sửa batch=24 thay cho batch =64. Đây là số ảnh load vào RAM mỗi lần train.
  • Tìm đến dòng số 4, sửa subdivisions=8
  • Tìm đến dòng 127, chỉnh lại filters=(num_class + 5)*3 trong đó num_class là số lớp bạn cần train. Ví dụ train nhận mỗi súng thì num_class = 1 (thì filter sẽ là (1+5)*3=18), nếu train để nhận cả súng và dao thì num_class=2…
  • Tìm đến dòng 135, sửa lại classes = num_class (num_class là số lớp đó).
  • Sửa dòng 171 giống dòng 127 và dòng 177 giống dòng 135.
tiny yolo
Yolo Detection sample

Vậy thôi, còn các hạng mục khác các bạn làm y hệt như bài train yolo v3 tại đây. Các bạn có thể train tại máy, train trên máy chủ hoặc train trên colab nếu như không có máy chủ nhé.

Như vậy mình đã guide các bạn cách train tiny yolo nhé, trong bài tiếp mình sẽ đưa thử nó lên Pi xem cái kết như nào 😀

Chào tạm biệt nhé!

Hãy join cùng cộng đồng Mì AI nhé!

Fanpage: http://facebook.com/miaiblog
Group trao đổi, chia sẻ: https://www.facebook.com/groups/miaigroup
Website: https://miai.vn/
Youtube: http://bit.ly/miaiyoutube

Tags:

object detectionpiraspberry Pirealtimetiny modeltiny yoloyolov3
Author

Chủ tiệm Mì

Follow Me
Other Articles
Previous

Computer Vision & Pi – Chương 3. Lắp đặt Pi trên xe hơi để phát hiện tài xế ngủ gật

Next

Kết hợp Object Detection và Object Tracking – Chương 3. Thử làm hệ thống đo tốc độ xe hơi trên cao tốc

6 Comments
  1. Sơn says:
    March 16, 2020 at 2:09 pm

    Anh cho em hỏi đã có bài viết mới này chưa aj?

    Reply
  2. Sơn says:
    March 16, 2020 at 2:10 pm

    Anh cho em hỏi đã có bài viết tiếp theo của bài này chưa ạ ?

    Reply
    1. Nguyễn Chiến Thắng says:
      March 17, 2020 at 4:14 am

      Chưa em ơi. Đợt này anh bận quá!

      Reply
  3. Computer Vision & Pi – Chương 5. Đưa model Tiny YOLO v3 lên Pi - Mì AI says:
    May 18, 2020 at 3:07 pm

    […] Bài 4: Computer Vision & Pi – Chương 4. Train model Tiny YOLOv3 để xem có đưa lên Pi đượ… […]

    Reply
  4. Nam says:
    November 11, 2023 at 7:53 pm

    Anh cho em hỏi mình có thể nhận diện đối tượng trong video với các bước như trên được không ạ?
    Em xin cảm ơn!

    Reply
    1. Nguyễn Chiến Thắng says:
      December 19, 2023 at 8:44 pm

      Em post lên Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup trao đổi cho tiện nha!

      Reply
Show Comments

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Tìm hiểu và cài đặt OpenClaw – trợ lý ảo 24/7 thông minh đa chức năng – Mì Ai
  • Dùng thử Pika – robot học Tiếng Anh cho trẻ cực đỉnh – Mì AI
  • TopView.AI 4.0 – nền tảng tạo AI video cộng tác bá đạo – Mì AI
  • Storm MCP – giải pháp nhanh gọn nhẹ để có MCP Server trong 5 phút – Mì AI
  • VoxCPM thử voice cloning với checkpoint finetune Tiếng Việt – Mì AI

Recent Comments

  1. Chủ tiệm Mì on Thử xây dựng hệ thống Agentic AI với LangGraph – Mì AI
  2. Nguyễn Chiến Thắng on [Nhận diện biển số xe] Chương 3 – Phát hiện biển số bằng OpenCV thuần
  3. Trần Sơn Dương on [Nhận diện biển số xe] Chương 3 – Phát hiện biển số bằng OpenCV thuần
  4. Salomon on [CV] Thử làm model cảnh báo ngủ gật cho tài xế oto bằng Dlib và Resnet
  5. khang on Xây dựng hệ thống nhận diện thủ ngữ – ngôn ngữ ký hiệu tay – để giao tiếp với người khuyết tật

Categories

  • Basic
  • Computer Vision
  • Data Science – Data Analysis
  • Generative AI
  • MÌ ÚP
  • Natural Language Processing
  • RNN-LSTM-GRU
  • Share Data

Là người đi trước, hãy biết đưa tay lại phía sau.

Nguyễn Chiến Thắng
Cảm ơn các bạn đã ủng hộ Mì AI!