YOLOv8 so với YOLOv9: So sánh kỹ thuật toàn diện về các trình phát hiện đối tượng thời gian thực

Sự phát triển của công nghệ phát hiện đối tượng thời gian thực được đặc trưng bởi nỗ lực không ngừng nhằm đạt được độ chính xác cao hơn, độ trễ thấp hơn và khả năng sử dụng phần cứng được cải thiện. Hai cột mốc quan trọng trong hành trình này là Ultralytics YOLOv8YOLOv9. Mặc dù cả hai mô hình đều đại diện cho các khả năng tiên tiến nhất trong computer vision, chúng phục vụ cho các nhu cầu triển khai, triết lý kiến trúc và hệ sinh thái nhà phát triển khác nhau.

Hướng dẫn toàn diện này phân tích các khác biệt kỹ thuật, đổi mới kiến trúc và các cân nhắc triển khai thực tế để giúp bạn chọn mô hình phù hợp cho dự án trí tuệ nhân tạo tiếp theo của mình.

Dòng dõi mô hình và các triết lý cốt lõi

Trước khi đi sâu vào các chỉ số, điều quan trọng là phải hiểu nguồn gốc và mục tiêu thiết kế chính đằng sau mỗi mô hình.

Ultralytics YOLOv8: Tiêu chuẩn hệ sinh thái linh hoạt

Được phát hành bởi đội ngũ tại Ultralytics, YOLOv8 được thiết kế không chỉ như một trình phát hiện đối tượng độc lập mà còn như một khung làm việc đa tác vụ thống nhất. Nó ưu tiên trải nghiệm nhà phát triển liền mạch, yêu cầu bộ nhớ thấp và khả năng tương thích phần cứng rộng rãi.

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

YOLOv9: Thông tin Gradient có thể lập trình (Programmable Gradient Information)

Được phát triển độc lập bởi các nhà nghiên cứu tại Academia Sinica, YOLOv9 tập trung mạnh vào lý thuyết kiến trúc, đặc biệt giải quyết hiện tượng nút thắt thông tin trong các mạng thần kinh sâu.

  • Tác giả: Chien-Yao Wang và Hong-Yuan Mark Liao
  • Tổ chức: Viện Khoa học Thông tin, Academia Sinica, Đài Loan
  • Ngày: 2024-02-21
  • Arxiv: 2402.13616
  • GitHub: WongKinYiu/yolov9

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

Triển khai cho Doanh nghiệp

Nếu bạn đang lên kế hoạch triển khai thương mại quy mô lớn, hãy cân nhắc khám phá Ultralytics Platform để đơn giản hóa quá trình huấn luyện trên đám mây, quản lý tập dữ liệu và các endpoint API chỉ với một cú nhấp chuột.

Đi sâu vào kiến trúc

Các lựa chọn kiến trúc trong học sâu quyết định mô hình học hiệu quả đến mức nào và chạy nhanh ra sao trên các phần cứng mục tiêu như NVIDIA Jetson hoặc Intel CPU.

Kiến trúc YOLOv8: C2f và Decoupled Heads

YOLOv8 đã giới thiệu module C2f (Cross-Stage Partial bottleneck với hai phép tích chập), thay thế cho module C3 cũ hơn. Thay đổi này cải thiện luồng gradient và cho phép mạng học các biểu diễn đặc trưng phong phú hơn mà không gây áp lực lớn lên GPU memory.

Hơn nữa, YOLOv8 sử dụng thiết kế anchor-free với decoupled head. Bằng cách xử lý tính đối tượng, phân loại và hồi quy thông qua các lộ trình riêng biệt, mô hình hội tụ nhanh hơn trong quá trình huấn luyện và tổng quát hóa tốt hơn cho các custom datasets đa dạng.

Kiến trúc YOLOv9: PGI và GELAN

YOLOv9 giới thiệu Programmable Gradient Information (PGI)Generalized Efficient Layer Aggregation Network (GELAN). PGI đảm bảo dữ liệu quan trọng không bị mất khi đi qua các lớp của mạng, cung cấp các gradient đáng tin cậy cho việc cập nhật trọng số. GELAN tối đa hóa hiệu quả tham số, cho phép mô hình đạt được accuracy cao trong khi vẫn cố gắng giữ FLOPs ở mức quản lý được.

Mặc dù ấn tượng về mặt toán học, sự phụ thuộc của YOLOv9 vào các nhánh phụ có thể đảo ngược cụ thể trong quá trình huấn luyện có thể khiến mã huấn luyện trở nên phức tạp hơn khi tùy chỉnh so với các đường ống tiêu chuẩn.

Số liệu hiệu suất và Benchmark

Bảng dưới đây cung cấp so sánh trực tiếp các mô hình ở các kích thước khác nhau. Hiệu suất được đo lường trên MS COCO dataset, một chuẩn mực cho việc phát hiện đối tượng.

Modelkích thước
(pixels)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
tham số
(M)
FLOPs
(B)
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
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0

Lưu ý: Các giá trị tốt nhất trong mỗi cột được làm nổi bật bằng chữ đậm.

Phân tích sự đánh đổi

YOLOv9 đạt được độ chính xác đỉnh (mAP) cao hơn một chút, đặc biệt là với biến thể e lớn hơn của nó. Tuy nhiên, điều này đi kèm với một cái giá. Ultralytics YOLOv8 duy trì lợi thế đáng kể về tốc độ suy luận, đặc biệt là khi được biên dịch sang các định dạng như TensorRT hoặc ONNX. Đối với các ứng dụng yêu cầu số khung hình trên giây (FPS) cao trên phần cứng biên bị hạn chế (như Raspberry Pi hoặc các chip di động cũ hơn), các biến thể ns của YOLOv8 mang lại sự cân bằng hiệu suất thiết thực hơn nhiều.

Hiệu quả huấn luyện và tích hợp hệ sinh thái

Việc chọn một mô hình không chỉ dừng lại ở việc xem các bảng độ chính xác; trải nghiệm của nhà phát triển là tối quan trọng.

Lợi thế của Ultralytics: Sự dễ sử dụng

Huấn luyện YOLOv9 thường yêu cầu sao chép các kho lưu trữ GitHub phức tạp, quản lý cẩn thận môi trường PyTorch và cấu hình thủ công trọng số mất mát phụ.

Ngược lại, Ultralytics YOLOv8 được hỗ trợ bởi một Python API được hợp lý hóa đáng kể. Được xây dựng để dễ sử dụng, nó xử lý việc tăng cường dữ liệu, ghi nhật ký (đến các công cụ như Weights & BiasesComet ML) và phân phối phần cứng một cách nguyên bản.

from ultralytics import YOLO

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

# Train the model efficiently on custom data
results = model.train(data="custom_dataset.yaml", epochs=100, imgsz=640)

# Export for edge deployment
model.export(format="engine", half=True)  # TensorRT export

API duy nhất này rút ngắn đáng kể thời gian từ nguyên mẫu đến sản xuất. Hơn nữa, YOLOv8 thường yêu cầu ít bộ nhớ CUDA hơn trong khi huấn luyện, cho phép các nhà phát triển sử dụng kích thước batch lớn hơn trên phần cứng tiêu dùng.

Tính linh hoạt của tác vụ

Mặc dù YOLOv9 là trình phát hiện khung bao (bounding box) tuyệt vời, AI thị giác trong thế giới thực thường yêu cầu nhiều hơn thế. YOLOv8 là một công cụ mạnh mẽ đa năng hỗ trợ nguyên bản Instance Segmentation, Pose Estimation, Image ClassificationOriented Bounding Boxes (OBB). Sử dụng một khung duy nhất cho nhiều tác vụ giúp giảm đáng kể tình trạng cồng kềnh của phần mềm và chi phí bảo trì.

Hướng về phía trước

Nếu bạn đang bắt đầu một dự án mới, bạn cũng có thể muốn đánh giá Ultralytics YOLO11 hoặc YOLO26 tiên tiến, vốn có thiết kế không cần NMS từ đầu đến cuối.

Các trường hợp sử dụng trong thực tế

Các mô hình này hoạt động như thế nào trong sản xuất?

Máy bay không người lái tự hành và Robotics

Đối với robot yêu cầu tránh chướng ngại vật nhanh chóng, YOLOv8 là lựa chọn ưu tiên. Độ trễ cực thấp của YOLOv8n đảm bảo các hệ thống tự hành phản ứng với môi trường của chúng trong thời gian thực, ngăn ngừa va chạm. Khả năng xuất nguyên bản sang OpenVINO và CoreML giúp việc triển khai trên các chip công suất thấp thường thấy ở máy bay không người lái thương mại trở nên dễ dàng.

Phát hiện lỗi độ phân giải cao

Trong các môi trường sản xuất chuyên biệt, nơi việc phát hiện các dị thường vi mô là quan trọng và việc xử lý ngoại tuyến là chấp nhận được, YOLOv9 có thể mang lại hiệu quả cao. Kiến trúc PGI giúp mạng giữ lại các chi tiết hình ảnh tinh vi cần thiết để xác định các vết nứt tóc hoặc lỗi hàn PCB.

Bán lẻ thông minh và Phân tích bảo mật

Để theo dõi khách hàng qua các lối đi trong cửa hàng hoặc quản lý automated checkout systems, YOLOv8 cung cấp sự cân bằng tốt nhất. Khả năng chạy đồng thời phát hiện và multi-object tracking sử dụng các thuật toán tiêu chuẩn như BoT-SORT khiến nó trở thành một giải pháp mạnh mẽ cho việc triển khai bán lẻ đa camera.

Các trường hợp sử dụng và khuyến nghị

Việc lựa chọn giữa YOLOv8 và YOLOv9 phụ thuộc vào các yêu cầu dự án cụ thể, hạn chế triển khai và tùy chọn hệ sinh thái của bạn.

Khi nào nên chọn YOLOv8

YOLOv8 là một lựa chọn mạnh mẽ cho:

  • Triển khai đa tác vụ linh hoạt: Các dự án yêu cầu một model đã được kiểm chứng cho detection, segmentation, classificationpose estimation trong hệ sinh thái Ultralytics.
  • Các 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 đường ống triển khai ổn định, đã được kiểm tra kỹ lưỡng.
  • Hỗ trợ cộng đồng và hệ sinh thái rộng lớn: Các ứng dụng được hưởng lợi từ các hướng dẫn mở rộng, tích hợp của bên thứ ba và các tài nguyên cộng đồng tích cực của YOLOv8.

Khi nào nên chọn YOLOv9

YOLOv9 được khuyến nghị cho:

  • Nghiên cứu về Nút thắt Thông tin (Information Bottleneck): Các dự án học thuật nghiên cứu về kiến trúc Programmable Gradient Information (PGI) và Generalized Efficient Layer Aggregation Network (GELAN).
  • Nghiên cứu Tối ưu hóa Dòng Gradient: Các nghiên cứu tập trung vào việc hiểu và giảm thiểu mất mát thông tin trong các lớp mạng sâu trong quá trình huấn luyện.
  • Đo lường Hiệu năng Nhận diện Độ chính xác cao: Các trường hợp cần hiệu năng benchmark COCO mạnh mẽ của YOLOv9 làm điểm tham chiếu để so sánh kiến trúc.

Khi nào nên 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 suất và trải nghiệm nhà phát triển:

  • Triển khai Edge không cần NMS: Các ứng dụng yêu cầu suy luận ổn định, độ trễ thấp mà không cần sự phức tạp của việc hậu xử lý Non-Maximum Suppression.
  • Môi trường chỉ sử dụng CPU: Các thiết bị không có GPU tăng tốc chuyên dụng, nơi tốc độ suy luận trên CPU nhanh hơn tới 43% của YOLO26 mang lại lợi thế quyết định.
  • Nhận diện đối tượng nhỏ: Các kịch bản thách thức như ảnh drone trên không 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 cực nhỏ.

Bước tiến tiếp theo: YOLO26

Mặc dù YOLOv8 và YOLOv9 đều mạnh mẽ, bối cảnh AI thay đổi nhanh chóng. Đối với các đội ngũ yêu cầu hiệu suất tốt nhất tuyệt đối, YOLO26 mới được phát hành được xây dựng dựa trên những thành công của các thế hệ trước đó.

YOLO26 giới thiệu thiết kế end-to-end NMS-free, loại bỏ hoàn toàn các nút thắt xử lý hậu kỳ phức tạp, giúp việc triển khai đơn giản hơn và độ trễ có thể dự đoán được. Được thúc đẩy bởi trình tối ưu hóa MuSGD Optimizer mới và các hàm mất mát ProgLoss + STAL nâng cao, cùng với DFL Removal (đã loại bỏ Distribution Focal Loss để xuất đơn giản hơn và tương thích tốt hơn với các thiết bị biên/công suất thấp), nó đạt được tốc độ suy luận CPU nhanh hơn tới 43% đồng thời tăng cường khả năng nhận diện đối tượng nhỏ. Đối với các nhà phát triển đang vượt qua giới hạn của tính toán biên, việc đánh giá YOLO26 rất được khuyến khích.

Tóm lại, trong khi YOLOv9 cung cấp các nghiên cứu kiến trúc hấp dẫn và độ chính xác đỉnh xuất sắc, Ultralytics YOLOv8 vẫn là lựa chọn thực tế nhất, được hỗ trợ tốt nhất và linh hoạt nhất cho đại đa số các kỹ sư thị giác máy tính đang hướng tới việc phân phối phần mềm đáng tin cậy một cách nhanh chóng.

Bình luận