当前位置:网站首页>结构光三维重建(二)线结构光三维重建
结构光三维重建(二)线结构光三维重建
2022-08-05 04:57:00 【伴君】
前言
在近景三维重建领域,结构光技术可以说是应用最广泛的,尤其在工业领域。该技术目前具有高精度和无视弱纹理等优点,但复杂的室外环境还是会对该技术造成一定程度的干扰。目前用的比较多的结构光分别两大类:线结构光以及条纹结构光。接下来我来简单介绍一下线结构光三维重建。
1 原理
线结构光三维重建测量系统,是基于三角测量的原理进行三维重建。整个成像系统示意图如下图所示,我们可以看到主要分为两个子系统,即激光发射器构成的激光系统和相机构成的成像系统。首先我们假定所有点的关系基于相机坐标系,成像系统基于相机标定模型,相机标定完成后得到相机内参,基于相机内参可以得到目标物体点P在成像面P’点的位置坐标(Xc,Yc,Zc)。当P’点的位置坐标已知后,Oc坐标为(0,0,0),因为空间直线OcP’直线方程可以得到。空间直线方程得到后,联立激光发射器投射的光平面方程,直线与平面的交点P(Xw,Yw,Zw)即可通过求解得到,但这一步得到的坐标为相机坐标系下的坐标,将该点坐标乘以相机标定过程中得到的相机外参即可得到该点世界坐标。
2 步骤
结构光三维重建通常分为三步:1)相机标定,标定出相机的内外参数;2)结构光条纹中心的提取即激光线的提取;3)结构光标定即光平面的标定;即将世界坐标系下的三维点转换为相机坐标系下的三维点,通过多个相机下的三维坐标点拟合出光平面,然后拟合的光平面可以用来完成三维重建。
整个过程的详细路线图如下图所示:
激光线提取算法如下所示:
光平面标定:
有直接标定和间接标定两种办法。直接标定法就是直接获取光条上特征点的世界坐标(Xw,Yw,Zw),进而求得光平面,空间平面方程(光平面方程)可以表示如下AX+BY+CZ = 1,有多个特征点的世界点坐标,通过最小二乘即可拟合出光平面方程。
间接标定法并不是在光条上直接获得特征点的世界坐标,而是首先对摄像机进行标定,通过提取标定靶上的光斑中心和对应的世界坐标,由摄像机模型确定出投影矩阵M,然后拍摄光条图像,通过图像处理和计算提取光条上各点的像素坐标,经投影矩阵进行坐标变换后,获取与该像素坐标对应的世界坐标,进而构造方程AX+BY+CZ = 1,并通过最小二乘解求出A、B、C。
3 双目线激光三维重建
是一种基于线激光扫描和双目立体视觉相结合的三维测量系统,该种线激光扫描系统可以避免传统单相机扫描技术中标定激光平面的过程,提高三维测量精度。该测量系统由两个相机、一个先激光投射器和一个旋转电机组成,如图1所示,测量时通过向被测物体投射单条线激光条纹,然后由旋转电机带动激光条纹扫描整个被测物体,扫描的同时立体视觉系统以指定的帧率拍摄被测物体;根据所拍摄的含有激光条纹的立体图像对,由立体视觉的极线约束和激光条纹特征计算出立体视觉系统之间的对应性关系;最后根据预先标定好的系统参数按照双目立体视觉的方法计算出物体的三维点云数据。简单来说,就是通过相机标定、立体校正得到行(或者列)对齐的图像,然后提取出激光线,由于每一行(或每一列)在左右图像上仅有唯一的点相对应,所以行号(或列号)相同的激光点即可认为是对应的匹配点,然后根据视差,求得三维坐标。
当然了,这是对于单条激光线而言的,如果是双目多线激光,则每一行(或每一列)在左右图像上没有唯一的点相对应,这时可以把我们的激光平面再捡回来了,即通过激光平面来约束得到唯一的匹配点。具体措施就是,左相机提取出的激光点像素坐标通过激光平面得到3D坐标,通过左右相机的旋转平移矩阵,将其转换到右相机坐标系下,然后转换到右影像的像素坐标,判断右影像上的激光点的像素坐标是否有与之重合的,重合的则为对应的匹配点,然后根据视差得到三维坐标。
4 总结
最后值得一提的是,双目多线激光还存在着一点小问题,比如,有一部分多的误匹配点难以剔除。目前论文里说到的剔除误匹配点的方法,都有很大的局限性,且效果不会很明显。
理论比较简单,这里就不放源码了。
边栏推荐
- u-boot调试定位手段
- dedecms error The each() function is deprecated
- Analyses the mainstream across technology solutions
- How to deal with DNS hijacking?
- flink读取mongodb数据源
- MySQL中控制导出文件后变为了\N有什么解决方案吗?
- In the hot summer, teach you to use Xiaomi smart home accessories + Raspberry Pi 4 to connect to Apple HomeKit
- 【cesium】3D Tileset 模型加载并与模型树关联
- upload upload pictures to Tencent cloud, how to upload pictures
- Why did you start preparing for the soft exam just after the PMP exam?
猜你喜欢
一篇博客通关Redis技术栈
Dephi逆向工具Dede导出函数名MAP导入到IDA中
JeeSite New Report
App快速开发建设心得:小程序+自定义插件的重要性
upload上传图片到腾讯云,如何上传图片
Detailed explanation of Mysql's undo log
A 35-year-old software testing engineer with a monthly salary of less than 2W, resigns and is afraid of not finding a job, what should he do?
Flutter学习5-集成-打包-发布
Excel Paint
LeetCode:1403. 非递增顺序的最小子序列【贪心】
随机推荐
Talk about 20 common problems in data governance
What is ASEMI photovoltaic diode, the role of photovoltaic diode
重载运算符
数字孪生技术在电力系统中的应用现状
bytebuffer internal structure
ESP32 485光照度
一篇博客通关Redis技术栈
[Surveying] Quick Summary - Excerpt from Gaoshu Gang
Excel画图
为什么刚考完PMP,就开始准备软考了?
开发属于自己的node包
[CISCN2019 South China Division]Web11
Mini Program_Dynamic setting of tabBar theme skin
【无标题】
uboot enable debug printing information
C+ +核心编程
How to quickly upgrade your Taobao account to a higher level
1068 Find More Coins
C语言-大白话理解原码,反码和补码
1007 Climb Stairs (贪心 | C思维)