快速实践大规模图片分类模型:飞桨识图 PP-ShiTu
飞桨识图PP-ShiTu是轻量级图像识别系统,集成了目标检测、特征学习、图像检索等模块,广泛适用于各类图像识别任务。CPU上0.2s即可完成在10w+库的图像识别。
1. 环境配置
- 下载PaddleClas:下载官方repo的PaddleClas代码
- 安装requirements。
2. 图像识别体验
轻量级通用主体检测模型与轻量级通用识别模型和配置文件下载方式如下表所示。
模型简介 | 推荐场景 | inference模型 | 预测配置文件 | 构建索引库的配置文件 |
---|---|---|---|---|
轻量级通用主体检测模型 | 通用场景 | 模型下载链接 | – | – |
轻量级通用识别模型 | 通用场景 | 模型下载链接 | inference_general.yaml | build_general.yaml |
本章节 demo 数据下载地址如下: 瓶装饮料数据下载链接。
注意
- 可以按照下面的命令下载并解压数据与模型
- 使用下面的命令将默认工作目录切换到PaddleClas的deploy文件夹下
2.1 下载、解压 inference 模型与 demo 数据
下载demo数据集以及通用检测、识别模型,命令如下。
解压完毕后, 文件夹下应有如下文件结构:
其中 文件夹中存放的是用于构建索引库的原始图像, 表示基于原始图像构建得到的索引库信息, 文件夹中存放的是用于测试识别效果的图像列表。
文件夹下应有如下文件结构:
2.2 瓶装饮料识别与检索
以瓶装饮料识别demo为例,展示识别与检索过程(如果希望尝试其他方向的识别与检索效果,在下载解压好对应的demo数据与模型之后,替换对应的配置文件即可完成预测)。
2.2.1 识别单张图像
运行下面的命令,对图像 进行识别与检索
待检索图像如下所示。
2.2.2 基于文件夹的批量识别
如果希望预测文件夹内的图像,可以直接修改配置文件中的字段,也可以通过下面的参数修改对应的配置。
终端中会输出该文件夹内所有图像的识别结果,如下所示。
待检索图像如下所示。
- 上面就完成了整个识别的过程,考虑到大家可能会自己修改配置文件,这里以和为例,给大家介绍下配置文件中的一些参数说明。
- 下面是中的一些参数配置
Global: # 全局配置 infer_imgs: "./drink_dataset_v1.0/test_images/nongfu_spring.jpeg" # 预测的图片或者预测 det_inference_model_dir: "./models/picodet_PPLCNet_x2_5_mainbody_lite_v1.0_infer" # 检测inference模型路径 rec_inference_model_dir: "./models/general_PPLCNet_x2_5_lite_v1.0_infer" # 识别inference模型路径 rec_nms_thresold: 0.05 # 识别结果的nms阈值# 主体检测相关配置 batch_size: 1 image_shape: [3, 640, 640] # 输入图像的尺度 threshold: 0.2 # 检测得分阈值 max_det_results: 5 # 返回检测框的最大值 labe_list: # 检测label list - foreground # 预测引擎相关配置 use_gpu: True enable_mkldnn: True cpu_num_threads: 10 enable_benchmark: True use_fp16: False ir_optim: True use_tensorrt: False gpu_mem: 8000 enable_profile: False# 检测预处理DetPreProcess: transform_ops: - DetResize:interp: 2keep_ratio: falsetarget_size: [640, 640] - DetNormalizeImage:is_scale: truemean: [0.485, 0.456, 0.406]std: [0.229, 0.224, 0.225] - DetPermute: {}DetPostProcess: {}# 识别预处理RecPreProcess: transform_ops: - ResizeImage:size: 224 - 声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!