本文主要是介绍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 光度立体三维重建(二)——研究现状的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!