Meet YOLO26: next-gen vision AI.

Link to this sectionSo sánh YOLOv7 và YOLOv5#

Khi xây dựng các pipeline computer vision hiện đại, việc lựa chọn kiến trúc phát hiện đối tượng phù hợp là rất quan trọng để cân bằng giữa độ chính xác, tốc độ inference và khả năng tận dụng tài nguyên. Bản so sánh toàn diện này xem xét hai mô hình có sức ảnh hưởng lớn trong lĩnh vực computer vision: YOLOv7 và Ultralytics YOLOv5.

Bằng cách phân tích những khác biệt về kiến trúc, các số liệu hiệu năng và các kịch bản triển khai lý tưởng, chúng tôi nhằm mục đích giúp các nhà phát triển và nhà nghiên cứu chọn được mô hình tốt nhất cho các yêu cầu cụ thể của họ.

Link to this sectionBối cảnh và nguồn gốc mô hình#

Việc hiểu rõ nguồn gốc của các mô hình này cung cấp bối cảnh cho các triết lý thiết kế và các trường hợp sử dụng mục tiêu của chúng.

Link to this sectionYOLOv5#

Được phát hành bởi Glenn Jocher và đội ngũ tại Ultralytics vào ngày 26 tháng 6 năm 2020, YOLOv5 đã tạo nên cuộc cách mạng trong lĩnh vực này bằng cách cung cấp triển khai PyTorch thuần túy, ưu tiên khả năng sử dụng mà không làm giảm hiệu suất. Nó nhanh chóng trở thành tiêu chuẩn công nghiệp nhờ hệ sinh thái cực kỳ tinh gọn và động lực huấn luyện đáng tin cậy. Bạn có thể khám phá mã nguồn trên kho lưu trữ GitHub của YOLOv5 hoặc truy cập mô hình trực tiếp qua Nền tảng Ultralytics.

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

Link to this sectionYOLOv7#

Được giới thiệu bởi Chien-Yao Wang, Alexey Bochkovskiy và Hong-Yuan Mark Liao từ Viện Khoa học Thông tin, Academia Sinica, Đài Loan vào ngày 6 tháng 7 năm 2022. YOLOv7 tập trung mạnh vào các cải tiến kiến trúc như Extended Efficient Layer Aggregation Networks (E-ELAN) và "bag-of-freebies" có thể huấn luyện để thúc đẩy trạng thái tiên tiến (state-of-the-art) về độ chính xác. Thông tin chi tiết có thể được tìm thấy trong bài báo Arxiv chính thứckho lưu trữ GitHub của YOLOv7. Để tích hợp liền mạch, hãy xem tài liệu Ultralytics YOLOv7.

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

Thử nghiệm liền mạch

Cả hai mô hình này đều được tích hợp đầy đủ vào gói Python của Ultralytics, cho phép bạn chuyển đổi giữa chúng chỉ bằng cách thay đổi chuỗi mô hình trong mã của mình!

Link to this sectionCải tiến kiến trúc#

Link to this sectionThiết kế của Ultralytics YOLOv5#

YOLOv5 sử dụng backbone CSPDarknet53 được sửa đổi kết hợp với neck Path Aggregation Network (PANet). Thiết kế này được tối ưu hóa cao cho việc trích xuất đặc trưng nhanh chóng và hiệu quả bộ nhớ. Không giống như các kiến trúc cũ hơn hoặc các mô hình Transformer nặng nề, YOLOv5 yêu cầu ít bộ nhớ CUDA hơn đáng kể trong quá trình huấn luyện, cho phép sử dụng batch size lớn hơn trên các GPU tiêu dùng phổ thông. Hơn nữa, framework Ultralytics hỗ trợ vốn có nhiều tác vụ đa dạng ngoài các bounding box tiêu chuẩn, bao gồm phân đoạn ảnhphân loại ảnh.

Link to this sectionThiết kế của YOLOv7#

YOLOv7 đã giới thiệu một số tái tham số hóa cấu trúc và kiến trúc E-ELAN, cho phép mạng học các đặc trưng đa dạng hơn mà không phá hủy đường dẫn gradient gốc. Nó cũng thực hiện một auxiliary head (đầu ra phụ) để giám sát trung gian trong quá trình huấn luyện. Mặc dù những tiến bộ này mang lại mAP (mean Average Precision) cao, nhưng chúng thường giới thiệu các cấu trúc tensor phức tạp, có thể làm cho việc xuất sang các định dạng biên như ONNX hoặc TensorRT trở nên khó khăn hơn một chút so với các quy trình xuất tinh gọn vốn có của các mô hình Ultralytics.

Link to this sectionPhân tích Hiệu suất#

Khi so sánh các mô hình này, các nhà phát triển phải cân bằng giữa mAPval, tốc độ inference và độ phức tạp tính toán (FLOPs). Bảng dưới đây thể hiện hiệu năng của cả hai kiến trúc được đánh giá trên tập dữ liệu COCO.

Mô hìnhkích thước
(pixel)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
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

Link to this sectionNhững điểm chính cần ghi nhớ#

  • Độ chính xác tối đa: YOLOv7x đạt độ chính xác tổng thể cao nhất ở mức ấn tượng 53.1 mAPval, khiến nó trở nên cạnh tranh cao cho các kịch bản mà việc tối đa hóa hiệu suất phát hiện là mục tiêu chính.
  • Tốc độ và hiệu quả: Ultralytics YOLOv5n là một kỳ quan về hiệu quả, cung cấp độ trễ inference nhanh như chớp (1.12 ms trên T4 TensorRT) với dung lượng bộ nhớ cực nhỏ chỉ 2.6M tham số. Điều này làm cho nó trở thành lựa chọn vô đối cho các triển khai tại biên có ràng buộc cao.
  • Cân bằng hiệu năng: Dòng YOLOv5 cung cấp một dải mô hình đặc biệt. YOLOv5l mang lại sự cân bằng tuyệt vời, chỉ kém YOLOv7l một biên độ chính xác nhỏ nhưng lại cung cấp một quy trình triển khai vô cùng hoàn thiện.

Link to this sectionLợi thế từ hệ sinh thái Ultralytics#

Kiến trúc của một mô hình chỉ là một nửa phương trình; hệ sinh thái bao quanh nó mới quyết định khả năng thực tế của nó. Đây là nơi các mô hình Ultralytics thực sự tỏa sáng.

Dễ sử dụng: Ultralytics cung cấp một API Python thống nhất và cực kỳ trực quan. Bạn có thể huấn luyện, xác thực và triển khai các mô hình với mã lệnh tối thiểu, được hỗ trợ bởi tài liệu chính thức đầy đủ. Hệ sinh thái được duy trì tốt: Sự phát triển tích cực đảm bảo các bản cập nhật liên tục, sửa lỗi và tích hợp liền mạch với các công cụ theo dõi hiện đại như Weights & Biases. Hiệu quả huấn luyện: Tận dụng các bộ nạp dữ liệu được tối ưu hóa và bộ nhớ đệm thông minh, YOLOv5 giảm đáng kể thời gian huấn luyện. Hơn nữa, các trọng số được huấn luyện trước sẵn sàng sử dụng giúp tăng tốc học chuyển đổi (transfer learning) trên nhiều lĩnh vực khác nhau.

Link to this sectionVí dụ mã nguồn: Huấn luyện tinh gọn#

Với gói Ultralytics, việc bắt đầu một quá trình huấn luyện hầu như giống hệt nhau bất kể kiến trúc bạn chọn là gì.

from ultralytics import YOLO

# Load a pre-trained YOLOv5 model (can easily swap to "yolov7.pt")
model = YOLO("yolov5s.pt")

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

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

Link to this sectionCác trường hợp sử dụng lý tưởng#

Link to this sectionKhi nào nên chọn YOLOv7#

  • Đánh giá học thuật: Hoàn hảo cho các nhà nghiên cứu cần so sánh các kỹ thuật mới với một baseline năm 2022 được ghi chép đầy đủ.
  • Xử lý đám mây GPU cao cấp: Khi triển khai trên phần cứng máy chủ mạnh mẽ, nơi việc đạt được mAP cao nhất tuyệt đối trên các cảnh dày đặc quan trọng hơn sự đơn giản khi xuất mô hình.

Link to this sectionKhi nào nên chọn YOLOv5#

  • Triển khai sản xuất: Lý tưởng cho các ứng dụng thương mại đòi hỏi tính ổn định cao, các tùy chọn triển khai mô hình đơn giản và khả năng tương thích đa nền tảng rộng rãi.
  • Thiết bị biên: Các biến thể nhỏ hơn (YOLOv5n và YOLOv5s) chạy cực tốt trên điện thoại di động và các hệ thống nhúng.
  • Yêu cầu đa tác vụ: Nếu dự án của bạn cần phát triển từ phát hiện đơn giản sang ước tính tư thế hoặc phân đoạn sử dụng một framework thống nhất.
Khám phá các kiến trúc khác

Bạn đang tìm kiếm các phiên bản gần đây hơn? Hãy cân nhắc khám phá Ultralytics YOLOv8 hoặc Ultralytics YOLO11 để có thêm những tiến bộ về khả năng phát hiện không cần neo (anchor-free) và học đa tác vụ.

Link to this sectionThế hệ tiếp theo: Ultralytics YOLO26#

Mặc dù YOLOv5 và YOLOv7 giữ những vị trí quan trọng trong lịch sử AI thị giác, nhưng bối cảnh đang liên tục thay đổi. Được phát hành vào tháng 1 năm 2026, Ultralytics YOLO26 đại diện cho công nghệ phát hiện đối tượng tiên tiến nhất, vượt qua các thế hệ trước trên mọi số liệu.

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

YOLO26 giới thiệu một số tính năng thay đổi mô hình:

  • Thiết kế không NMS từ đầu đến cuối: Dựa trên các khái niệm tiên phong trong các phiên bản trước, YOLO26 là end-to-end về bản chất. Điều này loại bỏ hoàn toàn quá trình hậu xử lý Non-Maximum Suppression (NMS), cắt giảm các điểm nghẽn độ trễ và đơn giản hóa đáng kể logic triển khai.
  • MuSGD Optimizer: Lấy cảm hứng từ Kimi K2 của Moonshot AI, bộ tối ưu hóa mang tính cách mạng này kết hợp sự ổn định của SGD tiêu chuẩn với động lượng gia tốc của Muon, đưa các cải tiến huấn luyện LLM tiên tiến trực tiếp vào lĩnh vực computer vision.
  • Tăng tốc CPU: Bằng cách loại bỏ Distribution Focal Loss (DFL) một cách chiến lược, YOLO26 đạt được tốc độ inference trên CPU nhanh hơn tới 43%, biến nó trở thành nhà vô địch tuyệt đối cho việc triển khai trên thiết bị biên và thiết bị IoT tiêu thụ điện năng thấp.
  • ProgLoss + STAL: Các hàm mất mát (loss functions) tiên tiến này mang lại những cải tiến lớn trong việc nhận diện đối tượng nhỏ, vốn rất quan trọng đối với hình ảnh trên không và robot chính xác.
  • Cải tiến cụ thể theo tác vụ: Với hàm loss phân đoạn ngữ nghĩa (Semantic segmentation loss) để tạo mask, Residual Log-Likelihood Estimation (RLE) để theo dõi tư thế và hàm loss góc chuyên dụng để giải quyết các vấn đề ranh giới Oriented Bounding Box (OBB) phức tạp.

Link to this sectionKết luận#

Cả YOLOv5 và YOLOv7 đều cung cấp các giải pháp mạnh mẽ cho việc phát hiện đối tượng theo thời gian thực. YOLOv7 vẫn là lựa chọn mạnh mẽ cho độ chính xác thuần túy trên phần cứng tính toán cao, trong khi YOLOv5 nổi bật là công cụ thân thiện với nhà phát triển nhất, cung cấp sự cân bằng đặc biệt giữa tốc độ, hiệu quả và một hệ sinh thái đẳng cấp thế giới.

Tuy nhiên, đối với các nhà phát triển đang tìm cách bảo vệ các pipeline của họ trong tương lai và đạt được sự kết hợp tối ưu giữa tốc độ, sự đơn giản và độ chính xác hiện đại nhất, chúng tôi thực sự khuyên bạn nên chuyển sang Ultralytics YOLO26. Nó gói gọn sự dễ sử dụng huyền thoại của nền tảng Ultralytics đồng thời mang đến những cải tiến kiến trúc đột phá.

Người đóng góp

Bình luận