社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

Github 3.5k,人、车、OCR等9大超轻量图像分类场景模型全开源!!

开源前线 • 2 年前 • 373 次点击  
“图像分类”作为人工智能领域的重要基础任务,早已在安防监控、智慧交通、医疗影像诊断甚至社交娱乐等行业被广泛应用,成为AI从业者的“必备技能”,例如安防系统中的人体属性识别;文档电子化、卡证识别中的图片方向校准;辅助驾驶中的交通标识、红绿灯状态识别等等,都离不开图像分类技术的支持。

图1 PaddleClas图像分类应用示意图


然而,在实际产业应用中,想要得到一个既快又好的分类模型依然面临很多挑战:


大模型精度-速度难以兼顾

从大名鼎鼎的Resnet50到如今火热的Swin-Transformer,模型精度不断被刷新,但是预测效率并不高。使用Swin-Transformer最小的模型在CPU上预测速度也超过100ms,远远无法满足实时需求。



轻量化模型优化困难

虽然使用MobileNet系列等轻量化模型可以保证较高的预测效率,在CPU上预测一张图像大约3ms,但是模型精度往往和大模型有很大差距。



模型优化落地困难

想要得到性能理想的模型往往需要经过反复的调优操作和重新训练,即使是高频业务场景可参考的实践教程也极少,项目落地不仅耗时长,难度也很大。

近期,飞桨图像分类开发套件 PaddleClas 推出的超轻量图像分类方案(Practical Ultra Light Classification,简称PULC),就可以完美解决上述产业落地中的难点。只需一行命令,就可完成模型训练,得到精度上与Swin-Transformer等大模型比肩的超轻量图像分类模型,预测速度加速30倍以上,CPU上仅需2ms。


表1 不同模型精度速度结果对比


同时基于这套方案,PaddleClas 团队还发布了人、车、OCR相关的9大场景模型,并且提供了极致简单、统一的使用方式,仅需2步就能实现业务 POC 效果验证,训练、推理、部署一条龙,极大降低应用门槛,真正实现“开箱即用”。


图2 9大场景模型效果示意图



传送门:

https://github.com/PaddlePaddle/PaddleClas








超轻量图像分类方案核心技术介绍



超轻量图像分类方案(PULC)和核心技术主要包括4个优化策略,如下图所示。


图3 超轻量图像分类方案(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个点。











PaddleClas产业落地工具集



考虑到真实产业应用面对的各种软硬件环境和不同的场景需求,本次升级同时发布了PaddleClas产业落地工具集。针对图像分类任务,打通20种训练部署软硬件环境与方式,包括3种训练方式、5种训练环境、3种模型压缩策略、和9种推理部署方式,如下表所示。


表2 图像分类产业落地工具集支持的训练推理部署功能列表


其中特色能力如下:
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









福利时间到

为了让开发者们更深入的了解PaddleClas这次发布的全新内容,解决落地应用难点,掌握产业实践的核心能力,6月15-6月17日晚20:30飞桨团队精心准备了为期三天的直播课程!
百度资深高工将为我们详细介绍超轻量图像分类方案,对各场景模型优化原理及使用方式进行拆解,之后还有产业案例全流程实操,对各类痛难点解决方案进行手把手教学,加上直播现场互动答疑,还在等什么!抓紧扫码上车吧!


扫码报名 加入技术交流群


入群福利:

获取PaddleClas详解本次升级内容的直播课链接。
获取PaddleClas团队整理的10G重磅图像分类学习大礼包,包括:

图4 PaddleClas入群礼包内容示意


入群方式:

SETP1:微信扫描二维码,填写问卷
SETP2:加入交流群领取福利
















更多阅读














官网地址:https://www.paddlepaddle.org.cn

PaddleClas项目地址:

GitHub: https://github.com/PaddlePaddle/PaddleClas

Gitee: https://gitee.com/paddlepaddle/PaddleClas

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/135740
 
373 次点击