YOLOv7 so với EfficientDet: Tìm hiểu sâu về các kiến trúc detect đối tượng thời gian thực
Sự phát triển của công nghệ nhận diện đối tượng luôn được đánh dấu bằng cuộc đấu tranh không ngừng giữa độ chính xác và hiệu quả. Hai ứng cử viên nặng ký trong lĩnh vực này là YOLOv7 , một cột mốc trong dòng sản phẩm "You Only Look Once" được phát hành năm 2022, và EfficientDet . Google Kiến trúc có khả năng mở rộng của từ cuối năm 2019. Mặc dù cả hai mô hình đều đã ảnh hưởng đáng kể đến lĩnh vực thị giác máy tính, nhưng chúng tiếp cận vấn đề phát hiện đối tượng từ những triết lý kiến trúc khác nhau về cơ bản.
Hướng dẫn này cung cấp một so sánh kỹ thuật toàn diện để giúp các nhà phát triển, nhà nghiên cứu và kỹ sư lựa chọn công cụ phù hợp cho các dự án thị giác máy tính cụ thể của họ. Chúng ta sẽ khám phá kiến trúc độc đáo, các chỉ số hiệu suất chuẩn, phương pháp huấn luyện và các kịch bản triển khai lý tưởng của từng công cụ.
Tổng quan và Nguồn gốc Mô hình
Trước khi đi sâu vào các số liệu, điều cần thiết là phải hiểu rõ nguồn gốc của các mô hình này.
YOLOv7: Nguồn sức mạnh từ các cải tiến miễn phí
Được phát hành vào tháng 7 năm 2022, YOLOv7 Nó đã vượt qua những giới hạn của các thiết bị dò thời gian thực. Nó giới thiệu những cải tiến về kiến trúc được thiết kế để tối ưu hóa quá trình huấn luyện mà không làm tăng chi phí suy luận, một khái niệm mà các tác giả gọi là "túi quà tặng miễn phí có thể huấn luyện".
- 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
- Liên kết:Bài báo ArXiv | Kho lưu trữ GitHub
EfficientDet: Khả năng Mở rộng và Hiệu quả
Được phát triển bởi Google Nhóm nghiên cứu của Brain, EfficientDet, tập trung vào một phương pháp tiếp cận có hệ thống để mở rộng quy mô. Họ kết hợp mạng lưới kim tự tháp đặc trưng hai chiều có trọng số (BiFPN) mới với một phương pháp mở rộng quy mô phức hợp giúp mở rộng đồng đều độ phân giải, độ sâu và chiều rộng.
- Tác giả: Mingxing Tan, Ruoming Pang, và Quoc V. Le
- Tổ chức:Google Research
- Ngày: 2019-11-20
- Liên kết:Bài báo ArXiv | Kho lưu trữ GitHub
Sự khác biệt về kiến trúc
Sự khác biệt cốt lõi giữa hai mô hình này nằm ở cách chúng xử lý việc tổng hợp đặc trưng và mở rộng quy mô mô hình.
Kiến trúc YOLOv7
YOLOv7 đã giới thiệu Mạng tổng hợp lớp hiệu quả mở rộng (E-ELAN) . Kiến trúc này cho phép mô hình học được nhiều đặc điểm đa dạng hơn bằng cách kiểm soát các đường dẫn gradient ngắn nhất và dài nhất, nâng cao khả năng học tập của mạng mà không phá hủy đường dẫn gradient ban đầu.
Các tính năng kiến trúc chính bao gồm:
- Mở rộng mô hình: Không giống như mở rộng phức hợp của EfficientDet, YOLOv7 Điều chỉnh đồng thời các thuộc tính kiến trúc (chiều sâu và chiều rộng) trong các mô hình dựa trên sự kết nối.
- Mô hình Auxiliary Head Coarse-to-Fine: Mô hình này sử dụng phương pháp giám sát sâu, trong đó một bộ xử lý phụ tạo ra các nhãn thô để huấn luyện, trong khi bộ xử lý chính đảm nhiệm việc tinh chỉnh.
- Tái tham số hóa: YOLOv7 Nó sử dụng các lớp RepConv giúp đơn giản hóa các cấu trúc phức tạp trong quá trình huấn luyện thành các phép tích chập tiêu chuẩn để suy luận nhanh hơn, một kỹ thuật rất quan trọng đối với suy luận thời gian thực .
Kiến trúc EfficientDet
EfficientDet được xây dựng trên nền tảng EfficientNet và giới thiệu BiFPN .
Các tính năng kiến trúc chính bao gồm:
- BiFPN: Một mạng lưới kim tự tháp đặc trưng hai chiều có trọng số cho phép kết hợp đặc trưng đa tỷ lệ dễ dàng và nhanh chóng. Nó học được tầm quan trọng của các đặc trưng đầu vào khác nhau và liên tục áp dụng phương pháp kết hợp đặc trưng đa tỷ lệ từ trên xuống và từ dưới lên.
- Mở rộng phức hợp: Một hệ số đơn giản nhưng hiệu quả giúp mở rộng đồng thời chiều rộng, chiều sâu và độ phân giải của mạng, cho phép tạo ra một loạt các mô hình (D0 đến D7) nhắm đến các ràng buộc tài nguyên khác nhau.
So sánh hiệu suất
Khi so sánh hiệu năng, chúng ta xem xét Độ chính xác trung bình (Mean Average Precision) mAP ) trên COCO so sánh tập dữ liệu với tốc độ suy luận.
| 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 |
| 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 |
Phân tích chuyên sâu
- Độ trễ: YOLOv7 nhanh hơn đáng kể trên GPU phần cứng. Ví dụ, YOLOv7x đạt được 53,1%. mAP với một TensorRT tốc độ ~11,5ms, trong khi EfficientDet-d7 cần ~128ms để đạt được tốc độ cao hơn một chút là 53,7%. mAP Điều này làm cho... YOLOv7 Nhanh hơn hơn 10 lần trong các tình huống đòi hỏi độ chính xác cao.
- Hiệu quả: EfficientDet-d0 đến d2 cực kỳ nhẹ về số phép tính FLOP, khiến chúng phù hợp với các CPU tiêu thụ điện năng rất thấp. GPU Tính năng tăng tốc không khả dụng. Tuy nhiên, khi bạn nâng cấp lên D4 trở lên, hiệu quả đạt được sẽ giảm dần so với trước đây. YOLO kiến trúc.
- Độ chính xác: Mặc dù EfficientDet-d7 có thể đạt được độ chính xác ấn tượng, nhưng chi phí tính toán lại quá cao đối với các ứng dụng thời gian thực. YOLOv7 Cung cấp một "điểm tối ưu" tốt hơn, duy trì độ chính xác cao mà không làm giảm khả năng hoạt động theo thời gian thực.
Đào tạo và Hệ sinh thái
Hệ sinh thái xung quanh một mô hình quyết định tính khả thi của nó đối với các nhà phát triển. Đây là nơi mà... Ultralytics Việc tích hợp mang lại giá trị đáng kể.
Hệ sinh thái EfficientDet
EfficientDet chủ yếu bắt nguồn từ... TensorFlow Hệ sinh thái. Mặc dù mạnh mẽ, việc tích hợp nó vào các quy trình hiện đại thường liên quan đến việc xử lý các phụ thuộc phức tạp.
- Độ phức tạp: Việc tối ưu hóa BiFPN và các hàm kích hoạt swish có thể khó khăn hơn trên một số bộ tăng tốc biên so với các phép tích chập tiêu chuẩn.
- Bảo trì: Nhiều kho lưu trữ được cập nhật ít thường xuyên hơn so với chu kỳ phát hành nhanh chóng của... YOLO cộng đồng.
Lợi thế Hệ sinh thái Ultralytics
Một trong những ưu điểm nổi bật của việc sử dụng Ultralytics các mô hình như YOLOv7 (và các phiên bản mới hơn) là Hệ sinh thái được duy trì tốt .
- Dễ sử dụng: Ultralytics cung cấp một giải pháp thống nhất. Python API giúp đơn giản hóa quá trình đào tạo, xác thực và triển khai.
- Hiệu quả đào tạo: YOLO các mô hình sử dụng tiêu chuẩn GPU Tối ưu hóa phần cứng một cách hiệu quả, giảm thời gian và chi phí liên quan đến việc đào tạo trên các tập dữ liệu tùy chỉnh.
- Yêu cầu về bộ nhớ: So với các máy dò hai tầng cũ hơn hoặc các mô hình dựa trên biến áp nặng nề, YOLOv7 thường yêu cầu ít hơn CUDA bộ nhớ trong quá trình huấn luyện, cho phép kích thước lô lớn hơn trên phần cứng dành cho người tiêu dùng.
Đào tạo được tối ưu hóa với Ultralytics
Huấn luyện một mô hình YOLO rất đơn giản với API Python. Đây là cách bạn có thể bắt đầu một lần huấn luyện:
from ultralytics import YOLO
# Load a model
model = YOLO("yolov7.pt") # load a pretrained model
# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
Đề xuất Trường hợp Sử dụng
Khi nào nên chọn YOLOv7
YOLOv7 là lựa chọn ưu tiên cho các ứng dụng thời gian thực nơi độ trễ là yếu tố then chốt.
- Lái xe tự hành: detect người đi bộ, phương tiện và biển báo ở tốc độ khung hình cao, đảm bảo đưa ra quyết định an toàn.
- Robot học: Lý tưởng để tích hợp thị giác máy tính vào robot học, cho phép robot điều hướng và tương tác với các môi trường động.
- Phân tích video: Xử lý đồng thời nhiều luồng video để phân tích an ninh hoặc bán lẻ mà không cần đến các cụm máy tính khổng lồ.
Khi nào nên chọn EfficientDet
EfficientDet vẫn phù hợp cho các kịch bản công suất thấp cụ thể hoặc nơi kích thước mô hình (tính bằng MB) là ràng buộc chính thay vì độ trễ.
- Ứng dụng di động: Các phiên bản nhỏ hơn như D0-D1 phù hợp với các thiết bị di động có dung lượng lưu trữ hạn chế.
- Hệ thống kế thừa: Trong các môi trường đã được tối ưu hóa mạnh mẽ cho hệ sinh thái TensorFlow/AutoML, EfficientDet có thể mang lại khả năng tích hợp dễ dàng hơn.
- Nghiên cứu học thuật: Hữu ích cho việc nghiên cứu tác động của các kỹ thuật chia tỷ lệ phức hợp hoặc kết hợp đặc trưng khi suy luận thời gian thực không phải là mục tiêu chính.
Tương lai: Nâng cấp lên YOLO26
Trong khi YOLOv7 Mặc dù vẫn là một công cụ hữu ích, lĩnh vực thị giác máy tính đang phát triển nhanh chóng. Đối với các nhà phát triển đang tìm kiếm hiệu năng tốt nhất tuyệt đối, mẫu YOLO26 , được phát hành vào tháng 1 năm 2026, đại diện cho công nghệ tiên tiến nhất hiện nay.
YOLO26 được xây dựng dựa trên nền tảng của các phiên bản YOLO trước đó với thiết kế không cần NMS từ đầu đến cuối . Điều này loại bỏ nhu cầu về cơ chế triệt tiêu cực đại cục bộ (Non-Maximum Suppression). NMS ) xử lý hậu kỳ, đơn giản hóa quy trình triển khai và tăng tốc độ suy luận.
Ưu điểm chính của YOLO26 so với cả hai YOLOv7 và EfficientDet bao gồm:
- MuSGD Optimizer: Một sự kết hợp của... SGD và Muon, mang đến những cải tiến trong huấn luyện LLM cho thị giác máy tính để huấn luyện ổn định hơn và hội tụ nhanh hơn.
- Tối ưu hóa cho thiết bị biên: Với việc loại bỏ hiện tượng suy hao tiêu điểm phân tán (DFL), YOLO26 nhanh hơn tới 43% trên CPU , khiến nó thậm chí còn phù hợp hơn cho các thiết bị biên so với EfficientDet.
- Tính linh hoạt được nâng cao: Ngoài khả năng phát hiện, YOLO26 còn cung cấp hiệu năng hàng đầu trong ước lượng tư thế , phân đoạn đối tượng và hộp giới hạn định hướng (OBB) , tất cả trong một khung phần mềm duy nhất.
- ProgLoss + STAL: Các hàm mất mát được cải tiến mang lại những cải thiện đáng kể trong việc nhận dạng vật thể nhỏ, điều rất quan trọng đối với IoT và ảnh chụp từ trên không.
Kết luận
Cả hai YOLOv7 EfficientDet và EfficientDet đã khẳng định vị trí của mình trong lịch sử thị giác máy tính. EfficientDet đã giới thiệu các nguyên tắc mở rộng tỷ lệ thanh lịch, trong khi đó YOLOv7 đã hoàn thiện phương pháp "túi quà tặng miễn phí" để đạt tốc độ xử lý thời gian thực. Tuy nhiên, đối với các quy trình sản xuất hiện đại đòi hỏi sự cân bằng hiệu suất , tính dễ sử dụng và tính linh hoạt, thì... Ultralytics hệ sinh thái—được thể hiện rõ nét bởi YOLOv7 và mẫu YOLO26 mới hơn—mang lại một lợi thế rõ rệt.
Với yêu cầu bộ nhớ thấp hơn trong quá trình huấn luyện và khả năng xuất liền mạch sang các định dạng như ONNX và TensorRT , Ultralytics Các mô hình này đảm bảo quá trình từ tập dữ liệu đến triển khai diễn ra suôn sẻ nhất có thể.
Đọc thêm
- Các mô hình: Khám phá các kiến trúc khác như YOLOv8 , YOLO11 và RT-DETR .
- Nền tảng: Sử dụng Nền tảng Ultralytics để quản lý tập dữ liệu, huấn luyện mô hình và triển khai một cách dễ dàng.
- Hướng dẫn: Tìm hiểu về tinh chỉnh siêu tham số để tối ưu hóa hiệu suất mô hình của bạn.