机器之心发布

机器之心编辑部

百度 PaddlePaddle 团队开发的 PaddleClas 是一个适用于业界和学界的图像分类任务工具集,可以帮助用户训练更好的计算机视觉模型并应用于真实场景中。近期 PaddleClas 迎来了全面升级,其中提供了更高精度的知识蒸馏模型、更丰富的模型种类以及更佳的开发体验,从而使得开发者更方便地在服务器端或者移动端、IoT 端进行部署。

图像分类任务作为深度学习视觉领域的「基石」,几乎是每一位视觉方向开发者最先要学习的基础本领。众所周知,图像分类已广泛应用在智慧零售、智慧交通、智慧医疗、智慧安防等等各行各业。不仅如此,图像目标检测、图像分割、图像检索、OCR、人脸识别等高阶视觉任务也常将图像分类网络作为骨干网络。图像分类的网络结构和预训练模型则无疑是智能视觉技术的稳固地基和强壮骨架,它的性能直接影响高阶视觉任务的效果。

图像分类任务如此重要,但好的分类网络却没有那么容易被训练出来。开发者往往要面临像目标遮挡、尺度变化、变形、背景噪音过大、光照视角多变、目标姿态多变等问题。为了解决这些困难,大家一般需要从数据增广、骨干网络设计、损失定义、优化器设计、模型压缩裁剪量化、模型可解释性、特征迁移学习等不同的角度对图像分类问题进行深入探索。听起来是不是就头大?

莫慌!PaddleClas 就是一个超强的图像分类任务的工具集,助力开发者训练出更好的视觉模型并快速应用落地。PaddleClas 近期也完成了全新的升级,本次升级之后,PaddleClas 可算成为了地表超强开源图像分类库(不好说『最』,怕被请喝茶)。那这个称号是从哪里来的呢?让我们用事实说话,看看 PaddleClas 升级后到底有多强大!

  1. 更高精度的模型:基于百度自研的知识蒸馏方案(SSLD),PaddleClas 开源了 14 个 SSLD 分类预训练模型,精度普遍提升 3% 以上;其中 ResNet50_vd 模型在 ImageNet-1k 数据集上的 Top-1 精度达到了 84.0%,Res2Net200_vd 预训练模型 Top-1 精度高达 85.1%。同时也优化出更多业界 SOTA 模型,并支持图像检测、分割以及 OCR 等高阶视觉任务全面提升模型效果;

  2. 更丰富的模型种类:本次升级新增 4 个系列模型(InceptionV3、GhostNet、ResNeSt 和 RegNet),至此 PaddleClas 总共包含 29 个系列的分类网络以及 134 个预训练模型;

  3. 开发体验进一步升级:全面支持动态图,使你的算法构建、训练以及评估调试更轻松。并进一步打通全流程部署,无论是在移动端、IoT 端还是在服务器端进行部署,都可以在这里找到最佳的部署方案;

  4. 数十种图像分类算法开发的 Trick 和工具!深入理解开发者算法开发过程中的难点,手把手教你提升算法性能!

已经迫不及待要去看项目代码了嘛?传送门送你一程:

https://github.com/paddlepaddle/PaddleClas

觉得不错的小伙伴可以点起 Star 支持一下~

在深入研究 PaddleClas 之后呢,本文也给大家解析一下 PaddleClas 本次升级的详情。

更多高精度的知识蒸馏模型

PaddleClas 中提供了 SSLD 知识蒸馏方案,在无需更多有标签图像的条件下,可以在不换模型的基础上将分类模型的精度提升 3% 以上。在此次全面升级过程中,PaddleClas 进一步提供了基于 ResNet_vd、HRNet、Res2Net_vd、MobileNetV3、GhostNet 等骨干网络蒸馏得到的 SSLD 预训练模型,不仅可以用于迁移训练、预训练权重参数;也可以用于检测、分割等下游视觉任务中,进一步提升下游视觉任务的精度指标。

就让我们看图说话:下面两张图给出了 PaddleClas 在服务器端和端侧(移动端、IoT 端)开源的 SSLD 蒸馏预训练模型的精度提升对比情况:

可以看出,无论是服务器端还是移动端或 IoT 端,经过 SSLD 知识蒸馏之后的模型精度均提升了 3% 左右。而且模型越大,精度提升越明显。特别地,基于该蒸馏方案,PaddleClas 将 ResNet50_vd 的 Top-1 精度提升到 83.0%;进一步地,基于 Fix 策略,调大训练尺度 (224 -> 320),ResNet50_vd 的 Top-1 精度可以到达 84.0%

此外,基于 SSLD 蒸馏预训练模型,在目标检测任务中,模型精度提升也非常明显,具体如下表所示:

在图像分割任务中, 基于 CityScapes 数据集的精度收益如下表所示:

在文字检测任务中(OCR),基于 DBNet 的精度收益如下:

在绝大多数场景中,不需要任何额外的训练或者预测成本,仅使用 SSLD 知识蒸馏预训练模型,便可以轻松提升模型精度。更多 SSLD 的原理和性能,可以到这里查看详情:https://github.com/PaddlePaddle/PaddleClas/blob/release/2.0-rc1/docs/zh_CN/advanced_tutorials/distillation/distillation.md

更丰富的模型种类

如我们在开头所述, PaddleClas 在此次升级中,进一步丰富了模型库,新增 4 个系列模型(InceptionV3、GhostNet、ResNeSt、RegNet)。目前总共包含 29 个系列的分类网络以及 134 个预训练模型,包括 ResNet、ResNet_vd、Res2Net、ResNeXt 、HRNet、ResNeSt、MobileNetV1/2/3、GhostNet 等,涵盖了从服务器端到移动端的各类使用场景,这也是目前种类最丰富的图像分类代码仓库。

  • InceptionV3 是 Google 对 InceptionV2 的一种改进。首先,InceptionV3 设计和使用了更多种类的 Inception 模块,部分 Inception 模块将较大的方形二维卷积拆成两个较小的非对称卷积,从而大幅度节省参数量;

  • GhostNet 是华为于 2020 年提出的一种全新的轻量化网络结构。通过引入 Ghost module,大大缓解了传统深度网络中特征的冗余计算问题,使得网络的参数量和计算量大大降低;

  • ResNeSt 系列模型是 2020 年提出的。在原有的 ResNet 网络结构上做了改进,通过引入 K 个 Group 和在不同 Group 中加入类似于 SEBlock 的 attention 模块,使得精度相比于基础模型 ResNet 有了大幅度的提升,且参数量和 flops 与基础的 ResNet 基本保持一致;

  • RegNet 是由 Facebook 于 2020 年提出。通过加入共享瓶颈 ratio、共享组宽度、调整网络深度与宽度等策略,最终实现简化设计空间结构、提高设计空间的可解释性、改善设计空间的质量,并保持设计空间的模型多样性的目的。

下面也分别给出了服务端模型和端侧模型在 T4 GPU 和骁龙 855 芯片上的预测耗时与精度曲线,大家可以根据自己的预测耗时或者精度要求,选择合适的分类网络。

更好的易用性

全面支持动态图

静态计算指的是程序在编译执行时首先生成神经网络结构,然后再执行相应操作。通过这种先定义后运行的方式,再次运行的时候就不再需要重新构建计算图,因此在速度方面会更快一些。动态计算指的是程序按照编写命令的顺序进行执行,这会大大降低调试的难度。在此次升级中,PaddleClas 在训练过程中为动态图模式,在预测部署时为静态图模式,从而保证了训练过程中的易用性以及模型预测过程中的效率。

多系统、多硬件、多端部署全面支持

PaddleClas 现在支持包括 GPU/CPU/XPU、Windows/Linux/MacOS 等多种训练平台。对于训练得到的模型,PaddleClas 提供基于服务器端(Paddle Inference)和 移动端、IoT 端(Paddle Lite),以及轻量化服务端(Hub Serving)的高性能部署方法,同时支持 Python 预测与 C++ 预测,满足大多数开发者的使用需求。

更丰富的教程文档及调优Trick

  • 《PaddleClas 的图像分类训练、评估、预测开始教程》:https://github.com/PaddlePaddle/PaddleClas/blob/dygraph/docs/zh_CN/tutorials/getting_started.md

  • 开源社区小伙伴总结的《基于 PaddleClas 完成产业级图像分类项目》

  • 基于 Paddle Lite 在手机、机器人终端等进行模型优化与交叉编译的方案《PaddleClas 端侧部署教程》:https://github.com/PaddlePaddle/PaddleClas/blob/dygraph/deploy/lite/readme.md

  • 针对开发者在开发过程中遇到的实际难题总结出的《图像分类 30 问》https://github.com/PaddlePaddle/PaddleClas/blob/dygraph/docs/zh_CN/faq.md

  • 还有《PaddleClas 每周 FAQ》https://github.com/PaddlePaddle/PaddleClas/blob/dygraph/docs/zh_CN/faq_series.md 等等高价值内容

此外,考虑到图像分类领域内容丰富,更新频繁,PaddleClas 官方团队计划尽可能高频地持续更新图像分类领域的 Tricks、FAQ 等内容给到大家,力争全方位让开发者无论是进行学术科研以还是产业算法应用过程中都更加顺畅。

这样有如和璧隋珠一样的开源项目,这样用心勤奋的技术团队,你还不心动要尝试使用下 PaddleClas 吗?赶紧前往 PaddleClas 开源地址查看项目详情吧!也欢迎各位小伙伴点星(Star)、Fork、Watch,方便反复研究查看~~

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

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

如果您想详细了解更多飞桨的相关内容,请参阅以下文档。

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

飞桨开源框架项目地址:

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

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

© THE END

转载请联系 机器之心 公众号获得授权

投稿或寻求报道:content@jiqizhixin.com

134个预训练模型、精度高达85.1%,百度视觉算法最强基石PaddleClas全新升级相关推荐

  1. PaddleClas预训练模型ResNet50_vd_ssld精度突破84%

    提到"野生动物非法贸易"大家一定不陌生,根据国际刑警组织的研究估算,每年和野生动物相关的非法贸易额高达200亿美元,是仅次于毒品和军火的全球第三大犯罪.打开这个潘多拉盒子,我们会发 ...

  2. 『paddle』paddleclas 学习笔记:分类预训练模型选择

    目录 ImageNet预训练模型库 模型库概览图 SSLD知识蒸馏预训练模型 ResNet 及其 Vd 系列 移动端系列 SEResNeXt与Res2Net系列 DPN 与 DenseNet 系列 H ...

  3. 百度大脑 EasyDL 专业版最新上线自研超大规模视觉预训练模型

    在学习与定制AI模型的过程中,开发者会面对各种各样的概念,在深度学习领域,有一个名词正在被越来越频繁地得到关注:迁移学习.它相比效果表现好的监督学习来说,可以减去大量的枯燥标注过程,简单来说就是在大数 ...

  4. PaddlePaddle预训练模型大合集,还有官方使用说明书

    PaddlePaddle在不断增加官方支持的模型的同时,也在关注预训练模型的丰富度. 在过去的版本中,我们已经发布了目标检测Faster-RCNN.MobileNet-SSD.PyramidBox和场 ...

  5. 23个系列分类网络,10万分类预训练模型,这是飞桨PaddleClas百宝箱

    如何训练出优秀的图像分类模型?飞桨图像分类套件 PaddleClas 来助力. 今天咱们来聊聊计算机视觉领域最核心的技术之一--图像分类.顾名思义图像分类是指根据图像信息把不同类别的图像自动区分开来, ...

  6. 天池NLP中文预训练模型赛来了!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale赛事 主办单位:阿里云,CLUE,乐言科技 自从2017年具有划时代意义的Tr ...

  7. 2021 AI技术盘点:预训练模型5大进展

    [专栏:前沿进展]2021年已进入尾声,回顾一年来人工智能领域的发展历程,有众多瞩目的技术事件发展.其中,预训练模型无疑是2021年的重点发展领域.年初的Switch Transformer开启万亿参 ...

  8. [读论文]语言视觉多模态预训练模型 ViLBERT

    论文地址:https://arxiv.org/abs/1908.02265 代码实现:https://github.com/facebookresearch/vilbert-multi-task 图1 ...

  9. 【论文精度】CodeBERT——基于自然语言和编程语言的预训练模型

    CodeBERT 论文地址:https://arxiv.org/abs/2002.08155 Abstract ​ 提出了一种用于编程语言(PL)和自然语言(NL)的双模态预训练模型CodeBERT, ...

最新文章

  1. Linux 播放网易云音乐(树莓派)
  2. 发布json数据_数据库每周国际新闻 20201211
  3. SQLite 表达式(http://www.w3cschool.cc/sqlite/sqlite-expressions.html)
  4. 前端学习(3325):Mdn说闭包
  5. Machine Learning List
  6. 不太平凡的2020、平凡的我
  7. 1.5 编程基础之循环控制 05 最高的分数
  8. android webview的使用问题
  9. 找换硬币问题 与 0-1背包问题区别
  10. strcpy sprintf memcpy 它们之间的区别
  11. 小米手机+MIUI系统开发版线刷到稳定版(小米8+MIUI10)
  12. web服务器 怎样上传文件,文件上传web服务器
  13. rio中安装tms 的web core、sparkle、aurelius、xdata组件
  14. 以太网的CSMA/CD协议
  15. 根据个人情况以及Java程序员面试宝典总结的需要复习的知识点
  16. 通信upf是什么意思_upf50+是什么意思 upf50+的防护级别(防紫外线)
  17. mac下如何将adobe acrobat reader dc设为.pdf的默认打开方式?
  18. Ubuntu卡在登陆界面循环
  19. 警惕“山寨版”云安全bd或是定时炸弹
  20. 你应该考这些证书,特别是在校生

热门文章

  1. 【青少年编程】黄羽恒:加减乘除法小测试
  2. 线性代数:05 实对称矩阵与二次型
  3. 【C#串口编程计划】通信协议解析 -- byte[]与常用类型的转换
  4. 如何利用离散Hopfield神经网络进行高校科研能力评价(2)
  5. IplImage 类型和 CvMat 类型转换为 Mat 类型
  6. 手把手带你打造一款 签名设计 的GUI图形界面!
  7. GitLab 上市,市值高达 149 亿美元!GitHub 的头号劲敌来了
  8. 勒索软件层出不穷,Veeam “3-2-1-1-0”助力构建数据防护
  9. 惊艳亮相!马斯克发布自研超算 Dojo 芯片、特斯拉人形机器人
  10. 不用写代码就能学用Pandas,适合新老程序员的神器Bamboolib