TGMTdarknet – tích hợp YOLO Darknet vào Windows Form C# .NET Framework

Trong bài trước mình đã giới thiệu chương trình Darknet Analytics /để test YOLO Darknet.

Bài này mình sẽ hướng dẫn cách tích hợp TGMTdarknet vào chương trình C# để demo.

TGMTdarknet được build bằng YOLO Darknet và wrapper qua ngôn ngữ C#. Mục đích để hỗ trợ các bạn sinh viên dễ dàng tích hợp vào các phần mềm viết giao diện bằng C# trên .NET framework

Phần mềm và các bước cần thiết

Mở solution lên các bạn sẽ thấy các keyword quan trọng:

  • TGMTcs: namespace chứa TGMTdarknet
  • TGMTdarknet: class xử lý chính
  • DarknetObj: object chứa kết quả nhận diện, mỗi ảnh sẽ có thể chứa nhiều object nên kết quả trả về là List

Khi load weights thì các bạn cần truyền 3 tham số là file Config, Weights và Names. Nếu load thành công thì darknet.IsLoaded() sẽ bằng true.

Hàm Detect nhận vào 2 tham số, tham số đầu tiên là ảnh hoặc đường dẫn ảnh, tham số thứ 2 là probability. Object nào có probability lớn hơn giá trị truyền vào thì mới trả về.

DarknetObj có các properties sau:

  • classID: giá trị từ 0-n theo file annotation
  • className: tương ứng với file *.names đã loads
  • rect: tọa độ object
  • probability: xác suất của object

Ảnh thử nghiệm

Một số lưu ý

  • Chương trình chỉ chạy trên x64
  • Rectangle có giá trị là X Y Width Height còn annotation là Center-X Center-Y Width và Height

Leave a Reply