Link to this sectionPP-YOLOE+ so với EfficientDet#
Việc lựa chọn kiến trúc phù hợp là một bước quan trọng trong việc xây dựng các ứng dụng computer vision mạnh mẽ. Hướng dẫn kỹ thuật này khám phá sự đánh đổi giữa hai model nhận diện đối tượng nổi tiếng: PP-YOLOE+ và EfficientDet. Chúng tôi sẽ phân tích kiến trúc, xem xét các performance metrics và khám phá các kịch bản triển khai lý tưởng của chúng.
Mặc dù cả hai model đều có những đóng góp đáng kể cho lĩnh vực này, chúng tôi cũng sẽ thảo luận về cách các giải pháp thay thế hiện đại như Ultralytics YOLO26 mang lại hiệu quả bộ nhớ vượt trội, tốc độ inference nhanh hơn và trải nghiệm lập trình viên được tối ưu hóa cao.
Link to this sectionTổng quan kiến trúc: PP-YOLOE+#
PP-YOLOE+ là phiên bản nâng cấp của PP-YOLO nguyên bản, được xây dựng đặc biệt để tối ưu hóa hiệu suất trên các GPU phía server trong hệ sinh thái PaddlePaddle. Nó giới thiệu một số cải tiến cho kiến trúc cơ bản, tập trung vào mô hình anchor-free.
- Tác giả: Các tác giả PaddlePaddle
- Tổ chức: Baidu
- Ngày: 2022-04-02
- Arxiv: 2203.16250
- Tài liệu: PaddleDetection README
PP-YOLOE+ có backbone CSPRepResNet, head Efficient Task-aligned (ET-head), và dựa nhiều vào hàm loss varifocal cho phân loại cùng với distribution focal loss cho hồi quy bounding box. Việc chuyển đổi sang thiết kế anchor-free detector đã giúp tinh giản quy trình hậu xử lý (post-processing), khiến nó trở nên cạnh tranh cao tại thời điểm ra mắt.
Các nhóm đã đầu tư sâu vào framework PaddlePaddle của Baidu thường thấy PP-YOLOE+ dễ áp dụng hơn cho các tác vụ như instance segmentation, mặc dù nó thiếu sự hỗ trợ đa framework rộng rãi như các công cụ mới hơn.
Link to this sectionTổng quan kiến trúc: EfficientDet#
EfficientDet tiếp cận vấn đề object detection theo một cách hoàn toàn khác, dựa nhiều vào neural architecture search và các nguyên tắc compound scaling.
- Tác giả: Mingxing Tan, Ruoming Pang và Quoc V. Le
- Tổ chức: Google
- Ngày: 20-11-2019
- Arxiv: 1911.09070
- Tài liệu: Brain AutoML README
Nền tảng của EfficientDet là mạng Bi-directional Feature Pyramid Network (BiFPN). Không giống như các FPN truyền thống, BiFPN cho phép hợp nhất đặc trưng đa quy mô nhanh chóng và dễ dàng bằng cách giới thiệu các trọng số có thể học để nắm bắt tầm quan trọng của các đặc trưng đầu vào khác nhau. Kết hợp với backbone EfficientNet, EfficientDet mở rộng quy mô chiều rộng, chiều sâu và độ phân giải của mạng một cách đồng bộ.
Mặc dù về lý thuyết rất hiệu quả xét về số lượng FLOPs, các model EfficientDet đôi khi gặp khó khăn trong việc chuyển đổi hiệu quả lý thuyết thành tốc độ thực tế trên các thiết bị edge do các mô hình truy cập bộ nhớ phức tạp, điều này trái ngược hoàn toàn với yêu cầu bộ nhớ thấp của các model dựa trên YOLO.
Link to this sectionPhân tích hiệu suất và Benchmarks#
Bảng dưới đây so sánh các chỉ số chính trên các datasets like COCO tiêu chuẩn. Việc so sánh mean Average Precision (mAP) với tốc độ inference cung cấp một bức tranh rõ ràng về đường biên Pareto.
| Mô hình | kích thước (pixel) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | params (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 |
| EfficientDet-d0 | 640 | 34.6 | 10.2 | 3.92 | 3.9 | 2.54 |
| EfficientDet-d1 | 640 | 40.5 | 13.5 | 7.31 | 6.6 | 6.1 |
| EfficientDet-d2 | 640 | 43.0 | 17.7 | 10.92 | 8.1 | 11.0 |
| EfficientDet-d3 | 640 | 47.5 | 28.0 | 19.59 | 12.0 | 24.9 |
| EfficientDet-d4 | 640 | 49.7 | 42.8 | 33.55 | 20.7 | 55.2 |
| EfficientDet-d5 | 640 | 51.5 | 72.5 | 67.86 | 33.7 | 130.0 |
| EfficientDet-d6 | 640 | 52.6 | 92.8 | 89.29 | 51.9 | 226.0 |
| EfficientDet-d7 | 640 | 53.7 | 122.0 | 128.07 | 51.9 | 325.0 |
Như đã thấy, PP-YOLOE+ nhìn chung có khả năng mở rộng tốt hơn về mAP thô cho các GPU cao cấp, trong khi EfficientDet cố gắng tối thiểu hóa các tham số. Tuy nhiên, cả hai đều tụt hậu so với các khả năng thời gian thực hiện đại cần thiết cho edge AI tiên tiến.
Link to this sectionCác trường hợp sử dụng và Khuyến nghị#
Việc lựa chọn giữa PP-YOLOE+ và EfficientDet phụ thuộc vào yêu cầu dự án cụ thể, các ràng buộc triển khai và ưu tiên hệ sinh thái của bạn.
Link to this sectionKhi 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ó cơ sở 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 Paddle Lite Edge: Triển khai lên phần cứng với các kernel suy luận được tối ưu hóa cao dành riêng cho Paddle Lite hoặc engine suy luận Paddle.
- Nhận diện phía máy chủ có độ chính xác cao: 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 đề.
Link to this sectionKhi nào nên chọn EfficientDet#
EfficientDet được khuyến nghị cho:
- Google Cloud và các đường ống TPU: Các hệ thống được tích hợp sâu với API Google Cloud Vision hoặc hạ tầng TPU, nơi EfficientDet có sự tối ưu hóa gốc.
- Nghiên cứu về Compound Scaling: Các nghiên cứu học thuật tập trung vào việc đánh giá tác động của độ sâu mạng, chiều rộng và khả năng mở rộng độ phân giải cân bằng.
- Triển khai trên di động qua TFLite: Các dự án yêu cầu cụ thể việc xuất TensorFlow Lite cho Android hoặc các thiết bị Linux nhúng.
Link to this sectionKhi 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 năng 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 nhất quán, độ trễ thấp mà không có sự phức tạp của hậu xử lý Non-Maximum Suppression.
- Môi trường chỉ dùng CPU: Các thiết bị không có tăng tốc GPU chuyên dụng, nơi suy luận CPU nhanh hơn tới 43% của YOLO26 mang lại lợi thế quyết định.
- Phát hiện vật thể nhỏ: Các kịch bản đầy thách thức như hình ảnh máy bay không người lái 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 vật thể cực nhỏ.
Link to this sectionGiải pháp thay thế hiện đại: Ultralytics YOLO26#
Trong khi PP-YOLOE+ và EfficientDet đại diện cho các cột mốc lịch sử quan trọng, các nhà phát triển đang tìm kiếm độ chính xác cao nhất, mức tiêu thụ bộ nhớ thấp hơn và trải nghiệm người dùng tinh giản nên cân nhắc Ultralytics YOLO26.
YOLO26 đại diện cho một bước nhảy vọt trong nhận diện đối tượng, giới thiệu một số cải tiến quan trọng:
- Thiết kế End-to-End NMS-Free: Kế thừa các đột phá từ YOLOv10, YOLO26 loại bỏ hoàn toàn NMS trong quá trình inference. Điều này dẫn đến độ trễ thấp hơn đáng kể và loại bỏ các điểm nghẽn hậu xử lý phức tạp.
- Optimizer MuSGD: Lấy cảm hứng từ các cải tiến trong huấn luyện LLM, YOLO26 sử dụng optimizer lai giữa SGD và Muon. Điều này cải thiện đáng kể độ ổn định khi huấn luyện và rút ngắn thời gian hội tụ.
- Tốc độ cực nhanh: YOLO26 mang lại tốc độ inference CPU nhanh hơn tới 43% so với các thế hệ cũ hơn như YOLO11, biến nó thành lựa chọn tuyệt đối tốt nhất cho các thiết bị edge dùng pin hoặc chỉ có CPU.
- Các hàm Loss nâng cao: Sự tích hợp của ProgLoss và STAL cải thiện đáng kể khả năng nhận diện các đối tượng nhỏ, điều cần thiết cho các tác vụ như drone analytics và robotics.
Không giống như EfficientDet chỉ tập trung thuần túy vào nhận diện, YOLO26 xử lý tốt pose estimation, image classification và oriented bounding boxes (OBB) một cách tự nhiên, tất cả trong cùng một hệ sinh thái được bảo trì tốt.
Link to this sectionDễ sử dụng và tích hợp hệ sinh thái#
Một trong những nhược điểm lớn nhất của các model cũ như EfficientDet là sự phức tạp của các pipeline huấn luyện và các thiết lập automated machine learning. Ngược lại, Ultralytics Platform mang lại trải nghiệm lập trình viên chưa từng có.
Triển khai một model với Ultralytics chỉ tốn vài dòng code, hoàn toàn tương phản với các cấu hình dài dòng cần thiết bởi các framework cũ.
from ultralytics import YOLO
# Load a pretrained YOLO26 model
model = YOLO("yolo26s.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100)
# Run inference on a test image natively without NMS overhead
predictions = model("https://ultralytics.com/images/bus.jpg")Đối với những người đang khám phá các lựa chọn thay thế khác, các kiến trúc như RT-DETR hoặc YOLOv8 cũ cũng có sẵn trong hệ sinh thái Ultralytics, cho phép thay thế và kiểm thử liền mạch.
Link to this sectionKết luận#
PP-YOLOE+ vẫn là lựa chọn mạnh mẽ cho các triển khai server cụ thể trong hệ sinh thái Paddle, và EfficientDet tiếp tục là một nghiên cứu thú vị trong thiết kế kiến trúc tự động. Tuy nhiên, đối với các ứng dụng hiện đại đòi hỏi real-time inference, sự dễ dàng trong triển khai và yêu cầu bộ nhớ tối thiểu, Ultralytics YOLO26 cung cấp sự cân bằng hiệu suất thuyết phục nhất. Thiết kế không cần NMS và hiệu suất CPU cực nhanh khiến nó trở thành lựa chọn dứt khoát để bảo đảm tương lai cho cơ sở hạ tầng AI của bạn.