Link to this sectionSo sánh YOLOv7 và DAMO-YOLO#
Bối cảnh phát hiện đối tượng thời gian thực liên tục phát triển, với các nhà nghiên cứu và kỹ sư luôn cố gắng tìm kiếm 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ẽ đi sâu vào hai kiến trúc đáng chú ý từ năm 2022: YOLOv7 và DAMO-YOLO. Cả hai mô hình đều giới thiệu những khái niệm mới cho cộng đồng thị giác máy tính, giải quyết các thách thức khác nhau trong việc huấn luyện mô hình, thiết kế kiến trúc và triển khai.
Link to this sectionBối cảnh mô hình và thông tin kỹ thuật#
Trước khi đi sâu vào kiến trúc của chúng, điều cần thiết là phải hiểu nguồn gốc của hai mô hình này. Cả hai đều được phát triển bởi các nhóm nghiên cứu hàng đầu và giới thiệu các phương pháp luận tiên tiến để thúc đẩy giới hạn của việc phát hiện đối tượng thời gian thực.
Link to this sectionChi tiết về YOLOv7#
Được phát triển như một sự kế thừa của dòng YOLO, YOLOv7 đã giới thiệu khái niệm "túi khôn" (bag-of-freebies) có thể huấn luyện để tăng cường đáng kể độ chính xác mà không làm tăng chi phí suy luận.
- Tác giả: Chien-Yao Wang, Alexey Bochkovskiy và Hong-Yuan Mark Liao
- Tổ chức: Institute of Information Science, Academia Sinica, Taiwan
- Ngày: 2022-07-06
- Arxiv: https://arxiv.org/abs/2207.02696
- GitHub: https://github.com/WongKinYiu/yolov7
- Tài liệu: https://docs.ultralytics.com/models/yolov7/
Link to this sectionChi tiết về DAMO-YOLO#
Được tạo ra bởi các nhà nghiên cứu tại Alibaba Group, DAMO-YOLO tập trung mạnh vào Neural Architecture Search (NAS) và chưng cất tri thức nâng cao để xây dựng các mô hình hiệu quả cao cho phần cứng đa dạng.
- Tác giả: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang và Xiuyu Sun
- Tổ chức: Alibaba Group
- Ngày: 2022-11-23
- Arxiv: https://arxiv.org/abs/2211.15444v2
- GitHub: https://github.com/tinyvision/DAMO-YOLO
Link to this sectionCải tiến kiến trúc#
Link to this sectionYOLOv7: Phân tích đường truyền Gradient và Tái tham số hóa#
YOLOv7 tập trung mạnh vào Extended Efficient Layer Aggregation Networks (E-ELAN). Các tác giả đã thiết kế E-ELAN bằng cách phân tích các đường truyền gradient của mạng, đảm bảo rằng mạng có thể liên tục học hỏi mà không làm suy giảm đường truyền gradient gốc. Hơn nữa, YOLOv7 sử dụng hiệu quả việc tái tham số hóa mô hình trong quá trình suy luận, kết hợp liền mạch các lớp để giảm FLOPs và tăng tốc thời gian thực thi. Điều này làm cho nó có khả năng cao cho suy luận thời gian thực trên các GPU hiện đại.
Link to this sectionDAMO-YOLO: Neural Architecture Search và RepGFPN#
DAMO-YOLO khác biệt bằng cách tận dụng mạnh mẽ Neural Architecture Search (NAS) dưới các ràng buộc về độ trễ. Nó sử dụng một framework có tên là MAE-NAS để khám phá các cấu trúc xương sống (backbone) tối ưu được thiết kế riêng cho phần cứng cụ thể, chẳng hạn như thiết bị di động hoặc các bộ tăng tốc biên cụ thể. Đối với phần cổ (neck), nó giới thiệu RepGFPN (Rep-parameterized Generalized Feature Pyramid Network) hiệu quả và sử dụng thiết kế ZeroHead để giảm thiểu gánh nặng tính toán trong các đầu ra dự đoán.
Trong khi YOLOv7 dựa vào các tối ưu hóa kiến trúc nội tại 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. Nó yêu cầu huấn luyện một mô hình giáo viên lớn để chưng cất tri thức vào một mô hình học sinh nhỏ hơn, điều này có thể tốn kém về mặt tính toán trong giai đoạn huấn luyện.
Link to this sectionSo sánh Hiệu năng và Chỉ số#
Khi so sánh các mô hình này, việc xem xét mAP (Mean Average Precision), tốc độ suy luận và độ phức tạp của mô hình là rất quan trọng.
| Mô hình | kích thước (pixel) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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 |
Bảng trên cho thấy YOLOv7 mở rộng tốt vào các miền có độ chính xác cao (YOLOv7x), trong khi DAMO-YOLO cung cấp các mô hình nhỏ gọn đã được tối ưu hóa cao cho các môi trường bị hạn chế.
Link to this sectionHiệu quả đào tạo và yêu cầu bộ nhớ#
Một sự khác biệt lớn giữa hai kiến trúc nằm ở phương pháp huấn luyện của chúng. Việc DAMO-YOLO dựa vào chưng cất có nghĩa là huấn luyện một mô hình mới từ đầu hoặc tinh chỉnh (fine-tuning) trên một tập dữ liệu thị giác máy tính tùy chỉnh thường đòi hỏi đáng kể nhiều VRAM và thời gian tính toán GPU hơn.
Ngược lại, các mô hình được tích hợp vào hệ sinh thái Ultralytics, chẳng hạn như YOLOv7 và các phiên bản sau đó, được tối ưu hóa mạnh mẽ cho yêu cầu bộ nhớ. Chúng cho phép các nhà phát triển sử dụng kích thước batch lớn hơn trên phần cứng tiêu dùng mà không gặp lỗi hết bộ nhớ, giúp đơn giản hóa quá trình theo dõi thử nghiệm và lặp lại.
Link to this sectionLợi thế từ Ultralytics#
Mặc dù cả YOLOv7 và DAMO-YOLO đều cung cấp các tính năng hấp dẫn, việc triển khai các mô hình trong hệ sinh thái Ultralytics mang lại trải nghiệm nhà phát triển vô song.
- Dễ sử dụng: Gói Python Ultralytics cung cấp một 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 mô hình, bắt đầu vòng lặp huấn luyện, hoặc chạy suy luận chỉ với một vài dòng code.
- Hệ sinh thái được duy trì tốt: Ultralytics cung cấp các bản cập nhật thường xuyên, đảm bảo khả năng tương thích nguyên bản với các bản phát hành PyTorch và trình điều khiển CUDA mới nhất. Nó cũng đơn giản hóa việc xuất mô hình sang các định dạng như ONNX, TensorRT và OpenVINO.
- Tính linh hoạt: Không giống như DAMO-YOLO, vốn chỉ là một trình phát hiện đối tượng, hệ sinh thái Ultralytics hỗ trợ đa dạng các tác vụ một cách nguyên bản. Các mô hình từ gia đình Ultralytics có thể thực hiện phát hiện khung bao tiêu chuẩn, ước tính tư thế, phân đoạn cá thể và Oriented Bounding Boxes (OBB).
Link to this sectionVí dụ về Code: Bắt đầu nhanh chóng#
Dưới đây là cách bạn có thể dễ dàng tải, huấn luyện và chạy suy luận bằng các mô hình Ultralytics:
from ultralytics import YOLO
# Load a pre-trained YOLOv7 model (or newer models like yolo26n.pt)
model = YOLO("yolov7.pt")
# Train the model on the COCO8 dataset with automated hyperparameter handling
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference on an image
predictions = model("https://ultralytics.com/images/bus.jpg")
# Export to ONNX format for deployment
model.export(format="onnx")Với Ultralytics, việc xuất các trọng số đã huấn luyện của bạn sang nhiều định dạng tăng tốc phần cứng (như TensorRT hoặc CoreML) được xử lý thông qua một tham số duy nhất trong lệnh xuất, tiết kiệm hàng giờ cấu hình script phức tạp.
Link to this sectionThế hệ tiếp theo: YOLO26#
Trong khi YOLOv7 vẫn là một kiến trúc kế thừa mạnh mẽ, lĩnh vực này đã tiến bộ nhanh chóng. Đối với các triển khai mới, Ultralytics YOLO26 (phát hành 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 trong hầu hết mọi chỉ số.
- Thiết kế NMS-Free End-to-End: Được tiên phong trong YOLOv10, YOLO26 loại bỏ nguyên bản việc hậu xử lý Non-Maximum Suppression (NMS). Điều này đảm bảo suy luận có tính quyết định, độ trễ cực thấp, rất quan trọng đối với công nghệ robot và xe tự lái.
- Trình tối ưu hóa 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), trình tối ưu hóa lai này kết hợp SGD và Muon để mang lại quá trình huấn luyện ổn định cao và hội tụ nhanh hơn trên các tập dữ liệu.
- Suy luận CPU nhanh hơn tới 43%: Bằng cách loại bỏ chiến lược Distribution Focal Loss (DFL), YOLO26 tăng cường đáng kể hiệu suất trên các nền tảng điện toán biên và CPU.
- ProgLoss + STAL: Những hàm loss tiên tiến này mang lại những cải tiến đáng kể trong việc phát hiện các đối tượng nhỏ, làm cho YOLO26 đặc biệt phù hợp với hình ảnh trên không và giám sát chi tiết.
Link to this sectionCác trường hợp sử dụng lý tưởng#
Link to this sectionKhi 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 đang đầu tư mạnh vào việc nghiên cứu các phương pháp luận Neural Architecture Search.
- Độ trễ bị ràng buộc cực độ trên phần cứng cụ thể: Nếu bạn có nguồn lực để chạy các tìm kiếm NAS toàn diện nhằm tìm ra cấu trúc xương sống được thiết kế riêng cho chip tăng tốc AI tùy chỉnh.
Link to this sectionKhi nào nên chọn YOLOv7#
- Pipeline GPU hiện có: Dành cho các đội ngũ duy trì các pipeline sản xuất cũ đã được tối ưu hóa sâu sắc xung quanh kiến trúc E-ELAN cụ thể của YOLOv7 trên phần cứng NVIDIA cao cấp.
Link to this sectionTại sao nên chuyển sang các mô hình Ultralytics hiện đại (YOLO11 / YOLO26)#
Đối với đại đa số các ứ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 mô hình Ultralytics hiện đại là không đối thủ. Việc tích hợp với Nền tảng Ultralytics cung cấp một pipeline ML hoàn chỉnh, mang lại sự dễ sử dụng, tài liệu vượt trội, hỗ trợ cộng đồng mạnh mẽ và tính linh hoạt đa tác vụ. Cho dù theo dõi hàng tồn kho trên Raspberry Pi hay chạy các phân tích nặng trong đám mây, các mô hình như YOLO26 đều mang lại sự cân bằng hiệu suất lý tưởng cho tương lai của thị giác máy tính.