YOLOv8: Tổng Quan
Nội dung
- 1. Giới thiệu
- 2. Kiến trúc của YOLOv8
- 3. Ưu điểm nổi bật
- 4. Ứng dụng thực tế
- 5. Ví dụ sử dụng YOLOv8 với Ultralytics
- 6. Tham khảo
1. Giới thiệu
YOLOv8 là phiên bản mới nhất của dòng mô hình YOLO, nổi bật với tốc độ nhận diện nhanh và độ chính xác cao trong phát hiện đối tượng thời gian thực. YOLOv8 tối ưu hơn các phiên bản trước nhờ cải tiến kiến trúc và thuật toán huấn luyện.
2. Kiến trúc của YOLOv8
YOLOv8 gồm ba thành phần chính: Backbone, FPN (Feature Pyramid Network) và Head. Kiến trúc này giúp mô hình hoạt động hiệu quả cả với các đối tượng lớn và nhỏ trong ảnh.
2.1 Backbone và Head
Backbone:
Là phần trích xuất đặc trưng từ ảnh đầu vào. YOLOv8 thường dùng kiến trúc CSP (Cross Stage Partial) hoặc phiên bản cải tiến của nó. Ảnh đầu vào được đi qua các tầng Conv và khối CSP, cho ra các đặc trưng (C_3, C_4, C_5) ở các mức độ trừu tượng khác nhau.- FPN (Feature Pyramid Network):
Tầng trung gian giúp kết hợp thông tin đặc trưng từ nhiều tầng khác nhau (từ sâu đến nông). Mục tiêu là giữ được cả thông tin chi tiết và thông tin ngữ nghĩa. FPN sử dụng các bước:- Giảm kênh bằng Conv 1x1
- Upsample và nối (concatenate) đặc trưng từ tầng trước
- Chuỗi các Conv để tinh chỉnh đặc trưng
- Head:
Phần head nhận các đặc trưng từ FPN (P3, P4, P5), và dự đoán:- Vị trí bounding box (tọa độ x, y, w, h)
- Độ tin cậy (confidence) đối tượng
- Phân loại (class)
2.2 Cách hoạt động chính
YOLOv8 là mô hình One-Stage Detector, nghĩa là nó thực hiện đồng thời phát hiện vùng (region proposal) và phân loại đối tượng trong một bước duy nhất.
Cụ thể:
- Ảnh đầu vào được đưa qua backbone để tạo đặc trưng.
- Đặc trưng được xử lý qua FPN để tạo ra các tầng đặc trưng đa tỉ lệ.
- Mỗi tầng đặc trưng (P3, P4, P5) được đưa vào head để dự đoán đầu ra (box, class, objectness).
So với các mô hình hai giai đoạn như Faster R-CNN (đề xuất vùng trước rồi mới phân loại), YOLOv8 xử lý nhanh hơn nhiều, đặc biệt hiệu quả trong các bài toán yêu cầu thời gian thực như:
- Giám sát an ninh
- Xe tự hành
- Thiết bị nhúng (embedded AI)
3. Ưu điểm nổi bật
- Tốc độ xử lý nhanh, phù hợp ứng dụng thời gian thực.
- Độ chính xác cao, đặc biệt với các đối tượng nhỏ.
- Dễ huấn luyện và triển khai.
- Kiến trúc đơn giản nhưng hiệu quả cao.
- Hỗ trợ training dễ dàng với PyTorch, Ultralytics.
4. Ứng dụng thực tế
- Giám sát an ninh.
- Đếm và phân loại sản phẩm trong sản xuất.
- Phát hiện vật thể trên xe tự hành.
- Phân tích video thể thao.
- Robot công nghiệp và UAV.
5. Ví dụ sử dụng YOLOv8 với Ultralytics
Bạn có thể xem trực tiếp ví dụ sử dụng YOLOv8 tại tài liệu chính thức của Ultralytics dưới đây:
Nếu iframe không hiển thị, bạn có thể mở trang trực tiếp tại:
🔗 https://docs.ultralytics.com/models/yolov8/#yolov8-usage-examples
6. Tham khảo
[1] S. Ren, K. He, R. Girshick, J. Sun. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks. arXiv:1506.01497v3 [cs.CV], 2016. 🔗 https://arxiv.org/abs/1506.01497
[2] Glenn Jocher, Ayush Chaurasia, Jing Qiu. Ultralytics YOLOv8. Phiên bản 8.0.0, phát hành năm 2023. Giấy phép AGPL-3.0. 🔗 https://github.com/ultralytics/ultralytics
[3] Ultralytics. YOLOv8 Documentation. 🔗 https://docs.ultralytics.com/models/yolov8/