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

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

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

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

???????? = ???? ′ + ???? ′′cos (???? + 2????????/????)

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

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

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

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

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

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

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

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

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

下载1

在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2

「3D视觉工坊」公众号后台回复:3D视觉优质源码即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

下载3

「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

 圈里有高质量教程资料、可答疑解惑、助你高效解决问题

整理不易,请给工坊点赞和在看

你可能感兴趣的:(结构光|一文详解相移步长的选择问题)