So sánh kỹ thuật chi tiết: YOLOv5 so với EfficientDet
Trang này cung cấp so sánh kỹ thuật toàn diện giữa hai mô hình phát hiện đối tượng có ảnh hưởng: Ultralytics YOLOv5 và EfficientDet của Google. Mặc dù cả hai mô hình đều được thiết kế để có hiệu suất cao, nhưng chúng bắt nguồn từ các triết lý nghiên cứu và thiết kế kiến trúc khác nhau. Chúng tôi sẽ đi sâu vào những khác biệt chính của chúng về kiến trúc, số liệu hiệu suất và các trường hợp sử dụng lý tưởng để giúp bạn chọn mô hình tốt nhất cho các dự án thị giác máy tính của mình.
Ultralytics YOLOv5: Mô hình linh hoạt và được áp dụng rộng rãi
Tác giả: Glenn Jocher
Tổ chức: Ultralytics
Ngày: 2020-06-26
GitHub: https://github.com/ultralytics/yolov5
Docs: https://docs.ultralytics.com/models/yolov5/
Ultralytics YOLOv5 là một trình phát hiện đối tượng một giai đoạn nhanh chóng trở thành một tiêu chuẩn công nghiệp nhờ sự cân bằng vượt trội giữa tốc độ, độ chính xác và tính dễ sử dụng. Được xây dựng hoàn toàn bằng PyTorch, kiến trúc của nó có backbone CSPDarknet53, một PANet neck để tổng hợp đặc trưng hiệu quả và một detection head dựa trên anchor hiệu quả. YOLOv5 có khả năng mở rộng cao, cung cấp một loạt các mô hình từ nano (n) đến cực lớn (x), cho phép các nhà phát triển chọn sự đánh đổi hoàn hảo cho các nhu cầu về hiệu năng và tính toán cụ thể của họ.
Điểm mạnh
- Tốc độ Vượt trội: YOLOv5 được tối ưu hóa cao cho suy luận nhanh, khiến nó trở thành một lựa chọn phù hợp cho các ứng dụng thời gian thực nơi độ trễ thấp là rất quan trọng, chẳng hạn như trong giám sát video.
- Tính dễ sử dụng: Một ưu điểm lớn là trải nghiệm người dùng được tối ưu hóa. Với Python API và CLI đơn giản, tài liệu phong phú và quy trình huấn luyện đơn giản, YOLOv5 giúp giảm đáng kể rào cản gia nhập cho việc phát hiện đối tượng tùy chỉnh.
- Hệ sinh thái được duy trì tốt: YOLOv5 được hỗ trợ bởi hệ sinh thái Ultralytics mạnh mẽ, bao gồm phát triển tích cực, một cộng đồng lớn và hữu ích, cập nhật thường xuyên và các công cụ mạnh mẽ như Ultralytics HUB để đào tạo và quản lý mô hình không cần code.
- Hiệu quả huấn luyện: Mô hình được thiết kế để huấn luyện hiệu quả, được hưởng lợi từ 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. Nó cũng có yêu cầu bộ nhớ thấp hơn trong quá trình huấn luyện và suy luận so với các kiến trúc phức tạp hơn như Transformers.
- Tính linh hoạt: Vượt xa phát hiện đối tượng, YOLOv5 hỗ trợ các tác vụ như phân vùng thể hiện và phân loại ảnh, cung cấp một giải pháp linh hoạt trong một framework duy nhất.
Điểm yếu
- Mặc dù có độ chính xác cao, các mô hình EfficientDet lớn hơn đôi khi có thể đạt được điểm mAP cao hơn trên các điểm chuẩn học thuật, đặc biệt là khi phát hiện các đối tượng rất nhỏ.
- Việc dựa vào các hộp neo đã được xác định trước có thể yêu cầu điều chỉnh cho các tập dữ liệu có hình dạng và kích thước đối tượng không thông thường để đạt được hiệu suất tối ưu.
Các trường hợp sử dụng lý tưởng
- Phân tích video thời gian thực cho hệ thống an ninh và giám sát giao thông.
- Triển khai trên các thiết bị biên hạn chế về tài nguyên như NVIDIA Jetson và Raspberry Pi.
- Nhận diện độ trễ thấp cho ngành robot và xe tự hành.
- Các ứng dụng di động yêu cầu suy luận nhanh trên thiết bị.
EfficientDet: Kiến trúc có thể mở rộng và hiệu quả
Tác giả: Mingxing Tan, Ruoming Pang, và Quoc V. Le
Tổ chức: Google
Ngày: 2019-11-20
Arxiv: https://arxiv.org/abs/1911.09070
GitHub: https://github.com/google/automl/tree/master/efficientdet
Tài liệu: https://github.com/google/automl/tree/master/efficientdet#readme
EfficientDet, được phát triển bởi nhóm Google Brain, đã giới thiệu một họ các detector đối tượng có khả năng mở rộng và hiệu quả. Các cải tiến cốt lõi của nó bao gồm sử dụng EfficientNet hiệu quả cao làm backbone, Mạng lưới Kim tự tháp Đặc trưng hai chiều (BiFPN) mới để hợp nhất đặc trưng đa tỷ lệ nhanh và phương pháp mở rộng hỗn hợp. Phương pháp này mở rộng đồng đều độ sâu, chiều rộng và độ phân giải của mô hình, cho phép tạo ra một loạt các mô hình (D0-D7) được tối ưu hóa cho các yêu cầu về tài nguyên tính toán khác nhau.
Điểm mạnh
- Độ chính xác và Hiệu quả cao: Các mô hình EfficientDet được biết đến với việc đạt được độ chính xác cao nhất với ít tham số hơn và FLOPs so với các mô hình khác tại thời điểm phát hành.
- Khả năng mở rộng: Phương pháp mở rộng hỗn hợp cung cấp một lộ trình rõ ràng để mở rộng mô hình lên hoặc xuống, giúp nó có khả năng thích ứng với các giới hạn phần cứng khác nhau từ thiết bị di động đến máy chủ đám mây.
- Kết hợp đặc trưng hiệu quả: BiFPN cho phép kết hợp các đặc trưng phong phú hơn bằng cách kết hợp các kết nối hai hướng có trọng số, điều này góp phần vào độ chính xác cao của nó.
Điểm yếu
- Tốc độ suy luận chậm hơn: Mặc dù hiệu quả về tham số, EfficientDet thường chậm hơn YOLOv5, đặc biệt là trong các tình huống triển khai thực tế. Điều này làm cho nó kém phù hợp hơn cho các ứng dụng yêu cầu hiệu suất thời gian thực.
- Độ phức tạp: Kiến trúc, đặc biệt là BiFPN, phức tạp hơn so với thiết kế đơn giản của YOLOv5. Điều này có thể gây khó khăn hơn cho các nhà phát triển trong việc hiểu, tùy chỉnh và gỡ lỗi.
- Hệ sinh thái ít tích hợp hơn: Mặc dù được Google hỗ trợ, kho lưu trữ mã nguồn mở này không được duy trì tích cực hoặc thân thiện với người dùng như hệ sinh thái Ultralytics. Nó thiếu các tài liệu mở rộng, hướng dẫn và các công cụ tích hợp giúp đơn giản hóa vòng đời MLOps.
Các trường hợp sử dụng lý tưởng
- Phân tích ngoại tuyến các hình ảnh có độ phân giải cao, nơi độ chính xác tối đa là tối quan trọng.
- Phân tích hình ảnh y tế để phát hiện các bất thường nhỏ.
- Kiểm soát chất lượng có độ chính xác cao trong sản xuất, nơi suy luận có thể được thực hiện theo lô.
- Nghiên cứu học thuật và đánh giá chuẩn, nơi độ chính xác là thước đo chính.
Hiệu năng và điểm chuẩn: So sánh trực tiếp
Việc lựa chọn giữa YOLOv5 và EfficientDet thường đi đến sự đánh đổi giữa tốc độ và độ chính xác. Bảng và phân tích sau đây cung cấp so sánh rõ ràng về hiệu suất của chúng trên bộ dữ liệu COCO val2017.
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) |
---|---|---|---|---|---|---|
YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
EfficientDet-d0 | 640 | 34.6 | 10.2 | 3.92 | 3.9 | 2.54 |
EfficientDet-d1 | 640 | 40.5 | 13.5 | 7.31 | 6.6 | 6.1 |
EfficientDet-d2 | 640 | 43.0 | 17.7 | 10.92 | 8.1 | 11.0 |
EfficientDet-d3 | 640 | 47.5 | 28.0 | 19.59 | 12.0 | 24.9 |
EfficientDet-d4 | 640 | 49.7 | 42.8 | 33.55 | 20.7 | 55.2 |
EfficientDet-d5 | 640 | 51.5 | 72.5 | 67.86 | 33.7 | 130.0 |
EfficientDet-d6 | 640 | 52.6 | 92.8 | 89.29 | 51.9 | 226.0 |
EfficientDet-d7 | 640 | 53.7 | 122.0 | 128.07 | 51.9 | 325.0 |
Bảng này minh họa rõ ràng các ưu tiên thiết kế khác nhau của hai mô hình. Các mô hình EfficientDet, đặc biệt là các biến thể lớn hơn như D7, đạt được điểm mAP cao nhất là 53.7. Chúng cũng thể hiện hiệu quả cao về chi phí tính toán, với EfficientDet-d0 có FLOP thấp nhất. Tuy nhiên, khi nói đến việc triển khai cho các ứng dụng thời gian thực, tốc độ suy luận là tối quan trọng. Ở đây, Ultralytics YOLOv5 cho thấy một lợi thế quyết định, đặc biệt là trên phần cứng GPU. Mô hình YOLOv5n đạt được thời gian suy luận nhanh chóng là 1.12 ms trên GPU T4 với TensorRT, làm cho nó nhanh hơn hơn 3 lần so với mô hình EfficientDet nhẹ nhất. Hơn nữa, các mô hình YOLOv5 cực kỳ nhẹ, với YOLOv5n chỉ có 2.6M tham số, làm cho nó lý tưởng để triển khai trên các thiết bị biên hạn chế về tài nguyên. Sự cân bằng hiệu suất về tốc độ, độ chính xác và kích thước mô hình nhỏ này làm cho YOLOv5 trở thành một lựa chọn rất thiết thực cho một loạt các môi trường sản xuất.
Kết luận: Bạn nên chọn mô hình nào?
Cả EfficientDet và Ultralytics YOLOv5 đều là những mô hình phát hiện đối tượng mạnh mẽ, nhưng chúng phục vụ cho các ưu tiên khác nhau. EfficientDet vượt trội khi độ chính xác tối đa là mục tiêu chính và độ trễ suy luận ít được quan tâm hơn. Kiến trúc có khả năng mở rộng của nó làm cho nó trở thành một ứng cử viên mạnh mẽ cho các chuẩn mực học thuật và các tác vụ xử lý ngoại tuyến.
Tuy nhiên, đối với phần lớn các ứng dụng thực tế, Ultralytics YOLOv5 nổi bật như một lựa chọn vượt trội. Sự cân bằng đặc biệt giữa tốc độ và độ chính xác làm cho nó trở nên lý tưởng cho các hệ thống thời gian thực. Những ưu điểm chính của YOLOv5 nằm ở Tính Dễ Sử Dụng, Hệ Sinh Thái Được Duy Trì Tốt toàn diện và Hiệu Quả Đào Tạo đáng kể. Các nhà phát triển có thể bắt đầu nhanh chóng, đào tạo các mô hình tùy chỉnh với nỗ lực tối thiểu và triển khai chúng trên nhiều loại phần cứng. Cộng đồng tích cực và các công cụ như Ultralytics HUB cung cấp hỗ trợ tuyệt vời, làm cho nó trở thành một khuôn khổ rất thiết thực và thân thiện với nhà phát triển.
Đối với những ai muốn tận dụng những tiến bộ mới nhất, bạn cũng nên khám phá các mô hình mới hơn trong hệ sinh thái Ultralytics, chẳng hạn như YOLOv8 rất linh hoạt hoặc YOLO11 hiện đại, được xây dựng dựa trên nền tảng vững chắc của YOLOv5 để mang lại hiệu suất tốt hơn và nhiều tính năng hơn. Để so sánh thêm, hãy truy cập trang so sánh mô hình Ultralytics.