YOLO Vision 2026:

Meituan YOLOv6#

Tổng quan#

Meituan YOLOv6, được phát hành vào năm 2022, mang lại sự cân bằng vững chắc giữa tốc độ và độ chính xác, trở thành lựa chọn phổ biến cho các ứng dụng thời gian thực. Mô hình này giới thiệu một số cải tiến đáng chú ý về kiến trúc và phương thức huấn luyện, bao gồm việc tích hợp mô-đun Bi-directional Concatenation (BiC), chiến lược huấn luyện bổ trợ mỏ neo anchor-aided training (AAT), cùng thiết kế backbone và phần cổ (neck) được cải tiến để đạt độ chính xác cao trên COCO dataset.

YOLOv6 real-time object detection model by Meituan YOLOv6 model architecture diagram Tổng quan về YOLOv6. Biểu đồ kiến trúc mô hình hiển thị các thành phần mạng được thiết kế lại và các chiến lược huấn luyện mang lại hiệu suất cải thiện đáng kể. (a) Phần cổ của YOLOv6 (N và S được minh họa). Lưu ý đối với M/L, RepBlocks được thay thế bằng CSPStackRep. (b) Cấu trúc của mô-đun BiC. (c) Khối SimCSPSPPF. (source).

Tính năng chính#

  • Module Bi-directional Concatenation (BiC): YOLOv6 giới thiệu module BiC trong phần neck của detector, giúp tăng cường tín hiệu định vị và mang lại hiệu suất vượt trội với mức suy giảm tốc độ không đáng kể.
  • Chiến lược huấn luyện bổ trợ mỏ neo Anchor-Aided Training (AAT): Mô hình này đề xuất AAT để tận dụng các lợi ích từ cả hai mô hình anchor-basedanchor-free mà không làm giảm hiệu quả suy luận.
  • Thiết kế Backbone và Neck nâng cao: Bằng cách mở rộng chiều sâu của YOLOv6 với thêm một tầng trong backbone và neck, mô hình này đạt được hiệu suất mạnh mẽ trên tập dữ liệu COCO với đầu vào độ phân giải cao ngay khi ra mắt.
  • Chiến lược tự chưng cất (Self-Distillation): Một chiến lược tự chưng cất mới được triển khai để tăng cường hiệu suất cho các mô hình YOLOv6 nhỏ hơn, giúp cải thiện nhánh hồi quy phụ trong quá trình huấn luyện và loại bỏ nó ở giai đoạn suy luận để tránh sụt giảm tốc độ đáng kể.

Chỉ số hiệu suất#

YOLOv6 cung cấp các mô hình được huấn luyện sẵn với nhiều quy mô khác nhau:

  • YOLOv6-N: 37.5% AP trên COCO val2017 ở 1187 FPS với GPU NVIDIA T4.
  • YOLOv6-S: 45.0% AP ở 484 FPS.
  • YOLOv6-M: 50.0% AP ở 226 FPS.
  • YOLOv6-L: 52.8% AP ở 116 FPS.
  • YOLOv6-L6: Độ chính xác dẫn đầu trong thời gian thực.

YOLOv6 cũng cung cấp các mô hình được lượng tử hóa cho các precisions khác nhau và các mô hình được tối ưu hóa cho các nền tảng di động.

Ví dụ Sử dụng#

Ví dụ này cung cấp các ví dụ đơn giản về huấn luyện và suy luận YOLOv6. Để xem tài liệu đầy đủ về các modes này và các chế độ khác, hãy xem các trang tài liệu Predict, Train, ValExport.

Ví dụ

Các tệp YOLOv6 *.yaml có thể được truyền vào lớp YOLO() để xây dựng mô hình tương ứng trong Python:

from ultralytics import YOLO

# Build a YOLOv6n model from scratch
model = YOLO("yolov6n.yaml")

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the YOLOv6n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

Các tác vụ và chế độ được hỗ trợ#

Dòng mô hình YOLOv6 cung cấp một loạt các mô hình, mỗi mô hình được tối ưu hóa cho Object Detection hiệu suất cao. Các mô hình này đáp ứng các nhu cầu tính toán và yêu cầu accuracy khác nhau, giúp chúng trở nên linh hoạt cho một loạt các ứng dụng.

Mô hìnhTên tệpTác vụHuấn luyệnValidationSuy luậnXuất (Export)
YOLOv6-Nyolov6n.yamlPhát hiện đối tượng
YOLOv6-Syolov6s.yamlPhát hiện đối tượng
YOLOv6-Myolov6m.yamlPhát hiện đối tượng
YOLOv6-Lyolov6l.yamlPhát hiện đối tượng
YOLOv6-Xyolov6x.yamlPhát hiện đối tượng

Bảng này cung cấp cái nhìn tổng quan chi tiết về các biến thể mô hình YOLOv6, làm nổi bật khả năng của chúng trong các tác vụ object detection và tính tương thích với các chế độ hoạt động khác nhau như Inference, Validation, Training, và Export. Hỗ trợ toàn diện này đảm bảo người dùng có thể tận dụng tối đa khả năng của các mô hình YOLOv6 trong nhiều kịch bản phát hiện đối tượng.

Trích dẫn và Ghi nhận#

Chúng tôi xin ghi nhận các tác giả vì những đóng góp quan trọng của họ trong lĩnh vực phát hiện đối tượng thời gian thực:

Trích dẫn
@misc{li2023yolov6,
      title={YOLOv6 v3.0: A Full-Scale Reloading},
      author={Chuyi Li and Lulu Li and Yifei Geng and Hongliang Jiang and Meng Cheng and Bo Zhang and Zaidan Ke and Xiaoming Xu and Xiangxiang Chu},
      year={2023},
      eprint={2301.05586},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

Bài báo gốc về YOLOv6 có thể được tìm thấy trên arXiv. Các tác giả đã công bố công trình của mình cho công chúng và mã nguồn có thể được truy cập trên GitHub. Chúng tôi đánh giá cao nỗ lực của họ trong việc thúc đẩy lĩnh vực này và giúp cộng đồng rộng lớn hơn tiếp cận được công trình của họ.

Câu hỏi thường gặp#

  • Meituan YOLOv6, ra mắt năm 2022, là một công cụ phát hiện đối tượng cân bằng giữa tốc độ và độ chính xác, được thiết kế cho các ứng dụng thời gian thực. Nó có các cải tiến kiến trúc đáng chú ý như module Bi-directional Concatenation (BiC) và chiến lược Anchor-Aided Training (AAT). Những cải tiến này mang lại sự gia tăng hiệu suất đáng kể với mức suy giảm tốc độ tối thiểu, khiến YOLOv6 trở thành một lựa chọn cạnh tranh cho các tác vụ phát hiện đối tượng.

  • Mô-đun Bi-directional Concatenation (BiC) trong YOLOv6 nâng cao các tín hiệu định vị trong phần cổ của bộ phát hiện, mang lại cải tiến hiệu suất với tác động tốc độ không đáng kể. Mô-đun này kết hợp hiệu quả các feature maps khác nhau, làm tăng khả năng phát hiện đối tượng chính xác của mô hình. Để biết thêm chi tiết về các tính năng của YOLOv6, hãy tham khảo phần Key Features.

  • Bạn có thể huấn luyện mô hình YOLOv6 bằng Ultralytics với các lệnh Python hoặc CLI đơn giản. Ví dụ:

    Ví dụ
    from ultralytics import YOLO
    
    # Build a YOLOv6n model from scratch
    model = YOLO("yolov6n.yaml")
    
    # Train the model on the COCO8 example dataset for 100 epochs
    results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

    Để biết thêm thông tin, hãy truy cập trang Train.

  • YOLOv6 cung cấp nhiều phiên bản, mỗi phiên bản được tối ưu hóa cho các yêu cầu hiệu suất khác nhau:

    • YOLOv6-N: 37.5% AP tại 1187 FPS
    • YOLOv6-S: 45.0% AP tại 484 FPS
    • YOLOv6-M: 50.0% AP tại 226 FPS
    • YOLOv6-L: 52.8% AP tại 116 FPS
    • YOLOv6-L6: Độ chính xác dẫn đầu trong các kịch bản thời gian thực

    Các mô hình này được đánh giá trên COCO dataset bằng cách sử dụng GPU NVIDIA T4. Để tìm hiểu thêm về các chỉ số hiệu suất, hãy xem phần Performance Metrics.

  • Anchor-Aided Training (AAT) trong YOLOv6 kết hợp các yếu tố của phương pháp dựa trên mỏ neo và không dựa trên mỏ neo, nâng cao khả năng phát hiện của mô hình mà không làm giảm hiệu quả suy luận. Chiến lược này tận dụng các mỏ neo trong quá trình huấn luyện để cải thiện các dự đoán bounding box, giúp YOLOv6 hiệu quả trong các tác vụ phát hiện đối tượng đa dạng.

  • YOLOv6 hỗ trợ nhiều chế độ hoạt động khác nhau bao gồm Inference, Validation, Training và Export. Tính linh hoạt này cho phép người dùng khai thác triệt để các khả năng của mô hình trong các kịch bản khác nhau. Hãy xem phần Supported Tasks and Modes để có cái nhìn tổng quan chi tiết về từng chế độ.

Bình luận