PP-YOLOE+ vs YOLOX: Tìm hiểu sự phát triển của các bộ phát hiện đối tượng thời gian thực
Bối cảnh của thị giác máy tính đã được định hình đáng kể bởi sự phát triển nhanh chóng của các mô hình phát hiện đối tượng. Trong số những cột mốc đáng chú ý trong hành trình này là PP-YOLOE+ và YOLOX, hai kiến trúc đã đẩy giới hạn về hiệu suất và độ chính xác thời gian thực. Hiểu rõ các sắc thái kiến trúc, sự đánh đổi hiệu suất và các kịch bản triển khai lý tưởng là rất quan trọng đối với các nhà nghiên cứu và nhà phát triển đang xây dựng thế hệ tiếp theo của các hệ thống nhận diện thị giác.
Nguồn gốc và thông tin chi tiết về model
Trước khi đi sâu vào các kiến trúc kỹ thuật, việc đặt bối cảnh cho nguồn gốc của cả hai mô hình là rất hữu ích. Mỗi mô hình được phát triển để giải quyết các nút thắt cụ thể trong phát hiện đối tượng, chịu ảnh hưởng nặng nề bởi các tổ chức hỗ trợ chúng.
Chi tiết về PP-YOLOE+:
- Tác giả: Các tác giả của PaddlePaddle
- Tổ chức: Baidu
- Ngày: 2022-04-02
- Arxiv: https://arxiv.org/abs/2203.16250
- GitHub: https://github.com/PaddlePaddle/PaddleDetection/
- Tài liệu: PaddleDetection PP-YOLOE+ README
Chi tiết về YOLOX:
- Tác giả: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li và Jian Sun
- Tổ chức: Megvii
- Ngày: 2021-07-18
- Arxiv: https://arxiv.org/abs/2107.08430
- GitHub: https://github.com/Megvii-BaseDetection/YOLOX
- Tài liệu: Tài liệu chính thức của YOLOX
Đổi mới kiến trúc
Sự khác biệt cốt lõi giữa hai bộ phát hiện này nằm ở cách tiếp cận trích xuất đặc trưng và dự đoán bounding box.
YOLOX đã tạo nên làn sóng vào năm 2021 bằng cách thích ứng thành công dòng YOLO sang thiết kế không cần neo (anchor-free). Bằng cách loại bỏ các hộp neo (anchor boxes), YOLOX đã giảm đáng kể số lượng tham số thiết kế và việc tinh chỉnh theo kinh nghiệm cần thiết cho các tập dữ liệu tùy chỉnh. Hơn nữa, nó đã giới thiệu một phần đầu tách rời (decoupled head), giúp phân tách các tác vụ phân loại và định vị thành các đường dẫn thần kinh riêng biệt. Sự tách biệt này đã giải quyết xung đột cố hữu giữa việc phân loại một đối tượng và hồi quy các tọa độ không gian của nó, dẫn đến quá trình hội tụ nhanh hơn trong quá trình huấn luyện.
PP-YOLOE+, được phát triển bởi Baidu, được tối ưu hóa mạnh mẽ cho hệ sinh thái PaddlePaddle. Nó xây dựng dựa trên phiên bản tiền nhiệm, PP-YOLOv2, bằng cách giới thiệu chiến lược gán nhãn động (TAL) và một backbone mới có tên là CSPRepResNet. Backbone này tận dụng quá trình tái tham số hóa cấu trúc (structural re-parameterization), cho phép mô hình hưởng lợi từ các kiến trúc đa nhánh phức tạp trong quá trình huấn luyện trong khi vẫn chuyển đổi liền mạch thành một mạng đường dẫn đơn, tốc độ cao để suy luận.
Tái tham số hóa cấu trúc cho phép một mô hình huấn luyện với nhiều nhánh song song (cải thiện luồng gradient) và sau đó tính toán để gộp các nhánh đó thành một lớp tích chập duy nhất để triển khai, giúp tăng tốc độ suy luận mà không làm giảm độ chính xác.
So sánh hiệu suất và các chỉ số
Khi so sánh trực diện các mô hình này, có thể thấy rõ rằng chúng phục vụ các mục đích hơi khác nhau trong phổ hiệu suất. PP-YOLOE+ thường đạt độ chính xác tuyệt đối cao hơn, trong khi YOLOX vượt trội trong việc cung cấp các biến thể cực kỳ nhẹ phù hợp cho phần cứng bị hạn chế tài nguyên cao.
| Model | kích thước (pixels) | mAPval 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 |
Lưu ý: Các giá trị có hiệu suất tốt nhất trong mỗi phân khúc cột liên quan được làm nổi bật bằng chữ đậm.
Trong khi YOLOX cung cấp các biến thể nano và tiny tiêu tốn rất ít dung lượng đĩa hoặc bộ nhớ CUDA, PP-YOLOE+ có khả năng mở rộng cực tốt lên phần cứng cấp máy chủ, khiến nó trở thành một lựa chọn mạnh mẽ cho các ứng dụng công nghiệp nặng trong hệ sinh thái Baidu.
Ứng dụng trong thế giới thực
Việc lựa chọn giữa các framework này thường phụ thuộc vào các yêu cầu tích hợp và mục tiêu phần cứng.
Nơi YOLOX vượt trội
Do bản chất không cần neo và sự sẵn có của các biến thể cực nhẹ, YOLOX rất phổ biến trong robot và triển khai trên vi điều khiển. Quy trình hậu xử lý đơn giản của nó cho phép chuyển đổi dễ dàng hơn sang các định dạng phần cứng NPU tùy chỉnh như TensorRT và NCNN.
Nơi PP-YOLOE+ vượt trội
Đối với các tổ chức tích hợp sâu vào các trung tâm sản xuất tại châu Á đang sử dụng bộ công nghệ của Baidu, PP-YOLOE+ cung cấp một lộ trình được tối ưu hóa sẵn để triển khai. Nó tỏa sáng trong các kịch bản kiểm tra chất lượng độ chính xác cao chạy trên các giá đỡ máy chủ mạnh mẽ nơi các ràng buộc thời gian thực nghiêm ngặt cho phép trọng số mô hình nặng hơn một chút.
Các trường hợp sử dụng và khuyến nghị
Việc lựa chọn giữa PP-YOLOE+ và YOLOX phụ thuộc vào yêu cầu dự án cụ thể, các hạn chế triển khai và tùy chọn hệ sinh thái của bạn.
Khi nào nên chọn PP-YOLOE+
PP-YOLOE+ là lựa chọn mạnh mẽ cho:
- Tích hợp hệ sinh thái PaddlePaddle: Các tổ chức có hạ tầng hiện có được xây dựng trên framework và công cụ PaddlePaddle của Baidu.
- Triển khai Edge với Paddle Lite: Triển khai lên phần cứng với các nhân inference được tối ưu hóa cao dành riêng cho công cụ Paddle Lite hoặc Paddle inference.
- Nhận diện độ chính xác cao phía máy chủ: Các kịch bản ưu tiên độ chính xác nhận diện tối đa trên các máy chủ GPU mạnh mẽ, nơi sự phụ thuộc vào framework không phải là vấn đề.
Khi nào nên chọn YOLOX
YOLOX được khuyến nghị cho:
- Nghiên cứu nhận diện không dùng anchor: Nghiên cứu học thuật sử dụng kiến trúc không dùng anchor sạch sẽ của YOLOX làm cơ sở để thử nghiệm với các head nhận diện hoặc hàm loss mới.
- Thiết bị Edge siêu nhẹ: Triển khai trên các vi điều khiển hoặc phần cứng di động cũ nơi mà dấu chân cực nhỏ của biến thể YOLOX-Nano (0.91 triệu tham số) là rất quan trọng.
- Nghiên cứu về gán nhãn SimOTA: Các dự án nghiên cứu điều tra các chiến lược gán nhãn dựa trên vận chuyển tối ưu và tác động của chúng đến sự hội tụ trong quá trình training.
Khi nào nên 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 suất và trải nghiệm nhà phát triển:
- Triển khai Edge không cần NMS: Các ứng dụng yêu cầu suy luận ổn định, độ trễ thấp mà không cần sự phức tạp của việc hậu xử lý Non-Maximum Suppression.
- Môi trường chỉ sử dụng CPU: Các thiết bị không có GPU tăng tốc chuyên dụng, nơi tốc độ suy luận trên CPU nhanh hơn tới 43% của YOLO26 mang lại lợi thế quyết định.
- Nhận diện đối tượng nhỏ: Các kịch bản thách thức như ảnh drone trên không hoặc phân tích cảm biến IoT nơi ProgLoss và STAL tăng cường đáng kể độ chính xác trên các đối tượng cực nhỏ.
Lợi thế của Ultralytics: Giới thiệu YOLO26
Trong khi PP-YOLOE+ và YOLOX đại diện cho các cột mốc nghiên cứu xuất sắc, bối cảnh triển khai hiện đại đòi hỏi một trải nghiệm gắn kết, thân thiện với nhà phát triển hơn với hiệu suất vượt trội. Đây là nơi Ultralytics YOLO26 định nghĩa lại hoàn toàn tiêu chuẩn cho AI thị giác hiện đại.
Đối với các đội ngũ muốn chuyển đổi từ các kho lưu trữ nghiên cứu riêng lẻ sang các hệ thống sẵn sàng cho sản xuất, Ultralytics cung cấp một hệ sinh thái mạnh mẽ, được duy trì tốt. Việc huấn luyện một mô hình không còn yêu cầu cấu hình các môi trường phức tạp nữa; nó đơn giản như việc truy cập vào một Python API thống nhất.
Các ưu điểm chính của Ultralytics YOLO26 bao gồm:
- Thiết kế End-to-End không cần NMS: Không giống như cả PP-YOLOE+ và YOLOX, vốn yêu cầu Non-Maximum Suppression (NMS) để lọc các bounding box trùng lặp, YOLO26 là end-to-end một cách tự nhiên. Điều này loại bỏ các nút thắt về độ trễ và đơn giản hóa đáng kể logic triển khai.
- Suy luận trên CPU nhanh hơn tới 43%: Bằng cách loại bỏ chiến lược Distribution Focal Loss (DFL) một cách chiến lược, YOLO26 đạt được tốc độ suy luận chưa từng có trên phần cứng CPU, khiến nó vượt trội hơn hẳn cho điện toán biên và các thiết bị năng lượng thấp.
- Trình tối ưu hóa MuSGD: Lấy cảm hứng từ Kimi K2 của Moonshot AI, trình tối ưu hóa lai này mang lại sự ổn định khi huấn luyện LLM cho thị giác máy tính, đảm bảo quá trình hội tụ nhanh hơn nhiều và giảm thiểu yêu cầu bộ nhớ trong các giai đoạn huấn luyện.
- ProgLoss + STAL: Các hàm mất mát (loss functions) tiên tiến này mang lại những cải tiến đáng kể trong việc nhận diện đối tượng nhỏ, một tính năng quan trọng cho hoạt động của drone và hình ảnh trên không có độ chi tiết cao.
- Tính linh hoạt: Trong khi PP-YOLOE+ và YOLOX tập trung thuần túy vào phát hiện, YOLO26 xử lý liền mạch phân đoạn đối tượng, ước tính tư thế và Oriented Bounding Boxes (OBB) bằng cách sử dụng chính xác cú pháp trực quan đó.
Huấn luyện hợp lý với Ultralytics
Hiệu quả bộ nhớ và tốc độ huấn luyện của các mô hình Ultralytics là vô song, hoàn toàn vượt trội so với các lựa chọn thay thế dựa trên Transformer vốn yêu cầu chi phí bộ nhớ CUDA cực lớn. Bạn có thể tận dụng sức mạnh của YOLO26 chỉ trong vài dòng mã:
from ultralytics import YOLO
# Load the highly efficient, end-to-end YOLO26 nano model
model = YOLO("yolo26n.pt")
# Train on a custom dataset with built-in auto-batching and MuSGD optimization
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model's performance
metrics = model.val()
# Export seamlessly to ONNX or TensorRT
model.export(format="engine")Đối với các nhóm đang tìm kiếm một giải pháp không cần lập trình (no-code), Nền tảng Ultralytics cung cấp khả năng huấn luyện dựa trên đám mây, chú thích tập dữ liệu tích hợp và triển khai bằng một cú nhấp chuột cho tất cả các mô hình YOLO của bạn.
Kết luận
Cả PP-YOLOE+ và YOLOX đều đã giành được vị trí trong lịch sử thị giác máy tính, lần lượt mang đến độ chính xác cao và thiết kế không cần neo nhẹ nhàng. Tuy nhiên, đối với các tổ chức xây dựng tương lai của AI trong nông nghiệp, thành phố thông minh và bán lẻ, việc bảo trì liên tục, tính dễ sử dụng và kiến trúc không cần NMS tự nhiên của Ultralytics YOLO26 biến nó thành lựa chọn không thể tranh cãi.
Nếu bạn đang khám phá các kiến trúc thay thế cho các benchmark cụ thể, bạn cũng có thể tìm thấy giá trị trong việc so sánh YOLO11 cũ hơn hoặc các tùy chọn dựa trên Transformer như RT-DETR thông qua tài liệu toàn diện của Ultralytics. Bằng cách chuyển sang hệ sinh thái Ultralytics thống nhất, các nhà phát triển tiết kiệm được thời gian và tài nguyên vô giá trong khi đạt được kết quả hiện đại nhất trên bất kỳ triển khai biên hoặc đám mây nào.