• ECCV2020最佳论文解读之递归全对场变换(RAFT)光流计算模型


    作者:周仲凯

    点击上方“3D视觉工坊”,选择“星标”干货第一时间送达

    计算机视觉三大国际顶级会议之一的 ECCV 2020 已经召开。今年 ECCV 共收到有效投稿 5025 篇,是 ECCV 2018 论文投稿数量的二倍还要多,接收论文1361 篇,接收率为 27%,相比上届会议下降了约 5%。在接收论文中,oral论文数为 104 篇,占有效投稿总数的 2%,spotlight 论文数目为 161 篇,占比约 3%。其中,最佳论文奖由普林斯顿大学 Zachary Teed 和 Jia Deng 摘得,论文题名为RAFT: Recurre-nt All-Pairs Field Transforms for Optical Flow。论文提出的RAFT模型由于其卓越的泛化能力,成为最新的光流baseline模型:该模型在KITTI在线评价指标中获得5.10%的异常值比率,相比于当前公布的最佳模型提升了16%,且在MPI-Sintel在线评价指标中获得2.855px的端点误差,相比于当前公布的最佳模型提升了30%。本文首先将对光流的基本概念进行阐述,接着对RAFT光流计算模型的具体实施步骤以及对应的思路进行介绍与分析。

    1 光流的基本概念

    光流是运动物体或场景表面像素点在投影平面的二维瞬时速度,因此图像序列对应的光流不仅携带其中运动目标与场景的运动信息,更包含了其结构信息。

    图1-1 光流可视化效果展示

    图1-1分别展示了光流计算技术在运动目标检测中的应用,可以看到:精确的光流不仅可以给出连续图像帧中每一像素点的运动信息,还可清晰地分割出运动目标轮廓,其中,通过不同的颜色区分运动方向,颜色的深浅定义运动矢量大小。

    图1-2光流计算技术应用

    21世纪以来,随着计算机计算的不断提升,光流计算技术广泛的应用于各种更高级的计算机视觉任务中。例如,图1-2(a) 在针对视频的人体行为识别的研究中,可利用人体行为的光流特征,增强在时空域中人体行为特征的表述能力,显著降低异常值点对行为识别产生的不良影响。图1-2(b) 在运动目标检测与目标跟踪的研究中:可根据光流检测运动目标的结构、位移特性,减少运动目标之间的匹配时间消耗,提升在摄像机运动情况下,目标检测、跟踪的鲁棒性。图1-2(c) 在机器人导航避障的研究中,可利用光流针对图像区域的矢量信息,获得机器人前方区域的避障信息,提升机器人行动决策的精度。

    2 RAFT光流计算模型

    RAFT光流计算模型由特征提取模块、context提取模块、视觉相似性(Visual Similarity)计算模块以及更新迭代模块共同组成。下文将分别对RAFT光流计算模型中各模块的计算流程以及原理进行分析介绍。

    2.1 特征提取模块与context提取模块

    特征提取模块的作用为提取输入第一帧、第二帧图像中的特征,其中特征的分辨率为输入图像的1/8。Context提取模块的作用同样为提取特征,只不过只提取第一帧图像的上下文信息特征,分辨率同样为输入图像的1/8。在结构上,特征提取模块context提取模块的结构基本类似,区别有两点:首先模块中选择的规范化层不同,特征提取模块采用的为instance规划化技术,而context提取模块采用的为batch规划化技术。其次特征提取模块输出单一的输入图像特征,而context提取模块输出两份输入的图像特征。

    2.2 视觉相似性(Visual Similarity)计算模块

    视觉相似性计算模块的作用和2018cvpr光流领域经典论文PWC-Net的思想类似,区别便是,PWC-Net是在每一层特征金字塔中利用上层金字塔预测光流对当前层的第二帧图像特征向第一帧图像特征进行warp,然后对warp的第二帧图像特征与原始第一帧图像特征进行匹配获得对应的cost volume,PWC-Net中cost volume的尺寸为[batch, d, h, w],例如[2,81,24,80],代表第一帧图像特征中的每一个像素点,与warp后第二帧图像中以这个像素点为中心的9x9邻域范围内的点做匹配(点乘操作),如上式所示,其中k=4,代表匹配的半径长度为4,与分别代表第一帧图像特征中的像素点与第二帧图像特征中的像素点,总共对2个batch进行上述操作。

    而RAFT中的视觉相似性计算模块的计算流程是首先对第一帧图像特征与第二帧图像特征匹配获得一个[batch, h, w, h, w]的cost volume,代表第一帧图像中的每一个像素点,都与第二帧图像特征中所有像素点进行匹配,总共进行batch次上述操作。匹配过程如下式所示,其中与分别为第一帧图像特征与第二帧图像特征,i,j,k,l分别为第一帧与第二帧图像特征的高、宽索引, h为图像特征的通道维度索引。RAFT在原始图像分辨率1/8的图像特征上通过迭代优化光流,光流的初始值设定为0,也就是说不产生移动,然后通过该光流索引上述尺寸为[batch, h, w, h, w]的cost volume(方便表示记作CT1),具体来说便是:在第一次迭代中,因为光流初始值为0,那么便利用上述CT1索引第二帧图像中以当前像素点为中心的9x9邻域范围内点的匹配结果,后续迭代中,因光流迭代之后不为0,同样进行上述索引,只不过需要在当前点上施加一个光流的位移,通过此操作获得的cost volume记作CT2,尺寸为[batch, d, h, w],d与PWC-Net论文中的参数一样,一般为81。通过上述操作便可使匹配范围进一步扩大,进而在下文中将要提到的更新迭代模块中求得残差光流,用来补偿初始光流。可通过Pooling操作获得不同分辨率下的CT2,用来获得局部以及整体的特征。

    2.3 更新迭代模块

    更新迭代模块的输入由四部分组成:两份context提取模块输出,CT2,以及上层迭代过程输出的光流。该模块利用GRU模块以及卷积操作,计算出相对于上次迭代过程输出光流的残差光流,然后与上次迭代过程输出光流进行相加用作补偿。需要注意的是,该模块中利用卷积操作学习上采样权值,使当前1/8分辨率下的光流上采样到与输入图像同尺寸,具体形式如下图所示,其中w1-w9为利用卷积操作学习到的权重,也就是说,上采样之后的光流结果中每一像素点的值都与其周围的9个像素点有关。最后,输出每一次迭代过程生成的全分辨率光流结果,用于损失函数计算,更新模型中的参数。

    3 RAFT模型中的损失函数

    RAFT模型中总共进行12次优化迭代,也就是说会产生12个全分辨率下的光流结果。迭代次数越多,光流计算精度越精确。RAFT模型采用的是监督算法,具体步骤可以表示为:通过求取12次光流迭代过程中的光流计算结果与光流真实值的L1范数,并且迭代的次数越多,对应L1范数结果的权值也就越大(说明该结果对整个损失函数的影响越大),如下式所示,其中,N=12。

    4 总结

    本文叙述了ECCV最佳论文RAFT的一般计算步骤,如有不足,请多多指教。

    本文仅做学术分享,如有侵权,请联系删文。

    下载1在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。
    下载2在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计汇总等。
    下载3在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

    重磅!3DCVer-学术论文写作投稿 交流群已成立

    扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

    同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流等微信群。

     

    一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

    ▲长按加微信群或投稿

    ▲长按关注公众号

    3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

    学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

     

    圈里有高质量教程资料、可答疑解惑、助你高效解决问题觉得有用,麻烦给个赞和在看~  

    个人微信公众号:3D视觉工坊
  • 相关阅读:
    (六)静态域,静态方法和静态代码块
    (五)final修饰符
    (四)函数的参数传递——值传递
    (三)java字符串
    第二章 shell的语法
    字符串操作
    PropertyGrid—属性类别排序
    PropertyGrid—为复杂属性提供下拉式编辑框和弹出式编辑框
    PropertyGrid--为复杂属性提供编辑功能
    PropertyGrid—添加EventTab
  • 原文地址:https://www.cnblogs.com/YongQiVisionIMAX/p/13911170.html
Copyright © 2020-2023  润新知