Chuyển đến nội dung

DAMO-YOLO so với YOLOv10: Sự phát triển của Object Detection thời gian thực hiệu quả

Lĩnh vực thị giác máy tính đã chứng kiến ​​sự phát triển nhanh chóng trong các kiến ​​trúc phát hiện đối tượng thời gian thực. Khi so sánh DAMO- YOLOYOLOv10 , chúng ta nhận thấy hai triết lý khác biệt trong thiết kế mô hình: tìm kiếm kiến ​​trúc tự động so với phương pháp từ đầu đến cuối. NMS - Tối ưu hóa miễn phí. Mặc dù cả hai đều đẩy giới hạn về độ chính xác và tốc độ, nhưng cấu trúc cơ bản và trường hợp sử dụng lý tưởng của chúng lại khác nhau đáng kể.

DAMO- YOLO Tìm kiếm kiến ​​trúc mạng nơ-ron ở quy mô lớn

Được phát triển bởi Tập đoàn Alibaba, DAMO-YOLO nổi lên như một bộ detect mạnh mẽ tập trung vào việc tận dụ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 năm 2022
  • Arxiv:2211.15444v2
  • GitHub:tinyvision/DAMO-YOLO

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

DAMO-YOLO phụ thuộc nhiều vào Neural Architecture Search (NAS) để cân bằng hiệu suất và độ trễ. Kiến trúc xương sống (backbone) của nó, được đặt 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 ràng buộc tính toán nghiêm ngặt để tìm ra độ sâu và chiều rộng lớp tối ưu.

Để xử lý việc kết hợp các đặc trưng trên nhiều tỷ lệ, mô hình sử dụng RepGFPN (Reparameterized Generalized Feature Pyramid Network) hiệu quả. Thiết kế cổ dày này đặc biệt giỏi trong việc trích xuất các hệ thống phân cấp không gian phức tạp, khiến nó hữu ích trong các kịch bản như phân tích ảnh chụp từ trên không . Ngoài ra, DAMO- YOLO Giới thiệu ZeroHead, một đầu phát hiện được tinh giản giúp giảm đáng kể độ phức tạp của các lớp 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 huấn luyện.

Huấn luyện chưng cất

DAMO-YOLO thường sử dụng quy trình chưng cất tri thức (knowledge distillation) đa giai đoạn. Nó yêu cầu huấn luyện một mô hình "giáo viên" nặng hơn để hướng dẫn mô hình "học sinh" nhỏ hơn, giúp trích xuất mAP (mean Average Precision) cao hơn nhưng 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 từ đầu đến cuối

Được phát hành một năm rưỡi sau đó, YOLOv10 đã tạo ra một sự thay đổi mô hình bằng cách loại bỏ hoàn toàn nhu cầu về việc loại bỏ tối đa không cần thiết (Non-Maximum Suppression) NMS ) trong quá trình suy luận.

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

Đặc điểm nổi bật của YOLOv10 là nhiệm vụ kép nhất quán của nó cho NMS - huấn luyện miễn phí. Các bộ dò truyền thống dự đoán nhiều hộp giới hạn chồng chéo cho một đối tượng duy nhất, đòi hỏi NMS để lọc các bản ghi trùng lặp. Bước xử lý hậu kỳ này tạo ra điểm nghẽn, đặ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 tự nhiên dự đoán một hộp giới hạn 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ế mô hình toàn diện hướng đến hiệu quả và độ chính xác. 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 phần xương sống và phần đầu để giảm số lượng FLOPs và tham số. Thiết kế gọn nhẹ này đảm bảo YOLOv10 Cung cấp độ trễ suy luận đặc biệt tốt khi 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à điểm chuẩn

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

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)
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 Nó giữ vững vị thế về độ chính xác. YOLOv10 Luôn cung cấp độ trễ thấp hơn và trọng số mô hình nhỏ hơn đáng kể. Ví dụ, YOLOv10s đạt được hiệu suất cao hơn một chút. mAP (46,7%) so với DAMO-YOLO (46,0%) trong khi sử dụng ít hơn một nửa số tham số (7,2 triệu so với 16,3 triệu). Yêu cầu bộ nhớ thấp hơn giúp YOLOv10 Một lựa chọn vô cùng linh hoạt cho các hệ thống nhúng.

Hiệu quả và tính khả dụng của đào tạo

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

Ngược lại, YOLOv10 hưởng lợi rất nhiều từ việc được tích hợp hoàn toàn vào Ultralytics Python SDK. Huấn luyện một mô hình tùy chỉnh chỉ liên quan đến mã boilerplate tối thiểu. Ultralytics tự động xử lý tăng cường dữ liệu, điều chỉnh siêu tham sốtheo dõi thử nghiệm.

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 Ultralytics Hệ sinh thái này cho phép các nhà phát triển chuyển từ bản mẫu sang mô hình ONNX hoàn chỉnh chỉ với vài dòng mã, bỏ qua các thiết lập môi trường phức tạp mà các framework cũ yêu cầu.

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

  • Bán lẻ thông minh (DAMO-YOLO): Độ chính xác của DAMO-YOLO rất phù hợp cho môi trường máy chủ mật độ cao phân tích hành vi khách hàng, 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.
  • Phương tiện tự hành (YOLOv10): Kiến trúc không NMS đảm bảo độ trễ xác định và có thể dự đoán, điều này rất quan trọng đối với các hệ thống an toàn trong lái xe tự hành.
  • Tự động hóa công nghiệp (YOLOv10): Phát hiện lỗi trên các dây chuyền lắp ráp di chuyển nhanh đòi hỏi các mô hình tối đa hóa tốc độ suy luận thời gian thực mà không tiêu thụ VRAM lớn, biến YOLOv10 thành một ứng cử viên hàng đầu cho việc triển khai biên.

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 các yêu cầu dự án cụ thể, các ràng buộc triển khai và sở thích 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ý các 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 có ràng buộc nghiêm ngặt về độ trễ GPU 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 tìm kiếm kiến trúc mạng nơ-ron: Nghiên cứu ảnh hưởng của tìm kiếm kiến trúc tự động (MAE-NAS) và các backbone được tham số hóa lại hiệu quả đến hiệu suất detect.

Khi nào nên chọn YOLOv10

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

  • detect thời gian thực không NMS: Các ứng dụng hưởng lợi từ detect end-to-end mà không cần Non-Maximum Suppression, giảm độ phức tạp khi triển khai.
  • Đánh đổi 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 detect trên các quy mô mô hình khác nhau.
  • Ứng dụng có độ trễ nhất quán: Các kịch bản triển khai mà thời gian suy luận có thể dự đoán được là rất quan trọng, chẳng hạn như trong robot học hoặc các hệ thống tự hành.

Khi nào nên lựa 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 năng và trải nghiệm dành cho nhà phát triển:

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

Thế hệ tiếp theo: Bước vào Ultralytics YOLO26

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

YOLO26 sở hữu thiết kế hoàn toàn khép kín, loại bỏ mọi rào cản. NMS Xử lý hậu kỳ giúp đơn giản hóa quy trình triển khai trên các thiết bị biên. Hơn nữa, việc loại bỏ hiện tượng suy hao tiêu điểm phân tán (DFL) đã cải thiện đáng kể khả năng tương thích với phần cứng AI biên công suất thấp.

Về khía cạnh huấn luyện, YOLO26 giới thiệu bộ tối ưu hóa MuSGD , một mô hình lai được 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). Điều này đảm bảo quá trình huấn luyện ổ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 nhận dạng vật thể nhỏ, một tính năng quan trọng đối với bảo tồn động vật hoang dãhoạt động của máy bay không người lái .

Điều quan trọng là, YOLO26 không chỉ là một trình detect đối tượng. Nó mang đến những cải tiến chuyên biệt cho từng tác vụ trên toàn diện, hỗ trợ nguyên bản Phân đoạn đối tượng, Ước tính tư thế sử dụng Ước tính Log-Likelihood phần dư (RLE), và các hàm mất mát góc chuyên biệt cho Hộp giới hạn định hướng (obb). Với khả năng suy luận trên CPU nhanh hơn tới 43% so với các phiên bản tiền nhiệm, đây là lựa chọn tối ưu cho các nhóm kỹ thuật linh hoạt.

Để quản lý tập trung, chú thích và huấn luyện trên đám mây các mô hình YOLO26, Nền tảng Ultralytics cung cấp 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 nhà phát triển 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.


Bình luận