Ultralytics YOLO27:

YOLOv5 so với EfficientDet#

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 neural network phù hợp là một trong những quyết định có ảnh hưởng lớn nhất mà bạn sẽ đưa ra. Hướng dẫn này cung cấp bản so sánh kỹ thuật chuyên sâu 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 năng và hệ sinh thái training của chúng, chúng tôi hướng đến việc giúp các developer và researcher xác định model phát hiện đối tượng phù hợp nhất với môi trường triển khai cụ thể của họ.

Trong khi EfficientDet giới thiệu các khái niệm mới về scaling kết hợp và fusion feature, YOLOv5 đã cách mạng hóa ngành bằng cách phổ cập khả năng tiếp cận AI hiệu năng cao thông qua implementation PyTorch cực kỳ trực quan, trải nghiệm người dùng tinh gọn và sự cân bằng vượt trộ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 chuyển quan trọng trong dòng YOLO. Chuyển từ framework Darknet dựa trên C sang PyTorch nguyên bản, model này trở thành kiến trúc được các developer ưu tiên khi muốn nhanh chóng xây dựng, training và triển khai model.

Các cải tiến về kiến trúc#

YOLOv5 được đánh giá cao nhờ kiến trúc được tối ưu hóa mạnh, ưu tiên một vòng đời machine learning liền mạch. Model sử dụng backbone CSPDarknet53 được điều chỉnh, kết hợp với phần neck là Mạng Tổng hợp Đường dẫn (PANet), giúp cải thiện đáng kể quá trình lan truyền feature qua nhiều scale không gian.

Các cải tiến chính bao gồm:

  • Data Augmentation Mosaic: Kỹ thuật training này kết hợp bốn ảnh training riêng biệt thành một mosaic duy nhất. Điều này buộc model học cách nhận diện đối tượng trong các bối cảnh không gian phức tạp và tăng đáng kể khả năng phát hiện các target nhỏ.
  • Auto-Learning Anchor Boxes: Trước khi bắt đầu training, 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 phương pháp phân cụm k-means.
  • Memory Efficiency: So với các model dựa trên Transformer nặng hơn, YOLOv5 duy trì footprint bộ nhớ thấp hơn đáng kể trong cả training và inference, cho phép model hoạt động mượt mà trên phần cứng dành cho người dùng phổ thông.

EfficientDet: Phát hiện đối tượng có khả năng scale#

Được Google Research giới thiệu vào năm 2019, EfficientDet hướng đến việc cung cấp một họ model phát hiện đối tượng có khả năng scale. Model xây dựng trên backbone phân loại ảnh EfficientNet và giới thiệu một cơ chế fusion feature mới.

Các cải tiến về kiến trúc#

Đề xuất cốt lõi của EfficientDet nằm ở phương pháp có hệ thống để scaling và tổng hợp feature:

  • BiFPN (Mạng Kim tự tháp Feature Hai chiều): Không giống các FPN truyền thống chỉ truyền thông tin theo hướng từ trên xuống, BiFPN cho phép fusion feature đa scale nhanh chóng và dễ dàng bằng cách giới thiệu các trọng số có thể học để xác định tầm quan trọng của những feature đầu vào khác nhau.
  • Compound Scaling: EfficientDet đồng thời scale độ phân giải, depth và width cho toàn bộ backbone, feature network và các network dự đoán box/class, tạo ra các model từ D0 nhẹ đến D7 quy mô lớn.

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

Khác biệt giữa các 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 đến workflow mà nhiều developer nhận thấy là trực quan, pythonic và dễ debug hơn.

So sánh hiệu năng và các chỉ số#

Khi so sánh các model này, việc đánh giá hiệu năng trên những benchmark tiêu chuẩn như dataset 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, nhu cầu tính toán (FLOPs) và tốc độ inference.

Modelkích thước
(pixel)
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 nổi bật nhờ tính linh hoạt khi triển khai và khả năng tương thích với tăng tốc phần cứng thực tế. Hãy chú ý đến tốc độ TensorRT cực nhanh trên GPU T4. Điều này khiến YOLOv5 đặc biệt phù hợp với các pipeline phân tích video thông lượng cao và inference thời gian thực. Ngoài ra, hệ sinh thái Ultralytics giúp việc export sang các format như ONNX, CoreMLTensorRT chỉ cần một dòng lệnh.

EfficientDet mang lại hiệu quả sử dụng parameter xuất sắc. Với cùng số lượng parameter, model thường đạt độ chính xác trung bình (mAP) cao. Tuy nhiên, hiệu quả trên lý thuyết này không phải lúc nào cũng chuyển thành thời gian inference thực tế nhanh hơn trên edge GPU do cơ chế routing phức tạp của layer BiFPN, vốn có thể bị giới hạn bởi bandwidth bộ nhớ thay vì năng lực tính toán.

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

Lợi thế khác biệt khi lựa chọn một model Ultralytics nằm ở hệ sinh thái xung quanh. YOLOv5 là một phần của repository được duy trì chặt chẽ, phát triển tích cực và có sự hỗ trợ lớn từ cộng đồng.

Với sự ra mắt của Ultralytics Platform, người dùng có thể chuyển đổi liền mạch từ thu thập data đến triển khai. Platform này hỗ trợ auto-annotation, cloud training và model monitoring ngay từ đầu. Ngược lại, việc training EfficientDet thường đòi hỏi phải xử lý sự phức tạp của các API phát hiện đối tượng TensorFlow cũ hơn, có thể tạo ra learning curve lớn khi cần rapid prototyping.

Ngoài ra, tính linh hoạt của YOLOv5 còn vượt ra ngoài bounding box. 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ụ 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 rapid prototyping, trải nghiệm training thuận tiện và triển khai edge được tối ưu cao. Model này lý tưởng cho drone, phân tích bán lẻ và các ứng dụng mobile, nơi latency thấp là yếu tố then chốt.
  • Chọn EfficientDet khi: Bạn vận hành hoàn toàn 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 parameter mà không bị ràng buộc nghiêm ngặt về latency thời gian thực.

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

Mặc dù YOLOv5 vẫn là một model workhorse đáng tin cậy, lĩnh vực thị giác máy tính đã phát triển. Đối với các developer 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 trong dòng sản phẩm Ultralytics.

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

  • Thiết kế End-to-End không cần NMS: YOLO26 loại bỏ nguyên bản nhu cầu hậu xử lý Non-Maximum Suppression. Điều này làm giảm đáng kể biến thiên latency và đơn giản hóa kiến trúc triển khai.
  • Inference trên CPU nhanh hơn tới 43%: Được tối ưu mạnh cho edge AI, model mang lại tốc độ chưa từng có cho các thiết bị edge công suất thấp và CPU tiêu chuẩn không có GPU chuyên dụng.
  • Optimizer MuSGD: Lấy cảm hứng từ các kỹ thuật training Large Language Model (LLM), thành phần kết hợp giữa SGD và Muon này đảm bảo training ổn định cao và hội tụ nhanh.
  • Loss Function 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 target nhỏ, yếu tố thiết yếu đối với ảnh drone ở độ cao lớn và robotics.
  • Loại bỏ DFL: Bằng cách loại bỏ Distribution Focal Loss, quy trình export model được tinh gọn, đồng thời tăng cường khả năng tương thích trên nhiều bộ tăng tốc phần cứng.

Người dùng muốn khám phá các kiến trúc mới khác trong hệ sinh thái Ultralytics cũng có thể so sánh những model như YOLOv10 hoặc RT-DETR.

Di chuyển thật dễ dàng

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

Ví dụ code: Training và suy luận#

Để minh họa mức độ dễ sử dụng vượt trội của hệ sinh thái Ultralytics, dưới đây là cách bạn có thể training và chạy inference bằng một model YOLO hiện đại. Code này có thể chạy 100% và tự động xử lý việc tải dataset, các vòng lặp training và validation.

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 mở rộng giới hạn của những gì có thể thực hiện thông qua các bản cập nhật như YOLO26, Ultralytics đảm bảo developer luôn có những công cụ tốt nhất để giải quyết các thách thức về visual intelligence trong thực tế.

Những người đóng góp

Bình luận