阅读文章:《编码结构光投影双目视觉三维测量技术研究》

来源:知网《编码结构光投影双目视觉三维测量技术研究》_肖亮
主要理解文章中双目结构光系统的测量原理,主要包括投影图案的编码解码技术、参数标定以及点云的生成与融合拼接。
此次学习:编码方式之二进制编码、格雷码编码
1.编码结构光

image.png

文章中选择了时域编码中的格雷码编码。所谓时间编码,文中这样说道:“时域编码是一种常用的编码策略,在这种编码方案中一系列的简单图案按时间先后顺序投影到被测物表面,一个给定像素的比特位编码就是该位置在时间上随投影图案的明暗变化”。
那么编码方式的不同影响的是什么呢?带着这样的疑问将在1.1和1.2读完后豁然开朗
/****那么编码在整个双目系统中的作用是什么呢?可以参考文中这样一段描述。****/
为了获得较高精度的物体表面形貌,选择的投影结构光方案是时域编码法。其对物体表面进行三维测量可分为以下三步:首先,采用简单实用且具有高精度的张氏标定法来标定相机、投影仪以及整个测量系统,通俗点讲,就是确定摄像机和投影的内部参数和它们的相对位置。系统标定过后,保持整个系统不动,就可以连续地重建各种适当物体的表面形貌。其次,计算机控制投影仪向被测物表面连续地投影编码图案,与此同时相机采集每一帧图像。最后控制电脑对带有物体表面形貌信息的图像进行解码,根据空间三角法原理计算出扫描点的空间坐标信息。
/******也可以参照文章中1.3.3的具体描述******/
投影仪将编码图案投射到被测物表面,投射的编码图案经过被测物表面调制,此时物体表面的高低信息便储存在了调制后的编码图案中,然后用相机从一个或多个角度采集这些变形的图案,之后找到相机和投影仪像素之间的对应点,利用三角法原理求出被测物表面的三维坐标。
/****从上面可以发现,跟“编码”相关的主要提到的是“编码图案”这一概念,接下来可能跟“编码图案的生成有很大的关系****/
1.1图案序列中图片个数的确定
迄今为止,将编码信息放入图案序列中的方法出现了很多种,但最有名的是二进制编码和格雷码编码这两种方案。在这两种方案中,图像的X,丫轴分别用两组互相垂直的图案序列来编码表示。图案序列中图片的个数由投影仪的精度决定,计算公式如下:
image.png

上式中,Px表示投影仪宽方向的精度,Py表示投影仪高方向的精度。公式理解起来比较简单,图片序列按照与二进制编码相似的格雷码方法生成,二进制编码表示最大的数字需要多少位格雷码也需要多少位,位数不够就向上取整。例如有一个精度为1024x768精度的投影仪,可以计算得到宽方向图片个数Ncoi=10,高方向图片个数Nraw=10,这样不考虑其他的话现在进行编码就需要20张图片。
/******这里我算了下log2(1024)=10不错,log2(768)=9.585,所给的Nraw应该是 取整后的*******/
/******那么图片序列又究竟是什么东西呢?上文提到“将编码信息放入图片序列”,我们就可以先简单理解为:图片序列是用来存放对物体表面调制取得的信息的。具体是怎么操作呢?它和二进制编码的具体联系是社么呢?我们继续跟着文章往下读******/
1.2二进制编码
由于原文说的比较晦涩,作为小白的我也懵了一会儿,现按我理解的进行阐述。由1.1的假设Px=1024:投影仪宽方向的精度,Py=768:投影仪高方向的精度。这里的1024✖768应该也是投影仪投射的条纹图的大小,二进制编码的话是对每个像素点进行操作的,那就是要对1024✖768个像素点就行操作。这里我们对(199,360)这个像素点进行二进制编码,这个像素所在的列是199,所在的行是360,而199和360对应的二进制表示分别是0x11000111,0x101101000。二进制编码时,先将这个像素点所在的列数和行数转换成二进制表示,然后二进制的位数必须和计算得到的图片序列个数即Ncoi和Nraw保持一致,即10,这样的话199记0x0011000111,360记成0x0101101000,都进行补零,位数都变成10,这是因为列和行二进制数每一位上的值都对应着图片序列的值,0的话对应图片序列中的图片就是黑色,1的话对应图片序列中的图片就是白色,所以需要保持一致。这样的话(199,360)这个像素点生成的图案是什么呢,如下图所示,生成的分别是列199即0x0011000111对应的列图案序列(a),360即0x0101101000对用的行图案序列(b):
image.png

继而,对所有的像素进行上述和(199,360)这个像素点同样的操作。然后,对水平方向上进行划分将得到竖直的条带;对垂直方向上进行划分将得到水平的条带,效果分别如下:
image.png

然后将以上生成的编码图案投射到物体表面,物体表面对编码图案进行调制,这样物体的高度信息就被储存在编码图案了。
到此,我们可以看出,二进制编码是生成编码图案的一种方式。/****那么推测,格雷码编码也是生成编码图案的一种方式****/
1.3格雷码编码
格雷码编码和二进制编码的方式基本一致,不同的是,从10进制到‘二进制’转换的方式不同,如下图:
image.png

你可能感兴趣的:(阅读文章:《编码结构光投影双目视觉三维测量技术研究》)