Chuyển đến nội dung

YOLOv10 so với YOLOv8 : So sánh kỹ thuật để phát hiện đối tượng theo thời gian thực

Sự tiến hóa của YOLO Gia đình (You Only Look Once) đã liên tục vượt qua các giới hạn của thị giác máy tính, cung cấp cho các nhà phát triển các công cụ phát hiện đối tượng nhanh hơn và chính xác hơn. Khi lựa chọn giữa YOLOv10YOLOv8 , việc hiểu rõ các sắc thái trong kiến trúc, hiệu quả và hỗ trợ hệ sinh thái là rất quan trọng. Trong khi YOLOv10 giới thiệu những thay đổi kiến trúc mới để nâng cao hiệu quả, YOLOv8 vẫn là một tiêu chuẩn mạnh mẽ, linh hoạt được biết đến vì dễ sử dụng và có bộ tính năng toàn diện.

Hướng dẫn này cung cấp so sánh kỹ thuật chi tiết để giúp bạn chọn đúng mô hình cho các dự án học máy của mình.

Phân tích hiệu suất

Các số liệu hiệu suất trên tập dữ liệu COCO minh họa các triết lý thiết kế riêng biệt đằng sau các mô hình này. YOLOv10 tập trung nhiều vào việc giảm số lượng tham số và các phép toán dấu chấm động (FLOP), thường đạt được hiệu suất cao hơn mAP (Độ chính xác trung bình) cho một kích thước mô hình nhất định. Tuy nhiên, YOLOv8 vẫn duy trì tốc độ suy luận cạnh tranh cao, đặc biệt là trên CPU và khi xuất sang các định dạng được tối ưu hóa như TensorRT , cân bằng giữa tốc độ thô và khả năng triển khai thực tế.

Mô hìnhKích thước
(pixels)
mAP giá trị
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
Tham số
(M)
FLOPs
(B)
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8

YOLOv10 : Hiệu quả thông qua đổi mới kiến trúc

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: YOLOv10 : Phát hiện đối tượng đầu cuối theo thời gian thực
GitHub: THU-MIG/yolov10

YOLOv10 được phát triển bởi các nhà nghiên cứu tại Đại học Thanh Hoa với mục tiêu chính: loại bỏ sự phụ thuộc vào việc ức chế không tối đa ( NMS ) trong quá trình xử lý hậu kỳ. NMS có thể là nút thắt trong các ứng dụng quan trọng về độ trễ. YOLOv10 giới thiệu một chiến lược phân công kép nhất quán trong quá trình đào tạo, cho phép mô hình dự đoán một hộp tốt nhất cho mỗi đối tượng, thực sự biến nó thành một máy dò đầu cuối.

Điểm mạnh chính của YOLOv10

  • NMS -Suy luận miễn phí: Bằng cách loại bỏ NMS bước chân, YOLOv10 giảm chi phí tính toán trong giai đoạn hậu xử lý, có thể giảm độ trễ trong các tình huống biên cụ thể.
  • Hiệu quả tham số: Thiết kế mô hình toàn diện làm giảm đáng kể số lượng tham số và FLOP so với các thế hệ trước, khiến nó trở nên hấp dẫn đối với các thiết bị có bộ nhớ cực kỳ hạn chế.
  • Độ chính xác cao: Đạt đến trình độ tiên tiến mAP đạt điểm cao nhờ kích thước của nó, chứng minh tính hiệu quả của việc tối ưu hóa kiến trúc.

Điểm yếu

  • Chuyên môn hóa nhiệm vụ: YOLOv10 được thiết kế chủ yếu để phát hiện đối tượng. Nó thiếu hỗ trợ gốc cho các tác vụ thị giác máy tính khác như phân đoạn thực thể hoặc ước tính tư thế ngay khi cài đặt.
  • Độ trưởng thành của hệ sinh thái: Là phiên bản học thuật mới hơn, nó có ít tích hợp của bên thứ ba và tài nguyên cộng đồng hơn so với phiên bản đã được thiết lập Ultralytics hệ sinh thái.

Tìm hiểu thêm về YOLOv10

Ultralytics YOLOv8 : Tiêu chuẩn công nghiệp đa năng

Tác giả: Glenn Jocher, Ayush Chaurasia và Jing Qiu
Tổ chức: Ultralytics
Ngày: 2023-01-10
Tài liệu: Tài liệu Ultralytics YOLOv8
GitHub: ultralytics / ultralytics

Ra mắt bởi Ultralytics , YOLOv8 là thành quả của nhiều năm nghiên cứu về AI thực tế và thân thiện với người dùng. Nó được thiết kế không chỉ cho hiệu suất cao mà còn mang đến trải nghiệm vượt trội cho nhà phát triển. YOLOv8 sử dụng cơ chế phát hiện không neo và luồng gradient phong phú để đảm bảo quá trình huấn luyện mạnh mẽ. Tính năng nổi bật của nó là hỗ trợ gốc cho một loạt các tác vụ—phát hiện, phân đoạn, phân loại, ước tính tư thế và OBB—tất cả trong một khuôn khổ thống nhất, duy nhất.

  • Dễ sử dụng: Ultralytics YOLOv8 nổi tiếng với Python đơn giản và CLI giao diện. Các nhà phát triển có thể đào tạo, xác thực và triển khai các mô hình chỉ bằng một vài dòng mã.
  • Hệ sinh thái được duy trì tốt: Là một phần của Ultralytics hệ sinh thái có nghĩa là truy cập vào các bản cập nhật thường xuyên, một cộng đồng lớn và tích hợp liền mạch với các công cụ như Ultralytics HUB để quản lý mô hình dễ dàng.
  • Cân bằng hiệu suất: Nó đạt được sự cân bằng lý tưởng giữa tốc độ và độ chính xác. Mô hình được tối ưu hóa cao cho nhiều nền tảng phần cứng khác nhau, bao gồm CPU , GPU và Edge TPU .
  • Hiệu quả đào tạo: YOLOv8 cung cấp các quy trình đào tạo hiệu quả với yêu cầu bộ nhớ thấp hơn nhiều giải pháp thay thế dựa trên máy biến áp, giúp tiết kiệm chi phí tính toán.
  • Tính linh hoạt: Không giống như các mô hình giới hạn trong hộp giới hạn, YOLOv8 có thể xử lý các dự án phức tạp đòi hỏi mặt nạ phân đoạn hoặc điểm chính mà không cần chuyển đổi khung.

Hiệu quả bộ nhớ

Ultralytics các mô hình như YOLOv8 được thiết kế để tiết kiệm bộ nhớ. Điều này làm giảm đáng kể rào cản gia nhập để đào tạo các mô hình tùy chỉnh, vì chúng yêu cầu ít hơn CUDA bộ nhớ so với các mô hình máy biến áp cồng kềnh như RT-DETR , cho phép đào tạo trên GPU cấp tiêu dùng.

Tìm hiểu thêm về YOLOv8

Phân tích so sánh: Kiến trúc và trường hợp sử dụng

Sự khác biệt về kiến trúc

Sự khác biệt cơ bản nằm ở các chiến lược hậu xử lý và gán. YOLOv10 sử dụng kiến trúc hai đầu, trong đó một đầu sử dụng gán một-nhiều (giống như YOLO truyền thống) cho các tín hiệu giám sát phong phú trong quá trình huấn luyện, trong khi đầu còn lại sử dụng gán một-một cho suy luận, loại bỏ nhu cầu NMS .

Ngược lại, YOLOv8 sử dụng bộ gán được căn chỉnh theo tác vụ và cấu trúc đầu ghép nối không có neo. Thiết kế này đơn giản hóa đầu phát hiện và cải thiện khả năng khái quát hóa. Mặc dù nó yêu cầu NMS , hoạt động được tối ưu hóa cao ở các định dạng xuất như ONNX và TensorRT , thường làm cho sự khác biệt về độ trễ thực tế trở nên không đáng kể trong các quy trình triển khai mạnh mẽ.

Các trường hợp sử dụng lý tưởng

Việc lựa chọn giữa hai phương án này thường phụ thuộc vào những hạn chế cụ thể của dự án của bạn:

  1. AI biên hiệu suất cao ( YOLOv10 ): Nếu ứng dụng của bạn chạy trên phần cứng bị hạn chế nghiêm trọng về tài nguyên, trong đó mỗi megabyte dung lượng lưu trữ đều có giá trị hoặc nếu NMS hoạt động tạo ra một nút thắt cụ thể trên chip mục tiêu của bạn, YOLOv10 là một ứng cử viên xuất sắc. Ví dụ bao gồm các cảm biến nhúng trong nông nghiệp hoặc máy bay không người lái hạng nhẹ.

  2. AI Đa năng và Đa nhiệm ( YOLOv8 ): Đối với phần lớn các ứng dụng thương mại và nghiên cứu, YOLOv8 là lựa chọn ưu việt. Khả năng phân đoạn (ví dụ: hình ảnh y tế chính xác) và ước tính tư thế (ví dụ: phân tích thể thao ) giúp nó trở nên cực kỳ linh hoạt. Hơn nữa, tài liệu hướng dẫn và hỗ trợ toàn diện của nó đảm bảo các nhà phát triển có thể giải quyết vấn đề nhanh chóng và triển khai nhanh hơn.

Triển khai mã

Một trong những lợi thế chính của Ultralytics framework là API thống nhất. Cho dù bạn đang sử dụng YOLOv8 hoặc khám phá các mô hình mới hơn, quy trình làm việc vẫn nhất quán và trực quan.

Sau đây là cách dễ dàng để bạn có thể bắt đầu đào tạo cho một YOLOv8 mô hình sử dụng Python :

from ultralytics import YOLO

# Load a pre-trained YOLOv8 model
model = YOLO("yolov8n.pt")

# Train the model on your custom dataset
# The system automatically handles data downloading and processing
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image
results = model("path/to/image.jpg")

Vì YOLOv10 , cái Ultralytics gói này cũng tạo điều kiện thuận lợi cho việc truy cập, cho phép các nhà nghiên cứu thử nghiệm kiến trúc trong một môi trường quen thuộc:

from ultralytics import YOLO

# Load a pre-trained YOLOv10 model
model = YOLO("yolov10n.pt")

# Train the model using the same simple API
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

Kết luận

Cả hai YOLOv10 Và YOLOv8 là những cột mốc ấn tượng trong lĩnh vực thị giác máy tính. YOLOv10 mở rộng ranh giới về hiệu quả kiến trúc, cung cấp cái nhìn thoáng qua về NMS -tương lai miễn phí cho các ứng dụng chuyên biệt có độ trễ thấp.

Tuy nhiên, Ultralytics YOLOv8 vẫn là mô hình được khuyến nghị cho các nhà phát triển và tổ chức. Hệ sinh thái mạnh mẽ , độ tin cậy đã được chứng minhkhả năng đa nhiệm của nó mang đến một giải pháp toàn diện, vượt xa khả năng phát hiện đơn thuần. Với Ultralytics YOLOv8 , bạn không chỉ có được một mô hình mà còn có được một bộ công cụ hoàn chỉnh để xây dựng, đào tạo và triển khai các giải pháp AI đẳng cấp thế giới một cách hiệu quả.

Đối với những người muốn luôn đi đầu, hãy nhớ xem YOLO11 , phiên bản mới nhất từ Ultralytics mang lại hiệu suất và hiệu quả thậm chí còn cao hơn YOLOv8 .

Đọc thêm


Bình luận