YOLOv9 So sánh kỹ thuật giữa EfficientDet và EfficientDet về kiến trúc và hiệu năng.
Trong bối cảnh phát triển không ngừng của thị giác máy tính , việc lựa chọn kiến trúc phát hiện đối tượng phù hợp là một quyết định quan trọng, ảnh hưởng đến độ trễ hệ thống, độ chính xác và độ phức tạp triển khai. Hướng dẫn này cung cấp so sánh kỹ thuật chi tiết giữa YOLOv9 , một mô hình tiên tiến được giới thiệu vào đầu năm 2024, và EfficientDet , một kiến trúc có tầm ảnh hưởng lớn từ... Google Được biết đến với khả năng mở rộng hiệu quả. Chúng tôi phân tích sự khác biệt về cấu trúc, các chỉ số hiệu suất và tính phù hợp của chúng cho các ứng dụng thực tế.
Phân tích các chỉ số hiệu suất
Bảng dưới đây so sánh hiệu năng của các mô hình với quy mô khác nhau. Nhìn chung, YOLOv9 thể hiện tỷ lệ độ chính xác trên tham số vượt trội và tốc độ suy luận nhanh hơn trên phần cứng hiện đại so với kiến trúc EfficientDet cũ hơ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) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Tổng quan về mô hình
YOLOv9
Tác giả: Chien-Yao Wang, Hong-Yuan Mark Liao
Đơn vị tổ chức: Viện Khoa học Thông tin, Viện Hàn lâm Khoa học Đài Loan
Ngày: 21/02/2024
Liên kết: Arxiv | GitHub | Tài liệu
YOLOv9 Bài báo này giới thiệu những cải tiến kiến trúc quan trọng để giải quyết vấn đề "nút thắt cổ chai thông tin" trong mạng nơ-ron sâu. Đóng góp cốt lõi là Thông tin Gradient Lập trình được (PGI) , tạo ra các gradient đáng tin cậy thông qua một nhánh giám sát phụ trợ để đảm bảo các lớp sâu giữ lại thông tin đặc trưng quan trọng. Ngoài ra, nó sử dụng Mạng Tổng hợp Lớp Hiệu quả Tổng quát (GELAN) , một kiến trúc nhẹ giúp tối đa hóa hiệu quả tham số.
EfficientDet
Tác giả: Mingxing Tan, Ruoming Pang, Quốc V. Lê
Tổ chức: Google Research
Ngày: 20/11/2019
Liên kết: Arxiv | GitHub
EfficientDet là một công trình tiên phong trong lĩnh vực AutoML , giới thiệu Mạng Kim tự tháp Đặc trưng Hai chiều (BiFPN) . Khác với các FPN truyền thống, BiFPN cho phép dễ dàng kết hợp các đặc trưng ở nhiều quy mô khác nhau bằng cách đưa vào các trọng số có thể học được. Mô hình này cũng sử dụng Phương pháp Tỷ lệ Hợp chất ( Compound Scaling ), một phương pháp tỷ lệ hóa đồng đều độ phân giải, độ sâu và chiều rộng, cho phép nó đạt được hiệu suất tuyệt vời trên nhiều ràng buộc tài nguyên khác nhau (từ D0 đến D7).
Tìm hiểu sâu về kiến trúc
Kết hợp các tính năng: GELAN so với BiFPN
Điểm khác biệt chính nằm ở cách các mô hình này tổng hợp các đặc trưng. EfficientDet dựa trên cấu trúc BiFPN phức tạp, về mặt lý thuyết thì hiệu quả về số phép tính FLOPs, nhưng lại tốn nhiều bộ nhớ và khó tối ưu hóa hơn cho các bộ tăng tốc phần cứng cụ thể như TensorRT .
Ngược lại, YOLOv9 Kiến trúc GELAN của nó kết hợp những ưu điểm tốt nhất của CSPNet và ELAN. Nó ưu tiên lập kế hoạch đường dẫn gradient hơn các kết nối hợp nhất phức tạp. Điều này dẫn đến một mạng lưới không chỉ nhẹ hơn về tham số mà còn "thân thiện với phần cứng" hơn, dẫn đến việc sử dụng GPU cao hơn trong quá trình huấn luyện và suy luận.
Luồng gradient và sự mất mát thông tin
EfficientDet dựa trên thuật toán lan truyền ngược tiêu chuẩn thông qua một kiến trúc mạng EfficientNet rất sâu. YOLOv9 Giải quyết vấn đề mạng nơ-ron sâu "quên" các chi tiết dữ liệu đầu vào. Thông qua PGI , YOLOv9 Cung cấp một nhánh phụ có thể đảo ngược giúp hướng dẫn quá trình học tập, đảm bảo nhánh chính nắm bắt được các đặc điểm ngữ nghĩa mạnh mẽ mà không cần tốn chi phí tính toán để duy trì các nhánh phụ đó trong quá trình suy luận.
Lưu ý: Quyền lợi PGI
Thông tin độ dốc có thể lập trình (PGI) cho phép YOLOv9 Để đạt được sự hội tụ tốt hơn với lượng dữ liệu ít hơn, phương pháp này đặc biệt hiệu quả đối với các tập dữ liệu tùy chỉnh, nơi các ví dụ được chú thích có thể khan hiếm.
Hệ sinh thái và Dễ sử dụng
Một trong những điểm khác biệt sâu sắc nhất đối với các nhà phát triển là hệ sinh thái xung quanh các mô hình này.
EfficientDet chủ yếu bắt nguồn từ... TensorFlow Hệ sinh thái. Mặc dù mạnh mẽ, việc sử dụng nó thường đòi hỏi phải điều hướng qua các chuỗi phụ thuộc phức tạp hoặc các kho lưu trữ cũ có thể thiếu các bản cập nhật thường xuyên.
YOLOv9 , được tích hợp vào hệ sinh thái Ultralytics , mang đến trải nghiệm được tối ưu hóa. Các nhà phát triển có thể truy cập mô hình thông qua một giao diện đơn giản. Python API cho phép đào tạo, xác thực và triển khai chỉ trong vài phút. Ultralytics Khung phần mềm này tự động xử lý việc tăng cường dữ liệu, ghi nhật ký (ví dụ: vào MLflow hoặc Comet ) và xuất dữ liệu.
from ultralytics import YOLO
# Load a pretrained YOLOv9c model
model = YOLO("yolov9c.pt")
# Train the model on a custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Export to ONNX for deployment
model.export(format="onnx")
Đoạn mã này minh họa tính dễ sử dụng vốn có của Ultralytics các mô hình. Khung phần mềm cũng hỗ trợ Độ chính xác hỗn hợp tự động (AMP) và đa mô hình. GPU Đào tạo theo cách sáng tạo, đảm bảo hiệu quả đào tạo .
Tính linh hoạt và khả năng triển khai
Hỗ trợ tác vụ
EfficientDet về cơ bản được thiết kế cho việc phát hiện đối tượng . Việc điều chỉnh nó cho các tác vụ như phân đoạn hình ảnh hoặc ước lượng tư thế đòi hỏi những sửa đổi kiến trúc đáng kể và mã lập trình tùy chỉnh.
Ultralytics các mô hình, bao gồm YOLOv9 và các phiên bản kế nhiệm của nó được xây dựng trên một nền tảng mã nguồn linh hoạt, hỗ trợ sẵn các chức năng sau:
- Phát Hiện Đối Tượng
- Phân đoạn thực thể
- Ước tính tư thế
- Hộp giới hạn có hướng (OBB)
- Phân loại (Classification)
Khả năng tương thích cạnh và bộ nhớ
Mặc dù EfficientDet-D0 có kích thước nhỏ, việc mở rộng lên D7 sẽ gây ra chi phí bộ nhớ khổng lồ do việc mở rộng độ phân giải (lên đến 1536x1536). YOLOv9 Duy trì độ phân giải đầu vào tiêu chuẩn 640x640 cho hầu hết các bài kiểm tra hiệu năng trong khi vẫn đạt được độ chính xác vượt trội. Độ phân giải đầu vào thấp hơn này giúp giảm đáng kể yêu cầu bộ nhớ VRAM, cho phép kích thước lô lớn hơn và thực hiện các thử nghiệm nhanh hơn trên GPU dành cho người tiêu dùng.
Hơn nữa, Ultralytics Các mô hình hỗ trợ xuất chỉ với một cú nhấp chuột sang các định dạng như TFLite cho thiết bị di động, OpenVINO cho... Intel CPU và CoreML Dành cho các thiết bị của Apple, đảm bảo khả năng tương thích Edge rộng rãi.
Các trường hợp sử dụng thực tế
Việc lựa chọn mô hình thường quyết định sự thành công của một ứng dụng cụ thể:
- Phân tích bán lẻ: Để đếm số lượng sản phẩm trên kệ, YOLOv9 vượt trội hơn nhờ độ chính xác cao ( mAP Trên các vật thể nhỏ, nhờ khả năng giữ lại các chi tiết nhỏ tinh tế của PGI.
- Máy bay không người lái tự hành: Trong các trường hợp yêu cầu suy luận thời gian thực trên phần cứng nhúng (ví dụ: Jetson Orin), YOLOv9 Kiến trúc GELAN hiệu quả của nó cung cấp tốc độ khung hình cần thiết mà các lớp BiFPN phức tạp của EfficientDet thường khó đáp ứng được.
- Hệ thống kế thừa: EfficientDet vẫn giữ vai trò quan trọng trong các nghiên cứu so sánh hoặc hệ thống kế thừa. Google San hô TPU các triển khai trong đó kiến trúc mô hình cụ thể được mã hóa cứng vào quy trình phần cứng.
Tương lai: YOLO26
Trong khi YOLOv9 Với hiệu năng vượt trội, lĩnh vực trí tuệ nhân tạo đang phát triển nhanh chóng. Ultralytics Tiếp tục đổi mới với YOLO26 , sự lựa chọn được khuyến nghị cho các dự án mới.
YOLO26 kế thừa những thế mạnh từ các phiên bản trước. YOLO các phiên bản khác nhưng giới thiệu thiết kế NMS Non-Maximum Suppression) hoàn chỉnh từ đầu đến cuối , loại bỏ độ trễ và độ phức tạp của quá trình xử lý hậu kỳ Non-Maximum Suppression. Nó tích hợp MuSGD Optimizer — một sự kết hợp giữa... SGD và Muon—và loại bỏ Distribution Focal Loss (DFL) để xuất dữ liệu đơn giản hơn. Những thay đổi này giúp tăng tốc độ suy luận trên CPU lên đến 43% và cải thiện độ ổn định của quá trình huấn luyện.
Ngoài ra, YOLO26 tích hợp ProgLoss + STAL (Soft-Target Anchor Loss), mang lại những cải tiến đáng kể trong nhận dạng vật thể nhỏ, điều rất quan trọng đối với robot và ảnh chụp từ trên không. Đối với các nhà phát triển đang tìm kiếm sự cân bằng tối ưu giữa tốc độ, độ chính xác và tính dễ triển khai, YOLO26 đại diện cho tiêu chuẩn mới.
Kết luận
Cả hai kiến trúc đều đã khẳng định vị trí của mình trong lịch sử thị giác máy tính. EfficientDet đã chứng minh sức mạnh của việc mở rộng quy mô kết hợp, trong khi YOLOv9 cho thấy cách các gradient lập trình có thể khôi phục thông tin trong mạng nơ-ron sâu. Tuy nhiên, đối với môi trường sản xuất hiện đại, hệ sinh thái Ultralytics — hỗ trợ cả hai — là giải pháp tối ưu. YOLOv9 Và mẫu YOLO26 mới hơn mang lại lợi thế rõ rệt về khả năng bảo trì, tốc độ đào tạo và tính linh hoạt trong triển khai.
Xem Thêm
- YOLOv10 so với EfficientDet : So sánh với phiên bản đầu tiên NMS -miễn phí YOLO .
- YOLO26 so với YOLOv9 : Phân tích chi tiết những nâng cấp của thế hệ mới nhất.
- Nền tảng Ultralytics : Cách đơn giản nhất để huấn luyện và triển khai mô hình của bạn.