YOLO Vision 2026:

So sánh DAMO-YOLO và YOLOv10#

Lĩnh vực thị giác máy tính đã chứng kiến sự tiến hóa nhanh chóng trong các kiến trúc object detection thời gian thực. Khi so sánh DAMO-YOLOYOLOv10, chúng ta quan sát thấy hai triết lý riêng biệt trong thiết kế model: tìm kiếm kiến trúc tự động so với tối ưu hóa không cần NMS end-to-end. Mặc dù cả hai đều đẩy giới hạn của độ chính xác và tốc độ lên mức cao mới, cấu trúc nền tảng và các trường hợp sử dụng lý tưởng của chúng lại khác biệt đáng kể.

DAMO-YOLO: Tìm kiếm Kiến trúc Neural ở quy mô lớn#

Được phát triển bởi Alibaba Group, DAMO-YOLO nổi lên như một detector mạnh mẽ tập trung vào việc tận dụng tính năng khám phá tự động để đạt hiệu quả cấu trúc.

  • Tác giả: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang và Xiuyu Sun
  • Ngày: 23 tháng 11, 2022
  • Arxiv: 2211.15444v2
  • GitHub: tinyvision/DAMO-YOLO

Điểm nổi bật về kiến trúc#

DAMO-YOLO dựa nhiều vào Neural Architecture Search (NAS) để cân bằng giữa hiệu suất và độ trễ. Phần backbone của nó, có tên là MAE-NAS, sử dụng tìm kiếm tiến hóa đa mục tiêu dưới các ngân sách tính toán khắt khe để tìm ra độ sâu và chiều rộng lớp tối ưu.

Để xử lý việc hợp nhất tính năng qua các tỷ lệ, model sử dụng RepGFPN (Reparameterized Generalized Feature Pyramid Network) hiệu quả. Thiết kế heavy-neck này đặc biệt thành thạo trong việc trích xuất các hệ thống phân cấp không gian phức tạp, làm cho nó hữu ích trong các kịch bản như aerial imagery analysis. Ngoài ra, DAMO-YOLO giới thiệu ZeroHead, một head phát hiện được tinh gọn giúp giảm đáng kể độ phức tạp của các layer dự đoán cuối cùng, dựa trên quy trình tăng cường chưng cất mạnh mẽ trong quá trình training.

Huấn luyện chưng cất (Distillation Training)

DAMO-YOLO thường sử dụng quy trình knowledge distillation nhiều giai đoạn. Nó đòi hỏi phải training một model "teacher" nặng hơn để hướng dẫn model "student" nhỏ hơn, từ đó trích xuất ra mAP (mean Average Precision) cao hơn nhưng lại làm tăng đáng kể thời gian GPU compute cần thiết.

Tìm hiểu thêm về DAMO-YOLO

YOLOv10: Tiên phong trong phát hiện đối tượng End-to-End#

Được phát hành một năm rưỡi sau đó, YOLOv10 đã tạo ra một bước ngoặt về mô hình bằng cách loại bỏ hoàn toàn nhu cầu sử dụng Non-Maximum Suppression (NMS) trong quá trình suy luận.

Điểm nổi bật về kiến trúc#

Điểm nổi bật của YOLOv10 là tính năng gán kép nhất quán (consistent dual assignments) cho việc huấn luyện không cần NMS. Các trình phát hiện truyền thống dự đoán nhiều hộp bao quanh (bounding box) chồng lấp cho một đối tượng, đòi hỏi NMS để lọc các trùng lặp. Bước hậu xử lý này tạo ra một nút thắt cổ chai, đặc biệt là trên các thiết bị biên. YOLOv10 giải quyết vấn đề này bằng cách cho phép mô hình dự đoán tự nhiên một hộp bao quanh chính xác duy nhất cho mỗi đối tượng.

Các tác giả cũng tập trung vào thiết kế model hướng đến hiệu suất và độ chính xác tổng thể. Bằng cách phân tích cẩn thận sự dư thừa tính toán trong các kiến trúc hiện có, họ đã tối ưu hóa backbone và head để giảm số lượng FLOPs và tham số. Thiết kế nhẹ này đảm bảo YOLOv10 mang lại độ trễ inference đặc biệt khi được xuất sang các định dạng như TensorRT hoặc OpenVINO.

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

Hiệu năng và Benchmark#

Bảng dưới đây minh họa các chỉ số hiệu suất thô trên COCO dataset. Các giá trị tổng thể tốt nhất trong mỗi cột được làm nổi bật bằng chữ đậm.

Mô hìnhkích thước
(pixel)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4

Trong khi DAMO-YOLO giữ vững vị trí của mình về độ chính xác, YOLOv10 liên tục cung cấp độ trễ thấp hơn và model weights nhỏ hơn đáng kể. Ví dụ, YOLOv10s đạt mAP hơi cao hơn (46.7%) so với DAMO-YOLOs (46.0%) trong khi sử dụng chưa bằng một nửa số lượng tham số (7.2M so với 16.3M). memory requirements thấp hơn làm cho YOLOv10 trở thành một lựa chọn cực kỳ linh hoạt cho các hệ thống nhúng.

Hiệu quả Huấn luyện và Khả năng Sử dụng#

Khi chuyển đổi từ nghiên cứu học thuật sang sản xuất, sự dễ sử dụng là tối quan trọng. Quy trình chưng cất đa giai đoạn và các cấu hình NAS phức tạp của DAMO-YOLO có thể tạo ra rào cản học tập lớn cho các đội ngũ kỹ thuật.

Ngược lại, YOLOv10 được hưởng lợi vô cùng từ việc được tích hợp hoàn toàn vào Ultralytics Python SDK. Training một custom model liên quan đến lượng mã boilerplate tối thiểu. Ultralytics xử lý data augmentation, hyperparameter tuningexperiment tracking một cách tự động.

from ultralytics import YOLO

# Load a pretrained YOLOv10 nano model
model = YOLO("yolov10n.pt")

# Train on a custom dataset with built-in validation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image seamlessly
prediction = model("path/to/image.jpg")
prediction[0].show()
Tạo mẫu nhanh

Sử dụng hệ sinh thái Ultralytics cho phép các developer chuyển từ một prototype sang một exported ONNX model hoàn chỉnh chỉ trong vài dòng code, bỏ qua các thiết lập môi trường phức tạp do các framework cũ yêu cầu.

Các trường hợp sử dụng thực tế#

  • Smart Retail (DAMO-YOLO): Độ chính xác của DAMO-YOLO rất phù hợp cho các môi trường server mật độ cao phân tích customer behavior nơi GPU dồi dào và các nút thắt NMS thời gian thực có thể quản lý được.
  • Autonomous Vehicles (YOLOv10): Kiến trúc không có NMS đảm bảo độ trễ tất định, có thể dự đoán trước, điều này rất quan trọng đối với các hệ thống an toàn trong autonomous driving.
  • Industrial Automation (YOLOv10): Phát hiện lỗi trên các dây chuyền lắp ráp chuyển động nhanh đòi hỏi các model tối đa hóa tốc độ real-time inference mà không tiêu thụ lượng lớn VRAM, khiến YOLOv10 trở thành ứng cử viên hàng đầu cho việc triển khai edge.

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

Việc lựa chọn giữa DAMO-YOLO và YOLOv10 phụ thuộc vào yêu cầu dự án cụ thể, hạn chế triển khai và sở thích về hệ sinh thái của bạn.

Khi nào nên chọn DAMO-YOLO#

DAMO-YOLO là một lựa chọn mạnh mẽ cho:

  • Phân tích video thông lượng cao: Xử lý luồng video FPS cao trên cơ sở hạ tầng GPU NVIDIA cố định, nơi thông lượng batch-1 là chỉ số chính.
  • Dây chuyền sản xuất công nghiệp: Các kịch bản với hạn chế độ trễ GPU nghiêm ngặt trên phần cứng chuyên dụng, chẳng hạn như kiểm tra chất lượng thời gian thực trên dây chuyền lắp ráp.
  • Nghiên cứu Neural Architecture Search: Nghiên cứu tác động của tìm kiếm kiến trúc tự động (MAE-NAS) và các backbone tái tham số hóa hiệu quả đối với hiệu năng phát hiện.

Khi nào nên chọn YOLOv10#

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

  • Phát hiện thời gian thực không cần NMS: Các ứng dụng hưởng lợi từ việc phát hiện đầu cuối (end-to-end) mà không cần NMS, giúp giảm độ phức tạp khi triển khai.
  • Sự cân bằng giữa tốc độ và độ chính xác: Các dự án yêu cầu sự cân bằng mạnh mẽ giữa tốc độ suy luận và độ chính xác của phát hiện trên nhiều quy mô model khác nhau.
  • Các ứng dụng có độ trễ nhất quán: Các kịch bản triển khai nơi thời gian suy luận có thể dự đoán được là tối quan trọng, chẳng hạn như robot hoặc các hệ thống tự hành.

Khi nào nên chọn Ultralytics (YOLO26)#

Đối với hầu hết các dự án mới, Ultralytics YOLO26 mang lại sự kết hợp tốt nhất giữa hiệu suất và trải nghiệm của 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 nhất quán, độ trễ thấp mà không có sự phức tạp của hậu xử lý Non-Maximum Suppression.
  • Môi trường chỉ dùng CPU: Các thiết bị không có tăng tốc GPU chuyên dụng, nơi suy luận CPU nhanh hơn tới 43% của YOLO26 mang lại lợi thế quyết định.
  • Phát hiện Vật thể Nhỏ: Các kịch bản thử thách như aerial drone imagery hoặc phân tích cảm biến IoT nơi ProgLoss và STAL cải thiện đáng kể độ chính xác trên các vật thể nhỏ xíu.

Thế hệ tiếp theo: Giới thiệu Ultralytics YOLO26#

Trong khi YOLOv10 đã đặt nền móng cho việc phát hiện không cần NMS, công nghệ đã phát triển nhanh chóng. Đối với các ứng dụng hiện đại, mô hình Ultralytics YOLO26 mang lại hiệu suất và khả năng sử dụng chưa từng có, tận dụng những gì tốt nhất của các thế hệ trước và tinh chỉnh chúng cho mục đích sản xuất.

YOLO26 có thiết kế end-to-end hoàn toàn thuần túy, loại bỏ việc xử lý hậu kỳ NMS cho các pipeline triển khai đơn giản hơn trên các thiết bị edge. Hơn nữa, việc loại bỏ Distribution Focal Loss (DFL) đã cải thiện đáng kể khả năng tương thích với phần cứng edge AI công suất thấp.

Về mặt training, YOLO26 giới thiệu MuSGD Optimizer, một dạng lai lấy cảm hứng từ các kỹ thuật training Large Language Model (LLM). Điều này đảm bảo quá trình training ổn định hơn và hội tụ nhanh hơn. Kết hợp với các hàm mất mát ProgLoss + STAL, YOLO26 thể hiện những cải tiến đáng kể trong việc nhận diện đối tượng nhỏ, một tính năng quan trọng đối với wildlife conservationdrone operations.

Quan trọng là, YOLO26 không chỉ là một detector đối tượng. Nó cung cấp các cải tiến dành riêng cho từng tác vụ trên diện rộng, hỗ trợ gốc Instance Segmentation, Pose Estimation sử dụng Residual Log-Likelihood Estimation (RLE), và các hàm mất mát góc chuyên biệt cho Oriented Bounding Boxes (OBB). Với tốc độ inference trên CPU nhanh hơn tới 43% so với các thế hệ tiền nhiệm, đây là lựa chọn dứt khoát cho các kỹ thuật viên linh hoạt.

Để quản lý tập trung, gắn nhãn và training trên cloud các model YOLO26, Ultralytics Platform cung cấp một giao diện trực quan giúp đơn giản hóa toàn bộ vòng đời thị giác máy tính.

Các developer quan tâm đến việc khám phá các tiến bộ gần đây khác cũng có thể đánh giá Ultralytics YOLO11 hoặc framework RT-DETR dựa trên Transformer cho các kịch bản yêu cầu các giải pháp kiến trúc riêng biệt.

Người đóng góp

Bình luận