提交 fc6a15d2 编写于 作者: H HydrogenSulfate

refine quick_start_recognition.md and PPShiTuV2_introduction.md

上级 143ddd36
...@@ -79,7 +79,7 @@ python3.7 -m paddle.distributed.launch tools/train.py \ ...@@ -79,7 +79,7 @@ python3.7 -m paddle.distributed.launch tools/train.py \
### 模型推理 ### 模型推理
参考 [模型推理](../image_recognition_pipeline/feature_extraction.md#54-模型推理) 参考 [Python模型推理](../quick_start/quick_start_recognition.md#22-图像识别体验)[C++ 模型推理](../../../deploy/cpp_shitu/readme.md)
### 模型部署 ### 模型部署
......
...@@ -11,14 +11,14 @@ ...@@ -11,14 +11,14 @@
- [1.2 功能体验](#12-功能体验) - [1.2 功能体验](#12-功能体验)
- [1.2.1 图像检索](#121-图像检索) - [1.2.1 图像检索](#121-图像检索)
- [1.2.2 图像加库](#122-图像加库) - [1.2.2 图像加库](#122-图像加库)
- [1.2.3 库保存](#123-库保存) - [1.2.3 保存检索库](#123-保存检索库)
- [1.2.4 更换检索库](#124-更换检索库) - [1.2.4 初始化检索库](#124-初始化检索库)
- [1.2.5 查看检索库标签](#125-查看检索库标签) - [1.2.5 查看检索库标签](#125-查看检索库标签)
- [1.3 功能详细介绍](#13-功能详细介绍) - [1.3 功能详细介绍](#13-功能详细介绍)
- [1.3.1 图像检索](#131-图像检索) - [1.3.1 图像检索](#131-图像检索)
- [1.3.2 图像加库](#132-图像加库) - [1.3.2 图像加库](#132-图像加库)
- [1.3.3 库保存](#133-库保存) - [1.3.3 保存检索库](#133-保存检索库)
- [1.3.4 更换检索库](#134-更换检索库) - [1.3.4 初始化检索库](#134-初始化检索库)
- [1.3.5 查看检索库的标签](#135-查看检索库的标签) - [1.3.5 查看检索库的标签](#135-查看检索库的标签)
- [2. PP-ShiTu PC端 demo 快速体验](#2-pp-shitu-pc端-demo-快速体验) - [2. PP-ShiTu PC端 demo 快速体验](#2-pp-shitu-pc端-demo-快速体验)
- [2.1 环境配置](#21-环境配置) - [2.1 环境配置](#21-环境配置)
...@@ -43,21 +43,19 @@ ...@@ -43,21 +43,19 @@
可以通过扫描二维码或者[点击链接](https://paddle-imagenet-models-name.bj.bcebos.com/demos/PP-ShiTu.apk)下载并安装APP 可以通过扫描二维码或者[点击链接](https://paddle-imagenet-models-name.bj.bcebos.com/demos/PP-ShiTu.apk)下载并安装APP
**注:** 华为鸿蒙OS 3.0的系统可能会出现无法调用摄像头的情况,建议更换低版本系统或者使用其它安卓机型进行快速体验。
<div align=center><img src="../../images/quick_start/android_demo/PPShiTu_qrcode.png" height="400" width="400"/></div> <div align=center><img src="../../images/quick_start/android_demo/PPShiTu_qrcode.png" height="400" width="400"/></div>
<a name="功能体验"></a> <a name="功能体验"></a>
### 1.2 功能体验 ### 1.2 功能体验
目前 PP-ShiTu android demo 具有图像检索、图像加库、库保存、更换检索库、查看检索库内的标签等基本功能,接下来介绍如何体验这几个功能。 目前 PP-ShiTu android demo 具有图像检索、图像加库、保存检索库、更换检索库、查看检索库内的标签等基本功能,接下来介绍如何体验这几个功能。
#### 1.2.1 图像检索 #### 1.2.1 图像检索
点击下方的“拍照识别”按钮<img src="../../images/quick_start/android_demo/paizhaoshibie_100.png" width="25" height="25"/>或者“本地识别”按钮<img src="../../images/quick_start/android_demo/bendishibie_100.png" width="25" height="25"/>,即可拍摄一张图像或者选中一张图像,然后等待几秒钟,APP便会将图像中的主体框标注出来并且在图像下方给出预测的类别以及预测时间等信息。 点击下方的“拍照识别”按钮<img src="../../images/quick_start/android_demo/paizhaoshibie_100.png" width="25" height="25"/>或者“本地识别”按钮<img src="../../images/quick_start/android_demo/bendishibie_100.png" width="25" height="25"/>,即可拍摄一张图像或者选中一张图像,然后等待几秒钟,APP便会将图像中的主体框标注出来并且在图像下方给出预测的类别以及预测时间等信息。
假设待检索的图像如下: 假设待检索的图像如下:
<img src="../../images/recognition/drink_data_demo/test_images/100.jpeg" width="400" height="600"/> <img src="../../images/recognition/drink_data_demo/test_images/nongfu_spring.jpeg" width="400" height="600"/>
得到的检索结果可视化如下: 得到的检索结果可视化如下:
...@@ -66,11 +64,11 @@ ...@@ -66,11 +64,11 @@
#### 1.2.2 图像加库 #### 1.2.2 图像加库
点击上方的“拍照上传”按钮<img src="../../images/quick_start/android_demo/paizhaoshangchuan_100.png" width="25" height="25"/>或者“本地上传”按钮<img src="../../images/quick_start/android_demo/bendishangchuan_100.png" width="25" height="25"/>,即可拍摄一张图像或从图库中选择一张图像,然后再输入这张图像的类别名字(比如`keyboard`),点击“确定”按钮,即可将图片对应的特征向量与标签加入检索库。 点击上方的“拍照上传”按钮<img src="../../images/quick_start/android_demo/paizhaoshangchuan_100.png" width="25" height="25"/>或者“本地上传”按钮<img src="../../images/quick_start/android_demo/bendishangchuan_100.png" width="25" height="25"/>,即可拍摄一张图像或从图库中选择一张图像,然后再输入这张图像的类别名字(比如`keyboard`),点击“确定”按钮,即可将图片对应的特征向量与标签加入检索库。
#### 1.2.3 库保存 #### 1.2.3 保存检索库
点击上方的“保存修改”按钮<img src="../../images/quick_start/android_demo/baocunxiugai_100.png" width="25" height="25"/>,即可将当前库以 `latest` 的库名保存下来,保存完毕之后也会自动将当前程序中的库覆盖为 `latest` 点击上方的“保存修改”按钮<img src="../../images/quick_start/android_demo/baocunxiugai_100.png" width="25" height="25"/>,即可将当前库以 `latest` 的库名保存下来。
#### 1.2.4 初始化检索库 #### 1.2.4 初始化检索库
点击上方的“初始化 ”按钮<img src="../../images/quick_start/android_demo/reset.png" width="25" height="25"/>,即可将当前库初始化为 `original`(注意这一操作会自动删除 `latest` 库) 点击上方的“初始化 ”按钮<img src="../../images/quick_start/android_demo/reset_100.png" width="25" height="25"/>,即可将当前库初始化为 `original`
#### 1.2.5 查看检索库标签 #### 1.2.5 查看检索库标签
点击“类别查询”按钮<img src="../../images/quick_start/android_demo/leibiechaxun_100.png" width="25" height="25"/>,即可在弹窗中查看。 点击“类别查询”按钮<img src="../../images/quick_start/android_demo/leibiechaxun_100.png" width="25" height="25"/>,即可在弹窗中查看。
...@@ -85,11 +83,11 @@ ...@@ -85,11 +83,11 @@
#### 1.3.2 图像加库 #### 1.3.2 图像加库
在选择好要入库的图片之后,首先会通过检测模型进行主体检测,得到图像中的物体的区域,然后将这块区域裁剪出来输入到识别模型中,得到对应的特征向量,再与用户输入的图像标签一起加入到检索库中。 在选择好要入库的图片之后,首先会通过检测模型进行主体检测,得到图像中的物体的区域,然后将这块区域裁剪出来输入到识别模型中,得到对应的特征向量,再与用户输入的图像标签一起加入到检索库中。
#### 1.3.3 库保存 #### 1.3.3 保存检索库
此功能只需输入希望保存的文件名即可,如输入`database_1`,则会将检索向量库保存为`database_1.index`,检索标签库保存为`database_1.txt` 将当前程序中的库以 `latest` 的库名保存到手机中,并且自动切换到该库上。保存逻辑与一般软件的“另存为”类似。如果当前库已经是 `latest` 则会自动覆盖,如果是 `original` 则会切换到 `latest`
#### 1.3.4 初始化检索库 #### 1.3.4 初始化检索库
初始化库时会自动将检索库和标签库切换成 `original.index``original.txt`,并删除手机中的 `latest.index``latest.txt` 初始化库时会自动将检索库和标签库切换成 `original.index``original.txt`,并自动删除手机中的 `latest.index``latest.txt`(如果存在的话)
#### 1.3.5 查看检索库的标签 #### 1.3.5 查看检索库的标签
可按照[功能体验-查看检索库的标签](#125-查看检索库标签)中说明进行查看,当检索标签库过多(如本demo自带的196类检索标签库)时,可在弹窗中滑动查看。 可按照[功能体验-查看检索库的标签](#125-查看检索库标签)中说明进行查看,当检索标签库过多(如本demo自带的196类检索标签库)时,可在弹窗中滑动查看。
...@@ -117,10 +115,10 @@ ...@@ -117,10 +115,10 @@
<a name="轻量级通用主体检测模型与轻量级通用识别模型"></a> <a name="轻量级通用主体检测模型与轻量级通用识别模型"></a>
| 模型简介 | 推荐场景 | inference 模型 | 预测配置文件 | | 模型简介 | 推荐场景 | inference 模型 | 预测配置文件 |
| ---------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | | ---------------------- | -------- | ----------- | ------------ |
| 轻量级通用主体检测模型 | 通用场景 | [tar 格式下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/models/inference/picodet_PPLCNet_x2_5_mainbody_lite_v1.0_infer.tar) [zip 格式文件下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/models/inference/picodet_PPLCNet_x2_5_mainbody_lite_v1.0_infer.zip) | - | | 轻量级通用主体检测模型 | 通用场景 | [tar 格式下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/models/inference/picodet_PPLCNet_x2_5_mainbody_lite_v1.0_infer.tar) [zip 格式下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/models/inference/picodet_PPLCNet_x2_5_mainbody_lite_v1.0_infer.zip) | - |
| 轻量级通用识别模型 | 通用场景 | [tar 格式下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/models/inference/PP-ShiTuV2/general_PPLCNetV2_base_pretrained_v1.0_infer.tar) [zip 格式文件下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/models/inference/PP-ShiTuV2/general_PPLCNetV2_base_pretrained_v1.0_infer.zip) | [inference_general.yaml](../../../deploy/configs/inference_general.yaml) | | 轻量级通用识别模型 | 通用场景 | [tar 格式下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/models/inference/PP-ShiTuV2/general_PPLCNetV2_base_pretrained_v1.0_infer.tar) [zip 格式下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/models/inference/PP-ShiTuV2/general_PPLCNetV2_base_pretrained_v1.0_infer.zip) | [inference_general.yaml](../../../deploy/configs/inference_general.yaml) |
注意:由于部分解压缩软件在解压上述 `tar` 格式文件时存在问题,建议非命令行用户下载 `zip` 格式文件并解压。`tar` 格式文件建议使用命令 `tar -xf xxx.tar` 解压。 注意:由于部分解压缩软件在解压上述 `tar` 格式文件时存在问题,建议非命令行用户下载 `zip` 格式文件并解压。`tar` 格式文件建议使用命令 `tar -xf xxx.tar` 解压。
...@@ -130,31 +128,15 @@ ...@@ -130,31 +128,15 @@
**注意** **注意**
1. windows 环境下如果没有安装 wget, 可以按照下面的步骤安装 wget 与 tar 命令,也可以在下载模型时将链接复制到浏览器中下载,并解压放置在相应目录下; linux 或者 macOS 用户可以右键点击,然后复制下载链接,即可通过 `wget` 命令下载。 - windows 环境下如果没有安装 wget, 可以按照下面的步骤安装 wget 与 tar 命令,也可以在下载模型时将链接复制到浏览器中下载,并解压放置在相应目录下; linux 或者 macOS 用户可以右键点击,然后复制下载链接,即可通过 `wget` 命令下载。
2. 如果 macOS 环境下没有安装 `wget` 命令,可以运行下面的命令进行安装。 - 如果 macOS 环境下没有安装 `wget` 命令,可以运行下面的命令进行安装。
```shell
```shell # 安装 homebrew
# 安装 homebrew ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)";
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"; # 安装 wget
# 安装 wget brew install wget
brew install wget ```
``` - 如果希望在 windows 环境下安装 wget,可以参考:[链接](https://www.cnblogs.com/jeshy/p/10518062.html);如果希望在 windows 环境中安装 tar 命令,可以参考:[链接](https://www.cnblogs.com/chooperman/p/14190107.html)
4. 如果希望在 windows 环境下安装 wget,可以参考:[链接](https://www.cnblogs.com/jeshy/p/10518062.html);如果希望在 windows 环境中安装 tar 命令,可以参考:[链接](https://www.cnblogs.com/chooperman/p/14190107.html)
* 可以按照下面的命令下载并解压数据与模型
```shell
mkdir models
cd models
# 下载识别 inference 模型并解压
wget {模型下载链接地址} && tar -xf {压缩包的名称}
cd ..
# 下载 demo 数据并解压
wget {数据下载链接地址} && tar -xf {压缩包的名称}
```
<a name="2.2.1"></a> <a name="2.2.1"></a>
...@@ -181,13 +163,13 @@ wget https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/data/drink_da ...@@ -181,13 +163,13 @@ wget https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/data/drink_da
├── drink_dataset_v2.0/ ├── drink_dataset_v2.0/
│ ├── gallery/ │ ├── gallery/
│ ├── index/ │ ├── index/
│ ├── test_images/ │ ├── index_all/
│ └── test_images/
├── ... ├── ...
``` ```
其中 `gallery` 文件夹中存放的是用于构建索引库的原始图像,`index` 表示基于原始图像构建得到的索引库信息,`test_images` 文件夹中存放的是用于测试识别效果的图像列表。 其中 `gallery` 文件夹中存放的是用于构建索引库的原始图像,`index` 表示基于原始图像构建得到的索引库信息,`test_images` 文件夹中存放的是用于测试识别效果的图像列表。
`models` 文件夹下应有如下文件结构: `models` 文件夹下应有如下文件结构:
```log ```log
...@@ -360,8 +342,8 @@ python3.7 python/predict_system.py -c configs/inference_general.yaml -o Global.i ...@@ -360,8 +342,8 @@ python3.7 python/predict_system.py -c configs/inference_general.yaml -o Global.i
目前,我们更推荐您使用[轻量级通用主体检测模型与轻量级通用识别模型](#轻量级通用主体检测模型与轻量级通用识别模型),以获得更好的测试结果。但是如果您希望体验服务端识别模型,服务器端通用主体检测模型与各方向识别模型、测试数据下载地址以及对应的配置文件地址如下。 目前,我们更推荐您使用[轻量级通用主体检测模型与轻量级通用识别模型](#轻量级通用主体检测模型与轻量级通用识别模型),以获得更好的测试结果。但是如果您希望体验服务端识别模型,服务器端通用主体检测模型与各方向识别模型、测试数据下载地址以及对应的配置文件地址如下。
| 模型简介 | 推荐场景 | inference 模型 | 预测配置文件 | | 模型简介 | 推荐场景 | inference 模型 | 预测配置文件 |
| ---------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | | ---------------- | -------------- | ------------ | ----------- |
| 通用主体检测模型 | 通用场景 | [模型下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/models/inference/ppyolov2_r50vd_dcn_mainbody_v1.0_infer.tar) | - | | 通用主体检测模型 | 通用场景 | [模型下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/models/inference/ppyolov2_r50vd_dcn_mainbody_v1.0_infer.tar) | - |
| Logo 识别模型 | Logo 场景 | [模型下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/models/inference/logo_rec_ResNet50_Logo3K_v1.0_infer.tar) | [inference_logo.yaml](../../../deploy/configs/inference_logo.yaml) | | Logo 识别模型 | Logo 场景 | [模型下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/models/inference/logo_rec_ResNet50_Logo3K_v1.0_infer.tar) | [inference_logo.yaml](../../../deploy/configs/inference_logo.yaml) |
| 动漫人物识别模型 | 动漫人物场景 | [模型下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/models/inference/cartoon_rec_ResNet50_iCartoon_v1.0_infer.tar) | [inference_cartoon.yaml](../../../deploy/configs/inference_cartoon.yaml) | | 动漫人物识别模型 | 动漫人物场景 | [模型下载链接](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/models/inference/cartoon_rec_ResNet50_iCartoon_v1.0_infer.tar) | [inference_cartoon.yaml](../../../deploy/configs/inference_cartoon.yaml) |
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册