YOLOv5 và YOLOv8#
Khi xây dựng các ứng dụng computer vision có khả năng mở rộng và hiệu quả, việc lựa chọn kiến trúc phù hợp là rất quan trọng. Sự tiến hóa của hệ sinh thái Ultralytics đã liên tục vượt qua các giới hạn về tốc độ và độ chính xác, cung cấp cho các nhà phát triển những công cụ mạnh mẽ cho việc triển khai trong thế giới thực. So sánh kỹ thuật này đi sâu vào sự khác biệt giữa YOLOv5 và YOLOv8, khám phá kiến trúc, sự đánh đổi hiệu năng và các trường hợp sử dụng 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.
Cả hai mô hình này đều đại diện cho các cột mốc quan trọng trong lịch sử của object detection thời gian thực, và cả hai đều hưởng lợi từ các yêu cầu bộ nhớ được tối ưu hóa cao cùng ease of use đặc trưng của hệ sinh thái Ultralytics.
YOLOv5: Tiêu chuẩn công nghiệp đáng tin cậy#
Được giới thiệu vào năm 2020, YOLOv5 nhanh chóng trở thành tiêu chuẩn công nghiệp cho việc phát hiện đối tượng nhanh chóng, dễ tiếp cận và đáng tin cậy. Bằng cách tận dụng việc triển khai PyTorch nguyên bản, nó đã đơn giản hóa vòng đời huấn luyện và triển khai cho các kỹ sư trên toàn cầu.
- Tác giả: Glenn Jocher
- Tổ chức: Ultralytics
- Ngày: 2020-06-26
- GitHub: ultralytics/yolov5
- Tài liệu: YOLOv5 Documentation
Điểm mạnh về kiến trúc#
YOLOv5 hoạt động theo mô hình phát hiện dựa trên anchor, dựa vào các anchor boxes được xác định trước để dự đoán ranh giới đối tượng. Kiến trúc của nó tích hợp mạng đường sống (backbone) Cross-Stage Partial (CSP), tối ưu hóa dòng chảy gradient và giảm thiểu sự dư thừa tính toán. Điều này mang lại dung lượng bộ nhớ cực kỳ nhẹ, giúp việc huấn luyện trở nên cực kỳ nhanh chóng ngay cả trên các GPUs tiêu dùng thông thường.
Các trường hợp sử dụng lý tưởng#
YOLOv5 rất được khuyến khích cho các dự án mà thông lượng tối đa và việc sử dụng tài nguyên tối thiểu là quan trọng hàng đầu. Nó xuất sắc trong các môi trường edge AI, chẳng hạn như triển khai trên Raspberry Pi hoặc các thiết bị di động. Sự trưởng thành của nó có nghĩa là nó đã được thử thách thực chiến kỹ lưỡng trong hàng ngàn lượt triển khai thương mại, mang lại độ ổn định chưa từng có cho các luồng công việc phát hiện đối tượng truyền thống.
YOLOv8: Framework thị giác hợp nhất#
Được phát hành vào tháng 1 năm 2023, YOLOv8 đại diện cho một bước chuyển mình về kiến trúc mang tính thời đại, phát triển từ một công cụ phát hiện đối tượng chuyên dụng thành một framework thị giác đa nhiệm linh hoạt.
- Tác giả: Glenn Jocher, Ayush Chaurasia và Jing Qiu
- Tổ chức: Ultralytics
- Ngày: 2023-01-10
- GitHub: ultralytics/ultralytics
- Tài liệu: Tài liệu YOLOv8
Cải tiến kiến trúc#
Không giống như phiên bản tiền nhiệm, YOLOv8 giới thiệu phần đầu phát hiện không có anchor (anchor-free). Điều này loại bỏ nhu cầu phải tinh chỉnh thủ công các cấu hình anchor dựa trên phân phối tập dữ liệu, nâng cao khả năng tổng quát hóa trên các tập dữ liệu tùy chỉnh đa dạng như COCO dataset phổ biến.
Kiến trúc này cũng nâng cấp phần backbone với C2f module (Cross-Stage Partial bottleneck với hai phép tích chập), thay thế cho module C3 cũ hơn. Sự cải tiến này giúp cải thiện khả năng biểu diễn đặc trưng mà không làm quá tải bộ nhớ. Ngoài ra, việc triển khai phần đầu tách rời (decoupled head)—tách biệt các tác vụ nhận biết đối tượng, phân loại và hồi quy—làm cải thiện đáng kể quá trình hội tụ trong model training.
Sự linh hoạt và Python API#
YOLOv8 đã giới thiệu Python API ultralytics hiện đại, chuẩn hóa quy trình làm việc trên các tác vụ computer vision khác nhau. Cho dù bạn đang thực hiện image segmentation, image classification, hay pose estimation, API thống nhất chỉ yêu cầu những thay đổi cấu hình nhỏ.
from ultralytics import YOLO
# Load a pretrained YOLOv8 model
model = YOLO("yolov8n.pt")
# Train on a custom dataset with built-in memory efficiency
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference and easily parse results
predictions = model("https://ultralytics.com/images/bus.jpg")
predictions[0].show()So sánh hiệu năng chi tiết#
Khi so sánh hai thế hệ này, chúng ta quan sát thấy một sự đánh đổi cổ điển: YOLOv8 đạt được độ chính xác trung bình (mean Average Precision — mAP) cao hơn trên toàn diện, trong khi YOLOv5 vẫn giữ được một chút lợi thế về tốc độ suy luận thô tuyệt đối và số lượng tham số cho các biến thể nhỏ nhất của nó.
Dưới đây là so sánh chi tiết về các chỉ số hiệu năng của chúng trên tập dữ liệu COCO với kích thước ảnh là 640 pixel.
| 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) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.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 |
Dữ liệu cho thấy YOLOv8 cung cấp một sự gia tăng đáng kể về độ chính xác. Ví dụ: YOLOv8s đạt 44.9 mAP so với YOLOv5s ở mức 37.4 mAP, một bước nhảy vọt khổng lồ cải thiện đáng kể hiệu năng trong các môi trường dày đặc hoặc khi nhận dạng các đối tượng nhỏ. Tuy nhiên, đối với các môi trường cực kỳ hạn chế, YOLOv5n vẫn cực kỳ hiệu quả, tự hào với số lượng tham số và FLOPs thấp nhất.
Cả hai mô hình đều được tối ưu hóa cao để sử dụng bộ nhớ CUDA thấp hơn trong quá trình huấn luyện so với các kiến trúc nặng hơn như transformer models. Điều này cho phép các kỹ sư tận dụng kích thước batch lớn hơn trên các GPU tiêu chuẩn, tăng tốc vòng đời nghiên cứu.
Lợi thế hệ sinh thái#
Việc lựa chọn YOLOv5 hoặc YOLOv8 cấp cho các nhà phát triển quyền truy cập vào Ultralytics Platform được bảo trì tốt. Môi trường tích hợp này cung cấp các công cụ đơn giản để gán nhãn tập dữ liệu, hyperparameter tuning, huấn luyện trên đám mây và giám sát mô hình. Sự phát triển tích cực và sự hỗ trợ cộng đồng mạnh mẽ đảm bảo rằng các nhà phát triển có thể nhanh chóng giải quyết các vấn đề và tích hợp với các công cụ bên ngoài như Weights & Biases và ClearML.
Trong khi các framework khác có thể gây khó khăn với đường cong học tập dốc, Ultralytics ưu tiên trải nghiệm người dùng tinh giản, đảm bảo sự cân bằng thuận lợi giữa tốc độ và độ chính xác phù hợp cho các kịch bản triển khai thực tế đa dạng.
Vượt ra ngoài v8: Khám phá YOLO11 và YOLO26#
Mặc dù YOLOv8 là một framework có năng lực cao, lĩnh vực trí tuệ nhân tạo tiến hóa rất nhanh chóng. Các nhà phát triển quan tâm đến hiệu năng tối tân cũng nên khám phá YOLO11, dựa trên nền tảng của v8 với độ chính xác và tốc độ được cải thiện.
Đối với những ai đang tìm kiếm công nghệ computer vision tiên tiến nhất, chúng tôi đặc biệt khuyên dùng Ultralytics YOLO26. Được phát hành vào năm 2026, YOLO26 đại diện cho một bước tiến khổng lồ:
- Thiết kế End-to-End không cần NMS: Được tiên phong ban đầu trong các kiến trúc thử nghiệm, YOLO26 loại bỏ nguyên bản quá trình xử lý hậu kỳ Non-Maximum Suppression, dẫn đến các quy trình triển khai đơn giản và nhanh chóng hơn đáng kể.
- Trình tối ưu hóa MuSGD: Lấy cảm hứng từ các đổi mới trong huấn luyện LLM như trong các mô hình Kimi K2, YOLO26 sử dụng trình tối ưu hóa lai để huấn luyện ổn định hơn và hội tụ nhanh chóng.
- Làm chủ Edge Computing: Với khả năng suy luận CPU nhanh hơn tới 43% so với các thế hệ trước, đây là mô hình tối ưu cho các thiết bị thiếu GPU chuyên dụng.
- Độ chính xác nâng cao: Tận dụng các hàm mất mát ProgLoss + STAL mới, nó cải thiện đáng kể việc nhận dạng đối tượng nhỏ, điều rất quan trọng đối với robotics và hình ảnh máyDrone trên không.
Cho dù là duy trì một hệ thống kế thừa với YOLOv5, mở rộng một ứng dụng linh hoạt với YOLOv8, hay đổi mới với các khả năng tiên tiến của YOLO26, bộ công cụ Ultralytics cung cấp đầy đủ các tiện ích cần thiết để đạt được thành công trong AI thị giác hiện đại.