基于DeBruijn序列的三维图像重建方法及装置与流程

文档序号:11217356阅读:662来源:国知局
基于DeBruijn序列的三维图像重建方法及装置与流程

本发明涉及三维图像重建技术领域,尤其涉及一种基于debruijn序列的三维图像重建方法及装置。



背景技术:

现有技术中,常用的三维图像重建技术是结构光三维图像重建技术,结构光三维图像重建技术主要分为两类:空域编码和时域编码,其中,空域编码往往只需要投影一幅图案,图案中每一点的码字即可根据它周围临近点的信息(如像素、颜色和几何信息等)得出,但是在解码阶段因受到像素和颜色等信息的干扰,具有噪声干扰,从而影响解码鲁棒性。

因此,现有的三维图像重建方法存在着具有较差的抗噪能力和较差的鲁棒性。



技术实现要素:

本发明的主要目的在于提供一种基于debruijn序列的三维图像重建方法及装置,旨在解决现有的三维图像重建方法存在的具有较差的抗噪能力和较差的鲁棒性的技术问题。

为实现上述目的,本发明第一方面提供一种基于debruijn序列的三维图像重建方法,所述方法包括:

利用位移寄存器生成4元2级debruijn序列;

对所述debruijn序列进行二进制转换处理得到二进制序列,并将所述二进制序列按顺序依次填充于预设模板图像中的灰色区域中,得到编码模板图像;

将所述编码模板图像投影到物体表面后进行图像采集,得到包含编码模板图像信息和物体信息的编码图像,对所述编码图像进行二值化处理,得到第一二值化图像,其中,所述第一二值化图像包括若干编码特征点,每一个编码特征点包括一个中心区域;

基于所述第一二值化图像确定每一个编码特征点的中心区域的位置信息;

基于所述第一二值化图像及所述每一个中心区域的位置信息确定所述每一个编码特征点的编码值,并利用所述编码值进行三维图像重建。

为实现上述目的,本发明第二方面提供一种基于debruijn序列的三维图像重建装置,所述装置包括:

生成模块,用于利用位移寄存器生成4元2级debruijn序列;

转换模块,用于对所述debruijn序列进行二进制转换处理得到二进制序列,并将所述二进制序列按顺序依次填充于预设模板图像中的灰色区域中,得到编码模板图像;

采集模块,用于将所述编码模板图像投影到物体表面后进行图像采集,得到包含编码模板图像信息和物体信息的编码图像,对所述编码图像进行二值化处理,得到第一二值化图像,其中,所述第一二值化图像包括若干编码特征点,每一个编码特征点包括一个中心区域;

第一确定模块,用于基于所述第一二值化图像确定每一个编码特征点的中心区域的位置信息;

第二确定模块,用于基于所述第一二值化图像及所述每一个中心区域的位置信息确定所述每一个编码特征点的编码值,并利用所述编码值进行三维图像重建。

本发明提供一种基于debruijn序列的三维图像重建方法,本发明实施例利用位移寄存器生成4元2级debruijn序列,对debruijn序列进行二进制转换处理得到二进制序列,并将二进制序列按顺序依次填充于预设模板图像中的灰色区域中,得到编码模板图像,将编码模板图像投影到物体表面后进行图像采集,得到包含编码模板图像信息和物体信息的编码图像,对编码图像进行二值化处理,得到第一二值化图像,其中,第一二值化图像包括若干编码特征点,每一个编码特征点包括一个中心区域,基于第一二值化图像确定每一个编码特征点的中心区域的位置信息,基于第一二值化图像及每一个中心区域的位置信息确定每一个编码特征点的编码值,并利用编码值进行三维图像重建,与现有技术相比,本发明实施例将基于debruijn序列进行编码后得到的编码模板图像投影到物体表面后进行图像采集,得到编码图像,对编码图像进行二值化处理,其中,利用二值化处理可以克服物体表面的颜色干扰,三维图像的重建时具有更高的抗噪能力和较好的鲁棒性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明第一实施例提供的一种基于debruijn序列的三维图像重建方法的流程示意图;

图2为本发明实施例中的预设模板图像;

图3为为图1中的步骤s102中的对debruijn序列进行二进制转换处理得到二进制序列的细化步骤的流程示意图;

图4为对debruijn序列进行二进制转换处理得到二进制序列的转换处理示意图;

图5为第一二值化图像;

图6为步骤s104的细化步骤的流程示意图;

图7为外围区域的结构图;

图8为步骤s105的细化步骤的流程示意图;

图9为编码特征点的结构图;

图10为本发明第二实施例提供的一种基于debruijn序列的三维图像重建装置的功能模块示意图;

图11为图10中的转换模块1002的细化功能模块示意图;

图12为第一确定模块1004的细化功能模块示意图;

图13为第二确定模块1005的细化功能模块示意图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

请参阅图1,图1为本发明第一实施例提供的一种基于debruijn序列的三维图像重建方法的流程示意图,包括:

步骤s101、利用位移寄存器生成4元2级debruijn序列;

在本发明实施例中,利用位移寄存器生成生成4元2级debruijn序列,生成debruijn序列的方法为:首先利用位移寄存器确定第一个子序列,利用原本多项式获取迭代函数,并利用迭代函数进行迭代运算,生成后续子序列,在当前的子序列与第一个子序列相同时迭代结束,得到4元2级debruijn序列。

其中,该4元2级debruijn序列是一个元素个数为4、总长度为16、任意长度、子序列不重复出现的伪随机序列,该4元2级debruijn序列元素取值为0、1、2和3。

步骤s102、对debruijn序列进行二进制转换处理得到二进制序列,并将二进制序列按顺序依次填充于预设模板图像中的灰色区域中,得到编码模板图像;

在本发明实施例中,请参阅图2所示的预设模板图像,该预设模板图像为黑白相间的棋盘格图案,并以每个角点为中心设置待填充的灰色区域203,灰色区域203的面积应小于黑色棋盘格区域202的面积及白色棋盘格区域201的面积。

其中,将二进制序列按顺序依次填充于预设模板图像中的灰色区域中,得到编码模板图像,例如,图2所示的预设模板图像中共有7行待填充的灰色区域203,每一行有7个格子的灰色区域203,假设第一行二进制序列为1100110,将第一行二进制序列1100110按顺序依次填充于预设模板图像中的第一行待填充的7个灰色区域203中,二进制序列1100110中的码字1使得灰色区域203变成黑色的,二进制序列1100110中的码字0使得灰色区域203变成白色的,则第一行填充后的7个灰色区域203的颜色显示为黑黑白白黑黑白,按照上述方法,将所有的二进制序列按照顺序依次填充于预设模板图像中,就会得到编码模板图像。

进一步的,请参阅图3,图3为图1中的步骤s102中的对debruijn序列进行二进制转换处理得到二进制序列的细化步骤的流程示意图,包括:

步骤s301、将debruijn序列中的每一个码字转换成上下分布的二进制数,并排列成上下两行;

步骤s302、将排列成上下两行的所有二进制数中的偶数列的二进制数进行上下位置换,得到二进制序列。

在本发明实施例中,请参阅图4,图4为对debruijn序列进行二进制转换处理得到二进制序列的转换处理示意图,该4元2级debruijn序列元素取值为0、1、2及3,对应的二进制数分别为00、01、10及11,假设某一行debruijn序列401为3300311320210122,则将该行debruijn序列401中的每一个码字转换成上下分布的二进制数,并排列成上下两行,如402所示,将排列成上下两行的所有二进制数中的偶数列的二进制数进行上下位置换,得到如403所示的二进制序列。

步骤s103、将编码模板图像投影到物体表面后进行图像采集,得到包含编码模板图像信息和物体信息的编码图像,对编码图像进行二值化处理,得到第一二值化图像,其中,第一二值化图像包括若干编码特征点,每一个编码特征点包括一个中心区域;

在本发明实施例中,请参阅图5,为第一二值化图像,第一二值化图像包括若干编码特征点,每一个编码特征点包括一个中心区域,有的编码特征点包括的中心区域的颜色为黑色,如501,有的编码特征点包括的中心区域的颜色为白色,如502。

步骤s104、基于第一二值化图像确定每一个编码特征点的中心区域的位置信息;

进一步地,请参阅图6,图6为步骤s104的细化步骤的流程示意图,包括:

步骤s601、对第一二值化图像进行闭运算,并去除每一个编码特征点的外围区域,得到第二二值化图像;

步骤s602、确定第二二值化图像中的颜色为黑色的中心区域的位置信息;

步骤s603、将第一二值化图像中的每一个像素进行黑白反转处理,并对进行黑白反转处理后的第一二值化图像进行闭运算,去除每一个编码特征点的外围区域,得到第三二值化图像;

步骤s604、确定第三二值化图像中的颜色为黑色的中心区域的位置信息。

在本发明实施例中,每一个编码特征点包括4个外围区域,请参阅图7,4个外围区域分别为701、702、703及704,对第一二值化图像进行闭运算,并去除每一个编码特征点的外围区域,得到第二二值化图像,确定第二二值化图像中的颜色为黑色的中心区域的位置信息,因为只能对颜色为黑色的中心区域进行闭运算,所以为了确定第一二值化图像中的颜色为白色的中心区域的位置信息,首先将第一二值化图像中的每一个像素进行黑白反转处理,并对进行黑白反转处理后的第一二值化图像进行闭运算,去除每一个编码特征点的外围区域,得到第三二值化图像,确定第三二值化图像中的颜色为黑色的中心区域的位置信息,第三二值化图像中的颜色为黑色的中心区域的位置信息即为第一二值化图像中的颜色为白色的中心区域的位置信息,从而确定了第一二值化图像中的所有中心区域的位置信息。

步骤s105、基于第一二值化图像及每一个中心区域的位置信息确定每一个编码特征点的编码值,并利用编码值进行三维图像重建。

进一步地,请参阅图8,图8为步骤s105的细化步骤的流程示意图,包括:

步骤s801、基于第一二值化图像及当前中心区域的位置信息确定与当前中心区域的颜色相同的4个邻近中心区域;

步骤s802、连接当前中心区域及4个邻近中心区域,得到连线上的4个外围区域;

步骤s803、计算4个外围区域的灰度值,将4个外围区域的灰度值作为当前中心区域所对应的编码特征点的编码值。

在本发明实施例中,请参阅图9,当前中心区域为901,基于第一二值化图像及当前中心区域901的位置信息确定与当前中心区域的颜色相同的4个邻近中心区域分别为902、903、904及905,连接当前中心区域及4个邻近中心区域,得到连线上的4个外围区域,4个外围区域为906、907、908及909,计算4个外围区域的灰度值,如图9中,906的颜色为黑色,则906的灰度值为1,907的颜色为白色,则907的灰度值为0,908的颜色为白色,则908的灰度值为0,909的颜色为白色,则909的灰度值为0,将4个外围区域的灰度值1、0、0、0作为当前中心区域所对应的编码特征点的编码值,即当前中心区域所对应的编码特征点的编码值为1、0、0、0。

在本发明实施例中,与现有技术相比,本发明实施例基于debruijn序列进行编码,能够有效的避免编码的奇异性,将编码后得到的编码模板图像投影到物体表面后进行图像采集,得到编码图像,对编码图像进行二值化处理,其中,利用二值化处理可以克服物体表面的颜色干扰,三维图像的重建时具有更高的抗噪能力和较好的鲁棒性。

请参阅图10,图10为本发明第二实施例提供的一种基于debruijn序列的三维图像重建装置的功能模块示意图,包括:

生成模块1001,用于利用位移寄存器生成4元2级debruijn序列;

在本发明实施例中,生成模块1001利用位移寄存器生成生成4元2级debruijn序列,生成debruijn序列的方法为:首先利用位移寄存器确定第一个子序列,利用原本多项式获取迭代函数,并利用迭代函数进行迭代运算,生成后续子序列,在当前的子序列与第一个子序列相同时迭代结束,得到4元2级debruijn序列。

其中,该4元2级debruijn序列是一个元素个数为4、总长度为16、任意长度、子序列不重复出现的伪随机序列,该4元2级debruijn序列元素取值为0、1、2和3。

转换模块1002,用于对debruijn序列进行二进制转换处理得到二进制序列,并将二进制序列按顺序依次填充于预设模板图像中的灰色区域中,得到编码模板图像;

在本发明实施例中,请参阅图2所示的预设模板图像,该预设模板图像为黑白相间的棋盘格图案,并以每个角点为中心设置待填充的灰色区域203,灰色区域203的面积应小于黑色棋盘格区域202的面积及白色棋盘格区域201的面积。

其中,转换模块1002将二进制序列按顺序依次填充于预设模板图像中的灰色区域中,得到编码模板图像,例如,图2所示的预设模板图像中共有7行待填充的灰色区域203,每一行有7个格子的灰色区域203,假设第一行二进制序列为1100110,将第一行二进制序列1100110按顺序依次填充于预设模板图像中的第一行待填充的7个灰色区域203中,二进制序列1100110中的码字1使得灰色区域203变成黑色的,二进制序列1100110中的码字0使得灰色区域203变成白色的,则第一行填充后的7个灰色区域203的颜色显示为黑黑白白黑黑白,按照上述方法,将所有的二进制序列按照顺序依次填充于预设模板图像中,就会得到编码模板图像。

进一步的,请参阅图11,图11为图10中的转换模块1002的细化功能模块示意图,包括:

转换单元1101,用于将debruijn序列中的每一个码字转换成上下分布的二进制数,并排列成上下两行;

置换单元1102,用于将排列成上下两行的所有二进制数中的偶数列的二进制数进行上下位置换,得到二进制序列。

在本发明实施例中,请参阅图4,图4为对debruijn序列进行二进制转换处理得到二进制序列的转换处理示意图,该4元2级debruijn序列元素取值为0、1、2及3,对应的二进制数分别为00、01、10及11,假设某一行debruijn序列401为3300311320210122,转换单元1101则将该行debruijn序列401中的每一个码字转换成上下分布的二进制数,并排列成上下两行,如402所示,置换单元1102将排列成上下两行的所有二进制数中的偶数列的二进制数进行上下位置换,得到如403所示的二进制序列。

采集模块1003,用于将编码模板图像投影到物体表面后进行图像采集,得到包含编码模板图像信息和物体信息的编码图像,对编码图像进行二值化处理,得到第一二值化图像,其中,第一二值化图像包括若干编码特征点,每一个编码特征点包括一个中心区域;

在本发明实施例中,请参阅图5,为第一二值化图像,第一二值化图像包括若干编码特征点,每一个编码特征点包括一个中心区域,有的编码特征点包括的中心区域的颜色为黑色,如501,有的编码特征点包括的中心区域的颜色为白色,如502。

第一确定模块1004,用于基于第一二值化图像确定每一个编码特征点的中心区域的位置信息;

进一步地,请参阅图12,图12为第一确定模块1004的细化功能模块示意图,包括:

第一闭运算单元1201,用于对第一二值化图像进行闭运算,并去除每一个编码特征点的外围区域,得到第二二值化图像;

第一确定单元1202,用于确定第二二值化图像中的颜色为黑色的中心区域的位置信息;

第二闭运算单元1203,用于将第一二值化图像中的每一个像素进行黑白反转处理,并对进行黑白反转处理后的第一二值化图像进行闭运算,去除每一个编码特征点的外围区域,得到第三二值化图像;

第二确定单元1204,用于确定第三二值化图像中的颜色为黑色的中心区域的位置信息。

在本发明实施例中,每一个编码特征点包括4个外围区域,请参阅图7,4个外围区域分别为701、702、703及704,第一闭运算单元1201对第一二值化图像进行闭运算,并去除每一个编码特征点的外围区域,得到第二二值化图像,第一确定单元1202确定第二二值化图像中的颜色为黑色的中心区域的位置信息,因为只能对颜色为黑色的中心区域进行闭运算,所以为了确定第一二值化图像中的颜色为白色的中心区域的位置信息,第二闭运算单元1203首先将第一二值化图像中的每一个像素进行黑白反转处理,并对进行黑白反转处理后的第一二值化图像进行闭运算,第二闭运算单元1203去除每一个编码特征点的外围区域,得到第三二值化图像,确定第三二值化图像中的颜色为黑色的中心区域的位置信息,第三二值化图像中的颜色为黑色的中心区域的位置信息即为第一二值化图像中的颜色为白色的中心区域的位置信息,第二确定单元1204从而确定了第一二值化图像中的所有中心区域的位置信息。

第二确定模块1005,用于基于第一二值化图像及每一个中心区域的位置信息确定每一个编码特征点的编码值,并利用编码值进行三维图像重建。

进一步地,请参阅图13,图13为第二确定模块1005的细化功能模块示意图,包括:

第三确定单元1301,用于基于第一二值化图像及当前中心区域的位置信息确定与当前中心区域的颜色相同的4个邻近中心区域;

连接单元1302,用于连接当前中心区域及4个邻近中心区域,得到连线上的4个外围区域;

计算单元1303,用于计算4个外围区域的灰度值,将4个外围区域的灰度值作为当前中心区域所对应的编码特征点的编码值。

在本发明实施例中,请参阅图9,当前中心区域为901,第三确定单元1301基于第一二值化图像及当前中心区域901的位置信息确定与当前中心区域的颜色相同的4个邻近中心区域分别为902、903、904及905,连接单元1302连接当前中心区域及4个邻近中心区域,得到连线上的4个外围区域,4个外围区域为906、907、908及909,计算单元1303计算4个外围区域的灰度值,如图9中,906的颜色为黑色,则906的灰度值为1,907的颜色为白色,则907的灰度值为0,908的颜色为白色,则908的灰度值为0,909的颜色为白色,则909的灰度值为0,将4个外围区域的灰度值1、0、0、0作为当前中心区域所对应的编码特征点的编码值,即当前中心区域所对应的编码特征点的编码值为1、0、0、0。

在本发明实施例中,与现有技术相比,本发明实施例基于debruijn序列进行编码,能够有效的避免编码的奇异性,将编码后得到的编码模板图像投影到物体表面后进行图像采集,得到编码图像,对编码图像进行二值化处理,其中,利用二值化处理可以克服物体表面的颜色干扰,三维图像的重建时具有更高的抗噪能力和较好的鲁棒性。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上为对本发明所提供的一种基于debruijn序列的三维图像重建方法及装置的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

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