多视图立体匹配论文分享:BlendedMVS
作者:Toddi-Qi
来源:微信公众号|3D视觉工坊(系投稿)
3D视觉精品文章汇总:https://github.com/qxiaofan/awesome-3D-Vision-Papers/
论文题目:BlendedMVS: A Large-scale Dataset for Generalized Multi-view Stereo Networks
数据集和预训练模型地址:在公众号「3D视觉工坊」,后台回复「BlendedMVS」,即可直接下载。
摘要:
尽管深度学习在多视图立体匹配领域取得了很大的进展,但是有限的训练数据使得训练模型很难泛化到看不见的场景。与其他的计算机视觉任务相比,制作大规模的MVS数据集是相对困难的,因为它需要昂贵的主动激光扫描仪和劳动密集的处理去获得ground-truth的三维结构。本文提出一个新的大规模数据集BlendedMVS,为基于学习的MVS算法提供了足够的训练样本。为了创建数据集,首先利用三维重建算法从给定的场景图像中恢复出带纹理的三维网格模型。然后将重建得到的三维网格模型渲染得到彩色图像和深度图。为了在模型训练中引入环境的光照信息,渲染得到的彩色图像和原始输入图像进行混合,混合得到的彩色图像作为网络模型的训练输入。BlendedMVS数据集中包含超过17k的高分辨率图像,涵盖了各种场景,包括城市、建筑、雕塑和小物体。实验表明:和其他数据集相比,使用BlendedMVS训练的网络模型具有更好的泛化能力。
图 1 渲染数据的生成流程,首先从输入图像中生成带纹理的三维模型,然后将三维模型渲染到不同的视点下得到渲染图像和深度图。
一、数据集的制作:
数据集制作的流程如图1所示,首先使用三维重建算法从输入的图像中生成带纹理的三维网格模型。接下来,将三维网格模型渲染到每个相机视点下以获得渲染的图像和对应的深度图。最终用于训练的输入图像是渲染图像和输入图像进行混合得到混合图像。
1.1. 生成带纹理的三维网格模型
构建合成MVS数据集的第一步是生成高质量的带纹理的三维网格模型。给定输入图像,首先利用Altizure平台进行三维网格重建。该软件会执行完整的三维重建算法,三维重建的输出结果为带纹理的三维网格模型和相机位姿。
如图1所示,根据三维网格模型和输入图像的相机位姿,可以把三维模型渲染到各个视点下得到渲染的图像和渲染的深度图。渲染得到的深度图将作为模型训练时深度图的ground-truth。
图 2 混合图像生成的流程,高通滤波器用于从渲染图像中提取视觉线索,而低通滤波器从输入图像中提取环境光照信息。
1. 2. 生成混合图像
直观上讲,渲染得到的图像可以直接作为网络训练。然而,一个潜在的问题是渲染得到的图像不包含依赖视图的光照。事实上,一个理想的MVS网络训练样本应该满足以下两个条件:
① 图像和深度图应该一致对齐,训练样本应该提供从输入图像到ground-truth深度图的可靠映射。
② 图像应该反射视点相关的光照。逼真的环境光照可以增强模型对真实场景的泛化能力。
二、场景
BlendedMVS数据集包含113个场景,涵盖了各种不同的场景,包括建筑、街景、雕塑和小型物体。每个场景包含20到1000张不等的输入图像,整个数据集共有17818张图像。与DTU数据集相比,DTU数据集场景是通过一个固定的机械臂获取的,BlendedMVS数据集中的场景包含各种不同的相机轨迹。非结构化的相机轨迹可以更好地建模不同的图像捕捉风格,使得网络对真实世界的重建具有更好的泛化性能。
图 3 BlendedMVS数据集中带有相机轨迹的三维纹理模型,图中蓝色框表示三维空间中相机的位置。
三、实验结果
为了验证提出的数据集的有效性,作者在BlendedMVS数据集上训练和评测了MVSNet、R-MVSNet和Point-MVSNet三种网络模型。
3.1. 深度图验证
为了验证BlendedMVS数据集的有效性,作者比较了在1)DTU训练集、2)ETH3D低分辨率训练集、3)MegaDepth数据集和4)BlendedMVS训练集上训练模型的效果。评测在对应数据集的验证集上进行的。实验中考虑的三个指标:1)终点误差(end point error, EPE),即预测的深度图与深度图ground-truth的平均误差;2)大于1像素误差,即误差大于1个深度像素的比例;3)大于3像素误差。定量结果如图4所示。
图 4 模型训练过程中验证集上的深度图误差。使用BlendedMVS数据集(红线)训练的模型在DTU和ETH3D验证集上都表现出良好的泛化性能。
3.2. 点云评测
除了深度图评测之外,作者还比较了在DTU、ETH3D、MegaDepth和BlendedMVS数据集训练的模型在Tanks and Temples训练集上的点云重建效果。点云评测包括三个评价指标,即精度(accuracy)、召回率(completeness)和整体来衡量重建质量。如表5所示,在DTU和MegaDepth数据集上训练的模型取得了接近的分数,而在BlendedMVS数据集上训练的模型在所有场景上都优于其他三个数据集上训练的模型。将训练数据从DTU改为BlendedMVS,从47.5%提高到53.2%.深度图的可视化比较如图6所示。
图 5 Tanks and Temples数据上的点云评测,在BlendedMVS数据上训练的模型在所有场景上性能优于在其他数据集上训练的模型。
图 6 深度图重建的可视化比较,与其他三个数据集相比,使用BlendedMVS数据集训练的模型预测的深度图结果更清晰。
结论:
本文提出用于MVS网络模型训练的BlendedMVS数据集。数据集提供了超过17k的高质量训练样本,涵盖了各种场景。为了构建数据集,首先从输入图像中重建带纹理的三维网格模型,然后将三维网格模型渲染得到彩色图像和深度图。将渲染的彩色图像和输入图像进行混合作为模型训练的输入。使用了BlendedMVS数据集和其他MVS数据集对三种网络模型进行训练。定量和定性结果表明,在BlendedMVS数据集上训练的模型具有更好的泛化能力。
本文仅做学术分享,如有侵权,请联系删文。
3D视觉工坊-CV交流群
已建立3D视觉工坊-CV微信交流群!想要进CV交流群的同学,可以直接加微信号:CV_LAB 。加的时候备注一下:研究方向+学校+昵称,即可。然后就可以拉你进群了。
强烈推荐大家关注「3D视觉工坊」今日头条和「3D视觉工坊」微信公众号,可以快速了解到最新优质的3D视觉论文。
论文题目:BlendedMVS: A Large-scale Dataset for Generalized Multi-view Stereo Networks
数据集和预训练模型地址:在公众号「3D视觉工坊」,后台回复「BlendedMVS」,即可直接下载。
摘要:
尽管深度学习在多视图立体匹配领域取得了很大的进展,但是有限的训练数据使得训练模型很难泛化到看不见的场景。与其他的计算机视觉任务相比,制作大规模的MVS数据集是相对困难的,因为它需要昂贵的主动激光扫描仪和劳动密集的处理去获得ground-truth的三维结构。本文提出一个新的大规模数据集BlendedMVS,为基于学习的MVS算法提供了足够的训练样本。为了创建数据集,首先利用三维重建算法从给定的场景图像中恢复出带纹理的三维网格模型。然后将重建得到的三维网格模型渲染得到彩色图像和深度图。为了在模型训练中引入环境的光照信息,渲染得到的彩色图像和原始输入图像进行混合,混合得到的彩色图像作为网络模型的训练输入。BlendedMVS数据集中包含超过17k的高分辨率图像,涵盖了各种场景,包括城市、建筑、雕塑和小物体。实验表明:和其他数据集相比,使用BlendedMVS训练的网络模型具有更好的泛化能力。
图 1 渲染数据的生成流程,首先从输入图像中生成带纹理的三维模型,然后将三维模型渲染到不同的视点下得到渲染图像和深度图。
一、数据集的制作:
数据集制作的流程如图1所示,首先使用三维重建算法从输入的图像中生成带纹理的三维网格模型。接下来,将三维网格模型渲染到每个相机视点下以获得渲染的图像和对应的深度图。最终用于训练的输入图像是渲染图像和输入图像进行混合得到混合图像。
1.1. 生成带纹理的三维网格模型
构建合成MVS数据集的第一步是生成高质量的带纹理的三维网格模型。给定输入图像,首先利用Altizure平台进行三维网格重建。该软件会执行完整的三维重建算法,三维重建的输出结果为带纹理的三维网格模型和相机位姿。
如图1所示,根据三维网格模型和输入图像的相机位姿,可以把三维模型渲染到各个视点下得到渲染的图像和渲染的深度图。渲染得到的深度图将作为模型训练时深度图的ground-truth。
图 2 混合图像生成的流程,高通滤波器用于从渲染图像中提取视觉线索,而低通滤波器从输入图像中提取环境光照信息。
1. 2. 生成混合图像
直观上讲,渲染得到的图像可以直接作为网络训练。然而,一个潜在的问题是渲染得到的图像不包含依赖视图的光照。事实上,一个理想的MVS网络训练样本应该满足以下两个条件:
① 图像和深度图应该一致对齐,训练样本应该提供从输入图像到ground-truth深度图的可靠映射。
② 图像应该反射视点相关的光照。逼真的环境光照可以增强模型对真实场景的泛化能力。
二、场景
BlendedMVS数据集包含113个场景,涵盖了各种不同的场景,包括建筑、街景、雕塑和小型物体。每个场景包含20到1000张不等的输入图像,整个数据集共有17818张图像。与DTU数据集相比,DTU数据集场景是通过一个固定的机械臂获取的,BlendedMVS数据集中的场景包含各种不同的相机轨迹。非结构化的相机轨迹可以更好地建模不同的图像捕捉风格,使得网络对真实世界的重建具有更好的泛化性能。
图 3 BlendedMVS数据集中带有相机轨迹的三维纹理模型,图中蓝色框表示三维空间中相机的位置。
三、实验结果
为了验证提出的数据集的有效性,作者在BlendedMVS数据集上训练和评测了MVSNet、R-MVSNet和Point-MVSNet三种网络模型。
3.1. 深度图验证
为了验证BlendedMVS数据集的有效性,作者比较了在1)DTU训练集、2)ETH3D低分辨率训练集、3)MegaDepth数据集和4)BlendedMVS训练集上训练模型的效果。评测在对应数据集的验证集上进行的。实验中考虑的三个指标:1)终点误差(end point error, EPE),即预测的深度图与深度图ground-truth的平均误差;2)大于1像素误差,即误差大于1个深度像素的比例;3)大于3像素误差。定量结果如图4所示。
图 4 模型训练过程中验证集上的深度图误差。使用BlendedMVS数据集(红线)训练的模型在DTU和ETH3D验证集上都表现出良好的泛化性能。
3.2. 点云评测
除了深度图评测之外,作者还比较了在DTU、ETH3D、MegaDepth和BlendedMVS数据集训练的模型在Tanks and Temples训练集上的点云重建效果。点云评测包括三个评价指标,即精度(accuracy)、召回率(completeness)和整体来衡量重建质量。如表5所示,在DTU和MegaDepth数据集上训练的模型取得了接近的分数,而在BlendedMVS数据集上训练的模型在所有场景上都优于其他三个数据集上训练的模型。将训练数据从DTU改为BlendedMVS,从47.5%提高到53.2%.深度图的可视化比较如图6所示。
图 5 Tanks and Temples数据上的点云评测,在BlendedMVS数据上训练的模型在所有场景上性能优于在其他数据集上训练的模型。
图 6 深度图重建的可视化比较,与其他三个数据集相比,使用BlendedMVS数据集训练的模型预测的深度图结果更清晰。
结论:
本文提出用于MVS网络模型训练的BlendedMVS数据集。数据集提供了超过17k的高质量训练样本,涵盖了各种场景。为了构建数据集,首先从输入图像中重建带纹理的三维网格模型,然后将三维网格模型渲染得到彩色图像和深度图。将渲染的彩色图像和输入图像进行混合作为模型训练的输入。使用了BlendedMVS数据集和其他MVS数据集对三种网络模型进行训练。定量和定性结果表明,在BlendedMVS数据集上训练的模型具有更好的泛化能力。
本文仅做学术分享,如有侵权,请联系删文。
3D视觉工坊-CV交流群
已建立3D视觉工坊-CV微信交流群!想要进CV交流群的同学,可以直接加微信号:CV_LAB 。加的时候备注一下:研究方向+学校+昵称,即可。然后就可以拉你进群了。
强烈推荐大家关注「3D视觉工坊」今日头条和「3D视觉工坊」微信公众号,可以快速了解到最新优质的3D视觉论文。