Ultralytics YOLO27:

YOLOv8 so với YOLOv9#

Sự phát triển của lĩnh vực phát hiện đối tượng theo thời gian thực được thúc đẩy liên tục bởi nhu cầu đạt độ chính xác cao hơn, độ trễ thấp hơn và tận dụng phần cứng hiệu quả hơn. Hai cột mốc quan trọng trong hành trình này là Ultralytics YOLOv8YOLOv9. Mặc dù cả hai model đều thể hiện năng lực tiên tiến trong thị giác máy tính, chúng phục vụ các nhu cầu triển khai, triết lý kiến trúc và hệ sinh thái dành cho developer 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 về kiến trúc và những yếu tố cần cân nhắc khi triển khai trong thực tế, giúp bạn chọn model phù hợp cho dự án trí tuệ nhân tạo tiếp theo.

Dòng phát triển của model 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à các mục tiêu thiết kế chính của từng model.

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 không chỉ được thiết kế như một model phát hiện đối tượng độc lập mà còn là một framework đa tác vụ thống nhất. Model này ưu tiên trải nghiệm developer 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.

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

Đượ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 neural 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 việc training trên cloud, quản lý dataset và các endpoint API một lần nhấp.

Phân tích chuyên sâu về kiến trúc#

Các lựa chọn kiến trúc trong deep learning quyết định mức độ hiệu quả khi model học và tốc độ chạy trên phần cứng mục tiêu như NVIDIA Jetson hoặc Intel CPU.

Kiến trúc YOLOv8: C2f và các head tách biệt#

YOLOv8 giới thiệu module C2f (nút thắt Cross-Stage Partial với hai phép tích chập), thay thế module C3 trước đây. Thay đổi này cải thiện luồng gradient và cho phép network 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.

Ngoài ra, YOLOv8 sử dụng thiết kế anchor-free với head tách biệt. Bằng cách xử lý objectness, classification và regression qua các nhánh riêng biệt, model hội tụ nhanh hơn trong quá trình training và khái quát tốt hơn với các dataset tùy chỉnh đ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 truyền qua các layer của network, cung cấp gradient đáng tin cậy để cập nhật weight. GELAN tối đa hóa hiệu quả tham số, cho phép model đạt độ chính xác cao trong khi cố gắng giữ FLOPs ở mức có thể kiểm soát.

Mặc dù ấn tượng về mặt toán học, việc YOLOv9 phụ thuộc vào các nhánh đảo ngược phụ trợ cụ thể trong quá trình training có thể khiến code training khó tùy chỉnh hơn so với các pipeline tiêu chuẩn.

Các chỉ số hiệu năng và benchmark#

Bảng dưới đây cung cấp so sánh trực tiếp giữa các model với nhiều kích thước khác nhau. Hiệu năng được đo trên dataset MS COCO, một benchmark tiêu chuẩn cho bài toán phát hiện đối tượng.

Modelkích thước
(pixel)
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 đánh dấu bằng chữ đậm.

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

YOLOv9 đạt độ chính xác đỉnh (mAP) cao hơn một chút, đặc biệt với biến thể lớn hơn e. Tuy nhiên, điều này đi kèm với một cái giá. Ultralytics YOLOv8 duy trì ưu thế đáng kể về tốc độ inference, đặc biệt khi được biên dịch sang các format như TensorRT hoặc ONNX. Đối với các ứng dụng yêu cầu số khung hình/giây (FPS) cao trên phần cứng edge 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 năng thực tế hơn nhiều.

Hiệu quả training và tích hợp hệ sinh thái#

Việc chọn model không chỉ dựa trên các bảng độ chính xác; trải nghiệm developer là yếu tố then chốt.

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

Training YOLOv9 thường yêu cầu clone các repository GitHub phức tạp, quản lý cẩn thận các môi trường PyTorch và cấu hình thủ công trọng số loss phụ trợ.

Ngược lại, Ultralytics YOLOv8 được hỗ trợ bởi Python API được tinh gọn đáng kể. Được xây dựng để dễ sử dụng, model này xử lý augmentation dữ liệu, logging (tới các công cụ như Weights & BiasesComet ML) cũng như phân phối phần cứng một cách native.

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", quantize=16)  # TensorRT export

API duy nhất này rút ngắn đáng kể thời gian từ prototype đến production. Ngoài ra, YOLOv8 thường yêu cầu ít CUDA memory hơn trong quá trình training, cho phép developer sử dụng batch size lớn hơn trên phần cứng phổ thông.

Tính linh hoạt theo task#

Mặc dù YOLOv9 là một model phát hiện bounding box xuất sắc, AI thị giác trong thực tế thường đòi hỏi nhiều hơn. YOLOv8 là một nền tảng đa năng, native hỗ trợ Instance Segmentation, Pose Estimation, Image ClassificationOriented Bounding Boxes (OBB). Sử dụng một framework duy nhất cho nhiều tác vụ giúp giảm đáng kể phần mềm dư thừa và chi phí bảo trì.

Định hướng tương lai

Nếu bắt đầu một dự án mới, bạn cũng có thể đánh giá Ultralytics YOLO11 hoặc YOLO26 tiên tiến, vốn được tích hợp native với thiết kế end-to-end không cần NMS.

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

Các model này hoạt động như thế nào trong production?

Drone tự hành và robot#

Đối với robot cần tránh chướng ngại vật nhanh, 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 theo thời gian thực, giúp ngăn ngừa va chạm. Khả năng export native sang OpenVINO và CoreML giúp việc triển khai trên các chip tiết kiệm năng lượng thường có trong drone thương mại trở nên đơn giản.

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 bất thường cực nhỏ là yếu tố then chốt và có thể chấp nhận xử lý offline, YOLOv9 có thể đặc biệt hiệu quả. Kiến trúc PGI giúp network giữ lại các chi tiết hình ảnh tinh vi cần thiết để nhận diện các vết nứt nhỏ như sợi tóc hoặc lỗi hàn trên PCB.

Bán lẻ thông minh và phân tích an ninh#

Để theo dõi khách hàng qua các lối đi trong cửa hàng hoặc quản lý hệ thống thanh toán tự động, YOLOv8 mang lại sự cân bằng tốt nhất. Khả năng đồng thời chạy phát hiện và multi-object tracking bằng các thuật toán tiêu chuẩn như BoT-SORT khiến đây trở thành một giải pháp mạnh mẽ cho các hệ thống bán lẻ triển khai nhiều 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 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 của bạn.

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

YOLOv8 là lựa chọn phù hợp 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.
  • Hệ thống production đã ổn định: Các môi trường production hiện có đã được xây dựng trên kiến trúc YOLOv8 với pipeline triển khai ổn định và được kiểm thử kỹ lưỡng.
  • Hỗ trợ cộng đồng và hệ sinh thái rộng: Các ứng dụng hưởng lợi từ hệ thống tutorial phong phú, tích hợp bên thứ ba và nguồn 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 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 layer sâu của network trong quá trình huấn luyện.
  • Benchmark phát hiện độ chính xác cao: Các tình huống cần hiệu năng benchmark COCO mạnh của YOLOv9 làm mốc tham chiếu cho việc so sánh kiến trúc.

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

Đối 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 developer:

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

Bước tiến hóa tiếp theo: YOLO26#

Mặc dù YOLOv8 và YOLOv9 rất mạnh mẽ, lĩnh vực AI phát triển nhanh chóng. Đối với các đội ngũ yêu cầu hiệu năng tốt nhất, YOLO26 mới phát hành kế thừa 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 không cần NMS, loại bỏ hoàn toàn các nút thắt post-processing phức tạp, giúp đơn giản hóa việc triển khai và khiến độ trễ dễ dự đoán hơn. Được thúc đẩy bởi MuSGD Optimizer mới cùng các hàm loss ProgLoss + STAL được cải tiến, và với DFL Removal (loại bỏ Distribution Focal Loss để đơn giản hóa quá trình export và cải thiện khả năng tương thích với các thiết bị edge/tiết kiệm năng lượng), model đạt tốc độ inference trên CPU nhanh hơn tới 43% đồng thời cải thiện khả năng nhận diện đối tượng nhỏ. Đối với các developer muốn đẩy giới hạn của edge computing, việc đánh giá YOLO26 được đặc biệt khuyến nghị.

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

Những người đóng góp

Bình luận