Ultralytics YOLO27:

YOLOv7 so với YOLOv5#

Khi xây dựng các pipeline thị giác máy tính hiện đại, việc lựa chọn đúng kiến trúc phát hiện đối tượng đóng vai trò then chốt trong việc cân bằng độ chính xác, tốc độ suy luận và mức sử dụng tài nguyên. Bản so sánh toàn diện này phân tích hai model có ảnh hưởng lớn trong lĩnh vực thị giác máy tính: YOLOv7 và Ultralytics YOLOv5.

Bằng cách phân tích sự khác biệt về kiến trúc, các chỉ số hiệu năng và những kịch bản triển khai phù hợp, chúng tôi hướng đến việc giúp developer và researcher lựa chọn model tốt nhất cho các yêu cầu cụ thể của họ.

Bối cảnh và nguồn gốc của model#

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

YOLOv5#

Được Glenn Jocher cùng đội ngũ tại Ultralytics phát hành 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 một triển khai PyTorch native, ưu tiên tính dễ sử dụng mà không đánh đổi hiệu năng. Model nhanh chóng trở thành một tiêu chuẩn trong ngành nhờ ecosystem cực kỳ tinh gọn và động lực training đáng tin cậy. Bạn có thể khám phá mã nguồn trong repository YOLOv5 trên GitHub hoặc truy cập trực tiếp model thông qua Ultralytics Platform.

YOLOv7#

Đượ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 mẽ vào các cải tiến kiến trúc như Mạng Tổng hợp Lớp Hiệu quả Mở rộng (E-ELAN) và một "túi quà miễn phí" có thể huấn luyện để đẩy mạnh trạng thái của nghệ thuật về độ chính xác. Chi tiết có thể được tìm thấy trong tài liệu chính thức trên Arxiv của họkho lưu trữ GitHub của YOLOv7. Để tích hợp liền mạch, hãy xem tài liệu YOLOv7 của Ultralytics.

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

Thử nghiệm liền mạch

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

Các cải tiến về kiến trúc#

Thiết kế Ultralytics YOLOv5#

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

Thiết kế YOLOv7#

YOLOv7 giới thiệu một số kỹ thuật tái tham số hóa cấu trúc cùng kiến trúc E-ELAN, cho phép network học các đặc trưng đa dạng hơn mà không phá hủy đường gradient ban đầu. Model cũng triển khai một auxiliary head để giám sát trung gian trong quá trình training. Mặc dù những cải tiến này mang lại Độ chính xác trung bình (mAP) cao, chúng thường tạo ra các cấu trúc tensor phức tạp, khiến việc export sang các format edge như ONNX hoặc TensorRT khó hơn đôi chút so với quy trình export tinh gọn vốn có của các model Ultralytics.

Phân tích hiệu năng#

Khi so sánh các model này, developer phải cân bằng mAPval, tốc độ suy luận 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 dataset COCO.

Modelkích thước
(pixel)
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
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

Các điểm chính#

  • Giới hạn độ chính xác: YOLOv7x đạt độ chính xác tổng thể cao nhất với 53.1 mAPval ấn tượng, khiến model này có tính cạnh tranh cao trong các kịch bản mà tối đa hóa hiệu năng phát hiện là mục tiêu chính.
  • Tốc độ và hiệu quả: Ultralytics YOLOv5n là một kỳ tích về hiệu quả, cung cấp độ trễ suy luận cực nhanh (1.12 ms trên T4 TensorRT) với footprint bộ nhớ chỉ 2.6M parameters. Điều này khiến model trở thành lựa chọn vượt trội cho các triển khai edge có tài nguyên rất hạn chế.
  • Cân bằng hiệu năng: Dòng YOLOv5 cung cấp một phổ model đặc biệt đa dạng. YOLOv5l mang lại điểm cân bằng tuyệt vời, chỉ kém YOLOv7l một khoảng nhỏ về độ chính xác nhưng có pipeline triển khai rất成熟 và hoàn thiện.

Lợi thế từ hệ sinh thái Ultralytics#

Kiến trúc của một model chỉ là một nửa bài toán; ecosystem bao quanh nó mới quyết định khả năng ứng dụng trong thực tế. Đây là điểm mà các model Ultralytics thực sự tỏa sáng.

Dễ sử dụng: Ultralytics cung cấp một Python API thống nhất, trực quan cao. Bạn có thể training, validation và triển khai model với lượng boilerplate tối thiểu, cùng tài liệu chính thức phong phú. Ecosystem được duy trì tốt: Việc 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 những công cụ tracking hiện đại như Weights & Biases. Hiệu quả training: Nhờ sử dụng data loader được tối ưu và caching thông minh, YOLOv5 rút ngắn đáng kể thời gian training. Ngoài ra, các trọng số pre-trained sẵn sàng sử dụng giúp tăng tốc transfer learning trên nhiều lĩnh vực.

Ví dụ code: Training tinh gọn#

Với package Ultralytics, việc bắt đầu một phiên training gần như giống hệt nhau bất kể bạn chọn kiến trúc nào.

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")

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

Khi nào nên chọn YOLOv7#

  • Benchmarking học thuật: Lý tưởng cho các researcher cần so sánh những kỹ thuật mới với một baseline năm 2022 được tài liệu hóa đầy đủ.
  • Xử lý trên cloud với GPU cao cấp: Phù hợp khi triển khai trên phần cứng server mạnh, nơi đạt 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 của việc export.

Khi nào nên chọn YOLOv5#

  • Triển khai production: Lý tưởng cho các ứng dụng thương mại yêu cầu độ ổn định cao, tùy chọn triển khai model đơn giản và khả năng tương thích đa nền tảng rộng.
  • Thiết bị edge: Các biến thể nhỏ hơn (YOLOv5n và YOLOv5s) hoạt động đặc biệt tốt trên điện thoại di động và các hệ thống nhúng.
  • Yêu cầu multi-task: Khi project của bạn cần phát triển từ phát hiện đơn giản sang ước tính pose hoặc phân đoạn bằ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 mới hơn? Hãy cân nhắc khám phá Ultralytics YOLOv8 hoặc Ultralytics YOLO11 để tiếp cận những cải tiến mới về phát hiện không anchor và khả năng học multi-task.

Thế 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, lĩnh vực này vẫn không ngừng phát triển. Đượ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 chỉ số.

YOLO26 giới thiệu một số tính năng mang tính đột phá về paradigm:

  • Thiết kế end-to-end không cần NMS: Kế thừa các khái niệm được tiên phong trong những phiên bản trước, YOLO26 có kiến trúc end-to-end native. Điều này loại bỏ hoàn toàn bước hậu xử lý Non-Maximum Suppression (NMS), giảm mạnh các nút thắt về độ trễ và đơn giản hóa đáng kể logic triển khai.
  • Optimizer MuSGD: Lấy cảm hứng từ Kimi K2 của Moonshot AI, optimizer 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 momentum được tăng tốc của Muon, đưa các đổi mới trong training LLM tiên tiến trực tiếp vào lĩnh vực thị giác máy tính.
  • Tốc độ CPU được cải thiện: Bằng cách loại bỏ có chủ đích Distribution Focal Loss (DFL), YOLO26 đạt tốc độ suy luận CPU nhanh hơn tới 43%, trở thành lựa chọn hàng đầu cho việc triển khai trên các thiết bị edge và IoT công suất thấp.
  • ProgLoss + STAL: Các hàm loss nâng cao này mang lại cải thiện lớn trong việc nhận dạng đối tượng nhỏ, yếu tố thiết yếu đối với ảnh trên không và robot chính xác.
  • Cải tiến theo task: Bao gồm loss phân đoạn Semantic để tạo mask, Residual Log-Likelihood Estimation (RLE) cho tracking pose và loss góc chuyên biệt để giải quyết các vấn đề ranh giới Oriented Bounding Box (OBB) phức tạp.

Kết luận#

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

Tuy nhiên, với những developer muốn bảo đảm pipeline phù hợp cho tương lai và đạt được sự kết hợp tối ưu giữa tốc độ, tính đơn giản và độ chính xác state-of-the-art, chúng tôi đặc biệt khuyến nghị chuyển sang Ultralytics YOLO26. Model này kết hợp sự dễ sử dụng huyền thoại của Ultralytics Platform với những đổi mới đột phá về kiến trúc.

Những người đóng góp

Bình luận