Ultralytics YOLO27:
Get Started

YOLOv9 và YOLOv5#

Lĩnh vực thị giác máy tính đã phát triển vượt bậc, trong đó phát hiện vật thể là nền tảng cho vô số ứng dụng công nghiệp và nghiên cứu. Việc chọn kiến trúc phù hợp thường đòi hỏi đánh giá cẩn thận độ chính xác trung bình trung bình (mAP), tốc độ suy luận và mức tiêu thụ bộ nhớ. Trong phần so sánh này, chúng ta tìm hiểu hai model có ảnh hưởng lớn: YOLOv9, nổi bật nhờ những đột phá kiến trúc trong việc giữ lại thông tin gradient, và Ultralytics YOLOv5, tiêu chuẩn đã được kiểm chứng qua thực tế, nổi tiếng vì dễ sử dụng và linh hoạt triển khai vượt trội.

Đổi mới kiến trúc và nguồn gốc kỹ thuật#

Hiểu rõ cơ chế nền tảng của hai model này giúp cung cấp bối cảnh quan trọng để đánh giá đặc tính hiệu suất tương ứng.

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

Được các nhà nghiên cứu Chien-Yao Wang và Hong-Yuan Mark Liao tại Viện Khoa học Thông tin, Academia Sinica ở Đài Loan phát triển, YOLOv9 ra mắt ngày 21 tháng 2, 2024. Model giới thiệu hai khái niệm đột phá nhằm giải quyết nút thắt thông tin thường gặp trong mạng nơ-ron sâ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).

Bằng cách sử dụng PGI, YOLOv9 đảm bảo thông tin quan trọng được giữ lại trong suốt quá trình truyền xuôi, từ đó tạo ra các bản cập nhật gradient có độ chính xác cao. Trong khi đó, kiến trúc GELAN tối đa hóa hiệu quả sử dụng tham số, giúp model đạt độ chính xác tiên tiến nhất với chi phí tính toán thấp đáng ngạc nhiên. Bạn có thể tìm hiểu chi tiết kỹ thuật trong bài báo YOLOv9 trên Arxiv chính thức hoặc xem kho lưu trữ YOLOv9 trên GitHub.

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

Ultralytics YOLOv5: Tiêu chuẩn production#

Do Glenn Jocher xây dựng và được Ultralytics phát hành ngày 26 tháng 6, 2020, YOLOv5 đã cách mạng hóa khả năng tiếp cận thị giác máy tính. Là một trong những model phát hiện vật thể đầu tiên được xây dựng nguyên bản trên framework PyTorch, YOLOv5 tránh được sự phức tạp của framework C Darknet đời cũ. YOLOv5 tận dụng backbone CSPNet được tối ưu cao và neck PANet, ưu tiên sự cân bằng liền mạch giữa tốc độ và độ chính xác.

Tuy nhiên, thành tựu nổi bật nhất của model là khả năng tích hợp vào hệ sinh thái Ultralytics rộng lớn hơn. YOLOv5 được tối ưu mạnh để tăng hiệu quả huấn luyện và hoạt động trong môi trường ít bộ nhớ, nhờ đó rất ổn định khi triển khai trên thiết bị biên.

Hiệu quả sử dụng bộ nhớ

Khi đánh giá model cho thiết bị biên, hãy nhớ rằng các model YOLO của Ultralytics thường cần ít bộ nhớ GPU hơn đáng kể trong cả huấn luyện lẫn suy luận so với các kiến trúc nặng dựa trên Transformer.

Phân tích hiệu suất: Tốc độ và độ chính xác#

Khi thiết kế pipeline thị giác máy tính, developer cần cân nhắc sự đánh đổi giữa độ chính xác và độ trễ. Bảng sau minh họa sự khác biệt về hiệu suất trên dataset 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
YOLOv5n64028.0-1.121.94.5
YOLOv5s64037.4-1.927.216.5
YOLOv5m64045.4-4.0321.249.0
YOLOv5l64049.0-6.6146.5109.1
YOLOv5x64050.7-11.8986.7205.7

Phân tích các yếu tố đánh đổi#

YOLOv9 dẫn đầu tuyệt đối về độ chính xác thô. YOLOv9e đẩy mAP lên mức 55.6%, sử dụng các lớp GELAN để giữ lại những chi tiết tinh vi. Điều này khiến model trở thành lựa chọn xuất sắc cho chẩn đoán hình ảnh y tế hoặc các tình huống đòi hỏi độ chính xác nghiêm ngặt với vật thể nhỏ.

Ngược lại, YOLOv5 nổi bật nhờ tốc độ triển khai thô và tính linh hoạt phần cứng. YOLOv5n (Nano) nổi tiếng vì có kích thước nhỏ gọn, thực hiện suy luận chỉ trong 1.12ms trên GPU T4 thông qua TensorRT. Nếu triển khai trên thiết bị IoT hạn chế tài nguyên, điện thoại di động hoặc Raspberry Pi, mức tiêu thụ bộ nhớ của YOLOv5 khiến model này đặc biệt đáng tin cậy.

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

Một yếu tố quan trọng cần cân nhắc khi chọn model là hệ sinh thái phần mềm đi kèm. Dù YOLOv9 cung cấp các benchmark nghiên cứu hàng đầu, việc sử dụng cả hai model thông qua API Python Ultralytics hiện đại giúp thu hẹp khoảng cách, mang đến cho developer trải nghiệm thống nhất và tinh gọn.

Dễ sử dụng và xuất model#

Ultralytics giúp đơn giản hóa các trở ngại kỹ thuật phức tạp. Những tính năng như tăng cường dữ liệu và tinh chỉnh siêu tham số tự động được tích hợp sẵn. Việc đưa model vào production cũng đơn giản không kém, với các lệnh xuất tích hợp để chuyển đổi model sang định dạng ONNX, OpenVINO hoặc LiteRT.

Tính linh hoạt theo tác vụ#

Dù cả hai model đều xuất sắc trong phát hiện vật thể, các model Ultralytics hiện đại được xây dựng để xử lý nhiều thách thức thị giác máy tính. Framework rộng hơn hỗ trợ sẵn phân loại ảnh, phân đoạn đối tượng, ước tính tư thế và bounding box định hướng (OBB), cho phép developer giải quyết nhiều bài toán thị giác mà không cần chuyển đổi codebase.

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

Việc chọn YOLOv9 hay YOLOv5 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à sở thích 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 YOLOv5#

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

  • Các hệ thống production đã được kiểm chứng: Những triển khai hiện có coi trọng lịch sử ổn định lâu dài, tài liệu phong phú và sự hỗ trợ rộng rãi từ cộng đồng của YOLOv5.
  • Huấn luyện với tài nguyên hạn chế: Các môi trường có tài nguyên GPU hạn chế, nơi pipeline huấn luyện hiệu quả và nhu cầu bộ nhớ thấp hơn của YOLOv5 là một lợi thế.
  • Hỗ trợ nhiều định dạng export: Các dự án cần triển khai trên nhiều định dạng, bao gồm ONNX, TensorRT, CoreML và LiteRT.

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

Ví dụ triển khai#

Ưu điểm của hệ sinh thái Ultralytics là bạn có thể chuyển đổi giữa model YOLOv5 và YOLOv9 chỉ bằng cách thay đổi chuỗi trọng số.

from ultralytics import YOLO

# Nạp model YOLOv9 pretrained (đổi thành "yolov5su.pt" để dùng YOLOv5u)
model = YOLO("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)

# Chạy suy luận trên ảnh mới
predictions = model.predict("https://ultralytics.com/images/zidane.jpg")

# Export sang ONNX để triển khai liền mạch
model.export(format="onnx")

Khám phá các kiến trúc mới hơn#

Dù YOLOv5 và YOLOv9 là những model xuất sắc với ưu điểm riêng, lĩnh vực này vẫn không ngừng phát triển. Người dùng đang bắt đầu dự án mới cũng có thể muốn đánh giá các phiên bản mới nhất từ Ultralytics.

  • YOLO11: Phiên bản phát triển mạnh mẽ, được tinh chỉnh từ dòng YOLOv8, mang lại sự cân bằng tuyệt vời giữa tốc độ và độ chính xác trên mọi tác vụ thị giác.
  • YOLO26: Ra mắt năm 2026, YOLO26 là lựa chọn hàng đầu cho các pipeline hiện đại. Model giới thiệu Thiết kế đầu-cuối không cần NMS (nms=False) tùy chọn, giúp loại bỏ các nút thắt trong hậu xử lý NMS. Nhờ Loại bỏ DFL (loại bỏ Distribution Focal Loss để đơn giản hóa quá trình xuất model và tăng khả năng tương thích với thiết bị biên/công suất thấp), model đạt tốc độ suy luận trên CPU nhanh hơn đến 43%. Optimizer MuSGD mới giúp tăng cường độ ổn định khi huấn luyện, còn ProgLoss + STAL (Loss tiến triển và Gán nhãn nhận biết mục tiêu nhỏ) cải thiện đáng kể khả năng nhận diện vật thể nhỏ—yếu tố quan trọng đối với IoT, robot và ảnh chụp từ trên không—khiến model trở thành kiến trúc đáng tin cậy nhất cho cả triển khai trên thiết bị biên lẫn đám mây.

Với các nhóm quản lý dataset lớn và pipeline triển khai phức tạp, sử dụng Nền tảng Ultralytics mang đến giải pháp không cần viết mã để dễ dàng huấn luyện, theo dõi và triển khai các model tiên tiến này.

Người đóng góp

Bình luận