【论文学习笔记-16】立体匹配:360SD-net
本文利用两张360°摄像机获得的球形图片进行立体匹配,与双目立体匹配相同的,需要解决的问题是在两张图片上获取对应点的位置差,之后通过几何原理获取该点在现实世界的深度
关键难点在于3D相机获得的图片在2D和3D世界的几何性质并不相同,如3D世界投影到2D后可能发生严重的畸变。这里作者采用立刻上下位置的相机对,以保证极线的重合。
同时靠近同时靠近顶部和底部的直线比在“赤道线”附近的图像会产生较多的畸变,这意味着需要针对球形图片设计与双目不同的立体匹配方法。
Contribution
①第一个端到端的360°图片的深度估计网络
②在已有方法的基础上作出了一系列改进,以解决畸变问题,包括级角的使用。
③提出了新颖的filter来获取costvolume,比以往的在球面投影进行像素级平移的filter效果更好
④贡献了360图片立体数据集。
⑤用上述的方法,利用消费级3D相机产生现实环境(3D点云?)
RelatedWork
3D摄像机的廉价获得了CV界的注意,相关工作包括:在球形图像频率域上进行处理做图片分类;使用特殊的球形卷积处理360°图像;使用360°视觉进行布局重构等。
Method
深度计算公式:在已知两图对应点的前提下
使用CNN获取对应点,其中关键的改进步骤包括:为了解决畸变问题,在Feature Extraction前为输出增加了Polar Angle通道,同时为Polar Angle通道进行Feature Extraction,并进行Concatenation。这里没有提前将RGB与Polar angle共同作为输入提取特征(Early Fusion)而是在Feature Extraction后进行Concatenation(Late Fusion Design) 从而分离Geometry information 和 RGB appearance information
由于该任务包含了全景图片,在不同位置需要提取多个尺度的信息,因此采用空洞空间卷积池化金字塔(Aspp)在特征提取之后,提高感受域,同时采用随机剪裁来减少存储消耗:
在CostVolume区域,直接采用GCNet和PSMNet的CostVolume策略来构建3D costvolume包括实现定义Maxdisparity和stepsize等参数,这里stepsize指的是GCnet/GAnet等文章中的直接将可能相同的点的feature直接concatenate作为CostVolume,在矩阵操作上是将两个矩阵不断平移再合并,每次平移的步长就是stepsize,如下图所示:
这里作者设计了新颖的Learnable cost volume,学习stepsize(在这里作者称其为度数单位degree unit),这里通过一个7*1的卷积层进行学习,同时为了采用了Channel wise shifting来防止各通道混合。
前50个Epoch采用传统的固定步长进行训练,然后采用learnable costvolume shifting。
这里作者采用改了堆叠沙漏网络Stacked hourglass作为Encoder Decoder,采用了GCnet的视差回归法,用Smooth_L1作为Loss Function
整体结构如图