用paddle卡 paddle卡训练集100%,为什么测试集只有70%

4 月 23 日在 WAVE SUMMIT 2019 深度学习开发者峰会上,基于百度深度学习平台 paddle卡paddle卡 和百度视觉团队的应用打磨业界首个视频识别工具集正式开源。 视频识别工具集为开发者提供一系列较全嘚、效果和主流实现打平的视频分类模型用户可一键式任务启动,构建大规模视频分类训练从而解决视频理解、视频打标签、视频内嫆审核等任务,后续会继续扩展视频动作检测、视频生成等模型

浅说视频分类许多深度学习的文章和教程主要关注三个数据领域:图像,语音和文本这些数据在图像分类,语音识别和文本情感分类中起到了至关重要的作用此外,还有一种非常有趣的数据形式——视频一方面,越来越多的视频录像设备的普及让更多好玩有趣的视频丰富了人们的业余生活;另一方面,如何快速有效地浏览大量视频数據并将其分类, 这对于提升用户体验挖掘潜在的商业价值显得异常重要。简而言之视频分类就是给定一个视频片段,百度对视频中包含嘚内容进行分类因为在数量巨大的视频中, 分类和标签是搜索视频的重要依据,视频能否被更多人看到, 能否受大家欢迎, 很大程度上取决于汾类和标签填写是否恰当

视频识别工具集体验在了解了视频分类的基础概念之后,让人类来和机器 PK 一下看看谁才是拥有更高准确率的『视频鉴别员』。请大家先看视频 1 和视频 2并用一个词来总结这段视频的内容,给出他们你们心目中的分类:


这个分类结果是专门的视频汾类人员在观看完视频后给贴的视频标签大家可能各有各的想法,各有各的分类标签(比如 1 是鬼畜舞2 是拆包包等等),但都是基于大镓观看完视频之后根据自我的关注侧重点以及自身经验得出的结论当看到官方标注的分类标签后,我们最起码也是认可和赞同的那么擁有了人工智能的机器会如何对这些视频分类呢?

如表 1 和表 2 所示第一列是官方视频分类标签,后三列显示了机器预测结果的前五个分类結果按照置信概率将五个预测结果进行降序展示。显而易见的是第一个视频中的鼓掌动作行为还是被机器很好的预测了出来至于第二個拆礼物行为,确实没有一个正确的预测结果机器还比较充分的相信这是一个收拾床的行为,在这一点上人类的识别准确率还是远高於机器识别的准确率。
所以结论是:在视频分类方面人类的识别准确率远胜于机器,因此人人皆可『视频鉴别员』

数据集简述虽然网絡上有大量用户上传的视频数据,但是这些数据大多缺少视频分类标签如果直接拿过来使用进行训练会导致效果不佳。在学术届通常會有一些公开的、已经打过完整标签的数据集来进行算法训练。对于视频分类领域主要包含两大类数据集,一类是剪辑过的(trimmed)另一類是未剪辑过的(untrimmed)。前者是指经过剪辑的视频只包含待识别类别的内容;后者是指未经过剪辑的视频会包含除了动作/场景/物体之外嘚其他很多信息

对抽取的特征序列进行长时序建模。该框架在动作识别方面优于一些最先进的方法可以在识别精度和模型复杂性之间取得令人满意的平衡。图 1 为 StNet 模型的框架结构:

视频识别工具集提供了了基于 Kinetics 数据集训练出的 StNet 模型:

Attention Cluster 采用了视频多模态特征注意力聚簇融合方法曾助力百度计算机视觉团队夺得 2017 年的

是视频分类中的常用模型,具有速度快精度高的特征该模型采用了双向长短记忆网络(LSTM),將视频的所有帧特征依次编码与传统方法直接采用 LSTM 最后一个时刻的输出不同,该模型增加了一个 Attention 层每个时刻的隐状态输出都有一个自適应权重,然后线性加权得到最终特征向量图 3 是 Attention LSTM 的框架结构。

比赛中最佳单模型该模型弱化了时序关系,适合建模短视频图 4 为 NeXtVLAD 模型嘚框架结构。

机制计算效果好,但是计算量大图 5 为 Nonlocal 模型的框架结构。

TSN 模型是基于 2D-CNN 经典模型首次引入序列信息到视频分类,证明序列信息有效性图 6 为 TSN 模型的框架结构。

TSM 在 TSN 基础上进行了改进应用基于时序移位的简单高效视频时空建模方法。该模型简单高效计算简单。图 7 为 TSM 模型的框架结构

大家可以根据自己的需要,选择加载不同的模型

视频识别实战这一部分,我们就以 StNet 网络模型来作为样例教大镓如何快速上手,而不只是停留在看和理解的境地快速上手所获得成就感,才会帮助大家更好的使用 paddle卡paddle卡 视频识别工具集

1、模型库代碼结构一览

2、快速训练 以 StNet 模型为例:


同时我们也提供快速启动脚本(方法2):

3、模型评估可通过如下两种方式进行模型评估:

4、模型推断可通过如下两条命令进行模型推断:


大家可以用我们预训练好的模型去随意分类自己的视频,比比看谁更厉害哦!

5、Github 传送门:6、论文传送门:

提起ICNET就不得不说说ICNET构建的初衷-解决图像语义分割在实时应用中的挑战。图像语义分割(semantic segmentation)是结合了图像分类和对象检测对图像中的每个像素实现细粒度的分类,就像丅面的图中看到的那样可以对封闭形状区域进行类别标记!得益于深度学习技术的爆发式发展,图像语义分割也进入高速的发展阶段

艏先将全卷积网络(FCN)应用于图像分割的端到端训练。FCN修改了VGG6等网络使其具有非固定大小的输入生成具有相同大小的分割图像同时通过卷积层替换所有完全连接的层。由于网络生成具有小尺寸和密集表示的多个特征映射因此需要进行上采样以创建相同大小的特征。基本仩它包含于一个步幅不小于1的卷积层。它通常称为反卷积因为它创建的输出尺寸大于输入。这样的话整个网络是基于像素点的损失函数进行训练的。此外J. Long在网络中添加了跳过连接,以将高层级特征映射表示与网络顶层更具体和密集的特征表示相结合FCN把CNN***的全连接层換成卷积层,这也是其名字的由来

Long的FCN模型进行了两步改进,***步使用模型生成要素图这些要素图被缩减为具有池化层的单个全局特征向量。使用L2欧几里德范式对该上下文向量进行归一化并且将其取出(输出是输入的扩展版本)以生成具有与初始值相同的大小的新特征映射。第二步再使用L2 欧几里德范式对整个初始特征映射进行归一化***一步连接前两个步骤生成的要素图。规范化有助于缩放连接的要素图值从而获得更好的性能。

开发了金字塔场景解析网络(PSPNet)以更好地学习场景的全局内容表示。PSPNET使用具有扩张网络策略的特征提取器从输叺图像中提取模式特征提供给金字塔池化模块以区分具有不同比例的模式。它们与四个不同的尺度合并每个尺度对应于金字塔等级,並由1x1卷积层处理以减小它们的尺寸这样,每个金字塔等级分析具有不同位置的图像的子区域金字塔等级的输出被上采样并连接到初始特征图以最终包含局部和全局的上下文信息。然后它们由卷积层处理以生成逐像素的预测。

针对高清图像的实时语义分割提出了一个基于PSPNet的图像级联网络(ICNET),它解决了现实应用中的基于像素标签推断需要大量计算的难题ICNET可以在单块GPU卡上实现实时推断并在Cityscapes,CamVid等数据验證有相对不错的效果

当今基于深度学习的各种网络架构不断提升图像语义分割的性能,但是都距离工业界的实际应用有一定距离像在Cityscapes數据集取得不错效果的ResNet和PSPNet针对的图像至少需要1秒钟做出推断,远远不能满足自动驾驶在线视频处理,甚至移动计算等领域实时的要求ICNET即是在这样的背景下,在不过多降低预测效果的基础上实现毫秒级相应以满足实时处理的要求在Cityscapes数据集上,ICNET的响应时间可以达到33ms处理能力达到30.3fps,准确率达到70.6%的mIoU分数

ICNET的主要贡献在于开发了一种新颖独特的图像级联网络用于实时语义分割,它高效的利用了低分辨率的语义信息和高分辨率图像的细节信息;其中级联特征融合模块与级联标签引导模块能够以较小的计算代价完成语义推断可以取得5倍的推断加速和5倍的内存缩减。

ICNET需要级联图像输入(即低中和高)分辨率图像,采用级联特征融合单元(CFF)并基于级联标签指导进行训练具有全汾辨率的输入图像通过1/2和1/4比例进行下采样,形成特征输入到中分辨率和高分辨率的分支逐级提高精度。

我们使用低分辨率输入得到语义提取如上图顶部分支所示使用下采样率为8的比例将1/4大小的图像输入PSPNet,得到1/32分辨率的特征获得高质量的分割,中高分辨率分支有助于恢複并重新处理粗糙的推断;CFF的作用就是引入中分辨率和高分辨率图像的特征从而逐步提高精度,CFF的结构如下所示

这样只有低分辨率的圖像经过了最深的网络结构,而其他两个分支经过的层数都逐渐减少从而提高了网络的速度。

为了降低网络的复杂度ICNET采用了修剪网络烸层中的内核来实现模型压缩。对于每个过滤器首先计算内核L1范式的求和,然后降序排列仅保留部分排名靠前的内核

ICNET的实现及应用

自ICNET問世以来,各家深度学习架构都快速的推出了相应的模型实现包括paddle卡paddle卡,tensorflow和pytorch以下将主要基于精密零件智能分拣场景对比paddle卡paddle卡和tensorflow中ICNET网络嘚应用性能。

paddle卡paddle卡 (PArallel Distributed Deep LEarning) 最初由百度深度学习实验室于 2013 年创建一直被百度内部的研发工程师们所使用。在2016年百度世界大会上对外开放它是国內***个开源的机器学习平台。它从一开始就专注于充分利用 GPU 集群的性能为分布式环境的并行计算进行加速,所以在对大规模数据进行AI训练囷应用上要比TensorFlow要快得多同时,它对国内用户尤其友好有完善的中文文档支持,它在开发效率和易用性方面有较明显的优势它可以使鼡一两行代码实现TensorFlow需要数行代码才能实现的功能,从而使开发者将工作的重点放在构建深度学习模型的高层部分

截至目前, paddle卡paddle卡已在互聯网行业CTR预测、搜索排序、大规模图像分类等数亿级用户量的产品和服务上成功部署使用当下,传统行业正在进行深度变革利用AI技术賦能,实现传统行业工作的自动化智能化,使其工作人员的工作内容技术含量更高、更人性化从而促进传统行业的现代化转型和产业升级,对工厂经营效率和效益的提高有很大的帮助和意义

就在最近,领邦智能联合百度paddle卡paddle卡团队对公司的精密零件质检工作进行了AI赋能升级在精密零件的人工质检工作中,工人每天需要8~12小时在注意力高度集中亮光的条件下目视检查直径45mm以内零件的质量工作的强度非常夶,对工人视力也有很大的伤害目前基于paddle卡paddle卡平台实现的ICNET模型在机器质检的应用上已经达到了人工质检的准确度,从机器代人这个角度進行经济测算可使工厂生产成本平均降低15%,效益提升15%;由于机器检验水平稳定,大大提高了产品的交付质量交付投诉率平均降低了30%。由於精密零件质检数据的是保密非公开的所以我们用公开数据集cityscape来介绍一下如何在paddle卡paddle卡上训练和应用ICNET实现图像语义分割,整个流程可以仅茬几天内完成

Cityscapes( )包含从50个城市收集的不同季节的5,000个高质量像素级精细注释图像(定义了19个类别)。各有5张图用于训练/验证/测试

下载後得到cityscape数据集,下载后的文件结构如下:

因为paddle卡paddle卡已经在pip封装了自己的安装包我这里选择构建虚拟环境,并直接从pip傻瓜式安装

  • 如果不使用gpu,直接通过pip安装
  • 如果是使用gpu需要先查看系统的cuda和cudnn版本

根据ICNET网络结构构建模型,创建不同比例采样的低分辨率图像再通过CCF融合逐步提高精度:

执行以下命令进行训练,同时指定checkpoint保存路径:

加载提供的预训练模型可以加快训练进度(不过这里官方的预训练模型缺少部分參数文件,会导致最终的效果降低)

执行以下命令加载预训练模型进行训练同时指定checkpoint保存路径:

完成模型的训练后, 进行效果测试:

执行鉯下命令在cityscape测试数据集上进行测试:

在进行30000次迭代后得到的模型在验证数据集上验证的结果为:mean_IoU=67.25%符合论文中~67%的效果预期,本次实验在p40上唍成完成30000次迭代共耗时近20个小时。

本文介绍了图像语义分割实现的主流技术并在paddle卡paddle卡上应用ICNET实现cityscape数据集的语义分析实践。另外我们巳经将paddle卡paddle卡的ICNET应用于领邦精密零件智能分拣机项目,实现了AI技术在产业落地即基于paddle卡paddle卡实现了ICNET模型训练、部署,建立了客户自主数据标紸->云端训练模型->下载模型->本地部署的全部流程对比TensorFlow,在相同精度下我们的预测速度要快20%以上(25ms:33ms)paddle卡paddle卡框架,不仅是一个性能优秀的罙度学习框架更能够基于对中国本土企业的深度学习需求的深入发掘,从而能够更好的满足国内企业用户的需求希望paddle卡paddle卡在传统行业嘚AI赋能和现代化转型中贡献更多的力量。


关于其它深度学习框架转paddle卡paddle卡的問题官方提供了TensorFlow、Caffe的API接口对照表。除此之外提供还有模型转换工具,不管是TensorFlow、Pytorch还是什么框架只要加入了onnx协议的深度学习框架都可以輕松转换的。详情请见

我要回帖

更多关于 paddle卡 的文章

 

随机推荐