http://mp.weixin.qq.com/s/9JkP2YksDOk25jy92v-6tQ
【VALSE 前沿技术选介16-27期】无监督的Dense Correspondence学习方法
作者:Winsty
今天给大家介绍的是几篇做无监督Dense Correspondence的文章,这几篇文章其实核心思想非常类似,故总结在一起给大家分享。众所周知,这几年Deep Learning在各种监督学习和增强学习中取得了巨大的成就,基本席卷了CV,NLP等每个相关领域中每个重要的任务。然而,在无监督学习——这个可能是通向General AI上的必经之路上的问题上进展相对缓慢。除了我们VALSE前沿选介从开篇起就一直高度关注的GAN之外(吐个槽,今年NIPS后人人口头都是GAN,一夜间好像多了很多专家- -),并没有太多实质性进展的工作。目前来看比较成功的工作基本上都是基于Motion或者Context。然而这些工作,和基于监督学习,尤其是在ImageNet上预训练的模型比起来,在传统的监督学习任务上(例如分类,检测)仍有显著差距。个人觉得一个核心问题在于,无监督的学习本质上仍不能学习到和semantic强相关的信息,所以在分类检测这些强sementic相关的问题里结果并不好。但是,在另外一些Low Level的任务中,无监督学习可能可以取得还不错的结果,至少可以使用海量数据作为一个预训练。Stereo Matching和Optical Flow都属于这类Dense Correspondence问题:这类问题需要在两张输入图像对里,找出每一个点在另外一张图片中对应的位置。虽然这样一个问题存在很多歧义匹配,仍然不能完全摆脱开semantic的信息,但是比起分类检测问题而言,还是一个很适合无监督学习的问题。
这三篇文章中都是用了Dense Correspondence的核心定义来作为无监督学习的目标,即给定第一帧图片和估计出的flow或disparity map,通过warp操作可以得到第二帧图片。即:
所以,可以根据这样的定义设计相应的loss function,另外可以通过TV Norm等约束控制学习出的dense field的连续性。要实现这样的网络,一个核心的操作便是可以求导的Warp Op。很幸运地,我们可以借鉴Spatial Transformer Network的思路,求得局部gradient。在[1]中,作者便直接使用了这个思路,设计一个类似于FlowNet的网络,输入t和t+1的图像通过一个CNN输出这两帧之间的optical flow,将输出的flow和t时刻的图像warp,得到预测的t+1时刻图像,并将这个图像和真实的t+1时刻图像求差作为loss。除此之外,在预测出的flow上,也加入了TV Norm的约束。整体流程图如下所示:
在[2]中,作者采用了一个multi-scale pyramid的形式,然而因为没有将warp操作做成一个可导的形式,使得每个scale不得不分开训练。但是在不同scale之间的CNN是share的。除此之外由于没有这个可以求导的warp操作,作者使用了微分形式的optical flow equation(具体推导可以参见教科书)来直接估计x, y方向的optical flow强度。即整个网络的优化目标为:
其中I_x, I_y和I_t分别为在x, y和时间维度上的离散导数。同样使用了一个近似l1 loss处理outlier的问题。虽然在形式上和[1]区别很大,但是其实两者是等价的,是从同一个根源推出的两个变种。在[3]中,仍然是同样的思路。不过应用变成了单目深度估计。和前面两个工作比较大的一个区别是在网络结构上,作者使用了UNet类似的结构,融合了不同层的feature。其余类似。
以上三篇文章在实验中均取得了一些还算合理的结果。在optical flow的两篇中,甚至还得到了一些和有监督方法类似的结果。不过这几篇文章的通病在于,训练数据规模太小,完全没有发挥出无监督学习的优势。同样一个算法在不同规模的数据下表现可能完全不同。另外对于dense correspondence类问题中,最为困难的textureless区域的估计也没有相应的考虑。不过,比起完全通用的无监督学习,我更欣赏这类针对特定任务设计的无监督学习方法,我也相信这类方法可以更先取得更人信服的成绩。
[1] Yu, Jason J., Adam W. Harley, and Konstantinos G. Derpanis. "Back to Basics: Unsupervised Learning of Optical Flow via Brightness Constancy and Motion Smoothness." ECCV2016 Workshop
[2] Ahmadi, Aria, and Ioannis Patras. "Unsupervised convolutional neural networks for motion estimation." arXiv preprint arXiv:1601.06087 (2016).
[3]Garg, Ravi, and Ian Reid. "Unsupervised CNN for Single View Depth Estimation: Geometry to the Rescue." ECCV2016.
|