- vừa được xem lúc

YOLO v9: Mô hình nhận diện vật thể tiên tiến nhất hiện nay!

0 0 14

Người đăng: Nguyen Ngoc Hung

Theo Viblo Asia

1. Giới thiệu

YOLO (You Only Look Once) là một thuật toán mạng neural nhân tạo (AI) được phát triển để nhận diện vật thể trong ảnh và video. YOLO được biết đến với tốc độ xử lý nhanh chóng và độ chính xác cao, khiến nó trở thành một lựa chọn phổ biến cho các ứng dụng real-time như phát hiện tự động, giám sát video và robot.

Phiên bản mới nhất của YOLO, YOLO v9 mang đến nhiều cải tiến đáng kể so với các phiên bản trước. Street-view-object-detection-with-YOLOv9 (1).jpg

2. Cách hoạt động thuật toán

YOLO v9 sử dụng kiến trúc mạng neural convolutional network để trích xuất các đặc điểm từ hình ảnh đầu vào. Sau đó, mạng lưới dự đoán cả vị trí và lớp của các vật thể trong ảnh. Khác với các phương pháp nhận diện vật thể hai giai đoạn truyền thống, YOLO chỉ thực hiện một lần tính toán để dự đoán tất cả các vật thể trong ảnh, do đó đạt được tốc độ xử lý nhanh hơn đáng kể.

2.1 Các giai đoạn chính:

  • Chia nhỏ hình ảnh: Hình ảnh đầu vào được chia thành các ô lưới có kích thước bằng nhau.
  • Trích xuất đặc điểm: Mỗi ô lưới được xử lý bởi mạng CNN để trích xuất các đặc điểm của các vật thể có thể có trong ô lưới đó.
  • Dự đoán vị trí và lớp: Mạng lưới dự đoán vị trí và lớp (loại đối tượng) của các vật thể trong mỗi ô lưới.
  • Loại bỏ các dự đoán sai: Các dự đoán có độ tin cậy thấp hoặc chồng chéo nhau sẽ được loại bỏ.
  • Trả về kết quả: Vị trí và lớp của các vật thể được phát hiện sẽ được hiển thị trên hình ảnh.

2.2 Cải tiến so với các phiên bản trước:

YOLO v9 có nhiều cải tiến so với các phiên bản trước, bao gồm:

  • Sử dụng bộ xương EfficientNet: EfficientNet là một kiến trúc mạng neural được tối ưu hóa cho hiệu suất và độ chính xác. YOLO v9 sử dụng EfficientNet làm bộ xương chính, giúp tăng tốc độ xử lý và độ chính xác của mô hình.
  • Cải tiến thuật toán dự đoán khung: YOLO v9 sử dụng thuật toán dự đoán khung mới giúp cải thiện khả năng xác định vị trí chính xác của các vật thể.
  • Hỗ trợ nhiều kích thước đầu vào: YOLO v9 có thể xử lý hình ảnh với nhiều kích thước khác nhau, từ nhỏ đến lớn.
  • Tối ưu hóa cho hiệu suất: YOLO v9 được tối ưu hóa cho hiệu suất trên nhiều nền tảng phần cứng khác nhau, bao gồm CPU, GPU và TPU.

3. Các tính năng nổi bật

YOLO v9 có nhiều tính năng nổi bật, bao gồm:

  • Tốc độ xử lý nhanh: YOLO v9 có thể xử lý hình ảnh với tốc độ lên đến 1000 FPS trên GPU cao cấp.
  • Độ chính xác cao: YOLO v9 đạt độ chính xác cao trên nhiều tập dữ liệu nhận diện vật thể tiêu chuẩn.
  • Programmable Gradient Information (PGI): PGI là kỹ thuật mới giúp điều chỉnh luồng gradient trong quá trình huấn luyện mạng neural, nhằm cải thiện hiệu suất và độ chính xác của mô hình. Thay vì sử dụng luồng gradient cố định, PGI cho phép lập trình luồng gradient theo cách linh hoạt, điều chỉnh thông tin truyền ngược đến các lớp trước trong mạng.
  • Khả năng phát hiện nhiều vật thể: YOLO v9 có thể phát hiện nhiều vật thể trong một hình ảnh, bao gồm cả các vật thể nhỏ và chồng chéo nhau.
  • Dễ sử dụng: YOLO v9 có API đơn giản và dễ sử dụng, giúp người dùng dễ dàng triển khai mô hình vào các ứng dụng của họ.
  • Open source: YOLO v9 là open source và miễn phí sử dụng, cho phép người dùng tùy chỉnh và cải tiến mô hình theo nhu cầu của họ.

4. So sánh với các phiên bản trước

Phiên bản Tốc độ Độ chính xác Cải tiến
YOLO v1 45 FPS 52% -
YOLO v2 150 FPS 70% Sử dụng mạng neural Darknet-19, thuật toán dự đoán khung mới
YOLO v3 300 FPS 80% Sử dụng mạng neural Darknet-53, FPN (Feature Pyramid Network)
YOLO v4 600 FPS 86% Sử dụng CSPDarknet53, SimSiam, YOLO Nano
YOLO v5 1000 FPS 86% Sử dụng CSPNet (Cross Stage Partial connections), Spatial Attention Module (SAM), Path Aggregation Network (PAN)
YOLO v6 1300 FPS 90% Sử dụng CSPDarknet53, SimSiam, YOLO Nano
YOLO v7 1600 FPS 93% Sử dụng TNT (Transformer-based Neck), YOLO Nano, Bag of Freebies
YOLO v8 2000 FPS 95% Sử dụng CSPNetv5, YOLO Nano, Bag of Freebies, Scale-Aware Routing
YOLO v9 2500 FPS 97% Sử dụng EfficientNet, YOLO Nano, Bag of Freebies, Scale-Aware Routing, Focus Module v5
  • Perfomance Perfomance.png

5. Cách sử dụng

Có nhiều cách để sử dụng YOLO v9, bao gồm:

  • Sử dụng API Python: YOLO v9 cung cấp API Python đơn giản giúp người dùng dễ dàng triển khai mô hình vào các ứng dụng của họ.
  • Sử dụng Darknet: YOLO v9 có thể được sử dụng với Darknet, một khung phần mềm mã nguồn mở để huấn luyện và sử dụng các mô hình mạng neural.
  • Sử dụng các thư viện bên thứ ba: Có nhiều thư viện bên thứ ba hỗ trợ YOLO v9, bao gồm TensorFlow, PyTorch và OpenCV.

6. Ứng dụng

YOLOv9 có thể được sử dụng trong nhiều ứng dụng khác nhau trong lĩnh vực Computer Vision, bao gồm:

  • Giám sát an ninh: YOLOv9 có thể được sử dụng để nhận diện và phân loại đối tượng trong các hệ thống giám sát an ninh để giúp theo dõi và phát hiện các hành vi đáng ngờ.
  • Ô tô tự hành: Trong lĩnh vực ô tô tự hành, YOLOv9 có thể được sử dụng để nhận diện các đối tượng xung quanh và đưa ra các quyết định an toàn.
  • Y tế: Trong lĩnh vực y tế, YOLOv9 có thể được sử dụng để nhận diện và phân loại các bất thường trên hình ảnh y khoa, giúp trong chẩn đoán và điều trị bệnh.
  • Robot...

7. Kết luận

YOLO v9 là mô hình nhận diện vật thể tiên tiến nhất hiện nay với tốc độ xử lý nhanh, độ chính xác cao và khả năng sử dụng linh hoạt.

Tài liệu và nguồn tham khảo

Bình luận

Bài viết tương tự

- vừa được xem lúc

Tấn công và phòng thủ bậc nhất cực mạnh cho các mô hình học máy

tấn công bậc nhất cực mạnh = universal first-order adversary. Update: Bleeding edge của CleverHans đã lên từ 3.1.0 đến 4.

0 0 42

- vừa được xem lúc

[Deep Learning] Key Information Extraction from document using Graph Convolution Network - Bài toán trích rút thông tin từ hóa đơn với Graph Convolution Network

Các nội dung sẽ được đề cập trong bài blog lần này. . Tổng quan về GNN, GCN. Bài toán Key Information Extraction, trích rút thông tin trong văn bản từ ảnh.

0 0 219

- vừa được xem lúc

Trích xuất thông tin bảng biểu cực đơn giản với OpenCV

Trong thời điểm nhà nước đang thúc đẩy mạnh mẽ quá trình chuyển đổi số như hiện nay, Document Understanding nói chung cũng như Table Extraction nói riêng đang trở thành một trong những lĩnh vực được quan tâm phát triển và chú trọng hàng đầu. Vậy Table Extraction là gì? Document Understanding là cái

0 0 230

- vừa được xem lúc

Con đường AI của tôi

Gần đây, khá nhiều bạn nhắn tin hỏi mình những câu hỏi đại loại như: có nên học AI, bắt đầu học AI như nào, làm sao tự học cho đúng, cho nhanh, học không bị nản, lộ trình học AI như nào... Sau nhiều lần trả lời, mình nghĩ rằng nên viết hẳn một bài để trả lời chi tiết hơn, cũng như để các bạn sau này

0 0 157

- vừa được xem lúc

[B5'] Smooth Adversarial Training

Đây là một bài trong series Báo khoa học trong vòng 5 phút. Được viết bởi Xie et. al, John Hopkins University, trong khi đang intern tại Google. Hiện vẫn là preprint do bị reject tại ICLR 2021.

0 0 45

- vừa được xem lúc

Deep Learning với Java - Tại sao không?

Muốn tìm hiểu về Machine Learning / Deep Learning nhưng với background là Java thì sẽ như thế nào và bắt đầu từ đâu? Để tìm được câu trả lời, hãy đọc bài viết này - có thể kỹ năng Java vốn có sẽ giúp bạn có những chuyến phiêu lưu thú vị. DJL là tên viết tắt của Deep Java Library - một thư viện mã ng

0 0 139