Chuyển đến nội dung

YOLOv8 so với YOLOv7 Sự tiến hóa kiến ​​trúc và phân tích hiệu năng

Trong lĩnh vực thị giác máy tính đang phát triển nhanh chóng, câu nói "Bạn chỉ nhìn một lần" ( YOLO Dòng mô hình YOLOv8 của Ultralytics luôn đặt ra tiêu chuẩn cho việc phát hiện đối tượng theo thời gian thực. Bài so sánh này sẽ khám phá những điểm khác biệt kỹ thuật giữa YOLOv8 UltralyticsYOLOv7 tập trung vào nghiên cứu. Mặc dù cả hai mô hình đều đại diện cho những cột mốc quan trọng trong lịch sử AI, nhưng chúng phục vụ cho các giai đoạn phát triển và nhu cầu triển khai khác nhau.

Đối với các nhà phát triển đang tìm kiếm trải nghiệm mượt mà nhất, Ultralytics Hệ sinh thái cung cấp một giao diện thống nhất. Tuy nhiên, việc hiểu được sự thay đổi kiến ​​trúc từ YOLOv7 cách tiếp cận dựa trên phép nối của 's YOLOv8 Thiết kế không cần neo của nó rất quan trọng để lựa chọn công cụ phù hợp cho các tác vụ thị giác máy tính cụ thể của bạn.

So sánh Các chỉ số Hiệu suất

Bảng dưới đây nêu bật những sự đánh đổi về hiệu năng. Nhìn chung, YOLOv8 mang lại sự cân bằng vượt trội giữa tốc độ và độ chính xác, đặc biệt khi xét đến hiệu quả của Nền tảng Ultralytics trong việc đào tạo và triển khai.

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

Ultralytics YOLOv8: Tiêu chuẩn hiện đại

YOLOv8 đánh dấu một bước ngoặt quan trọng trong YOLO Mô hình này được cải tiến bằng cách áp dụng đầu phát hiện không cần neo và kiến ​​trúc tách rời. Lựa chọn thiết kế này đơn giản hóa quá trình huấn luyện bằng cách loại bỏ nhu cầu tính toán hộp neo thủ công, giúp mô hình mạnh mẽ hơn trên nhiều tập dữ liệu khác nhau.

Chi tiết YOLOv8:

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

YOLOv8 Giới thiệu mô-đun C2f (Cross-Stage Partial Bottleneck with two convolutions), thay thế cho mô-đun C3 được sử dụng trong các phiên bản trước. Mô-đun C2f cải thiện luồng gradient và cho phép mô hình học được các biểu diễn đặc trưng phức tạp hơn trong khi vẫn duy trì đặc tính gọn nhẹ.

Một điểm mạnh chính của YOLOv8 Đó là tính linh hoạt vốn có của nó. Không giống như các kho lưu trữ cũ hơn yêu cầu các nhánh riêng biệt cho các tác vụ khác nhau, YOLOv8 Hỗ trợ phát hiện đối tượng , phân đoạn đối tượng , ước lượng tư thế , phân loạihộp giới hạn định hướng (OBB) trong một khung phần mềm duy nhất.

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

YOLOv7 Một cột mốc nghiên cứu

Được phát hành vào giữa năm 2022, YOLOv7 Nó tập trung mạnh vào tối ưu hóa kiến ​​trúc thông qua "túi quà tặng có thể huấn luyện". Điều này đã đẩy giới hạn của những gì có thể thực hiện được với các bộ dò dựa trên điểm neo vào thời điểm đó.

YOLOv7 Chi tiết:

Phương pháp kiến ​​trúc

YOLOv7 Nó sử dụng kiến ​​trúc E-ELAN (Extended Efficient Layer Aggregation Network). Thiết kế này tập trung vào việc kiểm soát các đường dẫn gradient ngắn nhất và dài nhất để cho phép mạng học hiệu quả hơn. Mặc dù có độ chính xác cao, kiến ​​trúc này phức tạp và dựa vào các hộp neo (anchor boxes), có thể yêu cầu tinh chỉnh cụ thể để đạt hiệu suất tối ưu trên dữ liệu tùy chỉnh.

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

So sánh kỹ thuật và các trường hợp sử dụng

1. Dễ sử dụng và Hệ sinh thái

Yếu tố khác biệt quan trọng nhất chính là hệ sinh thái. YOLOv8 được phân phối thông qua ultralytics Gói pip, mang đến trải nghiệm "từ con số không đến chuyên gia". Các nhà phát triển có thể truy cập mô hình được huấn luyện trước và bắt đầu tập luyện chỉ trong vài phút.

Ngược lại, YOLOv7 Về cơ bản, đây là một kho lưu trữ nghiên cứu. Mặc dù mạnh mẽ, nhưng nó thiếu API tiêu chuẩn, khả năng tích hợp liền mạch với các công cụ như TensorBoard và tài liệu hướng dẫn chi tiết. Ultralytics cung cấp.

2. Hiệu Quả Huấn Luyện và Bộ Nhớ

Ultralytics Các mô hình này nổi tiếng về hiệu quả đào tạo . YOLOv8 tối ưu hóa CUDA mức sử dụng bộ nhớ, thường cho phép kích thước lô lớn hơn so với các mô hình dựa trên Transformer hoặc các mô hình cũ hơn. YOLOv7 kiến trúc. Hiệu quả này giúp giảm chi phí điện toán đám mây và rút ngắn thời gian lặp lại.

Xuất khẩu tích hợp

Một trong những khó khăn lớn nhất trong quá trình triển khai là việc chuyển đổi mô hình. YOLOv8 Điều này được đơn giản hóa bằng một lệnh duy nhất để xuất sang ONNX , TensorRT , CoreML , Và TFLite , đảm bảo mô hình của bạn hoạt động trên mọi thiết bị biên.

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

  • Hãy chọn YOLOv8 nếu bạn cần một giải pháp sẵn sàng cho môi trường sản xuất, dễ bảo trì, hỗ trợ nhiều tác vụ thị giác máy tính (như theo dõi và phân đoạn) và dễ dàng triển khai trên các thiết bị biên như Raspberry Pi .
  • Hãy chọn YOLOv7 nếu bạn đang thực hiện nghiên cứu học thuật, đặc biệt là so sánh các kiến ​​trúc dựa trên anchor truyền thống hoặc cần tái tạo kết quả từ các bài kiểm tra chuẩn năm 2022.

Tương lai: YOLO26

Trong khi YOLOv8 Và YOLOv7 Đây là những mô hình xuất sắc, lĩnh vực này phát triển rất nhanh. Ultralytics Mới đây, YOLO26 đã được phát hành, đây là mô hình được khuyến nghị cho tất cả các dự án mới.

YOLO26 giới thiệu thiết kế End-to-End NMS -Free , loại bỏ nhu cầu xử lý hậu kỳ Non-Maximum Suppression. Điều này giúp đơn giản hóa đáng kể quy trình triển khai và giảm độ trễ. Hơn nữa, YOLO26 loại bỏ Distribution Focal Loss (DFL) và sử dụng MuSGD Optimizer — một sự kết hợp giữa... SGD và Muon được truyền cảm hứng từ quá trình huấn luyện LLM—nhằm đạt được quá trình huấn luyện ổn định và hội tụ nhanh hơn.

Với ProgLossSTAL (Soft-Target Anchor Loss), YOLO26 cung cấp khả năng suy luận CPU nhanh hơn tới 43% , trở thành lựa chọn tối ưu cho điện toán biên và phân tích thời gian thực.

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

Ví dụ mã

Cái Ultralytics API thống nhất quy trình làm việc. Bạn có thể huấn luyện một hệ thống hiện đại bậc nhất. YOLOv8 Mô hình hóa hoặc thậm chí tải các cấu hình cũ với lượng mã tối thiểu.

from ultralytics import YOLO

# Load the recommended model (YOLO26 or YOLOv8)
model = YOLO("yolov8n.pt")

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

# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

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

Đối với các nhà nghiên cứu quan tâm đến các kiến ​​trúc khác, Ultralytics Tài liệu cũng bao gồm YOLOv5 , YOLOv9YOLO11 , đảm bảo bạn có những công cụ tốt nhất cho mọi trường hợp.


Bình luận