EfficientDet so với YOLOv7 : So sánh kỹ thuật toàn diện
Trong bối cảnh thị giác máy tính đang phát triển nhanh chóng, việc lựa chọn kiến trúc phát hiện đối tượng phù hợp là yếu tố then chốt cho sự thành công của dự án. Phân tích này so sánh EfficientDet , một kiến trúc có khả năng mở rộng tập trung vào hiệu quả, và YOLOv7 , một bộ phát hiện thời gian thực được thiết kế để đạt tốc độ và độ chính xác cao. GPU phần cứng. Mặc dù cả hai mô hình đều thể hiện hiệu suất tiên tiến nhất tại thời điểm phát hành tương ứng, nhưng việc hiểu rõ các sắc thái kỹ thuật của chúng sẽ giúp các nhà phát triển đưa ra quyết định sáng suốt cho các triển khai hiện đại.
Chỉ số hiệu suất và phân tích
Bảng sau đây trình bày so sánh chi tiết các số liệu hiệu suất chính, bao gồm Độ chính xác trung bình ( mAP ), tốc độ suy luận trên các phần cứng khác nhau và độ phức tạp tính toán (Tham số và FLOP).
| 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) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Những Điểm Chính
- Hiệu quả so với Độ trễ: EfficientDet đạt được hiệu quả tham số đáng kể (kích thước mô hình thấp) nhờ khả năng mở rộng hợp chất. Tuy nhiên, trên GPU phần cứng (T4 TensorRT ), YOLOv7 thể hiện độ trễ vượt trội. Ví dụ, YOLOv7l đạt 51,4% mAP với độ trễ chỉ 6,84ms, trong khi EfficientDet-d5 cần 67,86ms cho độ trễ tương tự mAP của 51,5%.
- Tác động đến kiến trúc: Các phép tích chập có thể tách theo chiều sâu được sử dụng trong EfficientDet giúp giảm thiểu FLOP nhưng có thể được tối ưu hóa kém hơn trên GPU so với các phép tích chập dày đặc trong YOLOv7 , dẫn đến sự khác biệt về tốc độ được quan sát thấy.
Tổng quan về EfficientDet
EfficientDet đã tạo nên một bước chuyển đổi mô hình vào năm 2019 bằng cách đề xuất một kiến trúc có khả năng mở rộng, tối ưu hóa đồng thời độ chính xác và hiệu quả. Kiến trúc này được xây dựng dựa 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).
EfficientDet Chi tiết: 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
Điểm nổi bật về kiến trúc
Cải tiến cốt lõi của EfficientDet là BiFPN , cho phép hợp nhất các đặc trưng đa tỷ lệ một cách dễ dàng và nhanh chóng. Không giống như các FPN truyền thống, BiFPN sử dụng hợp nhất các đặc trưng có trọng số để tìm hiểu tầm quan trọng của các đặc trưng đầu vào khác nhau. Kết hợp với Compound Scaling , cho phép đồng đều tỷ lệ độ phân giải, độ sâu và chiều rộng, EfficientDet cung cấp một họ các mô hình (D0 đến D7) đáp ứng các ràng buộc tài nguyên khác nhau.
YOLOv7 Tổng quan
YOLOv7 Phiên bản 2022 đã mở rộng ranh giới của phát hiện đối tượng theo thời gian thực bằng cách tập trung vào việc tối ưu hóa quy trình đào tạo và kiến trúc để tăng tốc độ suy luận. Phiên bản này giới thiệu một số "Túi quà tặng miễn phí" giúp cải thiện độ chính xác mà không làm tăng chi phí suy luận.
Chi tiết YOLOv7 : Tác giả: Chien-Yao Wang, Alexey Bochkovskiy và Hong-Yuan Mark Liao
Tổ chức: Viện Khoa học Thông tin, Viện Hàn lâm Khoa học Trung Quốc, Đài Loan
Ngày: 2022-07-06
Arxiv: https://arxiv.org/abs/2207.02696
GitHub: https://github.com/WongKinYiu/yolov7
Điểm nổi bật về kiến trúc
YOLOv7 sử dụng E-ELAN (Mạng Tổng hợp Lớp Hiệu quả Mở rộng) , kiểm soát các đường dẫn gradient ngắn nhất và dài nhất để cho phép mạng học được nhiều tính năng đa dạng hơn. Nó cũng sử dụng khả năng mở rộng mô hình cho các mô hình dựa trên chuỗi, cho phép duy trì cấu trúc tối ưu trên các kích thước khác nhau. Kiến trúc được tinh chỉnh đặc biệt cho GPU hiệu quả, tránh các hoạt động có chi phí truy cập bộ nhớ cao mặc dù số lượng FLOP thấp.
Các trường hợp sử dụng lý tưởng
Việc lựa chọn giữa các kiến trúc này phụ thuộc rất nhiều vào phần cứng triển khai và các yêu cầu ứng dụng cụ thể.
Khi nào nên chọn EfficientDet
EfficientDet lý tưởng cho các môi trường bị giới hạn bởi CPU hoặc các thiết bị biên, nơi băng thông bộ nhớ và lưu trữ bị hạn chế nghiêm ngặt. Số lượng tham số thấp của nó giúp nó phù hợp với:
- Ứng dụng di động: Android / iOS các ứng dụng có kích thước ứng dụng (kích thước APK) là một hạn chế quan trọng.
- Hệ thống nhúng: Các thiết bị như Raspberry Pi (thế hệ cũ) chạy trên CPU .
- Nghiên cứu học thuật: Nghiên cứu tác động của kỹ thuật hợp nhất tính năng và tỷ lệ hợp chất.
Khi nào nên chọn YOLOv7
YOLOv7 vượt trội trong môi trường GPU hiệu năng cao , nơi độ trễ thấp là điều không thể bàn cãi. Đây là lựa chọn ưu tiên cho:
- Giám sát thời gian thực: Xử lý nhiều luồng video cùng lúc trên máy chủ biên.
- Lái xe tự động: Độ trễ tính bằng mili giây có thể ảnh hưởng đến sự an toàn.
- Robot: Để phát hiện và tương tác vật thể nhanh chóng trong môi trường năng động.
Các giải pháp thay thế hiện đại
Trong khi EfficientDet và YOLOv7 mạnh mẽ, lĩnh vực này đã phát triển. Đối với các dự án mới, YOLO11 thường được khuyến nghị. Nó kết hợp các khái niệm hiệu quả của hệ thống xương sống hiện đại với tốc độ thời gian thực của YOLO gia đình, thường vượt trội hơn cả hai thế hệ trước về độ chính xác và khả năng triển khai dễ dàng.
Tại sao nên chọn các mô hình Ultralytics YOLO?
Trong khi EfficientDet và YOLOv7 vẫn là những đóng góp đáng kể cho tầm nhìn máy tính, Ultralytics hệ sinh thái—có các mô hình như YOLOv8 và YOLO11 tiên tiến—mang lại những lợi thế riêng biệt cho các nhà phát triển và nhà nghiên cứu.
Dễ sử dụng và hệ sinh thái
Các mô hình cũ thường yêu cầu các bước cài đặt phức tạp, cụ thể CUDA các phiên bản hoặc cơ sở mã bị phân mảnh. Ngược lại, Ultralytics tập trung vào trải nghiệm người dùng thống nhất, hợp lý. Với một pip install ultralytics, người dùng có quyền truy cập vào một Python API và CLI lệnh chuẩn hóa đào tạo, xác thực và triển khai. Hệ sinh thái được duy trì tốt đảm bảo cập nhật thường xuyên, hỗ trợ phần cứng rộng rãi và tích hợp với các công cụ như Ultralytics HUB cho MLOps liền mạch.
Cân bằng hiệu suất và hiệu quả bộ nhớ
Ultralytics Các mô hình được thiết kế để đạt được Cân bằng Hiệu suất tối ưu. Chúng mang lại độ chính xác tiên tiến trong khi vẫn duy trì tốc độ suy luận vượt trội, phù hợp với nhiều tình huống khác nhau, từ triển khai biên đến API đám mây. Hơn nữa, Yêu cầu Bộ nhớ để đào tạo Ultralytics YOLO các mô hình thường thấp hơn so với các mô hình dành cho kiến trúc dựa trên máy biến áp hoặc ConvNet cũ hơn, cho phép đào tạo hiệu quả trên GPU cấp tiêu dùng.
Tính linh hoạt và hiệu quả đào tạo
Không giống như nhiều máy dò cụ thể, Ultralytics Các mô hình rất linh hoạt. Một khuôn khổ duy nhất hỗ trợ:
- Phát Hiện Đối Tượng
- Phân đoạn thực thể
- Phân loại hình ảnh
- Ước tính tư thế
- Phát hiện đối tượng theo hướng (OBB)
Tính linh hoạt này, kết hợp với Hiệu quả đào tạo — nhờ trình tải dữ liệu được tối ưu hóa và trọng số được đào tạo sẵn có trên COCO — giúp giảm đáng kể thời gian đưa các giải pháp AI ra thị trường.
Ví dụ: Chạy một chương trình hiện đại YOLO Người mẫu
Dưới đây là một ví dụ về cách dễ dàng để có một hiện đại Ultralytics mô hình có thể được sử dụng để suy luận, một sự tương phản hoàn toàn với mẫu chuẩn thường được yêu cầu đối với các kiến trúc cũ.
from ultralytics import YOLO
# Load the latest YOLO11 model (pre-trained on COCO)
model = YOLO("yolo11n.pt")
# Perform inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Process results
for result in results:
result.save() # Save the annotated image to disk
print(f"Detected {len(result.boxes)} objects.")
Kết luận
EfficientDet và YOLOv7 đại diện cho hai triết lý khác nhau trong lịch sử thị giác máy tính: một là tối ưu hóa hiệu quả lý thuyết (FLOP/Tham số) và một là tối ưu hóa độ trễ phần cứng thực tế. EfficientDet vẫn là một tài liệu tham khảo mạnh mẽ cho các hệ thống bị ràng buộc bởi tham số. CPU các ứng dụng, trong khi YOLOv7 phục vụ tốc độ cao GPU khối lượng công việc tốt.
Tuy nhiên, đối với các nhà phát triển đang tìm kiếm những điều tốt nhất của cả hai thế giới—tốc độ, độ chính xác và trải nghiệm phát triển không gặp trở ngại— Ultralytics Các mô hình như YOLO11 là lựa chọn ưu việt. Chúng đơn giản hóa quy trình đào tạo và triển khai phức tạp, đồng thời mang lại hiệu suất đáp ứng nhu cầu khắt khe của các ứng dụng thị giác máy tính hiện đại.
So sánh các mô hình khác
Khám phá thêm các so sánh kỹ thuật để tìm ra mẫu máy phù hợp nhất với nhu cầu cụ thể của bạn:
- EfficientDet so với YOLOv8
- YOLOv7 so với YOLOv8
- EfficientDet so với YOLOv5
- YOLOv6 so với YOLOv7
- RT-DETR so với YOLOv7
- YOLOX so sánh với EfficientDet