YOLOv9 so với YOLOv5: Phân tích chuyên sâu về công nghệ phát hiện đối tượng hiện đại

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

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

Việc hiểu các cơ chế cơ bản của hai mô hình này cung cấp bối cảnh quan trọng cho các đặc điểm hiệu suất tương ứng của chúng.

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

Được phát triển bởi 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, YOLOv9 được phát hành vào ngày 21 tháng 2 năm 2024. Mô hình giới thiệu hai khái niệm đột phá để giải quyết điểm nghẽn thông tin thường gặp trong các mạng thần kinh sâu: Programmable Gradient Information (PGI) và Generalized Efficient Layer Aggregation Network (GELAN).

Bằng cách sử dụng PGI, YOLOv9 đảm bảo thông tin quan trọng được duy trì trong suốt quá trình truyền thẳng (feed-forward), dẫn đến 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 suất tham số, cho phép mô hình đạt được độ chính xác dẫn đầu mà không tốn nhiều tài nguyên tính toán. Bạn có thể khám phá các chi tiết kỹ thuật trong bài báo cáo Arxiv về YOLOv9 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 sản xuất

Được viết bởi Glenn Jocher và phát hành bởi Ultralytics vào ngày 26 tháng 6 năm 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 mô hình phát hiện đối tượng đầu tiên được xây dựng nguyên bản trên khung PyTorch, nó đã vượt qua sự phức tạp của khung Darknet C cũ. YOLOv5 tận dụng phần xương sống (backbone) CSPNet được tối ưu hóa cao và phần cổ (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 lớn nhất của nó là việc tích hợp vào hệ sinh thái Ultralytics rộng lớn hơn. YOLOv5 được tối ưu hóa mạnh mẽ cho hiệu quả huấn luyện nhanh và các môi trường bộ nhớ thấp, làm cho nó cực kỳ ổn định cho các triển khai trên thiết bị biên (edge deployments).

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

Hiệu quả bộ nhớ

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

Phân tích hiệu suất: Tốc độ so với Độ chính xác

Khi thiết kế một đường ống (pipeline) thị giác máy tính, các nhà phát triển phải cân nhắc sự đánh đổi giữa độ chính xác và độ trễ. Bảng sau đây minh họa sự khác biệt về hiệu suất trên tập dữ liệu COCO tiêu chuẩn.

Modelkích thước
(pixels)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
tham số
(M)
FLOPs
(B)
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
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

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

YOLOv9 thiết lập sự thống trị tuyệt đối về độ chính xác thô. YOLOv9e đẩy giới hạn mAP lên đến 55,6%, tận dụng các lớp GELAN để bảo toàn các chi tiết tinh vi. Điều này làm cho nó trở thành lựa chọn vượt trội cho hình ảnh y tế hoặc các kịch bản đòi hỏi độ chính xác nghiêm ngặt trên các đối tượng nhỏ.

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

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

Một cân nhắc quan trọng khi chọn mô hình là hệ sinh thái phần mềm xung quanh. Mặc dù YOLOv9 cung cấp các tiêu chuẩn nghiên cứu hàng đầu, nhưng việc sử dụng cả hai mô hình thông qua Ultralytics Python API hiện đại giúp thu hẹp khoảng cách, cung cấp cho các nhà phát triển trải nghiệm thống nhất và tinh gọn.

Dễ sử dụng và Xuất mô hình

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

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

Trong khi cả hai mô hình đều xuất sắc trong việc phát hiện đối tượng, các mô hình Ultralytics hiện đại được xây dựng để giải quyết nhiều thách thức thị giác máy tính khác nhau. Khung làm việc rộng hơn cung cấp hỗ trợ nguyên bản cho phân loại hình ảnh, phân đoạn cá thể, ước tính tư thếhộp bao định hướng (OBB), cho phép các nhà phát triển giải quyết nhiều vấn đề về thị giác mà không cần thay đổi cơ sở mã (codebase).

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

Việc lựa chọn giữa YOLOv9 và YOLOv5 phụ thuộc vào 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 YOLOv9

YOLOv9 là lựa chọn mạnh mẽ 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 YOLOv5

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

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

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

Ví dụ triển khai

Vẻ đẹp của hệ sinh thái Ultralytics là bạn có thể chuyển đổi giữa mô hình YOLOv5 và YOLOv9 chỉ bằng cách thay đổi chuỗi trọng số (weight string).

from ultralytics import YOLO

# Load a pretrained YOLOv9 model (swap to "yolov5s.pt" to use YOLOv5)
model = YOLO("yolov9c.pt")

# Train the model efficiently on a custom dataset
train_results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on new images
predictions = model.predict("https://ultralytics.com/images/zidane.jpg")

# Export to ONNX for seamless deployment
model.export(format="onnx")

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

Trong khi YOLOv5 và YOLOv9 là những mô hình xuất sắc với những ưu điểm riêng biệt, lĩnh vực này vẫn tiếp tục tiến bộ. Người dùng khám phá các 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: Một bước tiến mạnh mẽ và tinh tế của dòng YOLOv8, mang lại sự cân bằng tuyệt vời giữa tốc độ và độ chính xác cho tất cả các tác vụ thị giác.
  • YOLO26: Được phát hành vào năm 2026, YOLO26 là đề xuất cuối cùng cho các đường ống (pipeline) hiện đại. Nó giới thiệu Thiết kế NMS-Free End-to-End, loại bỏ hoàn toàn các điểm nghẽn hậu xử lý. Với DFL Removal (loại bỏ Distribution Focal Loss để đơn giản hóa việc xuất và cải thiện tính tương thích với 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%. Sự ổn định khi huấn luyện được tăng cường thông qua MuSGD Optimizer mới, và ProgLoss + STAL mang đến các hàm mất mát (loss functions) cải tiến với những bước tiến đáng kể trong việc nhận dạng đối tượng nhỏ, điều quan trọng cho IoT, robot và hình ảnh trên không, làm cho nó trở thành kiến trúc mạnh mẽ nhất cho cả triển khai tại biên và đám mây.

Đối với các đội ngũ quản lý dữ liệu lớn và các đường ống triển khai phức tạp, việc sử dụng Nền tảng Ultralytics cung cấp giải pháp không cần lập trình (no-code) để huấn luyện, theo dõi và triển khai các mô hình tiên tiến này một cách dễ dàng.

Bình luận