2018年10月16日星期二

GluonCV 0.3: 超越经典

GluonCV 0.3版本加入5个算法和38个预训练模型,并改进了28个已有模型。在ResNet,MobileNet,Yolo-V3,Faster-RCNN和DeepLab-V3等模型上全面超越目前最好结果。


半年前我们开始了 GluonCV 项目,希望提供一个可靠的可以重复各个论文结果的深度学习计算机视觉库。过去几个月里小伙伴们挖掘了大量论文和实现中的隐藏细节,并对模型训练的各个细节进行了大量的实验。我们兴奋地发现,我们不仅仅能重复结果,而且能超越它们。

现在,我们高兴地宣布 GluonCV 的新的0.3版。在这个版本里我们加入了5个新算法和38个新训练好的模型。并且对28个0.2版的模型进行了大的改进。下面表格对比了其中的7个模型:

值得一提的是,我们大幅提升了 ResNet 系列模型精度。我们训练得到的 ResNet-50 比论文中 ResNet-152 的精度要高将近一个点(top-1 acc),但计算上便宜三倍。我们还将 YOLOv3 的精度(mAP)提升了4个点,它跟使用 ResNet-50 的 Faster RCNN 精度持平,但计算速度和内存效率均提升了10倍。

同时,我们对 Model Zoo 页面进行了改版。现在我们可以交互地比较各个模型的预测精度和性能。

此外,我们还改进了模型部署能力。所有模型都可以脱离 Python 运行(就是可以 hybridize )。

下面我们具体介绍0.3版本的改进。

研究和刷分

GluonCV 绝对是刷榜实战利器,用默认的参数你可以轻松排上各种公开数据集的排行榜。同时模块化的设计让你能很快地实现各种新的想法,投稿截止的压力不再沉重。 0.3 还提供了一些准备专有数据集的教程,小伙伴们能以此为基础在新的数据上快速准备环境。在接下来的时间里,我们会继续补充各种教程,帮助大家更得心应手地使用 GluonCV。

猛击下图查看图像分类任务中各个预训练模型的准确率:

猛击下图查看目标检测任务中各个预训练模型的准确率:

0.3版本介绍

新模型:YOLOv3

YOLOv3 是 YOLOv1 之后性能提升最明显的版本,我们在复现论文的基础上加入了一些改动,把 YOLOv3 在 COCO 上的 mAP 从论文中的 33% 刷到了 37% (分辨率 608 ),相当于达到 Faster-RCNN + ResNet50 的准确度的同时,速度至少快了 10 倍!

新模型: Mask-RCNN

Mask-RCNN 是基于 Faster-RCNN 系列的多任务输出模型,在目标检测的基础上增加了对每个物体做语义分割预测的功能,我们提供了基于 ResNet-50 的预训练模型,得到了 38.3% 的目标检测 mAP 和 33.1% 的语义分割 mAP,效果略好于 Detectron 的等价模型。

新模型:DeepLabV3

DeepLabV3 是基于 FCN 的端对端模型,利用多尺度的上下文信息提高语义分割的精度,在 Pascal VOC 和 ADE20K 数据集上都有出色的表现,我们复现的模型在 VOC 数据集上超越原文精度,达到了 86.7 mIoU 的高精度表现。

性能优化:Faster-RCNN

Faster-RCNN 优化的亮点是我们成功基于普通的 ResNet-101 ,在不加 FPN 的情况下刷到了 COCO 上 40.1% 的 mAP ,超过了 Detectron 里 ResNet-101 + FPN 的 39.6% 的 mAP 。基于 ResNet-50 的模型也达到了 37% 的高分,同样是市面上最好的开源 Faster-RCNN 实现,接下来版本中我们还会加入 FPN 的支持。关于刷分用到的黑科技,敬请期待我们的新论文。

性能优化:图像识别

你可曾想过,在 ImageNet 上能让 ResNet-50 超过 79% ,让 ResNet-101 超过 80% 吗?我们最近通过微调模型结构与加入训练过程上的优化,在基本不增加计算量和模型复杂度的前提下把ResNet模型的精度提高到了目前最好的成绩。训练过程上的优化不只对 ResNet 起效,我们也将 MobileNet , Darknet53 , Inception V3 提高到了比原文更好的精度。同时,这些更好的模型在目标检测和语义分割等其他任务上也达到了更好的效果,证明了这样的结果并不是对 ImageNet 的过拟合。

详细信息请参考 GluonCV 的Model Zoo页面,我们也会在新论文中讨论相关的细节,敬请期待。

新应用:GAN

0.3 版新增了热门的 GAN 的应用模型,@husonchen 贡献了 WGAN 的模型和训练脚本,比如说下图就是用 GAN 直接生成的卧室图片。

新应用:行人重识别

行人重识别是安全领域相当重要的应用,在 0.3 版本中@xiaolai-sqlai贡献了行人重识别训练模块,在 market1501 数据集上可以取得 93.1% 的最好结果。

性能优化:语义分割

在语义分割方面,随着跨卡的 SyncBatchNorm 加入 MXNet ,我们提供了完整到基于 SyncBN 的训练代码,完美复现 SOTA 算法。另外我们还加入了 CityScapes 数据集,并且提供了 PSPNet 的预训练模型。 Pascal VOC 上的实验复现非常繁琐,为此我们提供了一个详细的教程,一步一步讲解如何复现实验。使用 GluonCV 不仅可以一键复现最好的结果,还可以了解详细过程中的原理。

新功能:部署

有了训练好的模型不知道怎么部署? GluonCV 也没有忘记这些小伙伴,我们提供了一键导出函数,以及用 C++ 预测的样例代码,让你的模型更快地上线实战。如果上述的预训练模型已经足以满足需求,你甚至可以跳过训练步骤直接投入应用。

下一步

喜欢这一版的话不要忘了点赞收藏加星,同时欢迎关注MXNet公众号:apache-mxnet,以及MXNet博客

https://ift.tt/2IZXZzR (二维码自动识别)



via gluon - 知乎专栏 https://ift.tt/2OqEhTU
RSS Feed

RSS8


Unsubscribe from these notifications or sign in to manage your Email Applets.

IFTTT

[ECCV18-行为识别论文笔记] 多纤维网络

行为识别/视频分类 是视频理解领域的重要方向。之前该方向的深度学习方法大致可以分为两个大类:一类是双流网络,即以rgb图像和光流图像作为2D网络两个分支的输入,再在网络的某处进行融合,典型的如TSN;另一类则是将多帧RGB图像看做是3D输入,然后使用3D卷积网络进行处理,典型的如C3D,I3D,ARTNet等(当然也可以将光流作为3D网络的输入从而进一步提高效果的)。双流类方法的问题主要在于要提取光流,耗时比较多,在实际的场景中很难应用起来。所以近两年的论文更多集中在3D网络的研究上,3D类方法此前的问题主要有两方面,一是3D卷积核的计算开销比较大,二是在效果上还是距离双流类方法还是有一定的距离。

ECCV-2018上,新加坡国立大学,FAIR 和 360AI 实验室合作发表了"Multi-Fiber Networks for Video Recognition"[1], 代码见PyTorch-MFNet. 这篇论文主要针对3D网络的第一个问题进行了研究,具体而言,这篇论文的目的是要在保持网络效果的同时(主要对标I3D-RGBmodel),大幅度降低网络的FLOPs,从而提高网络的效率,使3D网络能够获得更多的应用场景。这篇文章提出的网络结构有点像不带channel shuffle 模块的ShuffleNet,其核心思想还是利用Group Conv来降低网络的计算开销。之前似乎没啥参考 mobile类模型思路来做video classification的工作,而计算量对于3D类网络又是比较重要的核心的瓶颈,所以这篇工作还是很有参考价值的。下面开始介绍文章内容,如有不足烦请指正。

Motivation

这篇文章的核心motivation就是认为目前的sota的3D网络(比如I3D以及R(2+1)D-34网络)的计算量FLOPs都太高了。常用的2D 卷积网络如resnet-152或是vgg-16网络大概是10+ 的GFLOPs,而刚刚提到的两种3D卷积网络则达到了100+ GFLOPs。作者认为,当计算量相近的时候,由于3D网络模型能额外的学习到时空信息,clip-based 的模型(即指3D网络)应该要能比frame-based的模型(即指2D网络)有更好的效果。所以,这篇文章的目标就是在保持现有sota的3D模型的效果的同时,大大提高其网络效率。

多纤维网络

在方法部分,作者首先介绍了多纤维模块(Multi-Fiber Unit)的原理,然后在2D网络上实验了多纤维结构的有效性,最后将其推广到了3D网络上去。

多纤维模块

这张图介绍了从resnet到多纤维模块的变化过程。(a) 中的结构即是一个简单的残差模块;(b) 中的则为Multi-Path类型的bottleneck模块,比如ResNeXt就采用了该结构。在该结构中,前后均为一个1x1的卷积进行降维和升维,中间则将通道进行分组,分别用几个3x3卷积核进行处理。这样的处理可以大大降低中间层的计算量,但是1x1卷积层依旧有很大的计算量。所以这篇文章提出进行更加彻底的分组,即将整个残差模块按照通道切片成多个平行且独立的分支(称为fiber,纤维),如(c)所示。c中的结构在输入和输出通道数量一致的情况下,可以将理论计算量降低到N分之一,此处N为分支或者说是纤维的数量。这种更加彻底分组的加速思路和去年的ShuffleNet其实也有些像,区别在于ShuffleNet中还提出了channel shuffle的模块,且在中间层采用了depth-wise conv。

如(c)所示的结构虽然效率提高了很多,但通道间缺乏信息交换,可能会损害效果。所以该文进一步提出了一个Multiplexer模块用来以残差连接的形式结合纤维之间的信息。该模块实际上是一个两层的1x1卷积,第一个卷积会将通道数量降低到k分之一,第二个卷积再升维,因此该模块的计算量是一层1x1卷积的k/2分之一。不过,在文章中好像没看到作者具体设置的k值。

多纤维结构有效性的验证

接下来,作者通过在ImageNet-1k数据集上的图片分类实验来验证所提出的多纤维结构的有效性。这里主要有两种形式,一是基于ResNet-18和MobileNet-v2的baseline,将其中的模块替换为多纤维模块(这里具体的实现细节不是很确定);二是重新设计了一个2D MF-Net,具体网络结构可以见论文。实验结果如下所示。

通过这个表格里面的实验结果可以看出。多纤维结构在MobileNet-v2和ResNet-18上可以在少量降低计算量和参数量的情况下,提高一定的效果,表明了多纤维模块的有效性。而MF-Net也在参数和计算量较低的情况下达到了不错的效果。最后一栏实验则表明了Multiplexer模块大概会占据30%的计算量,但对效果的提升也是比较明显的。

3D-多纤维网络

在确认了提出的多纤维模块的有效性后,本文就将多纤维结构推广到了3D网络上,并提出了3D MF-Net。3D MF-Net的模块结构和网络结构如下图所示:

可以看出,3D和2D的多纤维模块结构基本一致,只是将卷积的维度升到了三维。为了降低计算量,两层卷积只有一层进行了时序上的卷积。

实验内容

在实验部分,本文主要做了trained from scratch以及fine tuned两类实验,分别对应Kinetics以及 UCF101,HMDB51数据集。

视频分类-Trained from Scratch

在Kinetics数据集上,MF-Net以比之前3D模型低非常多的FLOPs达到了更好的效果。

视频分类-Fine-tuned Models

在这部分实验中,先将模型在大数据集(Kinetics)上训练,再在小数据集( UCF-101, HMDB51)上进行finetune。从实验结果可以看出,MF-Net以较小的计算量达到或超过了目前sota的效果。题图则更加可视化的展现了计算量和效果的关系图,可以看出MF-Net较好的占据了左上角的位置,即以较小的计算量达到sota的效果。

论文小结

这篇文章主要是进一步优化了Multi-Path模块的结构,并将其用于了3D卷积网络,从而大大提高3D卷积网络的效率。在效率大大提高后,其实也更有利于我们继续将网络做的更复杂更有效,像之前的I3D的效率实在太差了,很难进一步增加复杂度(当然另外一方面也给大家提供了很多优化空间和写论文空间...)。一方面通过引入网络加速技巧对模型速度进行优化,一方面通过增加网络对时序建模的能力来对模型效果进行提高 应该是未来3D网络研究更平衡的一种发展道路吧。

本文投稿于AI科技评论公众号, 未经许可请勿转载。

参考文献

[1]Chen Y, Kalantidis Y, Li J, et al. Multi-Fiber Networks for Video Recognition[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 352-367.

[2] Xie S, Girshick R, Dollár P, et al. Aggregated residual transformations for deep neural networks[C]//Computer Vision and Pattern Recognition (CVPR), 2017 IEEE Conference on. IEEE, 2017: 5987-5995.

[3] Carreira J, Zisserman A. Quo vadis, action recognition? a new model and the kinetics dataset[C]//Computer Vision and Pattern Recognition (CVPR), 2017 IEEE Conference on. IEEE, 2017: 4724-4733.



via Video Analysis 论文笔记 - 知乎专栏 https://ift.tt/2pWYWQP
RSS Feed

RSS


Unsubscribe from these notifications or sign in to manage your Email Applets.

IFTTT

2018年10月13日星期六

Spring 5.1将支持Java 11;Webhint开源代码检查工具;- InfoQ每周精要558期

 中文站「每周精要」
感谢您订阅每周精要第 558 期,本期内容截止于2018-10-14。
技术新闻   TECH NEWS
Spring框架5.1将提供对Java 11的支持
Spring框架的联合创始人兼Pivotal 的首席工程师Juergen Hoeller讨论了Java 8、Java 新的发布节奏,并宣布Spring 框架5.1版本将会支持刚刚发布的Java 11。
编写病毒程序取款700余万,华夏银行一技术处长被捕受审
从2016年11月到2018年1月,一年多时间利用职务便利,在华夏银行总行核心系统内植入计算机病毒程序,使跨行ATM机取款交易不能计入账户,之后成功取款717.9万元非法占为己有。10月10日,这位华夏银行技术处长在朝阳区人民法院受审。
Create React App 2.0正式版发布,不再支持 Node 6
Create React App 2.0正式发布,带来的众多改进值得开发者一年的等待。
挑战谷歌英伟达?华为披露芯片+AI解决方案!
华为的重磅发布有点多
Webhint开源了一种代码检查工具
Webhint项目提供了一种用于检查代码的可访问性、性能和安全的开源检查(Linting)工具。
Kotlin 1.3带来稳定的协程、合约及其他
在荷兰阿姆斯特丹举行的KotlinConf 2018大会上,JetBrains宣布推出Kotlin 1.3 RC,引入了新的语言特性,如稳定的协程、合约、内联类等。
架构设计   ARCHITECTURE DESIGN
软件项目中,需求怎么做?
VR异地多玩家同时打怪?便利店shopping全靠"颜值"?预知车祸的"千里眼"?
给年轻程序员的33条忠告
代码是一种交流方式,Keras之父在本文中为我们总结了在开发过程中、API设计中及软件职业生涯中应该关注哪些要点。原则是形式化的直觉,比原始模式识别适用于更广泛的情况,François Chollet的这份原则清单带你领略大师的品味。
PPT架构师与写代码这件事儿
为什么我们会 diss PPT 架构师?
运维 & DevOps   OPERATIONS & DEVOPS
团队on-call管理最佳实践:曾经我也很怕轮班
当我第一次加入 Button 的 on-call 团队时,我非常担心被排班。如果我在我值班时睡过去了怎么办? 那服务怎么办? 我应该盯着哪个仪表盘看呢?
成为DevOps/SRE工程师有多难?看看这份必备技能清单
个列表并非详尽无遗,只是列举了技术基础、必须知道的技能和一些随机的想法。
知乎容器化构建系统设计和实践
知乎选用Jenkins作为构建方案,因其强大和灵活,且有非常丰富的插件可供使用和扩展。
大前端   THE FRONT END
正则表达式真的很6,可惜你不会写
本文旨在用最通俗的语言讲述最枯燥的基本知识。
JavaScript私有属性要来了,但实现方式惹争议
TC39在GitHub上通过了一条EMCAScript语法特性的草案,即类私有属性修饰符"#",不过,该特性之前在社区的调研中遭遇了大量反对。
为什么说ReasonReact是编写React的最佳方式?
React作为JavaScript库还存在哪些问题?
人工智能   ARTIFICIAL INTELLIGENCE
9月份最热门的机器学习开源项目TOP 5
常学常新,9月份GitHub机器学习优秀项目学起来!
基于深度学习的目标检测算法综述:算法改进
本文对其中的 27 篇论文进行介绍,这 27 篇论文涵盖了 2013 以来,除 SSD、YOLO 和 R-CNN 系列之外的,所有引用率相对较高或是笔者认为具有实际应用价值的论文。
AI一周热闻:美官方回应"间谍芯片"辟谣;飞猪否认大数据"杀熟";中兴再遭罚
国庆期间发生了不少事,总结一下。
区块链   BLOCKCHAIN
万维网之父发布去中心化平台Solid:一个推翻巨头垄断的天才手法
Tim Berners-Lee 是万维网的发明人,但是,最近他发布了去中心化平台 Solid,准备推翻现有的互联网。
我应该为区块链协议选择哪种语言呢?
作为开发者来说,在进行区块链协议的开发时,是该选择号称更安全的语言呢,还是选择更容易掌握和上手的语言呢?让我们看看 Debajyoti Ray 是怎么研究的。
Gartner分析师:认为区块链幻灭是too young too naive!
文章阐述了区块链的未来、企业采用在可扩展性的八大障碍,并研究了可扩展性的意义以及在区块链中实现可扩展性需要采取哪些措施。
技术大会   CONFERENCE
QCon:把100+互联网名企的技术学以致用
本年最后一个季度,当然要走出去看看别人怎么做技术,为明年的架构升级调整作准备。著名Go语言专家David Cheney、 Apache软件基金会执行副总裁Ross Gardler等国际大咖的实践分享不容错过。
CNUTCon:月活4.31亿的平台,新浪微博如何应对"热搜"的暴击?
微博自诞生至今,见证了一众明星的"人生大事"!最近,支付宝一轮抽奖,将"中国锦鲤"信小呆成功送上热搜榜!看新浪微博如何应对业务场景的持续变化?
ArchSummit:京东物流:每进入一个城市,不久就被"包围"了
仓储系统作为京东物流的核心平台,支撑着亿级单量的处理及遍布全球的库房运营,从而遇到了非常多的技术挑战,本届ArchSummit京东资深架构师王志鹏将带你揭秘京东物流仓储系统架构演进之路。
AICon:清华人工智能研究院:不确定和对抗环境下的机器学习探讨
清华大学朱军教授将介绍概率机器学习的一些进展(特别是珠算概率编程库和一些可扩展的推理算法)以及深度神经网络的对抗攻击与防御,并且介绍一些典型的应用案例,包括半监督学习、小样本学习、众包学习……
QCon深度培训:Serverless和微服务架构实战+来自Facebook和Airbnb的黑客增长经验
想知道来自Facebook和Airbnb的资深增长黑客如何解锁增长最新奥义?如何利用Serverless解决微服务挑战?6小时如何深度解析微服务构架实战?让BOSS不得不为你买单的Qcon深度培训,实力干货,高效分享!
极客时间App   GEEK TIME APP
如何高效解决业务开发、团队管理上的棘手问题?
我相信你和技术团队一定也在业务开发中遇到关于技术能力、职业修养、团队管理上的棘手问题。极客时间VIP年卡了解一下,20余类技术硬技能,全面解决你的技术和进阶难题。
前Facebook面试官带你手把手通关算法面试
程序员求职找工作,大厂面试必考的算法题,面试过200+技术人的硅谷面试官带你攻破。
活动推荐   POPULAR EVENTS
夜话·你渴望了解的六大维度技术实践
区块链安全、数据库技术、Unity开发、服务器设计……一场集聚六位金牌讲师的夜场交流,将于10月18日重磅上演。带着干货与诚意,邀请百位工程师共同参与。
AI难落地Serverless难做?在这里熟练上手不是梦
在AI、区块链、Kubernetes、Serverless等科技创新的大浪潮里,技术人如何不被时代洪流所淘汰?10月18日上海,AWS顶级架构师与您一起深度剖析前沿技术的实践与落地。
学AI,不要把时间浪费在调参上!
作为AI开发者,面对复杂的框架和繁重的调参工作,是不是有些崩溃?NVIDIA DIGITS平台将让你事半功倍!专家亲自执导,让你秒变高效达人!
这可能是无人驾驶创业的最好机会
无人驾驶系统如何实现复杂交通场景中的"周密感知"?10月19日上海,图森未来"今夜,遇见未来"晚场活动,与你深度探讨 L4 级无人驾驶全栈技术。
InfoQ中文站每周日针对会员发送每周内容精要邮件,
别人转发给你的邮件?现在注册获取您自己的 InfoQ每周精要邮件吧
InfoQ微博:@InfoQ
InfoQ微信:infoqchina
InfoQ手机客户端:极客时间

JavaScript 之父联手近万名开发者集体讨伐 Oracle:给 JavaScript 一条活路吧!- InfoQ 每周精要848期

「每周精要」 NO. 848 2024/09/21 头条 HEADLINE JavaScript 之父联手近万名开发者集体讨伐 Oracle:给 JavaScript 一条活路吧! 精选 SELECTED C++ 发布革命性提案 "借鉴"Rust...