YOLOv9 so với YOLOv8 : So sánh kỹ thuật để phát hiện đối tượng
Việc lựa chọn mô hình phát hiện đối tượng tối ưu đòi hỏi sự cân bằng giữa đổi mới kiến trúc với nhu cầu triển khai thực tế. Bài so sánh kỹ thuật này phân tích YOLOv9 , một mô hình tập trung vào nghiên cứu, giới thiệu các kỹ thuật thông tin gradient mới, và Ultralytics YOLOv8 , một nền tảng sẵn sàng cho sản xuất được thiết kế để linh hoạt và nhanh chóng. Chúng tôi xem xét kiến trúc, số liệu hiệu suất trên tập dữ liệu COCO và các trường hợp sử dụng lý tưởng của họ để giúp bạn quyết định mô hình nào phù hợp với quy trình thị giác máy tính của mình.
YOLOv9 : Xử lý mất thông tin bằng kiến trúc mới
Phát hành vào đầu năm 2024, YOLOv9 Tập trung vào vấn đề cơ bản về mất thông tin trong mạng nơ-ron sâu . Khi mạng lưới trở nên sâu hơn, dữ liệu đầu vào thiết yếu có thể biến mất trước khi đến được các lớp cuối cùng, làm phức tạp quá trình đào tạo.
- Tác giả: Chien-Yao Wang, Hong-Yuan Mark Liao
- Tổ chức: Viện Khoa học Thông tin, Viện Hàn lâm Khoa học Trung Quốc, Đài Loan
- Ngày: 2024-02-21
- Arxiv: arXiv:2402.13616
- GitHub: Kho lưu trữ YOLOv9
- Tài liệu: Tài liệu Ultralytics YOLOv9
Những đổi mới chính: PGI và GELAN
YOLOv9 giới thiệu hai tiến bộ kiến trúc chính để giải quyết tình trạng tắc nghẽn thông tin:
- Thông tin Gradient Lập trình (PGI): Một khung giám sát phụ trợ tạo ra các gradient đáng tin cậy để cập nhật trọng số mạng, đảm bảo các tương quan đầu vào chính được bảo toàn trên khắp các lớp. Điều này đặc biệt hiệu quả khi huấn luyện các mô hình rất sâu.
- Mạng tổng hợp lớp hiệu quả tổng quát (GELAN): Một kiến trúc mạng nhẹ ưu tiên hiệu quả tham số và tốc độ tính toán (FLOP). GELAN cho phép YOLOv9 để đạt được độ chính xác cao với tốc độ suy luận đáng nể.
Điểm mạnh và hạn chế
YOLOv9 xuất sắc trong các tiêu chuẩn học thuật, với YOLOv9-E biến thể đạt được cấp cao nhất mAP điểm sốĐây là một lựa chọn tuyệt vời cho các nhà nghiên cứu muốn vượt qua giới hạn về độ chính xác của việc phát hiện. Tuy nhiên, là một mô hình bắt nguồn sâu sắc từ nghiên cứu, nó thiếu sự hỗ trợ đa tác vụ rộng rãi thường thấy trong các hệ sinh thái trưởng thành hơn. Việc triển khai chính của nó tập trung vào phát hiện hộp giới hạn, và quy trình đào tạo có thể tốn nhiều tài nguyên hơn so với các giải pháp công nghiệp được tinh giản.
Ultralytics YOLOv8 : Tiêu chuẩn cho AI sản xuất
Ultralytics YOLOv8 đại diện cho một phương pháp tiếp cận toàn diện về Trí tuệ nhân tạo thị giác. Thay vì chỉ tập trung vào một số liệu duy nhất, YOLOv8 được thiết kế để mang lại trải nghiệm người dùng tốt nhất, tính linh hoạt khi triển khai và cân bằng hiệu suất. Đây là một phần của hệ sinh thái Ultralytics rộng lớn, đảm bảo hệ thống luôn mạnh mẽ và dễ sử dụng cho các nhà phát triển ở mọi trình độ.
- Tác giả: Glenn Jocher, Ayush Chaurasia, Jing Qiu
- Tổ chức: Ultralytics
- Ngày: 2023-01-10
- GitHub: Kho lưu trữ Ultralytics
- Tài liệu: Tài liệu Ultralytics YOLOv8
Ưu điểm về kiến trúc và hệ sinh thái
YOLOv8 sử dụng đầu phát hiện không có neo và xương sống C2f (Cross-Stage Partial bottleneck with 2 convolution), giúp tăng cường luồng gradient trong khi vẫn duy trì kích thước nhỏ gọn. Ngoài kiến trúc, điểm mạnh của nó nằm ở khả năng tích hợp:
- Dễ sử dụng: Với API Python thống nhất và giao diện dòng lệnh ( CLI ), việc đào tạo và triển khai một mô hình chỉ mất vài dòng mã.
- Tính linh hoạt: Không giống như các đối thủ cạnh tranh thường chỉ giới hạn ở khả năng phát hiện, YOLOv8 hỗ trợ phân đoạn trường hợp , ước tính tư thế , hộp giới hạn định hướng (OBB) và phân loại hình ảnh .
- Cân bằng hiệu suất: Nó cung cấp sự cân bằng tuyệt vời giữa độ trễ và độ chính xác, khiến nó phù hợp để suy luận thời gian thực trên các thiết bị biên như NVIDIA Jetson hoặc Raspberry Pi.
- Hiệu quả bộ nhớ: YOLOv8 thường yêu cầu ít bộ nhớ CUDA trong quá trình đào tạo so với kiến trúc dựa trên bộ biến đổi, giúp giảm rào cản gia nhập đối với phần cứng.
Quy trình làm việc tích hợp
Ultralytics các mô hình tích hợp liền mạch với các công cụ như TensorBoard để trực quan hóa và MLflow để theo dõi thử nghiệm, hợp lý hóa vòng đời MLOps.
Phân tích hiệu năng: Tốc độ, độ chính xác và hiệu quả
Việc lựa chọn giữa các mô hình thường phụ thuộc vào yêu cầu cụ thể của dự án về tốc độ so với độ chính xác thuần túy. Bảng dưới đây so sánh các biến thể tiêu chuẩn trên COCO bộ xác thực.
| Mô hình | Kích thước (pixels) | mAP giá trị 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | Tham số (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Những Điểm Chính
- Độ chính xác cao: Hàm
YOLOv9emô hình đạt được mức đáng chú ý là 55,6% mAP , vượt trộiYOLOv8x. Nếu ứng dụng của bạn yêu cầu phát hiện các đối tượng khó nhất và độ trễ chỉ là yếu tố thứ yếu, YOLOv9e là một ứng cử viên sáng giá. - Tốc độ thời gian thực: Đối với các ứng dụng phụ thuộc vào tốc độ,
YOLOv8nvàYOLOv8sthể hiện hiệu suất vượt trội.YOLOv8nđặc biệt hiệu quả đối với triển khai di động, cung cấp một giải pháp nhẹ nhàng nhưng cực kỳ nhanh chóng trên cả hai CPU Và GPU . - Mức độ sẵn sàng triển khai: Bảng nổi bật CPU ONNX tốc độ cho YOLOv8 , một số liệu quan trọng đối với những người không GPU môi trường. Tính minh bạch dữ liệu này phản ánh YOLOv8 thiết kế của cho các kịch bản triển khai rộng rãi, trong khi YOLOv9 thường được đánh giá chủ yếu trên các GPU cao cấp như V100 hoặc T4 trong bối cảnh nghiên cứu.
Đào tạo và Khả năng sử dụng
Một trong những khác biệt quan trọng nhất nằm ở trải nghiệm của nhà phát triển. Ultralytics ưu tiên phương pháp "có kèm pin".
Sự đơn giản với Ultralytics
Đào tạo một YOLOv8 Mô hình yêu cầu thiết lập tối thiểu. Thư viện xử lý việc tăng cường dữ liệu , điều chỉnh siêu tham số và tải xuống các trọng số đã được đào tạo trước một cách tự động.
from ultralytics import YOLO
# Load a pre-trained YOLOv8 model
model = YOLO("yolov8n.pt")
# Train on a custom dataset with a single command
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Độ phức tạp của nghiên cứu
Trong khi YOLOv9 được tích hợp vào Ultralytics cơ sở mã để truy cập dễ dàng hơn, các kho lưu trữ nghiên cứu ban đầu thường yêu cầu cấu hình môi trường phức tạp và quản lý siêu tham số thủ công. Hệ sinh thái được duy trì tốt của Ultralytics đảm bảo rằng liệu bạn có sử dụng YOLOv8 hoặc được chuyển YOLOv9 , bạn được hưởng lợi từ quy trình CI/CD ổn định, tài liệu đầy đủ và sự hỗ trợ của cộng đồng thông qua Discord .
Các trường hợp sử dụng lý tưởng
Chọn YOLOv9 nếu như:
- Độ chính xác tối đa là rất quan trọng: Các dự án như phân tích hình ảnh y tế (ví dụ: phát hiện khối u) trong đó mọi điểm phần trăm của mAP vấn đề.
- Nghiên cứu học thuật: Bạn đang nghiên cứu các kiến trúc mới như PGI hoặc tiến hành các nghiên cứu so sánh về hiệu quả của mạng nơ-ron .
- Môi trường tính toán cao: Mục tiêu triển khai là các máy chủ mạnh mẽ (ví dụ: NVIDIA A100) trong đó FLOP cao hơn có thể chấp nhận được.
Chọn Ultralytics YOLOv8 nếu:
- Yêu cầu nhiều nhiệm vụ khác nhau: Bạn cần thực hiện theo dõi đối tượng , phân đoạn hoặc ước tính tư thế trong một cấu trúc dự án duy nhất.
- Triển khai Edge: Các ứng dụng chạy trên phần cứng bị hạn chế, chẳng hạn như máy ảnh thông minh hoặc máy bay không người lái, nơi bộ nhớ và CPU chu kỳ khan hiếm.
- Phát triển nhanh chóng: Các công ty khởi nghiệp và nhóm doanh nghiệp cần chuyển từ khái niệm sang sản xuất nhanh chóng bằng cách sử dụng các định dạng xuất như ONNX , TensorRT , hoặc OpenVINO .
- Tính ổn định và hỗ trợ: Bạn cần một mô hình được hỗ trợ thường xuyên cập nhật và một cộng đồng lớn để khắc phục sự cố một cách hiệu quả.
Kết luận
Trong khi YOLOv9 mang đến những tiến bộ lý thuyết ấn tượng và đạt độ chính xác phát hiện cao, Ultralytics YOLOv8 vẫn là lựa chọn thiết thực hơn cho phần lớn các ứng dụng thực tế. Sự cân bằng giữa tốc độ, độ chính xác và tính linh hoạt , kết hợp với API thân thiện với người dùng và quy trình đào tạo hiệu quả, khiến nó trở thành giải pháp lý tưởng cho các nhà phát triển.
Đối với những người đang tìm kiếm thông tin mới nhất tuyệt đối trong Ultralytics Hãy cân nhắc khám phá YOLO11 , dòng sản phẩm này được tinh chỉnh hơn nữa để đạt hiệu suất tối ưu. Tuy nhiên, giữa hai mẫu máy được thảo luận ở đây, YOLOv8 cung cấp trải nghiệm hoàn thiện, sẵn sàng đưa vào sản xuất giúp đẩy nhanh quá trình từ dữ liệu đến triển khai.
Khám phá các Mô hình Khác
Nếu bạn quan tâm đến các kiến trúc khác, Ultralytics tài liệu cung cấp so sánh cho một số mô hình khác:
- RT-DETR : Máy dò dựa trên máy biến áp có độ chính xác cao nhưng có nhu cầu về nguồn lực khác nhau.
- YOLOv5 : Tiền thân huyền thoại được biết đến với tính ổn định cao và được áp dụng rộng rãi.
- YOLO11 : Phiên bản mới nhất từ Ultralytics , đẩy hiệu quả lên cao hơn nữa.