Chuyển đến nội dung

So sánh chi tiết mô hình YOLOv7 và YOLOv6-3.0 để phát hiện đối tượng

Việc lựa chọn mô hình phát hiện đối tượng tối ưu là một quyết định quan trọng trong các dự án thị giác máy tính, đòi hỏi sự cân bằng giữa độ chính xác, tốc độ và việc sử dụng tài nguyên. Trang này cung cấp một so sánh kỹ thuật chi tiết giữa YOLOv7YOLOv6-3.0, hai mô hình nổi bật được biết đến với khả năng phát hiện đối tượng. Chúng ta sẽ đi sâu vào kiến trúc, các chuẩn đánh giá hiệu suất và các ứng dụng phù hợp của chúng để hướng dẫn bạn trong quá trình lựa chọn mô hình.

YOLOv7: Độ chính xác và các kỹ thuật nâng cao

YOLOv7, được phát triển bởi các nhà nghiên cứu tại Viện Khoa học Thông tin, Academia Sinica, Đài Loan, thể hiện một bước tiến quan trọng trong việc phát hiện đối tượng theo thời gian thực, tập trung vào việc đạt được độ chính xác cao đồng thời duy trì hiệu quả.

Tác giả: Chien-Yao Wang, Alexey Bochkovskiy và Hong-Yuan Mark Liao
Tổ chức: Viện Khoa học Thông tin, Academia Sinica, Đài Loan
Ngày: 2022-07-06
Arxiv: https://arxiv.org/abs/2207.02696
GitHub: https://github.com/WongKinYiu/yolov7
Docs: https://docs.ultralytics.com/models/yolov7/

Kiến trúc và các tính năng chính

YOLOv7 giới thiệu một số cải tiến kiến trúc và chiến lược huấn luyện nhằm mục đích tăng cường hiệu suất mà không làm tăng đáng kể chi phí suy luận. Các tính năng chính bao gồm:

  • E-ELAN (Extended-Efficient Layer Aggregation Networks - Các mạng tổng hợp lớp hiệu quả mở rộng): Thành phần cốt lõi này trong backbone của mô hình giúp tăng cường khả năng học các đặc trưng một cách hiệu quả, cải thiện hiệu quả tính toán và tham số. Bạn có thể tìm thêm chi tiết trong bài báo gốc.
  • Mở rộng tỷ lệ mô hình: Triển khai các phương pháp mở rộng tỷ lệ hỗn hợp cho chiều sâu và chiều rộng của mô hình, tối ưu hóa hiệu suất trên các kích thước mô hình khác nhau dựa trên các nguyên tắc của mô hình dựa trên ghép kênh.
  • Huấn Luyện Head Phụ Trợ: Sử dụng các head phụ trợ trong giai đoạn huấn luyện để tăng cường việc học đặc trưng, sau đó được loại bỏ để suy luận nhằm duy trì tốc độ. Khái niệm này liên quan đến các kỹ thuật giám sát sâu được sử dụng trong các mạng nơ-ron khác.
  • Các cải tiến "Bag-of-Freebies": Tích hợp các kỹ thuật huấn luyện nâng cao như tăng cường dữ liệu và tinh chỉnh việc gán nhãn, giúp cải thiện độ chính xác mà không làm tăng thêm chi phí suy luận.

Điểm mạnh

Điểm yếu

  • Độ phức tạp: Các tính năng kiến trúc và kỹ thuật huấn luyện tiên tiến có thể làm cho mô hình phức tạp hơn để hiểu và tinh chỉnh so với các kiến trúc đơn giản hơn như YOLOv5.
  • Đào tạo tốn tài nguyên: Các biến thể YOLOv7 lớn hơn (ví dụ: YOLOv7-E6E) đòi hỏi tài nguyên tính toán đáng kể để đào tạo.

Tìm hiểu thêm về YOLOv7

YOLOv6-3.0: Hiệu quả và tốc độ công nghiệp

YOLOv6-3.0, được phát triển bởi Meituan, được thiết kế cho các ứng dụng công nghiệp đòi hỏi khả năng phát hiện đối tượng hiệu suất cao, tập trung vào tốc độ và hiệu quả. Phiên bản 3.0 tăng cường đáng kể so với các phiên bản tiền nhiệm, mang lại độ chính xác được cải thiện và thời gian suy luận nhanh hơn.

Tác giả: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu, và Xiangxiang Chu
Tổ chức: Meituan
Ngày: 2023-01-13
Arxiv: https://arxiv.org/abs/2301.05586
GitHub: https://github.com/meituan/YOLOv6
Docs: https://docs.ultralytics.com/models/yolov6/

Kiến trúc và các tính năng chính

YOLOv6-3.0 được thiết kế chú trọng đến việc triển khai, với một số lựa chọn kiến trúc chính ưu tiên tốc độ suy luận.

  • Thiết kế chú trọng phần cứng: Kiến trúc được điều chỉnh để mang lại hiệu suất hiệu quả trên nhiều nền tảng phần cứng khác nhau, đặc biệt là GPU, bằng cách sử dụng các khối tái tham số hóa kiểu RepVGG.
  • EfficientRep Backbone and Rep-PAN Neck: Các cấu trúc này được thiết kế để giảm thiểu các nút thắt tính toán và chi phí truy cập bộ nhớ, điều này chuyển trực tiếp thành suy luận nhanh hơn.
  • Head tách rời: Tách biệt các head phân loại và định vị, điều này đã được chứng minh là cải thiện sự hội tụ và độ chính xác của mô hình cuối cùng, một kỹ thuật cũng thấy trong các mô hình như YOLOX.

Điểm mạnh

  • Tốc độ suy luận cao: Được tối ưu hóa cho suy luận nhanh chóng, làm cho nó rất phù hợp cho các ứng dụng thời gian thực, nơi độ trễ là một yếu tố quan trọng.
  • Tập trung vào công nghiệp: Được thiết kế với các tình huống triển khai công nghiệp, đảm bảo tính mạnh mẽ và hiệu quả trong các môi trường thực tế như sản xuất.
  • Thiết kế hiệu quả: Các biến thể nhỏ hơn của YOLOv6-3.0 có số lượng tham số và FLOP rất thấp, khiến chúng trở nên lý tưởng cho các môi trường bị hạn chế về tài nguyên.

Điểm yếu

  • Đánh đổi về độ chính xác: Mặc dù rất hiệu quả, nhưng nó có thể thể hiện độ chính xác thấp hơn một chút trên các bộ dữ liệu phức tạp so với các mô hình như YOLOv7 ưu tiên độ chính xác tối đa hơn tốc độ.
  • Hệ sinh thái và tính linh hoạt: Hệ sinh thái xung quanh YOLOv6 kém toàn diện hơn so với các mô hình Ultralytics và nó chủ yếu tập trung vào phát hiện đối tượng.

Các Trường hợp Sử dụng

YOLOv6-3.0 vượt trội trong các ứng dụng mà tốc độ và hiệu quả là tối quan trọng:

  • Tự động hóa công nghiệp: Kiểm soát chất lượng và giám sát quy trình trong sản xuất.
  • Hệ thống thời gian thực: Các ứng dụng có yêu cầu nghiêm ngặt về độ trễ như robotics và giám sát.
  • Điện toán biên: Triển khai trên các thiết bị có tài nguyên hạn chế do thiết kế hiệu quả của nó. Xem các hướng dẫn về cách triển khai trên các thiết bị như NVIDIA Jetson.

Tìm hiểu thêm về YOLOv6-3.0

So sánh hiệu năng: YOLOv7 so với YOLOv6-3.0

Bảng dưới đây tóm tắt các số liệu hiệu suất cho các biến thể tương đương của YOLOv7 và YOLOv6-3.0 trên bộ dữ liệu COCO.

Mô hình Kích thước
(pixels)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
Tham số
(M)
FLOPs
(B)
YOLOv7l 640 51.4 - 6.84 36.9 104.7
YOLOv7x 640 53.1 - 11.57 71.3 189.9
YOLOv6-3.0n 640 37.5 - 1.17 4.7 11.4
YOLOv6-3.0s 640 45.0 - 2.66 18.5 45.3
YOLOv6-3.0m 640 50.0 - 5.28 34.9 85.8
YOLOv6-3.0l 640 52.8 - 8.95 59.6 150.7

Lưu ý: Điểm chuẩn tốc độ có thể khác nhau dựa trên phần cứng, phần mềm (TensorRT, ONNX, OpenVINO), kích thước lô và cấu hình cụ thể. Giá trị mAP thường được báo cáo trên bộ dữ liệu COCO val.

Dựa trên bảng, YOLOv7x đạt được mAP cao nhất, cho thấy độ chính xác vượt trội. Tuy nhiên, các mô hình YOLOv6-3.0, đặc biệt là các biến thể nhỏ hơn như YOLOv6-3.0n, cung cấp tốc độ suy luận nhanh hơn đáng kể, đặc biệt là trên GPU với tối ưu hóa TensorRT, đồng thời có ít tham số và FLOP hơn, khiến chúng có hiệu quả cao. Sự lựa chọn phụ thuộc vào việc ưu tiên độ chính xác tối đa (YOLOv7) hay tốc độ/hiệu quả tối ưu (YOLOv6-3.0).

Tại sao nên chọn các mô hình Ultralytics YOLO?

Đối với người dùng tìm kiếm các mô hình hiện đại trong một hệ sinh thái toàn diện và dễ sử dụng, Ultralytics cung cấp YOLOv8Ultralytics YOLO11 mới nhất. Các mô hình này cung cấp những lợi thế đáng kể so với cả YOLOv7 và YOLOv6.

  • Dễ sử dụng: Các mô hình Ultralytics đi kèm với Python API được tinh giản, tài liệu đầy đủ và các lệnh CLI dễ sử dụng, giúp đơn giản hóa việc huấn luyện, xác thực và triển khai.
  • Hệ sinh thái được duy trì tốt: Tận dụng lợi thế từ quá trình phát triển tích cực, cộng đồng mã nguồn mở vững mạnh, cập nhật thường xuyên và tích hợp với các công cụ như Ultralytics HUB để có MLOps liền mạch.
  • Cân bằng hiệu năng: Các model Ultralytics đạt được sự cân bằng tuyệt vời giữa tốc độ và độ chính xác, phù hợp với nhiều tình huống thực tế khác nhau, từ thiết bị biên đến máy chủ đám mây.
  • Tính linh hoạt: Các mô hình như YOLOv8 và YOLO11 hỗ trợ nhiều tác vụ hơn là chỉ phát hiện đối tượng, bao gồm phân vùng (segmentation), phân loại (classification), ước tính tư thế (pose estimation)phát hiện đối tượng theo hướng (OBB), cung cấp một giải pháp thống nhất.
  • Hiệu quả huấn luyện: Tận dụng lợi thế từ quy trình huấn luyện hiệu quả, các trọng số đã được huấn luyện trước có sẵn trên các bộ dữ liệu như COCO và thời gian hội tụ nhanh hơn.

Để tìm hiểu thêm, bạn cũng có thể tham khảo so sánh với các mô hình khác như RT-DETR.



📅 Đã tạo 1 năm trước ✏️ Đã cập nhật 1 tháng trước

Bình luận