简体中文 | English
文档:https://paddledetection.readthedocs.io
飞桨推出的PaddleDetection是端到端目标检测开发套件,旨在帮助开发者更快更好地完成检测模型的训练、精度速度优化到部署全流程。PaddleDetection以模块化的设计实现了多种主流目标检测算法,并且提供了丰富的数据增强、网络组件、损失函数等模块,集成了模型压缩和跨平台高性能部署能力。目前基于PaddleDetection已经完成落地的项目涉及工业质检、遥感图像检测、无人巡检等多个领域。
PaddleDetection新发布精度速度领先的PP-YOLO模型,COCO数据集精度达到45.2%,单卡Tesla V100预测速度达到72.9 FPS,详细信息见PP-YOLO模型
目前检测库下模型均要求使用PaddlePaddle 1.8及以上版本或适当的develop版本。
特性:
-
模型丰富:
PaddleDetection提供了丰富的模型,包含目标检测、实例分割、人脸检测等100+个预训练模型,涵盖多种数据集竞赛冠军方案、适合云端/边缘端设备部署的检测方案。
-
易部署:
PaddleDetection的模型中使用的核心算子均通过C++或CUDA实现,同时基于PaddlePaddle的高性能推理引擎可以方便地部署在多种硬件平台上。
-
高灵活度:
PaddleDetection通过模块化设计来解耦各个组件,基于配置文件可以轻松地搭建各种检测模型。
-
高性能:
基于PaddlePaddle框架的高性能内核,在模型训练速度、显存占用上有一定的优势。例如,YOLOv3的训练速度快于其他框架,在Tesla V100 16GB环境下,Mask-RCNN(ResNet50)可以单卡Batch Size可以达到4 (甚至到5)。
支持的模型结构:
ResNet | ResNet-vd 1 | ResNeXt-vd | SENet | MobileNet | HRNet | Res2Net | |
---|---|---|---|---|---|---|---|
Faster R-CNN | ✓ | ✓ | x | ✓ | ✗ | ✗ | ✗ |
Faster R-CNN + FPN | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ |
Mask R-CNN | ✓ | ✓ | x | ✓ | ✗ | ✗ | ✗ |
Mask R-CNN + FPN | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ |
Cascade Faster-RCNN | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ |
Cascade Mask-RCNN | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |
Libra R-CNN | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
RetinaNet | ✓ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
YOLOv3 | ✓ | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ |
SSD | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |
BlazeFace | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
Faceboxes | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
[1] ResNet-vd 模型预测速度基本不变的情况下提高了精度。
说明: ✓ 为模型库中提供了对应配置文件和预训练模型,✗ 为未提供参考配置,但一般都支持。
更多的模型:
- EfficientDet
- FCOS
- CornerNet-Squeeze
- YOLOv4
- PP-YOLO
更多的Backone:
- DarkNet
- VGG
- GCNet
- CBNet
- Hourglass
扩展特性:
- Synchronized Batch Norm
- Group Norm
- Modulated Deformable Convolution
- Deformable PSRoI Pooling
- Non-local和GCNet
注意: Synchronized batch normalization 只能在多GPU环境下使用,不能在CPU环境或者单GPU环境下使用。
以下为选取各模型结构和骨干网络的代表模型COCO数据集精度mAP和单卡Tesla V100上预测速度(FPS)关系图。
说明:
CBResNet
为Cascade-Faster-RCNN-CBResNet200vd-FPN
模型,COCO数据集mAP高达53.3%Cascade-Faster-RCNN
为Cascade-Faster-RCNN-ResNet50vd-DCN
,PaddleDetection将其优化到COCO数据mAP为47.8%时推理速度为20FPS- PaddleDetection增强版
YOLOv3-ResNet50vd-DCN
在COCO数据集mAP高于原作10.6个绝对百分点,推理速度为61.3FPS,快于原作约70% - 图中模型均可在模型库中获取
以下为PaddleDetection发布的精度和预测速度优于YOLOv4模型的PP-YOLO与前沿目标检测算法的COCO数据集精度与单卡Tesla V100预测速度(FPS)关系图, PP-YOLO模型在COCO test2019数据集上精度达到45.2%,在单卡V100上FP32推理速度为72.9 FPS,详细信息见PP-YOLO模型
- 模型库
- 移动端模型
- Anchor free模型
- 人脸检测模型
- YOLOv3增强模型: COCO mAP高达43.6%,原论文精度为33.0%
- PPYOLO模型: COCO mAP高达45.3%,单卡Tesla V100预测速度高达72.9 FPS
- 行人检测预训练模型
- 车辆检测预训练模型
- Objects365 2019 Challenge夺冠模型
- Open Images 2019-Object Detction比赛最佳单模型
- 服务器端实用目标检测模型: V100上速度20FPS时,COCO mAP高达47.8%。
- 大规模实用目标检测模型: 提供了包含676个类别的大规模服务器端实用目标检测模型,适用于绝大部分使用场景,可以直接用来预测,也可以用于微调其他任务。
本项目的发布受Apache 2.0 license许可认证。
v0.4.0版本已经在07/2020
发布,增加PP-YOLO, TTFNet, HTC, ACFPN等多个模型,新增BlazeFace人脸关键点检测模型,新增移动端SSDLite系列优化模型,新增GridMask,RandomErasing数据增强方法,新增Matrix NMS和EMA训练,提升易用性,修复已知诸多bug等,详细内容请参考版本更新文档。
我们非常欢迎你可以为PaddleDetection提供代码,也十分感谢你的反馈。