Link to this sectionYOLOv7 so với YOLOv8#
Sự phát triển nhanh chóng của thị giác máy tính đã tạo ra hàng loạt công cụ mạnh mẽ cho các nhà phát triển và nghiên cứu. Khi quyết định chọn kiến trúc phù hợp cho quy trình nhận diện đối tượng, việc so sánh các model đã được khẳng định là rất cần thiết. Hướng dẫn kỹ thuật này sẽ phân tích sâu về các kiến trúc, số liệu hiệu suất và các trường hợp sử dụng lý tưởng của hai model có tầm ảnh hưởng lớn: YOLOv7 và Ultralytics YOLOv8.
Link to this sectionGiới thiệu về các kiến trúc#
Cả hai model đều thể hiện bước tiến đáng kể về hiệu suất, nhưng chúng tiếp cận thách thức tối ưu hóa mạng thần kinh sâu từ các triết lý cấu trúc khác nhau.
Link to this sectionYOLOv7: Người tiên phong Bag-of-Freebies#
Được giới thiệu vào giữa năm 2022, YOLOv7 tập trung mạnh vào tối ưu hóa đường dẫn gradient kiến trúc và khái niệm "trainable bag-of-freebies" để đẩy giới hạn nhận diện thời gian thực trên các phần cứng cao cấp.
- 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: 2207.02696
- GitHub: WongKinYiu/yolov7
- Docs: Tài liệu Ultralytics YOLOv7
Điểm nổi bật về kiến trúc: YOLOv7 chủ yếu sử dụng head nhận diện dựa trên anchor (mặc dù có thử nghiệm với các nhánh không sử dụng anchor) và giới thiệu mạng Extended Efficient Layer Aggregation Networks (E-ELAN). Thiết kế này cải thiện khả năng học của mạng mà không làm phá vỡ đường dẫn gradient gốc. Nó hoạt động đặc biệt hiệu quả trên các GPU cấp máy chủ, khiến nó rất phù hợp cho phân tích video nặng.
Điểm mạnh và điểm yếu: Trong khi YOLOv7 đạt độ trễ tuyệt vời trên phần cứng chuyên dụng, hệ sinh thái của nó lại bị phân mảnh cao. Việc huấn luyện đòi hỏi các tham số dòng lệnh phức tạp, clone thủ công repository và quản lý phụ thuộc nghiêm ngặt trong PyTorch. Hơn nữa, yêu cầu bộ nhớ trong quá trình huấn luyện có thể gây khó khăn trên phần cứng phổ thông.
Link to this sectionUltralytics YOLOv8: Tiêu chuẩn linh hoạt#
Được phát hành vào đầu năm 2023, YOLOv8 đã hoàn toàn định nghĩa lại trải nghiệm nhà phát triển, tập trung không chỉ vào độ chính xác tiên tiến nhất mà còn vào việc cung cấp một framework thống nhất, sẵn sàng cho sản xuất.
- Tác giả: Glenn Jocher, Ayush Chaurasia, và Jing Qiu
- Tổ chức: Ultralytics
- Ngày: 2023-01-10
- GitHub: ultralytics/ultralytics
- Nền tảng: Ultralytics YOLOv8
Điểm nổi bật về kiến trúc: YOLOv8 giới thiệu head nhận diện không anchor (anchor-free) nguyên bản, loại bỏ nhu cầu cấu hình thủ công các khung anchor dựa trên tập dữ liệu MS COCO hoặc các phân phối dữ liệu tùy chỉnh. Nó tích hợp module C2f để cải thiện luồng gradient và sử dụng cấu trúc decoupled head giúp tách biệt các tác vụ nhận diện đối tượng, phân loại và hồi quy. Điều này giúp đẩy nhanh tốc độ hội tụ và tăng cường độ chính xác.
Điểm mạnh và điểm yếu: YOLOv8 tự hào về hiệu suất Yêu cầu bộ nhớ vượt trội. Nó yêu cầu ít bộ nhớ CUDA hơn đáng kể trong khi huấn luyện so với YOLOv7 và các model transformer nặng hơn, cho phép các nhà phát triển sử dụng batch size lớn hơn. Điểm mạnh chính của nó nằm ở Tính linh hoạt, hỗ trợ nguyên bản phân đoạn đối tượng, phân loại hình ảnh, ước tính tư thế và Oriented Bounding Boxes (OBB). Điểm trừ nhỏ duy nhất là các quy trình legacy chuyên biệt được xây dựng dành riêng cho các tensor của YOLOv7 có thể cần một khoảng thời gian refactor ngắn.
Ultralytics YOLOv8 hưởng lợi từ một Hệ sinh thái được duy trì tốt. Với API Python trực quan, quá trình phát triển tích cực và sự hỗ trợ mạnh mẽ từ cộng đồng, việc đưa một model từ thử nghiệm cục bộ lên triển khai toàn cầu chỉ mất một phần thời gian so với các repository độc lập.
Link to this sectionSo sánh hiệu năng chi tiết#
Bảng dưới đây chia nhỏ các số liệu hiệu suất trên các kích thước model chính. Hãy chú ý đến Sự cân bằng hiệu suất đặc biệt mà YOLOv8 đạt được, tối ưu hóa mạnh mẽ cho suy luận nhanh trên các thiết bị biên trong khi vẫn duy trì độ chính xác đẳng cấp thế giới.
| 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 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
Lưu ý: YOLOv8x đạt mAP cao nhất trong nhóm này, trong khi YOLOv8n thống trị về hiệu suất tham số và tốc độ suy luận, khiến nó trở thành nhà vô địch không thể tranh cãi cho việc triển khai thị giác máy tính trên các thiết bị AI biên.
Link to this sectionDễ sử dụng và hiệu quả huấn luyện#
Khi nói đến Tính dễ sử dụng, Ultralytics YOLOv8 đứng ở một đẳng cấp riêng. Các kiến trúc cũ hơn như YOLOv7 yêu cầu clone các repository cụ thể và chạy các script dòng lệnh dài dòng để cấu hình tập dữ liệu và đường dẫn.
Ngược lại, gói ultralytics của YOLOv8 cung cấp trải nghiệm nhà phát triển được tối ưu hóa cao. Hiệu suất huấn luyện được tối đa hóa thông qua việc tự động tải dữ liệu, các trọng số pretrained sẵn sàng sử dụng và khả năng xuất dữ liệu liền mạch sang các định dạng như ONNX và TensorRT.
Đây là cách bạn có thể dễ dàng load, huấn luyện và chạy suy luận bằng cách sử dụng API Python của Ultralytics:
from ultralytics import YOLO
# Load a pretrained YOLOv8 nano model
model = YOLO("yolov8n.pt")
# Train the model efficiently on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run fast inference on a test image
predictions = model("https://ultralytics.com/images/bus.jpg")
# Display the predictions
predictions[0].show()YOLOv8 tích hợp nguyên bản với các công cụ MLops phổ biến như Weights & Biases và ClearML, cho phép bạn theo dõi quá trình tinh chỉnh siêu tham số và các chỉ số huấn luyện trong thời gian thực.
Link to this sectionCác trường hợp sử dụng lý tưởng#
Việc lựa chọn giữa các kiến trúc này thường phụ thuộc vào các ràng buộc cụ thể của môi trường triển khai của bạn.
Link to this sectionKhi nào nên chọn YOLOv7#
- Benchmarking kế thừa (Legacy): Phù hợp cho các nhà nghiên cứu cần một baseline cố định để so sánh với các tiêu chuẩn kiến trúc năm 2022.
- Cơ sở hạ tầng nặng đã có sẵn: Các môi trường đầu tư mạnh vào GPU NVIDIA V100 hoặc A100, nơi các cấu hình tensor cụ thể của YOLOv7 được nhúng sâu vào quy trình C++ cũ.
Link to this sectionKhi nào nên chọn YOLOv8#
- Sản xuất đa nền tảng: Lý tưởng cho các nhóm cần triển khai liền mạch trên các cloud GPU, thiết bị di động và trình duyệt.
- Yêu cầu đa tác vụ: Nếu dự án của bạn cần vượt ra ngoài các bounding box và tận dụng mask phân đoạn đối tượng phong phú hoặc keypoint tư thế.
- Thiết bị biên giới hạn tài nguyên: YOLOv8 Nano (
yolov8n) cung cấp tỷ lệ độ chính xác trên tốc độ đáng kinh ngạc cho robot, máy bay không người lái và cảm biến IoT.
Link to this sectionHướng tới tương lai: Bước nhảy vọt thế hệ tới YOLO26#
Trong khi YOLOv8 vẫn là một lựa chọn rất mạnh mẽ, lĩnh vực thị giác máy tính đang chuyển động nhanh chóng. Đối với các nhà phát triển bắt đầu các dự án hiệu năng cao, hoàn toàn mới, Ultralytics gần đây đã giới thiệu thế hệ model AI tiếp theo. Rất khuyến khích khám phá cả YOLO11 đã được tinh chỉnh sâu và YOLO26 mới được phát hành.
Được phát hành vào tháng 1 năm 2026, YOLO26 đẩy lùi các giới hạn về những gì có thể thực hiện trên các thiết bị biên:
- Thiết kế End-to-End NMS-Free: YOLO26 là thiết kế end-to-end nguyên bản, loại bỏ hoàn toàn quá trình hậu xử lý Non-Maximum Suppression (NMS). Điều này đảm bảo các quy trình triển khai đơn giản, nhanh hơn đáng kể mà không gặp các nút thắt độ trễ của các model dự đoán mật độ truyền thống.
- Loại bỏ DFL: Bằng cách loại bỏ Distribution Focal Loss, YOLO26 đạt được các tùy chọn triển khai model đơn giản hơn nhiều và khả năng tương thích với thiết bị biên vượt trội.
- Suy luận CPU nhanh hơn tới 43%: Được tối ưu hóa mạnh mẽ cho các môi trường bị hạn chế như Raspberry Pi và các hệ thống nhúng, vượt qua tất cả các thế hệ trước về thông lượng CPU.
- MuSGD Optimizer: Lấy cảm hứng từ các mô hình huấn luyện Large Language Model (LLM), YOLO26 kết hợp lai giữa SGD và Muon. Điều này mang lại sự ổn định huấn luyện chưa từng có và khả năng hội tụ nhanh chóng.
- ProgLoss + STAL: Các hàm loss tiên tiến này mang lại những cải tiến đáng kể trong việc nhận diện đối tượng nhỏ, vốn rất quan trọng đối với hình ảnh hàng không, nông nghiệp tự động và robot.
Cho dù bạn đang mở rộng quy mô lên các cụm phân tích video lớn với YOLOv8 hay đẩy suy luận xuống các thiết bị biên nhỏ với YOLO26 tiên tiến, Ultralytics Platform cung cấp các công cụ để quản lý toàn bộ vòng đời AI của bạn một cách liền mạch.