Chuyển đến nội dung

YOLOv5 So sánh với EfficientDet: Đánh giá các kiến ​​trúc phát hiện đối tượng thời gian thực

Khi bắt đầu một dự án thị giác máy tính mới, việc lựa chọn kiến ​​trúc mạng nơ-ron phù hợp là một trong những quyết định quan trọng nhất mà bạn sẽ đưa ra. Hướng dẫn này cung cấp so sánh kỹ thuật chuyên sâu giữa Ultralytics YOLOv5 và Google EfficientDet của chúng tôi. Bằng cách phân tích kiến ​​trúc, số liệu hiệu suất và hệ sinh thái huấn luyện của chúng, chúng tôi hướng đến việc giúp các nhà phát triển và nhà nghiên cứu xác định mô hình phát hiện đối tượng tốt nhất cho môi trường triển khai cụ thể của họ.

Trong khi EfficientDet giới thiệu những khái niệm mới về mở rộng phức hợp và kết hợp tính năng, YOLOv5 đã cách mạng hóa ngành công nghiệp bằng cách dân chủ hóa quyền truy cập vào AI hiệu năng cao thông qua việc triển khai PyTorch cực kỳ trực quan, trải nghiệm người dùng được đơn giản hóa và sự cân bằng tuyệt vời giữa tốc độ và độ chính xác.

Ultralytics YOLOv5 Tiêu chuẩn ngành về khả năng tiếp cận

Được phát hành vào mùa hè năm 2020, YOLOv5 đánh dấu một bước ngoặt quan trọng trong YOLO dòng dõi. Chuyển đổi từ khung Darknet dựa trên C sang ngôn ngữ gốc. PyTorch Nó đã trở thành kiến ​​trúc được ưa chuộng cho các nhà phát triển muốn xây dựng, huấn luyện và triển khai mô hình một cách nhanh chóng.

Đổi mới Kiến trúc

YOLOv5 Nó được đánh giá cao nhờ kiến ​​trúc được tối ưu hóa cao, ưu tiên vòng đời học máy liền mạch. Nó sử dụng xương sống CSPDarknet53 được sửa đổi kết hợp với phần cổ Mạng tổng hợp đường dẫn (PANet), giúp cải thiện đáng kể sự lan truyền đặc trưng trên nhiều thang đo không gian.

Các tiến bộ chính bao gồm:

  • Tăng cường dữ liệu Mosaic: Kỹ thuật huấn luyện này kết hợp bốn hình ảnh huấn luyện riêng biệt thành một hình ảnh mosaic duy nhất. Điều này buộc mô hình phải học cách nhận diện đối tượng trong các ngữ cảnh không gian phức tạp và tăng cường đáng kể khả năng detect các mục tiêu nhỏ.
  • Tự động Học Hộp Neo: Trước khi quá trình huấn luyện bắt đầu, YOLOv5 phân tích dữ liệu huấn luyện tùy chỉnh của bạn và tự động tính toán kích thước hộp neo tối ưu bằng cách sử dụng phân cụm k-means.
  • Hiệu quả bộ nhớ: So với các mô hình dựa trên transformer nặng, YOLOv5 duy trì mức sử dụng bộ nhớ thấp hơn đáng kể trong cả quá trình huấn luyện và suy luận, cho phép nó chạy mượt mà trên phần cứng phổ thông.

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

EfficientDet: Phát hiện đối tượng có khả năng mở rộng

Được giới thiệu bởi Google Nghiên cứu năm 2019, EfficientDet, hướng đến việc cung cấp một họ các bộ phát hiện đối tượng có khả năng mở rộng. Nó được xây dựng dựa trên nền tảng phân loại hình ảnh EfficientNet và giới thiệu một cơ chế kết hợp đặc trưng mới.

Đổi mới Kiến trúc

Điểm cốt lõi của EfficientDet nằm ở phương pháp tiếp cận có hệ thống đối với việc mở rộng quy mô và tổng hợp các đặc trưng:

  • BiFPN (Mạng kim tự tháp đặc trưng hai chiều): Không giống như các FPN truyền thống chỉ truyền thông tin từ trên xuống, BiFPN cho phép hợp nhất đặc trưng đa tỷ lệ nhanh chóng và dễ dàng bằng cách giới thiệu 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.
  • Compound Scaling: EfficientDet cùng lúc mở rộng độ phân giải, độ sâu và chiều rộng cho tất cả các mạng backbone, mạng đặc trưng và mạng dự đoán hộp/lớp, tạo ra các mô hình từ D0 nhẹ đến D7 khổng lồ.

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

Sự khác biệt về khung

Mặc dù EfficientDet phụ thuộc rất nhiều vào hệ sinh thái TensorFlow và các thư viện AutoML , YOLOv5 hoạt động nguyên bản trong PyTorch , mang đến một quy trình làm việc trực quan hơn, phù hợp với Python hơn và dễ gỡ lỗi hơn, theo đánh giá của nhiều nhà phát triển.

So sánh hiệu năng và số liệu

Khi so sánh các mô hình này, việc đánh giá hiệu năng của chúng trên các bộ dữ liệu chuẩn như bộ dữ liệu COCO là rất quan trọng. Bảng dưới đây nêu bật sự đánh đổi giữa kích thước, yêu cầu tính toán (FLOPs) và tốc độ suy luậ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)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
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

Phân tích cân bằng

YOLOv5 tỏa sáng ở tính linh hoạt trong triển khai và khả năng tương thích tăng tốc phần cứng thô. Hãy chú ý đến tốc độ TensorRT cực nhanh trên GPU T4. Điều này làm cho YOLOv5 cực kỳ phù hợp cho phân tích video thông lượng cao và các quy trình suy luận thời gian thực. Hơn nữa, hệ sinh thái Ultralytics giúp xuất sang các định dạng như ONNX, CoreMLTensorRT chỉ bằng một lệnh duy nhất.

EfficientDet mang lại hiệu quả tham số vượt trội. Với một số lượng tham số nhất định, nó thường đạt được độ chính xác trung bình (mAP) cao. Tuy nhiên, hiệu quả lý thuyết này không phải lúc nào cũng chuyển thành thời gian suy luận thực tế nhanh hơn trên các GPU biên do cơ chế định tuyến phức tạp của lớp BiFPN, vốn có thể bị giới hạn bởi băng thông bộ nhớ hơn là khả năng tính toán.

Hệ sinh thái và Dễ sử dụng

Ưu điểm nổi bật của việc lựa chọn một Ultralytics Mô hình nằm trong hệ sinh thái xung quanh. YOLOv5 là một phần của kho lưu trữ được duy trì và phát triển tích cực với sự hỗ trợ cộng đồng rộng lớn.

Với sự ra mắt của Nền tảng Ultralytics , người dùng có thể chuyển đổi liền mạch từ thu thập dữ liệu sang triển khai. Nền tảng này hỗ trợ tự động chú thích, huấn luyện trên đám mây và giám sát mô hình ngay từ đầu. Ngược lại, việc huấn luyện EfficientDet thường đòi hỏi phải xử lý những phức tạp của các hệ thống cũ hơn. TensorFlow Các API phát hiện đối tượng có thể đòi hỏi người dùng phải học hỏi rất nhiều để tạo mẫu nhanh.

Hơn nữa, YOLOv5 Tính linh hoạt của nó vượt xa các khung giới hạn. Thông qua các bản cập nhật liên tục, Ultralytics Khung phần mềm hỗ trợ phân đoạn đối tượngphân loại hình ảnh một cách tự nhiên, cung cấp API thống nhất cho nhiều tác vụ thị giác máy tính.

Các trường hợp sử dụng lý tưởng

  • Chọn YOLOv5 khi: Bạn cần tạo mẫu nhanh, trải nghiệm đào tạo không ma sát và triển khai biên được tối ưu hóa cao. Nó lý tưởng cho máy bay không người lái, phân tích bán lẻ và các ứng dụng di động mà độ trễ thấp là rất quan trọng.
  • Chọn EfficientDet khi: Bạn đang hoạt động nghiêm ngặt trong môi trường Google Cloud/TensorFlow AutoML và yêu cầu độ chính xác tối đa trên mỗi tham số mà không có các ràng buộc độ trễ thời gian thực nghiêm ngặt.

Thế hệ tiếp theo: Đón nhận YOLO26

Trong khi YOLOv5 Mặc dù vẫn là một công cụ đáng tin cậy, nhưng lĩnh vực thị giác máy tính đã tiến bộ vượt bậc. Đối với các nhà phát triển đang tìm kiếm công nghệ tiên tiến nhất vào năm 2026, YOLO26 đại diện cho đỉnh cao mới của công nghệ này. Ultralytics đội hình.

Kế thừa di sản của các phiên bản tiền nhiệm (như YOLOv8YOLO11), YOLO26 giới thiệu những đổi mới đột phá:

  • Thiết kế End-to-End không NMS: YOLO26 loại bỏ hoàn toàn nhu cầu hậu xử lý Non-Maximum Suppression. Điều này giúp giảm đáng kể biến động độ trễ và đơn giản hóa kiến trúc triển khai.
  • Suy luận trên CPU nhanh hơn tới 43%: Được tối ưu hóa mạnh mẽ cho AI biên, nó mang lại tốc độ chưa từng có cho các thiết bị biên công suất thấp và CPU tiêu chuẩn mà không cần GPU chuyên dụng.
  • Trình tối ưu hóa MuSGD: Lấy cảm hứng từ các kỹ thuật huấn luyện Mô hình Ngôn ngữ Lớn (LLM), sự kết hợp giữa SGD và Muon này đảm bảo quá trình huấn luyện rất ổn định và hội tụ nhanh chóng.
  • Hàm mất mát nâng cao: Sự tích hợp ProgLoss và STAL cải thiện đáng kể khả năng nhận diện các mục tiêu nhỏ, điều này rất quan trọng đối với hình ảnh drone ở độ cao lớn và robot học.
  • Loại bỏ DFL: Bằng cách loại bỏ Distribution Focal Loss, quy trình xuất mô hình được tinh gọn, nâng cao hơn nữa khả năng tương thích trên các bộ tăng tốc phần cứng đa dạng.

Người dùng quan tâm đến việc khám phá các kiến ​​trúc mới khác trong lĩnh vực này. Ultralytics Hệ sinh thái cũng có thể so sánh các mô hình như YOLOv10 hoặc RT-DETR .

Di chuyển rất dễ dàng

Cái Ultralytics Python API được thiết kế để tương thích ngược và tương thích tiến. Nâng cấp từ YOLOv5 Việc chuyển sang YOLO26 thực sự đơn giản như việc thay đổi chuỗi trọng lượng mô hình trong mã của bạn!

Ví dụ mã: Huấn luyện và Suy luận

Để chứng minh tính dễ sử dụng vượt trội của sản phẩm này, Ultralytics Trong hệ sinh thái này, đây là cách bạn có thể huấn luyện và chạy suy luận bằng cách sử dụng một mô hình hiện đại. YOLO Mô hình này. Mã nguồn hoàn toàn có thể chạy được và tự động xử lý việc tải xuống tập dữ liệu, các vòng lặp huấn luyện và xác thực.

from ultralytics import YOLO

# Load a modern model (Swap 'yolov5s.pt' for 'yolo26n.pt' to test the newest architecture!)
model = YOLO("yolov5s.pt")

# Train the model on the COCO8 example dataset for 20 epochs
results = model.train(data="coco8.yaml", epochs=20, imgsz=640)

# Run inference on an image from the web
inference_results = model("https://ultralytics.com/images/bus.jpg")

# Display the image with bounding boxes
inference_results[0].show()

Bằng cách ưu tiên trải nghiệm người dùng, duy trì một hệ sinh thái mạnh mẽ và liên tục vượt qua các giới hạn của những gì có thể với các bản cập nhật như YOLO26, Ultralytics đảm bảo rằng các nhà phát triển luôn có các công cụ tốt nhất để giải quyết các thách thức trí tuệ thị giác trong thế giới thực.


Bình luận