Meet YOLO26: next-gen vision AI.

Link to this sectionYOLOv8 so với YOLOv7#

Lĩnh vực thị giác máy tính đang không ngừng phát triển, với các kiến trúc mới liên tục mở rộng giới hạn những gì khả thi trong phát hiện đối tượng theo thời gian thực. Trong bài phân tích chuyên sâu này, chúng tôi so sánh hai model có sức ảnh hưởng lớn: Ultralytics YOLOv8YOLOv7. Cả hai model đều đã tác động đáng kể đến cộng đồng nhà phát triển và nghiên cứu học thuật, mang đến những phương pháp tiếp cận độc đáo để giải quyết các tác vụ thị giác phức tạp.

Việc hiểu rõ những khác biệt về cấu trúc và phương pháp luận giữa hai model này là rất quan trọng đối với các kỹ sư machine learning đang tìm cách tối ưu hóa các pipeline triển khai của họ. Trong khi YOLOv7 giới thiệu phương pháp tiếp cận "bag-of-freebies" mạnh mẽ được thiết kế riêng cho lưu lượng thô, thì Ultralytics YOLOv8 tập trung vào việc tạo ra một hệ sinh thái toàn diện, dễ sử dụng, cân bằng giữa độ chính xác cao với mức tiêu thụ bộ nhớ thấp và tính linh hoạt đa nhiệm.

Link to this sectionUltralytics YOLOv8: Tiêu chuẩn hệ sinh thái đa năng#

Được Ultralytics phát hành vào đầu năm 2023, YOLOv8 đại diện cho một bước chuyển mình lớn về kiến trúc so với các phiên bản tiền nhiệm. Nó được thiết kế từ đầu để trở thành thứ gì đó hơn cả một bộ phát hiện đối tượng thời gian thực; nó là một framework thống nhất có khả năng xử lý hàng loạt tác vụ thị giác ngay lập tức.

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

YOLOv8 đã giới thiệu một bộ phát hiện (detection head) anchor-free đầy sáng tạo. Điều này đơn giản hóa đáng kể quá trình huấn luyện bằng cách loại bỏ nhu cầu cấu hình thủ công các anchor box dựa trên sự phân bổ cụ thể của tập dữ liệu tùy chỉnh. Lựa chọn thiết kế này giúp model cực kỳ mạnh mẽ và dễ khái quát hóa trên nhiều môi trường khác nhau.

Ngoài ra, kiến trúc này còn có module C2f (bottleneck Cross-Stage Partial với hai phép chập), một bản nâng cấp cấu trúc giúp cải thiện luồng gradient và cho phép mạng thần kinh học được các biểu diễn đặc trưng phong phú hơn mà không làm tăng đáng kể chi phí tính toán. Điều này giúp model đạt hiệu suất cực cao khi chạy inference thông qua các framework deep learning tiêu chuẩn như PyTorch.

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

Hiệu quả Bộ nhớ

Các model Ultralytics YOLO được thiết kế để đạt hiệu suất huấn luyện tối ưu. Chúng thường yêu cầu ít bộ nhớ CUDA hơn đáng kể trong quá trình huấn luyện so với các kiến trúc dựa trên Transformer hoặc các CNN nặng nề hơn. Điều này cho phép bạn huấn luyện với kích thước batch lớn hơn trên phần cứng tiêu dùng, giúp đẩy nhanh chu kỳ phát triển của bạn.

Link to this sectionYOLOv7: Phương pháp tiếp cận "Bag-of-Freebies"#

YOLOv7 được giới thiệu vào giữa năm 2022 và nhanh chóng trở thành một baseline phổ biến trong giới học thuật. Nó tập trung mạnh vào việc tái tham số hóa kiến trúc và tối ưu hóa đường dẫn gradient để đẩy giới hạn của việc phát hiện đối tượng thời gian thực trên các GPU cao cấp.

  • Tác giả: Chien-Yao Wang, Alexey Bochkovskiy và Hong-Yuan Mark Liao
  • Tổ chức: Viện Thông tin học, Academia Sinica, Đài Loan
  • Ngày: 2022-07-06
  • Arxiv: 2207.02696
  • GitHub: WongKinYiu/yolov7

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

YOLOv7 sử dụng Extended Efficient Layer Aggregation Network (E-ELAN), cho phép model liên tục học các đặc trưng đa dạng hơn. Nó dựa chủ yếu vào mô hình anchor-based và giới thiệu "bag-of-freebies" có thể huấn luyện được—một tập hợp các phương pháp tối ưu hóa giúp cải thiện độ chính xác mà không làm tăng chi phí inference.

Mặc dù YOLOv7 đạt hiệu suất tuyệt vời trên các benchmark học thuật tiêu chuẩn như tập dữ liệu MS COCO, nhưng kiến trúc của nó lại được tối ưu hóa mạnh cho các bộ tăng tốc cấp máy chủ. Việc xuất và triển khai các model này lên các thiết bị edge đôi khi đòi hỏi nhiều cấu hình thủ công hơn so với các framework hiện đại và tinh gọn hơn.

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

Link to this sectionSo sánh hiệu năng chi tiết#

Khi đánh giá các model này, sự cân bằng giữa tốc độ, độ chính xác và kích thước model là cân nhắc chính. Bảng dưới đây nêu bật các chỉ số cho cả hai model.

Mô hìnhkích thước
(pixel)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

Như đã thấy trong dữ liệu, YOLOv8x đạt được độ chính xác tuyệt đối cao nhất (53.9 mAP), trong khi biến thể nano (YOLOv8n) cung cấp tốc độ inference vượt trội và dung lượng cực nhẹ. Sự đa dạng này giúp YOLOv8 thích ứng tốt hơn nhiều với các môi trường phần cứng bị hạn chế.

Link to this sectionLợi thế từ Ultralytics: Dễ sử dụng và Hệ sinh thái#

Mặc dù YOLOv7 cung cấp các chỉ số phát hiện thô mạnh mẽ, Ultralytics YOLOv8 vượt trội hơn hẳn về trải nghiệm nhà phát triển, khả năng tích hợp hệ sinh thái và năng lực đa nhiệm.

Link to this sectionSự linh hoạt vô song#

YOLOv7 chủ yếu là một model phát hiện, với các nhánh thử nghiệm cho các tác vụ khác. Ngược lại, YOLOv8 hỗ trợ nguyên bản Object Detection, Instance Segmentation, Image Classification, Pose EstimationOriented Bounding Boxes (OBB). Phương pháp tiếp cận thống nhất này có nghĩa là một nhóm có thể học một API duy nhất và triển khai nó trên các yêu cầu dự án hoàn toàn khác nhau.

Link to this sectionTriển khai và Tích hợp Tinh gọn#

Xuất model cho production thường có thể là một nút thắt cổ chai. Gói Ultralytics cho phép các nhà phát triển xuất sang các định dạng như ONNX, TensorRT và CoreML chỉ với một dòng code Python. Điều này giúp tránh các vấn đề về hỗ trợ toán tử đôi khi gặp phải khi xuất các đồ thị anchor-based phức tạp.

Hơn nữa, YOLOv8 tích hợp liền mạch với các công cụ MLOps. Cho dù bạn đang theo dõi các thử nghiệm với Weights & Biases hay kiểm thử triển khai trên Hugging Face Spaces, hệ sinh thái Ultralytics sẽ xử lý các tác vụ nặng nề đó.

Link to this sectionVí dụ Code: Huấn luyện và Xuất YOLOv8#

Đoạn code sau đây minh họa sự đơn giản của Python API từ Ultralytics. Bạn có thể thực hiện từ việc khởi tạo model cho đến huấn luyện và xuất nó để triển khai tại edge chỉ trong chưa đầy mười dòng code.

from ultralytics import YOLO

# Load a pretrained YOLOv8 nano model for fast inference
model = YOLO("yolov8n.pt")

# Train the model on the COCO8 dataset
# The API handles data loading, augmentation, and logging automatically
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

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

# Export the trained model to ONNX format for deployment
model.export(format="onnx")
Tính linh hoạt trong triển khai

Việc sử dụng hàm model.export() cung cấp một cầu nối ngay lập tức đến các công cụ inference hiệu năng cao, cho phép bạn dễ dàng tích hợp YOLOv8 vào các ứng dụng di động, hệ thống nhúng hoặc các máy chủ đám mây có lưu lượng truy cập cao.

Link to this sectionCác trường hợp sử dụng thực tế#

Những khác biệt về kiến trúc giữa hai model này quyết định các kịch bản triển khai lý tưởng của chúng.

Khi nào chọn YOLOv8:

  • Edge AI và Thiết bị IoT: Sự sẵn có của các model Nano và Small siêu nhanh giúp YOLOv8 trở nên hoàn hảo cho phần cứng có khả năng tính toán hạn chế, chẳng hạn như camera thông minh hoặc thiết bị bay không người lái.
  • Dự án Đa nhiệm: Nếu pipeline của bạn yêu cầu theo dõi các khớp cơ thể người (Pose Estimation) trong khi đồng thời lập bản đồ chướng ngại vật (Segmentation), YOLOv8 xử lý tác vụ này một cách nguyên bản.
  • Từ tạo mẫu nhanh đến sản xuất: Tài liệu Ultralytics phong phú và Python API mượt mà cho phép các nhóm đưa sản phẩm ra thị trường nhanh hơn.

Khi nào cân nhắc YOLOv7:

  • Benchmark học thuật: Các nhà nghiên cứu nghiên cứu ảnh hưởng của các kỹ thuật tái tham số hóa thường sử dụng YOLOv7 như một baseline tiêu chuẩn, như được phản ánh qua sự phổ biến của nó trên Papers With Code.
  • Pipeline máy chủ kế thừa: Nếu một pipeline tính toán nặng nề hiện có đã được tối ưu hóa nghiêm ngặt xung quanh các đầu ra anchor cụ thể của YOLOv7, việc duy trì nó có thể là lựa chọn thực tế trong ngắn hạn.

Link to this sectionHướng tới tương lai: Thế hệ tiếp theo#

Mặc dù YOLOv8 vẫn là một cỗ máy mạnh mẽ đa năng, nhưng bối cảnh AI đang di chuyển nhanh chóng. Đối với các nhóm bắt đầu dự án mới, chúng tôi đặc biệt khuyến nghị khám phá những tiến bộ mới nhất trong dòng sản phẩm Ultralytics.

Thế hệ mới nhất, YOLO26, đại diện cho đỉnh cao của AI thị giác hiện tại. Nó có thiết kế End-to-End NMS-Free, loại bỏ quá trình hậu xử lý Non-Maximum Suppression để triển khai đơn giản hơn, nhanh hơn. Với việc loại bỏ Distribution Focal Loss (DFL) và sự ra đời của bộ tối ưu hóa MuSGD lấy cảm hứng từ LLM, YOLO26 cung cấp khả năng huấn luyện ổn định hơn và inference trên CPU nhanh hơn tới 43%. Các hàm loss ProgLoss + STAL tiên tiến của nó giúp cải thiện đáng kể khả năng nhận diện đối tượng nhỏ, khiến nó trở thành lựa chọn tối ưu cho điện toán edge hiện đại và hình ảnh trên không.

Đối với người dùng chuyển đổi từ các hệ thống cũ hơn, YOLO11 đầy năng lực và YOLOv5 cổ điển vẫn được hỗ trợ đầy đủ trong hệ sinh thái Ultralytics thống nhất, đảm bảo rằng dù hạn chế về phần cứng của bạn là gì, vẫn luôn có một model hiệu năng cao, tinh gọn sẵn sàng để triển khai.

Người đóng góp

Bình luận