Meituan YOLOv6
Tổng quan
Meituan YOLOv6 là một trình object detector tiên tiến, mang lại sự cân bằng đáng kể giữa tốc độ và độ chính xác, khiến nó trở thành một 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à lược đồ đào tạo của nó, bao gồm việc triển khai mô-đun Bi-directional Concatenation (BiC), chiến lược anchor-aided training (AAT) và thiết kế backbone và neck được cải thiện để có độ chính xác hiện đại trên COCO dataset.

Tổng quan về YOLOv6 . Sơ đồ kiến trúc mô hình cho thấy các thành phần mạng được thiết kế lại và các chiến lược đào tạo đã dẫn đến những cải tiến hiệu suất đáng kể. (a) Cổ của YOLOv6 (N và S được hiển thị). Lưu ý đối với M/L, RepBlocks được thay thế bằng CPSStackRep. (b) Cấu trúc của mô-đun BiC. (c) Khối SimCPSPPF. (nguồn).
Các tính năng chính
- Mô-đun ghép nối hai chiều (BiC): YOLOv6 giới thiệu mô-đun BiC ở cổ máy dò, tăng cường tín hiệu định vị và mang lại hiệu suất tăng với tốc độ suy giảm không đáng kể.
- Chiến lược Huấn luyện Hỗ trợ Anchor (Anchor-Aided Training - AAT): Mô hình này đề xuất AAT để tận hưởng những lợi ích của cả hai mô hình dựa trên anchor và không cần anchor mà không ảnh hưởng đến hiệu quả suy luận.
- Thiết kế xương sống và cổ được cải tiến: Bằng cách làm sâu hơn YOLOv6 để bao gồm một giai đoạn khác ở xương sống và cổ, mô hình này đạt được hiệu suất hiện đại trên COCO tập dữ liệu đầu vào có độ phân giải cao.
- Chiến lược tự chưng cất: 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 của các mô hình nhỏ hơn YOLOv6 , tăng cường nhánh hồi quy phụ trong quá trình đào tạo và loại bỏ nó khi suy luận để tránh tốc độ giảm đáng kể.
Các chỉ số hiệu suất
YOLOv6 cung cấp nhiều mô hình được đào tạo trước với các thang đo khác nhau:
- YOLOv6 -N: 37,5% AP TRÊN COCO val2017 ở mức 1187 FPS với NVIDIA T4 GPU .
- YOLOv6 -S: 45,0% AP ở tốc độ 484 FPS.
- YOLOv6 -M: 50,0% AP ở tốc độ 226 FPS.
- YOLOv6 -L: 52,8% AP ở tốc độ 116 FPS.
- YOLOv6 -L6: Độ chính xác cao nhất theo thời gian thực.
YOLOv6 cũng cung cấp các mô hình lượng tử cho các độ chính xác khác nhau và các mô hình được tối ưu hóa cho nền tảng di động.
Ví dụ sử dụng
Ví dụ này cung cấp đơn giản YOLOv6 ví dụ về đào tạo và suy luận. Để biết tài liệu đầy đủ về các chế độ này và các chế độ khác, hãy xem các trang tài liệu Predict , Train , Val và Export .
Ví dụ
YOLOv6 *.yaml các tệp có thể được chuyển đến YOLO() lớp để 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 lệnh CLI có sẵn để chạy trực tiếp các mô hình:
# Build a YOLOv6n model from scratch and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov6n.yaml data=coco8.yaml epochs=100 imgsz=640
# Build a YOLOv6n model from scratch and run inference on the 'bus.jpg' image
yolo predict model=yolov6n.yaml source=path/to/bus.jpg
Các Tác vụ và Chế độ được Hỗ trợ
Các YOLOv6 Dòng sản phẩm này cung cấp nhiều mẫu mã, mỗi mẫu đều được tối ưu hóa cho khả năng phát hiện đối tượng hiệu suất cao. Các mẫu này đáp ứng các nhu cầu tính toán và yêu cầu độ chính xác khác nhau, giúp chúng linh hoạt cho nhiều ứng dụng khác nhau.
| Mô hình | Tên tập tin | Nhiệm vụ | Suy luận | Xác thực | Huấn luyện | Xuất |
|---|---|---|---|---|---|---|
| YOLOv6 -N | yolov6n.yaml | Phát Hiện Đối Tượng | ✅ | ✅ | ✅ | ✅ |
| YOLOv6 -S | yolov6s.yaml | Phát Hiện Đối Tượng | ✅ | ✅ | ✅ | ✅ |
| YOLOv6 -M | yolov6m.yaml | Phát Hiện Đối Tượng | ✅ | ✅ | ✅ | ✅ |
| YOLOv6 -L | yolov6l.yaml | Phát Hiện Đối Tượng | ✅ | ✅ | ✅ | ✅ |
| YOLOv6 -X | yolov6x.yaml | Phát Hiện Đối Tượng | ✅ | ✅ | ✅ | ✅ |
Bảng này cung cấp tổng quan chi tiết về YOLOv6 các biến thể mô hình, làm nổi bật khả năng của chúng trong các nhiệm vụ phát hiện đối tượng và khả năng tương thích của chúng với nhiều chế độ hoạt động khác nhau như Suy luận , Xác thực , Đào tạo và Xuất . Hỗ trợ toàn diện này đảm bảo rằng người dùng có thể tận dụng đầy đủ các khả năng của YOLOv6 mô hình trong nhiều tình huống phát hiện đối tượng khác nhau.
Trích dẫn và Lời cảm ơn
Chúng tôi xin ghi nhận những đóng góp to lớn của các tác giả trong lĩnh vực phát hiện đối tượng theo thời gian thực:
@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ản gốc YOLOv6 Bài báo có thể được tìm thấy trên arXiv . Các tác giả đã công bố công trình của họ và có thể truy cập cơ sở mã nguồn trên GitHub . Chúng tôi đánh giá cao những nỗ lực của họ trong việc thúc đẩy lĩnh vực này và giúp công trình của họ được cộng đồng rộng rãi tiếp cận.
Câu hỏi thường gặp
Meituan là gì? YOLOv6 và điều gì làm cho nó trở nên độc đáo?
Meituan YOLOv6 là một thiết bị phát hiện vật thể tiên tiến, cân bằng giữa tốc độ và độ chính xác, lý tưởng cho các ứng dụng thời gian thực. Thiết bị sở hữu những cải tiến đáng chú ý về mặt kiến trúc như mô-đun Ghép nối hai chiều (BiC) và chiến lược Huấn luyện Hỗ trợ Anchor (AAT). Những cải tiến này mang lại hiệu suất tăng đáng kể với tốc độ suy giảm tối thiểu, giúp YOLOv6 một lựa chọn cạnh tranh cho nhiệm vụ phát hiện đối tượng.
Mô-đun Ghép nối hai chiều (BiC) hoạt động như thế nào trong YOLOv6 cải thiện hiệu suất?
Mô-đun Ghép nối hai chiều (BiC) trong YOLOv6 tăng cường tín hiệu định vị tại cổ máy dò, mang lại cải tiến hiệu suất với tác động không đáng kể đến tốc độ. Mô-đun này kết hợp hiệu quả các bản đồ đặc trưng khác nhau, tăng khả năng của mô hình detect các đối tượng một cách chính xác. Để biết thêm chi tiết về YOLOv6 Các tính năng của ', hãy tham khảo phần Tính năng chính .
Làm thế nào tôi có thể đào tạo một YOLOv6 mô hình sử dụng Ultralytics ?
Bạn có thể đào tạo một YOLOv6 mô hình sử dụng Ultralytics với đơn giản Python hoặc CLI lệnh. 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)
yolo train model=yolov6n.yaml data=coco8.yaml epochs=100 imgsz=640
Để biết thêm thông tin, hãy truy cập trang Huấn luyện.
Các phiên bản khác nhau của là gì? YOLOv6 và số liệu hiệu suất của họ?
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 ở 1187 FPS
- 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 tiên tiến trong các tình huống thời gian thực
Những mô hình này được đánh giá trên COCO tập dữ liệu sử dụng một NVIDIA T4 GPU . Để biết thêm về số liệu hiệu suất, hãy xem phần Số liệu hiệu suất .
Chiến lược Huấn luyện Hỗ trợ Mỏ neo (AAT) mang lại lợi ích như thế nào YOLOv6 ?
Huấn luyện hỗ trợ neo (AAT) trong YOLOv6 kết hợp các yếu tố của phương pháp dựa trên neo và không dựa trên neo, nâng cao khả năng phát hiện của mô hình mà không ảnh hưởng đến hiệu quả suy luận. Chiến lược này tận dụng các neo trong quá trình huấn luyện để cải thiện dự đoán hộp giới hạn , giúp YOLOv6 có hiệu quả trong nhiều nhiệm vụ phát hiện đối tượng khác nhau.
Những chế độ hoạt động nào được hỗ trợ bởi YOLOv6 các mô hình trong Ultralytics ?
YOLOv6 hỗ trợ nhiều chế độ vận hành khác nhau, bao gồm Suy luận, Xác thực, Huấn luyện và Xuất. Tính linh hoạt này cho phép người dùng khai thác tối đa khả năng của mô hình trong các tình huống khác nhau. Xem phần Nhiệm vụ và Chế độ được Hỗ trợ để biết tổng quan chi tiết về từng chế độ.