Ultralytics YOLO27:
Get Started

YOLOv9 so với YOLOv8#

Lĩnh vực thị giác máy tính thời gian thực đã phát triển vượt bậc trong vài năm qua, với mỗi model mới đều đẩy xa hơn các giới hạn lý thuyết về khả năng triển khai trên thiết bị biên cũng như máy chủ đám mây. Khi so sánh kiến trúc YOLOv9 mới hơn với framework Ultralytics YOLOv8 rất phổ biến, các nhà phát triển thường phải lựa chọn giữa những hướng gradient lý thuyết tiên tiến và một hệ sinh thái đã được kiểm chứng kỹ lưỡng, sẵn sàng cho môi trường production.

Hướng dẫn toàn diện này đối chiếu hai model hàng đầu, phân tích các cải tiến kiến trúc, chỉ số hiệu năng và kịch bản triển khai phù hợp để giúp bạn chọn model thích hợp cho dự án trí tuệ nhân tạo tiếp theo.

Thông số kỹ thuật và nhóm tác giả#

Hiểu rõ dòng phát triển của các model này sẽ cung cấp bối cảnh thiết yếu cho những lựa chọn thiết kế tương ứng.

YOLOv9 Được phát triển bởi Chien-Yao Wang và Hong-Yuan Mark Liao tại Viện Khoa học Thông tin, Academia Sinica, Đài Loan, YOLOv9 được phát hành vào ngày 21 tháng 2 năm 2024. Nghiên cứu cốt lõi tập trung giải quyết nút thắt thông tin trong mạng neural sâu. Bạn có thể xem bài báo nghiên cứu YOLOv9 gốc trên Arxiv hoặc xem mã nguồn trong kho GitHub YOLOv9 chính thức.

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

Ultralytics YOLOv8 Được phát triển bởi Glenn Jocher, Ayush Chaurasia và Jing Qiu tại Ultralytics, YOLOv8 ra mắt vào ngày 10 tháng 1 năm 2023. Model này đã trở thành tiêu chuẩn ngành nhờ tính linh hoạt, cung cấp một API thống nhất cho nhiều tác vụ thị giác. Mã nguồn được duy trì trong kho GitHub chính của Ultralytics, đảm bảo cập nhật liên tục và ổn định lâu dài.

Các cải tiến kiến trúc#

YOLOv9: Thông tin gradient có thể lập trình#

Đặc điểm nổi bật của YOLOv9 là việc giới thiệu Thông tin gradient có thể lập trình (PGI) và Mạng tổng hợp lớp hiệu quả tổng quát (GELAN). Khi mạng neural tích chập ngày càng sâu, chúng thường mất đi thông tin đặc trưng quan trọng trong quá trình truyền xuôi. PGI giải quyết nút thắt thông tin này bằng cách giữ lại gradient chính xác được dùng để cập nhật trọng số, đảm bảo trích xuất đặc trưng đáng tin cậy. Kiến trúc này tối đa hóa hiệu quả tham số, cho phép YOLOv9 đạt độ chính xác cao với ít phép tính dấu phẩy động (FLOPs) hơn.

YOLOv8: Model đa năng đáng tin cậy#

YOLOv8 giới thiệu cơ chế phát hiện không anchor tinh gọn, giúp giảm số lượng dự đoán box và tăng tốc Ức chế cực đại không (NMS) trong quá trình xử lý hậu kỳ. Module C2f (nút thắt cổ chai phân đoạn từng phần qua các giai đoạn với hai phép tích chập) cải thiện luồng gradient trong toàn mạng so với các model cũ. Quan trọng hơn, YOLOv8 được thiết kế với tiêu chí đa năng, hỗ trợ sẵn phát hiện đối tượng, phân đoạn instance, ước lượng tư thế, phân loại ảnh và trích xuất box giới hạn có hướng (OBB).

Tích hợp hệ sinh thái

Mặc dù YOLOv9 đạt các chỉ số phát hiện thuần túy xuất sắc, việc tích hợp trực tiếp vào các pipeline phức tạp có thể gặp khó khăn. Sử dụng YOLOv9 thông qua framework Ultralytics giúp thu hẹp khoảng cách này, đồng thời cung cấp quyền truy cập vào các công cụ xuất và triển khai mạnh mẽ của chúng tôi.

Cân bằng hiệu năng và benchmark#

Đánh đổi giữa tốc độ và độ chính xác là yếu tố quan trọng nhất khi triển khai model thị giác. Dưới đây là so sánh chi tiết về kích thước model, độ trễ và độ chính xác trung bình, được đánh giá trên bộ dữ liệu COCO tiêu chuẩn.

Modelkích thước
(pixel)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.226.7
YOLOv9m64051.4-6.4320.176.8
YOLOv9c64053.0-7.1625.5102.8
YOLOv9e64055.6-16.7758.1192.5
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.1
YOLOv8x64053.9479.114.3768.2257.8

Khi phân tích các chỉ số, YOLOv9 cho thấy tỷ lệ tham số trên độ chính xác đáng chú ý. Model YOLOv9c đạt mAP ấn tượng 53,0% chỉ với 25,5M tham số. Tuy nhiên, YOLOv8 có lợi thế đáng kể về yêu cầu bộ nhớ và tốc độ suy luận trên bộ tăng tốc phần cứng, đặc biệt là biến thể YOLOv8n đạt 1,47 ms trên cấu hình NVIDIA TensorRT.

Lợi thế của hệ sinh thái Ultralytics#

Một yếu tố quan trọng khi chọn kiến trúc là mức độ dễ sử dụng và hệ sinh thái phần mềm xung quanh. Việc quản lý dependency, viết data loader tùy chỉnh và xử lý các script xuất phức tạp có thể làm chậm quá trình phát triển. Hệ sinh thái Ultralytics tích hợp giúp đơn giản hóa những khía cạnh này.

Dù chọn YOLOv8 hay YOLOv9 (được hỗ trợ đầy đủ trong thư viện Ultralytics), bạn đều được hưởng lợi từ API thống nhất, các kỹ thuật tăng cường dữ liệu tự động và khả năng xuất định dạng ONNX tinh gọn. Ngoài ra, các kiến trúc Ultralytics thường có hiệu quả huấn luyện được tối ưu cao, tránh tình trạng tiêu tốn quá nhiều bộ nhớ CUDA thường gặp ở các model lớn dựa trên Transformer.

Ví dụ mã huấn luyện#

Việc huấn luyện một trong hai model bằng Python API rất đơn giản, chỉ cần vài dòng mã.

from ultralytics import YOLO

# Tải model mong muốn (thay 'yolov9c.pt' bằng 'yolov8n.pt' khi cần)
model = YOLO("yolov8n.pt")

# Huấn luyện model trên dataset tùy chỉnh của bạn
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Xác thực các chỉ số hiệu năng của model
metrics = model.val()

# Xuất sang ONNX để triển khai production
model.export(format="onnx")

Trường hợp sử dụng và khuyến nghị#

Việc lựa chọn giữa YOLOv9 và YOLOv8 phụ thuộc vào yêu cầu cụ thể của dự án, các ràng buộc triển khai và ưu tiên về hệ sinh thái.

Khi nào nên chọn YOLOv9#

YOLOv9 là lựa chọn phù hợp cho:

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

Khi nào nên chọn YOLOv8#

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

  • Triển khai đa tác vụ linh hoạt: Các dự án cần một model đã được kiểm chứng cho phát hiện, phân đoạn, phân loại và ước lượng tư thế trong hệ sinh thái Ultralytics.
  • Hệ thống sản xuất đã 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 quy trình triển khai ổn định, đã được kiểm thử kỹ lưỡng.
  • Hỗ trợ cộng đồng và hệ sinh thái rộng rãi: Các ứng dụng hưởng lợi từ kho hướng dẫn phong phú, tích hợp bên thứ ba và tài nguyên cộng đồng tích cực của YOLOv8.

Khi nào nên chọn Ultralytics (YOLO26)#

Với hầu hết dự án mới, Ultralytics YOLO26 mang đến 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 trên thiết bị biên không cần NMS: Các ứng dụng cần inference có độ trễ thấp và ổn định mà không phải xử lý hậu kỳ Non-Maximum Suppression phức tạp.
  • Môi trường chỉ có CPU: Các thiết bị không có GPU tăng tốc chuyên dụng, nơi tốc độ CPU inference nhanh hơn đến 43% của YOLO26 mang lại lợi thế rõ rệt.
  • Phát hiện vật thể nhỏ: Các tình huống khó như ảnh chụp từ drone trên không hoặc phân tích cảm biến IoT, trong đó ProgLoss và STAL cải thiện đáng kể độ chính xác khi phát hiện vật thể rất nhỏ.

Hướng tới tương lai: YOLO26 ra mắt#

Mặc dù YOLOv8 và YOLOv9 đều có năng lực vượt trội, lĩnh vực thị giác máy tính thay đổi rất nhanh. Với các hoạt động triển khai hiện đại, chúng tôi đặc biệt khuyến nghị sử dụng Ultralytics YOLO26, được phát hành vào tháng 1 năm 2026.

YOLO26 tạo nên bước chuyển đổi mô hình trong cách các bộ phát hiện đối tượng vận hành trong môi trường production. Model này có Thiết kế đầu-cuối không cần NMS nguyên bản (có thể bật qua nms=False), loại bỏ độ trễ và hành vi không xác định của bước xử lý hậu kỳ. Để hỗ trợ tốt hơn cho phần cứng biên và công suất thấp, YOLO26 loại bỏ hoàn toàn DFL (Distribution Focal Loss), giúp đơn giản hóa đáng kể việc xuất model cho thiết bị di động.

Ngoài ra, YOLO26 sử dụng Trình tối ưu hóa MuSGD đột phá, kết hợp SGD và Muon để đưa độ ổn định huấn luyện cấp LLM vào các tác vụ thị giác, nhờ đó tăng tốc đáng kể quá trình hội tụ. Với khả năng suy luận CPU nhanh hơn tới 43% và tích hợp ProgLoss + STAL giúp cải thiện rõ rệt khả năng nhận diện đối tượng nhỏ, YOLO26 là lựa chọn hàng đầu không thể bàn cãi cho các dự án doanh nghiệp mới.

Các kiến trúc thay thế

Tùy vào giới hạn phần cứng, bạn cũng có thể so sánh các model này với Ultralytics YOLO11 cho các tác vụ đa dụng cần sự cân bằng, hoặc tìm hiểu các model dựa trên Transformer như RT-DETR cho nghiên cứu chuyên sâu đòi hỏi độ trung thực cao.

Ứng dụng thực tế và trường hợp sử dụng#

Việc lựa chọn giữa YOLOv8 và YOLOv9 phần lớn phụ thuộc vào các ràng buộc của dự án và phần cứng mục tiêu.

  • Chăm sóc sức khỏe và chẩn đoán hình ảnh: Khi từng pixel đều quan trọng, chẳng hạn trong hệ thống phát hiện khối u, kiến trúc GELAN của YOLOv9 bảo toàn chi tiết tinh vi đặc biệt tốt, giúp giảm âm tính giả trong các chẩn đoán quan trọng.
  • Bán lẻ và phân tích hàng tồn kho: Đối với hệ thống siêu thị thông minh theo dõi các kệ hàng xếp dày, YOLOv9 cung cấp mAP cần thiết để phân biệt đáng tin cậy các mặt hàng chồng lấn.
  • Thành phố thông minh và giám sát giao thông: Trong lĩnh vực quản lý hậu cần và giao thông có nhịp độ nhanh, độ trễ cực thấp và độ ổn định đã được kiểm chứng của YOLOv8 khiến model trở nên lý tưởng để theo dõi phương tiện đồng thời trên nhiều luồng camera.
  • Triển khai trên thiết bị biên: Nếu triển khai trên các thiết bị hạn chế tài nguyên như Raspberry Pi hoặc phần cứng di động, các khối C2f được tối ưu cao của YOLOv8 (cùng các tối ưu hóa CPU của YOLO26) mang lại pipeline suy luận mượt mà hơn và tiết kiệm pin.
Người đóng góp

Bình luận