©PaperWeekly 原创 · 作者|张承灏
学校|中科院自动化所硕士生
研究方向|场景感知和深度估计
一个典型的立体视觉系统通常包括一台具有左右两个摄像头的摄像机,两个摄像头在同一水平线上、同一时刻成像,得到左右两个视角的 RGB 图像。利用立体匹配(stereo matching)算法可从来自左右视角的两幅 RGB 图像中得到用于三维场景重建的深度信息。
无论是传统算法还是基于深度学习的算法,大多数研究是基于平衡视角的立体匹配,即左右视角图像是由具有相同相机内参的摄像头,同时成像的 RGB 图像。
近来,不少研究开始关注不平衡视角的立体匹配。根据左右视角图像的不同,已有的研究工作可以分为以下几类:
经典的立体匹配: 左右图是相同相机,同时成像的 RGB 彩色图像;
跨谱立体匹配: 左图是可见光 RGB 彩图,右图是红外图像;
视觉不平衡立体匹配: 左图是高质量的 RGB 图像,右图是低质量的 RGB 图像;
长短焦立体匹配: 左图是短焦距、宽视角 RGB 图像,右图是长焦距、窄视角 RGB 图像;
本文主要介绍后面三类的代表性研究工作。
论文标题: Unsupervised Cross-spectral Stereo Matching by Learning to Synthesize
论文来源: AAAI 2019
论文链接: https://arxiv.org/abs/1903.01078
1.1 概述
多摄像头多光谱系统在很多现代设备中变得十分普遍,并且红外图像对于人脸识别,目标检测和场景解析等领域具有很大的帮助。因此,跨谱立体匹配具有很大的研究价值。
如上图所示,跨谱立体匹配指的是左图是可见光图像(a),右图是近似红外图像(b)。跨谱立体匹配的挑战在于两方面:一是可见光图像和红外图像在视觉外观上具有很大的差异,例如(c)中显示的衣服,灯光和草坪。二是跨谱图像的真实视差往往难以获取。本文采用 cycleGAN 以无监督学习的方式来实现不平衡视角的跨谱立体匹配。
1.2 方法
上图是跨谱立体匹配的总体框架图。网络分为两个部分,一是谱变换网络 STN,从 cycleGAN 改进得到,用来将可见光左图和红外右图变换到可见光右图和红外左图。二是立体匹配网络 SMN,从 DispNet
[1]
改进得到,利用变换得到的可见光右图和红外左图估计左右图视差。下面重点介绍这两个网络,核心是损失函数的设计。
谱变换网络STN
给定来自谱 A(可见光)的图像
, 和谱 B(红外)的图像
, 首先定义三种映射:
其中 F 将
编码到一个统一的特征空间
,
和
分别是将特征解码到相应谱得到图像的生成器。
,
和
由对抗损失和循环重构损失监督。其中对抗损失由两个判别器
和
给定,判别器用来鉴别生成图像的真伪。
对于判别器的训练 :对
采用分类损失,以判断生成的谱 A 的图像是真是假,对于
同理,因此训练判别器的损失为:
对于生成器的训练 :采用对抗损失和循环重建损失。对抗损失用来迷惑判别器,通过最大化判别器的分类误差,生成器的对抗损失为:
其中
是
,而
是
。即衡量的是谱 A 图经过 STN 变换到谱 B 后,再经过 STN 变换回谱 A 后的重建误差。
为了保证
将图像映射到相同的隐含语义特征空间,并防止 STN 学习视差,作者引入一个辅助的重构损失:
其中
是
,
是
。那么,最终对于生成器和判别器的损失可以总结为:
跨谱立体匹配网络SMN
跨谱立体匹配网络 SMN 采用经典的 DispNet,同时估计以左右图为参考图像的视差
和
,其采用
[2]
中介绍的三种无监督损失函数,即外观匹配损失(appearance matching,ap),视差平滑损失(disparity smoothness,ds)和左右一致性损失(left-right consistency,lr)。
关于这三种函数的详细介绍以及更多无监督损失函数,可以参考之前的文章双目深度估计中的自监督学习概览 。
为了进一步提升性能, 作者还引入了一个辅助损失来训练 STN:
其中
,
,
是 warping 操作 。该损失函数衡量的是原图经过 STN 变换后得到的图像,与 SMN 得到的视差经过变形重构后的图像的误差。
迭代优化
为了训练整个网络,作者采用的是分步迭代优化的策略,具体的步骤如上图所示。第 (1) 步,通过判别器损失
来训练判别器 D,从而使得判别器能够鉴别真假图像。第 (2) 步,通过生成器损失训练 F 和 G 网络。
第 (3) 步,通过
训练立体匹配网络。第 (4) 步,通过
对 F 和 G 网络进行全局优化。先只使用第 (1) 和第 (2) 步对整个网络进行几个 epoch 的预热训练,之后将四个步骤一起用于进一步的训练。
1.3 实验
作者采用的数据集是 2018 年提出的 PittsStereo-RGBNIR 数据集,它的图像对是由一个可见光相机和一个近似红外相机对采集的。评测指标采用的是均方误差 RMSE。上图是和其他方法的对比以及作者的消融实验。
可以看到完整的方法在 lights, glass, glossy,surface 和 bag 类别上取得了最好的性能,但是在其他类别上稍逊一筹。作者也坦言通过 STN 依然很难在 clothing 这个类别上进行可见光和红外图像之间变换,也许之后的研究可以专门针对这个问题来设计更好的方法。
1.4 延伸
类似采用 GAN 来实现两个领域数据变换的方法还有今年 CVPR 提出的 StereoGAN,它采用 cycleGAN 来解决域自适应立体匹配,大家有兴趣可以对照着阅读。
论文标题: StereoGAN: Bridging Synthetic-to-Real Domain Gap by Joint Optimization of Domain Translation and Stereo Matching
论文来源: CVPR 2020
论文链接: https://arxiv.org/abs/2005.01927
视觉不平衡立体匹配
论文标题: Visually Imbalanced Stereo Matching
论文来源: CVPR 2020
论文链接: http://openaccess.thecvf.com/content_CVPR_2020/papers/Liu_Visually_Imbalanced_Stereo_Matching_CVPR_2020_paper.pdf
开源代码: https://github.com/DandilionLau/Visually-Imbalanced-Stereo
2.1 背景
现代智能手机中普遍采用双摄相机(dual-lens),双摄的组合可以是彩色+彩色,彩色+黑白等。本文考虑的组合是视觉质量不平衡的双摄,即高分辨率的主相机(master camera)和低分辨率的从相机(slave camera)的立体匹配。
其实无论是人眼视觉系统或者计算机视觉系统,在进行立体匹配时对低分辨率的图像都具有一定的鲁棒性。即使右图比较模糊,立体匹配算法也能较好的估计视差。毕竟很多算法采用多尺度匹配策略,图像通常先降到较低的分辨率提取特征,再逐渐由粗到精恢复原分辨率的视差图。
那么现在的一个问题是当右图模糊到什么程度时 ,立体匹配算法会失效 ?作者首先进行了一个实验,将右图先下采样多倍再上采样恢复,以模糊图像。下图是对经典的传统方法和深度学习方法进行评测的结果。
由上图可以看出随着模糊程度的加深,传统算法和深度学习算法的错误率都逐渐增大。以单目左图作为输入构建各个模型的 baseline,这里红色标注的是性能低于 baseline 的拐点。这说明对于多数方法:
当模糊 5 倍以下时,右图仍然能够为双目视差估计提供有用的信息,从而高于单目 baseline 的性能。
当模糊大于 8 倍时,立体匹配算法失效,过于模糊的图像对于双目视差估计弊大于利,不如直接输入高分辨率的左图。
下面的曲线图便于更直接的观察,以得出上述结论。
2.2 方法
为了解决左右视角在视觉质量上的不平衡问题,作者提出两步走的方法。
引导视角合成: 利用高分辨率的左图作为引导,先恢复低分辨率的右图。该做法的依据是,尽管低分辨率的右图十分模糊,但是目标粗略的边缘轮廓信息仍然可以识别,通过左右图在边缘轮廓信息上的匹配,将左图的纹理移位到匹配的右图区域,就能恢复清晰的右图。
视差重构:
利用原始左图和恢复后的右图进行立体匹配。
动态移位滤波层
上图展示了引导视角合成的原理。我们可以通过引导视角合成网络来学习左右图在边缘轮廓上的匹配情况,从而生成一个水平方向的滤波器
和一个竖直方向的滤波器
,大小分别是
和
,用来表示右图相对于左图的偏移。
为了减少内存占用量,这里采用两个一维滤波器的组合而不是学习一个二维滤波器。之后利用高质量的左图作为参考,利用
和
的移位信息,即可将左图的纹理在二维空间上移位,得到高质量的右图。
其中
和
分别是网络预测得到的一维线性偏移滤波器,它们俩的内积可以近似表示二维线性偏移滤波器,
是左图的图像块。以此操作可以得到恢复的高质量右图
。
深度引导滤波层
为了进一步的优化边缘信息,可以采用左图中的目标形状知识来对
和
进行引导滤波。原始的引导滤波算法(Guided Image Filtering)是何恺明在 2013 年的 PAMI 上提出的。这是一个在引导图像
和滤波输出
之间的局部线性模型:
其中
是以像素
为中心的局部窗口,线性系数
是窗口
内的常数。这个局部线性模型确保输出
有边缘当且仅当
有边缘。并且,滤波输出
应当与输入
相似,通过最小化下述公式:
这里
是一个正则化参数。在本文中,作者以左图作为引导
, 以滤波体
的第 d 个切片作为输出
,那么线性变换可以写作:
作者采用引导滤波的加速的,完全可导的版本——深度引导滤波,作为
和
的位移学习的最后一层网络。
视觉不平衡立体匹配网络
上图是整个视觉不平衡立体匹配网络的框架图,主要包含上半部的引导视角合成网络 和下半部的视差重构网络 。
具体地,高质量的左图和低质量的右图作为引导视角合成网络的输入,其结构类似于 U-Net 的编码-解码结构。在输出部分采用深度引导滤波层分别学习两个一维偏移滤波器,它们通过动态移位滤波层相组合,从而近似估计二维偏移滤波器。
根据左图与移位滤波器的点乘组合重构高质量的右图。由于偏移滤波器的真值很难获得,因此这里并没有对中间产生的偏移滤波器进行显示地监督。引导视角合成网络的损失函数包括图像层面的光度损失和特征层面的感知损失。二者的表达式分别为:
这里
表示 VGG-19 的第 j 个卷积层特征图,而
分别是特征图的数量,高度和宽度。
视差重构网络采用带有相关层的 DispNet
[1]
结构,以高质量的左图和恢复的右图作为输入进行视差估计,最后采用多尺度的 L1 范式进行有监督回归学习。
2.3 实验
作者以 KITTI Raw Data 作为训练,在 KITTI 2015 上评测,以光度评测指标 PSNR 和 SSIM 来评估引导视角合成网络,以 D1 指标评估视差估计网络,主要实验了三种不平衡因素下的性能:
单目模糊(Monocular Blur):10 倍,15 倍和 20 倍;
整流误差(Rectification Error):最大程度为 0.5 和 1.0;
设备噪声(Sensor Noise):高斯模糊方差为 0.5 和 1.0;
上图展示了这三种不平衡因素的视差估计结果,(a) 中从上至下是 10X 模糊,15X 模糊,
噪声,
噪声,10X 模糊 +0.5 整流误差,10X 模糊 +1.0 整流误差。(b)、(c)、(d) 分别是 PSMNet,CRL 以及 DORN 等 SOTA 方法,(e) 本文的方法。
可见,所提出的引导视角生成方法对于各种不平衡因素都具有鲁棒性,能够获得较为准确的视差图。更多定量和定性的实验结果可参考原论文。
长短焦立体匹配
论文标题: TW-SMNet: Deep Multitask Learning of Tele-Wide Stereo Matching
论文链接: https://arxiv.org/abs/1906.04463
3.1 概述
双目视觉系统为了更好地对环境感知,会采用焦距不同的两个相机相互辅助。这里根据视野(field of views,FOV)大小不同可以得到对前后景的不同感知。
例如,左图是宽视野(wide FOV,WFOV),成像焦距更小,但是能够看到更广阔的远景;右图是窄视野(Tele FOV,TFOV),成像焦距更大,但是能够聚焦于感兴趣的近景。
如上图所示,本文通过多任务学习的方式来解决长短焦距视角下的立体匹配任务,定义左图为 1 倍焦距的 WFOV 图像 ,右图为 2 倍焦距的 TFOV 图像 ,右图的内容为左图的中心内容,该任务命名为 Tele-Wide Stereo Matching,TW-SM 。
采用长短焦立体匹配是为了获得更好的背景虚化效果(Bokeh)。以往的方法将左图 WFOV 裁剪成和右图 TFOV 一样小的视角,那么只能估计 TFOV 区域大小的视差图,得到的背景虚化图区域有限。而如果能得到 WFOV 区域大小的视差图,则可以获得全景背景虚化效果,如上图(b)。
3.2 方法
作者对 TW-SM 任务定义了多种子任务和网络结构,下面分别介绍:
TW-SMNet
该任务的输入是左图 WFOV 和右图 TFOV,根据得到视差结果的不同又可以分为两种,TW-SMNet (T) 和 TW-SMNet (W) 。
TW-SMNet (T) 表示仅在左图 WFOV 和右图 TFOV 的重叠区域进行双目视差估计,得到的视差图应当与 TFOV 区域大小相同。TW-SMNet (T) 的网络结构仿照 PSMNet。
输入时先将左图 WFOV 按照右图进行裁剪,再上采样到和右图一致的分辨率。TW-SMNet (T) 可以得到 TFOV 区域内较为准确的视差图,但是对于 TFOV 区域周围的区域却无法进行视差估计。
TW-SMNet (W) 表示在左图 WFOV 和右图 TFOV 的并集区域进行双目视差估计,得到的视差图应当与 WFOV 区域大小相同。TW-SMNet (W) 和 TW-SMNet (T) 结构相同。
输入时先将右图 TFOV 下采样再在其周围进行零填充,和左图一致的分辨率。TW-SMNet (W) 在 TFOV 区域内可以得到较为准确的视差图,但是在其周围估计的不准确,因为缺少右图相应位置的图像信息。
SHG-SIDE
为了提升 TFOV 周围区域的视差估计性能,作者又设计了一个以 stacked hourglass 为主体结构的单张图像逆深度估计网络 SHG-SIDE,其输入是左图 WFOV,输出是逆深度。在立体视觉中,如果已知双目相机的基线距离
和相机焦距
,那么深度的逆(倒数)就和视差成正比,即:
因此对深度的逆的估计其实就是对视差的估计。
由于输入改为单张图像,SHG-SIDE 在 TW-SMNet 结构的基础上去掉了双输入和 cost volume,之后的 3D 聚合网络也由此降维成 2D 卷积网络,其余结构不变。
SHG-SIDE 相比于 TW-SMNet 在 TFOV 周围区域能估计更准确的视差,但是由于缺少另一个视角的 TFOV,在 TFOV 区域估计的视差不如原来的 TW-SMNet。
MT-TW-SMNet
上面介绍的 TW-SMNet 和 SHG-SIDE 各具优势,TW-SMNet 对于 TFOV 区域估计的更准确,而 SHG-SIDE 对于 TFOV 周围区域估计的更准确。为了充分利用二者的优势,作者采用将 TW-SMNet 和 SHG-SIDE 相结合的多任务学习模式来解决 TW-SM 任务,其整体网络结构 MT-TW-SMNet 如下:
左图 WFOV 和右图 TFOV 作为输入,原有的 TW-SMNet 和 SHG-SIDE 共享特征提取模块 ResNet-50+SPP,之后同时进行单目逆深度估计任务和双目视差估计任务,对于得到的结果进行融合,从而能够得到在整个 WFOV 区域都估计较为准确的视差图。其总体损失函数为,其中
:
在测试时,为了提升效率,可以直接采用双目视差估计 SMDE 网络的结果,因为多任务学习过程中 SIDE 已经贡献了 TFOV 周围像素的特征,这使得 SMDE 能够对全局语义信息有更好的理解。因此测试时即使不加上 SIDE,也能够较好的估计 TFOV 周围的区域。
3.3 实验
作者在 SceneFlow 和 KITTI 2015 数据集上进行了实验,这里重点分析上面介绍的几种模型的性能。
上表是在 KITTI 2015 上的实验结果,SHG-SIDENet 的整体错误率最低,但是在中心区域(TFOV)性能较差。TW-SMNet 在中心区域的性能很好,TW-SMNet (T) 不能估计周围像素的视差,TW-SMNet (W) 在周围像素估计上不如 SHG-SIDENet。MT-TW-SMNet 相比于 TW-SMNet (W) 提升了周围像素和总体像素的准确率,但是中心区域要差一些。
相似的结论能够在上表的 SceneFlow 测试集上得到,其中 MT-TW-SMNet 相比于 TW-SMNet(W) 和 SHG-SIDENet 在中心区域和周围区域都有所提升,取得了最佳的效果。
最后在 KITTI 2015 Benchmark 测试集上,MT-TW Fusion 的完整方法在前后背景上都取得了最佳的性能,这说明融合单目逆深度估计和双目视差估计对于 TW-SM 任务是行之有效的。
3.4 长短焦融合
论文最后还介绍了一系列将各个模型得到的结果进行融合的方法,以及相应的实验,这些操作通过组合能够进一步提升模型的性能,但是其核心结构是 MT-TW-SMNet。下图展示了几种融合方法的示意图:
对于输入特征的融合 :以左图 WFOV 和 TW-SMNet 的输出视差图作为输入,利用 RGB 左图作为引导得到更准确的全局 FOV 逆深度图。
对于输出特征融合 :以估计的全局 FOV 逆深度图和 TW-SMNet 估计的视差图作为输入,输出最终融合的全局 FOV 视差图。
这种输入和输出融合的方式可以看做是一种模型 embedding 的效果,通过融合多个模型的结果来达到更好的性能。
上面介绍了三种视角不平衡的研究工作,虽然各不相同,但是其出发点都是希望将左右视角的图像变成平衡的。跨谱立体匹配希望将不同谱的图像变换到同一个谱域进行立体匹配,视觉不平衡立体匹配希望将低质量的右图恢复到高质量再进行立体匹配,而长短焦立体匹配是希望借助宽视角和窄视角各自的优点互相弥补来进行立体匹配。新出现的场景和任务还原回经典的场景去解决是它们共同的思路。
由此可能引申出更多不平衡视角的新场景,例如彩色-黑白视角的不平衡立体匹配,这些问题有待进一步挖掘和解决。
[1] N. Mayer, E. Ilg, P. Hausser, P. Fischer, D. Cremers, A. Dosovitskiy, and T. Brox. A large dataset to train convolutional networks for disparity, optical flow, and scene flow estimation. In CVPR, 2016.
[2] Godard, C.; Mac Aodha, O.; and Brostow, G. J. Unsupervised monocular depth estimation with left-right consistency. In CVPR, 2017.
[3] Jia-Ren Chang and Yong-Sheng Chen. Pyramid stereo matching network. In CVPR, 2018.
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读 ,也可以是学习心得 或技术干货 。我们的目的只有一个,让知识真正流动起来。
📝 来稿标准:
• 稿件确系个人原创作品 ,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)
• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接
• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志
📬 投稿邮箱:
• 投稿邮箱: hr@paperweekly.site
• 所有文章配图,请单独在附件中发送
• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通
🔍
现在,在「知乎」 也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」 订阅我们的专栏吧
关于PaperWeekly
PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」 ,小助手将把你带入 PaperWeekly 的交流群里。