【三维重建】相移法+格雷码

本篇文章介绍一种稠密点云的获取方式——条纹结构光三维重建算法。

在学习此算法前,我们需要对基于视觉的三维重建算法有一定了解。

需要了解什么是相机模型、相机标定以及三角化的相关知识。

【三维重建】摄像机几何-CSDN博客

【三维重建】摄像机标定(张正友相机标定法)_相机内参矩阵和外参矩阵怎么获取-CSDN博客

【三维重建】三角化-CSDN博客

        当我们得到两个相机的内参、外参后,就能通过两个视图的匹配点计算出该点的三维坐标。但是一般的特征匹配算法(SIFT、SURF)只能提取特征点,并且只有正确匹配才能得到正确的三维坐标。因为两个视图上能够成功匹配的点比较少, 因此通过这种方式获得的点云是稀疏的。

        结构光的重建算法和三角化是一样的,不一样的是结构光算法通过向物体主投影带有特殊编码的图案,提高了两个视图成匹配点的个数,可以得到更多的三维点。

下面介绍一种常见的结构光算法:相移法+格雷码

单目结构光系统由一个相机和一个投影仪组成。我们可以把投影仪看作是一个逆相机,双目视觉中,需要成功得到两个相机视图中的匹配点对儿,那么在单目结构光系统我们就需要得到相机和投影视图的匹配点对儿。

知道了做什么,接下我们介绍一下怎么做?如何得到相机和投影视图的匹配点对儿?

相移法

首先,需要先生成待写入投影仪的理想N步相移条纹

通常对于N步相移来说,生成第k幅条纹图案的公式如下:

这个公式是一个正弦函数,k的增加可以看作正弦函数向左移动的过程。

对这个曲线的值进行repeat操作,就能生成下面幅图,图的每一行对应的就是正弦函数的值

根据实际需要设置相应的参数就能生成理想的相移图。

将相移图投影到物体上,再由相机捕获的图叫做实际相移图。

通过N幅相移图,就能计算出每个像素点的相位值\varphi

相机与投影仪就能通过相位值建立联系

格雷码

通过相移法解出的相位值是成周期状的,我们需要的是每一行的相位值是唯一的。

通过格雷码进行相位展开,得到唯一的相位值。

通过投影格雷码就能够计算出每一个像素的阶次k,阶次反映的是当前像素在第几个周期。

通过阶次可以计算出绝对相位 :\Phi =\varphi +2k\pi

绝对相位在每一行中是唯一的。

重建

通过归一化,将相位值的取值范围变成0-1之间,知道当前像素的相位值,就能知道当前像素在投影仪中是哪一列。

通过相机-投影仪标定可以得到相机与投影仪的投影矩阵

投影矩阵反应了世界坐标到像素坐标的映射关系。

通过绝对相位图能够知道,相机视图的像素坐标u^c,v^c 以及投影仪视图的像素的横坐标u^p

通过联立前面两个公式即可求得三维坐标:

  • 17
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
格雷码结构光三维重建是一种使用格雷码编码的方来进行三维物体重建的技术。在这种方中,通过投影仪将预先设计好的格雷码模式投射到被测物体上,然后使用相机捕捉被投影的格雷码图案。通过分析相机捕捉到的格雷码图案与预先设定的编码模式之间的差异,可以推断出物体表面的深度信息。根据这些深度信息,可以重建出物体的三维形状。 格雷码结构光三维重建的过程相对简单,但要得到高精度、高稳定性和高效率的三维重建效果,还需要进行一些优化。由于格雷码是一种离散型编码,编码精度是整数级的像素,所以在实际应用中,通常需要与其他编码方式结合使用,比如使用格雷码来标示相移的周期数,以提高重建精度。 然而,尽管格雷码在精度需求不是特别高的情况下具有稳定性高和抗反光效果好的特点,但在一些情况下仍存在一些限制。例如,对于需要较高精度的应用场景,格雷码的编码精度可能无满足要求。此外,在景深范围较大的情况下,相位容易出现模糊,而黑白条纹的格雷码适应的景深范围相对较大。 因此,在使用格雷码进行三维重建时,需要根据具体应用场景和精度要求来选择合适的编码方式,并进行相应的优化。同时,还可以从三维重建方式本身出发,考虑使用双目重建模型,通过准确解码和极线对应关系来提高重建精度。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值