PaddleClas/docs/zh_CN/inference_deployment/shitu_gallery_manager.md

5.9 KiB
Raw Blame History

PP-ShiTu 库管理工具

本工具是PP-ShiTu的离线库管理工具主要功能包括新建图像库、更改图像库、建立索引库、更新索引库等功能。此工具是为了用户能够可视化的管理图像及对应的index库用户可根据实际情况灵活的增删改查相应的gallery图像库及索引文件在提升用户体验的同时辅助PP-ShiTu在实际应用的过程中达到更好的效果。

目录

1. 功能介绍

此工具主要功能包括:

  • 构建PP-ShiTu中索引库对应的gallery图像库
  • 根据构建的gallery图像库,生成索引库
  • gallery图像库进行操作,如增删改查等操作,并更新对应的索引库

其中主界面的按钮如下图所示

界面按钮展示

上图中第一行包括:主要功能按钮保存按钮新增类别按钮删减类别按钮

第二行包括:搜索框搜索确定键新加图像按钮删除图像按钮

下面将进行具体功能介绍,其操作入口,可以点击主要功能按钮下拉菜单查看

1.1 新建图像库

点击新建库功能后,会选择一个空的存储目录或者新建目录,此时所有的图片及对应的索引库都会存放在此目录下。完成操作后,如下图所示

新建库

此时,用户可以新建类别具体可以点击新增类别按钮删减类别按钮。选中类别后,可以进行添加图像及相关操作,具体可以点击及新加图像按钮删除图像按钮。完成操作后,注意保存

1.2 打开图像库

此功能是,用此工具存储好的库,进行打开编辑。注意,打开库时,请选择打开的是新建库时文件夹路径。打开库后,示例如下

打开库

1.3 导入图像

在打开图像库或者新建图像库完成后,可以使用导入图像功能,即导入用户自己生成好的图像库。具体有支持两种导入格式

  • image_list格式打开具体的.txt文件。.txt文件中每一行格式: image_path label。跟据文件路径及label导入
  • 多文件夹格式:打开具体文件夹,此文件夹下存储多个子文件夹,每个子文件夹名字为label_name,每个子文件夹中存储对应的图像数据。

1.4 图像操作

选择图像后,鼠标右击可以进行如下操作,可以根据需求,选择具体的操作,注意修改完成图像后,请点击保存按钮,进行保存

图像操作

1.5 生成、更新index库

在用户完成图像库的新建、打开或者修改,并完成保存操作后。可以点击主要功能按钮新建/重建索引库更新索引库等功能,进行索引库的新建或者更新,生成PP-ShiTu使用的Index库

2. 使用说明

2.1 环境安装

安装好PaddleClas

pip install fastapi
pip install uvicorn
pip install pyqt5

2.2 模型准备

请按照PP-ShiTu快速体验中下载及准备inference model model

2.3 运行使用

运行方式如下

cd ${PaddleClas}/deploy/
python shitu_index_manager/start.py -c inference_drink.yaml

3. 生成文件介绍

使用此工具后,会生成如下格式的文件

index_root/            # 库存储目录
|-- image_list.txt     # 图像列表每行image_path label。由前端生成及修改后端只读 
|-- images             # 图像存储目录,由前端生成及增删查等操作。后端只读
|   |-- md5.jpg     		
|   |-- md5.jpg   
|   |-- ……  
|-- features.pkl       # 建库之后保存的embedding向量后端生成前端无需操作
|-- index              # 真正的生成的index库存储目录后端生成及操作前端无需操作。
|   |-- vector.index   # faiss生成的索引库
|   |-- id_map.pkl     # 索引文件

其中index_root是使用此工具时,用户选择的存储目录,库的索引文件存储在index文件夹中。

使用PP-ShiTu时,索引文件目录需换成index文件夹的地址。

致谢

此工具的前端主要由国内qt论坛总坛主小熊宝宝完成,感谢小熊宝宝的大力支持~~

此工具前端原项目地址:https://github.com/cnhemiya/shitu-manager

FAQ

  • 问题1: 点击新建索引库后,程序假死

    答:生成索引库比较耗时,耐心等待一段时间就好

  • 问题2: 导入图像是什么格式?

    答: 目前支持两种格式 1image_list 格式list中每行格式path label。2文件夹格式类似ImageNet存储方式

  • 问题3: 生成 index库报错

    在修改图像后必须点击保存按钮保存完成后再继续生成index库。

  • 问题4: 报错 图像与index库不一致

    可能用户自己修改了image_list.txt修改完成后请及时更新index库保证其一致。