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

简介

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

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

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

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

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

线结构光

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

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

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

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

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

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

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

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

相关推荐
云知谷2 小时前
【C++基本功】C++适合做什么,哪些领域适合哪些领域不适合?
c语言·开发语言·c++·人工智能·团队开发
rit84324993 小时前
基于MATLAB实现基于距离的离群点检测算法
人工智能·算法·matlab
初学小刘4 小时前
深度学习:从图片数据到模型训练(十分类)
人工智能·深度学习
递归不收敛4 小时前
大语言模型(LLM)入门笔记:嵌入向量与位置信息
人工智能·笔记·语言模型
冷雨夜中漫步4 小时前
高级系统架构师笔记——数据库设计基础知识(5)Armstrong公理系统、无损连接和有损连接
笔记·系统架构
之墨_5 小时前
【大语言模型】—— 自注意力机制及其变体(交叉注意力、因果注意力、多头注意力)的代码实现
人工智能·语言模型·自然语言处理
从孑开始6 小时前
ManySpeech.MoonshineAsr 使用指南
人工智能·ai·c#·.net·私有化部署·语音识别·onnx·asr·moonshine
涛涛讲AI6 小时前
一段音频多段字幕,让音频能够流畅自然对应字幕 AI生成视频,扣子生成剪映视频草稿
人工智能·音视频·语音识别
im_AMBER6 小时前
算法笔记 05
笔记·算法·哈希算法
可触的未来,发芽的智生6 小时前
新奇特:黑猫警长的纳米世界,忆阻器与神经网络的智慧
javascript·人工智能·python·神经网络·架构