三维测量与建模笔记 - 6.2 结构光三维成像简介

简介

双目视觉系统中,找到左右图像中的同名点是很困难的。

即便是经过了极线校正,也存在很多问题比如高光等造成无匹配。对于结构光方案来说,找到同名点的过程会相对简单些。

结构光方案中,会增加一个投射器,将编码后的光束打到物体上,由于投射的图案本身是预知的,可以起到辅助定位的作用。

结构光方案有多种,摄像机数量上看有单目和双目的,编码方式上看有线激光、格雷码编码、伪随机吗等方案。

结构光重建有很多应用,其成本较低,精度高,能满足很多工业场景。

线结构光

线结构光是通过向物体投射出一条按照一定方向移动的线结构光,根据拍摄得到的线结构光,解算出对应点的三维信息。

上图中,激光发射器和相机之间相对位姿是已知的(通过标定实现)。

对于某个特定位置,当投射器向物体投射出一条线结构光后,经过特殊的图像处理,得到该位置下除去背景后只保留拍摄到的这条红色的线。如果物体表面凹凸不平,相机拍摄到的这条线不是笔直的。

如上图,对于相机拍摄到的像平面上红线上的某一点, 其对应的3D点的位置假设为(x,y,z),则这个点一定处于投射器所射出的光平面上。在相机的坐标系下,通过相似三角形关系,我们可以得到:

由于(x,y,z)也在光平面上,因此满足方程Ax+By+Cz+D=0,通过代换x和y到这个方程中,我们可以得到:

因此只要知道光平面的参数(A,B,C,D),以及相机上的点坐标,就能解算出z值。

下图是一个实际线结构光扫描后重建的物体表面的例子:

此外,还有面结构光方案,关于结构光相关内容网上有很多资料。后续有涉及到更细节的地方会补充相关笔记。

相关推荐
安全二次方security²5 分钟前
CUDA C++编程指南(7.5&6)——C++语言扩展之内存栅栏函数和同步函数
c++·人工智能·nvidia·cuda·内存栅栏函数·同步函数·syncthreads
汗流浃背了吧,老弟!9 分钟前
构建RAG系统时,如何选择合适的嵌入模型(Embedding Model)?
人工智能·python·embedding
昵称是6硬币19 分钟前
SAM3D论文精读(逐段解析)
sam·三维重建·视觉大模型·sam3d
老蒋每日coding21 分钟前
从存证到智能:当碳链架构注入AI灵魂——区块链+AI融合新范式
人工智能·区块链
DN202035 分钟前
靠谱的AI销售机器人哪家好
java·人工智能·机器人
菜鸟‍43 分钟前
【论文学习】重新审视面向持续图像分割的基于查询的 Transformer || 用于二分类图像分割的多视图聚合网络
人工智能·学习·计算机视觉
乌恩大侠43 分钟前
AI-RAN Sionna 开发者套件
人工智能·usrp·mimo·airan·sionna
foundbug99944 分钟前
正则化反演的MATLAB实现(适用于地球物理数值反演)
人工智能·matlab
孞㐑¥1 小时前
算法—前缀和
c++·经验分享·笔记·算法
JeffDingAI1 小时前
【Datawhale学习笔记】RLHF微调技术及实践
人工智能·笔记·学习