Link to this sectionYOLOv8 so với YOLOv5#
Việc lựa chọn kiến trúc thị giác máy tính phù hợp là bước quan trọng để xây dựng các pipeline machine learning mạnh mẽ. Trong bản so sánh kỹ thuật chi tiết này, chúng tôi khám phá sự khác biệt giữa hai trong số các model phổ biến nhất trong hệ sinh thái AI thị giác: YOLOv8 và YOLOv5. Cả hai model đều được phát triển bởi Ultralytics và đã định hình đáng kể bối cảnh object detection thời gian thực, thiết lập các tiêu chuẩn công nghiệp về tốc độ, độ chính xác và tính dễ sử dụng.
Cho dù bạn đang triển khai trên các thiết bị edge hay mở rộng quy mô inference trên cloud, việc hiểu rõ các thay đổi về kiến trúc, các chỉ số hiệu suất và phương pháp huấn luyện của các model này sẽ giúp bạn đưa ra quyết định sáng suốt cho các dự án computer vision của mình.
Link to this sectionUltralytics YOLOv8: Tiêu chuẩn linh hoạt#
Được ra mắt vào đầu năm 2023, YOLOv8 đại diện cho một bước chuyển mình lớn về kiến trúc so với các phiên bản tiền nhiệm. Nó được thiết kế ngay từ đầu để phục vụ như một framework thống nhất có khả năng xử lý nhiều tác vụ thị giác một cách tự nhiên, bao gồm instance segmentation, phân loại ảnh và pose estimation.
- 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
Link to this sectionKiến trúc và phương pháp luận#
YOLOv8 giới thiệu detection head anchor-free, giúp đơn giản hóa quá trình huấn luyện bằng cách loại bỏ việc cấu hình thủ công các anchor box dựa trên sự phân bổ của tập dữ liệu. Điều này giúp model trở nên mạnh mẽ hơn khi tổng quát hóa cho các tập dữ liệu tùy chỉnh và giảm số lượng dự đoán hộp, từ đó tăng tốc Non-Maximum Suppression (NMS).
Kiến trúc này có C2f module (Cross-Stage Partial bottleneck với hai lớp convolution), thay thế cho C3 module được tìm thấy trong YOLOv5. C2f module cải thiện luồng gradient và cho phép model học được các biểu diễn đặc trưng phong phú hơn mà không làm tăng đáng kể chi phí tính toán. Hơn nữa, YOLOv8 sử dụng cấu trúc decoupled head, tách biệt các tác vụ objectness, phân loại và hồi quy, giúp cải thiện tốc độ hội tụ và độ chính xác.
Các model Ultralytics YOLO, bao gồm YOLOv8, được tối ưu hóa để sử dụng ít bộ nhớ CUDA hơn trong quá trình huấn luyện so với nhiều lựa chọn thay thế dựa trên Transformer như RT-DETR. Điều này cho phép các nhà phát triển sử dụng batch size lớn hơn trên các GPU tiêu dùng thông thường như dòng NVIDIA RTX.
Link to this sectionĐiểm mạnh và điểm yếu#
Điểm mạnh:
- Tính linh hoạt vượt trội trên nhiều tác vụ khác ngoài việc phát hiện bounding box đơn thuần.
- Python API được tinh giản thông qua gói
ultralytics, giúp việc huấn luyện và export trở nên trực quan cao. - mean Average Precision (mAP) cao hơn trên tất cả các biến thể kích thước so với YOLOv5.
Điểm yếu:
- Decoupled head và C2f module giới thiệu một mức tăng nhẹ về số lượng tham số và FLOPs cho một số biến thể so với các phiên bản tương ứng trong YOLOv5.
Link to this sectionUltralytics YOLOv5: Người tiên phong linh hoạt#
Được giới thiệu vào năm 2020, YOLOv5 đã mang YOLO đến với hệ sinh thái PyTorch, cải thiện đáng kể khả năng tiếp cận của nhà phát triển. Nó nhanh chóng trở thành tiêu chuẩn công nghiệp cho các model object detection nhanh, đáng tin cậy và dễ dàng triển khai.
- Tác giả: Glenn Jocher
- Tổ chức: Ultralytics
- Ngày: 2020-06-26
- GitHub: ultralytics/yolov5
- Tài liệu: Tài liệu YOLOv5
Link to this sectionKiến trúc và phương pháp luận#
YOLOv5 dựa trên kiến trúc anchor-based và sử dụng backbone CSPDarknet53 đã được sửa đổi. Mặc dù các phương pháp anchor-based yêu cầu việc phân cụm các bounding box của tập dữ liệu một cách cẩn thận để xác định các anchor tối ưu trước khi huấn luyện, chúng lại cực kỳ hiệu quả cho các tập dữ liệu cụ thể và được xác định rõ ràng.
YOLOv5 tích hợp C3 module, trích xuất các đặc trưng một cách hiệu quả trong khi vẫn duy trì dấu chân tham số thấp. Hàm mất mát của nó dựa phần lớn vào Objectness loss kết hợp với các hàm mất mát phân loại và hồi quy bounding box để dẫn dắt mạng lưới hướng tới các dự đoán chính xác.
Link to this sectionĐiểm mạnh và điểm yếu#
Điểm mạnh:
- Cực kỳ nhẹ, làm cho các biến thể Nano (YOLOv5n) và Small (YOLOv5s) rất phù hợp cho các triển khai edge AI hạn chế về tài nguyên.
- Tốc độ inference đặc biệt nhanh, đặc biệt là trên CPU.
- Một hệ sinh thái được thiết lập sâu rộng với nhiều hướng dẫn cộng đồng và các tích hợp của bên thứ ba.
Điểm yếu:
- Yêu cầu cấu hình anchor box, điều này có thể làm phức tạp việc thiết lập cho các tập dữ liệu tùy chỉnh hoặc có độ biến động cao.
- Độ chính xác tổng thể (mAP) thấp hơn so với các kiến trúc anchor-free hiện đại như YOLOv8 và YOLO26.
Link to this sectionSo sánh hiệu năng#
Khi đánh giá các model này, việc đạt được sự cân bằng hợp lý giữa tốc độ và độ chính xác là tối quan trọng. Bảng dưới đây phác thảo các chỉ số hiệu suất của cả hai kiến trúc được đánh giá trên COCO dataset. Tốc độ CPU được đo bằng ONNX, trong khi tốc độ GPU được kiểm tra bằng TensorRT.
| 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 |
| 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 |
Trong khi YOLOv5 vẫn giữ được lợi thế nhỏ về số lượng tham số và tốc độ thô tuyệt đối cho biến thể Nano, YOLOv8 mang đến một bước nhảy vọt lớn về mAP trên diện rộng, cung cấp sự cân bằng hiệu suất mạnh mẽ hơn nhiều cho các kịch bản triển khai thực tế đòi hỏi khắt khe.
Link to this sectionTính dễ sử dụng và Hệ sinh thái Ultralytics#
Một đặc điểm nổi bật của các model Ultralytics hiện đại là hệ sinh thái được duy trì tốt xung quanh chúng. Quá trình chuyển đổi từ YOLOv5 sang YOLOv8 đã mang đến sự ra đời của gói pip ultralytics thống nhất, tạo ra trải nghiệm người dùng vô cùng tinh gọn.
Các nhà phát triển có thể xử lý liền mạch việc model training, kiểm chứng, dự đoán và xuất chỉ với một vài dòng mã Python, bỏ qua các tập lệnh boilerplate phức tạp vốn thường được yêu cầu trong các dự án deep learning trước đây.
from ultralytics import YOLO
# Load a pretrained YOLOv8 model
model = YOLO("yolov8n.pt")
# Train the model on custom data efficiently
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)
# Export the model to ONNX for production deployment
path = model.export(format="onnx")Hơn nữa, việc tích hợp với các công cụ như Ultralytics Platform giúp đơn giản hóa việc quản lý tập dữ liệu, huấn luyện trên đám mây và triển khai, đảm bảo quá trình phát triển tích cực và sự hỗ trợ mạnh mẽ từ cộng đồng.
Link to this sectionCác trường hợp sử dụng lý tưởng#
Khi nào nên chọn YOLOv5: Nếu bạn đang duy trì các hệ thống cũ, chạy inference trên các CPU bị hạn chế nghiêm trọng như Raspberry Pi, hoặc làm việc trên một dự án mà việc tiết kiệm từng phần megabyte kích thước model là rất quan trọng, thì YOLOv5 vẫn là một công cụ đáng tin cậy.
Khi nào nên chọn YOLOv8: Đối với hầu hết các dự án mới bắt đầu từ hôm nay, YOLOv8 được khuyến nghị cao hơn YOLOv5. Kiến trúc tiên tiến của nó xử lý việc theo dõi phức tạp, oriented bounding boxes (OBB) và phân đoạn một cách dễ dàng. Nó lý tưởng cho các ứng dụng hiện đại trải dài từ robot tự hành đến phân tích hình ảnh y tế và cơ sở hạ tầng đô thị thông minh.
Trong khi YOLOv8 có khả năng cực kỳ mạnh mẽ, các nhà phát triển đang tìm kiếm đỉnh cao hiệu suất tuyệt đối nên cân nhắc YOLO26. Được ra mắt vào năm 2026, nó giới thiệu một số tiến bộ mang tính đột phá:
- Thiết kế NMS-Free End-to-End: Loại bỏ xử lý hậu kỳ NMS để triển khai nhanh hơn, đơn giản hơn, một khái niệm lần đầu tiên được tiên phong trong YOLOv10.
- MuSGD Optimizer: Một sự kết hợp giữa SGD và Muon mang những đổi mới trong huấn luyện LLM vào thị giác máy tính, cho phép huấn luyện ổn định hơn và hội tụ nhanh hơn.
- Inference CPU nhanh hơn tới 43%: Được tối ưu hóa mạnh mẽ cho các môi trường điện toán edge không có GPU chuyên dụng.
- Loại bỏ DFL: Distribution Focal Loss đã được loại bỏ để đơn giản hóa việc export và tăng cường khả năng tương thích với thiết bị edge.
- ProgLoss + STAL: Các hàm mất mát tiên tiến giúp thúc đẩy 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 trên không và IoT.
Bằng cách tận dụng tài liệu và công cụ toàn diện được cung cấp bởi Ultralytics, bạn có thể dễ dàng triển khai YOLOv8, hoặc khám phá YOLO26 tiên tiến, để giải quyết các thách thức thị giác phức tạp với tốc độ và độ chính xác chưa từng có. Để học hỏi thêm, hãy cân nhắc khám phá các hướng dẫn của chúng tôi về hyperparameter tuning và model deployment practices.