YOLOv8 so với YOLOv10: So sánh Kỹ thuật Toàn diện
Sự phát triển của công nghệ phát hiệ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 hiệu quả và chính xác 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 chuyên sâu này, chúng ta sẽ so sánh... Ultralytics YOLOv8 Và YOLOv10 Chúng tôi sẽ phân tích sự khác biệt về kiến trúc, các chỉ số hiệu năng 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.
Tổng quan về mô hình: YOLOv8
Được giới thiệu như một bước tiến lớn trong lĩnh vực YOLO dòng dõi, YOLOv8 Nó đã thiết lập một tiêu chuẩn mới cho một khung làm việc thống nhất và linh hoạt. Nó được thiết kế từ đầu để hỗ trợ vô số tác vụ vượt ra ngoài các hộp giới hạn 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: 10/01/2023
- GitHub: https://github.com/ ultralytics / ultralytics
- Tài liệu yolov8 ultralytics
Kiến trúc và Điểm mạnh
YOLOv8 Đã giới thiệu một đầu phát hiện không cần neo và một kiến trúc xương sống 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 hộp neo, mô hình giảm số lượng dự đoán hộp, giúp tăng tốc quá trình loại bỏ các hộp không tối đa (Non-Maximum Suppression). NMS ) trong quá trình xử lý hậu kỳ.
Một trong những ưu điểm nổi bật của việc lựa chọn YOLOv8 Đó là tính linh hoạt vượt trội của nó. Trong khi nhiều mô hình chỉ tập trung vào phát hiện đối tượng, YOLOv8 Nó hỗ trợ natively phân đoạn đối tượng , phân loại hình ảnh , ước lượng tư thế và hộp giới hạn định hướng (OBB) . Điều này biến nó thành một công cụ mạnh mẽ cho các quy trình phức tạp, nhiều giai đoạn, nơi cần đồng thời các loại hiểu biết hình ảnh khác nhau. Hơn nữa, yêu cầu bộ nhớ của nó trong quá trình huấn luyệ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 huấn luyện các mô hình lớn trên GPU tiêu chuẩn dành cho người tiêu dùng.
Tổng quan về 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 mục đích giải quyết một trong những nút thắt cổ chai lâu đời nhất trong dòng YOLO: sự phụ thuộc vào xử lý hậu kỳ NMS.
YOLOv10 Chi tiết:
- 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/
Kiến trúc và Điểm mạnh
Sự đổi mới chính của YOLOv10 đó là chiến lược Phân công kép nhất quán của nó, cho phép NMS - Đào tạo miễn phí và triển khai trọn gói. Bằng cách loại bỏ... NMS bước chân, 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 xử lý hậu kỳ có thể tốn nhiều tài nguyên tính toán.
Ngoài ra, YOLOv10 tích hợp thiết kế mô hình toàn diện hướng đến hiệu quả và độ chính xác, điều chỉnh cẩn thận chi phí tính toán của từng lớp. Điều này tạo ra một mô hình yêu cầu ít tham số và FLOPs hơn trong khi vẫn đạt được độ chính xác trung bình (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 đòi hỏi độ trễ tối thiểu tuyệt đối trong các tác vụ detect thuần túy.
Detect End-to-End
Việc loại bỏ NMS TRONG YOLOv10 Điều này giúp đơn giản hóa đáng kể quy trình xuất sang các framework như OpenVINO và TensorRT , vì toàn bộ mô hình có thể được biên dịch thành một đồ thị duy nhất mà không cần các lớp xử lý hậu kỳ tùy chỉnh.
So sánh hiệu năng và số liệu
Khi so sánh hai kiến trúc này, điều quan trọng là phải xem xét sự đánh đổi giữa số lượng tham số, FLOPs và độ chính xác. Dưới đây là bảng so sánh chính xác các chỉ số hiệu năng của chúng trên tập dữ liệu COCO .
| Mô hình | Kích thước (pixels) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | Tham số (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 |
Trong khi YOLOv10 đạt được mức cao hơn một chút mAP với số lượng tham số ít hơn ở một số thang đo, YOLOv8 Nó cung cấp một hệ sinh thái mạnh mẽ hơn và hỗ trợ nhiều tác vụ hơn, do đó 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à các hộp giới hạn.
Hệ sinh thái và phương pháp đào tạo
Yếu tố tạo nên sự khác biệt thực sự cho các quy trình làm việc ML hiện đại thường nằm ở hệ sinh thái xung quanh kiến trúc của nó. Việc lựa chọn một... Ultralytics mô hình như YOLOv8 Cung cấp sự dễ sử dụng chưa từng có và trải nghiệm phát triển liền mạch.
Với bộ công cụ phát triển Python SDK) cực kỳ trực quan, các nhà phát triển có thể xử lý việc chú thích dữ liệu, huấn luyện và triển khai một cách dễ dàng. Ultralytics Hệ sinh thái được duy trì cực kỳ 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ề điều 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.
Ví dụ mã: Huấn luyện đơn giản hóa
Cái Ultralytics Python API giúp việc khởi tạo, huấn luyện và xác thực cả hai mô hình trở nên vô cùng đơn giản. Hãy lưu ý rằng quy trình làm việc tương tự được áp dụng bất kể kiến trúc nền tảng 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")
Cá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 các 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.
Khi nào nên chọn YOLOv8
YOLOv8 là một lựa chọn tốt 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 detection, segmentation, classification và ước tính tư thế trong hệ sinh thái Ultralytics.
- Hệ thống sản xuất đã được 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ử kỹ lưỡng.
- Hỗ trợ cộng đồng và hệ sinh thái rộng lớn: Các ứng dụng hưởng lợi từ các hướng dẫn mở rộng của YOLOv8, tích hợp bên thứ ba và tài nguyên cộng đồng tích cực.
Khi nào nên chọn YOLOv10
YOLOv10 được khuyến nghị cho:
- detect thời gian thực không NMS: Các ứng dụng hưởng lợi từ detect end-to-end mà không cần Non-Maximum Suppression, giảm độ phức tạp khi triển khai.
- Đánh đổi 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 detect trên các quy mô mô hình khác nhau.
- Ứng dụng có độ trễ nhất quán: Các kịch bản triển khai mà thời gian suy luận có thể dự đoán được là rất quan trọng, chẳng hạn như trong robot học hoặc các hệ thống tự hành.
Khi nào nên lựa 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 dành cho nhà phát triển:
- Triển khai biên không NMS: Các ứng dụng yêu cầu suy luận nhất quán, độ trễ thấp mà không cần sự phức tạp của xử lý hậu kỳ Non-Maximum Suppression.
- Môi trường chỉ có CPU: Các thiết bị không có tăng tốc GPU chuyên dụng, nơi khả năng suy luận CPU nhanh hơn tới 43% của YOLO26 mang lại lợi thế quyết định.
- Detect đối tượng nhỏ: Các kịch bản đầy thách thức như hình ảnh từ máy bay không người lái 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 đối tượng rất nhỏ.
Tương lai: Bước tiến tới YOLO26
Trong khi YOLOv8 là một người toàn năng xuất sắc và YOLOv10 cung cấp những hiểu biết học thuật tuyệt vời về NMS Với các kiến trúc không ràng buộc, công nghệ thị giác máy tính tiên tiến đã tiến thêm một bước. Để đạt được sự cân bằng tối ưu giữa tốc độ, độ chính xác và tính đơn giản trong triển khai, chúng tôi đặc biệt khuyên bạn nên chuyển sang YOLO26 .
Ra mắt vào đầu năm 2026, YOLO26 đại diện cho đỉnh cao tuyệt đối của dòng sản phẩm này. YOLO Dòng sản phẩm này kết hợp hoàn hảo những tính năng tốt nhất của các phiên bản tiền nhiệm đồng thời giới thiệu những công nghệ mới mang tính đột phá:
- Thiết kế không NMS đầu cuối: Kế thừa đột phá được 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 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 huấn luyện Mô hình Ngôn ngữ Lớn (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 huấn luyện vô song.
- Ưu thế suy luận CPU: YOLO26 mang lại tốc độ suy luận CPU nhanh hơn tới 43% so với các thế hệ trước, biến nó thành một yếu tố thay đổi cuộc chơi cho các ứng dụng Raspberry Pi và IoT.
- ProgLoss + STAL: Các hàm mất mát tiên tiến này cung cấp những cải tiến đáng kể trong việc nhận diện vật thể nhỏ, điều này rất quan trọng đối với hình ảnh trên không và robot.
Nếu bạn đang đánh giá các mô hình, bạn cũng có thể quan tâm đến YOLO11 , tiền thân trực tiếp của YOLO26, một khung phần mềm mạnh mẽ, sẵn sàng cho sản xuất và được sử dụng rộng rãi trong các giải pháp doanh nghiệp hiện nay. Tuy nhiên, để đảm bảo khả năng tương thích trong tương lai và hiệu suất tối đa, việc khám phá các khả năng nâng cao của Nền tảng Ultralytics với YOLO26 là con đường tốt nhất cho chiến lược AI thị giác của bạn.