首页 > 业内新闻 > 摄像头 > 结构光(2)编码

结构光(2)编码

52RD.com 2018年1月9日 大话成像            参与:1人 我来说两句
  在上一次的文章中我们已经讲述了结构光的原理。从下面的图中看来,发射器上的同一个点在成像camera上不同位置的像代表了成像图像上这个位置物体的景深。

  通过下面这张图,我们会发现发射器 上面不同的点即使到成像camera上映射到同一个位置也会代表对应位置的景深不一样,因此如何能够从camera的图像上分辨出发射器上的不同位置的点就成为一个重要的问题。因为早期的研究都是建立在假设camera和发射器是水平放置的。所以早期是解决列与列的区分。但是实际工程化中列与列之间的区别不足以解决所有问题。最好的方式是每个点单独进行编码可以解决工程化中的很多问题。本文后面的有些编码还是基于列的形式编码,但是不妨碍我们理解编码形式的区别

  前面我们提过为什么要进行编码。其实编码可以根据不同的方式分类,比如灰度编码和彩色编码,时间编码和空间编码…… 本篇文章按照编码策略将编码类型分为:时间多路编码策略、直接编码策略和空间编码策略

  时间编码策略

  最长时间的时间编码就是时间灰度编码和相位编码,其中的共同点都是成像camera通过长时间曝光获取发射器多帧的集合。这其中有两种最常见的编码方式,一种编码方式是发射器端每帧都使用不同空间频率的掩模使出去的光有不同的黑白条纹,一般我们叫做时间灰度编码。如下图所示。多帧合成之后的在camera中成的像就会是不同位置有不同的灰度。通过灰度来分辨发射器上对应的位置

  另外一种时间编码形式是相位编码,不同于灰度编码使用不同的空间频率的掩模板,相位编码是使用一个空间频率的掩模板每次进行1/N周期的移动来形成黑白的灰度过度图像。

  最后成像就像下面这样

  直接编码策略

  常见的直接编码一般在一定的空间以灰度或者颜色的区别将点(块)、列区分开。每个点、列或者块单独使用一个灰度或者颜色。这种方法虽然看起来简单,但是对所测试物体的颜色和系统的精确性要求太高,实际应用中太难实现,而且很容易受到噪声的影响。下图就是一个通过不同颜色的直接编码示例。

  下图是一个列形式的编码图像

  空间编码策略

  最简单的空间编码就是在某个空间区域,将空间分成相同大小的多个像素组成的单元,然后每个单元都是不同空间图案或者颜色组合如同下图

  或者像下面这种图使用不用的颜色组成组合

  但是使用这种方法的话每个子单元的像素数过多,实际使用中其实不太实用。会大幅降低编码的解析力。因此后来在此基础上发展出空间邻域编码。这种编码方式不仅仅是将图像分割成一个最小的图像单元,还能把每个相邻单元都和周围的单元重复进行编码。

  在介绍空间邻域编码之前首先我们需要介绍下邻域编码。这种方法中最典型的就是De Bruijn序列。De Bruijn 序列B(k, n) 是一个由 k中不同符号组合的,且其整个长度为n 的连续子序列都为K中符号中的符号。且每个符号在序列中只出现一次。这个话比较绕口。举个例子:00010111即为一个 B(2, 3) De Bruijn序列,它的所有长度为3的子序列为 000, 001, 010, 101, 011, 111, 110,100 是{0, 1} 組成的长度为3 的所有符号。下面这张图就是这些子序列所有組合的规律。

  下面这两张图左边的就是通过彩色线条进行的De Bruijn。其中左边的是彩色条纹的方式。右边的方式是利用X,Y两个方向彩色的条纹组成的更复杂的方式。

  而现在最常用的空间邻域编码m-array 编码实际上是一种双向空间形式的 De Bruijn 序列. 每一个Wx H的单元只是出现一次。

  下图是一个基于灰度图像构成的m-array形式。下面只是一种灰度空间编码的方式。也是目前使用的最多空间邻域编码的方式。但是其子序列决定了序列的最大长度,对于空间来说就决定了其最大的图像面积。对于实际工程中往往是通过复制的方式来解决面积的不足。

  当然也可以通过彩色方式实现m-array 编码。下图是一个通过彩色方式实现的m-array 编码

  散斑结构光

  散斑结构光最有名的就是Kinect1和IphoneX使用的伪随机散斑红外光,它的伪随机性意味着实际上在不同距离上其射出的点的分布是一定的。

  每个伪随机散斑光点和它周围窗口内的点集在空间分布中的每个位置都是唯一且已知的。通过这些伪随机点的分布代替了空间编码,使用不同位置的不同点的分布进行深度的识别,其根本还是基于三角定理的图像匹配,只是将某个区域中的图像编码替换成对应的随机点构成的图像。

  从一定意义上讲散斑结构光还是空间编码结构光的一种。

  最后我们总结下几种结构光各种编码类型的优缺点。

  这只是从编码的原理中得到的各种结构光的优劣。实际上真正的产品还是要关注实际使用的算法、硬件、工程化和最终的集成结果。本文只是简单的介绍了常用的编码方式,其实远不止这些编码方式。大家想想通信编码就知道,编码的形式肯定还会不断的更新。

  后面我们公众号,还会继续针对结构光的硬件,校准,工程化方面的知识持续和大家分享。52RD.com  微博关注:http://weibo.com/52rd  微信关注:admin_52RD
已有0位网友发表了看法 我来说两句
读取...
相关报道
评 论
业界快讯 NewsMORE>
新闻导航 Navigation
精彩评论 CommentMORE>
52RD网友:专业性不足,对锤子、一加这两家软硬件比较有特色的国产手机公司竟然都没提
小众手机品牌还剩多少?悲喜交加的2017
wy890506:酷派当初多好的前景,就因为对内疯狂压迫,逼走很多人。对外紧握运营商一根稻草,从不宣传,才有了今天
深陷资金困局的酷派,2018 年靠什么…
52RD网友:他能搞出来个锤子,只不过是笼络人心的高手而已,联想之前给了他足够的资源,ZUK做成那个鸟样,衡量产品好坏与否,市场认同是唯一标准,…
常程确认回归联想,任中国区产品总负…
52RD网友:说得好像高通没有布局AI... 845运行DNN性能远超过970好么,huawei只不过在媒体宣传方面比较贼而已
高通仍是SoC霸主 华为苹果能否借AI超车
fengmo44:神器工厂,联想移动,MOTO,结果呢? 所以我同意你说的,还是没什么高人。要不按联想的体量也不至于什么都做不出,连董明珠都能搞个手机…
常程确认回归联想,任中国区产品总负…
特别推荐 Recommend