YOLOv8 so với YOLOv9 So sánh kỹ thuật toàn diện các thiết bị phát hiện vật thể thời gian thực
Sự phát triển của việc phát hiện đối tượng theo thời gian thực được đặc trưng bởi sự nỗ lực không ngừng nhằm đạt được độ chính xác cao hơn, độ trễ thấp hơn và tối ưu hóa việc sử dụng phần cứng. Hai cột mốc quan trọng trong hành trình này là Ultralytics YOLOv8 và YOLOv9 . Mặc dù cả hai mô hình đều đại diện cho những khả năng tiên tiến nhất trong lĩnh vực thị giác máy tính , nhưng chúng phục vụ cho các nhu cầu triển khai, triết lý kiến trúc và hệ sinh thái nhà phát triển khác nhau.
Hướng dẫn toàn diện này sẽ phân tích chi tiết những khác biệt về kỹ thuật, các cải tiến kiến trúc và những cân nhắc thực tiễn khi triển khai để giúp bạn lựa chọn mô hình phù hợp cho dự án trí tuệ nhân tạo tiếp theo của mình.
Nguồn gốc và triết lý cốt lõi của mô hình
Trước khi đi sâu vào các số liệu, điều quan trọng là phải hiểu nguồn gốc và mục tiêu thiết kế chính đằng sau mỗi mô hình.
Ultralytics YOLOv8 Tiêu chuẩn hệ sinh thái đa năng
Được phát hành bởi nhóm nghiên cứu tại Ultralytics , YOLOv8 Nó được thiết kế không chỉ như một công cụ phát hiện đối tượng độc lập, mà còn là một khung phần mềm đa nhiệm thống nhất. Nó ưu tiên trải nghiệm phát triển liền mạch, yêu cầu bộ nhớ thấp và khả năng tương thích phần cứng rộng.
- Tác giả: Glenn Jocher, Ayush Chaurasia, và Jing Qiu
- Tổ chức:Ultralytics
- Ngày: 2023-01-10
- GitHub:ultralytics/ultralytics
- Tài liệu:Tài liệu YOLOv8
YOLOv9: Thông tin Gradient có thể lập trình
Được phát triển độc lập bởi các nhà nghiên cứu tại Viện Hàn lâm Khoa học Trung Quốc, YOLOv9 Tập trung chủ yếu vào lý thuyết kiến trúc, đặc biệt là giải quyết hiện tượng tắc nghẽn thông tin trong mạng nơ-ron sâu.
- Tác giả: Chien-Yao Wang và Hong-Yuan Mark Liao
- Tổ chức: Viện Khoa học Thông tin, Academia Sinica, Đài Loan
- Ngày: 2024-02-21
- Arxiv:2402.13616
- GitHub:WongKinYiu/yolov9
Triển khai doanh nghiệp
Nếu bạn đang lên kế hoạch triển khai thương mại quy mô lớn, hãy cân nhắc khám phá Nền tảng Ultralytics để đơn giản hóa việc đào tạo trên đám mây, quản lý tập dữ liệu và truy cập API chỉ bằng một cú nhấp chuột.
Tìm hiểu sâu về kiến trúc
Các lựa chọn về kiến trúc trong học sâu quyết định hiệu quả học tập của mô hình và tốc độ hoạt động trên phần cứng mục tiêu như NVIDIA Jetson hoặc CPU Intel .
YOLOv8 Kiến trúc: C2f và các đầu tách rời
YOLOv8 Đã giới thiệu mô-đun C2f (Cross-Stage Partial bottleneck with two convolutions), thay thế cho mô-đun C3 cũ hơn. Thay đổi này cải thiện luồng gradient và cho phép mạng học được các biểu diễn đặc trưng phong phú hơn mà không gây quá tải cho bộ nhớ GPU .
Hơn nữa, YOLOv8 Mô hình sử dụng thiết kế không có neo với đầu tách rời . Bằng cách xử lý tính đối tượng, phân loại và hồi quy thông qua các đường dẫn riêng biệt, mô hình hội tụ nhanh hơn trong quá trình huấn luyện và khái quát hóa tốt hơn đối với các tập dữ liệu tùy chỉnh đa dạng.
YOLOv9 Kiến trúc: PGI và GELAN
YOLOv9 Giới thiệu Thông tin Độ dốc Lập trình được (PGI) và Mạng Tổng hợp Lớp Hiệu quả Tổng quát (GELAN) . PGI đảm bảo rằng dữ liệu quan trọng không bị mất khi truyền qua các lớp của mạng, cung cấp độ dốc đáng tin cậy cho việc cập nhật trọng số. GELAN tối đa hóa hiệu quả tham số, cho phép mô hình đạt được độ chính xác cao trong khi vẫn cố gắng giữ cho số phép tính (FLOPs) ở mức hợp lý.
Mặc dù ấn tượng về mặt toán học, YOLOv9 Việc dựa vào các nhánh phụ trợ có thể đảo ngược cụ thể trong quá trình huấn luyện có thể khiến mã huấn luyện trở nên phức tạp hơn khi tùy chỉnh so với các quy trình tiêu chuẩn.
Các chỉ số hiệu suất và điểm chuẩn
Bảng dưới đây cung cấp sự so sánh trực tiếp giữa các mô hình ở các kích thước khác nhau. Hiệu năng được đo trên tập dữ liệu MS COCO , một chuẩn mực thông dụng cho việc phát hiện đối tượng.
| 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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
Lưu ý: Các giá trị tốt nhất trong mỗi cột được in đậm .
Phân tích các đánh đổi
YOLOv9 đạt được độ chính xác đỉnh cao hơn một chút ( mAP ), đặc biệt là với kích thước lớn hơn của nó e biến thể. Tuy nhiên, điều này cũng có cái giá của nó. Ultralytics YOLOv8 duy trì lợi thế đáng kể trong tốc độ suy luậnđặc biệt khi được biên dịch sang các định dạng như TensorRT hoặc ONNXĐối với các ứng dụng yêu cầu tốc độ khung hình cao (FPS) trên phần cứng biên có tài nguyên hạn chế (như một...), Raspberry Pi hoặc chip di động đời cũ hơn), YOLOv8 'S n và s Các biến thể mang lại sự cân bằng hiệu năng thực tế hơn nhiều.
Hiệu quả đào tạo và sự hội nhập hệ sinh thái
Việc lựa chọn mô hình không chỉ đơn thuần là xem xét bảng độ chính xác; trải nghiệm của nhà phát triển là yếu tố quan trọng nhất.
Cái Ultralytics Ưu điểm: Dễ sử dụng
Đào tạo YOLOv9 thường yêu cầu sao chép các kho lưu trữ GitHub phức tạp, quản lý cẩn thận. PyTorch môi trường và cấu hình thủ công các trọng số tổn thất phụ trợ.
Ngược lại, Ultralytics YOLOv8 được hỗ trợ bởi một hệ thống được tinh gọn đáng kể. Python API. Được xây dựng để dễ sử dụng, nó xử lý việc tăng cường dữ liệu, ghi nhật ký (cho các công cụ như Weights & Biases và Comet ML ) và phân phối phần cứng một cách tự nhiên.
from ultralytics import YOLO
# Load a pre-trained YOLOv8 small model
model = YOLO("yolov8s.pt")
# Train the model efficiently on custom data
results = model.train(data="custom_dataset.yaml", epochs=100, imgsz=640)
# Export for edge deployment
model.export(format="engine", half=True) # TensorRT export
API duy nhất này giúp giảm đáng kể thời gian từ giai đoạn nguyên mẫu đến khi đưa vào sản phẩm. Hơn nữa, YOLOv8 thường yêu cầu mức thấp hơn CUDA bộ nhớ trong quá trình huấn luyện, cho phép các nhà phát triển sử dụng kích thước lô lớn hơn trên phần cứng cấp người tiêu dùng.
Tính linh hoạt của tác vụ
Trong khi YOLOv9 Mặc dù là một công cụ phát hiện hộp giới hạn xuất sắc, nhưng trí tuệ nhân tạo thị giác trong thế giới thực thường đòi hỏi nhiều hơn thế. YOLOv8 Đây là một công cụ mạnh mẽ và đa năng, hỗ trợ đầy đủ các chức năng Phân đoạn đối tượng , Ước tính tư thế , Phân loại hình ảnh và Hộp giới hạn định hướng (OBB) . Việc sử dụng một khung phần mềm duy nhất cho nhiều tác vụ giúp giảm đáng kể dung lượng phần mềm và chi phí bảo trì.
Mong chờ
Nếu bạn đang bắt đầu một dự án mới, bạn cũng có thể muốn đánh giá Ultralytics YOLO11 hoặc YOLO26 tiên tiến, vốn tích hợp sẵn tính năng giám sát từ đầu đến cuối. NMS - Các mẫu thiết kế miễn phí.
Các trường hợp sử dụng thực tế
Các mô hình này hoạt động như thế nào trong thực tế sản xuất?
Máy bay không người lái tự hành và robot
Đối với robot yêu cầu khả năng tránh chướng ngại vật nhanh chóng, YOLOv8 là sự lựa chọn ưu tiên. Độ trễ cực thấp của YOLOv8n Đảm bảo các hệ thống tự hành phản ứng với môi trường xung quanh trong thời gian thực, ngăn ngừa va chạm. Khả năng xuất dữ liệu gốc sang OpenVINO Và CoreML Giúp việc triển khai trở nên dễ dàng trên các chip công suất thấp thường thấy trong máy bay không người lái thương mại.
Phát hiện khuyết tật độ phân giải cao
Trong môi trường sản xuất chuyên biệt, nơi việc phát hiện các bất thường siêu nhỏ là rất quan trọng và việc xử lý ngoại tuyến được chấp nhận, YOLOv9 có thể rất hiệu quả. Kiến trúc PGI giúp mạng lưới duy trì các chi tiết hình ảnh nhỏ cần thiết để xác định các vết nứt nhỏ hoặc lỗi hàn trên mạch in.
Phân tích bán lẻ thông minh và an ninh
Để theo dõi khách hàng dọc các lối đi trong cửa hàng hoặc quản lý hệ thống thanh toán tự động , YOLOv8 mang lại sự cân bằng tốt nhất. Khả năng đồng thời thực hiện phát hiện và theo dõi nhiều đối tượng bằng các thuật toán tiêu chuẩn như BoT-SORT khiến nó trở thành một giải pháp mạnh mẽ cho các triển khai bán lẻ đa camera.
Các trường hợp sử dụng và Khuyến nghị
Lựa chọn giữa YOLOv8 Và YOLOv9 Điều này phụ thuộc vào các yêu cầu cụ thể của dự án, các ràng buộc triển khai và sở thích về hệ sinh thái của bạn.
Khi nào nên chọn YOLOv8
YOLOv8 là một lựa chọn tốt cho:
- Triển khai đa nhiệm linh hoạt: Các dự án yêu cầu một mô hình đã được chứng minh để phát hiện , phân đoạn , phân loại và ước tính tư thế trong phạm vi... Ultralytics hệ sinh thái.
- Hệ thống sản xuất hiện có: Môi trường sản xuất hiện tại đã được xây dựng trên hệ thống này. YOLOv8 kiến trúc với các quy trình triển khai ổn định, đã được kiểm thử kỹ lưỡng.
- Hỗ trợ cộng đồng và hệ sinh thái rộng rãi: Các ứng dụng được hưởng lợi từ YOLOv8 Hệ thống này có các hướng dẫn chi tiết, tích hợp với bên thứ ba và nguồn lực cộng đồng năng động.
Khi nào nên chọn YOLOv9
YOLOv9 được khuyến nghị cho:
- Nghiên cứu về tắc nghẽn thông tin: Các dự án học thuật nghiên cứu kiến trúc Thông tin Gradient có thể lập trình (PGI) và Mạng tổng hợp lớp hiệu quả tổng quát (GELAN).
- Nghiên cứu tối ưu hóa dòng gradient: Nghiên cứu tập trung vào việc hiểu và giảm thiểu sự mất mát thông tin trong các lớp mạng sâu trong quá trình huấn luyện.
- Đánh giá hiệu năng phát hiện độ chính xác cao: Các kịch bản trong đó YOLOv9 mạnh mẽ COCO Hiệu năng chuẩn là cần thiết để làm điểm tham chiếu cho việc so sánh kiến trúc.
Khi nào nên lựa chọn Ultralytics (YOLO26)
Đối với hầu hết các dự án mới, Ultralytics YOLO26 cung cấp sự kết hợp tốt nhất giữa hiệu năng và trải nghiệm dành cho nhà phát triển:
- NMS - Triển khai biên không cần can thiệp: Các ứng dụng yêu cầu suy luận nhất quán, độ trễ thấp mà không cần sự phức tạp của quá trình xử lý hậu kỳ loại bỏ cực đại không cần can thiệp (Non-Maximum Suppression).
- Môi trường chỉ sử dụng CPU : Các thiết bị không có bộ xử lý chuyên dụng. GPU khả năng tăng tốc, trong đó YOLO26 nhanh hơn tới 43%. CPU Suy luận mang lại lợi thế quyết định.
- Phát hiện vật thể nhỏ: Các tình huống đầy thách thức như ảnh chụp từ máy bay không người lái hoặc phân tích cảm biến IoT, nơi ProgLoss và STAL giúp tăng đáng kể độ chính xác trong việc phát hiện các vật thể siêu nhỏ.
Bước tiến tiếp theo: YOLO26
Trong khi YOLOv8 Và YOLOv9 Với sức mạnh ngày càng tăng, lĩnh vực trí tuệ nhân tạo (AI) đang phát triển rất nhanh chóng. Đối với các nhóm yêu cầu hiệu năng tốt nhất tuyệt đối, YOLO26 mới ra mắt được xây dựng dựa trên những thành công của các thế hệ trước.
YOLO26 giới thiệu thiết kế hoàn toàn không cần NMS , giúp loại bỏ hoàn toàn các nút thắt cổ chai phức tạp trong quá trình xử lý hậu kỳ, làm cho việc triển khai đơn giản hơn và độ trễ dễ dự đoán hơn. Được thúc đẩy bởi Trình tối ưu hóa MuSGD mới và các hàm mất mát ProgLoss + STAL được cải tiến, cùng với việc loại bỏ DFL (Distribution Focal Loss được loại bỏ để đơn giản hóa việc xuất dữ liệu và cải thiện khả năng tương thích với thiết bị biên/công suất thấp), nó đạt được tốc độ suy luận CPU nhanh hơn tới 43% đồng thời tăng cường khả năng nhận dạng đối tượng nhỏ. Đối với các nhà phát triển đang khai thác tối đa giới hạn của điện toán biên, việc đánh giá YOLO26 rất được khuyến khích.
Tóm lại, trong khi YOLOv9 Với khả năng nghiên cứu kiến trúc hấp dẫn và độ chính xác đỉnh cao tuyệt vời, Ultralytics YOLOv8 vẫn là lựa chọn thiết thực, được hỗ trợ tốt và linh hoạt nhất cho phần lớn các kỹ sư thị giác máy tính muốn nhanh chóng phát hành phần mềm đáng tin cậy.