README.md

    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 DarkNet VGG
    Faster R-CNN x
    Faster R-CNN + FPN
    Mask R-CNN x
    Mask R-CNN + FPN
    Cascade Faster-CNN
    Cascade Mask-CNN
    RetinaNet
    YOLOv3
    SSD

    [1] ResNet-vd 模型提供了较大的精度提高和较少的性能损失。

    扩展特性:

    • Synchronized Batch Norm: 目前在YOLOv3中使用。
    • Group Norm
    • Modulated Deformable Convolution
    • Deformable PSRoI Pooling

    注意: Synchronized batch normalization 只能在多GPU环境下使用,不能在CPU环境或者单GPU环境下使用。

    使用教程

    模型库

    模型压缩

    推理部署

    Benchmark

    版本更新

    21/11/2019

    • 增加CascadeClsAware RCNN模型。
    • 增加CBNet,ResNet200和Non-local模型。
    • 增加SoftNMS。
    • 增加Open Image V5数据集和Objects365数据集模型。

    10/2019

    • 增加增强版YOLOv3模型,精度高达41.4%。
    • 增加人脸检测模型BlazeFace、Faceboxes。
    • 丰富基于COCO的模型,精度高达51.9%。
    • 增加Objects365 2019 Challenge上夺冠的最佳单模型之一CACascade-RCNN。
    • 增加行人检测和车辆检测预训练模型。
    • 支持FP16训练。
    • 增加跨平台的C++推理部署方案。
    • 增加模型压缩示例。

    2/9/2019

    • 增加GroupNorm模型。
    • 增加CascadeRCNN+Mask模型。

    5/8/2019

    • 增加Modulated Deformable Convolution系列模型。

    29/7/2019

    • 增加检测库中文文档
    • 修复R-CNN系列模型训练同时进行评估的问题
    • 新增ResNext101-vd + Mask R-CNN + FPN模型
    • 新增基于VOC数据集的YOLOv3模型

    3/7/2019

    • 首次发布PaddleDetection检测库和检测模型库
    • 模型包括:Faster R-CNN, Mask R-CNN, Faster R-CNN+FPN, Mask R-CNN+FPN, Cascade-Faster-RCNN+FPN, RetinaNet, YOLOv3, 和SSD.

    如何贡献代码

    我们非常欢迎你可以为PaddleDetection提供代码,也十分感谢你的反馈。

    项目简介

    Object Detection toolkit based on PaddlePaddle. It supports object detection, instance segmentation, multiple object tracking and real-time multi-person keypoint detection.

    🚀 Github 镜像仓库 🚀

    源项目地址

    https://github.com/PaddlePaddle/PaddleDetection

    发行版本 8

    release/2.6

    全部发行版

    贡献者 41

    全部贡献者

    开发语言

    • Python 92.8 %
    • C++ 3.5 %
    • Jupyter Notebook 1.6 %
    • Cuda 1.1 %
    • CMake 0.7 %