Chuyển đến nội dung

So sánh EfficientDet với... YOLOv9 Kiến trúc, hiệu năng và triển khai tại biên

Lĩnh vực thị giác máy tính đã được định hình bởi những đột phá liên tục trong thiết kế mạng nơ-ron. Việc tìm ra sự cân bằng phù hợp giữa hiệu quả tính toán và độ chính xác phát hiện là rất quan trọng khi lựa chọn mô hình. Google EfficientDet của hãng này đã thiết lập một nền tảng vững chắc vào năm 2019 bằng cách giới thiệu các kiến ​​trúc có khả năng mở rộng, trong khi YOLOv9 , được phát hành vào năm 2024, đã đẩy mạnh giới hạn của việc phát hiện đối tượng bằng cách sử dụng Thông tin Gradient có thể lập trình (PGI).

Hướng dẫn này cung cấp sự so sánh kỹ thuật toàn diện giữa hai mô hình này và giới thiệu khung phần mềm Ultralytics YOLO26 hiện đại, cung cấp giải pháp mạnh mẽ, toàn diện được tối ưu hóa cho môi trường sản xuất.

Kiến trúc mô hình và những đổi mới

Hiểu rõ cơ chế hoạt động bên trong của EfficientDet và YOLOv9 Điều này rất cần thiết để xác định các trường hợp sử dụng tối ưu của chúng.

EfficientDet: Mở rộng hợp chất và BiFPN

Được phát triển bởi Google Research, EfficientDet tập trung vào việc mở rộng quy mô một cách có hệ thống và hợp nhất đặc trưng hiệu quả. Nó sử dụng EfficientNet làm backbone và giới thiệu một kiến trúc mạng đặc trưng mới lạ.

  • Tác giả: Mingxing Tan, Ruoming Pang, và Quoc V. Le
  • Tổ chức:Google
  • Ngày: 20 tháng 11 năm 2019
  • Liên kết: Arxiv , GitHub

Các tính năng kiến trúc chính: EfficientDet phụ thuộc nhiều vào Mạng kim tự tháp đặc trưng hai chiều (BiFPN), cho phép hợp nhất đặc trưng đa tỷ lệ dễ dàng và nhanh chóng. Cùng với đó, nó sử dụng một phương pháp mở rộng hợp chất giúp mở rộng đồng nhất độ phân giải, độ sâu và chiều rộng của mạng. Mặc dù rất chính xác vào thời điểm đó, EfficientDet bị ràng buộc chặt chẽ với các môi trường TensorFlow cũ hơn, làm cho các quy trình triển khai hiện đại trở nên phức tạp.

Tìm hiểu thêm về EfficientDet

YOLOv9: Giải quyết nút thắt thông tin

Được phát triển bởi các nhà nghiên cứu tại Academia Sinica, YOLOv9 giải quyết vấn đề suy giảm thông tin khi dữ liệu đi qua các mạng thần kinh sâu.

  • Tác giả: Chien-Yao Wang và Hong-Yuan Mark Liao
  • Tổ chức: Viện Khoa học Thông tin, Academia Sinica
  • Ngày: 21 tháng 2, 2024
  • Liên kết:Arxiv, GitHub, Docs

Các tính năng kiến trúc chính: YOLOv9 giới thiệu Thông tin Gradient có thể lập trình (PGI) để cung cấp giám sát phụ trợ, đảm bảo dữ liệu quan trọng được giữ lại để cập nhật trọng số mạng một cách đáng tin cậy. Nó cũng có Mạng tổng hợp lớp hiệu quả tổng quát (GELAN) để tối đa hóa hiệu quả tham số. Mặc dù có những tiến bộ này, YOLOv9 vẫn yêu cầu Non-Maximum Suppression (NMS) trong quá trình hậu xử lý, điều này làm tăng độ trễ.

Tìm hiểu thêm về YOLOv9

So sánh hiệu suất

Khi đánh giá các mô hình này, việc phân tích dữ liệu thực nghiệm giúp xác định kiến ​​trúc nào mang lại sự cân bằng tốt nhất cho các yêu cầu phần cứng cụ thể của bạn.

Mô hìnhKích thước
(pixels)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
Tham số
(M)
FLOPs
(B)
EfficientDet-d064034.610.23.923.92.54
EfficientDet-d164040.513.57.316.66.1
EfficientDet-d264043.017.710.928.111.0
EfficientDet-d364047.528.019.5912.024.9
EfficientDet-d464049.742.833.5520.755.2
EfficientDet-d564051.572.567.8633.7130.0
EfficientDet-d664052.692.889.2951.9226.0
EfficientDet-d764053.7122.0128.0751.9325.0
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0

Phân tích chuyên sâu

YOLOv9 Mang lại bước nhảy vọt về tốc độ giữa các thế hệ. Ví dụ, YOLOv9e đạt được mAP 55,6% với... TensorRT Độ trễ là 16,77ms. Ngược lại hoàn toàn, EfficientDet-d7 cung cấp độ trễ thấp hơn. mAP với độ chính xác 53,7% nhưng lại gặp phải độ trễ rất lớn (128,07ms) — khiến việc triển khai cho các luồng video thời gian thực trở nên vô cùng khó khăn.

Xuất mô hình để sản xuất

Việc xuất kiến ​​trúc của bạn sang các định dạng được tối ưu hóa như TensorRT hoặc OpenVINO giúp giảm đáng kể thời gian suy luận so với việc xuất trực tiếp. PyTorch chạy.

Các trường hợp sử dụng và Khuyến nghị

Việc lựa chọn giữa EfficientDet và YOLOv9 phụ thuộc vào các yêu cầu dự án cụ thể, các ràng buộc triển khai và sở thích hệ sinh thái của bạn.

Khi nào nên chọn EfficientDet

EfficientDet là một lựa chọn mạnh mẽ cho:

  • Hệ thống Google Cloud và TPU Pipelines: Các hệ thống được tích hợp sâu với API Google Cloud Vision hoặc cơ sở hạ tầng TPU, nơi EfficientDet có tối ưu hóa gốc.
  • Nghiên cứu về Compound Scaling: Đánh giá chuẩn học thuật tập trung vào việc nghiên cứu ảnh hưởng của việc mở rộng quy mô độ sâu, chiều rộng và độ phân giải mạng cân bằng.
  • Triển khai di động qua TFLite: Các dự án yêu cầu cụ thể xuất TensorFlow Lite cho thiết bị Android hoặc Linux nhúng.

Khi nào nên chọn YOLOv9

YOLOv9 được khuyến nghị cho:

  • Nghiên cứu nút cổ chai thông tin: Các dự án học thuật nghiên cứu kiến trúc 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).
  • Nghiên cứu tối ưu hóa luồng gradient: Nghiên cứu tập trung vào việc hiểu và giảm thiểu mất mát thông tin trong các lớp mạng sâu trong quá trình huấn luyện.
  • Đánh giá hiệu suất detect độ chính xác cao: Các kịch bản cần hiệu suất benchmark COCO mạnh mẽ của YOLOv9 làm điểm tham chiếu cho việc so sánh kiến trúc.

Khi nào nên lựa chọn Ultralytics (YOLO26)

Đối với hầu hết các dự án mới, Ultralytics YOLO26 cung cấp sự kết hợp tốt nhất giữa hiệu năng và trải nghiệm dành cho nhà phát triển:

  • Triển khai biên không NMS: Các ứng dụng yêu cầu suy luận nhất quán, độ trễ thấp mà không cần sự phức tạp của xử lý hậu kỳ Non-Maximum Suppression.
  • Môi trường chỉ có CPU: Các thiết bị không có tăng tốc GPU chuyên dụng, nơi khả năng suy luận CPU nhanh hơn tới 43% của YOLO26 mang lại lợi thế quyết định.
  • Detect đối tượng nhỏ: Các kịch bản đầy thách thức như hình ảnh từ máy bay không người lái hoặc phân tích cảm biến IoT, nơi ProgLoss và STAL tăng cường đáng kể độ chính xác trên các đối tượng rất nhỏ.

Cái Ultralytics Ưu điểm: Lựa chọn YOLO26

Trong khi YOLOv9 Và EfficientDet đã mở đường, các nhà phát triển đang tìm kiếm một framework hiện đại, sẵn sàng cho môi trường sản xuất thực sự nên xem xét các mô hình YOLO Ultralytics , đặc biệt là YOLO26 mới được phát hành.

Nền tảng Ultralytics mang đến sự dễ sử dụng chưa từng có, kết hợp các kịch bản huấn luyện cục bộ mạnh mẽ với giao diện hỗ trợ đám mây. YOLO26 đại diện cho một cuộc cải tiến lớn trong thiết kế mô hình, khiến các kiến ​​trúc cũ trở nên lỗi thời đối với nhiều ứng dụng thương mại.

Điểm nổi bật về kỹ thuật của YOLO26

  • Thiết kế NMS-Free End-to-End: YOLO26 loại bỏ hoàn toàn các nút thắt cổ chai xử lý hậu kỳ. Bằng cách loại bỏ Non-Maximum Suppression, các biểu đồ triển khai được hợp nhất và vốn dĩ nhanh hơn trên các chip AI biên.
  • Suy luận trên CPU nhanh hơn tới 43%: Được tối ưu hóa mạnh mẽ cho các thiết bị nhúng, làm cho nó nhanh hơn đáng kể so với cả YOLOv9 và EfficientDet khi không có GPU.
  • Trình tối ưu hóa MuSGD: Tích hợp các đổi mới của LLM vào AI thị giác, trình tối ưu hóa lai này giúp ổn định các lần chạy huấn luyện, cho phép các mô hình hội tụ nhanh hơn với ít tài nguyên hơn.
  • Yêu cầu bộ nhớ thấp: Không giống như các kiến trúc nặng về transformer hoặc CNN chưa được tối ưu hóa, YOLO26 giảm thiểu mức tiêu thụ bộ nhớ CUDA trong quá trình huấn luyện, cho phép bạn sử dụng kích thước lô lớn hơn trên phần cứng cấp người tiêu dùng.
  • ProgLoss + STAL: Thiết kế hàm mất mát vượt trội tăng cường đáng kể độ chính xác trong việc detect vật thể nhỏ, làm cho YOLO26 trở nên lý tưởng cho hình ảnh từ trên không và mạng IoT.
  • Loại bỏ DFL: Thiết kế cấu trúc đơn giản hóa cho phép chuyển đổi mượt mà sang các định dạng triển khai di động.

Tìm hiểu thêm về YOLO26

Các lựa chọn mạnh mẽ khác trong Ultralytics Hệ sinh thái này bao gồm YOLO11YOLOv8 , cũng cung cấp tính linh hoạt đa nhiệm như phân đoạn đối tượngước tính tư thế .

Đào tạo đơn giản hóa với Python SDK

Ultralytics Các mô hình ưu tiên trải nghiệm của nhà phát triển. Việc huấn luyện một mô hình hiện đại được gói gọn chỉ trong vài dòng mã Python .

from ultralytics import YOLO

# Initialize the state-of-the-art YOLO26 model
model = YOLO("yolo26n.pt")

# Train with optimized memory usage and built-in augmentations
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Validate the model's performance easily
metrics = model.val()
print(f"Validation mAP: {metrics.box.map}")

Các ứng dụng thực tế

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 mục tiêu triển khai của bạn.

  • Triển khai đám mây kế thừa: EfficientDet phổ biến cho xử lý hàng loạt ngoại tuyến, dựa trên đám mây, nơi cần độ chính xác cao và không có các ràng buộc thời gian thực nghiêm ngặt.
  • Nghiên cứu học thuật: YOLOv9 vẫn là một lựa chọn thú vị cho các nhà nghiên cứu đang mở rộng giới hạn lý thuyết của CNN và phân tích luồng gradient qua các lớp mạng.
  • Điện toán biên và IoT:YOLO26 thống trị các ứng dụng thực tế. Quy trình không NMS và khả năng Hộp giới hạn định hướng (OBB) khiến nó trở thành lựa chọn vượt trội cho phân tích giao thông thành phố thông minh, giám sát hàng tồn kho bán lẻ và kiểm tra bằng drone, mang lại sự cân bằng vượt trội giữa độ chính xác cao và tốc độ suy luận nhanh.

Bình luận