深度图像的融合方法、装置和计算机可读存储介质
技术领域
本发明涉及图像处理技术领域,尤其涉及一种深度图像的融合方法、装置和计算机可读存储介质。
背景技术
随着三维重建技术的不断发展,越来越多的三维重建需求开始出现。现阶段主要三维重建方式包括:使用图片利用多视点立体视觉multi-view stereo vison技术进行的大规模三维重建,使用激光雷达扫描场景的三维重建以及利用各种结构光扫描装置进行的三维重建。所有三维重建的核心产物之一就是点云数据,点云数据就是一个个离散的带颜色的三维坐标点,这些密集的三维点组合起来描述了整个被重建的场景。
在重建过程中,场景的很多部分都会被多次观测或者扫描到,每一次观测或扫描就会产生很多描述该部分的点云,整个重建过程下来,场景的每个部分通常会有大量冗余的点,从而使得整个场景的点云量过大,不利于渲染显示,而且,这样生成的大量点云往往会伴有较多的噪声。
发明内容
本发明提供了一种深度图像的融合方法、装置和计算机可读存储介质,用于减少冗余的点云,同时保持场景中的各个细节部分,保证深度图像的显示质量和效率。
本发明的第一方面是为了提供一种深度图像的融合方法,包括:
获取至少一个深度图像以及位于至少一个所述深度图像中的一参考像素点;
确定与至少一个所述深度图像中的一参考像素点相对应的候选队列,所述候选队列中存储有至少一个所述深度图像中未被融合的待融合像素点;
在所述候选队列中确定与至少一个所述深度图像中的一参考像素点相对应的融合队列,并将所述候选队列中的所述待融合像素点压入到所述融合队列,所述融合队列中存储有至少一个所述深度图像中的已被选择融合像素点;
获取所述融合队列中的所述已被选择融合像素点的特征信息;
根据所述已被选择融合像素点的特征信息确定融合后像素点的标准特征信息;
根据所述融合后像素点的标准特征信息生成与至少一个所述深度图像相对应的融合点云。
本发明的第二方面是为了提供一种深度图像的融合装置,包括:
存储器,用于存储计算机程序;
处理器,用于运行所述存储器中存储的计算机程序以实现:获取至少一个深度图像以及位于至少一个所述深度图像中的一参考像素点;确定与至少一个所述深度图像中的一参考像素点相对应的候选队列,所述候选队列中存储有至少一个所述深度图像中未被融合的待融合像素点;在所述候选队列中确定与至少一个所述深度图像中的一参考像素点相对应的融合队列,并将所述候选队列中的所述待融合像素点压入到所述融合队列,所述融合队列中存储有至少一个所述深度图像中的已被选择融合像素点;获取所述融合队列中的所述已被选择融合像素点的特征信息;根据所述已被选择融合像素点的特征信息确定融合后像素点的标准特征信息;根据所述融合后像素点的标准特征信息生成与至少一个所述深度图像相对应的融合点云。
本发明的第三方面是为了提供一种深度图像的融合装置,包括:
获取模块,用于获取至少一个深度图像以及位于至少一个所述深度图像中的一参考像素点;
确定模块,用于确定与至少一个所述深度图像中的一参考像素点相对应的候选队列,所述候选队列中存储有至少一个所述深度图像中未被融合的待融合像素点;
所述确定模块,还用于在所述候选队列中确定与至少一个所述深度图像中的一参考像素点相对应的融合队列,并将所述候选队列中的所述待融合像素点压入到所述融合队列,所述融合队列中存储有至少一个所述深度图像中的已被选择融合像素点;
所述获取模块,还用于获取所述融合队列中的所述已被选择融合像素点的特征信息;
处理模块,用于根据所述已被选择融合像素点的特征信息确定融合后像素点的标准特征信息;
生成模块,用于根据所述融合后像素点的标准特征信息生成与至少一个所述深度图像相对应的融合点云。
本发明的第四方面是为了提供一种计算机可读存储介质,该计算机可读存储介质中存储有程序指令,所述程序指令用于实现上述第一方面所述的深度图像的融合方法。
本发明提供的深度图像的融合方法、装置和计算机可读存储介质,通过获取融合队列中所有已被选择融合像素点的特征信息,实现了对深度图像中的逐个像素点进行融合;进一步根据所有已被选择融合像素点的特征信息确定融合后像素点的标准特征信息,从而可以根据融合后像素点的标准特征信息生成与至少一个深度图像相对应的融合点云,利用融合后像素点替代所有已被选择融合像素点生成点云数据,有效地减少了冗余的点云数据,同时可以保持场景中的各个细节部分,进一步保证了由深度图像合成点云数据的效率以及合成后点云数据的显示质量,提高了该方法的实用性,有利于市场的推广与应用。
附图说明
图1为本发明实施例提供的一种深度图像的融合方法的流程示意图;
图2为本发明实施例提供的确定与至少一个所述深度图像中的一参考像素点相对应的候选队列的流程示意图;
图3为本发明实施例提供的又一种深度图像的融合方法的流程示意图;
图4为本发明实施例提供的再一种深度图像的融合方法的流程示意图;
图5为本发明实施例提供的又一种深度图像的融合方法的流程示意图;
图6为本发明实施例提供的另一种深度图像的融合方法的流程示意图;
图7为本发明实施例提供的再一种深度图像的融合方法的流程示意图;
图8为本发明应用实施例提供的一种深度图像的融合方法的流程示意图;
图9为本发明应用实施例提供的重投影误差与法向量夹角之间的关系示意图;
图10为本发明实施例提供的一种深度图像的融合装置的结构示意图一;
图11为本发明实施例提供的一种深度图像的融合装置的结构示意图二。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
本发明中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A、同时存在A和B、单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
下面结合附图,对本发明的一些实施方式作详细说明。在各实施例之间不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
图1为本发明实施例提供的一种深度图像的融合方法的流程示意图;参考附图1所示,本实施例提供了一种深度图像的融合方法,用于减少冗余的点云,同时保持场景中的各个细节部分,保证深度图像的显示质量和效率,具体的,该方法包括:
S101:获取至少一个深度图像以及位于至少一个所述深度图像中的一参考像素点;
其中,深度图像可以通过多视点立体视觉multi-view stereo vison方法采集获得,或者,深度图像也可以通过结构光采集设备(例如:Microsoft Kinect)采集获得。当然的,本领域技术人员也可以采用其他的方式来获得深度图像,在此不再赘述。另外,参考像素点可以为深度图像中的任意一个像素点,该参考像素点可以为用户选择的像素点,或者,也可以为随机确定的像素点,具体的可以根据用户的需求进行设置并选择,在此不再赘述。
S102:确定与至少一个深度图像中的一参考像素点相对应的候选队列,候选队列中存储有至少一个深度图像中未被融合的待融合像素点;
S103:在候选队列中确定与至少一个深度图像中的一参考像素点相对应的融合队列,并将所述候选队列中的所述待融合像素点压入到所述融合队列,融合队列中存储有至少一个深度图像中的已被选择融合像素点;
具体的,由于对深度图像的融合是对深度图像中的逐个像素进行融合的过程,因此,为了便于实现对深度图像的融合,至少一个深度图像中的每个参考像素点均可对应有候选队列和融合队列,候选队列中存储深度图像中未被融合的待融合像素点,融合队列中存储深度图像中的已被选择融合像素点;在对深度图像中的未被融合的待融合像素点满足融合条件时,该待融合像素点会在候选队列中筛选出来,并压入到融合队列中。
另外,在将满足融合条件的待融合像素点压入到融合队列中时,此时的待融合像素点可以未被执行相应的融合操作;而是在候选队列中的所有待融合像素点均满足融合条件,并压入到融合队列中之后才可以执行相应的融合操作,也即在候选队列为空时,才开始对融合队列中的已被选择融合像素点进行融合计算,生成融合后的点云。需要说明的是,上述的候选队列为空可以只是指:与位于至少一个所述深度图像中的一参考像素点相对应的候选队列为空;或者也可以是指:与位于至少一个所述深度图像中的某些个参考像素点相对应的某些个候选队列为空;再或者也可以是指:与位于至少一个所述深度图像中的所有参考像素点相对应的所有候选队列为空。具体可以根据用户的设计需求进行选择或设置,在此不再说明。
S104:获取融合队列中的已被选择融合像素点的特征信息;
为了便于理解,下面以与某一个参考像素点相对应的候选队列和融合队列为例进行说明:在对深度图像进行融合的过程中,可以通过检测候选队列中的所有待融合像素点是否压入到融合队列中来检测深度图像是否完成融合,其中,本步骤中的压入操作与图像处理领域中的将像素点压入到堆栈中的压入操作相类似;当候选队列中的所有待融合像素点已压入到融合队列中时,可以获取到融合队列中所有已被选择融合像素点的特征信息。其中,特征信息可以包括坐标信息,此时,可以对融合队列中所有已被选择融合像素点的位置进行融合计算;或者,特征信息可以包括坐标信息和颜色信息,此时,可以对融合队列中所有已被选择融合像素点的位置和像素点颜色进行融合计算。当然的,本领域技术人员还可以根据具体的设计需求来设置特征信息的具体内容。
S105:根据所有已被选择融合像素点的特征信息确定融合后像素点的标准特征信息;
在特征信息包括坐标信息时,可以先获取所有已被选择融合像素点的坐标信息,根据所有已被选择融合像素点的坐标信息确定融合后像素点的标准坐标信息;其中,标准坐标信息可以为所有已被选择融合像素点的坐标信息的中间值;举例来说:所有已被选择融合像素点的三维坐标信息包括(x1,y1,z1)、(x2,y2,z2)、(x3,y3,z3),对上述的三维坐标信息中的x坐标、y坐标以及z坐标分别进行排序,x1<x3<x2,y2<y1<y3,z3<z2<z1;由上述排序可知,对于x坐标维度而言,x3为中间值,对于y坐标维度而言,y1为中间值,对于z坐标维度而言,z2为中间值,进而可以将(x3,y1,z2)确定为融合后像素点的标准坐标信息。当然的,本领域技术人员还可以采用其他的方式来实现根据所有已被选择融合像素点的坐标信息确定融合后像素点的标准坐标信息,例如:可以将所有已被选择融合像素点的坐标信息的平均值确定为融合后像素点的标准坐标信息等等。
在特征信息包括坐标信息和颜色信息时;根据所有已被选择融合像素点的特征信息确定融合后像素点的标准特征信息可以包括:
S1051:将所有已被选择融合像素点的坐标信息中的中间值确定为融合后像素点的标准坐标信息;
本步骤的具体实现过程与上述特征信息包括坐标信息的具体实现过程相类似,具体可参考上述陈述内容,在此不再赘述。
S1052:将所有已被选择融合像素点的颜色信息中的中间值确定为融合后像素点的标准颜色信息。
举例来说:所有已被选择融合像素点的颜色信息包括(r1,g1,b1)、(r2,g2,b2)、(r3,g3,b3),对上述的颜色信息中的红色信号r、绿色信号g以及蓝色信号b分别进行排序,r1<r2<r3,g2<g1<g3,b3<b2<b1;由上述排序可知,对于红色信号r维度而言,r2为中间值,对于绿色信号g维度而言,g1为中间值,对于蓝色信号b维度而言,b2为中间值,进而可以将(r2,g1,b2)确定为融合后像素点的标准颜色信息。当然的,本领域技术人员还可以采用其他的方式来确定为融合后像素点的标准颜色信息,例如:可以将所有已被选择融合像素点的颜色信息的平均值确定为融合后像素点的标准颜色信息等等。
S106:根据融合后像素点的标准特征信息生成与至少一个深度图像相对应的融合点云。
在获取到融合后像素点的标准特征信息之后,可以基于标准特征信息生成与至少一个深度图像相对应的融合点云数据,从而实现了深度图像的融合过程。
本实施例提供的深度图像的融合方法,通过获取融合队列中所有已被选择融合像素点的特征信息,实现了对深度图像中的逐个像素点进行融合;进一步根据所有已被选择融合像素点的特征信息确定融合后像素点的标准特征信息,从而可以根据融合后像素点的标准特征信息生成与至少一个深度图像相对应的融合点云,利用融合后像素点替代所有已被选择融合像素点生成点云数据,有效地减少了冗余的点云数据,同时可以保持场景中的各个细节部分,进一步保证了由深度图像合成点云数据的效率以及合成后点云数据的显示质量,提高了该方法的实用性,有利于市场的推广与应用。
图2为本发明实施例提供的确定与至少一个所述深度图像中的一参考像素点相对应的候选队列的流程示意图;进一步的,参考附图2可知,本实施例中的确定与至少一个所述深度图像中的一参考像素点相对应的候选队列可以包括:
S201:在至少一个深度图像中确定一参考深度图以及位于参考深度图中的一参考像素点;
其中,参考深度图可以为至少一个深度图像中的任意一个深度图像,具体的,参考深度图可以为用户选择的深度图像,或者,也可以为随机确定的深度图像。同理的,参考像素点可以为参考深度图中的任意一个像素点,该参考像素点可以为用户选择的像素点,或者,也可以为随机确定的像素点。
S202:获取与参考深度图相对应的至少一个邻近深度图像;
在确定参考深度图之后,可以对参考深度图与其他深度图像的关联程度(例如:共同覆盖范围等)进行分析处理,从而可以获取与参考深度图相对应的至少一个邻近深度图像;举例来说:在参考深度图像与一深度图像的关联程度大于或等于预设的关联阈值时,则确定参考深度图像与该深度图像互为邻近图像,此时,上述的深度图像即为与参考深度图像相对应的邻近深度图像。可以理解的是,参考深度图所对应的邻近深度图像可以为一个或多个。
S203:根据参考像素点和至少一个邻近深度图像确定用于压入候选队列中的待融合像素点以及与所述参考像素点相对应的候选队列。
在获取到参考像素点之后,可以利用参考像素点与候选队列之间的映射关系确定与参考像素点相对应的候选队列。或者,也可以获取参考像素点位于所在的参考深度图像中的位置信息,根据位置信息来确定与该参考像素点相对应的候选队列。当然的,本领域技术人员还可以采用其他方式实现候选队列的确定,只要能够保证与参考像素点相对应的候选队列确定的稳定可靠性即可,在此不再赘述。
另外,在确定用于压入候选队列中的待融合像素点时,本实施例中的根据参考像素点和至少一个邻近深度图像确定用于压入候选队列中的待融合像素点可以包括:
S2031:将参考像素点投影到至少一个邻近深度图像上,获得至少一个第一投影像素点;
其中,将参考像素点投影到至少一个邻近深度图像上可以包括:
S20311:计算参考像素点对应的参考三维点;
具体地,确定参考像素点所在的深度图像为参考深度图像,并获取与参考深度图像相对应的在世界坐标系下的摄像位姿信息。其中,世界坐标系下的摄像位姿信息可以包括坐标信息、旋转角度等等;在获取到摄像位姿信息之后,可以对摄像位姿信息分析处理,根据分析处理后的摄像位姿信息确定参考像素点在世界坐标系下的参考三维点。
S20312:将参考三维点投射到至少一个邻近深度图像上,获得至少一个第一投影像素点。
S2032:根据至少一个第一投影像素点检测至少一个邻近深度图像中的邻近像素点;
在获得第一投影像素点之后,可以对第一投影像素点进行分析处理,以检测出至少一个邻近深度图像中的邻近像素点,具体的,根据至少一个第一投影像素点检测至少一个邻近深度图像中的邻近像素点可以包括:
S20321:根据至少一个第一投影像素点获取至少一个邻近深度图像中未被融合的像素点;
S20322:根据至少一个邻近深度图像中未被融合的像素点确定至少一个邻近深度图像中的邻近像素点。
具体的,根据至少一个邻近深度图像中未被融合的像素点确定至少一个邻近深度图像中的邻近像素点可以包括:
S203221:获取与至少一个邻近深度图像中未被融合的像素点相对应的遍历层级;
其中,每个像素点的遍历层级是指与该像素点进行融合的深度图像的个数;举例来说,当一未被融合的像素点相对应的遍历层级为3时,则说明该像素点与3个深度图像进行了融合。
S203222:将遍历层级小于预设遍历层级的未被融合的像素点确定为邻近像素点。
其中,预设遍历层级为预先设置的遍历层级阈值,该预设遍历层级表示每个像素点最多可以与多少张深度图像进行融合,当预设遍历层级越大时,则点云的融合粒度就越大,进而深度图像中剩下的点数目就会越小。
S2033:将第一投影像素点和邻近像素点确定为待融合像素点,并压入到候选队列。
在确定第一投影像素点和邻近像素点之后,可以将第一投影像素点和邻近像素点确定为待融合像素点,进而可以将所确定的待融合像素点压入到候选队列中。
在将第一投影像素点和邻近像素点确定为待融合像素点,并压入到候选队列之后,为了能够准确地获取每个像素点的遍历层级,方法还包括:
S301:将被压入到候选队列的像素点的遍历层级加1。
图3为本发明实施例提供的又一种深度图像的融合方法的流程示意图,在上述实施例的基础上,继续参考附图3可知,在获取与参考深度图相对应的至少一个邻近深度图像之前,本实施例中的方法还包括:
S401:获取参考深度图像与其他深度图像之间存在的至少一个共同点云覆盖范围;
其中,本步骤的其他深度图像为上述实施例中的至少一个深度图像的一部分,具体的,上述实施例步骤中的至少一个深度图像包括参考深度图像和其他深度图像,也即,该步骤中的其他深度图像为至少一个深度图像中除了参考深度图像之外的所有深度图像。
另外,在获取至少一个共同点云覆盖范围时,可以计算参考深度图像的点云分布范围和其他深度图像的点云分布范围,根据参考深度图像的点云分布范围和其他深度图像的点云分布范围确定参考深度图像与其他深度图像的共同的点云覆盖范围,该共同的点云覆盖范围中的点云数据既位于参考深度图像中,也位于共同的点云覆盖范围所对应的另一个深度图像中。并且,参考深度图像与其他深度图像之间中的任意一个深度图像之间可以存在一个或多个共同点云覆盖范围。当然的,本领域技术人员还可以采用其他的方式来获取参考深度图像与其他深度图像之间存在的至少一个共同点云覆盖范围;只要能够保证共同点云覆盖范围确定的稳定可靠性即可,在此不再赘述。
S402:在参考深度图像与其他深度图像中的一深度图像之间存在的至少一个共同点云覆盖范围大于或等于预设的覆盖阈值范围时,则确定其他深度图像中的一深度图像为参考深度图像的第一邻近候选图。
在获得参考深度图像与一深度图像之间存在的至少一个共同点云覆盖范围之后,可以将共同点云覆盖范围与预设的覆盖阈值范围进行比较,在至少一个共同点云覆盖范围大于或等于预设的覆盖阈值范围时,则确定其他深度图像中的一深度图像为参考深度图像的第一邻近候选图,该第一邻近候选图用于确定与参考深度图相对应的邻近深度图像。需要说明的是,第一邻近候选图的个数可以为一个或多个。
进一步的,在确定第一邻近候选图之后,获取与参考深度图相对应的至少一个邻近深度图像可以包括:
S2021:在第一邻近候选图中确定第一目标邻近候选图,第一目标邻近候选图与参考深度图像之间的共同点云覆盖范围大于或等于预设的覆盖阈值范围;
在获取到第一邻近候选图之后,可以获取到第一邻近候选图与参考深度图像之间的共同点云覆盖范围,在获取到共同点云覆盖范围之后,可以将共同点云覆盖范围与预设的覆盖阈值范围进行分析比较,当一第一邻近候选图与参考深度图像之间的共同点云覆盖范围大于或等于预设的覆盖阈值范围时,则可以确定该第一邻近候选图为第一目标邻近候选图,通过上述方式,可以在第一邻近候选图中确定至少一个第一目标邻近候选图。
S2022:将第一目标邻近候选图按照与参考深度图像之间的共同点云覆盖范围的大小进行排序;
具体的,可以按照共同点云覆盖范围的大小进行降序排序,举例来说:存在三个第一目标邻近候选图P1、P2和P3,上述三个第一目标邻近候选图与参考深度图像之间的共同点云覆盖范围分别为:F1、F2和F3,F1、F2和F3的大小顺序为:F1<F3<F2,此时,则可以按照共同点云覆盖范围的大小进行排序,即第一位为F2所对应的第一目标邻近候选图P2,第二位为F3所对应的第一目标邻近候选图P3,第三位为F1所对应的第一目标邻近候选图P1。
S2023:根据预设的最大邻近图像个数在经过排序后的第一目标邻近候选图中确定与参考深度图相对应的至少一个邻近深度图像。
其中,最大邻近图像个数为预先设置的,该最大邻近图像个数用于限制邻近深度图像的个数;举例来说,当存在三个第一目标邻近候选图P1、P2和P3时,而最大邻近图像个数为2个,进而可以在经过排序后的三个第一目标邻近候选图中选择排序靠前的2个或者1个第一目标邻近候选图,所选择的2个或者1个第一目标邻近候选图确定为邻近深度图像,此时,邻近深度图像个数可以为2个或者1个。
本实施例中,通过获取参考深度图像与其他深度图像之间存在的至少一个共同点云覆盖范围,通过共同点云覆盖范围确定第一邻近候选图,进一步在第一邻近候选图中确定与参考深度图相对应的至少一个邻近深度图像,实现方式简单,提高了邻近深度图像获取的效率。
图4为本发明实施例提供的再一种深度图像的融合方法的流程示意图;参考附图4可知,在获取与参考深度图相对应的至少一个邻近深度图像之前,本实施例中的方法还包括:
S501:获取与参考深度图像相对应的参考中心坐标和与其他深度图像相对应的至少一个中心坐标;
其中,参考中心坐标可以为图像中心坐标、相机中心坐标、或者依据图像中心坐标和/或相机中心坐标所确定的目标坐标。同理的,中心坐标也可以为图像中心坐标、相机中心坐标、或者依据图像中心坐标和/或相机中心坐标所确定的目标坐标。需要说明的是,上述的相机中心坐标可以为:在利用摄像装置拍摄深度图像时、摄像装置的重心点或者中心点投影至深度图像上的坐标信息。
S502:根据参考中心坐标和其他深度图像中的至少一个中心坐标确定与参考深度图相对应的第二邻近候选图。
在获取到参考中心坐标和其他深度图像中的至少一个中心坐标之后,可以对参考中心坐标和至少一个中心坐标进行分析处理,以根据分析处理结果确定第二邻近候选图,该第二邻近候选图用于确定与参考深度图相对应的邻近深度图像。具体的,根据参考中心坐标和其他深度图像中的至少一个中心坐标确定与参考深度图相对应的第二邻近候选图可以包括:
S5021:获取至少一个三维像素点,三维像素点位于参考深度图像与其他深度图像中的一深度图像之间存在的共同点云覆盖范围内;
具体的,获取至少一个三维像素点可以包括:
S50211:获取与参考深度图像相对应的世界坐标系下的第一摄像位姿信息和与其他深度图像中的一深度图像相对应的世界坐标系下的第二摄像位姿信息;
具体地,世界坐标系下的第一摄像位姿信息和第二摄像位姿信息可以包括世界坐标系下的坐标信息、旋转角度等等。
S50212:根据世界坐标系下的第一摄像位姿信息和第二摄像位姿信息确定至少一个三维像素点。
在获取到世界坐标系下的第一摄像位姿信息和第二摄像位姿信息之后,可以对世界坐标系下的第一摄像位姿信息和第二摄像位姿信息分析处理,从而可以确定位于参考深度图像与其他深度图像中的一深度图像之间存在的共同点云覆盖范围内的至少一个世界坐标系下的三维像素点。
S5022:根据参考中心坐标与三维像素点确定第一射线;
将参考中心坐标与所确定的三维像素点连接,即可确定第一射线。
S5023:根据至少一个中心坐标与三维像素点确定至少一个第二射线;
将中心坐标与三维像素点进行连接,即可确定第二射线,由于中心坐标为至少一个,因此,所获取的第二射线的个数也是至少一个。
S5024:获取第一射线与至少一个第二射线之间所形成的至少一个夹角;
在获取到第一射线与第二射线之后,可以获取到第一射线与第二射线之间所形成的夹角,由于第二射线的个数为至少一个,因此,所形成的夹角个数也是至少一个。
S5025:根据至少一个夹角确定与参考深度图相对应的第二邻近候选图。
具体的,根据至少一个夹角确定与参考深度图相对应的第二邻近候选图可以包括:
S50251:在至少一个夹角中获取角度最小的目标夹角;
将所获取的至少一个夹角进行排序,从而可以获得在至少一个夹角中角度最小的目标夹角。
S50252:在目标夹角大于或等于预设的角度阈值时,则确定目标夹角相对应的深度图像为与参考深度图相对应的第二邻近候选图。
在确定目标夹角相对应的深度图像为与参考深度图相对应的第二邻近候选图之后,可以对所获取的第二邻近候选图进行分析处理,以确定与参考深度图相对应的至少一个邻近深度图像,具体的,获取与参考深度图相对应的至少一个邻近深度图像,包括:
S2024:在第一邻近候选图和第二邻近候选图中确定第二目标邻近候选图,第二目标邻近候选图与参考深度图像之间的共同点云覆盖范围大于或等于预设的覆盖阈值范围,且与第二目标邻近候选图相对应的目标夹角大于或等于预设的角度阈值;
S2025:将第二目标邻近候选图按照与参考深度图像之间的共同点云覆盖范围的大小进行排序;
S2026:根据预设的最大邻近图像个数在经过排序后的第二目标邻近候选图中确定与参考深度图相对应的至少一个邻近深度图像。
本实施例中步骤S2025和S2026的具体实现方式和实现效果与上述实施例中步骤S2022和S2023的具体实现方式和实现效果相类似,具体可参考上述陈述内容,在此不再赘述。
本实施例中,通过第一邻近候选图和第二邻近候选图来确定与参考深度图相对应的至少一个邻近深度图像,有效地保证了邻近深度图像确定的准确性,进一步提高了该方法使用的精确程度。
图5为本发明实施例提供的又一种深度图像的融合方法的流程示意图,参考附图5所示,本实施例中的方法还包括:
S601:检测候选队列中的待融合像素点是否已全部压入到融合队列中;
具体的,可以检测候选队列中是否还存在待融合像素点,若候选队列中不存在待融合像素点,则说明候选队列中的待融合像素点已全部压入到融合队列中;若候选队列中存在待融合像素点,则说明候选队列中的待融合像素点未全部压入到融合队列中。
S602:在候选队列中的待融合像素点未全部压入到融合队列中时,检测候选队列中的待融合像素点是否满足预设的融合条件;
其中,对候选队列中的待融合像素点与预设的融合条件进行比较,以判断待融合像素点是否可与参考像素点进行融合。进一步地,预设的融合条件可以与以下至少一个参数相关:深度值误差、法向量夹角、重投影误差和遍历层级,在检测候选队列中的待融合像素点是否满足预设的融合条件时,可以通过对待融合像素点的上述至少一个参数的分析处理结果来判断。
S603:在待融合像素点满足融合条件时,将待融合像素点压入到融合队列中;
在候选队列中的待融合像素点满足预设的融合条件时,则可以将满足预设的融合条件的待融合像素点标记为已被选择融合像素点,并且可以将已被选择融合像素点压入到融合队列中,以实现对深度图像中的参考像素点与已被选择融合像素点的融合过程。进一步地,在一种实施例中,可以将参考像素点一并压入到融合队列中,与融合队列中的已被选择融合像素点进行融合。
S604:在所述参考像素点的所述候选队列中的所述待融合像素点已全部压入到所述融合队列中后,对至少一个深度图像中的其他参考像素点是否满足融合条件进行迭代检测处理。
需要注意的是,由于每个参考像素点均对应有一候选队列和融合队列,因此,对于与参考像素点相对应的候选队列和融合队列而言,该方法还可以包括:在候选队列中包括不满足融合条件的待融合像素点时,选取出候选队列中不满足融合条件的待融合像素点,并将该待融合像素点从候选队列中剔除,从而完成该参考像素点的融合状态的检测过程,以便可以对下一个参考像素点的融合状态进行检测判断;或者,在所述参考像素点的所述候选队列中的所述待融合像素点已全部压入到所述融合队列中后,也可以对至少一个深度图像中的其他参考像素点是否满足融合条件进行迭代检测处理,直至对深度图像中的所有参考像素点是否满足融合条件检测完毕为止,从而实现了对深度图像是否可以进行融合操作的检测判断。其中,本步骤中对其他参考像素点是否满足融合条件进行迭代检测处理的实现过程与上述对一参考像素点的检测处理的实现过程相类似,再次不再赘述。
进一步的,由于预设的融合条件可以与以下至少一个参数相关:深度值误差、法向量夹角、重投影误差和遍历层级;因此,在检测候选队列中的待融合像素点是否满足预设的融合条件之前,方法还包括:
S701:获取待融合像素点与参考深度图中的参考像素点的深度值误差;和/或,
其中,待融合像素点所对应的三维点的z值(深度值)与参考像素点的z值之间的误差为深度值误差;具体的,可以先获取待融合像素点的深度像素所对应的第一灰度值与参考像素点的深度像素所对应的第二灰度值,进而可以将第一灰度值与第二灰度值的差值确定为深度值误差。
S702:获取待融合像素点与参考深度图中的参考像素点的法向量夹角;和/或,
其中,待融合像素点所对应的三维点的法向量与参考像素点的法向量之间的夹角为法向量夹角。
S703:获取待融合像素点的第二投影像素与参考深度图中的参考像素点的重投影误差;和/或,
其中,待融合像素点所对应的三维点投影到参考像素点所在的摄像平面上的像素值与参考像素点的像素值的距离差值为重投影误差。
S704:获取待融合像素点的遍历层级。
另外,在获取待融合像素点的第二投影像素与参考深度图中的参考像素点的重投影误差之前,方法还包括:
S801:将待融合像素点投影到参考深度图上,获得与待融合像素点相对应的第二投影像素。
图6为本发明实施例提供的另一种深度图像的融合方法的流程示意图;进一步的,参考附图6可知,在获取待融合像素点的第二投影像素与参考深度图中的参考像素点的重投影误差之后,方法还包括:
S901:获取候选队列里所有的待融合像素点之间的元素差异信息;
其中,元素差异信息包括以下至少之一:向量夹角的差异信息、法向量夹角的差异信息、颜色的差异信息、曲率的差异信息、纹理的差异信息。
S902:根据元素差异信息确定第二投影像素与参考像素点之间的最大重投影误差。
在元素差异信息为颜色的差异信息时,可以根据颜色的差异信息来确定第二投影像素与参考像素点之间的最大重投影误差;具体地,可以通过计算颜色方差来判断颜色的差异信息,当颜色方差越小,表明第二投影像素与参考像素点之间的融合概率越大,相应的最大重投影误差也可以越大,以加强融合力度。
在元素差异信息为曲率的差异信息时,可以根据曲率的差异信息来确定第二投影像素与参考像素点之间的最大重投影误差;具体地,当曲率的差异信息小于预设的曲率差异阈值时,例如:当预设的曲率差异阈值为0时,可以认为该区域为平面区域,此时,最大重投影误差也可以越大,以加强融合力度。
在元素差异信息为纹理的差异信息时,可以根据纹理的差异信息来确定第二投影像素与参考像素点之间的最大重投影误差;具体地,当纹理的差异信息小于预设的纹理差异阈值时,表明第二投影像素与参考像素点之间的融合概率越大,相应的最大重投影误差也可以越大,以加强融合力度。
在元素差异信息包括向量夹角的差异信息时,根据元素差异信息确定第二投影像素与参考像素点之间的最大重投影误差可以包括:
S9021:计算候选队列里所有的待融合像素点之间的向量夹角;
S9022:在所有向量夹角中确定一最大向量夹角;
S9023:在最大向量夹角小于或等于预设的最大向量夹角阈值时,则确定最大重投影误差为预设的第一最大重投影误差;或者,
S9024:在最大向量夹角大于预设的最大向量夹角阈值时,则确定最大重投影误差为预设的第二最大重投影误差,其中,第二最大重投影误差小于第一最大重投影误差。
举例来说:候选队列里所有的待融合像素点之间的向量夹角分别为a1、a2、a3、a4,在所有向量夹角中确定一最大向量夹角为a3,在获取到最大向量夹角a3之后,可以将最大向量夹角a3与预设的最大向量夹角阈值A进行比较,若a3<A时,则确定最大重投影误差为第一最大重投影误差M1;若a3>A时,则确定最大重投影误差为第二最大重投影误差M2,其中,M2<M1。
进一步的,在获取到深度值误差、法向量夹角、重投影误差和遍历层级之后,可以检测候选队列中的待融合像素点是否满足预设的融合条件,具体的,包括:
S6021:检测深度值误差是否小于或等于预设的最大深度阈值、法向量夹角是否小于或等于预设的最大夹角阈值、重投影误差是否小于最大重投影误差、以及,遍历层级是否小于或等于预设的最大遍历层级;
需要说明的是,最大重投影误差为上述所确定的第一最大重投影误差或者第二最大重投影误差。
S6022:在深度值误差小于或等于预设的最大深度阈值,法向量夹角小于或等于预设的最大夹角阈值,重投影误差小于最大重投影误差,并且,遍历层级小于或等于预设的最大遍历层级时,则确定候选队列中的待融合像素点满足预设的融合条件。
在上述各个参数满足相应的条件时,则可以确定候选队列中的待融合像素点满足预设的融合条件;在上述各个参数未满足相应的条件时,则可以确定候选队列中的待融合像素点不满足预设的融合条件;从而有效地保证了检测候选队列中的待融合像素点是否满足预设的融合条件的准确可靠性,进一步提高了该方法使用的精确程度。进一步地,在一种实施例中,对于每个参考像素点,各设置有候选队列和融合队列。当选择的至少一个深度图像中的参考像素点计算完成之后,重复步骤S201-S203,直至所有深度图像中的所有像素均被融合,并将所有融合后的像素点输出,形成新的融合点云图像。例如,可以对参考像素点的融合队列中的已被选择融合像素点直接进行融合,得到参考像素点的融合点云;再对下一参考像素点进行计算融合,直至对所有深度图像中的所有像素都进行计算融合;也可以在确定所有深度图像中的所有像素的融合队列中的已被选择融合像素点后,一起进行融合,如此,进一步保证了由深度图像合成点云数据的效率以及合成后点云数据的显示质量。
图7为本发明实施例提供的再一种深度图像的融合方法的流程示意图;进一步的,参考附图7所示,在确定与至少一个深度图像相对应的候选队列和融合队列之前,方法还包括:
S1001:清空候选队列和融合队列;
S1002:标记所有像素点为未融合像素点,并且所有像素点的遍历层级为零。
在对深度图像进行融合时,需要基于深度图像所对应的候选队列和融合队列对深度图像进行融合分析处理,因此,在对深度图像进行融合处理之前,可以清空候选队列和融合队列,并标记所有像素点为未融合像素点,并且所有像素点的遍历层级为零,以便于基于候选队列和融合队列对深度图像中的像素点进行融合处理。
图8为本发明应用实施例提供的一种深度图像的融合方法的流程示意图;参考附图8所示,本应用实施例提供了一种深度图像的融合方法,在具体应用时,可以预先设置以下参数:每个像素的最大遍历层级为max_traversal_depth,三维点的最大深度阈值为max_depth_error,三维点最大夹角阈值为max_normal_error。平面扩展融合判定的参数包括:最大向量夹角阈值为max_normal_error_extend,像素对应三维点的第一最大重投影像素误差为max_reproj_error_extend,像素对应三维点的第二最大重投影像素误差为max_reproj_error,其中,第一最大重投影像素误差max_reproj_error_extend大于第二最大重投影像素误差max_reproj_error。
具体的,深度图像的融合方法可以包括以下步骤:
S1:获取预先准备好的所有深度图像。
S2:计算每张深度图像的邻近深度图,由于每张深度图像所对应的邻近深度图的个数是有限的,进而可以将每张深度图像的最大邻近图片数设为max_neighbor。进一步的,判断两张深度图像是否互为邻近深度图的方法如下:
a、计算每张深度图像的点云分布范围,计算这两张深度图像的共同的点云覆盖范围,若共同覆盖范围超过覆盖阈值范围region_threshold,则互相作为邻近深度图的邻近候选图。
b、计算每张深度图像对应的参考中心坐标,同时连接参考中心点到某一个共同覆盖区域内的三维点,计算这两条射线之间的夹角。重复计算这两个参考中心坐标与所有共同覆盖三维点组成的两射线的夹角。取所有这些夹角中最小的作为两张深度图像对应的目标夹角,若目标夹角大于角度阈值angle_threshold,则互相作为邻近深度图的邻近候选图。
c、对于每张深度图像,找出其所有满足共同覆盖区域大于region_threshold,且对应目标夹角大于angle_threshold的深度图像,并对这些邻近深度图按共同覆盖区域大小进行降序排列,取出前max_neighbor张图(若有)作为该张深度图像的邻近深度图。
S3:标记所有深度图像的所有像素为未被融合状态,所有像素的遍历深度为0,清空深度图像所对应的候选队列和融合队列。
S4:对每一个还未被融合的像素,将其设为当前参考像素,并进行如下操作:
a、计算该参考像素所对应的三维点坐标,并将该点作为参考像素点,将该参考像素点压入融合队列。确定该像素所在的深度图像,将其为参考深度图。
b、找出参考深度图的所有邻近深度图,将当前参考像素点投射到所有的邻近深度图上,得到在每张邻近深度图上投影的像素,将这些像素以及其周围8邻域的像素中所有未被融合且遍历层级小于max_traversal_depth的像素压入候选队列,所有被压入像素遍历层级加1.
c、取出候选队列中的一个未被融合的待融合像素点,判断待融合像素点对应的三维点的如下信息:
(I)该三维点与参考像素点的深度值误差是否在预设的max_depth_error之内;
(II)该三维点法向量与参考像素点的法向量夹角是否在预设的max_normal_error之内;
(III)该三维点的遍历层级是否小于等于max_traversal_depth;
(IV)该三维点投射到参考深度图上,计算其投影像素与当前参考像素点的误差,并进行平面扩展融合检测:
其中,进行平面拓展融合检测时,可以检测融合队列中的待融合像素点之间最大向量夹角是否在max_normal_error_extend之内;具体的,包括以下步骤:
(1)计算所有融合队列里的三维点之间的向量夹角;
(2)如果上述最大夹角在max_normal_error_extend之内,则最大重投影像素误差设为max_reproj_error_extend,否则,最大重投影像素误差设为max_reproj_error。
检测投影像素与当前参考像素的误差是否小于最大重投影误差。
当然的,针对平面拓展融合检测方法,除了通过上述检测融合队列中点之间最大向量夹角是否在max_normal_error_extend之内的方法外,也可以通过对深度图对应的彩色图进行图像处理(比如机器学习,语义分割等),找到场景中所有的平面区域,再将所有分布在这些平面区域的三维点重投影像素误差直接设为max_reproj_error_extend即可。下面对拓展的平面检测进行数学上的描述:
假设共有n种元素可以影响平面一致性的判断,比如待判定区域内点云的法向量夹角、曲率、颜色(纹理)一致性程度、语义一致性等。设这i种元素记为p
i,元素p
i的差异性记为
那么可以用如下表达式来设置重投影像素误差的大小:
其中,max_pi表示元素pi的最大取值范围,max_reproj_error表示可接受的最大重投影像素误差。根据上式计算重投影误差reproj_error,其值越大,表示平面拓展的范围越广,点云融合程度越大。元素pi的差异性具体度量方式有多种选择,只要符合实际即可,也即元素越相近,其差异性度量函数值越小。
下面以元素为颜色(rgb)来举例说明差异性度量的计算方式。两个深度图像之间的颜色间的差异性可以设为:
或者,也可以设为:
difference=|r1-r2|+|g1-g2|+|b1-b2|
上述两个深度图像之间的颜色差异度量方式均满足颜色越接近,差异性值越小的规则。所以,对任何一种可度量的元素,其差异性度量方式可以有多种,只要满足越相近或相似差异性值越小即可。
下面结合附图9对上式进行细致的分析,图9展示了上式中n=1,元素p为待判定区域内点云法向量夹角时重投影像素误差设置方式。图中直接用法向量夹角大小表示法向量间的差异,该图直观的表明了当待判定区域内点云夹角越大越大时,重投影误差值越小,因为法向量夹角大,表明法向量方差大,表明法向量变化大,表明该区域为平面的概率低,因此,应不做大平面拓展融合。
对于其他元素,分析方式与上述过程一致,比如当判定元素为颜色(纹理)一致性的时候,当待判定区域内点云颜色越相似,其颜色方差越小,表明越可能来自同一几何性质相似区域,因此可以加大该区域的拓展,即将重投影像素误差设置的越大。当判定元素为曲率的时候,待判定区域内曲率都很小,且接近于0的时候,就可以认为该区域为平面区域,可以将重投影像素误差增大。可以理解,上述平面拓展融合检测方法仅为示例性说明,可以使用任何合适的计算方法来进行平面拓展融合检测,在此本实施例不作限定。d、如果上述步骤c中的条件(I)-(IV)均满足的话,将该候选像素对应三维点压入融合队列,并将该像素设为已被融合状态。对该候选像素进行步骤S4中a、b两步操作。
e、重复上述a、b、c、d四个步骤,直到候选队列为空。
f、计算融合队列中所有三维点的x、y、z坐标的中值以及所有点对应颜色的r、g、b中值,将这些值设为新融合点的三维坐标和其对应颜色。
S5、重复步骤S4,直到所有像素均被融合。
S6、输出所有新生成的融合点,并生成融合点云。
本技术方案综合考虑了深度误差、重投影误差、向量夹角以及曲率信息来对整个场景进行深度图点云融合;并且,将经过本方法对深度图像进行融合处理后所获取的融合后图像与采用现有技术中的方法获取的融合后图像的分析比较可知,通过本方法所得到的融合后图像的点云数量大大减少,并且,得到的点云数据也完整的展现了整个场景,平面区域用了较少的三维点表示,地形起伏变化大的区域用了较多的点云来展示细节,保持对深度图像中的各个细节部分的显示效果,另外,通过本方法所获取到的融合后图像,点云噪声数据明显降低,进一步保证了由深度图像合成点云数据的效率以及合成后点云数据的显示质量,保证了该融合方法的实用性,有利于市场的推广与应用。
可以理解,也可以仅考虑深度误差、重投影误差、向量夹角以及曲率信息中的一个或多个来对整个场景进行深度图点云融合,或者其他合适的方法来进行深度图点云融合;同样地,也可以采用其他合适的计算方法来获得新融合点的三维坐标和其对应颜色,本实施例仅为示例性说明,在此不作限定。
图10为本发明实施例提供的一种深度图像的融合装置的结构示意图一;参考附图10所示,本实施例提供了一种深度图像的融合装置,该融合装置可以执行上述的融合方法,具体的,该装置可以包括:
存储器301,用于存储计算机程序;
处理器302,用于运行存储器301中存储的计算机程序以实现:获取至少一个深度图像以及位于至少一个所述深度图像中的一参考像素点;确定与至少一个深度图像中的一参考像素点相对应的候选队列,候选队列中存储有至少一个深度图像中未被融合的待融合像素点;在所述候选队列中确定与至少一个所述深度图像中的一参考像素点相对应的融合队列,并将所述候选队列中的所述待融合像素点压入到所述融合队列,融合队列中存储有至少一个深度图像中的已被选择融合像素点;获取融合队列中的已被选择融合像素点的特征信息;根据已被选择融合像素点的特征信息确定融合后像素点的标准特征信息;根据融合后像素点的标准特征信息生成与至少一个深度图像相对应的融合点云。
进一步的,在处理器302确定与至少一个所述深度图像中的一参考像素点相对应的候选队列时,处理器302还用于:
在至少一个深度图像中确定一参考深度图以及位于参考深度图中的一参考像素点;
获取与参考深度图相对应的至少一个邻近深度图像;
根据参考像素点和至少一个邻近深度图像确定用于压入候选队列中的待融合像素点以及与所述参考像素点相对应的候选队列。
其中,在处理器302根据参考像素点和至少一个邻近深度图像确定用于压入候选队列中的待融合像素点时,处理器302用于:
将参考像素点投影到至少一个邻近深度图像上,获得至少一个第一投影像素点;
根据至少一个第一投影像素点检测至少一个邻近深度图像中的邻近像素点;
将第一投影像素点和邻近像素点确定为待融合像素点,并压入到候选队列。
具体的,在处理器302根据至少一个第一投影像素点检测至少一个邻近深度图像中的邻近像素点时,处理器302用于:
根据至少一个第一投影像素点获取至少一个邻近深度图像中未被融合的像素点;
根据至少一个邻近深度图像中未被融合的像素点确定至少一个邻近深度图像中的邻近像素点。
进一步的,在处理器302根据至少一个邻近深度图像中未被融合的像素点确定至少一个邻近深度图像中的邻近像素点时,处理器302用于:
获取与至少一个邻近深度图像中未被融合的像素点相对应的遍历层级;
将遍历层级小于预设遍历层级的未被融合的像素点确定为邻近像素点。
进一步的,在将第一投影像素点和邻近像素点确定为待融合像素点,并压入到候选队列之后,处理器302还用于:
将被压入到候选队列的像素点的遍历层级加1。
此外,在获取与参考深度图相对应的至少一个邻近深度图像之前,处理器302还用于:
获取参考深度图像与其他深度图像之间存在的至少一个共同点云覆盖范围;
在参考深度图像与其他深度图像中的一深度图像之间存在的至少一个共同点云覆盖范围大于或等于预设的覆盖阈值范围时,则确定其他深度图像中的一深度图像为参考深度图像的第一邻近候选图。
其中,在处理器302获取与参考深度图相对应的至少一个邻近深度图像时,处理器302用于:
在第一邻近候选图中确定第一目标邻近候选图,第一目标邻近候选图与参考深度图像之间的共同点云覆盖范围大于或等于预设的覆盖阈值范围;
将第一目标邻近候选图按照与参考深度图像之间的共同点云覆盖范围的大小进行排序;
根据预设的最大邻近图像个数在经过排序后的第一目标邻近候选图中确定与参考深度图相对应的至少一个邻近深度图像。
另外,在获取与参考深度图相对应的至少一个邻近深度图像之前,处理器302用于:
获取与参考深度图像相对应的参考中心坐标和与其他深度图像相对应的至少一个中心坐标;
根据参考中心坐标和其他深度图像中的至少一个中心坐标确定与参考深度图相对应的第二邻近候选图。
进一步的,在处理器302根据参考中心坐标和其他深度图像中的至少一个中心坐标确定与参考深度图相对应的第二邻近候选图时,处理器302用于:
获取至少一个三维像素点,三维像素点位于参考深度图像与其他深度图像中的一深度图像之间存在的共同点云覆盖范围内;
根据参考中心坐标与三维像素点确定第一射线;
根据至少一个中心坐标与三维像素点确定至少一个第二射线;
获取第一射线与至少一个第二射线之间所形成的至少一个夹角;
根据至少一个夹角确定与参考深度图相对应的第二邻近候选图。
其中,在处理器302获取至少一个三维像素点时,处理器302用于:
获取与参考深度图像相对应的世界坐标系下的第一摄像位姿信息和与其他深度图像中的一深度图像相对应的世界坐标系下的第二摄像位姿信息;
根据世界坐标系下的第一摄像位姿信息和第二摄像位姿信息确定至少一个三维像素点。
进一步的,在处理器302根据至少一个夹角确定与参考深度图相对应的第二邻近候选图时,处理器302用于:
在至少一个夹角中获取角度最小的目标夹角;
在目标夹角大于或等于预设的角度阈值时,则确定目标夹角相对应的深度图像为与参考深度图相对应的第二邻近候选图。
进一步的,在处理器302获取与参考深度图相对应的至少一个邻近深度图像时,处理器302用于:
在第一邻近候选图和第二邻近候选图中确定第二目标邻近候选图,第二目标邻近候选图与参考深度图像之间的共同点云覆盖范围大于或等于预设的覆盖阈值范围,且与第二目标邻近候选图相对应的目标夹角大于或等于预设的角度阈值;
将第二目标邻近候选图按照与参考深度图像之间的共同点云覆盖范围的大小进行排序;
根据预设的最大邻近图像个数在经过排序后的第二目标邻近候选图中确定与参考深度图相对应的至少一个邻近深度图像。
进一步的,处理器302还用于:
检测候选队列中的待融合像素点是否已全部压入到融合队列中;
在候选队列中的待融合像素点未全部压入到融合队列中时,检测候选队列中的待融合像素点是否满足预设的融合条件;
在待融合像素点满足融合条件时,将待融合像素点压入到融合队列中;
在所述参考像素点的所述候选队列中的所述待融合像素点已全部压入到所述融合队列中后,对至少一个深度图像中的其他参考像素点是否满足融合条件进行迭代检测处理。
进一步的,在检测候选队列中的待融合像素点是否满足预设的融合条件之前,处理器302还用于:
获取待融合像素点与参考深度图中的参考像素点的深度值误差;和/或,
获取待融合像素点与参考深度图中的参考像素点的法向量夹角;和/或,
获取待融合像素点的第二投影像素与参考深度图中的参考像素点的重投影误差;和/或,
获取待融合像素点的遍历层级。
进一步的,在获取待融合像素点的第二投影像素与参考深度图中的参考像素点的重投影误差之前,处理器302还用于:
将待融合像素点投影到参考深度图上,获得与待融合像素点相对应的第二投影像素。
进一步的,在获取待融合像素点的第二投影像素与参考深度图中的参考像素点的重投影误差之后,处理器302还用于:
获取候选队列里所有的待融合像素点之间的元素差异信息;
根据元素差异信息确定第二投影像素与参考像素点之间的最大重投影误差。
其中,元素差异信息包括向量夹角的差异信息;在处理器302根据元素差异信息确定第二投影像素与参考像素点之间的最大重投影误差时,处理器302用于:
计算候选队列里所有的待融合像素点之间的向量夹角;
在所有向量夹角中确定一最大向量夹角;
在最大向量夹角小于或等于预设的最大向量夹角阈值时,则确定最大重投影误差为预设的第一最大重投影误差;或者,
在最大向量夹角大于预设的最大向量夹角阈值时,则确定最大重投影误差为预设的第二最大重投影误差,其中,第二最大重投影误差小于第一最大重投影误差。
进一步的,在处理器302检测候选队列中的待融合像素点是否满足预设的融合条件时,处理器302用于:
检测深度值误差是否小于或等于预设的最大深度阈值、法向量夹角是否小于或等于预设的最大夹角阈值、重投影误差是否小于最大重投影误差、以及,遍历层级是否小于或等于预设的最大遍历层级;
在深度值误差小于或等于预设的最大深度阈值,法向量夹角小于或等于预设的最大夹角阈值,重投影误差小于最大重投影误差,并且,遍历层级小于或等于预设的最大遍历层级时,则确定候选队列中的待融合像素点满足预设的融合条件。
其中,特征信息包括坐标信息和颜色信息;在处理器302根据所有已被选择融合像素点的特征信息确定融合后像素点的标准特征信息时,处理器302用于:
将所有融合像素点的坐标信息中的中间值确定为融合后像素点的标准坐标信息;
将所有融合像素点的颜色信息中的中间值确定为融合后像素点的标准颜色信息。
进一步的,在确定与至少一个深度图像相对应的候选队列和融合队列之前,处理器302还用于:
清空候选队列和融合队列;
标记所有像素点为未融合像素点,并且所有像素点的遍历层级为零。
本实施例提供的深度图像的融合装置的具体实现原理和实现效果与图1-图9所对应的深度图像的融合方法相一致,具体可参考上述陈述内容,在这里不再赘述。
图11为本发明实施例提供的一种深度图像的融合装置的结构示意图二;参考附图11所示,本实施例的提供了另一种深度图像的融合装置,该融合装置同样可以执行上述的融合方法,具体的,该装置可以包括:
获取模块401,用于获取至少一个深度图像;
确定模块402,用于确定与至少一个深度图像相对应的候选队列和融合队列,候选队列中存储有至少一个深度图像中未被融合的待融合像素点,融合队列中存储有至少一个深度图像中的已被选择融合像素点;
获取模块401,还用于在候选队列中的所有待融合像素点压入到融合队列中时,获取融合队列中所有已被选择融合像素点的特征信息;
处理模块403,用于根据所有已被选择融合像素点的特征信息确定融合后像素点的标准特征信息;
生成模块404,用于根据融合后像素点的标准特征信息生成与至少一个深度图像相对应的融合点云。
本实施例提供的深度图像的融合装置中的获取模块401、确定模块402、处理模块403和生成模块404可以与图1-图9所对应实施例中的深度图像的融合方法,具体可参考上述陈述内容,在这里不再赘述。
本实施例的又一方面提供了一种计算机可读存储介质,该计算机可读存储介质中存储有程序指令,程序指令用于实现上述的深度图像的融合方法。
以上各个实施例中的技术方案、技术特征在与本相冲突的情况下均可以单独,或者进行组合,只要未超出本领域技术人员的认知范围,均属于本申请保护范围内的等同实施例。
在本发明所提供的几个实施例中,应该理解到,所揭露的相关遥控装置和方法,可以通过其它的方式实现。例如,以上所描述的遥控装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,遥控装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得计算机处理器101(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。