Link to this sectionYOLOv8 so với YOLOv10#
Sự tiến hóa của nhận diện đối tượng thời gian thực đang diễn ra với tốc độ chưa từng có. Khi các nhà phát triển và nhà nghiên cứu tìm cách tích hợp các mô hình thị giác máy tính chính xác và hiệu quả nhất vào quy trình của họ, việc so sánh các kiến trúc hàng đầu trở nên thiết yếu. Trong bài phân tích sâu này, chúng tôi so sánh Ultralytics YOLOv8 và YOLOv10, xem xét những khác biệt về kiến trúc, chỉ số hiệu suất và các kịch bản triển khai lý tưởng để giúp bạn đưa ra quyết định sáng suốt cho dự án AI tiếp theo của mình.
Link to this sectionTổng quan mô hình: YOLOv8#
Được giới thiệu như một bước tiến lớn trong dòng họ YOLO, YOLOv8 đã thiết lập một tiêu chuẩn mới cho một framework thống nhất và linh hoạt. Nó được thiết kế từ đầu để hỗ trợ vô số tác vụ ngoài các bounding box tiêu chuẩn, biến nó thành một công cụ cực kỳ linh hoạt cho thị giác máy tính hiện đại.
Chi tiết YOLOv8:
- Tác giả: Glenn Jocher, Ayush Chaurasia, và Jing Qiu
- Tổ chức: Ultralytics
- Ngày: 2023-01-10
- GitHub: https://github.com/ultralytics/ultralytics
- Tài liệu: https://docs.ultralytics.com/models/yolov8/
Link to this sectionKiến trúc và thế mạnh#
YOLOv8 giới thiệu phần đầu dò (detection head) không sử dụng anchor và cấu trúc backbone CSPDarknet được cải tiến, giúp cải thiện đáng kể cả độ chính xác và độ trễ suy luận. Bằng cách loại bỏ các anchor box, mô hình giảm số lượng dự đoán box, từ đó tăng tốc Non-Maximum Suppression (NMS) trong quá trình hậu xử lý.
Một trong những ưu điểm nổi bật khi chọn YOLOv8 là tính linh hoạt vượt trội. Trong khi nhiều mô hình chỉ tập trung vào nhận diện đối tượng, YOLOv8 hỗ trợ gốc các tác vụ instance segmentation, image classification, pose estimation và oriented bounding boxes (OBB). Điều này biến nó thành một công cụ mạnh mẽ cho các quy trình đa giai đoạn phức tạp, nơi yêu cầu nhiều loại hiểu biết về hình ảnh đồng thời. Hơn nữa, yêu cầu bộ nhớ trong khi đào tạo của nó được tối ưu hóa đáng kể so với các kiến trúc dựa trên Transformer như RT-DETR, cho phép các nhà nghiên cứu đào tạo các mô hình lớn trên các GPU tiêu dùng thông thường.
Link to this sectionTổng quan mô hình: YOLOv10#
Được phát triển bởi các nhà nghiên cứu tại Đại học Thanh Hoa, YOLOv10 nhằm giải quyết một trong những nút thắt lâu đời nhất trong dòng họ YOLO: sự phụ thuộc vào hậu xử lý NMS.
Chi tiết về YOLOv10:
- Tác giả: Ao Wang, Hui Chen, Lihao Liu, et al.
- Tổ chức: Đại học Thanh Hoa
- Ngày: 23-05-2024
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: https://github.com/THU-MIG/yolov10
- Tài liệu: https://docs.ultralytics.com/models/yolov10/
Link to this sectionKiến trúc và thế mạnh#
Đổi mới chính của YOLOv10 là chiến lược Consistent Dual Assignments, cho phép đào tạo không cần NMS và triển khai end-to-end. Bằng cách loại bỏ bước NMS, YOLOv10 giảm đáng kể độ trễ suy luận, đặc biệt là trên các thiết bị biên nơi các thao tác hậu xử lý có thể gây tốn kém về mặt tính toán.
Ngoài ra, YOLOv10 kết hợp thiết kế mô hình dựa trên sự cân bằng giữa hiệu suất và độ chính xác, điều chỉnh kỹ lưỡng chi phí tính toán của từng lớp. Kết quả là một mô hình yêu cầu ít tham số và FLOPs hơn trong khi vẫn đạt được mean Average Precision (mAP) cạnh tranh. Đây là một đóng góp học thuật tuyệt vời cho các trường hợp sử dụng yêu cầu độ trễ tối thiểu trong các tác vụ nhận diện thuần túy.
Link to this sectionSo sánh Hiệu năng và Chỉ số#
Khi so sánh hai kiến trúc này, việc xem xét sự đánh đổi giữa số lượng tham số, FLOPs và độ chính xác là rất quan trọng. Dưới đây là so sánh chính xác về các chỉ số hiệu suất của chúng trên tập dữ liệu COCO.
| 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) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
Mặc dù YOLOv10 đạt được mAP cao hơn một chút với ít tham số hơn ở một số quy mô, YOLOv8 cung cấp một hệ sinh thái mạnh mẽ hơn và hỗ trợ tác vụ rộng hơn, khiến nó nhìn chung đáng tin cậy hơn cho các môi trường sản xuất yêu cầu nhiều hơn chỉ là bounding box.
Link to this sectionHệ sinh thái và Phương pháp đào tạo#
Điểm khác biệt thực sự đối với các quy trình ML hiện đại thường là hệ sinh thái bao quanh kiến trúc. Việc chọn một mô hình Ultralytics như YOLOv8 mang lại sự dễ sử dụng vô song và trải nghiệm nhà phát triển liền mạch.
Với Python SDK trực quan, các nhà phát triển có thể xử lý việc gán nhãn dữ liệu, đào tạo và triển khai với ít trở ngại nhất. Hệ sinh thái Ultralytics được bảo trì đặc biệt tốt, cung cấp các bản cập nhật thường xuyên, tài liệu toàn diện về tinh chỉnh siêu tham số và sự hỗ trợ cộng đồng mạnh mẽ trên các nền tảng như Discord và GitHub.
Link to this sectionVí dụ mã: Đào tạo đơn giản hóa#
Python API của Ultralytics giúp việc khởi tạo, đào tạo và xác thực mô hình trở nên cực kỳ đơn giản. Hãy chú ý cách quy trình tương tự được áp dụng bất kể kiến trúc cơ bản là gì.
from ultralytics import YOLO
# Load a pretrained YOLOv8 model
model = YOLO("yolov8n.pt")
# Train the model efficiently with automated learning rate scheduling
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
device=0, # optimized CUDA memory usage
batch=16,
)
# Validate the model to check mAP metrics
metrics = model.val()
print(f"Validation mAP: {metrics.box.map}")
# Export to ONNX for edge deployment
model.export(format="onnx")Link to this sectionCác trường hợp sử dụng và Khuyến nghị#
Việc lựa chọn giữa YOLOv8 và YOLOv10 phụ thuộc vào yêu cầu dự án cụ thể, ràng buộc triển khai và sở thích hệ sinh thái của bạn.
Link to this sectionKhi nào nên chọn YOLOv8#
YOLOv8 là lựa chọn mạnh mẽ cho:
- Triển khai đa tác vụ linh hoạt: Các dự án yêu cầu một mô hình đã được chứng minh cho việc phát hiện, phân đoạn, phân loại và ước tính tư thế trong hệ sinh thái Ultralytics.
- Hệ thống sản xuất đã thiết lập: Các môi trường sản xuất hiện có đã được xây dựng trên kiến trúc YOLOv8 với các pipeline triển khai ổn định, đã được kiểm thử tốt.
- Hỗ trợ cộng đồng và hệ sinh thái rộng lớn: Các ứng dụng được hưởng lợi từ các hướng dẫn mở rộng, tích hợp bên thứ ba và tài nguyên cộng đồng tích cực của YOLOv8.
Link to this sectionKhi nào nên chọn YOLOv10#
YOLOv10 được khuyến nghị cho:
- Phát hiện thời gian thực không cần NMS: Các ứng dụng hưởng lợi từ việc phát hiện đầu cuối (end-to-end) mà không cần NMS, giúp giảm độ phức tạp khi triển khai.
- Sự cân bằng giữa tốc độ và độ chính xác: Các dự án yêu cầu sự cân bằng mạnh mẽ giữa tốc độ suy luận và độ chính xác của phát hiện trên nhiều quy mô model khác nhau.
- Các ứng dụng có độ trễ nhất quán: Các kịch bản triển khai nơi thời gian suy luận có thể dự đoán được là yếu tố quan trọng, chẳng hạn như robotics hoặc các hệ thống tự hành.
Link to this sectionKhi nào nên chọn Ultralytics (YOLO26)#
Đối với hầu hết các dự án mới, Ultralytics YOLO26 cung cấp sự kết hợp tốt nhất giữa hiệu năng và trải nghiệm nhà phát triển:
- 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 hậu xử lý Non-Maximum Suppression.
- Môi trường chỉ dùng CPU: Các thiết bị không có tăng tốc GPU chuyên dụng, nơi suy luận CPU nhanh hơn tới 43% của YOLO26 mang lại lợi thế quyết định.
- Phát hiện vật thể nhỏ: Các kịch bản đầy thách thức như hình ảnh máy bay không người lái trên không hoặc phân tích cảm biến IoT, nơi ProgLoss và STAL tăng cường đáng kể độ chính xác trên các vật thể cực nhỏ.
Link to this sectionTương lai: Bước tiến tới YOLO26#
Trong khi YOLOv8 là một mô hình toàn diện tuyệt vời và YOLOv10 mang lại những hiểu biết học thuật quý giá về các kiến trúc không cần NMS, thì mũi nhọn của thị giác máy tính đã tiến xa hơn. Để đạt được sự cân bằng tối ưu giữa tốc độ, độ chính xác và sự đơn giản trong triển khai, chúng tôi thực sự khuyên bạn nên chuyển sang YOLO26.
Được phát hành vào đầu năm 2026, YOLO26 đại diện cho đỉnh cao tuyệt đối của dòng họ YOLO. Nó hợp nhất một cách liền mạch các tính năng tốt nhất của những người tiền nhiệm trong khi giới thiệu các công nghệ mới đột phá:
- Thiết kế End-to-End không NMS: Áp dụng bước đột phá tiên phong bởi YOLOv10, YOLO26 loại bỏ NMS một cách tự nhiên để triển khai nhanh hơn, đơn giản hơn.
- Loại bỏ DFL: Việc loại bỏ Distribution Focal Loss giúp việc xuất mô hình sang CoreML và các thiết bị biên trở nên mượt mà hơn đáng kể.
- Trình tối ưu hóa MuSGD: Lấy cảm hứng từ các mô hình đào tạo Large Language Model (LLM), trình tối ưu hóa lai này đảm bảo khả năng hội tụ nhanh hơn và sự ổn định khi đào tạo chưa từng có.
- Sự thống trị của suy luận trên CPU: YOLO26 mang lại hiệu suất suy luận trên CPU nhanh hơn tới 43% so với các thế hệ trước, biến nó thành một nhân tố thay đổi cuộc chơi cho Raspberry Pi và các ứng dụng IoT.
- ProgLoss + STAL: Những hàm loss tiên tiến này cung cấp những cải tiến đáng kể trong việc nhận diện các đối tượng nhỏ, điều cực kỳ quan trọng đối với hình ảnh trên không và robot.
Nếu bạn hiện đang đánh giá các mô hình, bạn có thể cũng quan tâm đến YOLO11, người tiền nhiệm trực tiếp của YOLO26, vẫn là một framework vững chắc, sẵn sàng cho sản xuất được sử dụng rộng rãi trong các giải pháp doanh nghiệp hiện nay. Tuy nhiên, để tối đa hóa hiệu suất và khả năng sẵn sàng cho tương lai, việc khám phá các khả năng nâng cao của Ultralytics Platform với YOLO26 là con đường tốt nhất cho chiến lược AI thị giác của bạn.