PP-YOLOE+ so với YOLOX: So sánh phát hiện vật thể không cần neo nâng cao
Việc lựa chọn kiến trúc phát hiện đối tượng tối ưu đòi hỏi sự hiểu biết sâu sắc về sự đánh đổi giữa độ chính xác, tốc độ suy luận và độ phức tạp khi triển khai. Hướng dẫn này cung cấp so sánh kỹ thuật giữa PP-YOLOE+ , một bộ phát hiện cấp công nghiệp của Baidu, và YOLOX , một mô hình không neo hiệu suất cao của Megvii. Cả hai kiến trúc đều đánh dấu những cột mốc quan trọng trong quá trình chuyển đổi sang bộ phát hiện không neo , mang đến các giải pháp mạnh mẽ cho các kỹ sư thị giác máy tính.
PP-YOLOE+: Sự xuất sắc trong công nghiệp từ Baidu
PP-YOLOE+ là phiên bản nâng cấp của PP-YOLOE, được phát triển bởi nhóm tác giả PaddlePaddle tại Baidu . Ra mắt vào tháng 4 năm 2022, PP-YOLOE+ là một phần của bộ PaddleDetection toàn diện. Được thiết kế đặc biệt cho các ứng dụng công nghiệp, PP-YOLOE+ tối ưu hóa sự cân bằng giữa hiệu quả đào tạo và độ chính xác suy luận, tận dụng PaddlePaddle khả năng của khung.
Chi tiết kỹ thuật:
- Tác giả: Các tác giả của PaddlePaddle
- Tổ chức: Baidu
- Date: 2022-04-02
- Liên kết Arxiv: PP-YOLOE: Phiên bản phát triển của YOLO
- Liên kết GitHub: Kho lưu trữ PaddleDetection
- Liên kết tài liệu: Tài liệu PP-YOLOE+
Kiến trúc và các tính năng chính
PP-YOLOE+ tạo nên sự khác biệt thông qua một số cải tiến về kiến trúc nhằm tối đa hóa hiệu suất trên nhiều phần cứng khác nhau:
- Xương sống có khả năng mở rộng: Sử dụng CSPRepResNet , một xương sống kết hợp sức mạnh trích xuất tính năng của Mạng dư thừa với hiệu quả của các kết nối một phần giai đoạn chéo (CSP).
- Học căn chỉnh nhiệm vụ (TAL): Một cải tiến quan trọng là việc sử dụng TAL, một hàm mất mát chuyên biệt có chức năng căn chỉnh động các nhiệm vụ phân loại và định vị, đảm bảo rằng điểm số tin cậy cao nhất tương ứng với các hộp giới hạn chính xác nhất.
- Đầu hiệu quả theo nhiệm vụ (ET-Head): Mô hình sử dụng đầu không có mỏ neo giúp đơn giản hóa thiết kế đầu phát hiện , giảm chi phí tính toán trong khi vẫn duy trì độ chính xác cao.
Điểm mạnh và Điểm yếu
PP-YOLOE+ là giải pháp mạnh mẽ cho các tình huống triển khai cụ thể nhưng đi kèm với những hạn chế về hệ sinh thái.
Điểm mạnh:
- Độ chính xác hiện đại: Mô hình đạt được kết quả đặc biệt trên tập dữ liệu COCO , với biến thể PP-YOLOE+x đạt mAP 54,7% , phù hợp với các tác vụ có độ chính xác cao như phát hiện lỗi .
- Hiệu quả suy luận: Thông qua các tối ưu hóa như hợp nhất toán tử trong PaddlePaddle khuôn khổ, nó cung cấp tốc độ cạnh tranh trên GPU phần cứng, đặc biệt là đối với các mô hình có kích thước lớn hơn.
Điểm yếu:
- Sự phụ thuộc vào khung: Sự phụ thuộc chính vào hệ sinh thái PaddlePaddle có thể là rào cản đối với các nhóm được chuẩn hóa trên PyTorch hoặc TensorFlow .
- Độ phức tạp của việc triển khai: Chuyển các mô hình này sang các công cụ suy luận khác (như ONNX Thời gian chạy hoặc TensorRT ) thường yêu cầu các công cụ chuyển đổi cụ thể có thể không hỗ trợ tất cả các toán tử tùy chỉnh có sẵn.
YOLOX: Người tiên phong không cần neo
YOLOX được giới thiệu vào năm 2021 bởi các nhà nghiên cứu tại Megvii . Nó ngay lập tức thu hút sự chú ý nhờ việc tách rời đầu phát hiện và loại bỏ các neo - một động thái giúp đơn giản hóa đáng kể quy trình đào tạo so với trước đây. YOLO lặp lại. YOLOX đã thu hẹp khoảng cách giữa nghiên cứu hàn lâm và ứng dụng thực tế trong công nghiệp, ảnh hưởng đến nhiều kiến trúc phát hiện đối tượng sau này.
Chi tiết kỹ thuật:
- Tác giả: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, và Jian Sun
- Tổ chức: Megvii
- Date: 2021-07-18
- Liên kết Arxiv: YOLOX: Vượt qua chuỗi YOLO năm 2021
- Liên kết GitHub: Kho lưu trữ YOLOX
- Liên kết tài liệu: Tài liệu YOLOX
Kiến trúc và các tính năng chính
YOLOX đã giới thiệu triết lý thiết kế "pro-anchor-free" cho YOLO gia đình:
- Đầu tách rời: Không giống như đầu truyền thống YOLO Các đầu thực hiện phân loại và định vị trong các nhánh ghép nối, YOLOX tách biệt các nhiệm vụ này. Việc tách rời này cải thiện tốc độ hội tụ và độ chính xác cuối cùng.
- Gán nhãn SimOTA: YOLOX sử dụng SimOTA (Gán nhãn vận chuyển tối ưu đơn giản), một chiến lược gán nhãn động tự động chọn các mẫu dương tính tốt nhất cho mỗi đối tượng thực tế, giảm nhu cầu điều chỉnh siêu tham số phức tạp.
- Cơ chế không có điểm neo: Bằng cách loại bỏ các hộp neo được xác định trước, YOLOX giảm số lượng tham số thiết kế 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, đặc biệt là đối với những đối tượng có tỷ lệ khung hình cực đại.
Điểm mạnh và Điểm yếu
Điểm mạnh:
- Sự đơn giản trong triển khai: Việc loại bỏ các điểm neo và sử dụng tiêu chuẩn PyTorch các hoạt động làm cho cơ sở mã tương đối dễ hiểu và dễ sửa đổi cho mục đích nghiên cứu.
- Nền tảng vững chắc: Đây là nền tảng tuyệt vời cho nghiên cứu học thuật về các kỹ thuật đào tạo nâng cao và sửa đổi kiến trúc.
Điểm yếu:
- Hiệu suất lão hóa: Mặc dù mang tính cách mạng vào năm 2021, các số liệu hiệu suất thô của nó (đánh đổi tốc độ/độ chính xác) đã bị vượt qua bởi các mẫu mới hơn như YOLOv8 và YOLO11 .
- Cường độ tài nguyên đào tạo: Các chiến lược phân công nâng cao như SimOTA có thể tăng khối lượng tính toán trong giai đoạn đào tạo so với các phương pháp phân công tĩnh đơn giản hơn.
Hỗ trợ di sản
Mặc dù YOLOX vẫn được sử dụng rộng rãi trong nghiên cứu, các nhà phát triển đang tìm kiếm sự hỗ trợ lâu dài và các bản cập nhật tích cực có thể thấy kiến trúc mới hơn có lợi hơn cho môi trường sản xuất.
So sánh hiệu suất kỹ thuật
Khi lựa chọn giữa PP-YOLOE+ và YOLOX, các số liệu hiệu suất trên các chuẩn mực chuẩn mực cung cấp cơ sở khách quan nhất cho việc ra quyết định. Dữ liệu sau đây nêu bật hiệu suất của chúng 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) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
Phân tích
- Ưu thế về độ chính xác: PP-YOLOE+ luôn vượt trội hơn YOLOX trên các kích thước mô hình tương đương. Mô hình PP-YOLOE+x đạt mAP 54,7% , cải thiện đáng kể so với 51,1% của YOLOX-x.
- Hiệu quả: PP-YOLOE+ chứng minh hiệu quả tham số vượt trội. Ví dụ,
sbiến thể đạt độ chính xác cao hơn (43,7% so với 40,5%) trong khi sử dụng ít tham số hơn (7,93M so với 9,0M) và FLOP. - Tốc độ suy luận: Trong khi YOLOX vẫn cạnh tranh ở quy mô nhỏ hơn, PP-YOLOE+ mở rộng tốt hơn trên GPU phần cứng (T4 TensorRT ), cung cấp tốc độ nhanh hơn cho các mẫu máy lớn và cực lớn mặc dù có độ chính xác cao hơn.
Ultralytics YOLO11 : Tiêu chuẩn hiện đại
Mặc dù PP-YOLOE+ và YOLOX là những công cụ phát hiện có năng lực, nhưng bối cảnh thị giác máy tính đang phát triển nhanh chóng. Đối với các nhà phát triển đang tìm kiếm sự kết hợp tối ưu giữa hiệu suất, khả năng sử dụng và hỗ trợ hệ sinh thái, Ultralytics YOLO11 là lựa chọn tiên tiến nhất.
Tại sao nên chọn Ultralytics YOLO11?
- Dễ sử dụng: Không giống như thiết lập phức tạp thường được yêu cầu cho các kho lưu trữ nghiên cứu hoặc các công cụ dành riêng cho khuôn khổ, YOLO11 cung cấp một API Python hợp lý và CLI . Bạn có thể chuyển từ cài đặt sang suy luận chỉ trong vài giây.
- Hệ sinh thái được duy trì tốt: Ultralytics Các mô hình được hỗ trợ bởi một hệ sinh thái mạnh mẽ bao gồm các bản cập nhật thường xuyên, tài liệu mở rộng và tích hợp liền mạch với các công cụ MLOps.
- Cân bằng hiệu suất: YOLO11 được thiết kế để cung cấp sự cân bằng thuận lợi giữa tốc độ và độ chính xác, thường vượt trội hơn các thế hệ trước với yêu cầu bộ nhớ thấp hơn trong cả quá trình đào tạo và suy luận.
- Tính linh hoạt: Trong khi PP-YOLOE+ và YOLOX chủ yếu tập trung vào việc phát hiện hộp giới hạn, YOLO11 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 trong một khuôn khổ duy nhất.
- Hiệu quả đào tạo: Ultralytics các mô hình được tối ưu hóa để đào tạo hiệu quả, sử dụng các phần tăng cường nâng cao và trọng số được đào tạo sẵn có để giảm thời gian và tính toán tài nguyên cần thiết để đạt được sự hội tụ.
Ví dụ thực tế
Triển khai phát hiện đối tượng với YOLO11 rất trực quan. Ví dụ sau đây minh họa cách tải một mô hình đã được đào tạo trước và thực hiện suy luận trên một hình ảnh:
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Perform inference on a local image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
Sự đơn giản này trái ngược hoàn toàn với cấu hình nhiều bước thường được yêu cầu đối với các kiến trúc khác, cho phép các nhà phát triển tập trung vào việc giải quyết các vấn đề kinh doanh thay vì vật lộn với mã.
Kết luận
Cả PP-YOLOE+ và YOLOX đều có những đóng góp đáng kể cho lĩnh vực thị giác máy tính. PP-YOLOE+ là một lựa chọn tuyệt vời cho những người tích hợp sâu vào Baidu PaddlePaddle hệ sinh thái đòi hỏi độ chính xác công nghiệp cao. YOLOX vẫn là cơ sở đáng tin cậy cho các nhà nghiên cứu đang tìm hiểu các phương pháp không neo.
Tuy nhiên, đối với phần lớn các dự án mới, Ultralytics YOLO11 cung cấp gói giải pháp hấp dẫn nhất. Sự kết hợp giữa hiệu suất tiên tiến, mức sử dụng bộ nhớ thấp và trải nghiệm lập trình viên vượt trội khiến nó trở thành lựa chọn ưu việt cho việc triển khai các giải pháp suy luận thời gian thực có khả năng mở rộng.