DAMO-YOLO và YOLOv9#
Lĩnh vực phát hiện đối tượng 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ìm 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ú ý đã xuất hiện từ cộng đồng nghiên cứu: DAMO-YOLO và YOLOv9. Cả hai model đều giới thiệu những cải tiến kiến trúc đáng kể 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 chi tiết này phân tích chuyên sâu hai model, so sánh cách tiếp cận kiến trúc, phương pháp huấn luyện và khả năng triển khai thực tế riêng biệt của từng model. Chúng tôi cũng tìm hiểu vai trò quan trọng của hệ sinh thái phần mềm rộng hơn trong 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: Chọn kiến trúc phù hợp#
Dù cả hai model đều là những cột mốc quan trọng trong nghiên cứu học sâu, chúng phục vụ các triết lý triển khai hơi khác nhau.
DAMO-YOLO phát huy hiệu quả trong các môi trường có thể tận dụng Tìm kiếm kiến trúc mạng (NAS) chuyên sâu để đạt được cấu hình hiệu năng cụ thể, nên là lựa chọn đáng nghiên cứu cho triển khai edge tùy chỉnh. Ngược lại, YOLOv9 tập trung giải quyết các nút thắt thông tin trong học sâu, 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 đưa vào sản xuất, 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. Với dự án mới, model YOLO26 mới nhất hội tụ ưu điểm của cả hai: độ chính xác tiên tiến nhất kết hợp với thiết kế end-to-end tùy chọn, loại bỏ nhu cầu hậu xử lý phức tạp.
Dù DAMO-YOLO và YOLOv9 là các model học thuật mạnh mẽ, việc triển khai chúng vào sản xuất 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 tiếp cận hiệu năng tiên tiến thông qua API tinh gọn, dễ bảo trì.
Thông số kỹ thuật và nhóm tác giả#
Hiểu rõ nguồn gốc và trọng tâm phát triển của các model này sẽ cung cấp bối cảnh cần thiết để nắm bắt thế mạnh riêng của từng model.
DAMO-YOLO#
Được phát triển bởi các nhà nghiên cứu tại Alibaba Group, DAMO-YOLO tập trung 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: Kho lưu trữ tinyvision/DAMO-YOLO
- Tài liệu: README DAMO-YOLO
YOLOv9#
Được giới thiệu như một giải pháp cho tình trạng mất thông tin trong mạng tích chập sâu, YOLOv9 đẩy giới hạn lý thuyết về khả năng bảo toàn gradient trong quá trình huấn luyện.
- Tác giả: Chien-Yao Wang và Hong-Yuan Mark Liao
- Tổ chức: Viện Khoa học Thông tin, Academia Sinica, Đài Loan
- 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: Kho lưu trữ WongKinYiu/yolov9
- Tài liệu: Tài liệu Ultralytics YOLOv9
Các cải tiến kiến trúc#
DAMO-YOLO: Tập trung vào Tìm kiếm kiến trúc mạng#
DAMO-YOLO tạo sự khác biệt nhờ các thành phần được tùy chỉnh mạnh và tạo bằng máy. Backbone được tạo bằng Tìm kiếm kiến trúc mạng (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 có RepGFPN (Mạng tháp đặc trưng tổng quát được tái tham số hóa) hiệu quả để hợp nhất đặc trưng, giúp tăng cường phát hiện đối tượng đa tỷ lệ mà không làm tăng quá mức chi phí tính toán. Ngoài ra, model sử dụng thiết kế ZeroHead để đơn giản hóa head phát hiện và dùng AlignedOTA để gán nhãn, kết hợp với quy trình tăng cường chưng cất phức tạp trong quá trình huấn luyện. Các kỹ thuật này giúp suy luận nhanh, nhưng quy trình chưng cất nhiều giai đoạn thường đòi hỏi VRAM đáng kể và thời gian huấn luyện 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 đề căn bản trong mạng sâu: thông tin dữ liệu đầu vào suy giảm dần khi truyền qua các lớp 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ụ trợ được thiết kế để giữ lại các chi tiết quan trọng cho những lớp sâu, từ đó tạo ra gradient có độ tin cậy cao để cập nhật trọng số. Đi cùng PGI là kiến trúc GELAN (Mạng tổng hợp lớp hiệu quả tổng quát). 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à metric#
Khi đánh giá hiệu năng, cả hai model đều cho thấy độ 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 cao hơn với số lượng tham số tương đương và có độ chính xác tuyệt đối cao nhất nói chung, nhờ tận dụng kiến trúc PGI để duy trì độ trung thực cao trên các bộ dữ liệu khó.
| Model | kích thước (pixel) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | params (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.2 | 26.7 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.1 | 76.8 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.5 | 102.8 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 58.1 | 192.5 |
Như 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, khả năng sử dụng và hiệu quả huấn luyện do hệ sinh thái của model quyết định mới là yếu tố then chốt cho ứ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 phải huấn luyện một model "giáo viên" cồng kềnh trước khi chuyển tri thức sang model "học sinh" đích. 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 mỗi chu kỳ huấn luyện. Tương tự, kho lưu trữ YOLOv9 gốc yêu cầu thao tác với các tệp cấu hình phức tạp, điều này có thể làm chậm quá trình phát triển linh hoạt.
Ngược lại, tích hợp model vào Nền tảng Ultralytics thay đổi hoàn toàn trải nghiệm của nhà phát triển. Gói Python của Ultralytics loại bỏ phần lớn mã khung rườm rà, cho phép các nhóm dễ dàng xử lý tăng cường dữ liệu, tinh chỉnh siêu tham số và xuất model.
Ứng dụng thực tế và trường hợp sử dụng#
Các kiến trúc khác nhau thường phát huy thế mạnh ở những ngành cụ thể, tùy theo yêu cầu tài nguyên và đặc tính độ chính xác.
- DAMO-YOLO trong AI biên: Nhờ các backbone được tối ưu 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 theo phần cứng cụ thể là yêu cầu bắt buộc, 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: Với hiệu quả tham số cao và khả năng duy trì gradient nhờ PGI, YOLOv9 rất phù hợp với các tình huống phát hiện đối tượng dày đặc, chẳng hạn như phân tích ảnh hàng không hoặc theo dõi các đối tượng nhỏ trong môi trường bán lẻ đông đú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 giới hạn 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ý 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 kịch bản 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 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 ảnh hưở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ả đến 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 về 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 lớp mạng sâu khi huấn luyện.
- Đánh giá hiệu năng phát hiện độ chính xác cao: Các tình huống cần hiệu năng mạnh của YOLOv9 trên benchmark COCO làm mốc tham chiếu để so sánh kiến trúc.
Khi nào nên chọn Ultralytics (YOLO26)#
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 dành cho nhà phát triển:
- Triển khai trên thiết bị biên không cần NMS: Các ứng dụng cần inference có độ trễ thấp và ổn định mà không phải xử lý hậu kỳ Non-Maximum Suppression phức tạp.
- Môi trường chỉ có CPU: Các thiết bị không có GPU tăng tốc chuyên dụng, nơi tốc độ CPU inference nhanh hơn đến 43% của YOLO26 mang lại lợi thế rõ rệt.
- Phát hiện vật thể nhỏ: Các tình huống khó 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 khi phát hiện vật thể rất nhỏ.
Ưu thế của Ultralytics: Tiến tới YOLO26#
Đối với người dùng đang so sánh các kiến trúc 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. Head one-to-one tùy chọn (nms=False) loại bỏ bước hậu xử lý loại bỏ phi cực đại (NMS), giúp 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 có khả năng tương thích vượt trội với thiết bị biên và thiết bị công suất thấp.
Ngoài ra, YOLO26 tích hợp bộ tối ưu MuSGD mang tính đột phá, kết hợp giữa giảm gradient ngẫu nhiên và các tối ưu hóa Muon, lấy cảm hứng từ những đổi mới trong huấn luyện LLM. Nhờ đó, quá trình hội tụ khi huấn luyện rất ổn định trong khi mức sử dụng bộ nhớ vẫn thấp đáng kể so với các lựa chọn thay thế nặng Transformer.
Nhờ API trực quan của Ultralytics, bạn có thể huấn luyện một model YOLO26 hiện đại với tính năng theo dõi thử nghiệm tích hợp chỉ bằng vài dòng Python.
from ultralytics import YOLO
# Tải model YOLO26 mới nhất
model = YOLO("yolo26n.pt")
# Huấn luyện hiệu quả trên bộ dữ liệu tùy chỉnh
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Export model đã huấn luyện sang định dạng ONNX
model.export(format="onnx")Dù bạn cần phân đoạn đối tượng nâng cao, ước tính tư thế có độ chính xác cao hay phát hiện khung giới hạn thông thường, tính linh hoạt của framework Ultralytics giúp 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 học sâu và nhiều thời gian hơn để 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ác vụ 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.