一种符号阵列结构光编码图案的生成方法及装置与流程

文档序号:13758418阅读:369来源:国知局
一种符号阵列结构光编码图案的生成方法及装置与流程

本发明涉及计算机视觉、深度感知、三维重建技术领域,具体涉及主动立体视觉中所投射的用于标记空间的一种结构光编码方法,尤其提出一种符号阵列结构光编码方法。



背景技术:

当前无人机、3D打印、机器人、虚拟现实头盔、智能手机、智能家居、人脸识别支付、智能监控等产业的深入发展,需要解决环境感知、人机自然交互、避障、3D扫描、精确识别等难题,三维深度感知技术作为关键共性技术有助于解决这些难题,将极大地释放和激发人们对相关研究领域的科学想象力和创造力。

基于结构光编码的三维深度感知技术可以较为准确地获取深度信息,相比双目立体摄像头和TOF(Time of Flight)方式,具有获取的深度图信息更稳定可靠、不受环境光影响、立体匹配算法简单等优势;作为一种高性价比、高可靠、适合大范围工作的深度感知技术,当前和未来很长一段时间内,将成为人机交互、智能设备深度获取的主流技术。基于结构光编码的深度感知方法,编码图案投射器所投射的编码图案是关键技术之一,所设计的编码图案性能将直接影响深度解码计算的复杂度、深度精度和深度图分辨率。



技术实现要素:

本发明的目的是提出一种符号阵列结构光编码图案的生成方法所述方法包括:根据线性反馈移位寄存器生成2元4阶伪随机序列;根据所述伪随机序列,将序列一个周期内的4阶子序列全部罗列出来,然后从中找出11组子序列组成一个4x11的编码矩阵;将所述编码矩阵重复映射到具有周期性的棋盘格图案中生成符号阵列编码图案,将符号阵列编码图案分成两块单独图案,再将这两块单独图案分别上下翻转,然后将翻转后的图案分别设在原编码图案的左右两侧,形成一个更大的符号阵列编码图案;将形成的更大的符号阵列编码图案作为基础图案,经上下或左右平移拼接,得到拼接后的符号阵列编码图案;按照横线分离原则,将拼接后的符号阵列编码图案以图案中心点为中心沿顺时针或逆时针方向旋转一定的角度,得到旋转后的符号阵列编码图案;按长方形或正方形从旋转后的符号阵列编码图案中截取出最终的符号阵列编码图案,所述最终的符号阵列编码图案作为符号阵列结构光编码图案用于对投射空间或目标物体进行投射编码。

优选地,在根据所述伪随机序列,将序列一个周期内的4阶子序列全部罗列出来,然后从中找出11组子序列组成一个4x11的编码矩阵之前,还包括:选取棋盘格图案;所述选取棋盘格图案还包括:选取一定大小的棋盘格图案,每一个棋盘格内都有一个白色或黑色的内切圆,并且按照黑白间隔方式周期性排列,各个圆形连接处为类菱形区域;所述选取棋盘格图案的大小为3n×12n。

优选地,所述根据线性反馈移位寄存器生成2元4阶伪随机序列进一步包括:生成一个2元4阶的伪随机序列,其周期为15,每个4阶的子序列只出现一次。

优选地,根据所述伪随机序列,将序列一个周期内的4阶子序列全部罗列出来,然后从中找出11组子序列组成一个4x11的编码矩阵进一步包括:在序列的一个周期内,每个4阶的子序列只出现一次,将序列一个周期内的4阶子序列全部罗列出来得到矩阵,矩阵中每个4位2进制子序列都是唯一的;选取矩阵中的11组子序列组成一个4x11的矩阵,选取的子序列的二进制数值从高位到低位沿矩阵的每一列从上而下依次排列,并且该矩阵中每个4x2的窗口都是唯一的。

优选地,所述将所述编码矩阵重复映射到具有周期性的棋盘格图案中生成符号阵列编码图案,将符号阵列编码图案分成两块单独图案,再将这两块单独图案分别上下翻转,然后将翻转后的图案分别设在原编码图案的左右两侧,形成一个更大的符号阵列编码图案进一步包括:编码矩阵的唯一性窗口大小为4x2,即在编码图案中任意两列连续的菱形图案在编码图案中是唯一的,从而任意两列菱形图案加上中间的棋盘格图案做组成的图案在整编码图案中是唯一的,确保编码图案中没有相同的码字类型。

优选地,所述将形成的更大的符号阵列编码图案作为基础图案,经上下或左右平移拼接,得到拼接后的符号阵列编码图案进一步包括:经过平移拼接后的符号阵列编码图案,但在水平方向不能满足横线分离原则。

优选地,所述按照横线分离原则,将拼接后的符号阵列编码图案以图案中心点为中心沿顺时针或逆时针方向旋转一定的角度,得到旋转后的符号阵列编码图案进一步包括:拼接后的符号阵列编码图案以图案中心沿顺时针或逆时针旋转一定的角度,确保在水平方向重复码字中心落在不同垂直坐标上。

本发明还提供一种符号阵列结构光编码图案的生成装置,所述生成装置包括伪随机序列生成单元、编码矩阵组成单元、符号阵列编码图案生成单元、拼接单元、旋转单元、截取单元;所述伪随机序列生成单元,用于根据线性反馈移位寄存器生成2元4阶伪随机序列;所述编码矩阵组成单元,用于根据所述伪随机序列,将序列一个周期内的4阶子序列全部罗列出来,然后从中找出11组子序列组成一个4x11的编码矩阵;所述符号阵列编码图案生成单元,用于将所述编码矩阵重复映射到具有周期性的棋盘格图案中生成符号阵列编码图案,将符号阵列编码图案分成两块单独图案,再将这两块单独图案分别上下翻转,然后将翻转后的图案分别设在原编码图案的左右两侧,形成一个更大的符号阵列编码图案;所述拼接单元,用于将形成的更大的符号阵列编码图案作为基础图案,经上下或左右平移拼接,得到拼接后的符号阵列编码图案;所述旋转单元,用于按照横线分离原则,将拼接后的符号阵列编码图案以图案中心点为中心沿顺时针或逆时针方向旋转一定的角度,得到旋转后的符号阵列编码图案;所述截取单元,用于按长方形或正方形从旋转后的符号阵列编码图案中截取出最终的符号阵列编码图案,所述最终的符号阵列编码图案作为符号阵列结构光编码图案用于对投射空间或目标物体进行投射编码。

优选地,所述生成装置还包括,选取单元;所述选取单元,用于选取棋盘格图案;所述选取单元进一步用于:选取一定大小的棋盘格图案,每一个棋盘格内都有一个白色或黑色的内切圆,并且按照黑白间隔方式周期性排列,各个圆形连接处为类菱形区域;所述选取棋盘格图案的大小为3n×12n。

优选地,所述编码矩阵组成单元进一步用于:选取矩阵中的11组子序列组成一个4x11的矩阵,选取的子序列的二进制数值从高位到低位沿矩阵的每一列从上而下依次排列,并且该矩阵中每个4x2的窗口都是唯一的。

本发明所生成的符号阵列编码图案中的码字符合周期性排列,码字之间没有空余,码字所占得像素区域小,提高了像素的利用率。本发明具有所得到的符号阵列编码图案中码字数量多,用于深度解码过程中深度信息更丰富、点云更密集的优势,同时具有良好的码字纠错能力和鲁棒性。

附图说明

图1是本发明的一种符号阵列结构光编码图案生成的整体流程图;

图2是本发明选取棋盘格图案的一种实施例设计;

图3是本发明应用的线性反馈移位寄存器;

图4(a)是本发明根据伪随机序列所罗列出的一个周期内4阶子序列;

图4(b)是本发明编码矩阵实施例示意图;

图5是本发明将编码矩阵重复映射到具有周期性的棋盘格图案中生成符号阵列编码图案实施例示意图;

图6是本发明对基础图案进行平移拼接所得到符号阵列编码图案实施例的示意图;

图7(a)是本发明最终得到的符号阵列结构光编码图案经激光投射器投射出的实施例的示意图;

图7(b)是抽象的符号阵列结构光编码图案实施例的示意图;

图8是本发明的一种符号阵列结构光编码图案生成装置的示意图。

具体实施方式

下面将结合附图对本发明进行进一步的详细说明。

图1给出了本发明的一种符号阵列结构光编码图案生成方法的流程图。

步骤1:选取棋盘格图案。

选取一定大小的棋盘格图案,每一个棋盘格内都有一个白色或黑色的内切圆,并且按照黑白间隔方式周期性排列,各个圆形连接处为类菱形区域。

本发明的一个实施例中,首先选用图2所示的棋盘格图案作为基础图案,选取棋盘格图案的大小为3n×12n(行、列分别代表白色内切圆个数,n取任意正整数),该棋盘格图案上每个棋盘格内都有一个白色或者黑色的内切圆,这样的棋盘格图案具有周期性并且抗干扰能力强。黑白颜色的棋盘格图案因为颜色对比度高能有效消除不同物体表面反射率的变化和环境光对投射图案造成的影响。

步骤2:根据线性反馈移位寄存器生成2元4阶伪随机序列。

其中,所述线性反馈移位寄存器是根据本原多项式预先设置的。

首先n阶的伪随机序列的特征多项式的通式(1)为:

其中该伪随机序列的周期为:

p=2n-1 式(2)

要生成一个2元4阶的伪随机序列,其周期为15,每个4阶的子序列只出现一次,首先需要创建相应的线性反馈移位寄存器,这时需要确定该寄存器的本原多项式。一个寄存器的本原多项式需要是既约多项式(即不能再分解因式的多项式);并且能够整除(xp+1);且不能整除(xq+1),其中q<p。因此在创建2元4阶伪随机序列时选择的本原多项式为:

f(x)=x4+x+1 式(3)

利用该多项式(3)构成的线性反馈移位寄存器如图3所示,从图3中可以看出ak由ak-n+3与ak-n进行模二的加法得到(二进制加法),其中n=4。

如果设初始状态a3a2a1a0=1000,那么由图3生成的周期为p的伪随机序列为式(4):

{ak}=000111101011001000111101011001…式(4)

需要说明的是,步骤1和2之间并没有时序上的先后顺序,也不需要互相依赖执行。步骤1和2可以先执行步骤1,也可以先执行步骤2,或者同时执行。

步骤3:根据所述伪随机序列,将序列一个周期内的4阶子序列全部罗列出来,然后从中找出11组子序列组成一个4x11的编码矩阵。

在本发明的一个实施例中,在序列{ak}的一个周期内,每个4阶的子序列只出现一次,将序列{ak}一个周期内的4阶子序列全部罗列出来可以得到图4所示的矩阵,矩阵中每个4位2进制子序列都是唯一的如图4(a)。

随机选取图4(a)所示的矩阵中的11组子序列组成一个4x11的矩阵如图4(b),选取的子序列的二进制数值从高位到低位沿矩阵的每一列从上而下依次排列,并且该矩阵中每个4x2的窗口都是唯一的。

步骤4:将所述编码矩阵重复映射到具有周期性的棋盘格图案中生成符号阵列编码图案,将符号阵列编码图案分成两块单独图案,再将这两块单独图案分别上下翻转,然后将翻转后的图案分别设在原编码图案的左右两侧,形成一个更大的符号阵列编码图案。

在本发明的一个实施例中,将图4(b)的伪随机矩阵映射到棋盘格图案中,矩阵的每个元素单独对应一个棋盘格中内切圆的连接处的菱形区域,1代表将该菱形区域置为白色,0代表将该菱形区域置为黑色。由于编码矩阵的唯一性窗口大小为4x2,即在编码图案中任意两列连续的菱形图案在编码图案中是唯一的,从而任意两列菱形图案加上中间的棋盘格图案做组成的图案在整编码图案中是唯一的,确保了编码图案中没有相同的码字类型。

所述更大的符号阵列编码图案,目的在于进一步确保生成的大尺寸编码图案符合横线分离原则,并且在利用该编码图案对实际物体进行深度测距时使图案上的码字在水平方向能在足够大的范围内移动,在构建大尺寸编码图案时,并不是利用上图得到的子图案进行单纯的周期性重复,而是将子图案中两块单独的图案先分别上下翻转,然后将翻转后的图案分别设在原图案的左右两侧,来形成一个更大的符号阵列编码图案。

将由映射得到图5所示符号阵列编码图案分成两个单独图案分别上下翻转,然后将其分别设在原编码图案的左右两侧,形成一个更大符号阵列编码图案。

步骤5:将步骤4形成的更大的符号阵列编码图案作为基础图案,经上下或左右平移拼接,得到拼接后的符号阵列编码图案。

在本发明的一个实施例中,如图6所示经过平移拼接后的符号阵列编码图案,但在水平方向不能满足横线分离原则。

步骤6:按照横线分离原则,将拼接后的符号阵列编码图案以图案中心点为中心沿顺时针或逆时针方向旋转一定的角度,得到旋转后的符号阵列编码图案。

在本发明的一个实施例中,为了进一步确保生成的大尺寸编码图案符合横线分离原则,并且在利用该编码图案对实际物体进行深度测距时使图案上的码字在水平方向能在足够大的范围内移动,将图6所示的拼接后的符号阵列编码图案以图案中心沿顺时针或逆时针旋转一定的角度,确保在水平方向重复码字中心落在不同垂直坐标上。

步骤7:按长方形或正方形从旋转后的符号阵列编码图案中截取出最终的符号阵列编码图案,所述最终的符号阵列编码图案作为符号阵列结构光编码图案用于对投射空间或目标物体进行投射编码。

在本发明的一个实施例中,截取出最终图案如图7(a)所示,从图中可以看出码字A2的中心落在701a所在的垂直坐标上,而与其相邻的两个相同码字A1和A3的中心都没有落在701a的垂直坐标上,而整条701a横线所覆盖的码字图案在一定范围内都没有与A2相同的码字出现,因此该图案符合三角测距原理。

图7(b)抽象表示了图7(a)展示的符号阵列结构光编码图案符合三角测距的原因。图中每种字母代表一种码字,当编码图案中的码字水平方向上逐一重复,竖直方向上一定范围内没有重复的时候,将该图案旋转一定的角度,则可以看出在同一水平方向上不会出现相同的码字。701b、702b、703b分别代表三个不同的随机选取的垂直坐标,三条横线穿过该编码图案时,相同的字母并没有落在相同的横线上。

通过上述步骤,可以获得最终用于对投射空间或目标物体进行投射编码的符号阵列结构光编码图案。

图8给出了本发明的一种符号阵列结构光编码图案生成装置的示意图,所述生成装置包括选取单元、伪随机序列生成单元、编码矩阵组成单元、符号阵列编码图案生成单元、拼接单元、旋转单元、截取单元。

所述选取单元,用于选取棋盘格图案。

先设计出一定大小的棋盘格图案,每一个棋盘格内都有一个白色或黑色的内切圆,并且按照黑白间隔方式周期性排列。

本发明的一个实施例中,首先选用图2所示的棋盘格图案作为基础图案,选取棋盘格图案的大小为3n×12n(行、列分别代表白色内切圆个数,n取任意正整数),该棋盘格图案上每个棋盘格内都有一个白色或者黑色的内切圆,这样的棋盘格图案具有周期性并且抗干扰能力强。黑白颜色的棋盘格图案因为颜色对比度高能有效消除不同物体表面反射率的变化和环境光对投射图案造成的影响。

伪随机序列生成单元,用于根据线性反馈移位寄存器生成2元4阶伪随机序列。

其中,所述线性反馈移位寄存器是根据本原多项式预先设置的。

首先n阶的伪随机序列的特征多项式的通式(1)为:

其中该伪随机序列的周期为:

p=2n-1 式(2)

要生成一个2元4阶的伪随机序列,首先需要创建相应的线性反馈移位寄存器,这时需要确定该寄存器的本原多项式。一个寄存器的本原多项式需要是既约多项式(即不能再分解因式的多项式);并且能够整除(xp+1);且不能整除(xq+1),其中q<p。因此在创建2元4阶伪随机序列时选择的本原多项式为:

f(x)=x4+x+1 式(3)

利用该多项式(3)构成的线性反馈移位寄存器如图3所示,从图3中可以看出ak由ak-n+3与ak-n进行模二的加法得到(二进制加法),其中n=4。

如果设初始状态a3a2a1a0=1000,那么由图3生成的周期为p的伪随机序列为式(4):

{ak}=000111101011001000111101011001…式(4)

编码矩阵组成单元,用于根据所述伪随机序列,将序列一个周期内的4阶子序列全部罗列出来,然后从中找出11组子序列组成一个4x11的编码矩阵。

在本发明的一个实施例中,在序列{ak}的一个周期内,每个4阶的子序列只出现一次,将序列{ak}一个周期内的4阶子序列全部罗列出来可以得到图4所示的矩阵,矩阵中每个4位2进制子序列都是唯一的如图4(a)。

选取图4(a)所示的矩阵中的11组子序列组成一个4x11的矩阵如图4(b),选取的子序列的二进制数值从高位到低位沿矩阵的每一列从上而下依次排列,并且该矩阵中每个4x2的窗口都是唯一的。

符号阵列编码图案生成单元,用于将所述编码矩阵重复映射到具有周期性的棋盘格图案中生成符号阵列编码图案,将符号阵列编码图案分成两块单独图案,再将这两块单独图案分别上下翻转,然后将翻转后的图案分别设在原编码图案的左右两侧,形成一个更大的符号阵列编码图案。

在本发明的一个实施例中,将图4(b)的伪随机矩阵映射到棋盘格图案中,矩阵的每个元素单独对应一个棋盘格中内切圆的连接处的菱形区域,1代表将该菱形区域置为白色,0代表将该菱形区域置为黑色。由于编码矩阵的唯一性窗口大小为4x2,即在编码图案中任意两列连续的菱形图案在编码图案中是唯一的,从而任意两列菱形图案加上中间的棋盘格图案做组成的图案在整编码图案中是唯一的,确保了编码图案中没有相同的码字类型。

将由映射得到图5所示符号阵列编码图案分成两个单独图案分别上下翻转,然后将其分别设在原编码图案的左右两侧,形成一个更大符号阵列编码图案。

拼接单元,用于将符号阵列编码图案生成单元形成的更大的符号阵列编码图案作为基础图案,经上下或左右平移拼接,得到拼接后的符号阵列编码图案。

在本发明的一个实施例中,如图6所示经过平移拼接后的符号阵列编码图案,但在水平方向不能满足横线分离原则。

旋转单元,用于按照横线分离原则,将拼接后的符号阵列编码图案以图案中心点为中心沿顺时针或逆时针方向旋转一定的角度,得到旋转后的符号阵列编码图案。

在本发明的一个实施例中,为了进一步确保生成的大尺寸编码图案符合横线分离原则,并且在利用该编码图案对实际物体进行深度测距时使图案上的码字在水平方向能在足够大的范围内移动,将图6所示的拼接后的符号阵列编码图案以图案中心沿顺时针或逆时针旋转一定的角度,确保在水平方向重复码字中心落在不同垂直坐标上。

截取单元,用于按长方形或正方形从旋转后的符号阵列编码图案中截取出最终的符号阵列编码图案,所述最终的符号阵列编码图案作为符号阵列结构光编码图案用于对投射空间或目标物体进行投射编码。

通过上述装置,可以获得最终用于对投射空间或目标物体进行投射编码的符号阵列结构光编码图案。

由本发明生成的符号阵列结构光编码图案可通过投射器投射到投射空间和目标物体表面,实现对投射空间和目标物体的特征标定,有利于图像识别。本发明并不局限于前述的具体实施方式。因而在不脱离本发明的精神和范围内的修改和完善,均应包含在上述的权利要求范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1