PaddleClas 是飞桨图像分类套件,提供了实用的图像分类和检索任务解决方案和算法。近期,PaddleClas 发布最新 2.6 版本!此次发布带来了更丰富的图像分类和检索能力,提供更简单的低代码全流程开发方式,
新增能力具体如下
:
https://github.com/PaddlePaddle/PaddleClas
新增图像分类和检索能力介绍
图像分类和检索是计算机视觉领域中的一项基础任务,旨在让计算机系统能够识别图像中的特定目标或类别,如识别出一张图片中的猫、狗、车辆等。这项技术已被广泛应用于多个行业,涵盖了单标签分类、多标签分类以及人脸识别等场景。
PP-ShiTuV2,作为PaddleClas推出的全新通用图像识别系统,通过创新性地整合主体检测模型、图像特征模型以及向量检索模块,为开放域目标检测任务提供了一种创新解决方案。在最新版本中,我们推出了两款服务端图像特征模型:
PP-ShiTuV2_rec_CLIP_vit_base 和 PP-ShiTuV2_rec_CLIP_vit_large
。这两款模型采用CLIP_vit作为骨干网络,显著提升了特征提取的性能。在AliProducts数据集上,其recall@1指标最高可达91.03%,在内部私有开放域评测集上相较于PP-ShiTuV2_rec模型提升了超过20个百分点。
图像特征模块在计算机视觉领域扮演着至关重要的角色,它通过深度学习方法自动从图像数据中提取关键特征,这些特征以向量形式表示,能够高效捕捉图像的核心信息,为后续的检索任务提供支持。PP-ShiTuV2的强大特征提取能力使其能够应对更为复杂的识别任务,尤其是在处理商品等细粒度开放域场景时,PP-ShiTuV2相较于单一的开放域目标检测模型展现出了明显的优势。
单标签图像分类作为最常见的识别任务,PaddleClas一直关注前沿发展,此次发布支持了最新的算法模型:
-
MobileNetV4
:新一代专为移动设备设计的卷积神经网络,集成了多种前沿网络设计架构,并引入了新的NAS方案,,实现了在ImageNet数据集上87%的高精度。
-
StarNet
:引入元素乘法操作的超轻量级视觉骨干网络,简洁的网络结构设计带来了更低的延迟,并且在ImageNet数据集上达到了78.8%的精度。
-
FasterNet
:采用“部分卷积(PConv)”技术,有效减少了冗余计算和内存访问,提升了模型的推理速度,并在ImageNet数据集上取得了高达83.5%的精度。
PaddleX 提供了模型在公开数据集的精度及不同设备的推理耗时
与单标签分类仅能获得图像的一个预测类别不同,多标签分类需要获得图像在多个维度上的识别结果,因此多标签分类能够获得更丰富的信息,通常适用于更为复杂的场景,例如获取图像上所有动物的类别,或是获得人的性别、年龄、肤色等属性信息。PaddleClas 此次发布带来了 6 个多标签分类模型,涵盖高精度到高速度等不同尺度的模型,并且上述模型均使用了ML-Decoder分类头进一步提高了模型性能,在COCO2017多标签分类数据集上最高取得91.25的mAP精度。
多标签分类模型预测可视化效果图
人体属性识别端到端预测可视化效果图
由于人脸图像具有丰富的信息,能够实现对个人身份的自动识别,因此人脸识别一直都是视觉领域最为重要的任务之一,广泛应用于安全认证、社交媒体和智能设备等场景。
人脸识别任务需要定位图像中人脸的位置,然后提取人脸图像的特征,最后进行匹配获得相应的身份信息。
PaddleClas 本次发布了 MobileFaceNet 和 ResNet50_face 人脸特征提取模型,均基于 MS1Mv3 数据集进行训练,并评估了公开数据集的AP指标:
人脸识别产线端到端预测可视化效果图
飞桨低代码开发工具 PaddleX,依托于PaddleClas的先进技术,支持了图像分类和检索领域的低代码全流程开发能力。通过
低代码全流程开发
,可实现简单且高效的模型使用、组合与定制。这将显著
减少模型开发的时间消耗,降低其开发难度
,大大加快模型在行业中的应用和推广速度。详细特色如下:
-
模型丰富一键调用
:将通用图像分类、图像多标签分类、通用图像识别、人脸识别涉及的
98个模型
整合为6条模型产线,通过极简的
Python API一键调用
,可以快速体验模型效果。此外,同一套API,也支持目标检测、图像分割、文本图像智能分析、通用OCR、时序预测等共计
200+模型
,形成20+单功能模块,方便开发者进行
模型组合使用
。
-
提高效率降低门槛
:提供基于
统一命令
和
图形界面
两种方式,实现模型简洁高效的使用、组合与定制。
支持高性能推理、服务化部署和端侧部署等多种部署方式
。此外,对于各种主流硬件如
英伟达GPU、昆仑芯、昇腾、寒武纪和海光
等,进行模型开发时,都可以
无缝切换
。
以通用图像识别系统
PP-ShiTuV2为例
,
具体使用方法如下
:
# cpu
python -m pip install paddlepaddle==3.0.0b2 -i https:
# gpu,该命令仅适用于 CUDA 版本为 11.8 的机器环境
python -m pip install paddlepaddle-gpu==3.0.0b2 -i https:
# gpu,该命令仅适用于 CUDA 版本为 12.3 的机器环境
python -m pip install paddlepaddle-gpu==3.0.0b2 -i https:
安装 PaddleX
pip install https://paddle-model-ecology.bj.bcebos.com/paddlex/whl/paddlex-3.0.0b2-py3-none-any.whl
PaddleX 提供了简单易用的 Python API,只需几行代码即可体验端到端预测效果:
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()
方法进行可视化并保存为图片。