Bỏ qua nội dung

Meituan YOLOv6

Tổng quan

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

Meituan YOLOv6 Hình ảnh ví dụ mẫu 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 đưa mô-đun BiC vào phần cổ của 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 đào tạo hỗ trợ neo (AAT): Mô hình này đề xuất AAT để tận dụng lợi ích của cả mô hình có neo và không có neo 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 sắc thêm YOLOv6 để bao gồm một giai đoạn khác trong xương sống và cổ, mô hình này đạt được hiệu suất tiên tiến trên tập dữ liệu COCO ở đầ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 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ụ trong quá trình đào tạo và loại bỏ nó khi suy luận để tránh tốc độ giảm đáng kể.

Số liệu hiệu suất

YOLOv6 cung cấp nhiều mô hình được đào tạo trước với nhiều quy mô 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 ở 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 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 các ví dụ đào tạo và suy luận YOLOv6 đơn giả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 , ValExport .

Ví dụ

PyTorch được đào tạo trước *.pt mô hình cũng như cấu hình *.yaml các tập tin có thể được chuyển đến YOLO() lớp để tạo một thể hiện mô hình 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")

CLI các lệnh 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

Nhiệm vụ và chế độ được hỗ trợ

Dòng YOLOv6 cung cấp nhiều mẫu, mỗi mẫu được tối ưu hóa cho 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 về độ chính xác khác nhau, giúp chúng linh hoạt cho nhiều ứng dụng.

Kiểu mẫu Tạ đã được tập luyện trước Nhiệm vụ được hỗ trợ Suy luận Xác thực Đào tạo Xuất khẩu
YOLOv6-N yolov6-n.pt Phát hiện đối tượng
YOLOv6-S yolov6-s.pt Phát hiện đối tượng
YOLOv6-M yolov6-m.pt Phát hiện đối tượng
YOLOv6-L yolov6-l.pt Phát hiện đối tượng
YOLOv6-L6 yolov6-l6.pt Phát hiện đối tượng

Bảng này cung cấp 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 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ạoXuấ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 đủ khả năng của các mô hình YOLOv6 trong nhiều tình huống phát hiện đối tượng.

Trích dẫn và Lời cảm ơn

Chúng tôi muốn ghi nhận những đóng góp quan trọng của các tác giả trong lĩnh vực phát hiện vật thể 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 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à có thể truy cập cơ sở mã 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 cho nó trở nên độc đáo?

Meituan YOLOv6 là một máy dò vật thể hiện đại 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. Nó có các cải tiến đáng chú ý về mặt kiến trúc như mô-đun Bi-directional Concatenation (BiC) và chiến lược Anchor-Aided Training (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, khiến YOLOv6 trở thành lựa chọn cạnh tranh cho các tác vụ phát hiện vật thể.

Mô-đun ghép nối hai chiều (BiC) trong YOLOv6 cải thiện hiệu suất như thế nào?

Mô-đun Bi-directional Concatenation (BiC) trong YOLOv6 tăng cường tín hiệu định vị trong cổ máy dò, 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 bản đồ tính năng khác nhau, tăng khả năng phát hiện vật thể 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 Tính năng chính .

Làm thế nào tôi có thể đào tạo một mô hình YOLOv6 bằng cách sử dụng Ultralytics ?

Bạn có thể đào tạo mô hình YOLOv6 bằng cách 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 Tàu hỏa .

Các phiên bản khác nhau của YOLOv6 và số liệu 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 trong các tình huống thời gian thực

Các mô hình này được đánh giá trên tập dữ liệu COCO bằng cách sử dụng 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ợ neo (AAT) mang lại lợi ích gì cho YOLOv6?

Anchor-Aided Training (AAT) trong YOLOv6 kết hợp các yếu tố của phương pháp tiếp cận dựa trên neo và không có neo, tăng cường 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 đào tạo để cải thiện dự đoán hộp giới hạn , 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, Đào tạo và Xuất. Tính linh hoạt này cho phép người dùng khai thác đầy đủ khả năng của mô hình trong các tình huống khác nhau. Hãy xem phần Nhiệm vụ và Chế độ được hỗ trợ để biết tổng quan chi tiết về từng chế độ.

📅 Được tạo ra cách đây 1 năm ✏️ Đã cập nhật cách đây 2 tháng

Bình luận