背景介绍
当类别调整时,需要重新训练模型,对于类别需要频繁更新的场景,而零售商品的更新迭代速度很快,每次更新都重新训练模型显然是不切实际的; 很多场景要求细粒度识别,即不同类别特征差异较小,使用目标检测或是图像分类无法做到很好的区分,例如对于饮料商品,不同品牌的外观差异并不大; 深度模型训练依赖海量数据,数据集质量会严重影响模型性能,然而高质量数据集的制作成本不菲; 开放域目标检测技术依赖语义信息进行识别,因此类别的语言标注严重影响识别结果,例如商品识别中“尖叫”、“红牛”等标签,其语义信息和饮料图像特征并无明显关联;
主体检测模块:不同于一般的目标检测,主体检测只需将全部前景目标物体识别出来;
图像特征模块:将主体检测模块识别得到的所有主体目标,通过深度学习模型提取得到对应的特征向量;
向量检索模块:计算特征向量和特征底库的相似度,从而得到对应目标的预测类别;
注:以上精度指标为 AliProducts recall@1。所有模型 GPU 推理耗时基于 NVIDIA Tesla T4 机器,精度类型为 FP32, CPU 推理速度基于 Intel(R) Xeon(R) Gold 5117 CPU @ 2.00GHz,线程数为8,精度类型为 FP32。
下面就从零开始,使用PaddleX体验通用图像识别系统 PP-ShiTuV2:
安装
# cpu
python -m pip install paddlepaddle==3.0.0b2 -i https://www.paddlepaddle.org.cn/packages/stable/cpu/
# gpu,该命令仅适用于 CUDA 版本为 11.8 的机器环境
python -m pip install paddlepaddle-gpu==3.0.0b2 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/
# gpu,该命令仅适用于 CUDA 版本为 12.3 的机器环境
python -m pip install paddlepaddle-gpu==3.0.0b2 -i https://www.paddlepaddle.org.cn/packages/stable/cu123/
pip install https://paddle-model-ecology.bj.bcebos.com/paddlex/whl/paddlex-3.0.0b2-py3-none-any.whl
快速体验
PaddleX 提供了简单易用的 Python API,只需几行代码即可体验端到端预测效果,在PP-ShiTuV2的运行示例中需要预先构建索引库,您可以下载官方提供的饮料识别测试数据集,方便大家快速体验效果:
饮料识别测试数据集:
https://paddle-model-ecology.bj.bcebos.com/paddlex/data/drink_dataset_v2.0.tar
from paddlex import create_pipeline
pipeline = create_pipeline(pipeline="PP-ShiTuV2")
index_data = pipeline.build_index("drink_dataset_v2.0/", "drink_dataset_v2.0/gallery.txt")
output = pipeline.predict("./drink_dataset_v2.0/test_images/", index=index_data)
for res in output:
res.print()
res.save_to_img("./output/")
首先使用产线名称调用create_pipeline()方法实例化产线对象;
然后调用build_index()方法构建特征向量库;
最后即可使用predict()方法进行预测,对于预测结果支持print()方法进行打印,以及save_to_img()方法进行可视化并保存为图片。
PP-ShiTuV2预测可视化效果图
PP-ShiTuV2预测可视化效果图
二次开发
python main.py -c paddlex/configs/general_recognition/PP-ShiTuV2_rec.yaml \
-o Global.mode=train \
-o Global.dataset_dir=./dataset/Inshop_examples
通用图像识别产线使用教程
https://paddlepaddle.github.io/PaddleX/latest/pipeline_usage/tutorials/cv_pipelines/general_image_recognition.html
图像特征模块使用教程
https://paddlepaddle.github.io/PaddleX/latest/module_usage/tutorials/cv_modules/image_feature.html
主体检测模块使用教程
精彩课程预告
为了帮助您迅速且深入地了解全新升级的通用图像识别系统PP-ShiTuV2创新解决方案,百度研发工程师将于 11月21日(周四)19:00 为您深度解析本次技术升级。此外,我们还将开设针对通用图像识别模型产线的产业场景实战营,手把手带您体验从数据准备、数据校验、模型训练、性能优化到模型部署的完整开发流程。机会难得,立即扫描下方二维码预约吧!
关注【飞桨PaddlePaddle】公众号
获取更多技术内容~