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 Ultralytics và YOLOv7 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ình | Kích thước (pixels) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | Tham số (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.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:
- Tác giả: Glenn Jocher, Ayush Chaurasia, và Jing Qiu
- Tổ chức:Ultralytics
- Ngày: 2023-01-10
- GitHub:Kho lưu trữ Ultralytics
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ại và hộp giới hạn định hướng (OBB) trong một khung phần mềm duy nhất.
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:
- 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:YOLOv7: Trainable bag-of-freebies sets new state-of-the-art
- GitHub:WongKinYiu/yolov7
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.
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 ProgLoss và STAL (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.
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 , YOLOv9 và YOLO11 , đảm bảo bạn có những công cụ tốt nhất cho mọi trường hợp.