English | 简体中文
PaddleDetection
PaddleDetection的目的是为工业界和学术界提供丰富、易用的目标检测模型。不仅性能优越、易于部署,而且能够灵活的满足算法研究的需求。
目前检测库下模型均要求使用PaddlePaddle 1.6及以上版本或适当的develop版本。
简介
特性:
-
易部署:
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 模型提供了较大的精度提高和较少的性能损失。
更多的Backone:
- DarkNet
- VGG
- GCNet
- CBNet
扩展特性:
- Synchronized Batch Norm: 目前在YOLOv3中使用。
- Group Norm
- Modulated Deformable Convolution
- Deformable PSRoI Pooling
- Non-local和GCNet
注意: Synchronized batch normalization 只能在多GPU环境下使用,不能在CPU环境或者单GPU环境下使用。
文档教程
最新动态: 已发布文档教程:https://paddledetection.readthedocs.io
入门教程
进阶教程
模型库
- 模型库
- 人脸检测模型
- 行人检测和车辆检测预训练模型 针对不同场景的检测模型
- YOLOv3增强模型 改进原始YOLOv3,精度达到41.4%,原论文精度为33.0%,同时预测速度也得到提升
- Objects365 2019 Challenge夺冠模型 Objects365 Full Track任务中最好的单模型之一,精度达到31.7%
- Open Images V5和Objects365数据集模型
许可证书
本项目的发布受Apache 2.0 license许可认证。
版本更新
v0.2.0版本已经在02/2020
发布,增加多个模型,升级数据处理模块,拆分YOLOv3的loss,修复已知诸多bug等,
详细内容请参考版本更新文档。
如何贡献代码
我们非常欢迎你可以为PaddleDetection提供代码,也十分感谢你的反馈。
项目简介
Object Detection toolkit based on PaddlePaddle. It supports object detection, instance segmentation, multiple object tracking and real-time multi-person keypoint detection.
源项目地址