说到图像识别,有些人可能会一头雾水,其实图像识别早已经成熟地应用在了各行各业。比如,正在进行中的双十一全民剁手节,相信很多小伙伴们都在某宝上解锁过以图搜图购物;越来越先进的自动驾驶道路街景识别;工业制造中不同组件的缺陷识别检测等等。
有的开发者看到这里可能会心存疑问:上面所说的场景为什么不直接用图像分类或者目标检测算法实现呢?
别急,让我们看看下面这些实际的产业难题你就会恍然大悟:
1. 【品类更新频率高】像新零售这种行业,新品几乎都是按小时级别在更新!
2. 【目标区分难度大】细分类差别极其细微,实际图像角度多变刁钻!
3. 【算法复杂速度慢】业务上线预测速度要求极高,在闸机前不可能还需要等!
一个优秀的图像识别系统就是上述产业难题的最佳解决方案,需要综合目标检测、图像分类、度量学习、图像检索等多重技术,然而对一些开发者来说,确实存在较高的开发门槛。而近期,飞桨推出了一个全开源、轻量级图像识别系统PP-ShiTu,完美解决上述产业落地中的重重难点,CPU上仅需0.2s轻松识别十万类,而且十分简单易用。
PP-ShiTu技术报告地址:
http://arxiv.org/abs/2111.00775
链接指路:
https://github.com/PaddlePaddle/PaddleClas
(Star🌟收藏一下,不易走丢哦)
话不多说,让我们直接来看看这个图像识别系统的架构:
图1 PP-ShiTu架构示意图
轻量的主体检测
PP-ShiTu的第一个模块是主体检测,它的作用是在图像中找出主体目标的区域。PP-ShiTu在这个模块中采用了超高性价比的目标检测算法——PP-PicoDet。PP-PicoDet在骁龙865上,单张图像21ms的预测速度下,在COCO数据集mAP可以达到36.3%;相同环境下,精度优于YOLOv5n和YOLOX-nano 8个点以上。而它的出现,使PP-ShiTu的主体检测模块,相比上一个版本在精度几乎不变的情况下,预测速度提升了15倍以上!
图2 主体检测新旧版本指标对比图
PP-PicoDet技术报告地址:
https://arxiv.org/abs/2111.00902
高效的特征提取模块
PP-ShiTu的第二个模块是特征向量提取。它的作用是将图像转换成特征向量,方便后续进行检索识别。PP-ShiTu采用CPU级轻量化骨干网络PP-LCNet,并结合arcmargin算法,得到轻量化的特征提取模型。在 Intel至强6148处理器,PP-LCNet的单张图像5.39ms的预测速度下,在ImageNet上Top1识别准确率可以达到80.82%,准确率超越大模型ResNet50的模型效果,而预测速度却可以达到后者的3倍!PP-ShiTu充分挖掘该网络的潜力,学习一个具有超强泛化能力的特征提取模型,同一模型可在多个数据集上同时达到较高精度。
图3 特征提取模型新旧版本指标对比图
PP-LCNet技术报告地址:
https://arxiv.org/abs/2109.15099
ArcMargin文章地址:
https://arxiv.org/abs/1801.07698
向量检索模块
PP-ShiTu的第三个模块是向量检索。当获得了图像特征后,我们通过计算向量距离来获得两张图像的相似度,进一步通过向量检索获取最终识别结果。这种方式最大的优点是,当增加新的品类时,不需要重新训练提取特征模型,仅需要更新检索库即可识别新的目标。为了更好地兼容(Linux, Windows, MacOS)多平台,PP-ShiTu使用的向量搜索模块Faiss。
Faiss技术报告地址:
https://arxiv.org/pdf/1702.08734.pdf
而这样一个高效的识别系统使用起来却只需三步,绝对的 ”开箱即用”!
第一步通过目标检测模型,进行主体检测;
第二步对每个候选区域进行特征提取;
第三步将特征提取后的向量在检索库中进行检索,完成匹配,返回识别结果。
图4 PP-ShiTu使用流程示例
直播预告
为了让开发者更深入的了解PaddleClas并手把手教大家完成图像识别系统的搭建,项目团队还精心准备了为期4天的直播课程。11月2日-5日百度高工将为我们讲解图像识别产业应用的方法和技巧,对各类痛难点解决方案进行详细拆解分析,现场还可以直接为大家进行答疑,还在等什么!赶紧扫码上车吧!
扫码报名直播课,加入技术交流群
精彩内容抢先看!长按收藏海报~
如果您想详细了解更多飞桨的相关内容,请参阅以下文档。
官网地址:
https://www.paddlepaddle.org.cn
【PaddleClas】项目地址:
GitHub: https://github.com/PaddlePaddle/PaddleClas/tree/release/2.3
Gitee: https://gitee.com/paddlepaddle/PaddleClas
这么强大、用心的项目 ,还不赶紧给各位开发者一个Star🌟的鼓励!
https://github.com/PaddlePaddle/PaddleClas
数据来源:部分图片来源于网络,侵权可删