EfficientDet so với YOLOv9 : Sự phát triển của hiệu quả phát hiện đối tượng
Trong thế giới 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 mô hình phù hợp là yếu tố then chốt để cân bằng hiệu suất, tốc độ và tài nguyên tính toán. Hướng dẫn này cung cấp so sánh kỹ thuật toàn diện giữa EfficientDet , một mô hình mang tính đột phá được phát triển bởi Google Nghiên cứu và YOLOv9 , bộ phát hiện tiên tiến được tích hợp vào hệ sinh thái Ultralytics . Chúng tôi sẽ phân tích những cải tiến về kiến trúc, đánh giá hiệu suất và xác định mô hình nào phù hợp nhất cho các ứng dụng phát hiện vật thể thời gian thực hiện đại.
EfficientDet: Tiên phong trong việc mở rộng hiệu quả
EfficientDet, được phát hành vào cuối năm 2019, đã giới thiệu một phương pháp tiếp cận có hệ thống để mở rộng mô hình, ảnh hưởng đến nhiều năm nghiên cứu sau đó. Được phát triển bởi nhóm nghiên cứu tại Google Research , EfficientDet nhằm mục đích tối ưu hóa hiệu quả mà không ảnh hưởng đến độ chính xác.
Chi tiết kỹ thuật:
- Tác giả: Mingxing Tan, Ruoming Pang, Quoc V. Le
- Tổ chức: Google Research
- 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
Kiến trúc và các tính năng chính
EfficientDet được xây dựng trên nền tảng EfficientNet và giới thiệu Mạng Kim tự tháp Đặc trưng Hai chiều (BiFPN) . Không giống như các FPN truyền thống, BiFPN cho phép hợp nhất đặc trưng đa thang đo dễ dàng và nhanh chóng bằng cách đưa vào các trọng số có thể học được để tìm hiểu tầm quan trọng của các đặc trưng đầu vào khác nhau. Mô hình sử dụng phương pháp chia tỷ lệ hợp chất , đồng thời chia tỷ lệ độ phân giải, độ sâu và chiều rộng cho tất cả các mạng xương sống, mạng đặc trưng và mạng dự đoán hộp/lớp.
Điểm mạnh và Điểm yếu
EfficientDet mang tính cách mạng nhờ khả năng đạt độ chính xác cao với ít tham số hơn so với các giải pháp cùng thời như YOLOv3. Điểm mạnh chính của nó nằm ở khả năng mở rộng ; họ mô hình (D0 đến D7) cho phép người dùng lựa chọn phương án cân bằng tài nguyên cụ thể.
Tuy nhiên, theo tiêu chuẩn hiện đại, EfficientDet gặp phải vấn đề về tốc độ suy luận chậm hơn , đặc biệt là trên GPU Phần cứng. Các lớp hợp nhất tính năng phức tạp của nó, mặc dù chính xác, nhưng không thân thiện với phần cứng như các kiến trúc mới hơn. Hơn nữa, việc triển khai ban đầu thiếu các công cụ thân thiện với người dùng thường thấy trong các nền tảng hiện đại, khiến việc đào tạo và triển khai tốn nhiều công sức hơn.
Các Trường hợp Sử dụng
EfficientDet vẫn có liên quan đến:
- Nghiên cứu học thuật: Hiểu các nguyên tắc về tỷ lệ hợp chất và hợp nhất tính năng.
- Hệ thống kế thừa: Duy trì các đường ống hiện có được xây dựng trong TensorFlow hệ sinh thái.
- Môi trường chỉ có CPU : Nơi hiệu quả tham số của nó vẫn có thể cung cấp hiệu suất hợp lý cho các ứng dụng có FPS thấp.
YOLOv9 : Xác định lại hiệu suất thời gian thực
Được giới thiệu vào đầu năm 2024, YOLOv9 đại diện cho một bước tiến nhảy vọt trong YOLO Giải pháp này giải quyết các điểm nghẽn thông tin trong học sâu để đạt hiệu quả vượt trội. Nó được hỗ trợ đầy đủ trong gói python Ultralytics , đảm bảo trải nghiệm liền mạch cho các nhà phát triển.
Chi tiết kỹ thuật:
- Tác giả: Chien-Yao Wang, 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: 2024-02-21
- Arxiv: YOLOv9 : Học những gì bạn muốn học bằng cách sử dụng thông tin Gradient có thể lập trình
- GitHub: WongKinYiu/yolov9
- Tài liệu: Tài liệu Ultralytics YOLOv9
Kiến trúc và các tính năng chính
YOLOv9 giới thiệu hai khái niệm đột phá: Thông tin Gradient có thể lập trình (PGI) và Mạng tổng hợp lớp hiệu quả tổng quát (GELAN) .
- PGI giải quyết tình trạng mất thông tin xảy ra khi dữ liệu đi qua các lớp sâu của mạng nơ-ron, đảm bảo rằng các gradient được sử dụng để cập nhật trọng số mô hình là đáng tin cậy.
- GELAN là một kiến trúc nhẹ, ưu tiên hiệu quả tính toán. Nó cho phép mô hình đạt được độ chính xác cao hơn với ít tham số và chi phí tính toán (FLOP) hơn so với các phương pháp dựa trên tích chập theo chiều sâu.
Điểm mạnh và lợi thế
- Đánh đổi tốc độ và độ chính xác vượt trội: Như kết quả đánh giá chuẩn cho thấy, YOLOv9 vượt trội hơn EfficientDet đáng kể về độ trễ suy luận trong khi vẫn duy trì hoặc vượt quá độ chính xác.
- Hệ sinh thái Ultralytics : Tích hợp với Ultralytics có nghĩa là truy cập vào một cách đơn giản Python API, công cụ CLI và dễ dàng xuất sang các định dạng như ONNX , TensorRT , Và CoreML .
- Hiệu quả đào tạo: YOLOv9 các mô hình thường yêu cầu ít bộ nhớ hơn trong quá trình đào tạo và hội tụ nhanh hơn các kiến trúc cũ, được hưởng lợi từ việc tối ưu hóa Ultralytics đường ống đào tạo.
- Tính linh hoạt: Ngoài khả năng phát hiện tiêu chuẩn, kiến trúc này còn hỗ trợ các tác vụ phức tạp, mở đường cho phân đoạn nâng cao và học đa tác vụ.
Bạn có biết không?
YOLOv9 Kiến trúc GELAN được thiết kế không phụ thuộc vào phần cứng, nghĩa là nó chạy hiệu quả trên nhiều loại thiết bị suy luận, từ TPU biên đến cao cấp NVIDIA GPU, không yêu cầu tối ưu hóa phần cứng cụ thể như một số mẫu dựa trên máy biến áp.
Phân tích hiệu suất
So sánh sau đây làm nổi bật những cải tiến đáng kể về tốc độ suy luận và hiệu quả YOLOv9 mang lại nhiều lợi ích hơn so với dòng EfficientDet.
| 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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
Thông tin chi tiết về điểm chuẩn quan trọng
- Ưu điểm về tốc độ lớn: Mô hình YOLOv9c đạt được 53,0 mAP cạnh tranh với tốc độ suy luận chỉ 7,16 ms trên T4 GPU . Ngược lại, EfficientDet-d6 tương đương (52,6 mAP ) thu thập dữ liệu ở mức 89,29 ms . Điều này làm cho YOLOv9 nhanh hơn 12 lần mà vẫn có độ chính xác tương tự, một yếu tố quan trọng đối với các ứng dụng thời gian thực như xe tự hành hoặc giám sát giao thông.
- Hiệu quả tham số: Ở đầu dưới của quang phổ, YOLOv9t cung cấp 38,3 mạnh mẽ mAP với chỉ 2,0 triệu tham số , vượt qua mức cơ sở EfficientDet-d0 về độ chính xác trong khi chỉ sử dụng gần một nửa số tham số và chạy nhanh hơn đáng kể.
- Độ chính xác cao: Đối với các tác vụ đòi hỏi độ chính xác tối đa, YOLOv9e vượt qua giới hạn với 55,6 mAP , vượt trội hơn so với mẫu EfficientDet-d7 lớn nhất trong khi vẫn duy trì độ trễ (16,77 ms) vẫn phù hợp để xử lý video, không giống như độ trễ 128 ms quá cao của D7.
Tích hợp và Dễ sử dụng
Một trong những khác biệt quan trọng nhất giữa hai mô hình này là hệ sinh thái xung quanh chúng. Trong khi EfficientDet dựa trên các mô hình cũ hơn TensorFlow kho lưu trữ, YOLOv9 là một công dân hạng nhất trong Ultralytics thư viện.
Các Ultralytics Lợi thế
Sử dụng YOLOv9 với Ultralytics cung cấp một hệ sinh thái được bảo trì tốt , giúp đơn giản hóa toàn bộ vòng đời học máy. Từ việc chú thích tập dữ liệu đến triển khai trên các thiết bị biên, quy trình làm việc được hợp lý hóa.
- API đơn giản: Bạn có thể đào tạo, xác thực và triển khai các mô hình chỉ với một vài dòng Python mã số.
- Khả năng tương thích rộng: Xuất mô hình của bạn dễ dàng sang ONNX , TensorRT , OpenVINO , Và CoreML sử dụng chế độ xuất khẩu .
- Hỗ trợ cộng đồng: Tài liệu đầy đủ và cộng đồng năng động đảm bảo giải pháp cho các vấn đề phổ biến luôn sẵn có.
Đây là một ví dụ thực tế về việc chạy suy luận dễ dàng như thế nào YOLOv9 sử dụng Ultralytics Python API:
from ultralytics import YOLO
# Load a pre-trained YOLOv9 compact model
model = YOLO("yolov9c.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Process results
for result in results:
result.show() # Display predictions
result.save() # Save image to disk
Tính linh hoạt trong ứng dụng
Mặc dù EfficientDet thực chất là một máy dò đối tượng, nhưng các nguyên tắc kiến trúc đằng sau YOLOv9 và Ultralytics Khung hỗ trợ phạm vi tác vụ thị giác rộng hơn. Người dùng có thể dễ dàng chuyển đổi giữa phát hiện đối tượng , phân đoạn thể hiện và ước tính tư thế trong cùng một cơ sở mã, giảm thiểu gánh nặng kỹ thuật cho các dự án phức tạp.
Kết luận
Khi so sánh EfficientDet với YOLOv9 , sự lựa chọn cho phát triển thị giác máy tính hiện đại là rõ ràng. Mặc dù EfficientDet đóng vai trò lịch sử trong việc xác định hiệu quả mở rộng mô hình, YOLOv9 lại vượt trội hơn nó ở hầu hết mọi chỉ số liên quan đến các nhà phát triển ngày nay.
YOLOv9 mang lại độ chính xác vượt trội trên mỗi tham số , tốc độ suy luận nhanh hơn gấp bội và hệ sinh thái mạnh mẽ, thân thiện với nhà phát triển. Cho dù bạn đang triển khai trên các thiết bị biên giới hạn hẹp hay xử lý luồng video thông lượng cao trên đám mây, YOLOv9 cung cấp sự cân bằng hiệu suất cần thiết cho sự thành công.
Đối với những người bắt đầu các dự án mới, chúng tôi thực sự khuyên bạn nên tận dụng YOLOv9 hoặc YOLO11 mới nhất để đảm bảo ứng dụng của bạn được hưởng lợi từ những tiến bộ mới nhất về hiệu quả học sâu.
Khám phá các Mô hình Khác
Nếu bạn quan tâm đến việc khám phá thêm nhiều lựa chọn trong Ultralytics gia đình, hãy xem xét những mô hình này:
- YOLO11 : Sự phát triển mới nhất trong YOLO Dòng sản phẩm này cung cấp hiệu suất tiên tiến trong các nhiệm vụ phát hiện, phân đoạn và phân loại.
- YOLOv10 : Một bộ phát hiện đầu cuối thời gian thực giúp loại bỏ nhu cầu về việc loại bỏ không triệt tiêu tối đa ( NMS ).
- RT-DETR : Một máy dò dựa trên máy biến áp có độ chính xác cao, cung cấp giải pháp thay thế hiện đại cho kiến trúc dựa trên CNN.