3毫秒极速识别,一个4.1k Satr的开源项目
发布日期:2022/7/19 10:58:07 浏览量:
人脸、车辆、人体属性、卡证、交通标识等经典图像识别能力,在我们当前数字化工作及生活中发挥着极其重要的作用。业内也不乏顶尖公司提供的可直接调用的API、SDK,但这些往往面临着定制化场景泛化效果不好、价格昂贵、黑盒可控性低、技术壁垒难以形成等诸多痛点。
而今天小编要给大家推荐的是一个完全开源免费的、覆盖人、车、OCR等9大经典识别场景、在CPU上可3毫秒实现急速识别、一行代码就可实现迭代训练的项目PaddleClas!
图1 PaddleClas 图像分类应用示意图
话不多说,赶紧送上传送门,识货的小伙伴赶紧尝试一下吧!
记得Star收藏防止走丢哦!
https://github.com/PaddlePaddle/PaddleClas
下面小编就来详细拆解下这个项目的过人之处吧!
图2 9大场景模型效果示意图
1
亮点一
完美平衡精度与速度
从大名鼎鼎的Resnet50到如今火热的Swin-Transformer,模型精度不断被刷新,但是预测效率并不高。即使是Swin-Transformer最小的模型,在CPU上的预测速度也超过100ms,远远无法满足产业实时预测的需求。
而使用MobileNet系列等轻量化模型可以保证较高的预测效率,在CPU上预测一张图像大约3ms,但是模型精度往往和大模型有很大差距。
PaddleClas推出的超轻量图像分类方案(Practical Ultra Light Classification,简称PULC),就完美解决上述产业落地中算法精度和速度难以平衡的痛点。
表1 不同模型精度速度结果对比
如图所示,它的精度与Swin-Transformer等大模型比肩,预测速度却可以快30倍以上,在CPU上的推理时长仅需2ms!
2
亮点二
易用性极强
PULC方案不仅完美地平衡了精度与速度,还充分考虑了产业实践过程中需要定制化的对算法快速迭代的需求,只需一行命令,就可完成模型训练。
与此同时,PaddleClas 团队还发布了包括人、车、OCR在内的9大场景模型,仅需2步就能实现业务 POC 效果验证,训练、推理、部署一条龙,真正实现“开箱即用”。
不仅如此,项目还匹配了详细的中文使用文档及产业实践范例教程。
图3 使用文档及范例示意图
3
亮点三
集成超多硬核技术
超轻量图像分类方案(PULC)集成了业界4大业界领先的优化策略:
图4 超轻量图像分类方案(PULC)示意图
PP-LCNet轻量级骨干网络
PP-LCNet作为针对CPU量身打造的骨干网络模型,在速度、精度方面均远超如MobileNetV3等同体量算法,多个场景模型优化后,速度较SwinTransformer的模型快30倍以上,精度较MobileNetV3_small_0.35x高18个点。
SSLD预训练权重
SSLD半监督蒸馏算法可以使小模型学习到大模型的特征和ImageNet22k无标签大规模数据的知识。在训练小模型时,使用SSLD预训练权重作为模型的初始化参数,可以使不同场景的应用分类模型获得1-2.5个点的精度提升。
数据增强策略集成
该方案融合了图像变换、图像裁剪和图像混叠3种数据增强方法,并支持自定义调整触发概率,能使模型的泛化能力大大增强,提升模型在实际场景中的性能。模型可以在上一步的基础上,精度再提升1个点左右。
SKL-UGI知识蒸馏算法
SKL(symmetric-KL)在经典的KL知识蒸馏算法的基础上引入对称信息,提升了算 法的鲁棒性。 同时,该方案可以方便地在训练中加入无标签训练数据(Unlabeled General Image),可以进一步提升模型效果。 该算法可以使模型精度继续提升1-2个点。
4
服务真实场景需求
20种产业算法落地方案
不仅如此,PaddleClas团队考虑到真实产业应用面对的各种软硬件环境和不同的场景需求,在提供PULC方案的同时,还提供了包括3种训练方式、5种训练环境、3种模型压缩策略和9种推理部署方式在内的20种产业算法落地方案:
表2 PaddleClas训练推理部署功能支持列表
其中值得高度关注的有:
01 分布式训练
飞桨分布式训练架构具备4D混合并行、端到端自适应分布式训练等多项特色技术。在PP-LCNet训练中,4机8卡相较于单机8卡加速比达到3.48倍,加速效率87%,精度无损。
02 模型压缩
飞桨模型压缩工具PaddleSlim功能完备,覆盖模型裁剪、量化、蒸馏和NAS。图像分类模型经过量化裁剪后,移动端平均预测耗时减少24%。
03 移动端/边缘端部署
飞桨轻量化推理引擎Paddle Lite适配了20+ AI 加速芯片,可以快速实现图像分类模型在移动设备、嵌入式设备和IOT设备等高效设备的部署。
以上所有模型、代码均在PaddleClas中开源提供,还有超详细文档教程和范例项目,赶紧查看全部开源代码并Star收藏吧~
链接指路
https://github.com/PaddlePaddle/PaddleClas
-
官网地址:
https://www.paddlepaddle.org.cn
-
PaddleClas项目地址:
GitHub: https://github.com/PaddlePaddle/PaddleClas
Gitee: https://gitee.com/paddlepaddle/PaddleClas
马上咨询: 如果您有业务方面的问题或者需求,欢迎您咨询!我们带来的不仅仅是技术,还有行业经验积累。
QQ: 39764417/308460098 Phone: 13 9800 1 9844 / 135 6887 9550 联系人:石先生/雷先生