Chuyển đến nội dung

Meituan YOLOv6

Tổng quan

Meituan YOLOv6, được phát hành vào năm 2022, cung cấp sự cân bằng mạnh mẽ giữa tốc độ và độ chính xác, làm cho 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à sơ đồ huấn luyện của nó, bao gồm việc triển khai mô-đun Bi-directional Concatenation (BiC), chiến lược huấn luyện hỗ trợ anchor (AAT), và thiết kế backbone và neck được cải tiến để đạt độ chính xác cao trên tập dữ liệu COCO.

YOLOv6 Mô hình phát hiện đối tượng thời gian thực của MeituanYOLOv6 sơ đồ kiến trúc mô hìnhTổ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 huấn luyện đã dẫn đến những cải thiện hiệu suất đáng kể. (a) Phần cổ của YOLOv6 (hiển thị N và S). Lưu ý đối với M/L, RepBlocks được thay thế bằng CSPStackRep. (b) Cấu trúc của một mô-đun BiC. (c) Một khối SimCSPSPPF. (nguồn).

Các tính năng chính

  • Mô-đun Bidirectional Concatenation (BiC): YOLOv6 giới thiệu một mô-đun BiC trong phần cổ của bộ detect, tăng cường tín hiệu định vị và mang lại lợi ích hiệu suất với sự suy giảm tốc độ 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 anchorkhông cần anchor mà không ảnh hưởng đến hiệu quả suy luận.
  • Thiết kế Backbone và Neck đượ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 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 khi được phát hành.
  • 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 YOLOv6 nhỏ hơn, tăng cường nhánh hồi quy phụ trợ trong quá trình huấn luyện và loại bỏ nó khi suy luận để tránh suy giảm tốc độ đáng kể.

Các chỉ số hiệu suất

YOLOv6 cung cấp nhiều mô hình tiền huấn luyện với các tỷ lệ 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 hàng đầu trong thời gian thực.

YOLOv6 cũng cung cấp các mô hình lượng tử hóa 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 các ví dụ đơn giản về huấn luyện và suy luận YOLOv6. Để có 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 Dự đoán, Huấn luyện, Xác thựcXuất.

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ợ

Dòng 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 tác vụ phát hiện đối tượng 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 độ chính xác khác nhau, làm cho chúng trở nên linh hoạt cho nhiều ứng dụng.

Mô hìnhTên tập tinNhiệm vụSuy luậnXác thựcHuấn luyệnXuất
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ụ phát hiện đối tượng và khả năng tương thích với các chế độ hoạt động khác nhau như suy luận, xác thực, huấn luyệnxuất. Sự 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à 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ài báo gốc về YOLOv6 có thể được tìm thấy trên arXiv. Các tác giả đã công khai công trình của họ và mã nguồn có thể được truy cập 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ọ tiếp cận được với cộng đồng rộng lớn hơn.

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

Meituan YOLOv6 là gì và điều gì làm nên sự độc đáo của nó?

Meituan YOLOv6, được phát hành vào năm 2022, là một bộ detect đố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ư mô-đun Bi-directional Concatenation (BiC) và chiến lược Huấn luyện hỗ trợ Anchor (AAT). Những đổi mới này mang lại những cải thiện đáng kể về hiệu suất với sự 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 cải thiện hiệu suất như thế nào?

Mô-đun Bi-directional Concatenation (BiC) trong YOLOv6 nâng cao tín hiệu định vị trong phần neck của bộ detect, mang lại cải thiệ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 bản đồ đặc trưng khác nhau, tăng cường khả năng detect đố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 Các tính năng chính.

Làm thế nào để tôi có thể huấn luyện một mô hình YOLOv6 bằng Ultralytics?

Bạn có thể huấn luyện một 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)
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 YOLOv6 và các chỉ số hiệu suất của chúng là gì?

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 nhất trong các kịch bản thời gian thực

Các mô hình này được đánh giá trên tập dữ liệu COCO sử dụng GPU NVIDIA T4. Để biết thêm về các chỉ số hiệu suất, hãy xem phần Chỉ số hiệu suất.

Chiến lược Huấn luyện có hỗ trợ neo (AAT) mang lại lợi ích gì cho YOLOv6?

Huấn luyện hỗ trợ Anchor (AAT) trong YOLOv6 kết hợp các yếu tố của phương pháp dựa trên anchor và không dựa trên anchor, nâng cao khả năng detect 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 anchor trong quá trình huấn luyện để cải thiện 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.

Các chế độ hoạt động nào được hỗ trợ bởi các mô hình YOLOv6 trong Ultralytics?

YOLOv6 hỗ trợ nhiều chế độ hoạt động khác nhau bao gồm suy luận, xác thực, huấn luyện và xuất. Sự 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 kịch bản khác nhau. Hãy xem phần Các tác vụ và chế độ được hỗ trợ để có cái nhìn tổng quan chi tiết về từng chế độ.



📅 Được tạo 2 năm trước ✏️ Cập nhật 5 ngày trước
glenn-jocherpderrengerLaughing-qY-T-GMatthewNoyceRizwanMunawar

Bình luận