发明内容
本发明实施例提供一种单目空间结构光系统结构校准方法及装置,用以解决现有技术中存在的缺陷。
本发明实施例提供一种单目空间结构光系统结构校准方法,包括:
获取包含有平面区域的场景图对应的第一散斑图以及包含有参考面的第二散斑图;
基于单目空间结构光系统结构变动后散斑点的位置变化信息以及小孔成像模型,确定所述第一散斑图与所述第二散斑图中匹配的同名点对之间的位置关系;
基于所述位置关系,生成与所述场景图行对齐的参考图,完成所述单目空间结构光系统的结构校准。
根据本发明一个实施例的单目空间结构光系统结构校准方法,所述单目空间结构光系统结构变动后散斑点的位置变化信息,具体通过如下方式确定:
确定所述散斑点相对于所述单目空间结构光系统中散斑投射器的位置信息;
基于所述位置信息以及光束直线传播原理,确定所述位置变化关系。
根据本发明一个实施例的单目空间结构光系统结构校准方法,所述基于单目空间结构光系统结构变动后散斑点的位置变化信息以及小孔成像模型,确定所述第一散斑图与所述第二散斑图中匹配的同名点对之间的位置关系,具体包括:
基于所述单目空间结构光系统结构变动后散斑点的位置变化信息以及小孔成像模型,确定用于表征所述单目空间结构光系统结构变动的转换矩阵;
基于所述转换矩阵,确定所述第一散斑图与所述第二散斑图中匹配的同名点对之间的位置关系。
根据本发明一个实施例的单目空间结构光系统结构校准方法,所述基于所述位置关系,生成与所述场景图行对齐的参考图,具体包括:
基于所述位置关系,将所述平面区域所处的平面映射至所述参考面;
基于映射后的所述参考面,生成所述参考图。
根据本发明一个实施例的单目空间结构光系统结构校准方法,所述第一散斑图与所述第二散斑图中匹配的同名点对,通过如下方式确定:
基于灰度的模板匹配算法和/或基于特征的匹配算法,确定所述第一散斑图与所述第二散斑图中匹配的同名点对。
根据本发明一个实施例的单目空间结构光系统结构校准方法,所述基于灰度的模板匹配算法具体包括:绝对差异之和快速匹配算法、归一化互相关算法以及零基归一化互相关算法。
根据本发明一个实施例的单目空间结构光系统结构校准方法,所述基于特征的匹配算法具体包括:尺度不变特征转换算法、哈里斯角点检测算法以及加速段测试的特征检测算法。
本发明实施例还提供一种单目空间结构光系统结构校准装置,包括:
获取模块,用于获取包含有平面区域的场景图对应的第一散斑图以及包含有参考面的第二散斑图;
位置关系确定模块,用于基于单目空间结构光系统结构变动后散斑点的位置变化信息以及小孔成像模型,确定所述第一散斑图与所述第二散斑图中匹配的同名点对之间的位置关系;
参考图生成模块,用于基于所述位置关系,生成与所述场景图行对齐的参考图,完成所述单目空间结构光系统的结构校准。
本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述的单目空间结构光系统结构校准方法的步骤。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述的单目空间结构光系统结构校准方法的步骤。
本发明实施例提供的单目空间结构光系统结构校准方法及装置,首先获取包含有平面区域的场景图对应的第一散斑图以及包含有参考面的第二散斑图;然后基于单目空间结构光系统结构变动后散斑点的位置变化信息以及小孔成像模型,确定第一散斑图与第二散斑图中匹配的同名点对之间的位置关系;最后基于所述位置关系,生成与所述场景图行对齐的参考图,完成所述单目空间结构光系统的结构校准,以根据生成的参考图进行三维深度信息恢复。使用采集得到的任意姿态的平面区域的场景图对应的第一散斑图,从原参考图生成现结构下的参考图,使得单目空间结构光系统在结构变动的情况下仍能正常使用,延长了单目空间结构光系统的使用寿命,增强了单目空间结构光系统的耐用性和稳定性,并且可以使得恢复结果更加准确可靠。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例中提供了一种单目空间结构光系统结构校准方法,包括:
S1,获取包含有平面区域的场景图对应的第一散斑图以及包含有参考面的第二散斑图;
S2,基于单目空间结构光系统结构变动后散斑点的位置变化信息以及小孔成像模型,确定所述第一散斑图与所述第二散斑图中匹配的同名点对之间的位置关系;
S3,基于所述位置关系,生成与所述场景图行对齐的参考图,完成所述单目空间结构光系统的结构校准。
具体地,本发明实施例中提供的单目空间结构光系统结构校准方法,其执行主体为处理器,该处理器具体可以是本地处理器,也可以是云端处理器,本地处理器具体可以是智能手机、平板电脑以及计算机等,本发明实施例中对此不作具体限定。
虽然原理上来说,不同距离下的散斑点对应的深度信息可以通过光学传感器模组自带的多行搜索的深度恢复算法得到,但是计算量是巨大的且准确度较差。如果假设存在一个平面区域,那么相比于复杂场景,其计算量与准确度将大幅提升。因此,本发明实施例中在进行三维深度信息恢复时,光学传感器的视野中存在一平面区域,该平面区域无需很大,具体可以根据需要进行设置,本发明实施例中对此不作具体限定。
首先执行步骤S1。其中,单目空间结构光系统包括光学传感器和散斑投射器,在散斑投射器的散斑出射方向还包括衍射光学元件(Diffractive Optical Elements,DOE)等光学元器件。光学传感器具体可以是包含相机的组件。散斑投射器用于投射散斑。包含有平面区域的场景图对应的第一散斑图是通过散斑投射器向平面区域投射散斑,并通过光学传感器采集得到,包含有参考面的第二散斑图是通过散斑投射器向参考面投射散斑,并通过光学传感器采集得到。由于光学传感器与平面区域以及参考面均具有一定距离,该距离即为平面区域在第一散斑图中的深度信息以及参考面在第二散斑图中的深度信息。本发明实施例中,具体可以采集多帧包含有平面区域的场景图,通过多行搜索计算对应的深度图,利用随机抽样一致性(Random Sample Consensus,RANSAC)算法提取其中的平面区域,这样便得知包含有平面区域的第一散斑图以及平面区域在第一散斑图中的深度信息。同理,可得到包含有参考面的第二散斑图以及参考面在第二散斑图中的深度信息。
然后执行步骤S2。其中,单目空间结构光系统结构发生变动,可能是散斑投射器的位置发生变化,也可能是光学传感器的位置发生变化,本发明实施例中,以散斑投射器的位置发生变化为准,即如果单目空间结构光系统结构发生变动是由于散斑投射器的位置发生变化,则直接确定散斑投射器发出的散斑点在相同距离处的位置变化信息,如果单目空间结构光系统结构发生变动是由于光学传感器的位置发生变化,则需要将光学传感器的位置变化等效为散斑投射器的位置变化,然后再确定散斑点的位置变化信息。
根据散斑点的位置变化信息以及小孔成像模型,即可确定出第一散斑图与第二散斑图中匹配的同名点对之间的位置关系。其中,同名点是指同一点在不同图像中的像点。第一散斑图与第二散斑图中匹配的同名点对是指第一散斑图与第二散斑图上与邻域内的其他特征点之间的关系相同的特征点,或者第一散斑图与第二散斑图上邻域内的其他特征点的属性相同的特征点。根据第一散斑图与第二散斑图中匹配的同名点对之间的位置关系,将平面区域所处的平面映射至参考面,即将平面区域所处的平面上各点的坐标转化为参考面上的坐标。
最后执行步骤S3。其中,根据第一散斑图与第二散斑图中匹配的同名点对之间的位置关系,生成与场景图行对齐的参考图,即通过散斑投射器向参考面投射散斑,并通过光学传感器采集参考面的图像得到参考图。得到了参考图即完成了对单目空间结构光系统的结构校准,该参考图可以直接用于单目空间结构光系统的三维深度信息恢复。
如图2所示,为单板的标定方案,先用散斑投射器1照射参考面3,在参考面上形成散斑点P,使用与散斑投射器1位于同一平面内的图像传感器2拍摄参考面3上的散斑图,作为参考图。参考面3与散斑发射器1之间的距离可以测量出来,设为S。之后放入任一物体M,利用图像传感器2拍摄得到散斑物体图,利用散斑物体图和参考图,然后利用如下公式,就可以恢复物体的三维深度信息:
其中,S’为物体的三维深度信息,f为图像传感器的焦距,b为图像传感器与散斑投射器之间的距离,
为散斑物体图和参考图之间的视差。
本发明实施例提供的单目空间结构光系统结构校准方法,首先获取包含有平面区域的场景图对应的第一散斑图以及包含有参考面的第二散斑图;然后基于单目空间结构光系统结构变动后散斑点的位置变化信息以及小孔成像模型,确定第一散斑图与第二散斑图中匹配的同名点对之间的位置关系;最后基于位置关系,生成与所述场景图行对齐的参考图,完成所述单目空间结构光系统的结构校准,以根据生成的参考图进行三维深度信息恢复。使用采集得到的任意姿态的平面区域的场景图对应的第一散斑图,从原参考图生成现结构下的参考图,使得单目空间结构光系统在结构变动的情况下仍能正常使用,延长了单目空间结构光系统的使用寿命,增强了单目空间结构光系统的耐用性和稳定性,并且可以使得恢复结果更加准确可靠。
在上述实施例的基础上,本发明实施例中提供的单目空间结构光系统结构校准方法,所述单目空间结构光系统结构变动后散斑点的位置变化信息,具体通过如下方式确定:
确定所述散斑点相对于所述单目空间结构光系统中散斑投射器的位置信息;
基于所述位置信息以及光束直线传播原理,确定所述位置变化关系。
具体地,本发明实施例中在确定单目空间结构光系统结构变动后散斑点的位置变化信息时,以单目空间结构光系统中常见的水平结构为例,如图3所示,光学传感器记为坐标系原点O,以光轴OZ建立右手坐标系O-XYZ,T0(T0x,T0y,T0z)为结构变动前散斑投射器所在的位置,T(Tx,Ty,Tz)为结构变动后散斑投射器所在的位置。散斑投射器经过空间旋转R与平移,从T0变动至T(Tx,Ty,Tz)。散斑投射器将调制好的伪随机图案经过DOE,打在了Z0平面上,Z0平面即为参考面,富含图案纹理的Z0平面即为深度恢复算法所需的参考图。以参考面上一点P0(x0,y0,z0)为例,它经过结构变动后移动至了P′(x′,y′,z′)。根据光束沿直线传播原理,P′落在参考面Z0上的同名点为P(x,y,z0)。
在上述实施例的基础上,本发明实施例中提供的单目空间结构光系统结构校准方法,基于单目空间结构光系统结构变动后散斑点的位置变化信息以及小孔成像模型,确定所述第一散斑图与所述第二散斑图中匹配的同名点对之间的位置关系,具体包括:
基于所述单目空间结构光系统结构变动后散斑点的位置变化信息以及小孔成像模型,确定用于表征所述单目空间结构光系统结构变动的转换矩阵;
基于所述转换矩阵,确定所述第一散斑图与所述第二散斑图中匹配的同名点对之间的位置关系。
具体地,本发明实施例中,转换矩阵包括平移矩阵T和旋转矩阵R。即散斑投射器刚体变动可分解为旋转与平移两步,散斑点P0相对散斑投射器的向量为P0-T0,经过空间旋转R,变为R·(P0-T0),再经过平移T后,即为点P′,故有:
P′=R·(P0-T0)+T。 (1)
根据光束沿直线传播的原理,有:
公式(2)即为结构变动前后参考图中一对同名点(P0,P)的关系。
根据光学传感器中常用的小孔成像模型,P与P0在光学传感器成像后的像素位置为p(u,v)与p0(u0,v0),则有:
其中,cx、cy分别为光学传感器的内参,具体为光学传感器的光心横坐标和纵坐标,fx为光学传感器的焦距。
虽然P0与P′之间的关系是线性变化,可P与P0之间的关系却是非线性变化。如果想一步通过P与P0的关系进行校准,那么是相当困难的。因此,本发明实施例中先确定P0与P′之间的关系,计算得到结构变换,再通过不同距离下各个散斑点P′得到同一距离下的散斑点P的分布图案。
需要说明的是,由于求解上述方程是超定的,公式(1)中未知量只有旋转矩阵R与T,已知量则有远远大于未知量的同名点坐标。并且,平面区域另一个好处在于与参考面之间的映射是单应性的。
经过同名点匹配后,利用公式(1)与公式(6)可计算得知旋转矩阵R与T(如使用交替方向迭代法逐步迭代)。
在上述实施例的基础上,本发明实施例中提供的单目空间结构光系统结构校准方法,所述基于所述位置关系,生成与所述场景图行对齐的参考图,具体包括:
基于所述位置关系,将所述平面区域所处的平面映射至所述参考面;
基于映射后的所述参考面,生成所述参考图。
具体地,可以根据第一散斑图与第二散斑图中匹配的同名点对之间的位置关系,将参考图完全映射至平面区域R所在的平面。将平面区域R所在的倾斜平面,通过公式(5)与公式(6),将此倾斜平面映射到参考面,这样便完成了从原始参考面到目标参考面的映射,记录如今的T值(无需记录旋转矩阵,因为其对于深度恢复没有意义)。
在上述实施例的基础上,本发明实施例中提供的单目空间结构光系统结构校准方法,所述第一散斑图与所述第二散斑图中匹配的同名点对,通过如下方式确定:
基于灰度的模板匹配算法和/或基于特征的匹配算法,确定所述第一散斑图与所述第二散斑图中匹配的同名点对。
具体地,常用的匹配算法有基于灰度的模板匹配算法,如绝对差异之和(Sum ofabsolute differences,SAD)快速匹配算法、归一化互相关(Normalized CrossCorrelation,NCC)算法以及零基归一化互相关(Zero-based Normalized CrossCorrelation,ZNCC)算法;基于特征的匹配算法,如尺度不变特征转换(Scale-invariantfeature transform,SIFT)算法、哈里斯(Harris)角点检测算法、加速段测试的特征(Features From Accelerated Segment Test,FAST)检测算法。基于灰度的模板匹配算法得到的同名点多,匹配精度高,但速度较慢。基于特征的匹配算法需要提取图像的特征,根据特征描述子的相似程度对亮度图像的特征之间进行匹配,用时较短,匹配精度依赖于特征是否明显以及准确程度。
在上述实施例的基础上,本发明实施例中提供的单目空间结构光系统结构校准方法,完整流程如下:
首先,获取包含有平面区域的第一散斑图、所述平面区域在所述第一散斑图中的深度信息、包含有参考面的第二散斑图以及所述参考面在所述第二散斑图中的深度信息;
然后,确定所述散斑点相对于所述单目空间结构光系统中散斑投射器的位置信息;基于所述位置信息以及光束直线传播原理,确定所述位置变化关系。基于单目空间结构光系统结构变动后散斑点的位置变化信息以及小孔成像模型,确定用于表征所述单目空间结构光系统结构变动的转换矩阵,并基于所述转换矩阵,确定所述第一散斑图与所述第二散斑图中匹配的同名点对之间的位置关系。
基于SAD快速匹配算法、NCC算法以及ZNCC算法和/或基于SIFT算法、Harris算法以及FAST算法,确定所述第一散斑图与所述第二散斑图中匹配的同名点对。基于所述第一散斑图与所述第二散斑图中匹配的同名点对之间的位置关系,将所述平面区域所处的平面映射至所述参考面;
最后,基于映射后的所述参考面,生成参考图,以供结合常用的三维深度信息恢复算法进行三维深度信息恢复。
如图4所示,在上述实施例的基础上,本发明实施例中提供的单目空间结构光系统结构校准装置,包括:获取模块41、位置关系确定模块42和参考图生成模块43。其中,
获取模块41用于获取包含有平面区域的场景图对应的第一散斑图以及包含有参考面的第二散斑图;
位置关系确定模块42用于基于单目空间结构光系统结构变动后散斑点的位置变化信息以及小孔成像模型,确定所述第一散斑图与所述第二散斑图中匹配的同名点对之间的位置关系;
参考图生成模块43用于基于所述位置关系,生成与所述场景图行对齐的参考图,完成所述单目空间结构光系统的结构校准。
具体地,本发明实施例中提供的单目空间结构光系统结构校准装置中各模块的作用与操作流程与上述方法类实施例中各步骤的操作过程是一一对应的,达到的效果也是一致的,具体参见上述方法类实施例,本发明实施例中对此不再赘述。
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行单目空间结构光系统结构校准方法,包括:获取包含有平面区域的场景图对应的第一散斑图以及包含有参考面的第二散斑图;基于单目空间结构光系统结构变动后散斑点的位置变化信息以及小孔成像模型,确定所述第一散斑图与所述第二散斑图中匹配的同名点对之间的位置关系;基于所述位置关系,生成与所述场景图行对齐的参考图,完成所述单目空间结构光系统的结构校准。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的单目空间结构光系统结构校准方法,包括:获取包含有平面区域的场景图对应的第一散斑图以及包含有参考面的第二散斑图;基于单目空间结构光系统结构变动后散斑点的位置变化信息以及小孔成像模型,确定所述第一散斑图与所述第二散斑图中匹配的同名点对之间的位置关系;基于所述位置关系,生成与所述场景图行对齐的参考图,完成所述单目空间结构光系统的结构校准。
又一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的单目空间结构光系统结构校准方法,包括:获取包含有平面区域的场景图对应的第一散斑图以及包含有参考面的第二散斑图;基于单目空间结构光系统结构变动后散斑点的位置变化信息以及小孔成像模型,确定所述第一散斑图与所述第二散斑图中匹配的同名点对之间的位置关系;基于所述位置关系,生成与所述场景图行对齐的参考图,完成所述单目空间结构光系统的结构校准。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。