Ultralytics YOLO27:
Get Started

YOLOv7 và DAMO-YOLO#

Lĩnh vực phát hiện vật thể thời gian thực không ngừng phát triển, khi các nhà nghiên cứu và kỹ sư nỗ lực tìm ra sự cân bằng tối ưu giữa tốc độ và độ chính xác. Trong bài so sánh kỹ thuật này, chúng ta sẽ phân tích sâu hai kiến trúc đáng chú ý ra mắt năm 2022: YOLOv7 và DAMO-YOLO. Cả hai model đều giới thiệu các khái niệm mới cho cộng đồng thị giác máy tính, giải quyết những thách thức khác nhau trong huấn luyện model, thiết kế kiến trúc và triển khai.

Bối cảnh và thông tin kỹ thuật về các model#

Trước khi đi sâu vào kiến trúc, cần hiểu nguồn gốc của hai model này. Cả hai đều do các nhóm nghiên cứu hàng đầu phát triển và giới thiệu những phương pháp tiên tiến nhằm thúc đẩy giới hạn của phát hiện vật thể thời gian thực.

Thông tin YOLOv7#

Được phát triển tiếp nối dòng YOLO, YOLOv7 giới thiệu khái niệm “bag-of-freebies” có thể huấn luyện để cải thiện đáng kể độ chính xác mà không làm tăng chi phí suy luận.

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

Thông tin về DAMO-YOLO#

Được các nhà nghiên cứu tại Alibaba Group tạo ra, DAMO-YOLO tập trung mạnh vào Tìm kiếm kiến trúc mạng (NAS) và chưng cất tri thức tiên tiến để xây dựng các model hiệu quả cao cho nhiều loại phần cứng.

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

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

YOLOv7: Phân tích đường truyền gradient và tái tham số hóa#

YOLOv7 tập trung mạnh vào mạng tổng hợp lớp hiệu quả mở rộng (E-ELAN). Các tác giả thiết kế E-ELAN bằng cách phân tích đường truyền gradient của mạng, đảm bảo mạng có thể liên tục học mà không làm suy giảm đường truyền gradient ban đầu. Ngoài ra, YOLOv7 tận dụng hiệu quả kỹ thuật tái tham số hóa model trong quá trình suy luận, hợp nhất các lớp một cách liền mạch để giảm FLOPs và rút ngắn thời gian thực thi. Nhờ đó, model có khả năng cao đáp ứng suy luận thời gian thực trên GPU hiện đại.

DAMO-YOLO: Tìm kiếm kiến trúc mạng và RepGFPN#

DAMO-YOLO đi theo hướng khác khi tận dụng mạnh Tìm kiếm kiến trúc mạng (NAS) với các ràng buộc về độ trễ. Model sử dụng framework có tên MAE-NAS để tìm ra backbone tối ưu phù hợp với phần cứng cụ thể, chẳng hạn như thiết bị di động hoặc bộ tăng tốc edge chuyên dụng. Ở phần neck, model giới thiệu RepGFPN hiệu quả (Mạng kim tự tháp đặc trưng tổng quát hóa tái tham số hóa) và sử dụng thiết kế ZeroHead để giảm thiểu gánh nặng tính toán ở các head dự đoán.

Khác biệt về chưng cất tri thức

Trong khi YOLOv7 dựa vào các tối ưu hóa kiến trúc sẵn có mạnh mẽ, DAMO-YOLO phụ thuộc nhiều vào quy trình chưng cất tri thức đa giai đoạn phức tạp. Quy trình này đòi hỏi huấn luyện một model teacher lớn để chưng cất tri thức sang model student nhỏ hơn, có thể tiêu tốn nhiều tài nguyên tính toán trong giai đoạn huấn luyện.

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

Khi so sánh các model này, cần xem xét mAP (độ chính xác trung bình), tốc độ suy luận và độ phức tạp của model.

Modelkích thước
(pixel)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
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

Bảng trên cho thấy YOLOv7 mở rộng tốt ở các bài toán cần độ chính xác cao (YOLOv7x), trong khi DAMO-YOLO cung cấp các model tiny được tối ưu cao cho môi trường hạn chế tài nguyên.

Hiệu quả huấn luyện và yêu cầu bộ nhớ#

Một khác biệt lớn giữa hai kiến trúc nằm ở phương pháp huấn luyện. Việc DAMO-YOLO phụ thuộc vào chưng cất đồng nghĩa với việc huấn luyện model mới từ đầu hoặc fine-tune trên dataset thị giác máy tính tùy chỉnh thường đòi hỏi nhiều VRAM và thời gian tính toán GPU hơn đáng kể.

Ngược lại, các model được hỗ trợ gốc trong hệ sinh thái Ultralytics, chẳng hạn YOLOv8 và các phiên bản mới hơn, được tối ưu mạnh về yêu cầu bộ nhớ. Các model này cho phép nhà phát triển sử dụng batch size lớn hơn trên phần cứng phổ thông mà không gặp lỗi hết bộ nhớ, giúp đơn giản hóa quy trình theo dõi thử nghiệm và lặp lại.

Lợi thế của Ultralytics#

Dù YOLOv7 và DAMO-YOLO đều có những tính năng thuyết phục, việc triển khai model trong hệ sinh thái Ultralytics mang lại trải nghiệm phát triển vượt trội.

  • Dễ sử dụng: Gói Python của Ultralytics cung cấp API thống nhất, đơn giản. Bạn có thể nhanh chóng chuyển đổi giữa các kiến trúc model, bắt đầu vòng lặp huấn luyện hoặc chạy suy luận chỉ với vài dòng code.
  • Hệ sinh thái được bảo trì tốt: Ultralytics cung cấp các bản cập nhật thường xuyên, đảm bảo tương thích gốc với các phiên bản PyTorch và driver CUDA mới nhất. Nền tảng cũng đơn giản hóa việc export model sang các định dạng như ONNX, TensorRT và OpenVINO.
  • Tính linh hoạt: Không giống DAMO-YOLO, vốn chỉ là detector vật thể, hệ sinh thái Ultralytics hỗ trợ nhiều tác vụ ngay từ đầu. Các model thuộc dòng Ultralytics có thể thực hiện phát hiện hộp giới hạn thông thường, ước tính tư thế, phân đoạn đối tượng và hộp giới hạn định hướng (OBB).

Ví dụ code: Bắt đầu nhanh#

Dưới đây là cách dễ dàng tải, huấn luyện và chạy suy luận bằng các model Ultralytics:

from ultralytics import YOLO

# Tải model YOLO26 đã huấn luyện trước (Ultralytics không hỗ trợ trọng số YOLOv7 gốc)
model = YOLO("yolo26n.pt")

# Huấn luyện model trên dataset COCO8 với cơ chế xử lý siêu tham số tự động
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)

# Chạy suy luận trên một ảnh
predictions = model("https://ultralytics.com/images/bus.jpg")

# Xuất sang định dạng ONNX để triển khai
model.export(format="onnx")
Export model

Với Ultralytics, việc export trọng số đã huấn luyện sang nhiều định dạng tăng tốc phần cứng (như TensorRT hoặc CoreML) chỉ cần một đối số trong lệnh export, giúp tiết kiệm hàng giờ cấu hình script phức tạp.

Thế hệ tiếp theo: YOLO26#

Dù YOLOv7 vẫn là một kiến trúc cũ mạnh mẽ, lĩnh vực này đã phát triển nhanh chóng. Với các triển khai mới, Ultralytics YOLO26 (ra mắt tháng 1 năm 2026) là tiêu chuẩn được khuyến nghị, vượt trội hơn các thế hệ trước ở hầu hết mọi chỉ số.

  • Thiết kế end-to-end không cần NMS: Được tiên phong lần đầu trong YOLOv10, head one-to-one tùy chọn của YOLO26 (nms=False) loại bỏ bước hậu xử lý Non-Maximum Suppression (NMS). Điều này đảm bảo suy luận có độ trễ cực thấp và xác định, yếu tố thiết yếu đối với robot và công nghệ xe tự hành.
  • Bộ tối ưu MuSGD: Lấy cảm hứng từ các kỹ thuật huấn luyện LLM tiên tiến (như Kimi K2 của Moonshot AI), bộ tối ưu lai này kết hợp SGD và Muon để giúp quá trình huấn luyện trên nhiều dataset ổn định hơn và hội tụ nhanh hơn.
  • Suy luận trên CPU nhanh hơn tới 43%: Bằng cách loại bỏ Distribution Focal Loss (DFL) một cách có chủ đích, YOLO26 cải thiện đáng kể hiệu năng trên các nền tảng edge computing và CPU.
  • ProgLoss + STAL: Các hàm loss tiên tiến này cải thiện đáng kể khả năng phát hiện vật thể nhỏ, khiến YOLO26 đặc biệt phù hợp với ảnh chụp từ trên không và giám sát chi tiết.

Các trường hợp sử dụng phù hợp nhất#

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

  • Nghiên cứu học thuật về NAS: Nếu tổ chức của bạn tập trung mạnh vào nghiên cứu các phương pháp Tìm kiếm kiến trúc mạng.
  • Độ trễ cực thấp trên phần cứng chuyên dụng: Nếu bạn có đủ nguồn lực để chạy các lượt tìm kiếm NAS toàn diện nhằm tìm backbone phù hợp cho chip tăng tốc AI tùy chỉnh.

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

  • Pipeline GPU hiện có: Dành cho các nhóm duy trì pipeline production cũ được tối ưu sâu cho kiến trúc E-ELAN riêng của YOLOv7 trên phần cứng NVIDIA cao cấp.

Vì sao nên chuyển sang các model Ultralytics hiện đại (YOLO11 / YOLO26)#

Đối với phần lớn ứng dụng doanh nghiệp—từ phân tích bán lẻ và sản xuất thông minh đến chăm sóc sức khỏe—các model Ultralytics hiện đại không có đối thủ. Việc tích hợp với Ultralytics Platform cung cấp một pipeline ML hoàn chỉnh, dễ sử dụng, tài liệu vượt trội, hỗ trợ cộng đồng vững chắc và tính linh hoạt đa tác vụ. Dù là theo dõi hàng tồn kho trên Raspberry Pi hay chạy phân tích chuyên sâu trên cloud, các model như YOLO26 đều mang lại sự cân bằng hiệu năng lý tưởng cho tương lai của thị giác máy tính.

Người đóng góp

Bình luận