YOLOv5 so với YOLOv8 Sự tiến hóa của Ultralytics Phát hiện thời gian thực
Lĩnh vực thị giác máy tính đã phát triển nhanh chóng, chủ yếu nhờ vào sự đổi mới liên tục trong ngành. YOLO (You Only Look Once) là một họ các bộ phát hiện đối tượng. Hai phiên bản có ảnh hưởng nhất trong dòng này là YOLOv5 và YOLOv8 , cả hai đều được phát triển bởi Ultralytics . Trong khi YOLOv5 Khi ra mắt vào năm 2020, sản phẩm này đã thiết lập tiêu chuẩn ngành về tính dễ sử dụng và tính linh hoạt. YOLOv8 (Ra mắt năm 2023) đã giới thiệu những đột phá về kiến trúc, định nghĩa lại hiệu năng tiên tiến nhất.
Hướng dẫn này cung cấp so sánh kỹ thuật chuyên sâu để giúp các nhà phát triển, nhà nghiên cứu và kỹ sư lựa chọn mô hình phù hợp với nhu cầu ứng dụng cụ thể của họ, đồng thời nêu bật những tiến bộ mới nhất trong lĩnh vực này, chẳng hạn như YOLO26 .
Ultralytics YOLOv5: Tiêu chuẩn Công nghiệp
Được phát hành vào tháng 6 năm 2020, YOLOv5 đánh dấu một thời điểm quan trọng trong quá trình dân chủ hóa trí tuệ nhân tạo. Không giống như các thế hệ tiền nhiệm, chủ yếu được viết bằng ngôn ngữ C (Darknet), YOLOv5 Đây là bản triển khai PyTorch gốc đầu tiên, giúp nó trở nên cực kỳ dễ tiếp cận với người dùng. Python cộng đồng nhà phát triển.
Các tính năng và kiến trúc chính
YOLOv5 Được đánh giá cao nhờ sự cân bằng giữa tốc độ, độ chính xác và thiết kế thân thiện với người dùng. Kiến trúc của nó đã mang đến một số cải tiến quan trọng so với YOLOv4:
- Mạng trục CSPDarknet: Sử dụng các kết nối một phần giữa các giai đoạn để cải thiện luồng gradient và giảm số lượng tham số.
- Hộp neo tự học: Tự động học kích thước hộp neo tối ưu cho tập dữ liệu tùy chỉnh trước khi quá trình huấn luyện bắt đầu.
- Tăng cường dữ liệu bằng kỹ thuật ghép ảnh (Mosaic Data Augmentation): Một kỹ thuật huấn luyện kết hợp bốn hình ảnh thành một, nâng cao khả năng của mô hình. detect các đối tượng nhỏ hơn và cải thiện khả năng khái quát hóa ngữ cảnh.
Thông số kỹ thuật:
- Tác giả: Glenn Jocher
- Tổ chức:Ultralytics
- Ngày: 2020-06-26
- GitHub:ultralytics/yolov5
Ultralytics YOLOv8 Định nghĩa về công nghệ tiên tiến nhất
Ra mắt vào tháng 1 năm 2023, YOLOv8 đại diện cho một bước tiến đáng kể trong công nghệ thị giác máy tính. Nó đã loại bỏ phương pháp phát hiện dựa trên điểm neo được sử dụng trong các hệ thống trước đây. YOLOv5 hướng tới thiết kế không cần neo, đơn giản hóa quá trình học tập và cải thiện khả năng khái quát hóa trên các hình dạng đối tượng khác nhau.
Đổi mới Kiến trúc
YOLOv8 đã giới thiệu hàng loạt kỹ thuật hiện đại giúp tăng cả tốc độ và độ chính xác:
- Phát hiện không cần neo: Loại bỏ nhu cầu cấu hình hộp neo thủ công, dự đoán trực tiếp tâm đối tượng. Điều này làm giảm số lượng dự đoán hộp và tăng tốc độ loại bỏ cực đại cục bộ (Non-Maximum Suppression). NMS ).
- Mô-đun C2f: Thay thế mô-đun C3 từ YOLOv5 , cung cấp luồng gradient phong phú hơn và điều chỉnh số lượng kênh để trích xuất đặc điểm tốt hơn.
- Phân tách đầu xử lý: Tách biệt các nhiệm vụ xác định đối tượng, phân loại và hồi quy thành các nhánh khác nhau, cho phép mỗi nhánh hội tụ hiệu quả hơn.
- Tính linh hoạt trong tác vụ: Được thiết kế từ đầu để hỗ trợ không chỉ phát hiện đối tượng mà còn cả phân đoạn đối tượng , ước lượng tư thế , phân loại và OBB (Oriented Bounding Box).
Thông số kỹ thuật:
- Tác giả: Glenn Jocher, Ayush Chaurasia, và Jing Qiu
- Tổ chức:Ultralytics
- Ngày: 2023-01-10
- GitHub:ultralytics/ultralytics
So sánh hiệu suất
Khi so sánh hai cường quốc này, rõ ràng là YOLOv8 thường có hiệu suất vượt trội YOLOv5 về độ chính xác ( mAP và độ trễ trên phần cứng tương đương. Tuy nhiên, YOLOv5 Đây vẫn là một mô hình có khả năng cao và cực kỳ hiệu quả đối với các hệ thống cũ.
Bảng dưới đây nêu bật hiệu năng trên tập dữ liệu COCO . Các giá trị được in đậm cho biết hiệu năng tốt nhất trong mỗi hạng mục.
| 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) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| 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 |
Phân tích
YOLOv8n (Nano) đạt được hiệu quả cao hơn đáng kể mAP (37,3) so với YOLOv5n (28,0) chỉ với mức tăng nhỏ về số lượng tham số. Sự cải thiện hiệu quả này giúp YOLOv8 Sự lựa chọn tối ưu cho các ứng dụng biên hiện đại, nơi mà từng phần trăm độ chính xác đều quan trọng.
Đào tạo và Hệ sinh thái
Cả hai mô hình đều được hưởng lợi rất nhiều từ hệ sinh thái Ultralytics , vốn ưu tiên tính dễ sử dụng .
Quy trình đào tạo được đơn giản hóa
Sự chuyển đổi từ YOLOv5 ĐẾN YOLOv8 cũng giới thiệu một hệ thống thống nhất. CLI Và Python API hỗ trợ tất cả các tác vụ. Trong khi đó YOLOv5 dựa vào các kịch bản cụ thể (ví dụ: train.py, detect.py), YOLOv8 và các mô hình tiếp theo như YOLO26 Sử dụng cấu trúc đóng gói dạng mô-đun.
YOLOv5 Đào tạo:
python train.py --img 640 --batch 16 --epochs 50 --data coco128.yaml --weights yolov5s.pt
YOLOv8 Đào tạo:
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640
Cái Ultralytics Lợi thế nền tảng
Cả hai mô hình đều tích hợp liền mạch với Nền tảng Ultralytics . Điều này cho phép người dùng hình dung các lần chạy huấn luyện, quản lý tập dữ liệu và thực hiện xuất mô hình chỉ bằng một cú nhấp chuột sang các định dạng như ONNX , TensorRT và... CoreML mà không cần viết các đoạn mã chuyển đổi phức tạp.
Các trường hợp sử dụng và Khuyến nghị
Việc lựa chọn giữa hai mô hình này phụ thuộc vào các yêu cầu cụ thể của bạn, mặc dù các mô hình mới hơn thường được khuyến nghị cho các dự án mới.
Các kịch bản lý tưởng cho YOLOv5
- Hệ thống kế thừa: Các dự án đã được tích hợp sâu với... YOLOv5 Mã nguồn có chi phí chuyển đổi cao.
- Hỗ trợ phần cứng cụ thể: Một số bộ tăng tốc AI biên đời cũ có thể có nhân được tối ưu hóa cao, được tinh chỉnh đặc biệt cho mục đích này. YOLOv5 Cấu trúc lớp cụ thể của nó.
- Tính đơn giản: Chỉ nhằm mục đích giáo dục, cấu trúc dựa trên kịch bản rõ ràng của... YOLOv5 Kho lưu trữ này có thể giúp người mới bắt đầu dễ dàng phân tích từng dòng mã hơn.
Các kịch bản lý tưởng cho YOLOv8
- Yêu cầu độ chính xác cao: Các ứng dụng như chụp ảnh y tế hoặc kiểm tra chất lượng, nơi việc phát hiện các chi tiết nhỏ là vô cùng quan trọng.
- Học tập đa nhiệm: Các dự án yêu cầu phân đoạn hoặc ước lượng tư thế cùng với phát hiện.
- Đảm bảo tính bền vững trong tương lai: Các nhà phát triển khi bắt đầu dự án mới nên lựa chọn YOLOv8 (hoặc phiên bản mới hơn) để đảm bảo hỗ trợ lâu dài và khả năng tương thích với các công cụ triển khai mới nhất.
Tương lai: Ultralytics YOLO26
Trong khi YOLOv5 Và YOLOv8 Các phần mềm này đều rất xuất sắc, và lĩnh vực này vẫn tiếp tục phát triển. Đối với các nhà phát triển đang tìm kiếm hiệu năng tối ưu nhất vào năm 2026, chúng tôi đặc biệt khuyên dùng Ultralytics YOLO26 .
Tại sao nên chọn YOLO26? YOLO26 kế thừa những ưu điểm của phiên bản v5 và v8 nhưng mang đến những thay đổi mang tính cách mạng về tốc độ và hiệu quả:
- NMS từ đầu đến cuối - Miễn phí: Bằng cách loại bỏ nhu cầu về Non-Maximum Suppression ( ) NMS ), YOLO26 đơn giản hóa logic triển khai và giảm độ trễ suy luận, một khái niệm được tiên phong trong YOLOv10 .
- Bộ tối ưu hóa MuSGD: Một bộ tối ưu hóa lai mang lại sự ổn định cho quá trình huấn luyện LLM vào các mô hình thị giác, đảm bảo sự hội tụ nhanh hơn.
- Được tối ưu hóa cho Edge: Với tính năng loại bỏ DFL và các tính năng cụ thể khác. CPU Nhờ các tối ưu hóa, YOLO26 chạy nhanh hơn tới 43% trên CPU so với các thế hệ trước.
- Khả năng phát hiện vật thể nhỏ vượt trội: Các chức năng ProgLoss và STAL mới cải thiện đáng kể hiệu suất đối với các mục tiêu nhỏ, rất quan trọng đối với hình ảnh máy bay không người lái và các ứng dụng IoT .
Kết luận
Cả hai YOLOv5 Và YOLOv8 Chúng đại diện cho những thành tựu to lớn trong lịch sử thị giác máy tính. YOLOv5 vẫn là một công cụ đáng tin cậy, tiêu tốn ít bộ nhớ cho nhiều ứng dụng hiện có, được đánh giá cao về tính ổn định và mức tiêu thụ tài nguyên thấp trong quá trình huấn luyện. Tuy nhiên, YOLOv8 cung cấp tính linh hoạt vượt trội, độ chính xác cao hơn và thiết kế kiến trúc hiện đại hơn, phù hợp với các xu hướng nghiên cứu hiện nay.
Đối với những người yêu cầu công nghệ tiên tiến nhất, việc hướng tới YOLO26 hoặc YOLO11 sẽ mang lại lợi ích lớn hơn nữa về tốc độ và độ chính xác. Cuối cùng, hệ sinh thái mạnh mẽ Ultralytics đảm bảo rằng dù bạn chọn mô hình nào, bạn đều có các công cụ, tài liệu và sự hỗ trợ từ cộng đồng để thành công.
Ví dụ mã: Chạy suy luận
Trải nghiệm sự đơn giản của... Ultralytics API. Đoạn mã này hoạt động cho YOLOv8 , YOLO11 và các mẫu YOLO26 có thể sử dụng thay thế cho nhau.
from ultralytics import YOLO
# Load a pretrained model (choose yolov8n.pt or yolo26n.pt)
model = YOLO("yolov8n.pt")
# Run inference on an image from the web
results = model("https://ultralytics.com/images/bus.jpg")
# Process results list
for result in results:
boxes = result.boxes # Boxes object for bbox outputs
masks = result.masks # Masks object for segmentation masks
keypoints = result.keypoints # Keypoints object for pose outputs
probs = result.probs # Probs object for classification outputs
result.show() # display to screen
result.save(filename="result.jpg") # save to disk
Để biết thêm chi tiết về cách tích hợp các mô hình này vào quy trình làm việc của bạn, hãy truy cập Hướng dẫn Bắt đầu Nhanh của chúng tôi.