YOLOv7 vs YOLOv8: So sánh kỹ thuật giữa các bộ dò thời gian thực

Sự phát triển nhanh chóng của thị giác máy tính đã tạo ra một loạt công cụ mạnh mẽ cho các nhà phát triển và nhà nghiên cứu. Khi quyết định chọn kiến trúc phù hợp cho đường ống phát hiện đối tượng, việc so sánh các model đã được thiết lập là rất cần thiết. Hướng dẫn kỹ thuật này cung cấp thông tin chuyên sâu về kiến trúc, chỉ số hiệu suất và các trường hợp sử dụng lý tưởng của hai model có sức ảnh hưởng lớn: YOLOv7 và Ultralytics YOLOv8.

Giới thiệu về kiến trúc

Cả hai model đều thể hiện những bước nhảy vọt đáng kể về hiệu suất, nhưng chúng tiếp cận thách thức tối ưu hóa mạng nơ-ron sâu từ các triết lý cấu trúc khác nhau.

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

Được giới thiệu vào giữa năm 2022, YOLOv7 tập trung mạnh vào tối ưu hóa đường dẫn gradient kiến trúc và khái niệm "túi quà tặng có thể huấn luyện" để đẩy giới hạn phát hiện thời gian thực trên phần cứng cao cấp.

Điểm nổi bật về kiến trúc: YOLOv7 chủ yếu sử dụng phần đầu phát hiện dựa trên neo (mặc dù đã thử nghiệm với các nhánh không cần neo) và giới thiệu Extended Efficient Layer Aggregation Networks (E-ELAN). Thiết kế này cải thiện khả năng học của mạng mà không phá hủy đường dẫn gradient ban đầu. Nó hoạt động đặc biệt hiệu quả trên các GPU cấp máy chủ, khiến nó rất phù hợp cho phân tích video hạng nặng.

Điểm mạnh và điểm yếu: Trong khi YOLOv7 đạt được độ trễ tuyệt vời trên phần cứng chuyên dụng, hệ sinh thái của nó lại bị phân mảnh cao. Việc huấn luyện đòi hỏi các đối số dòng lệnh phức tạp, nhân bản thủ công repository và quản lý phụ thuộc nghiêm ngặt trong PyTorch. Hơn nữa, yêu cầu bộ nhớ trong quá trình huấn luyện có thể là rào cản trên phần cứng người dùng phổ thông.

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

Ultralytics YOLOv8: Tiêu chuẩn linh hoạt

Ra mắt vào đầu năm 2023, YOLOv8 đã định nghĩa lại hoàn toàn trải nghiệm của nhà phát triển, không chỉ tập trung vào độ chính xác tiên tiến mà còn cung cấp một framework thống nhất, sẵn sàng cho sản xuất.

Điểm nổi bật về kiến trúc: YOLOv8 giới thiệu phần đầu phát hiện không cần neo (anchor-free) gốc, loại bỏ nhu cầu cấu hình thủ công các khung neo dựa trên tập dữ liệu MS COCO hoặc phân phối dữ liệu tùy chỉnh. Nó tích hợp module C2f để cải thiện luồng gradient và sử dụng cấu trúc đầu tách biệt để phân tách các tác vụ về đối tượng, phân loại và hồi quy. Điều này giúp tăng tốc độ hội tụ và cải thiện độ chính xác đáng kể.

Điểm mạnh và điểm yếu: YOLOv8 tự hào với hiệu suất Yêu cầu bộ nhớ vượt trội. Nó yêu cầu ít bộ nhớ CUDA hơn đáng kể trong quá trình huấn luyện so với YOLOv7 và các model Transformer nặng hơn, cho phép các nhà phát triển sử dụng batch size lớn hơn. Điểm mạnh chính nằm ở Tính linh hoạt, hỗ trợ nguyên bản phân đoạn cá thể, phân loại ảnh, ước tính tư thếOriented Bounding Boxes (OBB). Nhược điểm nhỏ duy nhất là các đường ống cũ chuyên biệt được xây dựng dành riêng cho các tensor YOLOv7 có thể cần một khoảng thời gian tái cấu trúc ngắn.

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

Ưu thế hệ sinh thái

Ultralytics YOLOv8 hưởng lợi từ một hệ sinh thái được duy trì tốt. Với API Python trực quan, sự phát triển tích cực và cộng đồng hỗ trợ mạnh mẽ, việc đưa một model từ kiểm thử cục bộ lên triển khai toàn cầu chỉ tốn một phần thời gian so với các repository độc lập.

So sánh chi tiết về hiệu suất

Bảng dưới đây phân tích các chỉ số hiệu suất trên các kích thước model chính. Hãy chú ý đến Sự cân bằng hiệu suất đặc biệt mà YOLOv8 đạt được, tối ưu hóa mạnh mẽ cho suy luận nhanh trên thiết bị biên trong khi vẫn duy trì độ chính xác đẳng cấp thế giới.

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

Lưu ý: YOLOv8x đạt mAP cao nhất trong nhóm này, trong khi YOLOv8n chiếm ưu thế về hiệu suất tham số và tốc độ suy luận, khiến nó trở thành nhà vô địch không thể tranh cãi cho việc triển khai thị giác máy tính trên các thiết bị AI biên.

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

Khi nói đến Sự dễ sử dụng, Ultralytics YOLOv8 hoạt động ở một đẳng cấp riêng. Các kiến trúc cũ hơn như YOLOv7 yêu cầu nhân bản các repository cụ thể và chạy các tập lệnh dòng lệnh dài dòng để cấu hình tập dữ liệu và đường dẫn.

Ngược lại, gói ultralytics của YOLOv8 cung cấp trải nghiệm nhà phát triển cực kỳ tinh gọn. Hiệu quả huấn luyện được tối đa hóa thông qua việc tự động tải xuống dữ liệu, trọng số tiền huấn luyện sẵn sàng sử dụng và các khả năng xuất dữ liệu liền mạch sang các định dạng như ONNXTensorRT.

Đây là cách bạn có thể dễ dàng tải, huấn luyện và chạy suy luận bằng cách sử dụng API Python của Ultralytics:

from ultralytics import YOLO

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

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

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

# Display the predictions
predictions[0].show()
Theo dõi thử nghiệm

YOLOv8 tích hợp nguyên bản với các công cụ MLOps phổ biến như Weights & BiasesClearML, cho phép bạn giám sát việc tinh chỉnh siêu tham số và các chỉ số huấn luyện trong thời gian thực.

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

Việc lựa chọn giữa các kiến trúc này thường phụ thuộc vào những hạn chế cụ thể của môi trường triển khai của bạn.

Khi nào nên chọn YOLOv7

  • Benchmarking kế thừa: Phù hợp cho các nhà nghiên cứu cần một đường cơ sở cố định để so sánh với các tiêu chuẩn kiến trúc của năm 2022.
  • Cơ sở hạ tầng nặng đã có từ trước: Các môi trường đầu tư mạnh vào GPU NVIDIA V100 hoặc A100 nơi các cấu hình tensor cụ thể của YOLOv7 được nhúng sâu vào đường ống C++ cũ.

Khi nào nên chọn YOLOv8

  • Sản xuất đa nền tảng: Lý tưởng cho các nhóm cần triển khai liền mạch trên các GPU đám mây, thiết bị di động và trình duyệt.
  • Yêu cầu đa tác vụ: Nếu dự án của bạn cần vượt ra ngoài các khung bao và tận dụng các mặt nạ phân đoạn cá thể phong phú hoặc điểm khóa tư thế.
  • Thiết bị biên hạn chế tài nguyên: YOLOv8 Nano (yolov8n) cung cấp tỷ lệ độ chính xác trên tốc độ đáng kinh ngạc cho robot, máy bay không người lái và các cảm biến IoT.

Nhìn về tương lai: Bước nhảy vọt thế hệ tới YOLO26

Trong khi YOLOv8 vẫn là một lựa chọn cực kỳ mạnh mẽ, lĩnh vực thị giác máy tính đang di chuyển rất nhanh. Đối với các nhà phát triển bắt đầu hoàn toàn các dự án mới, hiệu suất cao, Ultralytics gần đây đã giới thiệu thế hệ model AI tiếp theo. Rất khuyến khích khám phá cả YOLO11 được tinh chỉnh sâu sắc và YOLO26 mới ra mắt.

Ra mắt vào tháng 1 năm 2026, YOLO26 đẩy lùi các giới hạn của những gì có thể thực hiện trên thiết bị biên:

  • Thiết kế End-to-End NMS-Free: YOLO26 hoạt động nguyên bản theo kiểu end-to-end, loại bỏ hoàn toàn việc hậu xử lý Non-Maximum Suppression (NMS). Điều này đảm bảo các đường ống triển khai đơn giản hơn, nhanh hơn đáng kể mà không gặp các nút thắt cổ chai về độ trễ của các model dự đoán dày đặc truyền thống.
  • Loại bỏ DFL: Bằng cách loại bỏ Distribution Focal Loss, YOLO26 đạt được các tùy chọn triển khai model đơn giản hơn nhiều và khả năng tương thích với thiết bị biên vượt trội.
  • Suy luận CPU nhanh hơn tới 43%: Được tối ưu hóa mạnh mẽ cho các môi trường hạn chế như Raspberry Pi và các hệ thống nhúng, vượt qua tất cả các thế hệ trước về thông lượng CPU.
  • Trình tối ưu hóa MuSGD: Lấy cảm hứng từ các mô hình huấn luyện Large Language Model (LLM), YOLO26 kết hợp giữa SGD và Muon. Điều này mang lại sự ổn định khi huấn luyện chưa từng có và khả năng hội tụ nhanh như chớp.
  • ProgLoss + STAL: Những hàm mất mát nâng cao này mang lại những cải tiến đáng kể trong việc nhận dạng vật thể nhỏ, điều cực kỳ quan trọng cho hình ảnh trên không, nông nghiệp tự động và robot.

Cho dù bạn đang mở rộng quy mô lên các cụm phân tích video khổng lồ với YOLOv8 hay đẩy suy luận đến các thiết bị biên nhỏ bé với YOLO26 tiên tiến, Ultralytics Platform cung cấp các công cụ để quản lý toàn bộ vòng đời AI của bạn một cách liền mạch.

Bình luận