YOLOv7 so với YOLOv9: Tìm hiểu chuyên sâu về kỹ thuật trong lĩnh vực phát hiện đối tượng hiện đại

Bối cảnh phát hiện đối tượng thời gian thực đã phát triển nhanh chóng, với mỗi phiên bản mới đều mở rộng ranh giới của những gì có thể thực hiện trên cả thiết bị biên (edge devices) và máy chủ đám mây. Khi đánh giá các kiến trúc cho dự án thị giác máy tính, các nhà phát triển thường so sánh các tiêu chuẩn đã được thiết lập với những đổi mới gần đây. Hướng dẫn toàn diện này so sánh hai cột mốc quan trọng trong gia đình YOLO: YOLOv7YOLOv9.

Chúng tôi sẽ phân tích các đột phá về kiến trúc, các chỉ số hiệu suất và các kịch bản triển khai lý tưởng để giúp bạn chọn model phù hợp cho ứng dụng của mình. Chúng tôi cũng sẽ khám phá cách Nền tảng Ultralytics hợp nhất các model này, giúp việc huấn luyện, xác thực và triển khai chúng trở nên dễ dàng hơn.

Dòng dõi Model và Thông số Kỹ thuật

Việc hiểu rõ nguồn gốc và triết lý thiết kế của các model này cung cấp bối cảnh cần thiết cho khả năng của chúng. Cả hai model đều chia sẻ một dòng dõi nghiên cứu chung nhưng nhắm vào các nút thắt cổ chai kiến trúc khác nhau.

YOLOv7: Người tiên phong Bag-of-Freebies

Được ra mắt vào giữa năm 2022, YOLOv7 đã khẳng định vị thế là một kiến trúc có độ tin cậy cao và được tối ưu hóa mạnh mẽ. Nó giới thiệu kỹ thuật tái tham số hóa cấu trúc (structural re-parameterization) và phương pháp "trainable bag-of-freebies" để duy trì tốc độ suy luận (inference speed) cao mà không ảnh hưởng đến mean Average Precision (mAP).

Đổi mới Kiến trúc: YOLOv7 có tính năng Extended Efficient Layer Aggregation Network (E-ELAN), cho phép model học các đặc trưng đa dạng hơn bằng cách mở rộng, xáo trộn và hợp nhất các lực lượng (cardinality). Thiết kế này mang lại khả năng sử dụng GPU tuyệt vời và độ trễ suy luận. Tuy nhiên, nó có thể yêu cầu bộ nhớ đáng kể trong quá trình huấn luyện phức tạp so với các phiên bản hiện đại.

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

YOLOv9: Giải quyết Nút thắt Thông tin

Được giới thiệu vào đầu năm 2024 bởi cùng một nhóm nghiên cứu, YOLOv9 giải quyết "nút thắt cổ chai thông tin" vốn có trong các mạng thần kinh sâu. Khi dữ liệu đi qua các lớp sâu, các chi tiết quan trọng thường bị mất đi. YOLOv9 giảm thiểu điều này thông qua các thiết kế lớp mới về cơ bản.

Đổi mới Kiến trúc: YOLOv9 giới thiệu Programmable Gradient Information (PGI) và Generalized Efficient Layer Aggregation Network (GELAN). PGI đảm bảo các gradient đáng tin cậy được bảo toàn và phản hồi để cập nhật trọng số chính xác. GELAN tối đa hóa hiệu quả tham số, cho phép YOLOv9 đạt được độ chính xác cao với ít FLOPs hơn đáng kể so với những người tiền nhiệm.

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

Phân tích hiệu suất

Khi chọn giữa các kiến trúc, các kỹ sư AI phải cân bằng giữa độ chính xác, tốc độ suy luận và chi phí tính toán. Bảng dưới đây làm nổi bật sự khác biệt về hiệu suất của các model này 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)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
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

Những Điểm Chính

  • Hiệu quả Tham số: YOLOv9m đạt được độ chính xác tương đương YOLOv7l (51.4% mAP) trong khi sử dụng ít hơn gần 45% tham số (20.0M so với 36.9M). Sự cắt giảm mạnh mẽ này giúp YOLOv9m dễ dàng triển khai hơn nhiều trên các thiết bị edge AI bị hạn chế về bộ nhớ.
  • Triển khai quy mô nhỏ (Micro-Deployments): Sự ra đời của biến thể YOLOv9t (tiny) cung cấp tốc độ đáng kinh ngạc (2.3ms trên T4 TensorRT) cho các môi trường đòi hỏi khắt khe về thời gian thực.
  • Độ chính xác tối đa: Đối với các ứng dụng mà độ chính xác là ưu tiên hàng đầu, YOLOv9e đẩy độ chính xác phát hiện lên 55.6% mAP, vượt trội đáng kể so với YOLOv7x.
Đảm bảo tính sẵn sàng trong tương lai cho các dự án thị giác máy tính của bạn

Mặc dù YOLOv7 và YOLOv9 rất mạnh mẽ, nhưng YOLO26 mới ra mắt gần đây đại diện cho bước nhảy vọt mang tính quyết định. YOLO26 giới thiệu thiết kế gốc end-to-end NMS-free, loại bỏ quá trình hậu xử lý phức tạp và tăng tốc độ suy luận CPU lên tới 43%. Bằng cách sử dụng trình tối ưu hóa MuSGD mới lạ và các hàm mất mát ProgLoss + STAL nâng cao, YOLO26 mang lại sự ổn định huấn luyện và độ chính xác phát hiện vật thể nhỏ vô song.

Ưu thế của Ultralytics

Việc chọn kiến trúc model chỉ là bước đầu tiên. Hệ sinh thái phần mềm xoay quanh model sẽ quyết định tốc độ bạn có thể chuyển từ nguyên mẫu sang sản xuất. Việc tích hợp các model này thông qua Ultralytics Python API mang lại lợi ích đáng kể cho các nhà phát triển và nhà nghiên cứu.

Dễ sử dụng và hiệu quả huấn luyện

Trước đây, việc huấn luyện YOLOv7 đòi hỏi sự chuẩn bị dữ liệu phức tạp và các tập lệnh tùy chỉnh nặng nề. Framework Ultralytics trừu tượng hóa các phức tạp của học sâu này. Các nhà phát triển có thể dễ dàng chuyển đổi giữa các kiến trúc, thử nghiệm với tinh chỉnh siêu tham số và sử dụng các đường ống tăng cường dữ liệu thông minh với lượng mã tối thiểu.

Hơn nữa, Ultralytics tối ưu hóa mức sử dụng bộ nhớ trong quá trình huấn luyện và suy luận. Không giống như các transformer model hạng nặng (như RT-DETR), các kiến trúc YOLO của Ultralytics huấn luyện nhanh hơn đáng kể và yêu cầu ít bộ nhớ CUDA hơn nhiều, khiến chúng trở nên lý tưởng cho các GPU tiêu dùng.

Ví dụ về mã: Huấn luyện tinh gọn

Việc huấn luyện các model hiện đại diễn ra liền mạch trong hệ sinh thái Ultralytics. Đây là ví dụ có thể chạy hoàn toàn để minh họa cách huấn luyện và xác thực một model YOLOv9:

from ultralytics import YOLO

# Initialize the model (you can swap 'yolov9c.pt' with 'yolov7.pt' or 'yolo26n.pt')
model = YOLO("yolov9c.pt")

# Train the model on the COCO8 sample dataset
train_results = model.train(
    data="coco8.yaml",
    epochs=50,
    imgsz=640,
    device="0",  # Use GPU 0 if available
    batch=16,  # Optimized batch size for memory efficiency
)

# Validate the model's performance on the validation set
metrics = model.val()

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

Tính linh hoạt chưa từng có trên các tác vụ

Một hệ sinh thái được duy trì tốt đồng nghĩa với việc tiếp cận được nhiều tác vụ thị giác máy tính đa dạng. Trong khi YOLOv7 chủ yếu được xây dựng để phát hiện đối tượng (với các nhánh thử nghiệm sau này cho các tác vụ khác), các model Ultralytics hiện đại được xây dựng để trở nên linh hoạt ngay từ đầu. Ngay lập tức, bạn có thể thực hiện phân đoạn cá thể, ước tính tư thế, phân loại hình ảnh và phát hiện Hộp bao định hướng (OBB) một cách liền mạch.

Các trường hợp sử dụng và ứng dụng lý tưởng

Quyết định giữa YOLOv7 và YOLOv9 thường phụ thuộc vào các hạn chế cụ thể của ngành và phần cứng hiện có của bạn.

Khi nào nên sử dụng YOLOv7

  • Triển khai Edge cũ: Đối với các môi trường phần cứng đã được tinh chỉnh và tối ưu hóa mạnh mẽ cho kiến trúc E-ELAN của YOLOv7, đây vẫn là một lựa chọn vững chắc cho IoT công nghiệp.
  • Giám sát Giao thông: Tốc độ khung hình cao và sự ổn định đã được kiểm chứng của YOLOv7 khiến nó trở nên tuyệt vời cho cơ sở hạ tầng thành phố thông minh và quản lý giao thông thời gian thực.
  • Tích hợp Robotics: Việc điều hướng trong môi trường động đòi hỏi xử lý với độ trễ thấp, một kịch bản mà các biến thể YOLOv7 đã được kiểm tra nghiêm ngặt.

Khi nào nên sử dụng YOLOv9

  • Hình ảnh Y tế: Kiến trúc PGI trong YOLOv9 đặc biệt xuất sắc trong việc bảo toàn các chi tiết tinh vi qua các lớp sâu, điều này rất quan trọng khi phân tích các tác vụ phân tích hình ảnh y tế phức tạp như phát hiện khối u.
  • Phân tích Bán lẻ Mật độ cao: Để theo dõi và đếm các mặt hàng được xếp dày đặc trên kệ hàng bán lẻ, sự tích hợp tính năng của YOLOv9 cung cấp độ chính xác vượt trội và giảm các kết quả âm tính giả.
  • Hình ảnh Drone và Trên không: Hiệu quả tham số của YOLOv9m cho phép xử lý hình ảnh độ phân giải cao trên drone, hỗ trợ bảo tồn động vật hoang dã và giám sát nông nghiệp mà không làm tiêu hao pin.

Kết luận

Cả YOLOv7 và YOLOv9 đều đã khẳng định vị trí của mình trong lịch sử thị giác máy tính. YOLOv7 giới thiệu các tối ưu hóa thiết yếu cho xử lý thời gian thực, trong khi YOLOv9 giải quyết các nút thắt cấu trúc học sâu để tối đa hóa hiệu quả tham số.

Tuy nhiên, đối với các nhà phát triển bắt đầu dự án mới hôm nay, việc tận dụng hệ sinh thái Ultralytics—đặc biệt là các model thế hệ mới như YOLO11YOLO26—mang lại sự cân bằng thuận lợi nhất giữa tốc độ, độ chính xác và trải nghiệm nhà phát triển. Với những đổi mới như trình tối ưu hóa MuSGD và việc loại bỏ Distribution Focal Loss (DFL) để tương thích phần cứng rộng rãi hơn, Ultralytics tiếp tục cung cấp các công cụ mạnh mẽ và dễ tiếp cận nhất cho các chuyên gia AI thị giác.

Bình luận