点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

多视图立体视觉(MVS)一直是计算机视觉研究的一个热点。它的目的是从多个已知相机姿态的图像中建立密集的对应关系,从而产生稠密的三维点云重建结果。在过去的几年里,人们在提高稠密三维重建的质量上付出了很大的努力,一些算法如PMVS、GIPUMA以及COLMAP等取得了令人印象深刻的效果。

然而,在三维重建任务中,由于数据量大、弱纹理、遮挡、反射等问题,如何高效准确地实现多视图立体视觉仍然是一个具有挑战性的问题。

为了进一步提升三维重建的性能,来自华中科技大学的研究人员提出了多尺度几何一致性引导的MVS方法ACMH、ACMM和基于平面先验的MVS方法ACMP,能够有效地恢复弱纹理区域的深度信息,从而获得高完整性的三维模型。

算法在公开的三维重建评测数据集ETH 3D和Intel Tanks and Temples上获得优异的性能,在公开发表的论文中评估结果领先于同类方法。

1

背景

目前,多视图立体视觉一般采用两个步骤重建场景的稠密三维模型。首先为每幅图像估计其深度图,然后将这些深度图融合得到统一的点云表示。其中,深度图估计是该流程中的关键。

为了高效地得到每张图像的深度信息,目前的方法一般基于PatchMatch的迭代优化方式来估计深度图,通常包含四个步骤:随机初始化(Initialization)、采样传播(Sampling and Propagation)、视图选择(View Selection)和细化(refinement),如图1所示。

图1 PatchMatch多视图立体视觉框架

然而,目前的PatchMatch方法在采样传播的效率和视图选择的准确性上很难同时兼顾,而且无法很好地处理弱纹理区域的深度估计问题。

为此,研究人员在他们的近期工作中提出了高效准确的ACMH算法,ACMH算法不仅在性能上优于经典的COLMAP算法,并且计算效率是COLMAP的8-10倍。进而为解决MVS中弱纹理区域的深度估计问题,研究人员进一步提出多尺度几何一致性引导的ACMM算法以及基于概率图模型的平面先验引导的ACMP算法。

这些工作的主要贡献有以下几点:

1)提出了自适应棋盘网格采样策略,以捕获更好的候选假设空间。在此基础上,提出了一种启发式的视图选择策略,能够鲁棒的完成逐像素的视图选择。

算法不仅继承棋盘网格传播的高效性,在效率方面是传统的COLMAP算法的8-10倍,也由于逐像素视图选择推断的准确性使得算法具有比COLMAP算法更好的性能。

2)基于ACMH算法框架,研究人员提出多尺度几何一致性引导的MVS算法框架ACMM。通过构造图像金字塔,在不同尺度上捕获歧义性区域的显著性信息,并通过多视图的几何一致性来优化传递该信息。

此外,还提出尺度间的细节恢复器来保证场景的细节不在多尺度的传递中被湮灭。ACMM由于引入了多尺度信息,在弱纹理区域的深度估计方面具有突出的性能,性能相比ACMH有了大大的提高。

3)提出基于概率图模型的平面先验辅助的ACMP算法框架。为了自适应地为弱纹理区域捕获更合适的显著性信息。研究人员通过三角化图像中深度可靠的稀疏像素点来构造平面先验模型。

然后通过构造概率图模型来推导平面先验辅助的多视图匹配代价函数。这样不仅能保证PatchMatch的高效性,而且自适应地感知弱纹理区域的显著性信息以辅助其深度估计。实验结果表明,在没有融合多尺度信息的条件下,平面先验引导的ACMP算法就能够取得优于ACMM更好的性能。

自适应网格传播及启发式视图选择的MVS框架——ACMH算法

图2 自适应棋盘网格传播方式

由于邻域内像素点深度值具有相关性,在一个的邻域内,其中一个像素点得到了较优的估计,在之后的迭代更新过程中,则它的估计值会向它的上下左右相邻像素点进行传播,从而实现稠密深度图的迭代优化。

COLMAP采用的是如图2左边的从上到下从左到右的传播方法(如图2左边所示),这种传播方式使得算法的并行规模与图像的行数或列数成正比,对GPU的利用效率不高。

Gipuma采用一种红黑棋盘网格的传播方式,将二维图像像素点以红黑棋盘的方式进行分组,并以扩散的方式采样邻域像素点(如图2中间所示)。

在每次迭代中,当前黑色的像素会选择周围固定8个位置的深度假设作为当前像素的后续假设。这种邻域传播机制相比COLMAP的左右上下传播机制可以更加充分的利用GPU实现大规模的并行操作,从而提高算法的效率。

实际中Gipuma算法的计算效率也是大大优于COLMAP算法。然而COLMAP算法采用了较为复杂的基于马尔科夫链模型的视图选择策略,而Gipuma算法则缺乏视图选择,在迭代过程中简单的选取前k个最小匹配代价求平均来计算每个候选假设的匹配代价。因而在性能上Gipuma算法比COLMAP算法要差很多。

ACMH也采用类似Gipuma的棋盘网格方式,因而继承了Gipuma的高效并行的优势,同时在两个方面进行了创新:

1)优化了红黑棋盘格的传播方法,不是像Gipuma采用固定的8个位置假设,而是采用图2右边所示的V形和长条形区域来自适应地选取局部最优假设进行传播,其中,每个V形区域包含7个可采样点,每个长条区域包含11个可采样点。这样使得算法能够有机会找到更好的深度假设。

2)不是像Gipuma那样对每个候选假设简单的选取N个源视图中前k个最小NCC匹配代价的平均值作为评价候选假设好还的依据,而是引入了视图选择机制,提出了一种启发式的多假设联合视图选择策略来对NCC匹配代价进行加权。

图3 启发式多假设联合视图选择策略

图3为启发式多假设联合视图选择的基本实现过程。当前像素有8个候选假设,对每个候选假设,N个源视图会得到N个NCC匹配代价,所有的NCC匹配代价形成一个8*N的矩阵,根据矩阵的每一行可以度量该候选假设的可靠性。

在原始的Gipuma算法中,对每一行都独立的进行处理,选择每一行中最好的k个NCC匹配代价计算平均值来衡量该假设的可靠性。

这种方式的问题是没有考虑当前像素在源视图上的可见性。图3左边上方很好的说明了这个问题,如果当前像素在某个源视图上是不可见的,那么这个源视图对应的NCC匹配代价就不能用来度量候选假设的可靠性。

因此,对每个像素而言,N个源视图的可见性都是不同的,需要采用一个权值来度量每个视图对当前像素的可见程度,然后计算k个最好的NCC匹配代价的加权平均值来衡量该假设的可靠性。

每个源视图的可见性权值的计算是关键,研究人员提出了一种启发式的多假设联合视图选择策略。每个源视图对应NCC代价矩阵中的一列8个代价值,一个简单易行的策略是使用该列代价值的好坏的衡量该视图的可见性好坏。

如果较好的代价值个数较多,超过一定阈值(如3个),而较差的代价值个数较少,少于一定阈值(如2个),则认为该视图是当前像素的可见视图,否则是不可见的,不能参与评估候选假设。

对可见视图,将其好的代价值归一化到0,1之间的权值,其代价越好,权值越大。最后计算每个候选假设的k个最好的NCC匹配代价的加权平均值。

最后,进行细化步骤来细化像素所处的平面假设,进一步降低聚合代价,丰富解空间的多样性。对于法向和深度,存在三种可能的状态:法向接近优解,深度接近优解,都不接近优解。

因此,我们产生两个新的假设,其中一个是随机生成的,另一个是通过扰动得到的。将这些新的深度和法向与当前的深度和法向结合起来,产生了另外六个有待检验的新假设。选择聚合成本最小的假设作为像素p的最终估计,对上述传播、视图选择和细化进行多次重复,得到参考图像的最终深度图。

多尺度融合的ACMH框架——ACMM

图4 多尺度几何一致性引导框架

弱纹理区域的深度估计一直是MVS中比较困难的问题。一般来说图像分辨率越高,稠密三维重建的效果应该越好。

但是分辨率的提高也意味着弱纹理区域的增多。纹理是一个相对的概念,比较同一个场景的低分率图像和高分辨率图像,我们会发现,在高分辨图像中是弱纹理的区域在低分辨率图像中却具有丰富的细节。

因此,低分辨率图像能够更好的捕获图像的结构信息,在重建中对高分辨率图像应该具有很好的补助作用。研究人员根据这一观察构建了一个多尺度的ACMH算法框架——ACMM算法(基本原理如图4所示)。

图像的纹理信息在不同尺度上的显著性是不同的。为了更好地为歧义性的区域感知其显著性信息,研究人员提出了多尺度几何一致性引导框架,不仅在不同的尺度上感知显著信息,并且通过多视图的几何一致性来更好地传递该信息。

具体来说,研究人员对输入的图像集合构造图像金字塔,然后由粗到细地恢复每个尺度的深度图信息。在获得较粗尺度下弱纹理区域的深度估计后通过上采样以及严格的几何一致性校验,然后将它们传播到更精细的尺度,在更精细的尺度上优化这些估计。上采样的估计跟当前尺度的估计融合之后进行和ACMH相同的传播、视图选择和细化。

在上采样之后,还需要使用细节恢复器来修正细节上的误差。具体操作为:在当前尺度上,计算上采样的估计值对应的光度一致性代价以及该尺度RGB图像计算新的光度一致性代价,比较两个代价值,对于差值大于阈值的像素点,使用新的代价对应的估计值更新原来的估计。

细节恢复器的使用,防止了在弱纹理区域由上一尺度上采样得到的可靠估计丢失。这样,为了进一步保证多视图间的深度一致性,研究人员采用几何一致性来优化当前尺度的估计。

基于概率图模型的平面先验MVS——ACMP算法

图5 基于概率图模型的视图选择

多视图聚合光度一致性的可靠性取决于视图选择的权重。在AMMH和ACMM算法中,视图选择是一种启发式的策略,在实际当中也具有较好的鲁棒性。然后较多的参数设置使得算法的适应新有一定的限制。

因此,研究人员设计了一个概率图模型,以充分利用源图像的光度一致性和邻域像素的视图选择信息使得视图的选择具有更好的鲁棒性,且对参数的依赖更小。

最终的视图选择的权值由这两项的乘积来决定。采用概率图模型的方式使得视图选择对参数的依赖很少,并且有利于更好的得到最佳的视图选择结果,后面的实验结果也表明,即便是单纯地采用概率视图选择来代替之前的启发式视图选择,也能够明显的提高ACMH框架的性能。

图6 基于概率图模型的平面先验约束的MVS

基于概率图模型的平面先验约束的多视图深度估计整体框架如图5所示。在图的上方是基本流程,首先采用ACMH算法得到参考图的深度图,然后采用严格的几何一致性进行校验,保留一些可靠像素的深度值。

以这些可靠的像素点为基础,采用德劳内方法在图像平面构建三角网格,将每一个三角形看做一个小的平面,每个三角平面的深度和方法根据其三个顶点进行计算。ACMP算法以这样构造得到的三角网格来作为深度估计的平面先验约束。

右边的第一项为似然概率,对应当前像素的假设的光度一致性,第二项为先验概率,对应当前像素与其所在的三角平面的一致性。

如果当前像素的深度和方向与其所处的三角平面的深度和方向具有很好的一致性,则给予奖励,否则给予惩罚。平面先验约束的代价函数定义如下:

2

实验结果

ACMH及ACMM实验结果

研究人员评估了ACMH、ACMM在ETH3D benchmark上的有效性。ACMH算法继承了Gipuma的棋盘网格传播方式,但是性能要大大优于Gipuma算法,超过了COLMAP算法。

而且ACMH算法也继承了Gipuma的棋盘网格的高效并行机制,因此在计算效率上是COLMAP的8-10倍。ACMM比ACMH性能提升了相当大的幅度,对弱纹理区域具有很好性能。在效率上相比ACMH有所降低,但是仍然是COLMAP的5倍左右。图7和图8为部分可视化结果。

表1 ETH3D高分辨率测试集点云评测(准确度、完整度、F1分数)

表2 不同方法在Strecha数据集生成深度图运行时间对比

图7  部分ETH3D benchmark数据集深度图对比

图8  部分ETH3D benchmark数据集点云对比

ACMP实验结果

研究人员在ETH3D benchmark的高分辨率多视图立体数据集上进行了评估。在表3中列出了ETH3D benchmark的13个高分辨率多视图训练集的比较结果。

表3为深度图的评测结果,表4为点云的评测结果,从表3和表4的结果中可以看出,ACMP的结果要比ACMH的结果好很多,并且在没有用多尺度信息的情况下,已经优于ACMM算法的结果。

图8和图9为部分可视化结果。在效率方面ACMP与ACMM相当。

更多评测结果可以参考以下两个评测网站:

https://www.eth3d.net/high_res_multi_view https://www.tanksandtemples.org/leaderboard/IntermediateF/

表3 ETH3D数据集深度图评测中绝对误差小于2cm和10cm的像素百分比

表4 ETH3D数据集高分辨率测试集点云评测(准确度、完整度、F1分数)

图9  部分ETH3D benchmark数据集深度图对比

图10  部分ETH3D benchmark数据集点云对比

参考文献:

1.Qingshan Xu, Wenbing Tao*, Multi-Scale Geometric Consistency Guided Multi-View Stereo, In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, June 16-20,2019,Long Beach, CA, USA.

2.Qingshan Xu, Wenbing Tao*, Planar Prior Assisted PatchMatch Multi-View Stereo, AAAI Conference on Artificial Intelligence (AAAI), Feb. 07-14, 2020, New York, USA.

END

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

下载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人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

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

▲长按加微信群或投稿

▲长按关注公众号

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

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

圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

​多视图立体视觉: CVPR 2019 与 AAAI 2020 上的ACMH、ACMM及ACMP算法介绍相关推荐

  1. fullcalendar 获得当前视图年月_?多视图立体视觉: CVPR 2019与AAAI 2020 上的ACMH、ACMM及ACMP算法介绍...

    作者 | 孔维航 编辑 | CV君 报道 | 我爱计算机视觉(微信id:aicvml) 多视图立体视觉(MVS)一直是计算机视觉研究的一个热点.它的目的是从多个已知相机姿态的图像中建立密集的对应关系, ...

  2. 一文全览,AAAI 2020上的知识图谱

    2020-02-15 05:34:40 作者 | 杨晓凡 责编 | 贾伟 AI 科技评论按:2020 年 2 月 9 日,AAAI 2020 的主会议厅讲台上迎来了三位重量级嘉宾,这三位也是我们熟悉. ...

  3. CVPR 2019 | 针对人脸识别系统的高效黑盒对抗攻击算法

    本工作提出了一种高效的基于决策的黑盒对抗攻击算法,在业内第一次以完全黑盒的方式成功地实现对人脸识别系统的对抗攻击.本工作由腾讯 AI Lab 主导,与清华大学,香港科技大学联合完成,发表于 CVPR ...

  4. CVPR 2019 Oral | 华科开源效果超群的人体姿态迁移算法

    置顶我爱计算机视觉,更快获取CVML新技术 今天跟大家重磅介绍华中科技大学刚刚开源的一款人体姿态迁移算法,其基于GAN思想构建,效果好到简直令人不可思议,论文<Progressive Pose ...

  5. AAAI 2020 开源论文 | 用于深度立体匹配的自适应单峰匹配代价体滤波

    ©PaperWeekly 原创 · 作者|张承灏 学校|中科院自动化所硕士生 研究方向|深度估计 本文介绍北航和深动科技在 AAAI 2020 上的论文 Adaptive Unimodal Cost ...

  6. 多任务学习,如何设计一个更好的参数共享机制?| AAAI 2020

    2019-12-26 05:44:43 作者 | 孙天祥 编辑 | 刘萍 原文标题:稀疏共享:当多任务学习遇见彩票假设 本文介绍了复旦大学邱锡鹏团队在AAAI 2020 上录用的一篇关于多任务学习的工 ...

  7. CVPR 2019 论文大盘点—人体姿态篇

    点击我爱计算机视觉标星,更快获取CVML新技术 CV君盘点了CVPR 2019 中有关人体姿态的论文,其中研究 3D人体姿态估计的论文最多,有 11 篇,研究 2D 姿态估计的 7 篇,姿态迁移 2 ...

  8. 五分之一参会者将缺席AAAI 2020,主办方被迫“在线开会”,中国作者可远程演讲...

    郭一璞 发自 宅家 量子位 报道 | 公众号 QbitAI 在疫情影响下,大家不仅开始在线办公.在线上课,甚至连学术会议也要在线参与了. 在疫情肆虐的时候,美国禁止中国人入境,受此影响,本来今天要在纽 ...

  9. 从ICLR 2020、AAAI 2020看对话系统近期研究进展

    ©PaperWeekly 原创 · 作者|王馨月 学校|四川大学本科生 研究方向|自然语言处理 本文盘点近期 ICLR 2020.AAAI 2020 上几篇对话系统相关的论文. ICLR 2020 论 ...

最新文章

  1. H264编码之GOP含义
  2. SAP新财务系列之科目层次
  3. SqlServerManagement新建数据库并执行sql文件流程
  4. docker安装mysql后怎么链接_使用docker安装mysql并连接
  5. c语言格式字符If,C语言所有语句格式 C语言中的的if语句共有多少种格式?
  6. c 语言五子棋游戏代码,C语言案例:控制台版本的五子棋游戏【代码】
  7. 基于Python的ModbusTCP客户端实现
  8. 百度地图利用位置提供服务器,利用百度地图API获取当前位置信息的实例
  9. mysql insert
  10. [高精度整数] N的阶乘 [2006年清华大学计算机研究生机试真题]
  11. [NOIp2008] 双栈排序 (二分图染色 + 贪心)
  12. DiskGenius无损调整C盘容量方法
  13. bazel proxy 设置
  14. 破解版全能地图下载瓦片数据以及操作使用方法
  15. boost::asio 阻塞卡顿问题
  16. php 读取 日文文件名,PHP文件上传-处理阿拉伯文/中文/日文文件名
  17. python MDI窗口加载ui文件方法
  18. [每日一氵]索引变量要提前拿出来或者注意顺序
  19. linux用屏幕录制软件下载,vokoscreenNG(屏幕录制软件)下载_vokoscreenNG(屏幕录制软件)官方下载-太平洋下载中心...
  20. 风影ASP.NET基础教学 11 FormView

热门文章

  1. 数据库被黑后留下的数据
  2. Windows和Linux组成双系统的最简单办法
  3. 实战!聊聊如何解决MySQL深分页问题
  4. 基于 Kubernetes 的微服务项目设计与实现
  5. 腾讯信息流热点挖掘技术实践
  6. 饿了么交付中心语言栈转型总结
  7. 马云第一次创业翻译社,差点倒闭,兼卖鲜花和礼物维持终翻身
  8. 人工智能为人们减肥操碎了心
  9. 从苦逼撸代码到年入上百亿,成为商界领袖,IT从业者想要通过自己的努力改变现状,只靠单纯写代码远远不够...
  10. IT人的八大修炼神器