一 单目结构光编码目的

类似于双目,如果把投影仪看成一个逆相机,直到空间中的一点成像平面的位置,就可以知道空间中一点的坐标。

编码的目的:知道打在物体物体表面的光是从投影仪的那个像素发出来的,就知道在投影仪的虚拟成像位置。

二 格雷码的编码与解码

2.1 格雷码vs二进制码

格雷码是一种二进制码,最大的特点是相邻格雷码编码只有一位不同。

所以格雷码解码更稳定,相对不容易出错。

体现在

  • 明暗交接处变换更少:

对于格雷码来说,明暗交接处变换更少,如图所示二进制下部有7次变换,而格雷码只有4次。黑白交接的影响主要是在解码上,解码很重要的环节就是二值化,一般情况下全黑和全亮是不容易出错的,因为在实际应用中投影交界处是渐变的,阈值很难确定(还有物体边缘的影响)。

  • 最细的条纹宽度更宽

在相机对焦外,可能投影会糊掉,所以条纹越宽越不容易糊掉。

2.2 编解格雷码

如果单纯的编制一张图片的话很简单,如上一节图所示,最低一行(最后一位)变化为0110周期,第二行为0011100周期,第三行为0000111111110000周期(2的指数级增长)。

二进制码->格雷码

1.对n位二进制的码字,从右到左,以0到 n-1编号

2.如果二进制码字的第i位和i+1位相同,则对应的格雷码的第i位为0,否则为1

格雷码->二进制码

从左边第二位起,将每位与左边一位解码后的值异或,作为该位解码后的值(最左边一位依然不变)。依次异或,直到最低位。依次异或转换后的值就是格雷码转换 后的二进制值。

以十进制数6为例,格雷码->二进制码

第一位不变: 1

第二位(0)与第一位解码后的值(1)异或:1

第三位(1)与第二位解码后的值(1)异或:0

三 图片二值化方法

前提条件:每个在投影仪照射范围的点都至少需要经历一次明暗变换,即总要能找到一张图该位置为 0,另一张图该位置是1

实现方法

方法一: 增加两张图, 一张全黑图,一张全亮图

方法二: 去除全0和全1的编码 ,让每个编码至少含有一个0和一个1(不建议,可能会破坏格雷码稳定性)

二值化方法

对于每个像素,计算其在整个时间序列(一组)下的最大值和最小值,然后对当前图片像素二值化就 是计算出一个如上式所示的阈值,阈值大于0.5的时候则为1,小于0.5则为0。

四 其他离散型编码

在某些场景下,由于物体材质的原因,格雷码效果不好;物体受到全局光照影响特别大;

Global illumination 全局光照:

1 inter-reflection 内反射 – long range effect

2 diffusion 漫反射 – long range effect

3 sub-surface scatter 下表面散射 – short range effect

全局光照对解码影响:解码错误

解决思路

不同的全局光,对不同频率的编码光影响不同。

1 高频光适合 (long range effect): 内反射, 漫反射

有可能第一行右边亮的地方点亮左边暗的地方,所以需要更密集的投射如下:

2 低频光适合 (short range effect): 下表面反射(影响临近的点)

低频光因为影响临近,所以最好是越低频越好,如下:

其实相对来说格雷码最稳定,而上面这种方法会生成过多的图片,会对点云帧率有所影响。

参考论文: Structured Light 3D Scanning in the Presence of Global Illumination

五 总结

格雷码编解码流程:

特殊应用场景:


基于结构光投影三维重建:格雷码编码与解码相关推荐

  1. 视频+课件|国内首个基于结构光投影三维重建系列视频课程

    结构光测量是计算机视觉的重要技术之一,结构光三维测量技术是一种非接触的光学三维测量方法,其基本原理为使用计算机生成结构光图案,利用投影仪投影到物体表面,然后对图案进行解码等一系列图像处理完成三维重建. ...

  2. 摊牌了!国内首个基于结构光投影三维重建系列视频课程

    写在前面 感谢大家一路的陪伴与支持,2021年我们继续扬帆起航,这里送给大家一张星球优惠券,有需要的小伙伴可以领取. 结构光测量是计算机视觉的重要技术之一,结构光三维测量技术是一种非接触的光学三维测量 ...

  3. 终于来了,国内首个基于结构光投影三维重建系列视频课程

    结构光测量是计算机视觉的重要技术之一,结构光三维测量技术是一种非接触的光学三维测量方法,其基本原理为使用计算机生成结构光图案,利用投影仪投影到物体表面,然后对图案进行解码等一系列图像处理完成三维重建. ...

  4. 视频来了 | 基于结构光投影三维重建技术系列课程

    写在前面: 话不多说,这里给大家推荐下我们的知识星球「3D视觉从入门到精通」. 学习3D视觉核心技术,扫描查看介绍,3天内无条件退款 圈里有高质量教程资料.可答疑解惑.助你高效解决问题 感谢大家对工坊 ...

  5. 将实时三维计算机技术,基于结构光实时三维重建计算机应用技术专业论文.docx...

    基于结构光实时三维重建计算机应用技术专业论文 优秀毕业论文 精品参考文献资料 华 华 东 师 范 大 学 硕 士 学 位 论 文基 于 结 构 光 的 实 时 三 维 重 建 童鱼 查硕 士 学位 论 ...

  6. [结构光三维重建] 2、基于结构光的三维重建系统工作原理总结

    概念 基于结构光三维重建系统模型,如下图所示: 基于结构光的三维成像,实际上是三维参数的测量与重现,需要主动去投射结构光到被测物体上,通过结构光的变形来确定被测物的尺寸参数,是一种主动三维测量方式. ...

  7. 论文《基于结构光和双目视觉的三维重建系统研究》摘要

    <基于结构光和双目视觉的三维重建系统研究>-赵焕谦-哈工大 一.引言 1.结构光的原理和优点 结构光通过向待测物体表面投射光栅条纹图案来给物体增加特征信息,使得图像处理时,能够提取出更多的 ...

  8. SL-Sensor:基于结构光的高精度开源三维重建系统(arxiv2022)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 来源丨泡泡机器人SLAM 标题:SL Sensor: An Open-Source, ROS-Base ...

  9. 基于结构光的相移法三维重建

    20220524记录 最近又看到一些介绍结构光理论方面的博客,有四个系列,传送门:三维重建之条纹投影结构光(一),感谢原博主:beyond951,写的非常好,大家可以去拜读. 以下搬运一段,用作记录: ...

最新文章

  1. python电脑配置苹果笔记本-tensorflow学习笔记1——mac开发环境配置
  2. 学了python 以后能干啥-学python语言以后能干嘛?
  3. SqlServer中把结果集放到到临时表的方法
  4. 计算机组装策划案,产品策划书格式
  5. 【报告分享】2020年中过短视频+教育发展展望.pdf(附教育行业交流社群及报告下载链接)...
  6. 一切想要发财的人,你都要善于看到隐形的东西
  7. oa服务器维护,办公系统维护,维护oa系统的方法
  8. dsp处理浮点数_DSP学习笔记(二)——DSP中浮点数与定点数格式与运算处理
  9. python 音频文件下载 mp3,保存本地requests
  10. 城市公交、地铁站点和线路数据纠偏与矢量化
  11. 浅层复制和深层复制( implements Cloneable )
  12. Vmware Vsphere HA
  13. Wiradius计费系统功能说明
  14. python微信好友分析源代码_Python简单分析微信好友
  15. 机器学习进阶——数据清洗
  16. 成功体验Katalon框架测试安卓APK(一)
  17. ESP8266 带 BMP 180 刷 ESPEasy 通过MOTT协议连接 docker 里的 domoticz 查看气温 气压 监控结果
  18. opencv Scalar()的使用 心得
  19. USB之Cyusb3014开发经验总结 (十八)2022-04-17
  20. 游戏设计之动作游戏见解

热门文章

  1. 大连理工大学软件学院数据结构第四章第九题
  2. 网站建设的费用有哪些方面?
  3. 谷歌android中文版,google home app下载
  4. 如何激励软件测试人员,Y银行软件测试外包人员激励优化研究
  5. FDA首次批准iPad成为医学影像诊断辅助产品
  6. Python进阶之前端和爬虫基础
  7. 微信小程序显示loading效果,微信小程序节流效果,微信小程序生命周期,微信小程序组件的创建与使用
  8. python处理wps表格数据匹配_wps表格中怎么在两个表中匹配不同的数据
  9. Ubuntu系统下安装opencv3.x并打开图片和视频文件以及打开摄像头录制视频
  10. KubeCon + 欧洲云原生大会 2022,看看云原生Wasm日的演讲