该图和该图讲解转载自:https://zhuanlan.zhihu.com/p/128672851
传统的光流估计算法为了便于求解,一般基于以下几个假设:1)亮度不变假设,即同一个点随时间变化,其亮度不会发生改变。2)小运动,时间的变化不会引起位置剧烈的变化。3)空间一致,一个场景上邻近的点投影到图像也是邻近点,且邻近点的速度一致。(该假设为Lucas-Kanade光流法特有假设)。经典的传统光流算法有LK光流法、PCA-Flow,EpicFlow,FlowFields等算法。但是这些算法的准确性和速度的平衡上往往制约了其在实际工程中的广泛应用。
深度学习的发展给该领域带来了突破性的发展:一方面在有监督学习的方面,通过虚拟采集构建数据集,基于深度学习的光流估计网络无论在速度和准确率上都超过了传统光流算法,极大地推动了该放下的发展;另一方面利用无监督学习算法,基于深度学习的光流估计网络其准确率也达到了传统光流算法,并且其速度也远超传统算法。
在有监督学习算法方面,2015年,德国Philipp等人首次提出将CNN引入到光流估计领域,提出了FlowNet网络结构,输入为两张连续的图像,直接利用CNN进行端到端的训练,输出为原图大小的光流图。为了构建数据集,作者合成了FlyingChairs数据集用于训练。该算法在准确率上略低于传统算法,但是其速度却远远大于传统算法。2016年,FlowNet的作者团队在原网络基础上提出了FlowNet2.0,通过新数据集合成及训练方法改进,多个网络堆叠,小位移网络设计等三个策略,显著提升了光流估计的性能,和传统光流最好算法性能接近,且其速度远快于传统算法。2017年CVPR上,SpyNet利用传统算法中的金字塔理念,由粗到细地估计光流算法,更好地处理了光流算法中的large motion和small motion问题。2018年CVPR,PWCNet继续引入了经典算法中的cost volume,提升了网络的性能,同时实现了端到端的训练,成为后续光流算法的新的baseline。另一方面,2018年CVPR上,港中文汤晓鸥团队也引入cost volume,提出了LiteFlowNet,除此以外还引入了级联预测光流和特征正则的思想,进一步提升了光流的性能,在最近2020的TPAMI上,他们将其扩展为了LiteFlowNet2.0,通过修改网络结构、训练算法等进一步提升了性能。为了处理光流中经典的固有问题遮挡问题,2019年CVPR,IRR引入了occlusion map,并且通过权重共享显著降低了网络的参数量。在2019年BMVC上,PWCNet的作者团队英伟达进一步提出了MFF(PWCNet-fusion)。将PWCNet扩展为了多帧信息融合的结构,性能有进一步的提升。2019年NeurIPS上,VCN进一步改进了cost volume,引入4D卷积的策略,性能达到了目前的SOTA。在具体任务上,光流算法结合具体和特定任务也有了长足的发展,在针对大雨条件下,2019 ICCV上RainFlow针对光流算法进行了优化;2019CVPR上,结合行为识别算法,Representation Flow同时优化了光流算法和行为识别的性能。
在无监督算法方面,2017年,Yi Zhu提出了MotionNet,Simon提出了UnFlow,通过将光流估计看作图像重建问题,取得了很好的效果。无监督光流估计算法中的遮挡问题更加重要。2018年CVPR上,OccAwareFlow首次通过forward和backward光流来估计Occlusion map,在图像重建损失中忽略这部分信息,有效地提升了光流估计算法性能。2019 AAAI上,腾讯AI Lab提出了DFFlow,通过教师网络学习预测光流标检,在学生网络中人为构建遮挡信息,并利用教师网络中的标签作为真值训练,从而解决了遮挡的真值问题。2018年ECCV上,MultiFrameOAFlow利用多帧图像构建occlusion map,从而估计更加准确,性能得到了进一步的提升。2019 CVPR上,DFFlow的作者团队进一步利用多帧信息融合提出了SeFlow,同时还改进了构建遮挡信息的方式(超像素),性能基本达到了有监督光流算法FlowNet的性能,同时该论文也是CVPR best paper的提名论文。2019年CVPR,EPIFlow创新地将几何约束条件引入了到了光流网络,在PWCNet的基础上,将光流估计问题转化为相机中的几何约束问题,显著提升了性能。面向应用方面,在2020年的AAAI上,商汤提出了EFC,通过联合学习视频分割和光流算法,提升了两个任务的性能。
参考:https://zhuanlan.zhihu.com/p/128672851
其中EPIFlow的介绍参考:https://zhuanlan.zhihu.com/p/67778439
FlowNet和FlowNet2.0的解析参考:https://zhuanlan.zhihu.com/p/37736910
这是有监督的网络,通过标注的数据集和自己合成的数据集来学习