发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题,为达上述目的,本发明提供一种面向大规模影像的时序拼接方法、三维影像模型建立方法和装置。
第一方面,本发明提供一种面向大规模影像的时序拼接方法,包括:
在全局坐标系下对齐幅数大于2的N幅影像,其中,至少两幅所述影像内容连续且局部交叠;
搜索所述全局坐标系下的第i幅所述影像,其中,1≤i≤N;
记录第i幅所述影像被搜索的状态;
检验第i幅所述影像是否与已经在其之前被记录的i-1幅所述影像中或与等待在其之后被记录的N-i幅所述影像中的至少一幅局部交叠;
若是,则分别对第i幅所述影像及与其局部交叠的各幅所述影像进行融合后,检验第i幅所述影像是否为N幅所述影像中的最后一幅;
若否,则直接检验第i幅所述影像是否为N幅所述影像中的最后一幅;
如果第i幅所述影像是N幅所述影像中的最后一幅,则结束,否则,将第i幅所述影像更新为在其之后的下一幅所述影像。
进一步地,所述记录第i幅所述影像被搜索的状态包括:
当第i幅所述影像是第一幅时,设置初始化为空集的影像已搜索记录集后,在空的所述影像已搜索记录集中录入第i幅所述影像在所述全局坐标系下的唯一标识信息;
当第i幅所述影像不是第一幅时,直接在非空的所述影像已搜索记录集中录入第i幅所述影像在所述全局坐标系下的唯一标识信息;
其中,所述唯一标识信息适于在所述影像已搜索记录集中表征第i幅所述影像被搜索过的状态。
进一步地,所述检验第i幅所述影像是否与已经在其之前被记录的i-1幅所述影像中的至少一幅局部交叠包括:
当第i幅所述影像是第一幅时,默认不存在已经在第i幅所述影像之前被记录的所述影像;
当第i幅所述影像不是第一幅时,根据非空的所述影像已搜索记录集分别确定已经在第i幅所述影像之前被记录的i-1幅所述影像;
分别对第i幅所述影像与其之前的i-1幅所述影像进行取交集处理;
当通过所述取交集处理后产生至少一个交叠原始区域时,分别对各个所述交叠原始区域及其对应所属的两幅所述影像进行面积比较;
当至少一个所述交叠原始区域的面积小于其对应所属的两幅所述影像中的任一幅的面积时,确定第i幅所述影像与其之前的i-1幅所述影像中的至少一幅局部交叠;
当通过所述取交集处理后未产生所述交叠原始区域,或者,任一个所述交叠原始区域的面积等于其对应所属的两幅所述影像中的任一幅的面积时,确定第i幅所述影像与其之前的i-1幅所述影像均未局部交叠。
进一步地,所述检验第i幅所述影像是否与等待在其之后被记录的N-i幅所述影像中的至少一幅局部交叠包括:
当第i幅所述影像不是最后一幅时,根据所述影像已搜索记录集分别确定等待在第i幅所述影像之后被记录的N-i幅所述影像;
分别对第i幅所述影像与其之后的N-i幅所述影像进行取交集处理;
当通过所述取交集处理后产生至少一个交叠原始区域时,分别对各个所述交叠原始区域及其对应所属的两幅所述影像进行面积比较;
当至少一个所述交叠原始区域的面积小于其对应所属的两幅所述影像中的任一幅的面积时,确定第i幅所述影像与其之后的N-i幅所述影像中的至少一幅局部交叠;
当通过所述取交集处理后未产生所述交叠原始区域,或者,任一个所述交叠原始区域的面积等于其对应所属的两幅所述影像中的任一幅的面积时,确定第i幅所述影像与其之后的N-i幅所述影像均未局部交叠;
当第i幅所述影像是最后一幅时,默认不存在等待在第i幅所述影像之后被记录的所述影像。
进一步地,所述分别对第i幅所述影像及与其局部交叠的各幅所述影像进行融合包括:
对第i幅所述影像及与其局部交叠的第j幅所述影像进行区域识别,得到对应的第j个交叠原始区域、与第j个所述交叠原始区域互补为第i幅所述影像的第j个第一非交叠原始区域以及与第j个所述交叠原始区域互补为第j幅所述影像的第j个第二非交叠原始区域,其中,1≤j≤i-1或者1≤j≤N-i;
将第j个交叠原始区域扩张到第j个所述第一非交叠原始区域和第j个所述第二非交叠原始区域中,以形成对应的第j个交叠扩大区域、第j个第一非交叠缩小区域以及第j个第二非交叠缩小区域;
针对第j个所述交叠扩大区域,分别识别其所属的各个像素点到第j个所述第一非交叠缩小区域的第一最近距离,以及,分别识别其所属的各个所述像素点到第j个所述第二非交叠缩小区域的第二最近距离;
根据与第j个所述交叠扩大区域的全部所述像素点各自对应的所述第一最近距离和所述第二最近距离加权融合第j个所述交叠扩大区域;
检验第j幅所述影像是否为与第i幅所述影像局部交叠的最后一幅;
若是,则中断影像融合操作;
若否,则将第j幅所述影像更新为在其之后且交叠于第i幅所述影像的下一幅所述影像。
进一步地,所述分别识别其所属的各个像素点到第j个所述第一非交叠缩小区域的第一最近距离包括:
对第j个所述第一非交叠缩小区域进行轮廓识别,得到第一轮廓;
识别同处在第j个交叠扩大区域和所述第一轮廓上的各个所述像素点,分别设置对应的所述第一最近距离为零;
识别处在第j个交叠扩大区域并未处在所述第一轮廓上的各个所述像素点,以及,分别对其与处在所述第一轮廓上的各个所述像素点进行欧式距离计算后,设置数值最小的欧式距离为对应的所述第一最近距离。
进一步地,所述分别识别其所属的各个所述像素点到第j个所述第二非交叠缩小区域的第二最近距离包括:
对第j个所述第二非交叠缩小区域进行轮廓识别,得到第二轮廓;
识别同处在第j个交叠扩大区域和所述第二轮廓上的各个所述像素点,分别设置对应的所述第二最近距离为零;
识别处在第j个交叠扩大区域并未处在所述第二轮廓上的各个所述像素点,以及,分别对其与处在所述第二轮廓上的各个所述像素点进行欧式距离计算后,设置数值最小的欧式距离为对应的所述第二最近距离。
进一步地,所述根据与第j个所述交叠扩大区域的全部所述像素点各自对应的所述第一最近距离和所述第二最近距离加权融合第j个所述交叠扩大区域包括:
分别获取第j个所述交叠扩大区域的各个所述像素点基于第i幅所述影像的坐标系下的第一RGB值;
分别获取第j个所述交叠扩大区域的各个所述像素点基于第j幅所述影像的坐标系下的第二RGB值;
通过预设的渐入渐出融合模型,分别对互为适配的各个所述第一RGB值、各个所述第二RGB值、各个所述第一最近距离和各个所述第二最近距离进行加权计算,得到对应的像素融合值,继而分别将各个所述像素融合值更新给对应的所述像素点。
进一步地,所述渐入渐出融合模型表示为:
其中,
表示第j个所述交叠扩大区域的第k个所述像素点所需的所述像素融合值,
表示第j个所述交叠扩大区域的第k个所述像素点所属的所述第一RGB值,
表示第j个所述交叠扩大区域的第k个所述像素点所属的所述第二RGB值,
表示与第j个所述交叠扩大区域的第k个所述像素点对应的所述第一最近距离,
表示与第j个所述交叠扩大区域的第k个所述像素点对应的所述第二最近距离,1≤k≤第j个所述交叠扩大区域所属的总像素点数。
第二方面,本发明提供一种面向大规模影像的时序拼接装置,包括:
配准模块,用以在全局坐标系下对齐幅数大于2的N幅影像,其中,至少两幅所述影像内容连续且局部交叠;
搜索模块,用以搜索所述全局坐标系下的第i幅所述影像;
标记模块,用以记录第i幅所述影像被搜索的状态;
筛选模块,用以检验第i幅所述影像是否与已经在其之前被记录的i-1幅所述影像中或与等待在其之后被记录的N-i幅所述影像中的至少一幅局部交叠;若是,则分别对第i幅所述影像及与其局部交叠的各幅所述影像进行融合后,检验第i幅所述影像是否为N幅所述影像中的最后一幅;若否,则直接检验第i幅所述影像是否为N幅所述影像中的最后一幅;当第i幅所述影像是N幅所述影像中的最后一幅时,结束;
所述搜索模块,还用以当第i幅所述影像不是N幅所述影像中的最后一幅时,将第i幅所述影像更新为在其之后的下一幅所述影像。
使用上述面向大规模影像的时序拼接方法及装置,将大规模影像对齐于同一坐标系中后,遍历全部影像,在遍历过程中,对每幅被搜索到的影像进行状态记录,以高效地区分开已被搜索到的图像和尚未被搜索到的图像,在当前被搜索到的影像与在其之前被搜索过或者在其之后尚未被搜索到的影像互有局部交叠的条件下,当前被搜索到的影像及其局部交叠的影像均为交叠影像,才会执行对相应的两幅交叠影像进行融合的影像融合操作后,再更新到下一幅影像,能够自动化筛选出交叠影像,在当前被搜索到的影像与在其之前被搜索过或者在其之后尚未被搜索到的影像均未局部交叠的条件下,当前被搜索到的影像即为独立影像,跳过了影像融合操作,更快地从该独立影像更新到在其之后的下一幅影像,能够自动化对独立影像进行高效地过滤,降低了独立影像对交叠影像产生拼接干扰。
针对大规模影像中共存有交叠影像和独立影像的情形,能够快速地拼接全部交叠影像,降低了独立影像对交叠影像产生拼接干扰,有助于兼顾影像拼接方法的可靠性、稳定性和拼接效率,对硬件的配置要求偏低,降低了因CPU或/和内存等因素对影像拼接方法产生的限制,有助于降低宕机风险,有助于提升影像拼接方法的适用性。
第三方面,本发明提供一种三维影像模型建立方法,包括:
分别构建全局坐标系和三维影像模型,所述三维影像模型包括幅数大于2的N幅影像;
将所述三维影像模型的N幅所述影像对齐于所述全局坐标系下,在所述全局坐标系下,至少一幅所述影像未与除其之外的N-1幅所述影像局部交叠,以及,至少两幅所述影像内容连续且局部交叠;
搜索所述全局坐标系下的第i幅所述影像,其中,1≤i≤N;
记录第i幅所述影像被搜索的状态;
检验第i幅所述影像是否与已经在其之前被记录的i-1幅所述影像中或与等待在其之后被记录的N-i幅所述影像中的至少一幅局部交叠;
若是,则分别对第i幅所述影像及与其局部交叠的各幅所述影像进行融合以形成对应的无缝拼接影像后,检验第i幅所述影像是否为N幅所述影像中的最后一幅;
若否,则直接检验第i幅所述影像是否为N幅所述影像中的最后一幅;
如果第i幅所述影像是N幅所述影像中的最后一幅,则分别将各幅所述无缝拼接影像更新至所述三维影像模型中,否则,将第i幅所述影像更新为在其之后的下一幅所述影像。
第四方面,本发明提供一种三维影像模型建立装置,包括:
构建模块,用以分别构建全局坐标系和三维影像模型,所述三维影像模型包括幅数大于2的N幅影像;
配准模块,用以将所述三维影像模型的N幅所述影像对齐于所述全局坐标系下,在所述全局坐标系下,至少一幅所述影像未与除其之外的N-1幅所述影像局部交叠,以及,至少两幅所述影像内容连续且局部交叠;
搜索模块,用以搜索所述全局坐标系下的第i幅所述影像;
标记模块,用以记录第i幅所述影像被搜索的状态;
筛选模块,用以检验第i幅所述影像是否与已经在其之前被记录的i-1幅所述影像中或与等待在其之后被记录的N-i幅所述影像中的至少一幅局部交叠;若是,则分别对第i幅所述影像及与其局部交叠的各幅所述影像进行融合以形成对应的无缝拼接影像后,检验第i幅所述影像是否为N幅所述影像中的最后一幅;若否,则直接检验第i幅所述影像是否为N幅所述影像中的最后一幅;
所述构建模块,还用以当第i幅所述影像是N幅所述影像中的最后一幅时,分别将各幅所述无缝拼接影像更新至所述三维影像模型中;
所述搜索模块,还用以当第i幅所述影像不是N幅所述影像中的最后一幅时,将第i幅所述影像更新为在其之后的下一幅所述影像。
使用上述三维影像模型建立方法及装置,在构建全局坐标系和三维影像模型后,将大规模影像对齐于同一坐标系中,然后,遍历全部影像,最后,将拼接产生的各幅无缝拼接影像更新至三维影像模型中,以在保留独立影像不变的基础上为三维影像模型去拼缝,有助于提升三维影像模型的可视化效果,此外,还具有与上述面向大规模影像的时序拼接方法相似的有益效果,此处不再赘述。
第五方面,本发明提供一种计算设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现如第一方面所述的面向大规模影像的时序拼接方法或者实现如第三方面所述的三维影像模型建立方法。
第六方面,本发明提供一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如第一方面所述的面向大规模影像的时序拼接方法或者实现如第三方面所述的三维影像模型建立方法。
使用上述计算设备及非临时性计算机可读存储介质,具有与上述面向大规模影像的时序拼接方法相似的有益效果,或者,具有与上述三维影像模型建立方法相似的有益效果,此处不再赘述。
具体实施方式
下面将参照附图详细描述本发明的实施例,描述涉及附图时,除非另有表示,不同附图中的相同附图标定表示相同或相似的要素。要说明的是,以下示例性实施例中所描述的实施方式并不代表本发明的所有实施方式。它们仅是与如权利要求书中所详述的、本发明公开的一些方面相一致的装置和方法的例子,本发明的范围并不局限于此。在不矛盾的前提下,本发明各个实施例中的特征可以相互组合。
此外,术语“第一”、“第二”仅用以描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在一些场景下,例如基于大规模的倾斜影像或实景影像构建三维影像模型,该三维影像模型可以表达城市或军事战场的三维地物模型等,在该三维影像模型中,既有联合表达一地域或/和建筑物等场景的多幅交叠影像,也有单独表达另一地域或/和建筑物等场景的独立影像,而任意相邻的两幅交叠影像呈现出拼缝,影响了三维影像模型的可视化效果。
传统的影像拼接方法通常是对既定的多幅交叠影像进行并行或串行拼接,针对大规模影像中共存有交叠影像和独立影像的情形,仍有一些性能缺陷,例如,欠缺高效地过滤独立影像,或/和,重复性拼接同一交叠区域,进而,阻碍了为三维影像模型去拼缝。
参见图1,本发明一实施例的一种面向大规模影像的时序拼接方法,包括S1至S7。
S1,在全局坐标系下对齐幅数大于2的N幅影像,其中,至少两幅影像内容连续且局部交叠。
本发明实施例中,S1包括:分别输入六幅影像和tfw文件,根据tfw文件构建全局坐标系,将六幅影像配准于全局坐标系中;参见图2,全局坐标系可以为以x轴和y轴表示的二维坐标系,在该二维坐标系中,六幅影像分别为尺寸相同且内容互异的六幅鱼眼图像;其中,位于第一行第一列的第一幅鱼眼图像作为独立影像可以单独表达一地物场景,另五幅鱼眼图像分别作为交叠影像可以连续的表达另一地物场景。
S2,搜索全局坐标系下的第i幅影像,1≤i≤N。
S3,记录第i幅影像被搜索的状态。
本发明实施例中,每幅第i幅影像包括适于唯一表征其在全局坐标系下的位置信息和影像名称,当搜索到任一幅影像时,可以在其影像名称中添加“已搜索”字符串进行标记。
S4,检验第i幅影像是否与已经在其之前被记录的i-1幅影像中或与等待在其之后被记录的N-i幅影像中的至少一幅局部交叠;若是,则执行S5后,执行S6;若否,则直接执行S6,以跳过S5。
S5,分别对第i幅影像及与其局部交叠的各幅影像进行融合。
S6,检验第i幅影像是否为N幅影像中的最后一幅;若是,遍历完N幅影像,则结束;否则,还未遍历完N幅影像,执行步骤S7。
S7,对i累计计数一次后返回至S2,以将第i幅影像更新为在其之后的下一幅影像。
本发明实施例中,可以按照先行后列的顺序遍历六幅鱼眼图像,以i=5为例,第五幅鱼眼图像位于第二行第二列,i小于6,通过S6检验到第五幅鱼眼图像不是六幅鱼眼图像中的最后一幅,令i=i+1,使i=6后返回至S2中,从第五幅鱼眼图像搜索到位于第二行第三列的第六幅鱼眼图像;针对第六幅鱼眼图像,依次经过S3、S4和S5处理后,将其与位于第一行第三列的第三幅鱼眼图像和第五幅鱼眼图像拼接在一起,进而,通过S6检验到第六幅鱼眼图像是六幅鱼眼图像中的最后一幅,则结束本发明的面向大规模影像的拼接方法。
本发明另一实施例中,S3还可以在S4之后且在S6之前被执行,或者,S3与S6被并行执行,S3并未与S2、S4、S5和S6中的任一产生执行冲突,S3不受制于本发明列举的某一实施例,在S2到S6的时段执行S3均是被允许的实施例。
在遍历N幅影像过程中,对每幅被搜索到的影像进行状态记录,以高效地区分开已被搜索到的图像和尚未被搜索到的图像,在当前被搜索到的影像与在其之前被搜索过或者在其之后尚未被搜索到的影像互有局部交叠的条件下,当前被搜索到的影像及其局部交叠的影像均为交叠影像,才会执行对相应的两幅交叠影像进行融合的影像融合操作后,再更新到下一幅影像,能够自动化筛选出交叠影像,防止了重复性拼接任意相邻的两幅交叠影像,在当前被搜索到的影像与在其之前被搜索过或者在其之后尚未被搜索到的影像均未局部交叠的条件下,当前被搜索到的影像即为独立影像,跳过了影像融合操作,更快地从该独立影像更新到下一幅影像,能够自动化对独立影像进行高效地过滤,在将大规模影像提供给影像拼接方法之前,无需依赖于人机交互方式过滤掉独立影像,更加省时省力。
针对大规模影像中共存有交叠影像和独立影像的情形,能够快速地拼接全部交叠影像,降低了独立影像对交叠影像产生拼接干扰,有助于兼顾影像拼接方法的可靠性、稳定性和拼接效率,对硬件的配置要求偏低,降低了因CPU或/和内存等因素对影像拼接方法产生的限制,有助于降低宕机风险,有助于提升影像拼接方法的适用性。
可选地,参见图3,S3包括S31和S32。
S31,当第i幅影像是第一幅时,设置初始化为空集的影像已搜索记录集后,在空的影像已搜索记录集中录入第i幅影像在全局坐标系下的唯一标识信息。
S32,当第i幅影像不是第一幅时,直接在非空的影像已搜索记录集中录入第i幅影像在全局坐标系下的唯一标识信息,以跳过对上述空集进行设置的操作。
其中,唯一标识信息适于在影像已搜索记录集中表征第i幅影像被搜索过的状态。
本发明实施例中,当i等于1时,可以确定第i幅影像是N幅影像中的第一幅,当i大于1时,可以确定第i幅影像不是N幅影像中的第一幅;影像已搜索记录集可以呈数组或表格或json等形式,影像已搜索记录集的初始化状态为空集,在遍历N幅影像过程中,按照时序分别添加进每幅影像基于全局坐标系下的唯一标识信息,唯一标识信息可以包括位置信息和影像名称,其中,位置信息可以以对应的影像上的四个角分别在全局坐标系下的坐标表示且用以与对应的影像名称关联存入影像已搜索记录集中,以供唯一表征对应的影像被搜索过的状态,影像已搜索记录集也从空集更新为非空的集合。
相比于对影像自身进行修改,借助影像已搜索记录集,既记录了影像被搜索到的状态,以便于区分开已被搜索到的图像和尚未被搜索到的图像,也防止因记录状态而为影像自身增加信息量,有助于兼顾影像识别效率、可靠性和适用性。
可选地,参见图4,S4包括S41至S46。
S41,当第i幅影像是第一幅时,默认不存在已经在第i幅影像之前被记录的影像;
S42,当第i幅影像不是第一幅时,根据非空的影像已搜索记录集分别确定已经在第i幅影像之前被记录的i-1幅影像;
S43,分别对第i幅影像与其之前的i-1幅影像进行取交集处理;
S44,当通过取交集处理后产生至少一个交叠原始区域时,分别对各个交叠原始区域及其对应所属的两幅影像进行面积比较;
S45,当至少一个交叠原始区域的面积小于其对应所属的两幅影像中的任一幅的面积时,确定第i幅影像与其之前的i-1幅影像中的至少一幅局部交叠;
S46,当通过取交集处理后未产生交叠原始区域,或者,任一个交叠原始区域的面积等于其对应所属的两幅影像中的任一幅的面积时,确定第i幅影像与其之前的i-1幅影像均未局部交叠。
本发明实施例中,S4是按照影像已搜索记录集对第i幅影像与已经在其之前被记录的i-1幅影像进行交叠性检验的方式执行,由于在第一幅影像之前不存在已被搜索过的影像,也就是说从空的影像已搜索记录集中查找不到唯一标识信息,如此,直接执行S6即可。
从第二幅影像开始,从非空的影像已搜索记录集中可以查找到唯一标识信息,按照每条唯一标识信息中的位置信息在全局坐标系中重定位到对应的影像,进而,对重定位的每幅影像和第i幅影像进行取交集处理,如果通过取交集处理后的结果为空,则表明两者互不交叠,否则,通过取交集处理后的结果即为两者交叠的交叠区域。
对每个交叠区域进行面积识别后,由于N幅影像的尺寸相同,也就是说只需判断每个交叠区域的面积是否等于第i幅影像,若是,则表明第i幅影像与对应的影像整体覆盖,否则,表明两者局部交叠。
通过影像取交集处理方式,从在第i幅影像之前被记录的i-1幅影像中筛选出与第i幅影像交叠的每幅交叠影像,过滤了独立影像,继而,通过影像面积比较方式,从前次筛选出的所有交叠影像中再次筛选出与第i幅影像局部交叠的至少一幅交叠影像,无需针对独立影像进行影像交叠性检验,防止对同一交叠原始区域进行重复性检验,兼顾了影像交叠性检验的可靠性和效率。
或者,S41,当第i幅影像不是最后一幅时,根据影像已搜索记录集分别确定等待在第i幅影像之后被记录的N-i幅影像;
S42,分别对第i幅影像与其之后的N-i幅影像进行取交集处理;
S43,当通过取交集处理后产生至少一个交叠原始区域时,分别对各个交叠原始区域及其对应所属的两幅影像进行面积比较;
S44,当至少一个交叠原始区域的面积小于其对应所属的两幅影像中的任一幅的面积时,确定第i幅影像与其之后的N-i幅影像中的至少一幅局部交叠;
S45,当通过取交集处理后未产生交叠原始区域,或者,任一个交叠原始区域的面积等于其对应所属的两幅影像中的任一幅的面积时,确定第i幅影像与其之后的N-i幅影像均未局部交叠;
S46,当第i幅影像是最后一幅时,默认不存在等待在第i幅影像之后被记录的影像。
本发明实施例中,S4是按照影像已搜索记录集对第i幅影像与等待在其之后被记录的N-i幅影像进行交叠性检验的方式执行,本领域技术人员应当理解,其与按照影像已搜索记录集对第i幅影像与已经在其之前被记录的i-1幅影像进行交叠性检验的方式及有益效果类似,为了简要说明,此处不再赘述。
可选地,参见图5,S5包括S51至S56。
S51,对第i幅影像及与其局部交叠的第j幅影像进行区域识别,得到对应的第j个交叠原始区域、与第j个交叠原始区域互补为第i幅影像的第j个第一非交叠原始区域以及与第j个交叠原始区域互补为第j幅影像的第j个第二非交叠原始区域,其中,1≤j≤i-1或者1≤j≤N-i。
本发明实施例中,参见图2,当第i幅影像为第五幅鱼眼图像时,已经在第五幅鱼眼图像之前被搜索过的四幅鱼眼图像分别为位于第一行第一列的第一幅鱼眼图像、位于第一行第二列的第二幅鱼眼图像、位于第一行第三列的第三幅鱼眼图像以及位于第二行第一列的第四幅鱼眼图像。
第二幅鱼眼图像为与第五幅鱼眼图像局部交叠的第1幅交叠影像,第二幅鱼眼图像与第五幅鱼眼图像局部交叠的影像区域为第1个交叠原始区域,与第1个交叠原始区域互补为第五幅鱼眼图像的影像区域为第1个第一非交叠原始区域,与第1个交叠原始区域互补为第二幅鱼眼图像的影像区域为第1个第二非交叠原始区域;
第四幅鱼眼图像为与第五幅鱼眼图像局部交叠的第2幅交叠影像,第四幅鱼眼图像与第五幅鱼眼图像局部交叠的影像区域为第2个交叠原始区域,与第2个交叠原始区域互补为第五幅鱼眼图像的影像区域为第2个第一非交叠原始区域,与第2个交叠原始区域互补为第四幅鱼眼图像的影像区域为第2个第二非交叠原始区域。
S52,将第j个交叠原始区域扩张到第j个第一非交叠原始区域和第j个第二非交叠原始区域中,以形成对应的第j个交叠扩大区域、第j个第一非交叠缩小区域以及第j个第二非交叠缩小区域。
其中,第j个第一非交叠缩小区域与第j个交叠扩大区域互补为第i幅影像,第j个第二非交叠缩小区域与第j个交叠扩大区域互补为交叠于第i幅影像的第j幅影像。
本发明实施例中,参见图6,以第四幅鱼眼图像和第五幅鱼眼图像为例,在第2个交叠原始区域被扩张之前,第2个交叠原始区域表示为0,第2个第一非交叠原始区域表示为E2+F2,第2个第二非交叠原始区域表示为E1+F1;可以按照预设比例将第2个交叠原始区域与第2个第一非交叠原始区域相交的拼缝向F2扩张,同理,可以按照预设比例将第2个交叠原始区域与第2个第二非交叠原始区域相交的拼缝向F1扩张,例如,预设比例可以为1:1.5或者1:2等;在第2个交叠原始区域被扩张之后,第2个交叠扩大区域表示为E1+0+E2,第2个第一非交叠缩小区域表示为F2,第2个第二非交叠缩小区域表示为F1。
本发明实施例中,可以采用高斯填充算法对交叠原始区域进行从外向内填充,填充值可以为3*3领域高斯算子值,或者,采用例如patchmatch的图像修复算法对交叠原始区域进行扩张,相比于高斯填充算法,patchmatch算法的影像扩张效果更好。
S53,针对第j个交叠扩大区域,分别识别其所属的各个像素点到第j个第一非交叠缩小区域的第一最近距离,以及,分别识别其所属的各个像素点到第j个第二非交叠缩小区域的第二最近距离。
S54,根据与第j个交叠扩大区域的全部像素点各自对应的第一最近距离和第二最近距离加权融合第j个交叠扩大区域。
S55,检验第j幅影像是否为与第i幅影像局部交叠的最后一幅;若是,则通过执行S6来中断影像融合操作;若否,则执行S56。
本发明实施例中,可以将第i幅影像的唯一标识信息与第N幅影像的唯一标识信息进行比对,如果两者一致,则确定第i幅影像是第N幅影像,否则,确定第i幅影像不是第N幅影像。
S56,令j累计计数一次后返回至S51,以将交叠于第i幅影像的第j幅影像更新为在其之后且交叠于第i幅影像的下一幅影像。
在遍历与第i幅影像局部交叠的所有影像过程中,由于交叠原始区域分别向对应的两幅影像各自所属的非交叠原始区域扩展,促使交叠原始区域的面积被扩大以及非交叠原始区域的面积被缩小,从而,增加了交叠扩大区域的像素点,同时,减少了非交叠缩小区域的像素点,针对每个交叠扩大区域,分别识别其中的全部像素点各自到对应的非交叠缩小区域的最近距离,借助该最近距离,加权融合交叠扩大区域,去除了第i幅影像及其局部交叠的影像之间的拼缝,从第i幅影像过渡到其局部交叠的影像具有更加平滑自然的优势,保证了影像融合效率,有助于提升影像融合的准确性,适用于形状规则或不规则的影像及其交叠区域。
可选地,参见图7,S53包括S531至S534。
S531,对第j个第一非交叠缩小区域进行轮廓识别,得到第一轮廓;以及,对第j个第二非交叠缩小区域进行轮廓识别,得到第二轮廓。
S532,识别同处在第j个交叠扩大区域和第一轮廓上的各个像素点,分别设置对应的第一最近距离为零;以及,识别同处在第j个交叠扩大区域和第二轮廓上的各个像素点,分别设置对应的第二最近距离为零。
S533,在第j个交叠扩大区域内,分别识别均未处在第一轮廓和第二轮廓上的各个像素点。
S534,分别对其与处在第一轮廓上的各个像素点进行欧式距离计算后,设置数值最小的欧式距离为对应的第一最近距离;以及,分别对其与处在第二轮廓上的各个像素点进行欧式距离计算后,设置数值最小的欧式距离为对应的第二最近距离。
本发明实施例中,参见图8,相邻的两幅交叠影像中,前一幅为第i幅影像,后一幅为等待在第i幅影像被记录的第1幅影像;在第1个交叠原始区域被扩张之前,0表示第1个交叠原始区域,E1+F1表示第1个第一非交叠原始区域,E2+F2表示第1个第二非交叠原始区域;在第1个交叠原始区域被扩张之后,E1+0+E2表示第1个交叠扩大区域,F1表示第1个第一非交叠缩小区域,F2表示第1个第二非交叠缩小区域。
第一轮廓即为F1的周边,第二轮廓即为F2的周边,F1与E1相交的边界表示为左虚线,F2与E2相交的边界表示为右虚线;对于左虚线上的像素点,其到第一轮廓的最近点为其自身,也即第一最近距离为零,以及,由于其未处在第二轮廓上,也即第二最近距离等于第一轮廓线与第二轮廓之间的水平距离;同理,对于右虚线上的像素点,其到第二轮廓的最近点为其自身,也即第二最近距离为零,以及,由于其未处在第一轮廓上,也即第一最近距离等于第一轮廓线与第二轮廓之间的水平距离。
本发明实施例中,针对任一交叠扩大区域,可以使用第一数组存储其中的全部像素点各自所属的第一最近距离,可以使用第二数组存储其中的全部像素点各自所属的第二最近距离,例如,一个交叠扩大区域的总像素点数为100个,第一数组的长度为100,第一数组中的每个数值及其所在的位置对应于像素点的第一最近距离及其所在交叠扩大区域的二维坐标,同理,第二数组与第一数组类似,此处不再赘述。
通过对像素点与非交叠缩小区域的轮廓进行最近距离识别,无需考虑在非交叠缩小区域内部的每个像素点,减少了对非交叠缩小区域的像素点进行距离识别的数量,相比于对非交叠缩小区域进行全局识别,有助于提升识别最近距离的效率。
可选地,S54包括:分别获取第j个交叠扩大区域的各个像素点基于第i幅影像的坐标系下的第一RGB值,以及,分别获取第j个交叠扩大区域的各个像素点基于第j幅影像的坐标系下的第二RGB值;通过预设的渐入渐出融合模型,分别对互为适配的各个第一RGB值、各个第二RGB值、各个第一最近距离和各个第二最近距离进行加权计算,得到对应的像素融合值,继而分别将各个像素融合值更新给对应的像素点。
本发明实施例中,可以借助数组对任一第一RGB值及其适配的第二RGB值、第一最近距离和第二最近距离进行存储,以一组数组为例,[(125,127,62),(154,157,75),0,0.1],其中,(125,127,62)可以为第一RGB值,(154,157,75)可以为第二RGB值,0可以为第一最近距离,0.1可以为第二最近距离。
以另一组数组为例,[(156,156,156),(167,167,167),0.2,0.3],其中,(156,156,156)可以为第一RGB值,(167,167,167)可以为第二RGB值,0.2可以为第一最近距离,0.3可以为第二最近距离。
渐入渐出融合模型表示为:
其中,
表示第j个交叠扩大区域的第k个像素点所需的像素融合值,
表示第j个交叠扩大区域的第k个像素点所属的第一RGB值,
表示第j个交叠扩大区域的第k个像素点所属的第二RGB值,
表示与第j个交叠扩大区域的第k个像素点对应的第一最近距离,
表示与第j个交叠扩大区域的第k个像素点对应的第二最近距离,1≤k≤第j个交叠扩大区域所属的总像素点数。
通过渐入渐出融合模型对交叠扩大区域进行加权融合,能够兼顾了影像融合效率和拼接效果。
参见图9,本发明另一实施例的一种面向大规模影像的时序拼接装置,包括:配准模块、搜索模块、标记模块和筛选模块。
配准模块,用以在全局坐标系下对齐幅数大于2的N幅影像,其中,至少两幅影像内容连续且局部交叠。
搜索模块,用以搜索全局坐标系下的第i幅影像,1≤i≤N。
标记模块,用以记录第i幅影像被搜索的状态。
筛选模块,用以检验第i幅影像是否与已经在其之前被记录的i-1幅影像中或与等待在其之后被记录的N-i幅影像中的至少一幅局部交叠;若是,则分别对第i幅影像及与其局部交叠的各幅影像进行融合后,检验第i幅影像是否为N幅影像中的最后一幅;若否,则直接检验第i幅影像是否为最后一幅;当第i幅影像是最后一幅时,结束。
搜索模块,还用以当第i幅影像不是最后一幅时,将第i幅影像更新为在其之后的下一幅影像。
上述面向大规模影像的时序拼接装置,可以参见上述面向大规模影像的时序拼接方法及其有益效果的具体描述,在此不再赘述。
参见图10,本发明另一实施例的一种三维影像模型建立方法,包括S0至S8。
S0,分别构建全局坐标系和三维影像模型,三维影像模型包括幅数大于2的N幅影像。
S1,将处在三维影像模型中的N幅影像对齐于全局坐标系下,在全局坐标系下,至少一幅影像未与除其之外的N-1幅影像局部交叠,以及,至少两幅影像内容连续且局部交叠。
S2,搜索全局坐标系下的第i幅影像,其中,1≤i≤N。
S3,记录第i幅影像被搜索的状态。
S4,检验第i幅影像是否与已经在其之前被记录的i-1幅影像中或与等待在其之后被记录的N-i幅影像中的至少一幅局部交叠;若是,则执行S5后,执行S6;若否,则直接执行S6,以跳过S5。
S5,分别对第i幅影像及与其局部交叠的各幅影像进行融合,以形成对应的无缝拼接影像。
S6,检验第i幅影像是否为N幅影像中的最后一幅;若是,则执行S8,若否,则执行S7。
S7,对i累计计数一次后返回至S2,以将第i幅影像更新为在其之后的下一幅影像;
S8,分别将各幅无缝拼接影像更新至三维影像模型中。
本发明实施例中,针对任一幅无缝拼接影像,可以按照影像名称或者特征点,在三维影像模型中定位与其匹配的未被更新的至少两幅影像,进而,可以将未被更新的至少两幅影替换为对应的无缝拼接影像。
参见图11,本发明另一实施例的一种三维影像模型建立装置,包括构建模块、配准模块、搜索模块、标记模块和筛选模块。
构建模块,用以分别构建全局坐标系和三维影像模型,三维影像模型包括幅数大于2的N幅影像。
配准模块,用以将三维影像模型的N幅影像对齐于全局坐标系下,在全局坐标系下,至少一幅影像未与除其之外的N-1幅影像局部交叠,以及,至少两幅影像内容连续且局部交叠。
搜索模块,用以搜索全局坐标系下的第i幅影像,1≤i≤N。
标记模块,用以记录对第i幅影像被搜索的状态。
筛选模块,用以检验第i幅影像是否与已经在其之前被记录的i-1幅影像中或与等待在其之后被记录的N-i幅影像中的至少一幅局部交叠;若是,则分别对第i幅影像及与其局部交叠的各幅影像进行融合以形成对应的无缝拼接影像后,检验第i幅影像是否为N幅影像中的最后一幅;若否,则直接检验第i幅影像是否为N幅影像中的最后一幅。
构建模块,还用以当第i幅影像是N幅影像中的最后一幅时,分别将各幅无缝拼接影像更新至三维影像模型中。
搜索模块,还用以当第i幅影像不是N幅影像中的最后一幅时,将第i幅影像更新为在其之后的下一幅影像。
使用本发明实施例的三维影像模型建立方法及装置,在构建全局坐标系和三维影像模型后,将大规模影像对齐于同一坐标系中,然后,遍历全部影像,最后,将拼接产生的各幅无缝拼接影像更新至三维影像模型中,以在保留独立影像不变的基础上为三维影像模型去拼缝,有助于提升三维影像模型的可视化效果,此外,还具有与上述面向大规模影像的时序拼接方法相似的有益效果,此处不再赘述。
参见图12,本发明另一实施例的一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,前述处理器执行前述计算机程序程序时,实现上述面向大规模影像的时序拼接方法或者上述三维影像模型建立方法。可以理解的是,前述计算设备可以是服务器或者终端设备,其中,处理器可以通过通用串行控制总线与存储器连接。
本发明另一实施例的一种非临时性计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现上述面向大规模影像的时序拼接方法或者上述三维影像模型建立方法。
一般来说,用以实现本发明方法的计算机指令的可以采用一个或多个计算机可读的存储介质的任意组合来承载。非临时性计算机可读存储介质可以包括任何计算机可读介质,除了临时性地传播中的信号本身。
计算机可读存储介质例如可以是,但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可以以一种或多种程序设计语言或其组合来编写用以执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言,特别是可以使用适于神经网络计算的Python语言和基于TensorFlow、PyTorch等平台框架。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或,连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
上述计算设备和非临时性计算机可读存储介质,可以参见上述面向大规模影像的时序拼接方法及其有益效果的具体描述,或者,可以参见上述三维影像模型建立方法及其有益效果的具体描述,在此不再赘述。
尽管上面已经示出和描述了本发明的实施例,应当理解的是,上述实施例是示例性的,不能解释为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。