
2014年之前,如果你让台电脑分辨里的人是在"网球"还是在"棒球",靠谱的办法居然不是经网络。
那时候度学习已经在图像识别上大四了。2012年的AlexNet把图片分类的错误率下下来十几个百分点,整个计机视觉圈子都在传"度学习要统切"。可是到了动作识别这个任务上,事情变得很尴尬。
个叫"密集轨迹"的手工特征法,稳稳占据着榜。它不是经网络,是研究者手动设计的套规则,追踪画面里密密麻麻的点怎么运动,然后统计这些运动轨迹的模式。这套土办法在的UCF-101动作识别数据集上能做到85左右的准确率,而当时能找到的经网络案,只能做到65上下,差了整整20个百分点。
20个百分点是什么概念?
意味着每5个动作里,度学习就要比手工法多认错1个。放在图像分类上,这个差距会被认为是灾难的失败。
于是当时圈子里有种隐隐的共识:这东西太复杂了,经网络学不明白动作里的时间信息,还是老老实实用手工特征吧。
这篇文章要讲的论文,就是在这个背景下出现的。作者是KarenSimonyan和AndrewZisserman,来自牛津大学,论文叫《Two-StreamConvolutionalNetworksforActionRecognitioninVideos》,2014年发表。顺便说句,这两位几个月后又发了另篇论文,叫VGGNet,后来成了图像识别域经典的网络结构之。同个组,同段时间,边琢磨怎么让经网络看懂图片,边琢磨怎么让经网络看懂里的动作,这两件事其实是拧在起的。
难在哪里:经网络缺了根筋
要理解这篇论文的巧妙之处,先得搞清楚识别到底难在哪。
张静态图片,经网络只需要认出"这是什么东西"。段,多了个维度:时间。个动作是"挥拍",光看某帧画面,可能根本看不出这人是在挥拍还是仅仅举着球拍站着。动作的本质藏在连续帧之间的变化里。
传统的卷积经网络
卷积经网络*:种通过卷积操作提取图像局部特征的度学习模型,擅长识别图片里的物体、纹理、形状。
天生是为静态图片设计的。你把的每帧单喂给它玉林万能胶厂家,它能告诉你这帧里有没有人、有没有球拍,但它没有办法直接感知"动作"这个概念,因为动作是跨越多帧才能看出来的东西。
早期有研究者尝试把直接堆叠成个三维数据块,让网络在时间和空间两个维度上同时做卷积,指望网络能自己学会捕捉运动信息。这个思路听起来很理,但实际果并不好。网络在海量的像素变化里很难自己摸索出"这是运动"这种抽象概念,尤其是训练数据不够多的时候,网络学到的多是背景纹理之类的表面特征,而不是真正的动作模式。
这就好比你想教个从没见过运动会的人认识"跑步"这个动作,但你给他看的只是张张孤立的照片,还期待他自己从这些照片的像素变化里理出"跑步"的概念,而不告诉他"腿在交替摆动"这个关键线索。他大概率会盯着跑道的颜、观众的衣服这些关的细节瞎猜。如果你直接告诉他"看腿的摆动轨迹",他会瞬间抓住。这正是当时经网络在任务上的处境,它没有被直接告知"运动信息在哪里",只能在原始像素里大海捞针。
核心思路:把"长什么样"和"怎么动"拆开来看
Simonyan和Zisserman的想法说出来其实很朴素:既然网络自己很难从原始像素里学出运动信息,那就不要让它自己学了,直接把运动信息喂给它。
具体怎么做?他们把识别这个任务拆成了两条立的通路,条门看"这帧长什么样",另条门看"画面是怎么动的"。这两条通路各自训练个卷积经网络,后把两边的判断结果融起来做终决策。
这就是论文标题里"Two-Stream"的意思。
双流卷积网络*:由两个立的卷积经网络组成的架构,个处理静态画面(空间流),个处理运动信息(时间流),后融两者的判断结果。
空间流很好理解,就是普通的图片分类网络,输入是里的某帧画面,网络学习识别画面里的场景、物体、人物姿态,这些信息能帮助判断"这可能是个什么动作"。比如看到球场、球网,网络会倾向于猜测这是网球相关的动作。
时间流才是这篇论文真正的巧思所在。它的输入不是原始画面,而是光流场。
光流*:描述中相邻两帧之间,画面上每个点是怎样移动的种表示法,本质上是张记录了运动向和速度的图。
光流这个概念在计机视觉里其实是个老朋友,早在度学习流行之前,做分析的人就在用它。光流会告诉你,画面上的每个像素点,从上帧到下帧,往哪个向挪动了多远。如果把段挥拍的出光流,你会看到手臂和球拍区域的光流箭头都指向挥动的向,而背景几乎是静止的,光流值接近。
这步操作的巧妙之处在于,它把"运动"这件本来隐藏在多帧变化中的抽象信息,提前用传统法计好,变成了张可以直接输入卷积网络的图片。网络不再需要自己去猜测运动信息在哪里,它拿到的输入本身就是"运动的样子"。
这就像你要教个孩子理解"哪里在下雨",与其让他盯着整段监控录像自己去找雨滴的痕迹,你不如直接给他张已经标好了"雨滴移动轨迹"的示意图。他不需要具备从原始里提取运动信息的能力,这件事已经替他做好了玉林万能胶厂家,他只需要学会看这张示意图,判断"这种运动模式对应的是什么天气"。如果不做这步预处理,网络就要同时承担"理解运动"和"识别动作类别"两个任务,负担太重,学习率会大折扣。
论文里作者做了个很直接的对比实验,来验证这个设计到底值不值。
如果只用空间流,也就是只让网络看静态画面,不给它任何运动信息,在UCF-101数据集上的准确率是多少?
答案是72.6。
如果只用时间流,也就是只让网络看光流图,不看原始画面呢?
答案反而,达到81左右。
这个结果其实相当说明问题。单看画面长什么样,对判断动作类别的帮助有限,因为很多动作发生的场景是相似的。而运动模式本身,才是区分动作类别本质的线索。这也印证了研究者初的直觉:动作识别真正缺的不是"看得清",而是"看得懂运动"。
当把两条流结起来,用种加权平均的式融两边的预测结果,准确率达到了88左右。
这下子过了此前手工设计的密集轨迹法的成绩,也是度学习法次在动作识别这个任务上过了手工特征。
这个时间点值得多说句。2012年AlexNet让度学习在图像分类上战封,那种震撼感,在动作识别域,直到2014年这篇双流网络论文才次真正出现。整整晚了两年,度学习才在这个子域证明了自己不是花架子。
光流网络自己在学什么
论文里有个细节我觉得特别值得拿出来聊聊。
作者去看了时间流网络层卷积核学到的东西,发现这些卷积核大多呈现出明显的向模式,就像是组门检测"某个向上的运动"的探测器。
这不是研究者提前设计好塞进去的玉林万能胶厂家,是网络自己在训练过程中学出来的。
这说明网络确实理解了光流图里重要的信息是什么,也就是运动的向。它不需要人告诉它"要关注向",它通过大量数据训练,自己发现了这点,然后把探测器长成了适捕捉向信息的形状。这也从另个角度证明了,把光流作为输入这个设计选择是对的路,万能胶生产厂家网络确实能从这种输入里挖出有价值的模式,而不是在瞎学些关的噪声。
数据不够怎么办:从图像识别那里借点经验
这篇论文还有个不太起眼但很务实的贡献,是关于训练数据不足的问题。
数据集在当时远比图像数据集小。UCF-101只有万多段,相比图像分类动辄几百万张训练图片的规模,差距很大。数据量不够,层经网络很容易过拟,也就是在训练集上表现很好,换到没见过的数据上就表现拉垮。
密集轨迹法虽然果好,但它是手工设计的规则,不需要大量数据"学习",这也是它在数据稀缺年代占优势的原因之。经网络想要发挥威力,通常需要喂饱它才行。
Simonyan和Zisserman借用了图像识别域已经验证过的套做法,用在图片分类任务上表现很好的大规模数据集先把网络的空间流部分预训练遍,再拿到数据上做微调。这个思路本质上是把从图片里学到的"什么是猫、什么是人、什么是球拍"这类通用视觉知识,迁移到任务上,而不用从开始学。
这就像个已经会开小汽车的人去学开卡车,他不需要从"什么是向盘、什么是刹车"这种基础的概念重新学起,他可以直接站在已有驾驶经验的基础上,注去适应卡车大的车身和长的刹车距离。如果非要让他假装没有驾驶经验从练起,那是浪费他已经拥有的知识,学习率会低很多。
这个迁移学习的思路,后来成了整个度学习域处理数据稀缺问题的标准做法之,不仅仅局限在识别上。
这篇论文之后,故事怎么发展的
双流网络这个框架提出之后,后续研究基本都是在这个骨架上往前。
2015年,Wang等人发表了Trajectory-PooledDeep-ConvolutionalDescriptors(TDD)法,把手工设计的轨迹特征和双流网络提取出来的度特征结在起,进步把UCF-101上的准确率往上了截。这个工作某种程度上是种"过渡期"的产物,说明当时研究者还没有放心把手工特征丢掉,而是想办法把两边的优势捏到起。
关键的后续工作来自Feichtenhofer、Pinz和Wildes在2016年发表的论文,他们提出了种改进的双流网络融式,把原本在后阶段才融的两条流,改成在网络中间层就开始进行信息交互,让空间流和时间流能早地互相"通气",而不是各自闭门造车到后步才并意见。这个改动让准确率进步提升。
再往后,2017年Carreira和Zisserman(还是同个Zisserman)提出了I3D网络,把双流网络的思路和三维卷积结起来,同时借助个新建的大规模数据集Kinetics做预训练,进步把这个向向了强的能。有意思的是,I3D依然保留了双流结构的核心设计,条流处理原始画面,条流处理光流,说明双流这个基本框架的生命力直延续了下来,即便具体的网络结构已经换了好几代。
写在后面
这篇论文动我的地,其实不是准确率数字本身,而是那个"不硬学,先给线索"的思路。
度学习给人的贯印象是,只要数据够多、网络够,它什么都能自己学出来。这篇论文提醒我们,有些信息如果你能提前用传统法好再喂给它,果会好得多,也快得多。这不是对度学习能力的否定,反而是种聪明的式。
光流网络层卷积核自己学出向滤波器这件事,也让我想起个普遍的现象:好的输入设计,往往能让网络的学习变得异常轻松,而网络学到的东西,常常会回过头证明这个输入设计是对的。这是种双向验证。
个还没被这篇论文解决的问题是,光流的计本身依赖传统法,这步是立于经网络训练之外的,计量不小,也没办法端到端地联优化。如果光流本身也能被经网络学出来,而不是靠外部法好再喂进去,会不会有好的果?后来的研究确实往这个向走了些,但那是另个故事了。
Q&A
Q1:双流卷积网络是什么?
A:双流卷积网络是Simonyan和Zisserman在2014年提出的动作识别法,它用两个立的卷积经网络分别处理静态画面(空间流)和运动信息(时间流),再把两边的判断结果融起来,次让度学习在动作识别任务上过了手工特征法。
Q2:为什么双流网络要用光流而不是直接用原始帧?
A:因为动作的关键信息藏在帧与帧之间的运动变化里,网络很难自己从原始像素中学出这种运动模式。光流提前用传统法好了每个像素点的运动向和速度,相当于把运动信息直接喂给网络,让网络不用再费力自己去挖掘运动线索。
Q3:双流网络之后有哪些重要的改进工作?
A:2016年Feichtenhofer等人提出让空间流和时间流在网络中间层就开始融,而不是等到后步。2017年Carreira和Zisserman提出I3D网络,结三维卷积并用Kinetics大规模数据集预训练,依然保留了双流结构的核心思路。相关词条:铝皮保温施工 隔热条设备 钢绞线 玻璃棉卷毡 保温护角专用胶
奥力斯 保温护角专用胶批发 联系人:王经理 手机:13903175735(微信同号) 地址:河北省任丘市北辛庄乡南代河工业区
1.本网站以及本平台支持关于《新广告法》实施的“极限词“用语属“违词”的规定玉林万能胶厂家,并在网站的各个栏目、产品主图、详情页等描述中规避“违禁词”。
2.本店欢迎所有用户指出有“违禁词”“广告法”出现的地方,并积极配合修改。
3.凡用户访问本网页,均表示默认详情页的描述,不支持任何以极限化“违禁词”“广告法”为借口理由投诉违反《新广告法》,以此来变相勒索商家索要赔偿的违法恶意行为。
