EfficientDet so với YOLOv9: Kiến trúc, Hiệu năng và Triển khai tại Biên (Edge)

Bối cảnh thị giác máy tính đã được định hình bởi những bước đột phá liên tục trong thiết kế mạng thần kinh. Tìm kiếm sự cân bằng phù hợp giữa hiệu quả tính toán và độ chính xác của việc phát hiện là yếu tố then chốt khi lựa chọn một model. EfficientDet của Google đã thiết lập một nền tảng cơ sở 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 ra mắt vào năm 2024, đã đẩy xa các giới hạn của phát hiện đối tượng bằng cách sử dụng Thông tin Gradient Lập trình được (PGI).

Hướng dẫn này cung cấp một so sánh kỹ thuật toàn diện giữa hai model này và giới thiệu framework Ultralytics YOLO26 hiện đại, mang đến một giải pháp mạnh mẽ, đầu cuối (end-to-end) được tối ưu hóa cho các môi trường sản xuất.

Kiến trúc Model và Đổi mới

Việc hiểu rõ các cơ chế bên dưới của EfficientDet và YOLOv9 là 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: Quy mô hỗn hợp và BiFPN

Được phát triển bởi Google Research, EfficientDet tập trung vào việc mở rộng quy mô hệ thống và kết hợp đặ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, 2019
  • Liên kết: Arxiv, GitHub

Các đặc điểm kiến trúc chính: EfficientDet dựa chủ yếu vào Mạng Kim tự tháp Đặc trưng Hai chiều (BiFPN), cho phép kết hợp đặc trưng đa quy mô dễ dàng và nhanh chóng. Bên cạnh đó, nó sử dụng phương pháp mở rộng quy mô phức hợp giúp đồng nhất hóa độ 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 ra mắt, EfficientDet lại bị ràng buộc chặt chẽ với các môi trường TensorFlow cũ, khiến các đường ống 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 truyền 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 năm 2024
  • Liên kết: Arxiv, GitHub, Tài liệu

Các đặc điểm kiến trúc chính: YOLOv9 giới thiệu Thông tin Gradient Lập trình được (PGI) để cung cấp sự giám sát bổ 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ó tính năng 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ố. Bất chấp 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 năng

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

Modelkí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 Phê bình

YOLOv9 mang lại bước nhảy vọt về tốc độ qua các thế hệ. Ví dụ, YOLOv9e đạt 55.6% mAP với độ trễ TensorRT là 16.77ms. Trái lại, EfficientDet-d7 cung cấp mAP thấp hơn ở mức 53.7% nhưng lại chịu độ trễ lớn (128.07ms)—khiến nó cực kỳ khó triển khai cho các luồng video thời gian thực.

Xuất mô hình cho 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 sẽ giảm đáng kể thời gian suy luận so với việc chạy PyTorch thô.

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 cụ thể của dự án, các ràng buộc triển khai và sở thích về hệ sinh thái của bạn.

Khi nào nên chọn EfficientDet

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

  • Google Cloud và TPU Pipelines: Các hệ thống tích hợp sâu với Google Cloud Vision APIs hoặc hạ tầng TPU, nơi EfficientDet có sự tối ưu hóa nguyên bản.
  • Nghiên cứu về Compound Scaling: Các đánh giá học thuật tập trung vào việc nghiên cứu ảnh hưởng của sự cân bằng giữa độ sâu mạng, chiều rộng và mở rộng độ phân giải.
  • Triển khai trên di động thông qua TFLite: Các dự án yêu cầu cụ thể việc xuất TensorFlow Lite cho các 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 về Nút thắt Thông tin (Information Bottleneck): Các dự án học thuật nghiên cứu về kiến trúc Programmable Gradient Information (PGI) và Generalized Efficient Layer Aggregation Network (GELAN).
  • Nghiên cứu Tối ưu hóa Dòng Gradient: Các 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.
  • Đo lường Hiệu năng Nhận diện Độ chính xác cao: Các trường hợp cần hiệu năng benchmark COCO mạnh mẽ của YOLOv9 làm điểm tham chiếu để so sánh kiến trúc.

Khi nào nên 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 suất và trải nghiệm nhà phát triển:

  • Triển khai Edge không cần NMS: Các ứng dụng yêu cầu suy luận ổn định, độ trễ thấp mà không cần sự phức tạp của việc hậu xử lý Non-Maximum Suppression.
  • Môi trường chỉ sử dụng CPU: Các thiết bị không có GPU tăng tốc chuyên dụng, nơi tốc độ suy luận trên CPU nhanh hơn tới 43% của YOLO26 mang lại lợi thế quyết định.
  • Nhận diện đối tượng nhỏ: Các kịch bản thách thức như ảnh drone trên không 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 cực nhỏ.

Ưu thế của Ultralytics: 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 sản xuất nên cân nhắc các model Ultralytics YOLO, đặc biệt là model YOLO26 mới được phát hành.

Nền tảng Ultralytics cung cấp tính dễ sử dụng vô song, kết hợp các tập lệnh 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 tổ lớn trong thiết kế model, 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 nhấn Kỹ thuật của YOLO26

  • Thiết kế End-to-End không NMS: YOLO26 loại bỏ hoàn toàn các nút thắt hậu xử lý. Bằng cách loại bỏ Non-Maximum Suppression, các đồ thị triển khai được hợp nhất và vốn dĩ nhanh hơn trên các chip AI tại biên.
  • Suy luậ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, giúp 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 LLM vào AI thị giác, trình tối ưu hóa lai này ổn định các lần huấn luyện, cho phép các model 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 cá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 batch lớn hơn trên phần cứng tiêu dùng.
  • ProgLoss + STAL: Thiết kế hàm mất mát ưu việt giúp tăng đáng kể độ chính xác khi phát hiện các đối tượng nhỏ, khiến YOLO26 trở nên lý tưởng cho hình ảnh từ trên không và mạng lưới IoT.
  • Loại bỏ DFL: Thiết kế cấu trúc đơn giản hóa cho phép chuyển đổi không ma sát sang các định dạng triển khai trên thiết bị di động.

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

Các tùy chọn mạnh mẽ khác trong hệ sinh thái Ultralytics bao gồm YOLO11YOLOv8, cũng cung cấp tính linh hoạt đa tác vụ như phân đoạn cá thểước tính tư thế.

Huấn luyện đơn giản hóa với Python SDK

Các model Ultralytics ưu tiên trải nghiệm nhà phát triển. Việc huấn luyện một model hiện đại được rút gọn chỉ còn vài dòng code 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}")

Ứng dụng trong thế giới thực

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 Cloud kế thừa: EfficientDet từng phổ biến cho việc xử lý batch ngoại tuyến, dựa trên đám mây, nơi cần độ chính xác cao và không tồn tại 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 đẩy mạnh các giới hạn lý thuyết về CNN và phân tích dòng gradient qua các lớp mạng.
  • Edge Computing và IoT: YOLO26 chiếm ưu thế trong các ứng dụng thực tế. Đường ống không NMS và khả năng Oriented Bounding Box (OBB) của nó biến nó thành tùy chọn ưu việt 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 máy bay không người lái, mang lại sự cân bằng vô đối giữa độ chính xác cao và tốc độ suy luận nhanh chóng.

Bình luận