So sánh EfficientDet với YOLOv7 Sự tiến hóa của phát hiện đối tượng thời gian thực
Lĩnh vực thị giác máy tính đã được định hình bởi nỗ lực không ngừng nhằm cân bằng giữa độ chính xác và hiệu quả tính toán. Hai triết lý khác biệt trong quá trình tiến hóa này được thể hiện bởi EfficientDet , một họ mô hình tập trung vào hiệu quả có thể mở rộng, và YOLOv7 , ưu tiên tốc độ suy luận thời gian thực thông qua tối ưu hóa kiến trúc.
Bài so sánh này sẽ khám phá các thông số kỹ thuật, sự khác biệt về kiến trúc và các chỉ số hiệu năng của hai mô hình có tầm ảnh hưởng này, đồng thời nêu bật lý do tại sao các giải pháp hiện đại như YOLO26 đã trở thành tiêu chuẩn mới cho các nhà phát triển.
EfficientDet: Hiệu quả có khả năng mở rộng
Ra mắt vào cuối năm 2019, EfficientDet được thiết kế để giải quyết những điểm thiếu hiệu quả trong các thiết bị dò trước đây, nơi việc hiệu chỉnh thường được thực hiện thủ công hoặc không đồng đều. Nó giới thiệu một phương pháp có hệ thống để hiệu chỉnh độ phân giải, độ sâu và chiều rộng cùng một lúc.
Tổng quan kỹ thuật
- 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
Kiến trúc và các tính năng chính
EfficientDet sử dụng kiến trúc xương sống EfficientNet kết hợp với Mạng Kim tự tháp Đặc trưng Hai chiều có trọng số ( BiFPN ). BiFPN cho phép kết hợp đặc trưng đa tỷ lệ dễ dàng và nhanh chóng, khắc phục sự mất cân bằng khi các đặc trưng đầu vào khác nhau đóng góp không đồng đều vào đầu ra.
Mô hình này sử dụng phương pháp Compound Scaling , sử dụng một hệ số đơn giản để mở rộng mạng xương sống, BiFPN, mạng lớp/hộp và độ phân giải. Mặc dù phương pháp này mang lại độ chính xác cao với số lượng tham số nhất định (FLOPs), nhưng các kết nối phức tạp trong các lớp BiFPN có thể dẫn đến độ trễ suy luận cao hơn trên phần cứng không được tối ưu hóa đặc biệt cho các kiểu truy cập bộ nhớ không đều như vậy.
YOLOv7: Cỗ máy mạnh mẽ "Bag-of-Freebies"
Ra mắt vào tháng 7 năm 2022, YOLOv7 đánh dấu một bước tiến đáng kể trong YOLO (Bạn Chỉ Nhìn Một Lần) thuộc họ. Không giống như EfficientDet tập trung vào hiệu quả tham số, YOLOv7 Tập trung vào tốc độ suy luận, đẩy mạnh giới hạn của những gì có thể đạt được trong việc phát hiện đối tượng theo thời gian thực trên các hệ thống tiêu chuẩn. GPU phần cứng.
Tổng quan kỹ thuật
- 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
Kiến trúc và các tính năng chính
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 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 đặc điểm đa dạng hơn mà không phá hủy đường dẫn gradient ban đầu.
Một khái niệm cốt lõi của YOLOv7 Đó là "túi quà tặng miễn phí có thể huấn luyện" - các phương pháp tối ưu hóa giúp cải thiện độ chính xác trong quá trình huấn luyện mà không làm tăng chi phí suy luận. Điều này bao gồm các kỹ thuật như tái tham số hóa mô hình, trong đó cấu trúc huấn luyện phức tạp được đơn giản hóa thành một tập hợp các phép tích chập được tinh gọn để triển khai. Điều này đảm bảo rằng trong khi quá trình huấn luyện mạnh mẽ, mô hình được triển khai cuối cùng lại cực kỳ nhanh.
So sánh hiệu suất
Bảng sau đây so sánh hiệu năng của các thuật toán EfficientDet và... YOLOv7 các mô hình. Mặc dù các mô hình EfficientDet (d0-d7) thể hiện hiệu quả tham số tốt, nhưng độ trễ của chúng trên phần cứng tiêu chuẩn cao hơn đáng kể so với YOLOv7 các biến thể được tối ưu hóa cho việc xử lý GPU tốc độ cao.
| 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) |
|---|---|---|---|---|---|---|
| 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 |
Phân tích các chỉ số
Dữ liệu nêu bật một sự khác biệt quan trọng: độ trễ so với FLOPs . Mặc dù EfficientDet-d7 đạt được mAP cao 53,7% , nhưng nó lại đạt được điều đó với độ trễ hơn 128ms trên T4. GPU Ngược lại, YOLOv7x đạt được mAP tương đương 53,1% nhưng chỉ chạy ở tốc độ 11,57ms — nhanh hơn hơn 10 lần . Đối với các ứng dụng thực tế như xe tự hành hoặc phân tích video, lợi thế về tốc độ này thường là yếu tố quyết định.
Độ trễ rất quan trọng
Mặc dù FLOPs (Số phép toán dấu phẩy động) là một thước đo lý thuyết tốt cho độ phức tạp, nhưng nó không phải lúc nào cũng tương quan tuyến tính với tốc độ suy luận. Các kiến trúc như BiFPN có thể có chi phí truy cập bộ nhớ cao, làm chậm thời gian chạy thực tế, trong khi đó YOLO Cấu trúc CNN đơn giản của nó được tối ưu hóa cao cho GPU Sự song song.
Lợi thế của Ultralytics: Hệ sinh thái và khả năng sử dụng
Việc lựa chọn mô hình thường phụ thuộc nhiều vào hệ sinh thái phần mềm cũng như các chỉ số thô. Đây là lý do tại sao việc chuyển sang... Ultralytics Các mô hình này mang lại những lợi ích đáng kể so với các kho lưu trữ cũ hơn.
Trải nghiệm người dùng được tối ưu hóa
EfficientDet dựa trên các công nghệ cũ hơn. TensorFlow Các API này có thể gây khó khăn trong việc tích hợp vào quy trình làm việc PyTorch hiện đại. Ngược lại, Ultralytics Cung cấp một API Python thống nhất , coi việc huấn luyện, xác thực và triển khai mô hình như những tác vụ đơn giản và được tiêu chuẩn hóa.
Hiệu quả huấn luyện và Bộ nhớ
Một lợi thế lớn của Ultralytics YOLO Điểm khác biệt giữa các mô hình này là yêu cầu bộ nhớ của chúng. Nhờ các trình tải dữ liệu được tối ưu hóa và thiết kế kiến trúc hiệu quả, YOLO các mô hình thường tiêu thụ ít hơn CUDA Bộ nhớ trong quá trình huấn luyện được tối ưu hơn so với các mạng đa nhánh phức tạp. Điều này cho phép các nhà phát triển sử dụng kích thước lô lớn hơn, giúp ổn định quá trình huấn luyện và tăng tốc độ hội tụ.
from ultralytics import YOLO
# Load a model (YOLOv7 or newer)
model = YOLO("yolov7.pt")
# Train the model with a single command
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
Tính linh hoạt vượt trội không thể phát hiện
Mặc dù EfficientDet chủ yếu là một công cụ phát hiện đối tượng, nhưng... Ultralytics Hệ sinh thái này hỗ trợ nhiều tác vụ hơn, bao gồm Phân đoạn đối tượng , Ước lượng tư thế và Hộp giới hạn định hướng (OBB) . Tính linh hoạt này cho phép các nhóm sử dụng một khung công tác duy nhất cho nhiều thách thức thị giác máy tính khác nhau.
Tiêu chuẩn mới: YOLO26
Trong khi YOLOv7 Năm 2022 đánh dấu đỉnh cao của công nghệ, lĩnh vực này phát triển rất nhanh. Đối với các dự án mới, chúng tôi khuyên dùng YOLO26 , được phát hành vào tháng 1 năm 2026. Nó kế thừa những ưu điểm của các thế hệ trước đồng thời giới thiệu những thay đổi kiến trúc cơ bản.
- NMS từ đầu đến cuối - Thiết kế miễn phí: Không giống như YOLOv7 và EfficientDet, yêu cầu Non-Maximum Suppression ( NMS Với khả năng xử lý hậu kỳ, YOLO26 hoạt động hoàn toàn từ đầu đến cuối. Điều này loại bỏ các điểm nghẽn về độ trễ và đơn giản hóa logic triển khai, một bước đột phá được tiên phong trong YOLOv10 .
- Bộ tối ưu hóa MuSGD: Lấy cảm hứng từ Kimi K2 của Moonshot AI, bộ tối ưu hóa này kết hợp sự ổn định của... SGD Với tốc độ của Muon, mang đến những cải tiến trong huấn luyện LLM cho các nhiệm vụ thị giác.
- Hiệu năng vượt trội trên thiết bị biên: Nhờ loại bỏ hiện tượng suy hao tiêu điểm phân tán (DFL) và các tối ưu hóa cụ thể, YOLO26 nhanh hơn tới 43% trên CPU , vượt trội hơn hẳn so với EfficientDet đối với các thiết bị biên như Raspberry Pi hoặc điện thoại di động.
- ProgLoss + STAL: Các hàm mất mát mới cải thiện đáng kể khả năng nhận dạng vật thể nhỏ, khắc phục điểm yếu thường gặp trong các bộ dò một giai đoạn trước đây.
Các ứng dụng thực tế
Khi nào nên chọn EfficientDet
EfficientDet vẫn giữ vai trò quan trọng đối với các hệ thống cũ được tích hợp sâu với... Google / TensorFlow hệ sinh thái hoặc nghiên cứu học thuật cụ thể về mở rộng quy mô phức hợp. Các biến thể nhỏ hơn của nó (d0-d2) cũng hữu ích khi dung lượng lưu trữ trên đĩa (kích thước trọng lượng mô hình tính bằng MB) là yếu tố hạn chế chính, thay vì tốc độ thực thi.
Khi nào nên chọn YOLOv7
YOLOv7 Đây là lựa chọn tuyệt vời cho các quy trình sản xuất hiện có yêu cầu:
- Phân tích video: Xử lý các luồng video có tốc độ khung hình cao để thu thập thông tin về an ninh hoặc bán lẻ.
- Robot học: Tích hợp thị giác máy tính vào robot học, nơi độ trễ thấp là yếu tố then chốt cho việc điều hướng.
- Phát hiện tổng quát: Các kịch bản cần một kiến trúc hoàn thiện và được hỗ trợ rộng rãi.
Khi nào nên nâng cấp lên YOLO26?
YOLO26 là sự lựa chọn lý tưởng cho hầu hết các triển khai mới, cung cấp:
- Điện toán biên: Ưu việt CPU Tốc độ dành cho các ứng dụng IoT và di động.
- Các tác vụ phức tạp: Hỗ trợ gốc cho phân đoạn, tư thế và OBB.
- Các thao tác đơn giản hóa: NMS - Thiết kế không cần cấu hình phức tạp giúp loại bỏ một vấn đề nan giải lớn trong khâu xử lý hậu kỳ và xuất dữ liệu, đảm bảo những gì bạn thấy trong quá trình đào tạo chính xác là những gì bạn nhận được khi triển khai thực tế.
Đối với các nhà nghiên cứu và phát triển muốn luôn dẫn đầu xu hướng, việc chuyển sang Nền tảng Ultralytics với YOLO26 đảm bảo quyền truy cập vào những tiến bộ mới nhất về tính ổn định của quá trình huấn luyện, hiệu quả mô hình và tính linh hoạt trong triển khai.