YOLOv10 so với EfficientDet: So sánh kỹ thuật
Bối cảnh phát hiện đối tượng đã phát triển nhanh chóng trong vài năm qua, chuyển đổi từ các quy trình phức tạp, nhiều giai đoạn sang kiến trúc hợp lý, thời gian thực. Bài so sánh này khám phá những khác biệt kỹ thuật giữa YOLOv10 , một mô hình tiên tiến được các nhà nghiên cứu từ Đại học Thanh Hoa phát hành năm 2024, và EfficientDet , một kiến trúc tiên phong được giới thiệu bởi Google vào năm 2019.
Trong khi EfficientDet đặt ra các tiêu chuẩn về hiệu quả tham số trong thời gian đó, YOLOv10 đẩy ranh giới của độ trễ và độ chính xác, giới thiệu một NMS - Mô hình đào tạo miễn phí giúp tăng đáng kể tốc độ suy luận. Hướng dẫn này phân tích kiến trúc, số liệu hiệu suất và các trường hợp sử dụng lý tưởng của chúng để giúp bạn chọn mô hình phù hợp cho các dự án thị giác máy tính của mình.
YOLOv10 : Phát hiện đối tượng đầu cuối theo thời gian thực
YOLOv10 đại diện cho một bước nhảy vọt đáng kể trong YOLO (Bạn chỉ nhìn một lần) loạt bài tập trung vào việc loại bỏ sự đàn áp không tối đa ( NMS ) bước hậu xử lý thường làm chậm tốc độ suy luận. Bằng cách sử dụng các phép gán kép nhất quán cho NMS - Đào tạo miễn phí, đạt được hiệu suất cạnh tranh với độ trễ thấp hơn so với các phiên bản trước.
Chi tiết kỹ thuật:
- Tác giả: Ao Wang, Hui Chen, Lihao Liu, et al.
- Tổ chức: Đại học Thanh Hoa
- Ngày: 2024-05-23
- Arxiv: YOLOv10 : Phát hiện đối tượng đầu cuối theo thời gian thực
- GitHub: THU-MIG/yolov10
Các đặc điểm kiến trúc chính
YOLOv10 giới thiệu một thiết kế mô hình toàn diện hướng đến hiệu quả-độ chính xác. Đổi mới cốt lõi nằm ở chiến lược gán kép . Trong quá trình huấn luyện, mô hình sử dụng cả hai kiểu gán một-nhiều (phổ biến trong YOLOv8 ) để giám sát phong phú và phân công trực tiếp để đảm bảo triển khai toàn diện mà không cần NMS .
- NMS - Đào tạo miễn phí: Máy dò truyền thống yêu cầu NMS để lọc các hộp giới hạn trùng lặp, điều này dẫn đến độ trễ suy luận. YOLOv10 Kiến trúc của cho phép mô hình dự đoán chính xác một hộp cho mỗi đối tượng trong quá trình suy luận, loại bỏ hiệu quả chi phí này.
- Thiết kế hướng đến hiệu quả: Mô hình sử dụng đầu phân loại nhẹ và lấy mẫu hạ tần tách rời kênh không gian để giảm chi phí tính toán (FLOP) và số lượng tham số.
- Tích chập hạt nhân lớn: Bằng cách sử dụng có chọn lọc các tích chập theo chiều sâu của hạt nhân lớn, YOLOv10 tăng cường khả năng tiếp nhận và khả năng của nó detect các vật thể nhỏ mà không cần tăng cường tính toán quá nhiều.
Tại sao NMS -Vấn đề tự do
Loại bỏ sự ức chế không tối đa ( NMS ) tạo ra một đường truyền thực sự xuyên suốt. Điều này rất quan trọng đối với các ứng dụng AI biên , nơi mà từng mili giây đều có giá trị, chẳng hạn như trên các thiết bị NVIDIA Jetson , đảm bảo độ trễ ổn định và có thể dự đoán được.
Điểm mạnh
- Tốc độ vượt trội: Được tối ưu hóa cho suy luận thời gian thực , vượt trội hơn đáng kể so với các mô hình cũ trên GPU phần cứng.
- Tích hợp Ultralytics : Là một phần của Ultralytics hệ sinh thái, YOLOv10 được hưởng lợi từ API Python đơn giản, giúp việc đào tạo, xác thực và triển khai trở nên cực kỳ dễ dàng.
- Sử dụng bộ nhớ thấp hơn: Kiến trúc hiệu quả yêu cầu ít hơn CUDA bộ nhớ trong quá trình đào tạo so với các máy dò dựa trên máy biến áp như RT-DETR .
EfficientDet: Kiến trúc có thể mở rộng và hiệu quả
EfficientDet, được phát triển bởi Google Nhóm Brain được thiết kế để tối ưu hóa cả độ chính xác và hiệu quả. Nhóm đã giới thiệu một họ mô hình (D0-D7) được chia tỷ lệ bằng phương pháp chia tỷ lệ phức hợp, điều chỉnh đồng đều độ phân giải, độ sâu và chiều rộng.
Chi tiết kỹ thuật:
- Tác giả: Mingxing Tan, Ruoming Pang, và Quoc V. Le
- Tổ chức: Google
- Date: 2019-11-20
- Arxiv: EfficientDet: Phát hiện đối tượng hiệu quả và có khả năng mở rộng
- GitHub: google /automl/efficientdet
Các đặc điểm kiến trúc chính
EfficientDet được xây dựng trên nền tảng EfficientNet và giới thiệu BiFPN (Mạng kim tự tháp tính năng hai chiều).
- BiFPN: Không giống như FPN tiêu chuẩn, BiFPN cho phép luồng thông tin hai chiều và sử dụng các trọng số có thể học được để hợp nhất các đặc điểm từ nhiều tỷ lệ khác nhau. Điều này mang lại khả năng biểu diễn đặc điểm đa tỷ lệ tốt hơn với ít tham số hơn.
- Quy mô Hợp chất: Phương pháp này đảm bảo mạng xương sống, mạng đặc trưng và mạng dự đoán hộp/lớp được mở rộng cùng nhau một cách hiệu quả. Mô hình D0 nhỏ gọn và nhanh chóng cho thiết bị di động, trong khi mô hình D7 mang lại độ chính xác tiên tiến cho các môi trường có nhiều tài nguyên.
Điểm mạnh và Điểm yếu
- Hiệu quả tham số: EfficientDet được biết đến với khả năng đạt được mAP cao với tương đối ít tham số và FLOP.
- Khả năng mở rộng: Dòng sản phẩm D0-D7 mang lại sự linh hoạt cho nhiều ngân sách tính toán khác nhau.
- Độ trễ cao: Mặc dù số lượng FLOP thấp, các kết nối phức tạp trong BiFPN và các phép tích chập có thể tách biệt theo chiều sâu có thể dẫn đến độ trễ cao hơn trên GPU so với kiến trúc CNN hợp lý của YOLO các mô hình.
- Độ phức tạp: Kiến trúc khó tùy chỉnh hoặc điều chỉnh hơn so với thiết kế đơn giản của Ultralytics YOLOv8 hoặc YOLOv10 .
Phân tích hiệu suất: Tốc độ so với Hiệu quả
Khi so sánh hai mô hình này, sự khác biệt giữa hiệu suất lý thuyết (FLOP) và tốc độ thực tế (Độ trễ) trở nên rõ ràng. EfficientDet vượt trội trong việc giảm thiểu FLOP, nhưng YOLOv10 chiếm ưu thế về tốc độ suy luận thực tế trên phần cứng hiện đại như GPU.
Bảng dưới đây chứng minh rằng trong khi các mô hình EfficientDet nhỏ gọn, YOLOv10 mang lại sự cân bằng tốt hơn nhiều cho các ứng dụng thời gian thực. Ví dụ, YOLOv10 -S mang lại hiệu suất cạnh tranh 46,7% mAP với độ trễ chỉ 2,66ms trên T4 GPU , trong khi EfficientDet-d3 (47,5% mAP ) chậm hơn gần 7 lần ở mức 19,59ms.
| Mô hình | Kích thước (pixels) | mAP giá trị 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | Tham số (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.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 |
Diễn giải
- Sự thống trị GPU : YOLOv10 sử dụng các lựa chọn thiết kế nhận biết phần cứng phù hợp với GPU kiến trúc, mang lại hiệu suất vượt trội hơn rất nhiều.
- Độ chính xác tương đương: Các chiến lược đào tạo mới hơn cho phép YOLOv10 để phù hợp hoặc vượt quá độ chính xác của các biến thể EfficientDet chậm hơn nhiều.
- Triển khai: Các NMS -bản chất tự do của YOLOv10 đơn giản hóa quá trình xuất sang các định dạng như TensorRT và ONNX , giảm độ phức tạp của quy trình triển khai.
Dễ sử dụng và hệ sinh thái
Một trong những yếu tố quan trọng nhất đối với các nhà phát triển là hệ sinh thái xung quanh một mô hình. Ở đây, Ultralytics mang lại lợi thế đáng kể.
Các Ultralytics Lợi thế
YOLOv10 được tích hợp vào Ultralytics Python gói, cung cấp trải nghiệm liền mạch từ chú thích dữ liệu đến triển khai.
- API đơn giản: Bạn có thể tải, đào tạo và dự đoán chỉ bằng một vài dòng mã.
- Được bảo trì tốt: Cập nhật thường xuyên, hỗ trợ cộng đồng và tài liệu đầy đủ đảm bảo bạn không phải gỡ lỗi những lỗi khó hiểu.
- Hiệu quả đào tạo: Ultralytics Các mô hình được tối ưu hóa để hội tụ nhanh. Các trọng số được đào tạo trước luôn sẵn có, cho phép học chuyển giao hiệu quả trên các tập dữ liệu tùy chỉnh.
Đào tạo YOLOv10 với Ultralytics
Đào tạo một YOLOv10 mô hình trên COCO8 tập dữ liệu được sử dụng đơn giản bằng cách sử dụng Ultralytics Giao diện lập trình ứng dụng (API).
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
Ngược lại, EfficientDet dựa vào những người cũ hơn TensorFlow kho lưu trữ hoặc bên thứ ba PyTorch việc triển khai có thể thiếu sự hỗ trợ thống nhất, khiến việc tích hợp vào các quy trình MLOps hiện đại trở nên khó khăn hơn.
Các trường hợp sử dụng lý tưởng
Lựa chọn giữa YOLOv10 và EfficientDet phụ thuộc vào những hạn chế cụ thể của bạn.
Khi nào nên chọn YOLOv10
YOLOv10 là sự lựa chọn vượt trội cho hầu hết các ứng dụng thị giác máy tính hiện đại, đặc biệt là:
- Hệ thống tự động: Xe tự lái và máy bay không người lái cần khả năng phát hiện độ trễ thấp để đảm bảo an toàn. YOLOv10 Tốc độ đảm bảo thời gian phản ứng nhanh.
- Phân tích video: Xử lý luồng video có FPS cao để giám sát an ninh hoặc giám sát giao thông.
- Triển khai Edge: Triển khai trên các thiết bị nhúng như Raspberry Pi hoặc NVIDIA Jetson có nguồn lực hạn chế nhưng hiệu suất theo thời gian thực là không thể thương lượng.
Khi nào nên chọn EfficientDet
EfficientDet vẫn có liên quan trong các tình huống cụ thể:
- Nghiên cứu học thuật: Nếu mục tiêu là nghiên cứu các quy luật tỷ lệ hợp chất hoặc các nguyên tắc thiết kế mạng nơ-ron hiệu quả.
- Ràng buộc FLOP nghiêm ngặt: Trong các môi trường phần cứng cực kỳ cụ thể, trong đó FLOP lý thuyết là nút thắt cổ chai cứng chứ không phải độ trễ hay băng thông bộ nhớ.
Kết luận
Trong khi EfficientDet là một bước ngoặt trong thiết kế mô hình hiệu quả, YOLOv10 đại diện cho tiêu chuẩn mới về phát hiện đối tượng hiệu suất cao. NMS Kiến trúc miễn phí mang lại lợi thế quyết định về tốc độ suy luận mà không ảnh hưởng đến độ chính xác, khiến nó thực tế hơn nhiều khi triển khai trong thế giới thực.
Hơn nữa, hệ sinh thái Ultralytics mạnh mẽ đảm bảo rằng làm việc với YOLOv10 hiệu quả và thân thiện với nhà phát triển. Từ các tùy chọn xuất dữ liệu dễ dàng đến hướng dẫn toàn diện về quản lý dữ liệu , Ultralytics giúp bạn hiện thực hóa các dự án AI tầm nhìn của mình nhanh hơn.
Đối với những ai đang tìm kiếm sự linh hoạt và hiệu suất mới nhất, chúng tôi cũng khuyên bạn nên khám phá Ultralytics YOLO11 , được xây dựng dựa trên những tiến bộ này để cung cấp các khả năng tiên tiến trong các nhiệm vụ phát hiện, phân đoạn và ước tính tư thế.