结构光三维测量(数字光栅投影)
结构光三维测量(数字光栅投影)
- 结构光三维测量系统
- 单目测量系统
- 双目测量系统
- 单目系统测量实例
- 光栅生成
- 三维点云重建
结构光三维测量系统
目前对于三维视觉来说,有很多种技术,例如双目/多目视觉法、TOF法、散斑法、结构光等等,不同的方法有着各自不同的应用场景和范围。对于工业的产品测量、识别,检测来说,结构光方法是目前比较主流的方法。结构光方法拥有高精度、高密集点云、高速的优点,适用于三维重建、缺陷检测、智能抓取、人脸识别、视觉导航等一系列工作。
结构光主要分为点、线、面三类测量结构,本博客主要从面结构光(数字光栅投影测量)阐述其测量原理和重建效果,面结构光主要投影光栅图像到测量物体表面,然后光栅经过物体面型调制之后被相机采集,通过一系列解相位,然后经过系统标定好的参数,将相位转换为三维点云。
单目测量系统
单目测量系统,就是一个相机+一个投影仪的测量结构,该方法需要对投影仪进行标定,首先对光栅进行投影,然后求解相位信息,再把相位转换到三维点云。对于求解相位信息有很多种成熟的方法:例如(1)格雷码方法(2)多频外差方法(3)倍频法(4)phase-coding法等等。将相位转化为三维点云也有很多经典的方法,例如(1)相位差法(2)东南大学达飞鹏老师的8参数方法(3)反向相机方法。后两种方法最为灵活,应用相对也更为广泛,下面会具体进行描述。下图改自南理工左老师的论文图。
双目测量系统
双目测量系统,就是双目相机+一个投影仪的测量系统,该方法主要利用相位信息进行双目匹配,然后实现三维重建。该方法的好处就是对投影仪无需进行标定,且现有双目测量有很多优秀的库函数可以调用,例如Opencv中包含很多标定、匹配、畸变校正、立体校正的代码。
单目系统测量实例
下面结合具体的测量实例进行详细介绍,包含光栅生成,相位解包,和三维点云转换。
光栅生成
本次我们采用四步相移+格雷码的方法进行物体测量,四步相移为了求解包裹相位,但是包裹相位是一个一对多的映射函数,因此需要利用格雷码将包裹相位展开,求取一个一对一映射函数的绝对相位。四步相移的光栅的形式如下:
I1(x,y)I_1(x,y)I1(x,y) = a(x,y)a(x,y)a(x,y) + b(x,y)b(x,y)b(x,y)cos[ϕ(x,y)\phi(x,y)ϕ(x,y)]
I2(x,y)I_2(x,y)I2(x,y) = a(x,y)a(x,y)a(x,y) + b(x,y)b(x,y)b(x,y)cos[ϕ(x,y)\phi(x,y)ϕ(x,y)-π/2\pi/2π/2]
I3(x,y)I_3(x,y)I3(x,y) = a(x,y)a(x,y)a(x,y) + b(x,y)b(x,y)b(x,y)cos[ϕ(x,y\phi(x,yϕ(x,y)-π\piπ]
I4(x,y)I_4(x,y)I4(x,y) = a(x,y)a(x,y)a(x,y) + b(x,y)b(x,y)b(x,y)cos[ϕ(x,y)\phi(x,y)ϕ(x,y)-3π/2\pi/2π/2]
利用四步相位我们可以求解包裹相位,
ϕ(x,y)\phi(x,y)ϕ(x,y) = atan2[I1(x,y)I_1(x,y)I1(x,y)-I3(x,y)I_3(x,y)I3(x,y), I2(x,y)I_2(x,y)I2(x,y)-I4(x,y)I_4(x,y)I4(x,y)]
其中atan2[]是一个四象限反正切函数,于是我们就得到了包裹相位,其具体形式如下图所示,
可以看出x与y是一个一对多的函数,我们需要进行展开,此时我们需要一个条纹阶次k(x,y)k(x,y)k(x,y),然后通过下面的公式,完成相位展开
Φ(x,y)\Phi(x,y)Φ(x,y) = ϕ(x,y)\phi(x,y)ϕ(x,y) + 2π×k(x,y)\pi\times k(x,y)π×k(x,y)
其展开的过程如下图所示,格雷码的作用就是为了求解这个条纹阶次k(x,y)k(x,y)k(x,y)。
格雷码是由0或1的码字构成的,因此每张格雷码可以区分出两个周期的阶次k(x,y)k(x,y)k(x,y),因此为了获取求解更多的阶次信息,更多的格雷码就需要,格雷码的数量n与阶次的关系为2n2^n2n。例如如下图的方式是三张格雷码光栅,第一个阶次的格雷码字为000,第二个为100,以此类推各个周期的格雷码都不相同,因此可以确定出8个阶次,结合包裹相位于是这样我们就可以得到绝对相位信息。
三维点云重建
本博客采用反向相机法将相位信息转化为三维点云,首先对圆形标定板进行了重建,其效果如下图所示,
利用50w分辨率相机对瓶盖进行三维重建,其纹理信息清晰可见
然后采用500w高分辨率相机对雕像进行三维重建,
如需了解更多,交流合作可以联系QQ:571861127。
结构光三维测量(数字光栅投影)相关推荐
- 结构光三维测量几种比较成熟的方法
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 1.飞行时间发 原理:通过直接测量光传播的时间,确定物体的面型.发 ...
- 机器视觉学习系列一:线结构光三维测量重建
项目背景: 项目用于工业零件的公差检测,主要是针对缝隙和高低差两种公差,具体应用领域如汽车.飞机的蒙皮对接检测,当然,对于别的公差改变一些代码,也是可以做到的: 技术方案: 采用线结构光进行三维重建, ...
- 3D视觉/人工智能/结构光三维测量
关注公众号了解更多:
- 基于数字光栅投影的结构光三维测量技术
概述 欢迎访问 持续更新:https://cgabc.xyz/posts/fb344124/ 本文是在读了论文<基于数字光栅投影的结构光三维测量技术与系统研究>[1]之后做的学习总结,方便 ...
- 基于数字光栅投影的结构光三维测量技术与系统研究
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 文末福利:按描述操作,可获取原书籍电子版. [摘要] 相位测量轮廓术是目前使用最为广泛的一种结构光三维 ...
- 图像凸集投影法_论文分享|数字投影结构光三维测量方法研究
温馨提示:本文约5600字,阅读全文需约10分钟. 文末福利:按照文末提示操作,输入关键词可获取论文全文. 摘要 人类所处的物理世界空间是三维的,任何实物都以三维的方式呈现.随着社会的进步发展,三维信 ...
- 基于相移法的结构光三维测量技术
1. 结构光三维测量原理 1.1 单目结构光系统 结构光投影三维测量系统主要由一个CCD相机.投影仪和PC机组成,如图所示.首先在PC上进行结构光编码,通过投影仪将编码好的结构光投影至物体表面,再由数 ...
- 【论文阅读笔记】Structured-light 3D surface imaging: a tutorial(结构光三维表面成像)
Geng J. Structured-light 3D surface imaging: a tutorial[J]. Advances in Optics and Photonics, 2011, ...
- 编码结构光三维视觉测量系统(二)
一.摘要 结构光三维视觉测量方法不需要直接接触被测物体,不会磨损被测物体表面,且具有速度快.精度高.实用性高等特点,是进行三维测量的最佳方法之一.而单目结构光视觉测量系统与双目相比,具有成本低.算法简 ...
最新文章
- 《C++程序设计教程(第3版)》——第3章,第2节cout输出流
- deepin启动盘无法引导安装_深度启动盘制作工具(Deepin Boot Maker)怎么安装kubuntu?Deepin Boot Maker图文教程...
- 【solr专题之二】配置文件:solr.xml solrConfig.xml schema.xml
- (剑指Offer)面试题18:树的子结构
- java的知识点45——事务||测试时间处理(java.sql.date,time,timestamp)
- Xshell-密钥登录
- Shell命令-文件及目录操作之chattr、lsattr
- 自动安装 Java Access Bridge 2.0.2 的批处理脚本
- Apache HTTP Server 与 Tomcat 的三种连接方式介绍
- html之marquee详解
- JavaScript写一个能遍历对象和数组的通用forEach函数
- Redis(六):Redis主从复制(1)原理
- Tuxera NTFS对磁盘进行不同格式转换
- 【软件需求工程与建模】13组组队项目选题介绍及项目计划安排
- util.Date插入数据库有时差
- linux审计工具audit,Linux audit安全审计工具
- QT .pro文件详解
- python学习记录--转义字符 字符串 特殊参数
- nginx配置详解(容器、负载)—官方原版
- 解决php报错Warning: date(): It is not safe to rely on the system's timezone settings