本文主要是介绍Photometric Stereo 光度立体三维重建(二)——研究现状,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本文首先介绍基于稀疏回归的鲁棒光度立体三维重建,再介绍光度立体三维重建的基准数据集
1.基于稀疏回归的鲁棒光度立体三维重建
在基于光度的三维重建中,若表面不是郎伯的,会出现离群值,比如物体表面的投射阴影,附着阴影以及高光点(镜面反射),如图所示:
1.1 回归方法
我们对郎伯成像模型加上腐蚀(corruption,理解为加上噪声):
再通过传统的最小二乘法求解:
但是,L2回归会受到非郎伯噪声(原文是corruption,理解为噪音)的影响
我们希望从被噪声高度污染的观察中恢复物体表面的法向量
在早期的研究中,有通过使用多于3张的图像非郎伯离群值的影响,也有通过RANSAC随机抽样一致性,中值滤波,基于图的方法等来解决这个问题。
1.2 稀疏回归方法
在基于稀疏回归的方法中,将标准的最小二乘:
转化为稀疏回归问题:
L0范数表示的是矩阵/向量中非零元素的个数
最小二乘回归和稀疏回归的对比:
但是由于L0范数是高度非凸和不连续的,因此很难被最小化,其中一个办法是通过 ∣ ∣ ϵ ∣ ∣ p ( p > 0 ) \ ||\epsilon||_p \quad(p>0) ∣∣ϵ∣∣p(p>0)来近似 ∣ ∣ ϵ ∣ ∣ 0 \ ||\epsilon||_0 ∣∣ϵ∣∣0:
因此我们可以通过L1松弛来对L0进行凸代替:
1.3 L1残差最小化(对于线性系统)
目标:
对于以下这个问题:
我们希望让残差变得稀疏,即
的许多元素变为0,这在压缩感知和稀疏编码中非常流行,但相对于最小二乘求解,其求解更复杂,可以使用:
1.线性规划
2.迭代再加权最小二乘(IRLS)
3.迭代软阈值(Iterative soft-thresholding)等等
L1方法与最小二乘方法的对比:
1.4 稀疏贝叶斯学习(SBL)
对于稀疏回归:
我们计算建模误差:
在贝叶斯系统中,问题可以被改写为最大化后验概率:
其中, p ( ϵ ) \ p(\epsilon) p(ϵ)可以通过经验贝叶斯方法来学习
由此产生的问题是非凸的,但在各种环境下都表现良好,它可以被majorization-minimization方法有效优化
即在SBL方法中,L0回归被松弛为:
SBL,L1,LS的对比:
1.5 R-PCA(鲁棒PCA)
问题:给定
恢复 A 和 ϵ \ \mathbf{A}和 \mathbf{\epsilon} A和ϵ
优化目标:
R-PCA与最小二乘的效果对比:
1.6 各种方法横向对比
L1 | SBL | R-PCA | 最小二乘 | |
---|---|---|---|---|
速度 | +++ | ++ | + | ++++ |
精度 | ++ | +++ | ++ | + |
秩-3假设 | √ | √ | × | √ |
2.基准数据集 DiLiGent光度立体数据集
该数据集是北大施柏鑫团队创建的,其含义为:
可以在此下载https://sites.google.com/site/photometricstereodata
数据集示例:
我组建了一个光度立体技术的交流群,有兴趣的朋友可以一起来讨论一下!
这篇关于Photometric Stereo 光度立体三维重建(二)——研究现状的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!