Ultralytics YOLO27:
Get Started

YOLOv10 và YOLOv9#

Thị giác máy tính thời gian thực phát triển qua những đột phá liên tục về tốc độ, độ chính xác và hiệu quả kiến trúc. Khi đánh giá các giải pháp hiện đại cho lần triển khai tiếp theo, việc so sánh YOLOv10 và YOLOv9 cho thấy hai phương pháp riêng biệt để giải quyết các nút thắt của deep learning. YOLOv9 tập trung tối đa hóa luồng thông tin gradient trong quá trình huấn luyện, còn YOLOv10 tiên phong với thiết kế đầu-cuối nguyên bản, loại bỏ hoàn toàn các trở ngại hậu xử lý truyền thống.

Hướng dẫn toàn diện này phân tích các cải tiến kiến trúc, chỉ số hiệu năng và trường hợp sử dụng lý tưởng của hai model để giúp developer và nhà nghiên cứu lựa chọn model tối ưu cho các tác vụ thị giác máy tính cụ thể.

YOLOv10: Tiên phong đầu-cuối không cần NMS#

Được phát triển nhằm giải quyết các nút thắt độ trễ của model phát hiện đối tượng truyền thống, YOLOv10 giới thiệu kiến trúc đầu-cuối mang tính đột phá, loại bỏ nguyên bản nhu cầu sử dụng Non-Maximum Suppression (NMS).

Thông tin kỹ thuật và dòng model:

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

Kiến trúc và ưu điểm#

Đóng góp quan trọng nhất của YOLOv10 cho lĩnh vực này là chiến lược gán kép nhất quán để huấn luyện không cần NMS. Bằng cách loại bỏ NMS, model giảm đáng kể độ trễ suy luận, đặc biệt trên thiết bị biên, nơi hậu xử lý có thể trở thành nút thắt của toàn bộ pipeline. Model tối ưu hóa nhiều thành phần theo cả góc độ hiệu quả và độ chính xác, tạo nên sự đánh đổi đáng kể giữa tốc độ và số lượng tham số. Ví dụ, biến thể YOLOv10-S có tốc độ đặc biệt cao, rất phù hợp cho phân tích video tốc độ cao và điều hướng robot thời gian thực.

Điểm yếu#

Dù thiết kế không cần NMS tạo đột phá cho tác vụ phát hiện bounding box, YOLOv10 chủ yếu được tối ưu như một model phát hiện đối tượng chuyên biệt. Model này không có tính linh hoạt sẵn có như các hệ sinh thái mới hơn, vốn hỗ trợ nguyên bản Phân đoạn đối tượng hoặc Ước tính tư thế.

Xuất YOLOv10

Khi chuẩn bị YOLOv10 cho môi trường production, hãy luôn đảm bảo xuất model sang các định dạng được tối ưu hóa như TensorRT hoặc ONNX. Chạy trọng số PyTorch thô khi triển khai có thể khiến suy luận chậm hơn dự kiến do các thao tác đồ thị chưa được tối ưu hóa.

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

Trước YOLOv10, YOLOv9 đã giới thiệu các khái niệm kiến trúc mới nhằm giải quyết vấn đề nút thắt thông tin vốn có trong mạng neural sâu, cho phép sử dụng tham số rất hiệu quả.

Thông tin kỹ thuật và dòng model:

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

Kiến trúc và ưu điểm#

YOLOv9 giới thiệu Programmable Gradient Information (PGI) cùng với Generalized Efficient Layer Aggregation Network (GELAN). PGI đảm bảo thông tin mục tiêu quan trọng không bị mất khi dữ liệu đi qua các lớp sâu của mạng, tạo ra gradient đáng tin cậy để cập nhật trọng số. GELAN tối đa hóa hiệu quả sử dụng tham số của mạng. Kết hợp lại, các cải tiến này giúp YOLOv9 đạt mean Average Precision (mAP) rất cao trên bộ dữ liệu MS COCO, thường vượt các model nặng hơn trong khi sử dụng ít FLOPs hơn. Đây là model xuất sắc dành cho các nhà nghiên cứu muốn tối đa hóa các chỉ số độ chính xác lý thuyết.

Điểm yếu#

Dù có độ chính xác cao, YOLOv9 vẫn dựa vào hậu xử lý NMS tiêu chuẩn. Điều này có nghĩa là các thao tác mạng neural có thể nhanh, nhưng bước lọc bounding box cuối cùng vẫn có thể gây độ trễ biến thiên tùy theo mật độ đối tượng trong cảnh. Ngoài ra, quy trình huấn luyện model này có thể tiêu tốn nhiều bộ nhớ hơn đáng kể so với các model ra đời sau, đòi hỏi tài nguyên GPU mạnh hơn để tinh chỉnh trên bộ dữ liệu tùy chỉnh.

So sánh hiệu năng#

Bảng dưới đây minh họa các chỉ số cốt lõi của cả hai model. Lưu ý YOLOv10 thường đạt độ trễ thấp hơn với TensorRT, trong khi YOLOv9 đẩy giới hạn độ chính xác lên cao ở cấu hình lớn nhất.

Modelkích thước
(pixel)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLOv10n64038.5-1.842.36.7
YOLOv10s64046.3-2.497.221.6
YOLOv10m64051.1-4.7415.459.1
YOLOv10b64052.5-5.7419.192.0
YOLOv10l64053.2-7.2824.4120.3
YOLOv10x64054.4-10.7029.5160.4
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

Thế hệ tiếp theo: Vì sao YOLO26 là lựa chọn hàng đầu#

Dù YOLOv9 và YOLOv10 là những cột mốc ấn tượng, lĩnh vực machine learning phát triển rất nhanh. Trong môi trường production hiện đại, developer ngày càng dựa vào hệ sinh thái tích hợp, được duy trì tốt của Nền tảng Ultralytics. Tính đến năm 2026, lựa chọn rõ ràng cho cả nghiên cứu lẫn doanh nghiệp là YOLO26 mới ra mắt.

YOLO26 kế thừa các khái niệm nền tảng từ những phiên bản tiền nhiệm và nâng tầm chúng thông qua trải nghiệm người dùng tinh giản, API đơn giản và yêu cầu bộ nhớ trong quá trình huấn luyện thấp hơn đáng kể so với các kiến trúc dựa trên Transformer cồng kềnh.

Các cải tiến chính trong YOLO26#

  • Thiết kế đầu-cuối không cần NMS: Dựa trên những đột phá của YOLOv10, YOLO26 hỗ trợ suy luận đầu-cuối nguyên bản, bỏ qua hậu xử lý NMS bằng nms=False để triển khai đơn giản hơn và có đặc tính độ trễ mang tính xác định cao.
  • Suy luận CPU nhanh hơn tới 43%: Được tối ưu sẵn cho AI biên, là lựa chọn hoàn hảo cho các hệ thống nhúng không có GPU chuyên dụng.
  • Optimizer MuSGD: Phương pháp lai đột phá giữa SGD và Muon (lấy cảm hứng từ các phương pháp tối ưu hóa mô hình ngôn ngữ lớn), đảm bảo quá trình huấn luyện ổn định cao và thời gian hội tụ cực nhanh.
  • Loại bỏ DFL: Bằng cách loại bỏ Distribution Focal Loss, YOLO26 đơn giản hóa quy trình xuất model, cải thiện đáng kể khả năng tương thích với thiết bị công suất thấp và nhiều framework triển khai biên.
  • Cải tiến chuyên biệt theo tác vụ: Khác với các model phát hiện chỉ chuyên cho một tác vụ, YOLO26 là model đa năng mạnh mẽ. Model sử dụng loss phân đoạn ngữ nghĩa để cải thiện độ chính xác ở cấp pixel, Residual Log-Likelihood Estimation (RLE) để ước tính tư thế chính xác và loss góc chuyên biệt để xử lý các vấn đề về ranh giới OBB (Oriented Bounding Box).
Lợi thế hệ sinh thái Ultralytics

Lựa chọn model Ultralytics như YOLO11 hoặc YOLO26 mang lại khả năng sử dụng dễ dàng vượt trội. Bạn có quyền truy cập vào quá trình phát triển tích cực, cộng đồng sôi nổi và các bản cập nhật thường xuyên, đảm bảo model luôn tương thích với các engine suy luận mới nhất như OpenVINO và CoreML.

Triển khai thực tế#

Việc huấn luyện và triển khai các model này rất đơn giản khi sử dụng Python SDK. Ví dụ sau minh họa cách tận dụng quy trình huấn luyện hiệu quả cao của hệ sinh thái Ultralytics, vốn tự động xử lý việc lập lịch siêu tham số và phân bổ bộ nhớ tối ưu.

from ultralytics import YOLO

# Tải model tiên tiến nhất được khuyến nghị
model = YOLO("yolo26n.pt")  # Cũng tương thích với 'yolov10n.pt' hoặc 'yolov9c.pt'

# Huấn luyện model hiệu quả trên dataset tùy chỉnh
train_results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0, batch=16)

# Chạy suy luận siêu nhanh
predictions = model.predict("https://ultralytics.com/images/bus.jpg")

# Xuất sang ONNX để đơn giản hóa triển khai biên
model.export(format="onnx")

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

Việc lựa chọn giữa YOLOv10 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.

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

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

  • Phát hiện thời gian thực không cần NMS: Các ứng dụng hưởng lợi từ khả năng phát hiện end-to-end không cần Non-Maximum Suppression, giúp giảm độ phức tạp khi triển khai.
  • Cân bằng giữa tốc độ và độ chính xác: Các dự án cần sự cân bằng tốt giữa tốc độ inference và độ chính xác phát hiện trên nhiều quy mô model.
  • Ứng dụng cần độ trễ ổn định: Các tình huống triển khai yêu cầu thời gian inference có thể dự đoán, chẳng hạn như robotics hoặc hệ thống tự hành.

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: 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 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ỏ.

Kết luận#

YOLOv9 và YOLOv10 đều có những ưu điểm riêng. YOLOv9 thể hiện khả năng tối đa hóa hiệu quả tham số mạng và luồng gradient lý thuyết, mang lại độ chính xác hàng đầu. Trong khi đó, YOLOv10 là model tiên phong về mặt học thuật trong tác vụ phát hiện bounding box đầu-cuối mà không chịu hình phạt độ trễ từ NMS.

Tuy nhiên, với các developer muốn đạt sự cân bằng hoàn hảo giữa hiệu năng, tính linh hoạt và tính dễ sử dụng, việc nâng cấp lên các model mới nhất là tối quan trọng. Với optimizer MuSGD tiên tiến, chức năng ProgLoss + STAL giúp phát hiện đối tượng nhỏ vượt trội và khả năng hỗ trợ đa nhiệm toàn diện, YOLO26 là giải pháp tiên tiến hàng đầu cho mọi thách thức thị giác máy tính trong thực tế.

Người đóng góp

Bình luận