Chuyển đến nội dung

YOLOv8 so với YOLOv7: So sánh kỹ thuật toàn diện

Lĩnh vực thị giác máy tính 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 của những gì có thể đạt được trong phát hiện đối tượng thời gian thực. Trong bài phân tích chuyên sâu này, chúng ta sẽ so sánh hai mô hình có ảnh hưởng lớn: Ultralytics YOLOv8YOLOv7 . Cả hai mô hình đều đã tác động đáng kể đến cộng đồng nhà phát triển và nghiên cứu học thuật, cung cấp các phương pháp tiếp cận độc đáo để giải quyết các nhiệm vụ thị giác phức tạp.

Hiểu rõ sự khác biệt về cấu trúc và phương pháp giữa hai mô hình này là điều vô cùng quan trọng đối với các kỹ sư máy học muốn tối ưu hóa quy trình triển khai của họ. Trong khi đó, YOLOv7 đã giới thiệu một phương pháp "túi quà tặng miễn phí" mạnh mẽ được thiết kế riêng cho hiệu suất xử lý 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 trong đa nhiệm.

Ultralytics YOLOv8 Tiêu chuẩn hệ sinh thái đa năng

Được phát hành bởi Ultralytics đầu năm 2023, YOLOv8 Nó đánh dấu một sự thay đổi lớn về kiến ​​trúc so với các thế hệ trước. Nó được thiết kế từ đầu để không chỉ là một bộ phát hiện đối tượng thời gian thực; nó là một khung phần mềm thống nhất có khả năng xử lý nhiều tác vụ thị giác khác nhau ngay từ đầu.

Đổi mới Kiến trúc

YOLOv8 Giới thiệu một đầu phát hiện không cần neo cải tiến. Điều này về cơ bản đơn giản hóa 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 hộp neo dựa trên phân bố cụ thể của tập dữ liệu tùy chỉnh của bạn. Lựa chọn thiết kế này làm cho mô hình trở nên mạnh mẽ hơn và dễ dàng khái quát hóa trên các môi trường khác nhau.

Ngoài ra, kiến ​​trúc này còn tích hợp mô-đun C2f (Cross-Stage Partial bottleneck with two convolutions), một nâng cấp cấu trúc giúp cải thiện luồng gradient và cho phép mạng nơ-ron 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 mô hình hoạt động hiệu quả cao khi chạy suy luận thông qua các framework học sâu tiêu chuẩn như PyTorch .

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

Hiệu quả bộ nhớ

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

YOLOv7: Phương pháp "Bag-of-Freebies"

YOLOv7 Phương pháp này được giới thiệu vào giữa năm 2022 và nhanh chóng trở thành một chuẩn mực 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 Khoa học Thông tin, Academia Sinica, Đài Loan
  • Ngày: 2022-07-06
  • Arxiv:2207.02696
  • GitHub:WongKinYiu/yolov7

Đổi mới Kiến trúc

YOLOv7 Mô hình này sử dụng Mạng tổng hợp lớp hiệu quả mở rộng (E-ELAN) , cho phép nó liên tục học hỏi nhiều đặc trưng đa dạng hơn. Nó dựa nhiều vào mô hình dựa trên điểm neo và giới thiệu một "túi quà tặng miễn phí" 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í suy luận.

Trong khi YOLOv7 Đạt được hiệu suất xuất sắc trên các bộ dữ liệu chuẩn học thuật như bộ dữ liệu MS COCO , kiến ​​trúc của nó được tối ưu hóa mạnh mẽ cho các bộ tăng tốc cấp máy chủ. Việc xuất và triển khai các mô hình này lên các thiết bị biên đôi khi có thể yêu cầu cấu hình thủ công nhiều hơn so với các khung công tác hiện đại và tinh gọn hơn.

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

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

Khi đánh giá các mô hình này, sự cân bằng giữa tốc độ, độ chính xác và kích thước mô hình là yếu tố quan trọng hàng đầu. Bảng dưới đây nêu bật các chỉ số của cả hai mô hình.

Mô hìnhKích thước
(pixels)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
Tham số
(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ư số liệu đã chỉ ra, YOLOv8x đạt độ chính xác tuyệt đối cao nhất ( 53,9 mAP ), trong khi biến thể nano ( YOLOv8n (Nó) cung cấp tốc độ suy luận vượt trội và dung lượng bộ nhớ cực kỳ nhỏ. Sự đa dạng này làm cho YOLOv8 Khả năng thích ứng cao hơn nhiều với môi trường phần cứng hạn chế.

Cái Ultralytics Ưu điểm: Dễ sử dụng và hệ sinh thái

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

Tính Đa Năng Vượt Trội

YOLOv7 Đây chủ yếu là một mô hình phát hiện, với các nhánh thử nghiệm cho các nhiệm vụ khác. Ngược lại, YOLOv8 Hỗ trợ sẵn các chức năng Phát hiện đối tượng , Phân đoạn đối tượng , Phân loại hình ảnh , Ước tính tư thếHộp giới hạn định hướng (OBB) . Cách 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ó cho các yêu cầu dự án hoàn toàn khác nhau.

Quy trình triển khai và tích hợp được tối ưu hóa.

Việc xuất mô hình để sản xuất thường có thể là một điểm nghẽn. Ultralytics Gói này cho phép các nhà phát triển xuất ra các định dạng như ONNX , TensorRT và... CoreML với một dòng duy nhất Python mã. Điều này giúp tránh các vấn đề hỗ trợ người vận hành đôi khi gặp phải khi xuất các đồ thị phức tạp dựa trên neo.

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 tra triển khai trên Hugging Face Spaces , thì... Ultralytics Hệ sinh thái đảm nhiệm phần việc nặng nhọc.

Ví dụ mã: Huấn luyện và xuất dữ liệu YOLOv8

Đoạn mã sau đây minh họa sự đơn giản của... Ultralytics Python API. Bạn có thể chuyển từ việc khởi tạo mô hình đến huấn luyện và xuất mô hình để triển khai trên thiết bị biên chỉ với chưa đến mười dòng mã.

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 triển khai

Sử dụng model.export() Chức năng này cung cấp một cầu nối trực tiếp đến các công cụ suy luận 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 máy chủ đám mây có thông lượng cao.

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

Sự khác biệt về kiến ​​trúc giữa hai mô hình quyết định các kịch bản triển khai lý tưởng của chúng.

Khi nào nên lựa chọn YOLOv8 :

  • AI biên và thiết bị IoT: Sự có sẵn của các mẫu Nano và Small siêu nhanh giúp YOLOv8 Hoàn hảo cho các thiết bị phần cứng có khả năng xử lý hạn chế, chẳng hạn như camera thông minh hoặc máy bay không người lái.
  • Dự án đa nhiệm: Nếu quy trình của bạn yêu cầu theo dõi các khớp của con người (Ước tính tư thế) đồng thời lập bản đồ các chướng ngại vật (Phân đoạn), YOLOv8 Nó xử lý việc này một cách tự nhiên.
  • Từ nguyên mẫu nhanh đến sản xuất hàng loạt: Tài liệu Ultralytics đầy đủ và quy trình vận hành trơn tru. Python API cho phép các nhóm đưa sản phẩm ra thị trường nhanh hơn.

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

  • So sánh chuẩn mực học thuật: Các nhà nghiên cứu nghiên cứu về tác động của các kỹ thuật tái tham số hóa thường sử dụng YOLOv7 như một tiêu chuẩn cơ bản, được phản ánh qua mức độ phổ biến của nó trên Papers With Code .
  • Các đường dẫn xử lý máy chủ cũ: Nếu một đường dẫn xử lý tính toán nặng hiện có đã được tối ưu hóa nghiêm ngặt xung quanh YOLOv7 Với các đầu ra neo cụ thể của nó, việc duy trì nó có thể khả thi trong ngắn hạn.

Nhìn về phía trước: Thế hệ tiếp theo

Trong khi YOLOv8 Mặc dù AI vẫn là một công cụ mạnh mẽ và đa năng, nhưng lĩnh vực AI đang phát triển rất 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 bạn nên tìm hiểu những tiến bộ mới nhất trong lĩnh vực này. Ultralytics đội hình.

Thế hệ mới nhất, YOLO26 , đại diện cho đỉnh cao của trí tuệ nhân tạo thị giác hiện nay. Nó sở hữu thiết kế không cần NMS từ đầu đến cuối , loại bỏ quá trình xử lý hậu kỳ loại bỏ cực đại không tương thích (Non-Maximum Suppression - NMS) để triển khai đơn giản và nhanh hơn. Với việc loại bỏ tổn thất tiêu điểm phân tán (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à tốc độ nhanh hơn tới 43%. CPU Suy luận. Các hàm mất mát ProgLoss + STAL tiên tiến của nó cải thiện đáng kể khả năng nhận dạng vật thể nhỏ, biến nó trở thành lựa chọn tối ưu cho điện toán biên hiện đại và ảnh chụp từ trên không.

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


Bình luận