DAMO-YOLO so với YOLOv9#
Bối cảnh phát hiện đối tượng theo thời gian thực tiếp tục phát triển với tốc độ chóng mặt. Khi các nhóm kỹ thuật và nhà nghiên cứu nỗ lực đạt được sự cân bằng tối ưu giữa độ chính xác, tốc độ suy luận và hiệu quả tính toán, hai kiến trúc đáng chú ý đã nổi lên từ cộng đồng nghiên cứu: DAMO-YOLO và YOLOv9. Cả hai model đều giới thiệu những đổi mới đáng kể về kiến trúc nhằm mở rộng giới hạn của thị giác máy tính.
Hướng dẫn kỹ thuật chuyên sâu này phân tích chi tiết hai model, so sánh các phương pháp tiếp cận kiến trúc độc đáo, phương pháp training và khả năng triển khai trong thực tế. Chúng ta cũng sẽ tìm hiểu vai trò quan trọng của hệ sinh thái phần mềm rộng lớn đối với quá trình phát triển AI hiện đại, đồng thời nêu bật lợi thế của các nền tảng tích hợp như Ultralytics Platform và thế hệ model mới hơn như YOLO26.
Tóm tắt điều hành: Lựa chọn kiến trúc phù hợp#
Mặc dù cả hai model đều là những cột mốc quan trọng trong nghiên cứu deep learning, chúng phù hợp với các triết lý triển khai hơi khác nhau.
DAMO-YOLO nổi bật trong các môi trường có thể tận dụng Tìm kiếm kiến trúc neural (NAS) chuyên sâu để tối ưu một cách cụ thể các đặc tính hiệu năng, trở thành một đối tượng nghiên cứu thú vị cho việc triển khai edge tùy chỉnh. Ngược lại, YOLOv9 tập trung mạnh vào việc giải quyết các nút thắt thông tin trong deep learning, mang lại hiệu quả tham số đặc biệt cao.
Tuy nhiên, đối với các triển khai sẵn sàng cho production, các nhóm kỹ thuật luôn khuyến nghị tận dụng hệ sinh thái Ultralytics thống nhất. Đối với các dự án mới, model YOLO26 mới nhất mang lại ưu điểm của cả hai: độ chính xác hiện đại kết hợp với thiết kế end-to-end tích hợp, loại bỏ nhu cầu hậu xử lý phức tạp.
Mặc dù DAMO-YOLO và YOLOv9 là các model học thuật mạnh mẽ, việc triển khai chúng trong production thường đòi hỏi nhiều công sức kỹ thuật tùy chỉnh. Sử dụng Ultralytics YOLO26 giúp bạn tiếp cận hiệu năng tiên tiến với API tinh gọn, dễ bảo trì.
Thông số kỹ thuật và tác giả#
Việc hiểu rõ nguồn gốc và trọng tâm phát triển của các model này cung cấp bối cảnh thiết yếu để đánh giá những điểm mạnh tương ứng của chúng.
DAMO-YOLO#
Được các nhà nghiên cứu tại Alibaba Group phát triển, DAMO-YOLO tập trung mạnh vào việc tự động tạo kiến trúc và hợp nhất đặc trưng hiệu quả.
- Tác giả: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang và Xiuyu Sun
- Tổ chức: Alibaba Group
- Ngày phát hành: 23 tháng 11, 2022
- Bài báo Arxiv: Bài báo nghiên cứu DAMO-YOLO
- GitHub chính thức: Repository tinyvision/DAMO-YOLO
- Tài liệu: README DAMO-YOLO
YOLOv9#
Được giới thiệu như một giải pháp cho vấn đề mất thông tin trong các mạng tích chập sâu, YOLOv9 đẩy các giới hạn lý thuyết của việc bảo toàn gradient trong quá trình training.
- Tác giả: Chien-Yao Wang và Hong-Yuan Mark Liao
- Tổ chức: Institute of Information Science, Academia Sinica, Taiwan
- Ngày phát hành: 21 tháng 2, 2024
- Bài báo Arxiv: Bài báo nghiên cứu YOLOv9
- GitHub chính thức: Repository WongKinYiu/yolov9
- Tài liệu: Tài liệu Ultralytics về YOLOv9
Các cải tiến về kiến trúc#
DAMO-YOLO: Được thúc đẩy bởi Tìm kiếm kiến trúc neural#
DAMO-YOLO tạo khác biệt nhờ các thành phần được tùy chỉnh sâu và tạo tự động bằng máy. Backbone của model được tạo bằng Tìm kiếm kiến trúc neural (NAS), đặc biệt hướng đến suy luận độ trễ thấp trên nhiều loại phần cứng.
Kiến trúc này có RepGFPN (Mạng tháp đặc trưng tổng quát hóa được tái tham số hóa) hiệu quả để hợp nhất đặc trưng, giúp tăng cường khả năng phát hiện đối tượng đa tỉ lệ mà không làm tăng quá mức overhead tính toán. Ngoài ra, model sử dụng thiết kế ZeroHead để đơn giản hóa detection head và dùng AlignedOTA cho việc gán nhãn, kết hợp với quy trình cải thiện chưng cất phức tạp trong quá trình training. Mặc dù các kỹ thuật này tạo ra tốc độ suy luận nhanh, quy trình chưng cất nhiều giai đoạn thường đòi hỏi VRAM đáng kể và thời gian training kéo dài.
YOLOv9: Giải quyết nút thắt thông tin#
YOLOv9 giải quyết một vấn đề nền tảng trong các mạng sâu: sự suy giảm dần thông tin dữ liệu đầu vào khi dữ liệu đi qua các layer liên tiếp.
Để khắc phục vấn đề này, các tác giả đã giới thiệu Thông tin gradient có thể lập trình (PGI), một framework giám sát phụ được thiết kế để giữ lại các chi tiết quan trọng cho những layer sâu, tạo ra gradient có độ tin cậy cao để cập nhật trọng số. Đi kèm với PGI là kiến trúc GELAN (Mạng tổng hợp layer hiệu quả tổng quát hóa). GELAN tối ưu hiệu quả tham số bằng cách kết hợp ưu điểm của CSPNet và ELAN, tối đa hóa luồng thông tin đồng thời giảm thiểu nghiêm ngặt Số phép toán dấu phẩy động (FLOPs).
Phân tích hiệu năng và các chỉ số#
Khi đánh giá hiệu năng, cả hai model đều đạt Độ chính xác trung bình (mAP) cao trên các benchmark tiêu chuẩn như COCO. YOLOv9 đạt độ chính xác tuyệt đối cao hơn trên các kích thước model tương đương, tận dụng kiến trúc PGI để duy trì độ trung thực cao trên các dataset khó.
| Model | kích thước (pixel) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | tham số (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
Như minh họa ở trên, YOLOv9-E đạt độ chính xác cao nhất, trong khi các biến thể DAMO-YOLO và YOLOv9 nhỏ hơn vẫn duy trì tốc độ suy luận rất cạnh tranh nhờ các tối ưu hóa TensorRT.
Phương pháp huấn luyện và hệ sinh thái#
Mặc dù kiến trúc thuần túy rất quan trọng, tính dễ sử dụng và hiệu quả training do hệ sinh thái của model quyết định mới là yếu tố then chốt đối với các ứng dụng thực tế.
Việc DAMO-YOLO phụ thuộc vào chưng cất tri thức thường đòi hỏi training một model “teacher” cồng kềnh trước khi chuyển tri thức sang model “student” mục tiêu. Phương pháp nghiên cứu truyền thống này làm tăng đáng kể yêu cầu bộ nhớ và thời gian của mỗi chu kỳ training. Tương tự, repository YOLOv9 gốc yêu cầu xử lý các file cấu hình phức tạp, có thể làm chậm quá trình phát triển linh hoạt.
Ngược lại, việc tích hợp các model vào Ultralytics Platform hoàn toàn thay đổi trải nghiệm của developer. Package Python của Ultralytics ẩn đi phần code boilerplate, cho phép các nhóm dễ dàng xử lý augmentation dữ liệu, tinh chỉnh hyperparameter và export model.
Ứng dụng và trường hợp sử dụng trong thực tế#
Các kiến trúc khác nhau đương nhiên sẽ phát huy thế mạnh trong những ngành cụ thể, tùy thuộc vào yêu cầu tài nguyên và đặc tính độ chính xác của chúng.
- DAMO-YOLO trong Edge AI: Do các backbone được tối ưu hóa bằng NAS, DAMO-YOLO thường được nghiên cứu trong các hệ thống nhúng, nơi việc tái tham số hóa chuyên biệt theo phần cứng là một yêu cầu bắt buộc nghiêm ngặt, chẳng hạn như triển khai ASIC tùy chỉnh trong kiểm soát chất lượng sản xuất cơ bản.
- YOLOv9 trong phân tích độ chính xác cao: Với hiệu quả tham số cao và khả năng duy trì gradient được thúc đẩy bởi PGI, YOLOv9 rất phù hợp cho các kịch bản phát hiện đối tượng dày đặc, chẳng hạn như phân tích ảnh chụp từ trên không hoặc theo dõi các đối tượng nhỏ trong môi trường bán lẻ đông đúc.
Các trường hợp sử dụng và khuyến nghị#
Việc lựa chọn giữa DAMO-YOLO và YOLOv9 phụ thuộc vào yêu cầu cụ thể của dự án, các ràng buộc triển khai và ưu tiên về hệ sinh thái.
Khi nào nên chọn DAMO-YOLO#
DAMO-YOLO là lựa chọn phù hợp cho:
- Phân tích video thông lượng cao: Xử lý các luồng video FPS cao trên hạ tầng GPU NVIDIA cố định, trong đó 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 tình huống có yêu cầu 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 theo 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 được reparameterize hiệu quả đối với hiệu năng phát hiện.
Khi nào nên chọn YOLOv9#
YOLOv9 được khuyến nghị cho:
- Nghiên cứu nút thắt thông tin: Các dự án học thuật nghiên cứu kiến trúc Programmable Gradient Information (PGI) và Generalized Efficient Layer Aggregation Network (GELAN).
- Nghiên cứu tối ưu hóa luồng gradient: Các nghiên cứu tập trung vào việc tìm hiểu và giảm thiểu mất mát thông tin trong các layer sâu của network trong quá trình huấn luyện.
- Benchmark phát hiện độ chính xác cao: Các tình huống cần hiệu năng benchmark COCO mạnh của YOLOv9 làm mốc tham chiếu cho việc so sánh kiến trúc.
Khi nào nên chọn Ultralytics (YOLO26)#
Đối với hầu hết dự án mới, Ultralytics YOLO26 mang đến sự kết hợp tốt nhất giữa hiệu năng và trải nghiệm developer:
- 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 bước hậu xử lý triệt tiêu cực đại.
- Môi trường chỉ sử dụng 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 trên CPU nhanh hơn tới 43% của YOLO26 mang lại lợi thế quyết định.
- Phát hiện đối tượng nhỏ: Các kịch bản đầy thách thức như ảnh chụp từ drone trên không hoặc phân tích cảm biến IoT, trong đó ProgLoss và STAL cải thiện đáng kể độ chính xác trên các đối tượng rất nhỏ.
Lợi thế Ultralytics: Tiến tới YOLO26#
Đối với người dùng đang so sánh các kiến trúc cũ, việc chuyển sang hệ sinh thái Ultralytics hiện đại—cụ thể là các model YOLO26 mới nhất—mang lại lợi thế vượt trội.
YOLO26 thay đổi căn bản bối cảnh triển khai nhờ Thiết kế end-to-end không cần NMS. Bằng cách loại bỏ hoàn toàn hậu xử lý NMS (NMS), model mang lại kiến trúc triển khai nhanh hơn và đơn giản hơn đáng kể. Kết hợp với việc loại bỏ Distribution Focal Loss (DFL), YOLO26 cung cấp khả năng tương thích vượt trội cho các thiết bị edge và công suất thấp.
Ngoài ra, YOLO26 tích hợp MuSGD Optimizer mang tính đột phá, là sự kết hợp giữa Stochastic Gradient Descent và các tối ưu hóa Muon, lấy cảm hứng từ những đổi mới trong training LLM. Điều này tạo ra quá trình hội tụ training ổn định cao đồng thời duy trì mức sử dụng bộ nhớ thấp đáng kể so với các giải pháp phụ thuộc nhiều vào Transformer.
Nhờ API Ultralytics trực quan, bạn có thể train một model YOLO26 hiện đại với tính năng theo dõi experiment tích hợp chỉ bằng vài dòng Python.
from ultralytics import YOLO
# Load the latest NMS-free YOLO26 model
model = YOLO("yolo26n.pt")
# Train on your custom dataset efficiently
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Export the trained model to ONNX format
model.export(format="onnx")Dù bạn cần phân đoạn instance nâng cao, ước tính pose có độ chính xác cao hay phát hiện bounding box tiêu chuẩn, tính linh hoạt của framework Ultralytics đảm bảo nhóm của bạn dành ít thời gian hơn cho việc cấu hình môi trường deep learning và nhiều thời gian hơn cho việc triển khai các giải pháp AI mạnh mẽ. Với những cải tiến chuyên biệt cho từng task như ProgLoss + STAL nhằm nâng cao khả năng nhận diện đối tượng nhỏ, YOLO26 là lựa chọn hàng đầu cho thế hệ ứng dụng thị giác tiếp theo.