雷锋网
(公众号:雷锋网)
AI科技评论按,本文作者究竟灰,本文首发于知乎,雷锋网 AI科技评论获其授权转载。
雷锋网注:本文为下篇,内容为
第三章:稠密重建
和
第四章:稠密重建。
第一章和第二章参见
CCCV2017讲习班笔记-基于图像的大规模场景三维重建(上)
3.稠密匹配
稠密匹配是MVS.基本思路是
两视图的一致性。
一致性度量主要包括三个:
-
SSD(Sum of Squared Differences):平常差的和
-
SAD(Sum of Absolute Differences):绝对值差的和
-
NCC(Normalized Cross Correlation):归一化的交叉关系
多视图图像一致性需要考虑相机的可视性问题。
但是:
相机可视性需要场景结构、场景结构需要相机可视性
MVS算法主要分为三种:
-
基于体素的方法:Voxel based MVS
-
基于点云扩散的方法:Feature point growing based MVS
-
基于深度图融合的方法:Depth-map merging based MVS
基于体素的方法
体素的表达,并且说明其MVS等价于一个3D空间Voxel的标记问题。
优化方法:用马尔科夫随机场优化。
离散空间的Labeling是典型的MRF优化问题。其中的两项分别是一致性项和气球膨胀。
一致性项表达两点一致。气球膨胀表达的是强制倾向于把点分成内点。因为如果不加气球膨胀,一致性项会把点都分成外点,所以要加一个反向的力量。
两视图一致性计算:
其中如何鲁棒投票寻找局部极值集中的点很重要。
MRF优化问题求解:Graph-cuts
重建结果:
体素问题是占内存,即使很小的体素也要很大内存。于是提出以下方法,主要思路是自适应多分辨率网格,在物体表面高分辨率、其他区域低分辨率。
基于体素方法MVS的并行分布Graph-cuts
基于体素方法的优缺点:
基于特征点扩散的MVS
方法顾名思义。
讲了3D点的Patch形式表达。patch在图像上有投影。
步骤:
-
生成初始点云:检测Harris与DoG,其中Harris偏向检测外侧的角点,而DoG偏向于检测内部纹理丰富的点
-
点云扩散:3D点投影到图像,并向投影点周围区域扩散
-
点云过滤:去除深度值不一致且一致性较低的点,意思是如果扩散的点云在其他图特征点的点云前面了,通过比较各自的一致性来剔除;如果扩散点云跑到后边去了,也比较一致性。这样就能去除深度值不一致且一致性较低的点了。
结果:
优缺点:
基于深度图融合的MVS
人的左右眼的立体视觉和深度图。
转到CV
基于深度图融合的MVS方法步骤:
-
为每一幅图选择领域图像构成立体图像组:
关键如何选择邻域图像组
-
计算每一幅图像的深度图:
关键如何计算深度图
-
深度图融合
-
抽取物体表面
每一幅图中的深度图计算:
聚合:对比了SAD聚合和Adaptive weight
对比:
这里讲了Oriented plane方法,估计空间平面方向
空间平面方向估计PathMatch,相机坐标系下空间面片表达为d深度的一个自由度,n法向量的两个自由度。
接着讲了两视图PathMatch Stereo,先随机申城像素深度和法向量,然后传播。
主要用了随机的思想,检测领域点的深度和法向量,检测加了扰动之后的点,检测立体图像对对应点是否更好,检测前后帧同一位置是否更好。反复几次。
这种方法是基于大数定律的。
多视图PathMatch MVS:
多视图PathMatch中领域图像组的选择:视线夹角、物距、覆盖度、分散度等。主要通过稀疏点云计算。领域图像组选择是一个NP-hard问题。
逐像素点领域选择:
通过EM算法来做逐像素点选择领域图像组(最大化后验概率)
基于深度图融合的MVS优缺点:
稠密重建总结
4.资源
主要是算法、数据集和应用
雷锋网版权文章,未经授权禁止转载。详情见。