Link to this sectionYOLOv10 so với YOLOv8#
Sự phát triển của công nghệ phát hiện vật thể theo thời gian thực đã chứng kiến sự xuất hiện nhanh chóng của các kiến trúc mang tính đột phá, mỗi kiến trúc đều nỗ lực đẩy xa các giới hạn về độ chính xác, tốc độ suy luận (inference) và hiệu quả tính toán. Trong hướng dẫn kỹ thuật toàn diện này, chúng tôi so sánh hai cột mốc quan trọng trong lĩnh vực thị giác máy tính: YOLOv10 và Ultralytics YOLOv8. Trong khi YOLOv8 thiết lập một tiêu chuẩn linh hoạt và sẵn sàng cho môi trường production, YOLOv10 đã giới thiệu những thay đổi về kiến trúc được thiết kế đặc biệt nhằm loại bỏ các điểm nghẽn trong khâu hậu xử lý (post-processing).
Việc hiểu rõ những ưu điểm, kiến trúc và các số liệu hiệu năng khác biệt của các model này là yếu tố cốt lõi đối với các lập trình viên và nhà nghiên cứu đang hướng tới việc triển khai các giải pháp AI thị giác tiên tiến trong các tình huống thực tế.
Link to this sectionThông số kỹ thuật và Quyền tác giả#
Để đánh giá hiệu quả các model này, việc hiểu rõ nguồn gốc và trọng tâm cốt lõi của các đội ngũ nghiên cứu tương ứng sẽ rất hữu ích.
Link to this sectionYOLOv10: Hiệu quả từ đầu đến cuối (End-to-End)#
Được phát triển bởi các nhà nghiên cứu tại Đại học Thanh Hoa, YOLOv10 được thiết kế để giải quyết tình trạng quá tải tính toán gây ra bởi các bước hậu xử lý trong các thế hệ trước đó.
- Tác giả: Ao Wang, Hui Chen, Lihao Liu, và cộng sự.
- Tổ chức: Đại học Thanh Hoa
- Ngày: 23-05-2024
- Arxiv: 2405.14458
- GitHub: THU-MIG/yolov10
- Tài liệu: Tài liệu YOLOv10
Link to this sectionUltralytics YOLOv8: Tiêu chuẩn linh hoạt#
Ra mắt vào đầu năm 2023, YOLOv8 nhanh chóng trở thành tiêu chuẩn công nghiệp nhờ kiến trúc mạnh mẽ và khả năng tích hợp vô song trong hệ sinh thái machine learning rộng lớn hơn.
- Tác giả: Glenn Jocher, Ayush Chaurasia và Jing Qiu
- Tổ chức: Ultralytics
- Ngày: 2023-01-10
- GitHub: ultralytics/ultralytics
Link to this sectionCải tiến kiến trúc#
Cả hai model đều mang lại những cải tiến đáng kể cho kiến trúc YOLO truyền thống, mặc dù chúng nhắm đến các khía cạnh hơi khác nhau trong quy trình xử lý.
Link to this sectionKiến trúc YOLOv10#
Tính năng nổi bật của YOLOv10 là chiến lược huấn luyện không cần NMS (NMS-free). Theo truyền thống, các bộ phát hiện vật thể dựa vào Non-Maximum Suppression (NMS) trong quá trình suy luận để lọc ra các bounding box chồng chéo. Bước này có thể gây ra độ trễ (latency) và làm phức tạp việc triển khai end-to-end. YOLOv10 sử dụng các phép gán kép nhất quán trong quá trình huấn luyện, cho phép model dự đoán một bounding box chính xác duy nhất cho mỗi vật thể một cách tự nhiên. Hơn nữa, nó sử dụng thiết kế model dựa trên hiệu suất và độ chính xác toàn diện, tối ưu hóa nhiều thành phần khác nhau để giảm đáng kể số lượng FLOPs và tham số.
Link to this sectionKiến trúc YOLOv8#
YOLOv8 giới thiệu detection head không cần anchor (anchor-free), chuyển dịch khỏi các phương pháp dựa trên anchor của những thế hệ tiền nhiệm. Điều này giúp giảm số lượng dự đoán box và tăng tốc các thao tác NMS. Ngoài ra, YOLOv8 tích hợp module C2f (Cross-Stage Partial bottleneck với hai lớp convolution), giúp cải thiện dòng gradient và cho phép mạng lưới học được các biểu diễn đặc trưng phong phú hơn mà không làm tăng chi phí tính toán một cách đáng kể. Cấu trúc decoupled head của nó tách biệt các tác vụ objectness, phân loại và hồi quy, dẫn đến khả năng hội tụ nhanh hơn và độ chính xác tổng thể cao hơn.
Link to this sectionHiệu năng và Benchmark#
Khi triển khai các model lên thiết bị biên (edge device) hoặc máy chủ cloud, sự cân bằng giữa tốc độ và độ chính xác là tối quan trọng. Bảng dưới đây cung cấp một sự so sánh trực tiếp giữa hai model ở các kích cỡ khác nhau.
| 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) |
|---|---|---|---|---|---|---|
| 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 |
| 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 ý: Các ô trống biểu thị những số liệu không được công bố chính thức trong các điều kiện thử nghiệm tương đương.
Như đã thấy trong dữ liệu, YOLOv10 thể hiện hiệu quả tham số vượt trội, thường đạt hoặc vượt mAP của các phiên bản YOLOv8 tương ứng trong khi sử dụng ít tham số và FLOPs hơn. Tuy nhiên, YOLOv8 vẫn cực kỳ cạnh tranh, cung cấp khả năng tích hợp TensorRT được tối ưu hóa cao, đảm bảo độ trễ suy luận tối thiểu trên các GPU hiện đại.
Khi hướng tới môi trường production, việc sử dụng các định dạng như ONNX hoặc TensorRT có thể cải thiện đáng kể tốc độ suy luận. Cả YOLOv8 và YOLOv10 đều hỗ trợ xuất model liền mạch sang các định dạng đồ thị được tối ưu hóa cao này.
Link to this sectionHệ sinh thái, Hiệu quả huấn luyện và Tính linh hoạt#
Việc lựa chọn một model không chỉ dừng lại ở các chỉ số benchmark lý thuyết; trải nghiệm của lập trình viên và hệ sinh thái xung quanh cũng quan trọng không kém.
Link to this sectionLợi thế từ Ultralytics#
Một trong những thế mạnh cốt lõi của YOLOv8 là khả năng tích hợp chặt chẽ vào hệ sinh thái Ultralytics. Môi trường này mang đến trải nghiệm "từ con số không đến chuyên gia", đặc trưng bởi API Python vô cùng trực quan và tài liệu hướng dẫn phong phú. Không giống như các kho lưu trữ tập trung vào nghiên cứu có thể yêu cầu thiết lập môi trường phức tạp, các model của Ultralytics nổi tiếng với sự dễ sử dụng.
Hơn nữa, YOLOv8 vốn dĩ rất linh hoạt. Trong khi YOLOv10 được tối ưu hóa nghiêm ngặt cho phát hiện vật thể, framework Ultralytics cho phép các lập trình viên chuyển đổi liền mạch giữa các tác vụ phát hiện vật thể, phân đoạn cá thể, phân loại hình ảnh, ước tính tư thế và oriented bounding box (OBB) ngay trong cùng một thư viện và cấu trúc API.
Link to this sectionYêu cầu bộ nhớ và Huấn luyện#
Các model Ultralytics YOLO được thiết kế với trọng tâm là hiệu quả huấn luyện. Chúng thường có mức sử dụng bộ nhớ thấp hơn trong quá trình huấn luyện và suy luận so với các transformer model phức tạp, cho phép các lập trình viên huấn luyện các model hiện đại trên phần cứng phổ thông hoặc các instance cloud tiêu chuẩn mà không bị hết bộ nhớ CUDA. Việc tự động xử lý điều chỉnh siêu tham số (hyperparameter) và tăng cường dữ liệu (data augmentation) đảm bảo khả năng hội tụ nhanh chóng.
Dưới đây là một ví dụ thực tế về việc huấn luyện và kiểm chứng một model bằng API Python của Ultralytics đơn giản đến mức nào:
from ultralytics import YOLO
# Load a pretrained model (YOLOv8 recommended for general tasks)
model = YOLO("yolov8n.pt")
# Train the model on the COCO8 dataset with automatic memory management
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device=0)
# Run inference on a test image
predictions = model("https://ultralytics.com/images/zidane.jpg")
predictions[0].show()Link to this sectionThế hệ tiếp theo: YOLO26#
Mặc dù YOLOv8 và YOLOv10 là những cột mốc xuất sắc, lĩnh vực machine learning vẫn không ngừng tiến bộ. Đối với các lập trình viên bắt đầu dự án mới, chúng tôi đặc biệt khuyến nghị tận dụng YOLO26, model hàng đầu mới nhất từ Ultralytics ra mắt vào tháng 1 năm 2026.
YOLO26 kết hợp những tiến bộ kiến trúc tốt nhất trong những năm qua vào một framework duy nhất được tối ưu hóa cao. Nó kế thừa thiết kế End-to-End NMS-Free tiên phong bởi các model như YOLOv10, tinh giản các đường ống triển khai và giảm thiểu biến động độ trễ. Hơn nữa, YOLO26 giới thiệu MuSGD Optimizer, một bộ tối ưu hóa lai lấy cảm hứng từ tính ổn định khi huấn luyện LLM, đảm bảo sự hội tụ nhanh và ổn định hơn.
Những cải tiến chính trong YOLO26 bao gồm:
- Suy luận trên CPU nhanh hơn tới 43%: Được tối ưu hóa mạnh mẽ cho các thiết bị biên thông qua việc loại bỏ Distribution Focal Loss (DFL).
- ProgLoss + STAL: Các hàm loss tiên tiến cải thiện đáng kể khả năng nhận diện vật thể nhỏ, vốn rất quan trọng đối với hình ảnh từ drone và các cảm biến IoT.
- Các cải tiến cụ thể cho tác vụ: Kiến trúc chuyên biệt cho phân đoạn, ước tính tư thế và OBB, đảm bảo hiệu năng hàng đầu trên tất cả các lĩnh vực thị giác máy tính.
Link to this sectionCác trường hợp sử dụng lý tưởng và chiến lược triển khai#
Khi quyết định giữa các kiến trúc này, hãy cân nhắc nhu cầu cụ thể của môi trường triển khai của bạn:
- Chọn YOLOv10 nếu: Bạn đang làm việc trên một pipeline phát hiện vật thể thuần túy, nơi việc tối ưu hóa từng chút hiệu quả tham số là tối quan trọng, và bạn muốn thử nghiệm với các triển khai sớm của các kiến trúc không cần NMS.
- Chọn Ultralytics YOLOv8 nếu: Bạn cần một model cực kỳ ổn định, sẵn sàng cho production được hỗ trợ bởi Nền tảng Ultralytics mạnh mẽ. Đây là lựa chọn lý tưởng nếu dự án của bạn yêu cầu nhiều tác vụ (ví dụ: phát hiện vật thể rồi sau đó phân đoạn chúng) bằng cách sử dụng một codebase thống nhất, dễ bảo trì.
- Chọn YOLO26 (Khuyên dùng) nếu: Bạn muốn sự cân bằng tối ưu giữa độ chính xác hiện đại, hiệu quả NMS-free end-to-end tự nhiên và tốc độ nhanh nhất có thể trên CPU và phần cứng biên.
Nếu bạn đang khám phá bối cảnh rộng lớn hơn, bạn cũng có thể quan tâm đến việc so sánh các model này với YOLO11 hoặc xem xét các tích hợp triển khai biên cụ thể như Intel OpenVINO để tăng tốc thêm các ứng dụng AI thị giác của bạn. Bằng cách tận dụng các công cụ thống nhất do Ultralytics cung cấp, việc triển khai các giải pháp thị giác máy tính mạnh mẽ chưa bao giờ dễ dàng hơn thế.