YOLOv8 so với PP-YOLOE+: So sánh kỹ thuật
Khi lựa chọn một mô hình phát hiện đối tượng, các nhà phát triển phải cân nhắc sự đánh đổi giữa độ chính xác, tốc độ suy luận và tính dễ triển khai. Trang này cung cấp một so sánh kỹ thuật chi tiết giữa hai mô hình mạnh mẽ: Ultralytics YOLOv8, một mô hình linh hoạt và được áp dụng rộng rãi từ Ultralytics, và PP-YOLOE+, một mô hình có độ chính xác cao từ Baidu. Chúng ta sẽ đi sâu vào sự khác biệt về kiến trúc, điểm chuẩn hiệu suất và các trường hợp sử dụng lý tưởng của chúng để giúp bạn xác định sự phù hợp nhất cho các dự án thị giác máy tính của mình.
Ultralytics YOLOv8: Tính linh hoạt và hiệu năng
Ultralytics YOLOv8 là một mô hình hiện đại được phát triển bởi Ultralytics, dựa trên sự thành công của các phiên bản YOLO trước đó. Nó được thiết kế như một framework thống nhất để huấn luyện các mô hình cho nhận diện đối tượng, phân vùng thể hiện, phân loại ảnh, ước tính dáng điệu và hơn thế nữa. Sự kết hợp giữa hiệu suất, tính linh hoạt và dễ sử dụng đã khiến nó trở thành lựa chọn hàng đầu của các nhà phát triển và nhà nghiên cứu.
Tác giả: Glenn Jocher, Ayush Chaurasia, và Jing Qiu
Tổ chức: Ultralytics
Ngày: 2023-01-10
GitHub: https://github.com/ultralytics/ultralytics
Tài liệu: https://docs.ultralytics.com/models/yolov8/
Kiến trúc và các tính năng chính
YOLOv8 có thiết kế không neo với backbone C2f mới, giúp tăng cường khả năng trích xuất đặc trưng đồng thời vẫn giữ được sự gọn nhẹ. Nó được xây dựng nguyên bản trong PyTorch, giúp nó có tính truy cập cao và dễ sửa đổi.
Một ưu điểm chính của YOLOv8 nằm ở hệ sinh thái Ultralytics được duy trì tốt. Nó cung cấp trải nghiệm người dùng được sắp xếp hợp lý thông qua API Python và CLI đơn giản, tài liệu mở rộng và hỗ trợ cộng đồng tích cực. Mô hình này rất linh hoạt, hỗ trợ nhiều tác vụ thị giác trong một framework duy nhất, một tính năng thường thiếu ở các mô hình chuyên dụng hơn. Hơn nữa, YOLOv8 thể hiện hiệu quả huấn luyện tuyệt vời, với thời gian huấn luyện nhanh hơn và yêu cầu bộ nhớ thấp hơn so với nhiều lựa chọn thay thế. Việc tích hợp với Ultralytics HUB giúp đơn giản hóa toàn bộ quy trình MLOps, từ gắn nhãn dữ liệu đến triển khai.
Điểm mạnh
- Cân bằng hiệu suất tuyệt vời: Mang lại sự cân bằng tốt giữa tốc độ và độ chính xác, phù hợp với nhiều ứng dụng, từ thiết bị biên đến máy chủ đám mây.
- Tính linh hoạt: Một framework mô hình duy nhất hỗ trợ phát hiện, phân đoạn, phân loại, ước tính dáng điệu và hộp giới hạn định hướng, mang lại sự linh hoạt vô song.
- Dễ sử dụng: API thân thiện với người dùng, tài liệu toàn diện và một cộng đồng lớn, tích cực giúp bạn dễ dàng bắt đầu và khắc phục sự cố.
- Hệ sinh thái được duy trì tốt: Hưởng lợi từ các bản cập nhật liên tục, các tính năng mới và tích hợp liền mạch với các công cụ MLOps như Weights & Biases và Comet.
- Deployment Flexibility (Tính linh hoạt khi triển khai): Dễ dàng xuất sang nhiều định dạng khác nhau như ONNX, TensorRT và OpenVINO, cho phép suy luận được tối ưu hóa trên các phần cứng khác nhau.
Điểm yếu
- Mặc dù có tính cạnh tranh cao, mô hình PP-YOLOE+ lớn nhất có thể đạt được mAP cao hơn một chút trên tập dữ liệu COCO, mặc dù phải trả giá bằng số lượng tham số lớn hơn đáng kể và suy luận chậm hơn.
Các Trường hợp Sử dụng
Hiệu suất cân bằng và tính linh hoạt của YOLOv8 khiến nó trở nên lý tưởng cho:
- Phân tích video theo thời gian thực: Cung cấp năng lượng cho hệ thống an ninh, giám sát giao thông và quản lý đám đông.
- Tự động hóa công nghiệp: Tự động hóa kiểm soát chất lượng trong sản xuất và cải thiện hậu cần kho bãi.
- Phân tích bán lẻ: Nâng cao quản lý hàng tồn kho và phân tích hành vi khách hàng.
- Chăm sóc sức khỏe: Hỗ trợ trong phân tích hình ảnh y tế cho các tác vụ như phát hiện khối u.
PP-YOLOE+: Độ chính xác cao trong hệ sinh thái PaddlePaddle
PP-YOLOE+ là một mô hình phát hiện đối tượng được phát triển bởi Baidu như một phần của bộ PaddleDetection của họ. Nó là một detector không neo, một giai đoạn, tập trung vào việc đạt được độ chính xác cao trong khi vẫn duy trì hiệu quả hợp lý. Mô hình này được xây dựng trên PaddlePaddle framework deep learning.
Tác giả: Nhóm tác giả PaddlePaddle
Tổ chức: Baidu
Ngày: 02-04-2022
Arxiv: https://arxiv.org/abs/2203.16250
GitHub: https://github.com/PaddlePaddle/PaddleDetection/
Tài liệu: https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.8.1/configs/ppyoloe/README.md
Kiến trúc và các tính năng chính
PP-YOLOE+ giới thiệu một số cải tiến kiến trúc, bao gồm một decoupled head cho phân loại và hồi quy, và một hàm mất mát chuyên biệt gọi là Task Alignment Learning (TAL). Nó sử dụng các backbone như ResNet hoặc CSPRepResNet kết hợp với một Path Aggregation Network (PAN) neck để kết hợp đặc trưng hiệu quả. Những lựa chọn thiết kế này đóng góp vào độ chính xác cao của nó, đặc biệt là ở các biến thể mô hình lớn hơn.
Điểm mạnh
- Độ chính xác cao: Mô hình lớn nhất, PP-YOLOE+x, đạt được điểm mAP rất cao trên chuẩn COCO.
- Thiết kế không neo hiệu quả: Đơn giản hóa quy trình phát hiện bằng cách loại bỏ nhu cầu về các hộp neo được xác định trước.
- Tối ưu hóa cho PaddlePaddle: Được tích hợp chặt chẽ với hệ sinh thái PaddlePaddle, đây có thể là một lợi thế cho các nhà phát triển đã sử dụng framework này.
Điểm yếu
- Phụ thuộc Framework: Sự phụ thuộc chủ yếu vào framework PaddlePaddle hạn chế khả năng tiếp cận của nó đối với cộng đồng lớn hơn, nơi phần lớn sử dụng PyTorch.
- Tính linh hoạt hạn chế: PP-YOLOE+ chủ yếu là một trình phát hiện đối tượng và thiếu sự hỗ trợ đa nhiệm tích hợp cho phân đoạn, phân loại và ước tính tư thế có trong YOLOv8.
- Mức sử dụng tài nguyên cao hơn: Như được hiển thị trong bảng hiệu suất, các mô hình PP-YOLOE+ thường có nhiều tham số hơn và FLOP cao hơn so với các mô hình YOLOv8 tương ứng để có mức độ chính xác tương tự.
- Hệ sinh thái kém mở rộng hơn: Hỗ trợ từ cộng đồng, tài liệu và tích hợp của bên thứ ba không toàn diện như những gì có sẵn cho Ultralytics YOLOv8.
Các Trường hợp Sử dụng
PP-YOLOE+ rất phù hợp cho các ứng dụng mà việc đạt được độ chính xác tối đa là ưu tiên hàng đầu và nhóm phát triển đã được chuẩn hóa trên framework PaddlePaddle.
- Phát hiện lỗi công nghiệp: Xác định các sai sót nhỏ trong sản xuất, nơi độ chính xác là rất quan trọng.
- Nghiên cứu khoa học chuyên biệt: Các dự án đòi hỏi độ chính xác phát hiện cao nhất có thể trên các bộ dữ liệu cụ thể.
- Tự động hóa bán lẻ: Các tác vụ có độ chính xác cao như hệ thống thanh toán tự động.
Phân tích hiệu năng và điểm chuẩn
So sánh hiệu suất dưới đây làm nổi bật những khác biệt chính giữa YOLOv8 và PP-YOLOE+. Mặc dù PP-YOLOE+x đạt được mAP cao nhất, nhưng nó thực hiện điều đó với số lượng tham số nhiều hơn 44% so với YOLOv8x. Ngược lại, các mô hình YOLOv8 liên tục thể hiện hiệu quả vượt trội, mang lại tốc độ tốt hơn và yêu cầu tài nguyên thấp hơn. Ví dụ: YOLOv8n nhanh hơn đáng kể trên CPU và GPU so với bất kỳ mô hình PP-YOLOE+ nào trong khi sử dụng ít tham số và FLOPs nhất. Hiệu quả này làm cho YOLOv8 trở thành một lựa chọn thiết thực hơn cho việc triển khai trong thế giới thực, đặc biệt là trên các thiết bị biên bị hạn chế về tài nguyên.
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 |
PP-YOLOE+t | 640 | 39.9 | - | 2.84 | 4.85 | 19.15 |
PP-YOLOE+s | 640 | 43.7 | - | 2.62 | 7.93 | 17.36 |
PP-YOLOE+m | 640 | 49.8 | - | 5.56 | 23.43 | 49.91 |
PP-YOLOE+l | 640 | 52.9 | - | 8.36 | 52.2 | 110.07 |
PP-YOLOE+x | 640 | 54.7 | - | 14.3 | 98.42 | 206.59 |
Kết luận: Bạn nên chọn mô hình nào?
Đối với phần lớn các nhà phát triển và ứng dụng, Ultralytics YOLOv8 là lựa chọn vượt trội. Nó cung cấp sự cân bằng vượt trội giữa tốc độ, độ chính xác và hiệu quả tài nguyên mà khó có thể đánh bại. Tuy nhiên, sức mạnh thực sự của nó nằm ở tính linh hoạt và hệ sinh thái mạnh mẽ xung quanh nó. Khả năng xử lý nhiều tác vụ thị giác máy tính trong một khuôn khổ duy nhất, dễ sử dụng, kết hợp với tài liệu mở rộng, hỗ trợ cộng đồng tích cực và tích hợp MLOps liền mạch, làm cho YOLOv8 trở thành một công cụ vô cùng mạnh mẽ và thiết thực.
PP-YOLOE+ là một mô hình đáng khen ngợi, vượt qua các giới hạn về độ chính xác trong framework PaddlePaddle. Đây là một lựa chọn khả thi cho các nhóm đã đầu tư vào hệ sinh thái Baidu hoặc cho các ứng dụng thích hợp, nơi việc tận dụng tối đa phần trăm cuối cùng trong mAP là mục tiêu duy nhất, bất kể chi phí về kích thước mô hình và tính linh hoạt của framework.
Tóm lại, nếu bạn đang tìm kiếm một mô hình linh hoạt, nhanh chóng và dễ sử dụng, được hỗ trợ tốt và có thể thích ứng với nhiều tác vụ khác nhau, thì YOLOv8 là lựa chọn rõ ràng.
Khám phá các Mô hình Khác
Nếu bạn quan tâm đến việc khám phá các mô hình hiện đại khác, hãy nhớ xem các trang so sánh khác của chúng tôi: