YOLOv7 so với YOLOv10: Sự tiến hóa của nhận diện đối tượng thời gian thực

Lĩnh vực thị giác máy tính đã chứng kiến những bước tiến đáng kinh ngạc trong vài năm qua, với dòng model YOLO (You Only Look Once) dẫn đầu trong việc nhận diện đối tượng thời gian thực. Việc chọn kiến trúc phù hợp cho các dự án thị giác máy tính đòi hỏi sự hiểu biết sâu sắc về các tùy chọn hiện có. Trong bài so sánh kỹ thuật toàn diện này, chúng ta sẽ khám phá những điểm khác biệt chính giữa hai kiến trúc mang tính cột mốc: YOLOv7YOLOv10.

Giới thiệu về các model

Cả hai model này đều đại diện cho những cột mốc quan trọng trong lịch sử trí tuệ nhân tạo, tuy nhiên chúng có các phương pháp tiếp cận hoàn toàn khác nhau để giải quyết các thách thức trong nhận diện đối tượng.

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

Được ra mắt vào ngày 6 tháng 7 năm 2022 bởi các nhà nghiên cứu Chien-Yao Wang, Alexey Bochkovskiy và Hong-Yuan Mark Liao từ Institute of Information Science, Academia Sinica, YOLOv7 đã giới thiệu một sự thay đổi mô hình trong cách tối ưu hóa mạng thần kinh. Nghiên cứu gốc, được trình bày chi tiết trong bài báo học thuật của họ và được lưu trữ trên kho lưu trữ GitHub chính thức, tập trung mạnh mẽ vào việc tái tham số hóa kiến trúc và một "túi quà tặng" (bag-of-freebies) có thể huấn luyện được.

YOLOv7 tận dụng mạng tập hợp lớp hiệu quả mở rộng (E-ELAN) để hướng dẫn mạng học các đặc trưng đa dạng mà không phá hủy lộ trình gradient ban đầu. Điều này làm cho nó trở thành lựa chọn mạnh mẽ cho các chuẩn đo lường nghiên cứu học thuật và các hệ thống phụ thuộc nhiều vào GPU cao cấp tiêu chuẩn.

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

YOLOv10: Nhận diện thời gian thực đầu-cuối (End-to-End)

Được phát triển bởi Ao Wang và đội ngũ của ông tại Tsinghua University, YOLOv10 được ra mắt vào ngày 23 tháng 5 năm 2024. Như đã nêu chi tiết trong ấn phẩm arxivkho lưu trữ GitHub của Tsinghua, model này loại bỏ một nút thắt cổ chai lâu đời trong nhận diện đối tượng: Non-Maximum Suppression (NMS).

YOLOv10 giới thiệu các phân công kép nhất quán cho việc huấn luyện không cần NMS, làm thay đổi về cơ bản quy trình xử lý hậu kỳ. Bằng cách triển khai chiến lược thiết kế model dựa trên hiệu suất-độ chính xác toàn diện, YOLOv10 giảm thiểu sự dư thừa tính toán. Điều này tạo ra một kiến trúc được tùy chỉnh riêng cho các thiết bị biên yêu cầu độ trễ cực thấp.

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

Kiến trúc không cần NMS

Việc loại bỏ Non-Maximum Suppression (NMS) trong YOLOv10 cho phép toàn bộ model được xuất dưới dạng một biểu đồ tính toán duy nhất. Điều này đơn giản hóa đáng kể việc triển khai bằng cách sử dụng các runtime như TensorRT hoặc OpenVINO.

So sánh hiệu suất và các chỉ số

Khi phân tích hiệu suất của model, việc đánh giá sự đánh đổi giữa độ chính xác, tốc độ và trọng số tính toán là rất quan trọng. Bảng sau đây cho thấy cách các kích thước khác nhau của các model này so sánh với nhau.

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
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4

Phân tích các đánh đổi

Các số liệu trên cho thấy một khoảng cách thế hệ rõ rệt. Trong khi YOLOv7x mang lại mAPval rất mạnh mẽ là 53.1%, nó yêu cầu 71.3M tham số và 189.9B FLOPs. Ngược lại, YOLOv10l vượt qua độ chính xác đó (53.3% mAP) trong khi yêu cầu ít hơn một nửa số tham số (29.5M) và ít FLOPs hơn đáng kể (120.3B). Hơn nữa, YOLOv10n được tối ưu hóa cao cung cấp tốc độ suy luận đáng kinh ngạc là 1.56ms, làm cho nó trở nên lý tưởng cho phân tích video thời gian thực và các ứng dụng di động.

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

Những khác biệt về kiến trúc giữa các model này quy định các trường hợp sử dụng tối ưu của chúng.

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

Do khả năng biểu diễn đặc trưng phong phú, YOLOv7 vượt trội trong các môi trường cực kỳ phức tạp. Các trường hợp sử dụng như giám sát lưu lượng giao thông ở các khu vực đô thị đông đúc, phân tích hình ảnh vệ tinh, hoặc xác định lỗi trong tự động hóa sản xuất hạng nặng đều được hưởng lợi từ cấu trúc tái tham số hóa mạnh mẽ của nó. Nó cũng rất được ưa chuộng trong các môi trường kế thừa đã được tích hợp sâu với các pipeline PyTorch 1.12 cụ thể.

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

Thiết kế nhẹ, không cần NMS của YOLOv10 tỏa sáng trong các môi trường bị hạn chế. Nó được khuyến nghị cao cho các thiết bị tính toán biên như NVIDIA Jetson Nano hoặc Raspberry Pi. Hiệu suất độ trễ thấp của nó làm cho nó hoàn hảo cho các ứng dụng chuyển động nhanh như phân tích thể thao, điều hướng drone tự hành và phân loại robot tốc độ cao trên băng chuyền.

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

Mặc dù cả hai model đều có nguồn gốc học thuật mạnh mẽ, tiềm năng thực sự của chúng được mở khóa khi sử dụng trong Ultralytics Platform thống nhất. Việc phát triển các model thị giác máy tính từ đầu là vô cùng khó khăn, nhưng hệ sinh thái Ultralytics cung cấp trải nghiệm tuyệt vời cho các kỹ sư machine learning.

  • Dễ sử dụng: Python API của Ultralytics cung cấp một giao diện thống nhất. Bạn có thể huấn luyện, xác thực và xuất model chỉ với vài dòng mã, tránh được các cơn ác mộng phụ thuộc phức tạp thường gặp ở các kho lưu trữ học thuật điển hình.
  • Hệ sinh thái được bảo trì tốt: Ultralytics đảm bảo rằng mã nguồn cơ bản được phát triển tích cực. Người dùng được hưởng lợi từ sự tích hợp liền mạch với các công cụ ML phổ biến như Weights & Biases để ghi nhật ký, hoặc Hugging Face cho các bản demo web nhanh chóng.
  • Yêu cầu về bộ nhớ: Các trình nhận diện đối tượng dựa trên Transformer thường tiêu thụ một lượng lớn bộ nhớ CUDA trong quá trình huấn luyện. Ngược lại, các model YOLO của Ultralytics yêu cầu ít bộ nhớ hơn nhiều, cho phép kích thước batch lớn hơn nhiều trên phần cứng thương mại.
  • Tính linh hoạt: Pipeline của Ultralytics không bị giới hạn ở các hộp bao quanh (bounding box) tiêu chuẩn. Nó hỗ trợ liền mạch ước tính tư thế, phân đoạn đối tượng và các hộp bao quanh có định hướng trên các dòng model được hỗ trợ như YOLO11YOLOv8.

Ví dụ về quy trình huấn luyện tinh gọn

Chạy một pipeline huấn luyện với Ultralytics cực kỳ đơn giản. Bất kể bạn đang tận dụng sự mạnh mẽ lịch sử của YOLOv7 hay tốc độ không cần NMS của YOLOv10, cú pháp vẫn nhất quán:

from ultralytics import YOLO

# Load the preferred model (e.g., YOLOv10 Nano)
model = YOLO("yolov10n.pt")

# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run an inference prediction on a sample image
predictions = model.predict("https://ultralytics.com/images/bus.jpg")

# Export to an edge-friendly format like ONNX
model.export(format="onnx")

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

Việc lựa chọn giữa YOLOv7 và YOLOv10 phụ thuộc vào các yêu cầu dự án cụ thể, các hạn chế triển khai và các tùy chọn hệ sinh thái của bạn.

Khi nào nên chọn YOLOv7

YOLOv7 là một lựa chọn mạnh mẽ cho:

  • Academic Benchmarking: Tái hiện các kết quả hiện đại nhất (state-of-the-art) từ năm 2022 hoặc nghiên cứu tác động của E-ELAN và các kỹ thuật trainable bag-of-freebies.
  • Reparameterization Research: Nghiên cứu các convolution được tái tham số hóa theo kế hoạch và các chiến lược mở rộng mô hình hỗn hợp.
  • Existing Custom Pipelines: Các dự án với quy trình tùy chỉnh mạnh mẽ được xây dựng dựa trên kiến trúc cụ thể của YOLOv7 mà không dễ dàng để tái cấu trúc.

Khi nào nên chọn YOLOv10

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

  • Nhận diện thời gian thực không cần NMS: Các ứng dụng hưởng lợi từ việc nhận diện end-to-end mà không cần Non-Maximum Suppression, giảm bớt độ 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 yêu cầu sự cân bằng tốt giữa tốc độ suy luận và độ chính xác nhận diện trên nhiều quy mô mô hình khác nhau.
  • Ứng dụng yêu cầu độ trễ nhất quán: Các kịch bản triển khai nơi thời gian suy luận có thể dự đoán được là rất quan trọng, chẳng hạn như robotics hoặc các hệ thống tự hành.

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

Tương lai: Giới thiệu YOLO26

Trong khi YOLOv7 và YOLOv10 là những cột mốc ấn tượng, biên giới của AI vẫn luôn tiến bộ. Được ra mắt vào tháng 1 năm 2026, Ultralytics YOLO26 là tiêu chuẩn mới không thể tranh cãi về hiệu suất và độ chính xác trên tất cả các kịch bản triển khai biên và đám mây.

Nếu bạn đang bắt đầu một dự án thị giác máy tính mới ngay hôm nay, YOLO26 là kiến trúc được khuyến nghị. Nó xây dựng dựa trên di sản của những người tiền nhiệm bằng cách kết hợp nhiều đổi mới đột phá:

  • Thiết kế không cần NMS đầu-cuối: Lấy cảm hứng từ YOLOv10, YOLO26 loại bỏ nguyên bản việc xử lý hậu kỳ NMS, đảm bảo suy luận với độ trễ cực thấp cho robot thời gian thực mang tính xác định.
  • Tốc độ suy luận CPU nhanh hơn tới 43%: Bằng cách loại bỏ chiến lược mô-đun Distribution Focal Loss (DFL), YOLO26 đẩy nhanh đáng kể khả năng thực thi trên phần cứng tính toán biên không phải GPU, biến nó thành một công cụ mạnh mẽ cho các thiết bị IoT.
  • Bộ tối ưu hóa MuSGD: Lấy cảm hứng từ những đổi mới trong huấn luyện model ngôn ngữ lớn gần đây, YOLO26 kết hợp giữa SGD và Muon, ổn định các lộ trình huấn luyện và đảm bảo sự hội tụ nhanh hơn.
  • ProgLoss + STAL: Các hàm mất mát tiên tiến này mang lại những cải tiến đáng kể trong việc nhận diện đối tượng nhỏ, khắc phục điểm yếu lịch sử của các thế hệ YOLO cũ hơn.
  • Tính linh hoạt vô song: YOLO26 có các tối ưu hóa nguyên bản, đặc thù cho nhiệm vụ như Residual Log-Likelihood Estimation (RLE) để theo dõi tư thế và các hàm mất mát góc chuyên biệt cho việc nhận diện OBB chính xác trong hình ảnh trên không.

Đối với các kỹ sư đang tìm kiếm sự cân bằng tối ưu về tốc độ, độ chính xác và sự đơn giản trong triển khai, việc chuyển đổi từ các model cũ sang YOLO26 mang lại lợi thế cạnh tranh ngay lập tức và có thể đo lường được.

Bình luận