{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. 模型简介\n", "PaddleDetection中提出了全新的轻量级系列模型`PP-PicoDet`,在移动端具有卓越的性能,成为全新SOTA轻量级模型。\n", "\n", "PP-PicoDet模型有如下特点:\n", "\n", "- 🌟 更高的mAP: 第一个在1M参数量之内`mAP(0.5:0.95)`超越**30+**(输入416像素时)。\n", "- 🚀 更快的预测速度: 网络预测在ARM CPU下可达150FPS。\n", "- 😊 部署友好: 支持PaddleLite/MNN/NCNN/OpenVINO等预测库,支持转出ONNX,提供了C++/Python/Android的demo。\n", "- 😍 先进的算法: 我们在现有SOTA算法中进行了创新, 包括:ESNet, CSP-PAN, SimOTA等等。\n", "\n", "关于PP-Picodet的更多细节可以参考我们的[官方文档](https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.5/configs/picodet/README.md)。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. 模型效果\n", "PP-Picodet与其他轻量级模型的精度速度对比图如下所示:\n", "
\n", " \n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. 模型如何使用\n", "首先克隆PaddleDetection,并将数据集存放在`dataset/coco/`目录下面" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "vscode": { "languageId": "plaintext" } }, "outputs": [], "source": [ "%cd ~/work\n", "!git clone https://gitee.com/paddlepaddle/PaddleDetection\n", "%cd PaddleDetection\n", "!pip install -r requirements.txt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.1 训练\n", "执行以下命令训练PP-Picodet" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "vscode": { "languageId": "plaintext" } }, "outputs": [], "source": [ "# 单卡训练\n", "!CUDA_VISIBLE_DEVICES=0 python tools/train.py -c configs/picodet/picodet_s_320_coco_lcnet.yml --eval\n", "\n", "# 多卡训练\n", "!CUDA_VISIBLE_DEVICES=0,1,2,3 python -m paddle.distributed.launch --gpus 0,1,2,3 tools/train.py -c configs/picodet/picodet_s_320_coco_lcnet.yml --eval" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**注意:** \n", "- PicoDet所有模型均由4卡GPU训练得到,如果改变训练GPU卡数,需要按线性比例缩放学习率`base_lr`。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.2 部署\n", "PP-Picodet支持多种方式部署,具体可以参考[PP-Picodet部署](https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.5/configs/picodet/README.md#%E9%83%A8%E7%BD%B2)。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4. 模型原理\n", "PP-Picodet的整体结构图如下所示:\n", "
\n", " \n", "
\n", "PP-Picodet由以下方法组成:\n", "- 增强的ShuffleNet-ESNet\n", "- CSP-PAN\n", "- SimOTA匹配策略\n", "\n", "更多细节可以参考我们的技术报告:https://arxiv.org/abs/2111.00902" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 5. 注意事项\n", "**所有的命令默认运行在AI Studio的`jupyter`上, 如果运行在终端上,去掉命令开头的符号%或!**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 6. 相关论文及引用信息\n", "```\n", "@article{yu2021pp,\n", " title={PP-PicoDet: A Better Real-Time Object Detector on Mobile Devices},\n", " author={Yu, Guanghua and Chang, Qinyao and Lv, Wenyu and Xu, Chang and Cui, Cheng and Ji, Wei and Dang, Qingqing and Deng, Kaipeng and Wang, Guanzhong and Du, Yuning and others},\n", " journal={arXiv preprint arXiv:2111.00902},\n", " year={2021}\n", "}\n", "```" ] } ], "metadata": { "language_info": { "name": "python" }, "orig_nbformat": 4 }, "nbformat": 4, "nbformat_minor": 2 }