前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >结构光|一文详解相移步长的选择问题

结构光|一文详解相移步长的选择问题

作者头像
3D视觉工坊
发布2020-12-11 10:41:01
1.1K0
发布2020-12-11 10:41:01
举报
文章被收录于专栏:3D视觉从入门到精通

初接触到相移法的同学,很容易出现这样一个疑惑,为什么有的论文中选择三步相移,而有的论文中选择四步相移,更有甚者选择五步相移,不同的相移步长到底有什么好处,在重建时又如何根据当前的场景,选择最合适的相移步长呢?今天笔者就简单捋一捋,不同的相移步长选择究竟可能可以带来什么好处。

首先,我们需要知道,在相移公式中,我们有几个未知数,以通用公式(n步相移法)来看,在n步相移法中,第m张图片的公式表示如下:

要解这个公式,我们知道?m是图片灰度,N是相移步长,m是当前图片序号,所以真正未知数是? ′,? ′′,?. 其中?是我们要求得真正的相位。由于我们有三个未知数,所以要得到完全解,需要三个方程,这就意味着我们的相移步长至少为三,事实上三步相移法也是最常见的相移法选择。

当相移步长增加的时候,我们会有更多的数据去求这三个未知数,从数据处理的角度说,数据越多,解出来的值对抗噪声的效果越好。然而,一般来说,如果仅仅从解数据的角度,三步相移解出来的结果就足够好了。为什么还有选择更高步长的相移呢?

事实上,这和投影仪本身自带的非线性误差有关,一般我们称这种误差是gama效应,这个影响的主要是,如果你投影一组灰度图,从亮度为0一直到亮度255,然而相机捕获到的灰度变化确不是一个线性变化的。这种灰度失真的影响,会直接影响到相移结果,从而导致结果的不准确。虽然现在有许多方法通过标定,拟合一个公式,去消除这种失真对结果的影响,我们称为伽马矫正。这种影响和我们的步长有什么关系呢?有一个简单的结论,通常情况下,相移步长越长,这种灰度失真对相移的影响越小。也就是说,选择相对高的相移步长,就可以抵消一部分这种失真带来的影响。一般来说,五步相移就可以得到一个比较好的抵消,越后面,即使图片更多,抵消的也不是那么大了。

多的相移步长不仅仅可以帮忙抵消非线性误差的影响,还可以帮助解图片中某些由于对投影光的反光造成的过曝点。不同的相移图片投影到同一点的亮度是不同的,越多的相移步长,相机上同一个点经历的投影亮度就越多,即使有一些点是饱和了(灰度直接达到255),但是也有很多没有饱和的点,所以,有以下两个思路:

思路一 当没有饱和的点大于等于3时,根据三个未知数只需要三个方程解的原则,记下没有饱和的点的相移序号,通过推没有饱和的点的公式的解来直接计算出该点的值。缺点:不同点的非饱和的序号不同,对应的公式就不同。如果相移步长太多,则穷举的情况太多,所以这种情况下通常只会使用五步或者六步相移,更多的相移步长情况太复杂。

思路二 根据论文1,当相移周期(一个相移所占的投影列数/行数)为偶数时,可以投影相移周期一半的整数倍的相移步长,比如相移周期是20时,相移步长可以是10,20,30…, 可以有效的重建出反光点的相位值。缺点:需要投影太多图片,在需要考虑重建速度的场景中不是很适用。

综上,相移步长的选择可以根据实际场景来定,如果你的场景追求高的重建速度,投影三步相移图片一般都是最佳的选择,如果你的场景对重建速度的要求不是那么高,而是希望能有更好的精度,不防考虑下四步相移或者五步相移法。如果你还想能够更好的解决下反光的问题,更高步的相移法也值得你去尝试。

论文[1], High-quality 3D shape measurement using saturated fringe patterns

本文仅做学术分享,如有侵权,请联系删文。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 3D视觉工坊 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档