文献阅读:A Comparison and Evaluation of Multi-View Stereo Reconstruction Algorithms

2 阅读9分钟

一、摘要

This paper presents a quantitative comparison of several multi-view stereo reconstruction algorithms. Until now, the lack of suitable calibrated multi-view image datasets with known ground truth (3D shape models) has prevented such direct comparisons. In this paper, we first survey multi-view stereo algorithms and compare them qualitatively using a taxonomy that differentiates their key properties. We then describe our process for acquiring and calibrating multi view image datasets with high-accuracy ground truth and introduce our evaluation methodology. Finally, we present the results of our quantitative comparison of state-of-the-art multi-view stereo reconstruction algorithms on six bench mark datasets. The datasets, evaluation details, and in structions for submitting new models are available online at vision.middlebury.edu/mview

本文对若干多视图立体重建算法进行了定量比较。此前,由于缺少合适的、带有已知真实值(即 3D 形状模型)的标定多视图图像数据集,研究者难以对这些算法做直接对比。本文首先对多视图立体重建算法进行综述,并基于一套分类体系从定性角度比较它们的关键特性。随后,作者介绍了如何采集并标定多视图图像数据,以及如何获取高精度的真实 3D 模型,并给出评测方法。最后,论文报告了若干当时先进算法在六个基准数据集上的定量评测结果。相关数据集、评测细节以及提交新结果的方法可在线获取:vision.middlebury.edu/mview

文章链接如下:ieeexplore.ieee.org/abstract/do…

二、MVS算法分类体系

作者从六个方面对MVS算法进行分类

  • Scene representation 场景表示
  • Photo-consistency measure 光度一致性度量
  • Visibility model 可见性建模
  • Shape prior 形状先验
  • Reconstruction algorithm 重建算法
  • Initialization requirements 初始化要求

场景表示

多数多视图算法将物体或场景表示为voxels体素level-sets水平集polygon meshes多边形网格depth maps深度图

体素是像素在三维空间下的拓展。将空间划分为一系列方形的网格,如果某网格单元里有物体则记为1,否则记为0。

灰度图:我将以三维形态出击

水平集表示物体的原理在于:定义一个标量场φ(x,y,z)φ(x,y,z),当点在物体外时 φ>0φ>0,当点在物体内时φ<0φ<0,当点在物体表面时φ=0φ=0 。因此用函数值等于0的所有点构成的曲面就是物体表面。

笔者经常会想到等高面,三维物体可以用四维函数表示(水平集),也可以用一堆二维曲线表示(等高线)

多边形网格方法将物体理解为面,将面理解为多边形的集合,每个多边形由多个顶点定义,并通过边连接这些顶点。面通常是三角形或四边形,并可用于表示曲面或其他复杂形状。

image.png

深度图是一种灰度图像,其中每个像素记录点到相机的距离信息。可以利用双目或多目相机的视差信息计算深度并转换成深度图,或利用先验知识或模型对图像进行分析并推测深度图。

image.png

除了上述外,常见的表示方式还有point cloud点云Signed Distance Function(SDF)符号距离函数

光度一致性度量

重建结果如果正确,那么它在不同图像中的投影应当“看起来一致”。这种一致性通常通过比较像素间的相似性来衡量,因此称为光度一致性。可以分为:场景空间度量和图像空间度量。

场景空间度量取一个三维点、三维小面片或局部体元,将它投影到多个输入图像中,再比较这些投影区域是否一致。

图像空间度量从某个几何估计出发,把一幅图像变换到另一视角,用预测图像与真实图像之间的误差来度量一致性。

场景空间误差是在表面上积分,因此往往偏好较小的表面;图像空间误差是在图像区域上积分,因此更看重那些在更多图像中可见、或在图像中占据更大面积的区域。

可见性模型

可见性模型决定在计算光度一致性时,哪些视图应该被纳入比较。可分为三类:几何方法,准几何方法和基于离群点的方法。

几何方法显式模拟成像过程和场景形状,从而判断每个三维点在哪些图像中可见。利用当前的几何估计来预测每个表面点的可见相机;如果表面演化是从一个包围整个场景的大体积开始,并不断“雕刻”掉不一致区域,那么这种可见性估计可证明是保守的:即预测可见的视图集合一定是真实可见集合的子集。

准几何方法使用近似的几何推理来估计可见性。只在相邻相机簇内做光度一致性分析,利用粗略几何来猜测邻近点的可见性。

基于离群点的方法不显式推理几何遮挡,而是把遮挡看作离群点。如果一个场景点在大多数视图中可见,只在少数视图中被遮挡,那么通过离群点剔除可以选择“好视图”。

形状先验

仅凭光度一致性,有时无法恢复精确几何,尤其是在低纹理区域。因此,很多方法会加入某种形状先验,让重建结果更符合预期。

最小表面偏好:一些基于场景空间光度一致性的技术,天然倾向于寻找面积较小的表面。

最大表面偏好:很多基于体素着色和空间雕刻的方法则偏向最大光度一致表面。

局部平滑先验:不对整体表面积施加强先验,而是在局部鼓励平滑。

重建算法思路

先构造三维代价体,再提取表面:例如voxel coloring 及其变体

迭代演化表面来最小化代价函数:例如体素、水平集、网格

计算深度图

先匹配特征点,再拟合表面:先提取并匹配特征点,恢复一组三维点,然后在这些点上拟合表面

初始化要求

除了已标定图像外,所有多视图立体算法都还需要一些关于场景几何范围的额外信息。

常见初始化要求包括:粗略包围盒或包围体积前景/背景分割或轮廓深度或视差范围

三、数据集

图像采集装置

图像由 Stanford 的球形龙门架采集。该机械臂可沿半径 1 米的球面移动,定位精度大约为 0.01 度。 使用的 CCD 相机分辨率为640×480。在该采集设置下,图像中一个像素大约对应物体表面上的0.25 mm。

相机标定

系统通过从 68 个半球视角拍摄平面标定板来完成标定,进而计算相机内参与外参。在此基础上,作者计算出相机相对机械臂末端的位置和姿态偏移,这样就能根据机械臂姿态准确推算相机位姿。

光照

物体被放在球形龙门中心附近的平台上,由三个外部聚光灯照明。由于机械臂在某些视角下会对物体产生阴影,所以作者使用了两种不同机械臂配置来覆盖整个半球,总共采集790 张图像。去掉人工判定为有阴影影响的图像后,得到大约80% 的球面覆盖率。

数据集

完整半球视图集,单圈视图集和稀疏单圈视图集三种子数据集

真实模型采集

参考模型使用 Cyberware Model 15 激光条纹扫描仪获取,每个物体大约采集200 次独立扫描,同时还会得到每个顶点的置信度。

真实模型与图像的对齐

作者使用了一种迭代优化方法,使参考网格与图像之间的光度一致性最大化。 每个网格顶点的目标函数由以下几项构成:

  • 所有投射到该顶点的图像射线颜色方差
  • 该顶点在多少张图像中可见
  • 顶点本身的置信度

所有顶点的该项相加,形成总目标函数,并用坐标下降 + 牛顿线搜索进行最小化。初始对齐由 ICP 给出。作者发现,不同样本重建结果作为 ICP 初始输入时,最终优化结果几乎不变,说明对齐过程比较稳定。最后通过人工检查整幅图像的重投影,发现最大重投影误差大约在1像素左右,通常还更小。

四、评测方法

真实模型为 G,待评测重建结果为 R

精度评测

对 R 上的点找 G 上最近的点,并计算距离。严格地说,由于 R 是曲面,理论上应该在整个表面上积分;但实际实现中,作者使用 R 的顶点采样来近似。

真实模型 G 本身可能也有局部缺失,作者构造了一个补洞版本的真实模型,记为 G' 。 然后先把 R 上每个点匹配到 G' 的最近点;如果该最近点落在“补洞区域”,则不把这个 R 点用于精度统计。 此外,由于真实网格每个顶点还有扫描置信度,若某点落到 G 的低置信度区域,也会被忽略。

完整性评测

统计 G 上有多少点,到 R 的距离不超过某个可接受阈值 d

五、结论与展望

文章提出了一套多视图立体算法分类体系;一组与激光扫描模型配准的多视图数据集;一种同时衡量精度与完整性的评测方法;对若干当时性能较强的多视图立体算法进行定量比较。

作者表示,后续会进一步准备更具挑战性的数据集,例如:带镜面反射的场景和无轮廓信息的场景。 他们也计划:提高图像分辨率;使用更高精度的真实值获取技术,例如工业 CT 扫描;向更多研究者开放评测平台,让社区可以持续比较算法性能。

六、笔者思考

论文发表于2006年6月,论文的范围限定在:输入是已标定视图;输出是稠密物体模型。

其余暂无。