YOLO Vision 2026:

So sánh YOLOv5 và EfficientDet#

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

Mặc dù EfficientDet đã giới thiệu các khái niệm mới trong việc mở rộng quy mô hợp chất 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 phổ biến quyền truy cập vào AI hiệu suất 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 hợp lý hóa và sự cân bằng chưa từng có 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 dòng họ YOLO. Chuyển đổi từ khung Darknet dựa trên C sang PyTorch gốc, nó đã trở thành kiến trúc được lựa chọn hàng đầu cho các nhà phát triển muốn xây dựng, huấn luyện và triển khai các mô hình một cách nhanh chóng.

Cải tiến kiến trúc#

YOLOv5 nổi tiếng với kiến trúc được tối ưu hóa cao, ưu tiên vòng đời machine learning liền mạch. Nó sử dụng phần thân (backbone) CSPDarknet53 được sửa đổi kết hợp với phần cổ (neck) Path Aggregation Network (PANet), giúp cải thiện đáng kể việc truyền tải tính năng trên nhiều tỷ lệ không gian.

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

  • Mosaic Data Augmentation: 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 bức tranh mosaic. Đ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 phát hiện các mục tiêu nhỏ.
  • Hộp neo tự học: Trước khi quá trình huấn luyện bắt đầu, YOLOv5 phân tích training data tùy chỉnh của bạn và tự động tính toán kích thước anchor box tối ưu bằng thuật toán 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 nề, YOLOv5 duy trì mức chiếm 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 cấp độ người dù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 Research vào năm 2019, EfficientDet hướng tới việc cung cấp một bộ 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 backbone phân loại hình ảnh EfficientNet và giới thiệu một cơ chế hợp nhất đặc trưng mới lạ.

Cải tiến kiến trúc#

Đề xuất 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 trưng:

  • BiFPN (Bi-directional Feature Pyramid Network): Không giống như các FPN truyền thống chỉ truyền thông tin từ trên xuống dưới, BiFPN cho phép hợp nhất đặc trưng đa quy mô 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 mở rộng đồng thời độ phân giải, độ sâu và độ rộng cho tất cả các mạng backbone, mạng đặc trưng và mạng dự đoán box/class, dẫn đến các mô hình từ D0 nhẹ cho đến D7 khổng lồ.

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

Sự khác biệt về Framework

Trong khi EfficientDet phụ thuộc 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 lại quy trình làm việc mà nhiều nhà phát triển thấy trực quan, chuẩn python và dễ gỡ lỗi hơn.

So sánh Hiệu năng và Chỉ số#

Khi so sánh các mô hình này, việc đánh giá hiệu suất của chúng trên các benchmark chuẩn như COCO dataset là rất quan trọng. Bảng dưới đây nêu bật sự đánh đổi giữa kích thước, nhu cầu tính toán (FLOPs) và tốc độ suy luận.

Mô hìnhkích thước
(pixel)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
params
(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 nổi bật nhờ 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 các luồng phân tích video có thông lượng cao và đường ống real-time inference. Hơn nữa, hệ sinh thái Ultralytics giúp việc xuất ra các định dạng như ONNX, CoreMLTensorRT trở thành một câu lệnh duy nhất.

EfficientDet mang lại hiệu quả về tham số xuất sắc. Đối với một số lượng tham số cho trước, nó thường trích xuất được mean Average Precision (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 GPU biên do đường định tuyến phức tạp của lớp BiFPN, có thể bị giới hạn bởi băng thông bộ nhớ hơn là giới hạn tính toán.

Hệ sinh thái và tính dễ sử dụng#

Lợi thế xác định của việc chọn một mô hình Ultralytics nằm ở hệ sinh thái đi kèm. YOLOv5 là một phần của kho lưu trữ được duy trì chặt chẽ, phát triển tích cực với sự hỗ trợ cộng đồng khổng lồ.

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

Hơn nữa, sự linh hoạt của YOLOv5 vượt ra ngoài các hộp giới hạn. Thông qua các bản cập nhật liên tục, framework Ultralytics hỗ trợ nguyên bản instance segmentationimage classification, cung cấp một API thống nhất cho nhiều tác vụ computer vision.

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 huấn luyện 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, retail analytics và các ứng dụng di động nơi độ trễ thấp là yếu 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 nghiêm ngặt về độ trễ thời gian thực.

Thế hệ tiếp theo: Đón đầu YOLO26#

Mặc dù YOLOv5 vẫn là một cỗ máy đáng tin cậy, bối cảnh computer vision đã tiến1 bộ. Đối với các nhà phát triển tìm kiếm công nghệ tối tân nhất vào năm 2026, YOLO26 đại diện cho đỉnh cao mới của dòng sản phẩm Ultralytics.

Dựa trên di sản của những người tiền nhiệm (như YOLOv8YOLO11), YOLOv26 giới thiệu các đổi mới mang tính đột phá:

  • Thiết kế End-to-End NMS-Free: YOLO26 loại bỏ nguyên bản nhu cầu xử lý hậu kỳ Non-Maximum Suppression. Điều này làm giảm đáng kể sự thay đổi độ trễ và đơn giản hóa kiến trúc triển khai.
  • Tốc độ suy luận CPU nhanh hơn tới 43%: Được tối ưu hóa mạnh mẽ cho edge AI, 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à các CPU tiêu chuẩn không có GPU chuyên dụng.
  • MuSGD Optimizer: Lấy cảm hứng từ các kỹ thuật huấn luyện Large Language Model (LLM), sự kết hợp giữa SGD và Muon này đảm bảo quá trình huấn luyện cực kỳ ổn định và hội tụ nhanh chóng.
  • Hàm mất mát nâng cao: Việc 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 rất quan trọng đối với hình ảnh máy bay không người lái trên cao và robotics.
  • Loại bỏ DFL: Bằng cách loại bỏ Distribution Focal Loss, quá trình xuất mô hình được hợp lý hóa, tăng cường 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 gần đây khác trong hệ sinh thái Ultralytics 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

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

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

Để chứng minh sự dễ sử dụng vô song của hệ sinh thái Ultralytics, đây là cách bạn có thể huấn luyện và thực hiện suy luận bằng một mô hình YOLO hiện đại. Mã này có thể chạy 100% và xử lý tự động 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 đẩy lùi các giới hạn của những gì có thể thực hiện được 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ó sẵn các công cụ tốt nhất để giải quyết các thách thức về trí tuệ thị giác trong thế giới thực.

Người đóng góp

Bình luận