# PP-ShiTuV2-rec ## 1. 模型简介 PP-ShiTuV2-rec 是 PP-ShiTuV2 轻量级通用图像识别系统中的特征提取模型,该模型基于 PP-LCNetV2_base 模型基于度量学习(Metric Learning)训练得到。PP-LCNetV2 系列模型是 PaddleClas 提出的轻量级视觉骨干网络,在CPU端与移动端具有卓越的性能。下图展示了 PP-ShiTuV2 轻量级通用图像识别系统在移动端的测试效果: <div align=center> <img src="https://github.com/PaddlePaddle/PaddleClas/assets/12560511/2f9224a2-3120-4256-8c20-e3c95c22053f" style="height: 400px"> </div> 更多关于 PaddleClas 的内容,可以点击 [PaddleClas 仓库](https://github.com/PaddlePaddle/PaddleClas) 进行了解。 ## 2. 技术方案 特征提取是图像识别中的关键一环,它的作用是将输入的图片转化为固定维度的特征向量,用于后续的向量检索。考虑到特征提取模型的推理速度、模型大小、特征提取性能等因素, 选用了 PP-LCNetV2_base 作为骨干网络,并进行了部分针对性的改进,包括:去掉 PPLCNetV2_base 末尾的 ReLU 和 FC、将最后一个 stage(RepDepthwiseSeparable) 的 stride 改为1,以上改进可以在保持速度基本不变的情况下,提高模型在识别任务中的性能。关于 PP-ShiTuV2-rec 特征提取模型的数据集、训练、评估、推理等详细信息可以参考文档:[PPLCNetV2_base_ShiTu](https://github.com/PaddlePaddle/PaddleClas/blob/release/2.5/docs/zh_CN/training/PP-ShiTu/feature_extraction.md)。 ## 3. 如何使用 ### 3.1 数据准备 数据准备说明参考:[特征检索](https://ai.baidu.com/ai-doc/AISTUDIO/Clkg7m4y9#%E7%89%B9%E5%BE%81%E6%A3%80%E7%B4%A2%E4%BB%BB%E5%8A%A1)。 完成数据准备后,点击右上角 `创建模型产线` 后,在模型训练阶段更换自己的数据路径即可进行训练。 ### 3.2 模型训练 模型训练推荐使用`工具箱模式`: `工具箱模式`主要包含数据集验证、模型训练、评估测试和模型部署四个环节。你可以根据实际需求选择模型结构、骨干网络及对应的训练参数、优化策略,使得任务效果最佳。 <img src="https://ai-studio-static-online.cdn.bcebos.com/a0c6dd65d313468ea41b844e64dd31ea9babe6219f4e45c1ace280ac4577f077" width="600"> ### 3.3 模型部署 - 部署支持情况: | 操作系统 | 支持硬件 | 支持接口 | | -------- | -------- | -------- | | Windows/Linux | NV GPU / X86 CPU | C++ / Python | - 部署流程: 1、点击右上角 `创建模型产线` ,完成模型训练后,在`工具箱模式`,根据实际部署硬件,选择下载 `FastDeploy` 部署包到本地,其中包括部署代码和预测模型; 2、参考部署包里面的Readme使用说明,在目标硬件上进行部署。 **注意:如果需要更新预测模型,可以直接修改部署包中的预测模型。**