From 24669e675e3634a3efac5fe6023ea828b6b39b27 Mon Sep 17 00:00:00 2001 From: qingqing01 Date: Tue, 22 Oct 2019 15:48:43 +0800 Subject: [PATCH] Update PaddleDetection README (#3708) * Update PaddleDetection README * Fix some link --- PaddleCV/PaddleDetection/README.md | 100 +++++++++--------- PaddleCV/PaddleDetection/README_cn.md | 2 +- PaddleCV/PaddleDetection/docs/CONFIG.md | 2 + PaddleCV/PaddleDetection/docs/DATA.md | 2 + .../PaddleDetection/docs/GETTING_STARTED.md | 2 + PaddleCV/PaddleDetection/docs/INSTALL.md | 2 + PaddleCV/PaddleDetection/docs/MODEL_ZOO.md | 2 + .../PaddleDetection/docs/TRANSFER_LEARNING.md | 2 + 8 files changed, 65 insertions(+), 49 deletions(-) diff --git a/PaddleCV/PaddleDetection/README.md b/PaddleCV/PaddleDetection/README.md index 3bba80b6..65436353 100644 --- a/PaddleCV/PaddleDetection/README.md +++ b/PaddleCV/PaddleDetection/README.md @@ -31,97 +31,101 @@ changes. - Performance Optimized: With the help of the underlying PaddlePaddle framework, faster training and -reduced GPU memory footprint is achieved. Notably, Yolo V3 training is +reduced GPU memory footprint is achieved. Notably, YOLOv3 training is much faster compared to other frameworks. Another example is Mask-RCNN (ResNet50), we managed to fit up to 4 images per GPU (Tesla V100 16GB) during multi-GPU training. Supported Architectures: -| | ResNet | ResNet-vd [1](#vd) | ResNeXt-vd | SENet | MobileNet | DarkNet | VGG | -|--------------------|:------:|------------------------------:|:----------:|:-----:|:---------:|:-------:|:---:| -| Faster R-CNN | ✓ | ✓ | x | ✓ | ✗ | ✗ | ✗ | -| Faster R-CNN + FPN | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | -| Mask R-CNN | ✓ | ✓ | x | ✓ | ✗ | ✗ | ✗ | -| Mask R-CNN + FPN | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | -| Cascade R-CNN | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | -| RetinaNet | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | -| Yolov3 | ✓ | ✗ | ✗ | ✗ | ✓ | ✓ | ✗ | -| SSD | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✓ | +| | ResNet | ResNet-vd [1](#vd) | ResNeXt-vd | SENet | MobileNet | DarkNet | VGG | +| ------------------- | :----: | ----------------------------: | :--------: | :---: | :-------: | :-----: | :--: | +| Faster R-CNN | ✓ | ✓ | x | ✓ | ✗ | ✗ | ✗ | +| Faster R-CNN + FPN | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | +| Mask R-CNN | ✓ | ✓ | x | ✓ | ✗ | ✗ | ✗ | +| Mask R-CNN + FPN | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | +| Cascade Faster-RCNN | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | +| Cascade Mask-RCNN | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | +| RetinaNet | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | +| YOLOv3 | ✓ | ✗ | ✗ | ✗ | ✓ | ✓ | ✗ | +| SSD | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✓ | [1] [ResNet-vd](https://arxiv.org/pdf/1812.01187) models offer much improved accuracy with negligible performance cost. Advanced Features: -- [x] **Synchronized Batch Norm**: currently used by Yolo V3. -- [x] **Group Norm**: pretrained models to be released. -- [x] **Modulated Deformable Convolution**: pretrained models to be released. -- [x] **Deformable PSRoI Pooling**: pretrained models to be released. +- [x] **Synchronized Batch Norm**: currently used by YOLOv3. +- [x] **Group Norm** +- [x] **Modulated Deformable Convolution** +- [x] **Deformable PSRoI Pooling** **NOTE:** Synchronized batch normalization can only be used on multiple GPU devices, can not be used on CPU devices or single GPU device. +## Get Started -## Model zoo - -Pretrained models are available in the PaddlePaddle [PaddleDetection model zoo](docs/MODEL_ZOO.md). - +- [Installation guide](docs/INSTALL.md) +- [Quick Start on small dataset](docs/QUICK_STARTED.md) +- [Guide to traing, evaluate and arguments description](docs/GETTING_STARTED.md) +- [Guide to preprocess pipeline and custom dataset](docs/DATA.md) +- [Introduction to the configuration workflow](docs/CONFIG.md) +- [Examples for detailed configuration explanation](docs/config_example/) +- [IPython Notebook demo](demo/mask_rcnn_demo.ipynb) +- [Transfer learning document](docs/TRANSFER_LEARNING.md) -## Installation +## Model Zoo -Please follow the [installation guide](docs/INSTALL.md). +- Pretrained models are available in the [PaddleDetection model zoo](docs/MODEL_ZOO.md). +- [Face detection models](configs/face_detection/README.md) +- [Pretrained models for pedestrian and vehicle detection](contrib/README.md) +## Model compression -## Get Started +- [ Quantification aware training example](slim/quantization) +- [ Pruning compression example](slim/prune) -For inference, simply run the following command and the visualized result will -be saved in `output`. +## Depoly -```bash -export PYTHONPATH=`pwd`:$PYTHONPATH -python tools/infer.py -c configs/mask_rcnn_r50_1x.yml \ - -o weights=https://paddlemodels.bj.bcebos.com/object_detection/mask_rcnn_r50_1x.tar \ - --infer_img=demo/000000570688.jpg -``` +- [C++ inference depolyment](inference/README.md) -For detailed training and evaluation workflow, please refer to [GETTING_STARTED.md](docs/GETTING_STARTED.md). +## Benchmark -For detailed configuration and parameter description, please refer to [Complete config files](docs/config_example/) +- [Inference benchmark](docs/BENCHMARK_INFER_cn.md) -We also recommend users to take a look at the [IPython Notebook demo](demo/mask_rcnn_demo.ipynb) -Further information can be found in these documentations: +## Updates -- [Introduction to the configuration workflow.](docs/CONFIG.md) -- [Guide to custom dataset and preprocess pipeline.](docs/DATA.md) +#### 10/2019 +- Face detection models included: BlazeFace, Faceboxes. +- Enrich COCO models, box mAP up to 51.9%. +- Add CACacascade RCNN, one of the best single model of Objects365 2019 challenge Full Track champion. +- Add pretrained models for pedestrian and vehicle detection. +- Support mixed-precision training. +- Add C++ inference depolyment. +- Add model compression examples. -## Todo List +#### 2/9/2019 -Please note this is a work in progress, substantial changes may come in the -near future. -Some of the planned features include: +- Add retrained models for GroupNorm. -- [ ] Mixed precision training. -- [ ] Distributed training. -- [ ] Inference in 8-bit mode. -- [ ] User defined operations. -- [ ] Larger model zoo. +- Add Cascade-Mask-RCNN+FPN. +#### 5/8/2019 -## Updates +- Add a series of models ralated modulated Deformable Convolution. #### 7/29/2019 - Update Chinese docs for PaddleDetection - Fix bug in R-CNN models when train and test at the same time - Add ResNext101-vd + Mask R-CNN + FPN models -- Add Yolo v3 on VOC models +- Add YOLOv3 on VOC models #### 7/3/2019 - Initial release of PaddleDetection and detection model zoo - Models included: Faster R-CNN, Mask R-CNN, Faster R-CNN+FPN, Mask - R-CNN+FPN, Cascade-Faster-RCNN+FPN, RetinaNet, Yolo v3, and SSD. + R-CNN+FPN, Cascade-Faster-RCNN+FPN, RetinaNet, YOLOv3, and SSD. ## Contributing diff --git a/PaddleCV/PaddleDetection/README_cn.md b/PaddleCV/PaddleDetection/README_cn.md index a4d5f867..293b6595 100644 --- a/PaddleCV/PaddleDetection/README_cn.md +++ b/PaddleCV/PaddleDetection/README_cn.md @@ -65,7 +65,7 @@ PaddleDetection的目的是为工业界和学术界提供丰富、易用的目 ## 模型库 - [模型库](docs/MODEL_ZOO_cn.md) -- [人脸检测模型](configs/face_detection/README_cn.md) +- [人脸检测模型](configs/face_detection/README.md) - [行人检测和车辆检测预训练模型](contrib/README_cn.md) diff --git a/PaddleCV/PaddleDetection/docs/CONFIG.md b/PaddleCV/PaddleDetection/docs/CONFIG.md index ea05b397..3cba54eb 100644 --- a/PaddleCV/PaddleDetection/docs/CONFIG.md +++ b/PaddleCV/PaddleDetection/docs/CONFIG.md @@ -1,3 +1,5 @@ +English | [简体中文](CONFIG_cn.md) + # Config Pipline ## Introduction diff --git a/PaddleCV/PaddleDetection/docs/DATA.md b/PaddleCV/PaddleDetection/docs/DATA.md index 0eb68647..be9048c0 100644 --- a/PaddleCV/PaddleDetection/docs/DATA.md +++ b/PaddleCV/PaddleDetection/docs/DATA.md @@ -1,3 +1,5 @@ +English | [简体中文](DATA_cn.md) + # Data Pipline ## Introduction diff --git a/PaddleCV/PaddleDetection/docs/GETTING_STARTED.md b/PaddleCV/PaddleDetection/docs/GETTING_STARTED.md index 0e6505f3..82ab2e98 100644 --- a/PaddleCV/PaddleDetection/docs/GETTING_STARTED.md +++ b/PaddleCV/PaddleDetection/docs/GETTING_STARTED.md @@ -1,3 +1,5 @@ +English | [简体中文](GETTING_STARTED_cn.md) + # Getting Started For setting up the running environment, please refer to [installation diff --git a/PaddleCV/PaddleDetection/docs/INSTALL.md b/PaddleCV/PaddleDetection/docs/INSTALL.md index 4af7bc96..0761a240 100644 --- a/PaddleCV/PaddleDetection/docs/INSTALL.md +++ b/PaddleCV/PaddleDetection/docs/INSTALL.md @@ -1,3 +1,5 @@ +English | [简体中文](INSTALL_cn.md) + # Installation --- diff --git a/PaddleCV/PaddleDetection/docs/MODEL_ZOO.md b/PaddleCV/PaddleDetection/docs/MODEL_ZOO.md index c63050b0..d6042ada 100644 --- a/PaddleCV/PaddleDetection/docs/MODEL_ZOO.md +++ b/PaddleCV/PaddleDetection/docs/MODEL_ZOO.md @@ -1,3 +1,5 @@ +English | [简体中文](MODEL_ZOO_cn.md) + # Model Zoo and Benchmark ## Environment diff --git a/PaddleCV/PaddleDetection/docs/TRANSFER_LEARNING.md b/PaddleCV/PaddleDetection/docs/TRANSFER_LEARNING.md index ec2d38e6..0bc0377a 100644 --- a/PaddleCV/PaddleDetection/docs/TRANSFER_LEARNING.md +++ b/PaddleCV/PaddleDetection/docs/TRANSFER_LEARNING.md @@ -1,3 +1,5 @@ +English | [简体中文](TRANSFER_LEARNING_cn.md) + # Transfer Learning Transfer learning aims at learning new knowledge from existing knowledge. For example, take pretrained model from ImageNet to initialize detection models, or take pretrained model from COCO dataset to initialize train detection models in PascalVOC dataset. -- GitLab