确定图像位姿变换的方法、装置及存储介质与流程

文档序号:20603472发布日期:2020-05-01 21:51阅读:240来源:国知局
确定图像位姿变换的方法、装置及存储介质与流程

本申请涉及三维重建技术,特别是涉及一种确定图像位姿变换的方法、装置及存储介质。



背景技术:

在三维重建技术领域中,需要通过确定图像位姿变换的方法,确定两张分别采集的图像的相对位移和相对姿态,包括位移和旋转角度等。

传统的确定图像位姿变换的方法,通常是通过传统的尺度不变特征变换(scale-invariantfeaturetransform,sift)等方法进行图像视觉特征的提取、通过倾斜摄影(structurefrommotion,sfm)或机器人实时定位与建图(simultaneouslocalizationandmapping,slam)等方法进行特征匹配,从而进行图像位移的确定。传统方法使用两张图像的相对位移量和相对偏转角度表征图像之间位姿变换的结果,且进行确定图像位姿变换的的两张图像之间的视角变化与位移变化较小,对具有较大视角变化、较大位移变化的两张图像无法给出准确的确定图像位姿变换的结果。



技术实现要素:

有鉴于此,本申请的主要目的在于提供一种确定图像位姿变换的方法,该方法可以克服传统方法仅能确定视角变化与位移变化较小的两张图像之间的图像位移的缺陷,对具有较大视角变化、较大位移变化的两张图像可以给出准确的图像位姿变换的确定结果。

为了达到上述目的,本申请提出的技术方案为:

第一方面,本申请实施例提供了一种确定图像位姿变换的方法,包括以下步骤:

对获取的第一图像和第二图像分别提取特征,得到第一图像的特征向量和第二图像的特征向量;

根据所述第一图像的特征向量和所述第二图像的特征向量,确定第一图像和第二图像之间的相似度特征矩阵;所述相似度特征矩阵的每一个元素为所述第一图像的像素点与所述第二图像的像素点之间的相似度;

将所述相似度特征矩阵输入第二神经网络模型中,得到所述第一图像与所述第二图像之间的位移量和偏转角度值、以及置信度;所述第二神经网络模型是基于标记了参照物实际尺寸的样本图像训练得到的;所述位移量与所述偏转角度值是所述第一图像和所述第二图像之间基于绝对坐标系的实际位移量和实际偏转角度值;

判断所述置信度是否小于预设的误差阈值,如果所述置信度小于所述误差阈值,将所述第一图像与所述第二图像之间的位移量、偏转角度值,作为目标位移量和目标偏转角度值。

一种可能的实施方式中,所述特征向量包括语义特征;所述语义特征用于表征所述第一图像和所述第二图像中的每个像素所属的物体;

在执行所述根据所述第一图像的特征向量和所述第二图像的特征向量,确定第一图像和第二图像之间的相似度特征矩阵的步骤时,所述方法还包括:

针对所述第一图像中的每个像素点,根据第一图像的语义特征和第二图像的语义特征,确定该像素点与所述第二图像中的每个像素点是否属于同一个物体。

一种可能的实施方式中,所述对获取的第一图像和第二图像分别提取特征,得到第一图像的特征向量和第二图像的特征向量的步骤包括:

将所述第一图像和所述第二图像分别输入到第一神经网络模型中,得到所述第一图像的特征向量和所述第二图像的特征向量;所述第一神经网络模型由共享参数的两个神经网络构成。

一种可能的实施方式中,所述将所述相似度特征矩阵输入第二神经网络模型中,得到所述第一图像与所述第二图像之间的位移量和偏转角度值、以及置信度的步骤,包括:

使用预设大小的卷积核对所述相似度特征矩阵进行至少一次降维,每次降维后,将得到的相似度特征矩阵中的每个元素转化到预设数值区间,并将负相关的元素删除;

将所述至少一次降维后的相似度特征矩阵输入全连接层神经网络,得到所述第一图像与所述第二图像之间的位移量和偏转角度值、以及置信度。

一种可能的实施方式中,每个所述相似度构成一个包含四维特征向量的矩阵;

在所述根据所述第一图像的特征向量和所述第二图像的特征向量,确定第一图像和第二图像之间的相似度特征矩阵的步骤之后,在所述将所述相似度特征矩阵输入第二神经网络模型中的步骤之前,所述方法还包括:

将所述包含四维特征向量的第一矩阵转换为包含三维特征向量的第二矩阵。

一种可能的实施方式中,所述将所述包含四维特征向量的第一矩阵转换为包含三维特征向量的第二矩阵的步骤包括:

根据所述第一矩阵中的第三维特征向量和第四维特征向量生成特征向量,作为所述第二矩阵中的第三维特征向量;

将所述第一矩阵中的第一维特征向量作为所述第二矩阵中的第一维特征向量,并将所述第一矩阵中的第二维特征向量作为所述第二矩阵中的第二维特征向量

一种可能的实施方式中,所述方法还包括对所述第二神经网络模型进行训练的步骤:

获取标记了尺寸标签、位移量标签和偏转角度标签多个样本图像组;其中,每个所述样本图像组包含第一图像样本和第二图像样本;所述尺寸标签根据预设参照物的实际尺寸进行标记;所述位移量标签根据第一图像样本或第二图像样本相对于绝对坐标系的实际位移量进行标记;所述偏转角度标签根据第一图像样本或第二图像样本相对于绝对坐标系的实际偏转角度值进行标记;

针对每个所述样本图像组,对该样本图像组中的第一图像样本和第二图像样本提取特征,得到第一图像样本的样本特征向量和第二图像样本的样本特征向量;

根据所述第一图像样本的样本特征向量和所述第二图像样本的样本特征向量,确定第一图像样本和第二图像样本之间的样本相似度特征矩阵;

将所述样本相似度特征矩阵输入初始第二神经网络模型中,得到所述第一图像样本与所述第二图像样本之间的计算位移量、计算偏转角度值和计算置信度;

根据所述计算位移量和所述位移量标签确定位移损失值,根据所述计算偏转角度值和所述偏转角度标签确定偏转损失值;

根据所述位移损失值、所述偏转损失值和所述置信度更新所述初始第二神经网络模型的参数,得到所述第二神经网络模型。

第二方面,基于相同的设计构思,本申请实施例还提供一种确定图像位姿变换的装置,包括:

特征提取模块,用于对获取的第一图像和第二图像分别提取特征,得到第一图像的特征向量和第二图像的特征向量;

相似度确定模块,用于根据所述第一图像的特征向量和所述第二图像的特征向量,确定第一图像和第二图像之间的相似度特征矩阵;所述相似度特征矩阵的每一个元素为所述第一图像的像素点与所述第二图像的像素点之间的相似度;

第二神经网络模型,用于根据所述相似度特征矩阵,得到所述第一图像与所述第二图像之间的位移量和偏转角度值、以及置信度;所述第二神经网络模型是基于标记了参照物实际尺寸的样本图像训练得到的;所述位移量与所述偏转角度值是所述第一图像和所述第二图像之间基于绝对坐标系的实际位移量和实际偏转角度值;

位移确定模块,用于判断所述置信度是否小于预设的误差阈值,如果所述置信度小于所述误差阈值,将所述第一图像与所述第二图像之间的位移量、偏转角度值,作为目标位移量和目标偏转角度值。

一种可能的实施方式中,所述特征向量包括语义特征;所述语义特征用于表征所述第一图像和所述第二图像中的每个像素所属的物体;

特征提取模块,还用于:

针对所述第一图像中的每个像素点,根据第一图像的语义特征和第二图像的语义特征,确定该像素点与所述第二图像中的每个像素点是否属于同一个物体。

一种可能的实施方式中,特征提取模块,还用于:

将所述第一图像和所述第二图像分别输入到第一神经网络模型中,得到所述第一图像的特征向量和所述第二图像的特征向量;所述第一神经网络模型由共享参数的两个神经网络构成。

一种可能的实施方式中,第二神经网络模型,具体包括:

降维单元,用于使用预设大小的卷积核对所述相似度特征矩阵进行至少一次降维,每次降维后,将得到的相似度特征矩阵中的每个元素转化到预设数值区间,并将负相关的元素删除;

全连接层神经网络,用于根据所述至少一次降维后的相似度特征矩阵,得到所述第一图像与所述第二图像之间的位移量和偏转角度值、以及置信度。

一种可能的实施方式中,每个所述相似度构成一个包含四维特征向量的矩阵;

相似度确定模块,还用于:

将所述包含四维特征向量的第一矩阵转换为包含三维特征向量的第二矩阵。

一种可能的实施方式中,相似度确定模块,还用于:

根据所述第一矩阵中的第三维特征向量和第四维特征向量生成特征向量,作为所述第二矩阵中的第三维特征向量;

将所述第一矩阵中的第一维特征向量作为所述第二矩阵中的第一维特征向量,并将所述第一矩阵中的第二维特征向量作为所述第二矩阵中的第二维特征向量

一种可能的实施方式中,确定图像位姿变换的装置还包括,模型训练模块,模型训练模块,包括:

样本获取单元,用于获取标记了尺寸标签、位移量标签和偏转角度标签多个样本图像组;其中,每个所述样本图像组包含第一图像样本和第二图像样本;所述尺寸标签根据预设参照物的实际尺寸进行标记;所述位移量标签根据第一图像样本或第二图像样本相对于绝对坐标系的实际位移量进行标记;所述偏转角度标签根据第一图像样本或第二图像样本相对于绝对坐标系的实际偏转角度值进行标记;

样本特征提取单元,用于针对每个所述样本图像组,对该样本图像组中的第一图像样本和第二图像样本提取特征,得到第一图像样本的样本特征向量和第二图像样本的样本特征向量;

样本相似度确定单元,用于根据所述第一图像样本的样本特征向量和所述第二图像样本的样本特征向量,确定第一图像样本和第二图像样本之间的样本相似度特征矩阵;

初始第二神经网络模型,用于根据所述样本相似度特征矩阵,得到所述第一图像样本与所述第二图像样本之间的计算位移量、计算偏转角度值和计算置信度;

损失计算单元,用于根据所述计算位移量和所述位移量标签确定位移损失值,根据所述计算偏转角度值和所述偏转角度标签确定偏转损失值;

参数更新单元,用于根据所述位移损失值、所述偏转损失值和所述置信度更新所述初始第二神经网络模型的参数,得到所述第二神经网络模型。

第三方面,本申请实施例还提供一种计算机可读存储介质,可以基于具有较大视角变化、较大位移变化的两张图像给出准确的图像位姿变换的确定结果。具体方案为:

一种计算机可读存储介质,存储有计算机指令,所述指令被处理器执行时可实现上述第一方面及第一方面中任一种可能的实施方式的步骤。

第四方面,本申请实施例还提供一种电子设备,可以基于具有较大视角变化、较大位移变化的两张图像给出准确的图像位姿变换的确定结果。具体方案为:

一种电子设备,该电子设备包括上述的计算机可读存储介质,还包括可执行所述计算机可读存储介质的处理器。

综上所述,本申请提出的一种确定图像位姿变换的方法、装置及存储介质。本申请根据第一图像的特征向量和第二图像的特征向量,确定第一图像中像素点与第二图像中像素点之间的相似度,每两个像素点与像素点之间进行特征匹配,可以更全面、更准确地提取第一图像和第二图像之间的相似特征,即使在第一图像和第二图像具有较大视角变化、较大位移变化,第一图像和第二图像之间相似的特征较少的情况下,仍能有效提取第一图像和第二图像之间的相似特征;利用得到的相似度特征矩阵确定第一图像和第二图像基于绝对坐标系的实际位移量和实际偏转角度值,并使用实际位移量和实际偏转角度值表达第一图像和第二图像之间的位姿变换结果,与传统方法使用相对位移量和相对偏转角度表达位姿变换结果相比,可以更准确地表达位姿变换结果。

附图说明

图1为本申请实施例一的流程示意图;

图2为确定相似度特征矩阵的原理示意图;

图3为本申请实施例二的流程示意图;

图4为本申请实施例三提供的第二神经网络模型训练方法的流程示意图;

图5为本申请实施例四提供的第一神经网络模型训练方法的流程示意图;

图6为本申请实施例五的结构示意图;

图7为本申请实施例五中第二神经网络模型的结构示意图;

图8为本申请实施例五中模型训练模块的结构示意图;

图9为本申请实施例七的结构示意图。

具体实施方式

本申请实施例应用于基于多张图像确定每两张图像之间位移的应用场景,得到的图像位移结果可进一步应用于生成三维图像,例如生成三维模型图像或三维点云图像等。传统的确定图像位姿变换的方法,通常是通过传统的尺度不变特征变换(scale-invariantfeaturetransform,sift)等方法进行图像视觉特征的提取、通过倾斜摄影(structurefrommotion,sfm)或机器人实时定位与建图(simultaneouslocalizationandmapping,slam)等方法进行特征匹配的。

sfm方法是基于图像是连续采集的这一先验信息进行的,连续采集的两张图像之间的视角变化与位移变化较小,因此sfm方法更适用于对相邻的图像进行图像位移的确定。

slam方法对图像的全局性分析能力更强,但在针对较少纹理、较大视角变化、较大位移变化、较多遮挡的应用场景时,仍然很难给出较好的图像位姿变换的确定结果。

并且,无论哪种传统方法均只能确定两张图像之间的相对位姿变换,无法确定基于绝对坐标系的实际位移量和实际偏转角度值,相对位移的准确性较差,在使用相对位移进行后续的三维重建时,建立出的三维图像也很难具备高精度和高准确性,并且建立出的三维图像往往也只能建立相对尺寸和结构,需要繁琐的步骤将其转换成具有基于绝对坐标系的实际尺寸和结构的三维图像。

尤其是在根据鱼眼图像、广角图像、全景图像等图像类型进行三维重建时,鱼眼图像、广角图像、全景图像的信息量较大、图像中的部分区域会存在图像的畸变、且两张图像的视角变化和位移变化很大,由于图像本身涵盖了较大的视角变化和位移变化范围,并且由于图像畸变的存在,传统方法无法给出准确的图像位姿变换的确定结果。

有鉴于此,本申请提出的一种确定图像位姿变换的方法、装置及存储介质。本申请确定第一图像中像素点与第二图像中像素点之间的相似度,可以更全面、更准确地提取第一图像的特征向量和第二图像的特征向量之间相似的特征,即使在第一图像和第二图像具有较大视角变化、较大位移变化,第一图像和第二图像之间相似的特征较少的情况下,仍能有效提取第一图像和第二图像之间的相似特征;由于第二神经网络模型利用标记了参照物实际尺寸的样本图像训练得到,因此,第二神经网络模型可以直接得到第一图像和第二图像之间基于绝对坐标系的实际位移量和实际偏转角度值;利用得到的相似度特征矩阵确定第一图像和第二图像基于绝对坐标系的实际位移量和实际偏转角度值,可以更好的针对具有较大视角变化、较大位移变化的两张图像给出准确的确定图像位姿变换的结果。尤其是针对全景图像通过每两个像素点之间进行特征匹配、以及实际位移量和实际偏转角度值的确定,与传统方法使用第一图像与第二图像之间的相对位移量和相对偏转角度值表达位姿变换结果相比,能够适应更广泛的图像类型,针对鱼眼图像、广角图像、全景图像等图像类型,由于具有较大的较大视角变化、较大位移变化,且具有更多的信息量、图像的部分区域存在畸变,使用相对位移量和相对偏转角度往往无法准确表达位姿变换结果,而实际位移量和实际偏转角度值无论针对何种图像类型均可准确表达位姿变换结果。

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本申请作进一步地详细描述。

实施例一

图1为本申请实施例一的流程示意图,如图1所示,该实施例主要包括:

s101:对获取的第一图像和第二图像分别提取特征,得到第一图像的特征向量和第二图像的特征向量。

这里,第一图像和第二图像是图像采集设备采集的二维图像。具体的图像采集设备为可以采集图像的摄像头、扫描设备等,也可以是手机等带有摄像头的移动设备。第一图像和第二图像可以是任意大小、形状和视角的图像,包括普通图像、广角图像、变焦图像、鱼眼图像等,也可以是鱼眼或球形投影的全景图像。第一图像和第二图像具体可以包括上述图像的rgb信息,也就是上述图像的色彩信息,也可以包括纹理信息。在进行第一图像和第二图像的采集时,可以使用手持图像采集设备,也可以将图像采集设备固定在三脚架或者可移动设备上,例如可以将图像采集设备固定在车辆、无人机、机器人、室内外自动移动的小车等可移动设备上。

对第一图像和第二图像提取的特征包括至少一维特征,上述至少一维特征中包括图像的色彩特征、纹理特征等,也可以包括不具有物理意义或数学意义的多维数值特征。

s102:根据所述第一图像的特征向量和所述第二图像的特征向量,确定第一图像和第二图像之间的相似度特征矩阵;所述相似度特征矩阵的每一个元素为所述第一图像的像素点与所述第二图像的像素点之间的相似度。

这里,第一图像的特征向量为第一图像中每个像素点的特征向量的集合,第二图像的特征向量为第二图像中每个像素点的特征向量的集合。

为了在第一图像和第二图像具有较大视角变化、较大位移变化,第一图像和第二图像之间相似的特征较少的情况下,仍能有效提取第一图像和第二图像之间的相似特征,从而更全面、更准确地提取第一图像和第二图像的相似特征。确定第一图像的每个像素点和第二图像的每个像素点之间的相似度,形成相似度特征矩阵。

由于第一图像和第二图像均是基于二维图像的。因此,第一图像和第二图像中的每个像素点,均可以使用其在第一图像或第二图像中的横纵坐标进行标识,例如,如图2所示,第一图像中包含m*n个像素点,每个像素点可以标识为m*n,第二图像中包含p*q个像素点,每个像素点可以标识为p*q。针对第一图像的每个像素点和第二图像中的每个像素点,两两进行特征匹配,例如,针对第一图像中的第1个到第m*n个像素点,使用第一图像中该像素点m*n的特征向量,与第二图像中第1个到第p*q个像素点的特征向量分别进行相似度计算,得到相似度特征矩阵,得到的相似度特征矩阵通常为m*p*n*q的四维的矩阵。综上,相似度特征矩阵是根据第一图像的每个像素点和第二图像的每个像素点两两匹配得到的,相似度特征矩阵中的每个元素为第一图像中一个像素点与第二图像中一个像素点之间的相似度。因此,通过匹配得到的相似度特征矩阵可以得到第一图像与第二图像之间全面准确的相似特征。

s103:将所述相似度特征矩阵输入第二神经网络模型中,得到所述第一图像与所述第二图像之间的位移量和偏转角度值、以及置信度;所述第二神经网络模型是基于标记了参照物实际尺寸的样本图像训练得到的;所述位移量与所述偏转角度值是所述第一图像和所述第二图像之间基于绝对坐标系的实际位移量和实际偏转角度值。

这里,绝对坐标系为以实际长度为坐标刻度值的坐标系,并且,第一图像和第二图像中处于同一空间的每个物体使用同一绝对坐标系表征其位置。使用第二神经网络模型直接得到第一图像和第二图像之间基于绝对坐标系的实际位移量和实际偏转角度值,为了得到第一图像和第二图像之间基于绝对坐标系的实际位移量和实际偏转角度值,第二神经网络模型基于标记了参照物实际尺寸的样本图像训练得到,这里可以根据实际使用场景选择有参考意义的物体作为样本图像中的参照物,参照物的实际尺寸就是参照物通常情况下的基于绝对坐标系的实际尺寸,例如在对拍摄了室内场景的第一图像和第二图像进行图像位姿变换的确定时,可以将室内常见的书桌作为参照物,一般书桌的高度都在70cm到80cm之间,因此,可以将标记了70-80cm的书桌的样本图像作为标记了实际尺寸的参照物的样本图像,对第二神经网络模型进行训练。

s104:判断所述置信度是否小于预设的误差阈值,如果所述置信度小于所述误差阈值,将所述第一图像与所述第二图像之间的位移量、偏转角度值,作为目标位移量和目标偏转角度值。

上述置信度的取值范围为[0,1],可以看作第二神经网络模型对自己计算得到的第一图像与第二图像之间的位移量和偏转角度值的结果是否自信,和自信的程度。如果置信度大于预设的误差阈值,认为第二神经网络模型对自身计算结果不自信,可以认为第一图像与第二图像之间无法进行匹配。如果置信度小于所述误差阈值,认为第二神经网络模型对自身计算结果自信,将所述第一图像与所述第二图像之间的位移量、偏转角度值,作为目标位移量和目标偏转角度值,目标位移量和目标偏转角度值为确定得到的图像位姿变换结果。此时得到的图像位姿变换结果可进一步应用于三维图像,例如三维点云图像的生成。

实施例二

图3为本申请实施例二的流程示意图,如图3所示,该实施例主要包括:

s301:将所述第一图像和所述第二图像分别输入到第一神经网络模型中,得到所述第一图像的特征向量和所述第二图像的特征向量。

在一种可能的实施方式中,可以使用第一神经网络模型确定第一图像的特征向量和第二图像的特征向量。第一神经网络模型由共享参数的两个神经网络构成,第一图像和第二图像分别输入这两个共享参数的神经网络中,得到第一图像的特征向量和第二图像的特征向量。确定得到的第一图像的特征向量和第二图像的特征向量,可以不具有物理意义或数学意义。

示例性的,第一神经网络模型中的两个共享参数的神经网络均可以采用密集连接模型(densenet)的特征提取部分、残差网络模型(resnet)或视觉组模型(visualgeometrygroupnetwork,vgg)等实现。为了方便描述,将第一图像的特征向量记为f1,将第二图像的特征向量记为f2。

为了更准确的提取f1和f2,也为了后续的特征匹配过程在具有较大视角变化、较大位移变化、图像可能有畸变的情况下,仍能够更准确、全面的匹配第一图像和第二图像的相似特征,使用上述第一神经网络模型确定f1和f2的同时,还可以获得第一图像和第二图像的语义特征,可以用语义特征表征第一图像和第二图像中的每个像素所属的物体。

为了避免在模型训练的时候根据特征向量中的某一维单一特征进行学习,增强第一神经网络模型的泛化能力,在确定了f1和f2之后,可以分别对f1与f2进行l2正则化,将f1和f2中每一维特征的数值转化到预设数值区间,通常转化到区间[0,1]。

s302:根据所述第一图像的特征向量和所述第二图像的特征向量,确定第一图像和第二图像之间的相似度特征矩阵。

具体的,可以利用对正则化之后的f1和f2进行内积的方法,针对第一图像的每个像素点,确定该像素点与第二图像中的每个像素点的相似度,从而可以获得第一图像和第二图像中更多、更全面的相似特征。例如,第一图像中包含m*n个像素点,第二图像中包含p*q个像素点,得到的相似度特征矩阵通常为m*p*n*q的四维的矩阵。

在特征向量包括语义特征时,针对所述第一图像中的每个像素点,还可以根据第一图像的语义特征和第二图像的语义特征,确定该像素点与所述第二图像中的每个像素点是否属于同一个物体。对两个像素点是否属于同一物体进行判断,可以进一步提升对两个像素点相似度计算的准确度,在两个图片之间相对位移较大、视角变化较大、图像纹理较少、甚至图像的局部区域存在畸变的情况下,由于加入了语义特征进行像素点之间的特征匹配,均可以获得准确的像素点相似度的计算结果。

进一步的,为了对特征匹配结果进行优化,可以使用激活函数对得到的相似度特征矩阵进行激活,例如,使用relu激活函数进行激活,在进行特征匹配时,属于同一物体的具有相似度的正相关特征会得到正的元素数值,反之,会得到负的元素数值或0,使用激活函数可以将相似度特征矩阵中数值为负数或0的元素删除,从而对相似度特征矩阵进行优化,更加突出匹配的特征,方便第二神经网络模型对属于同一物体的具有相似度的特征进行更好的学习。

同样的,为了增强泛化能力,可以将相似度特征矩阵中每个元素的数值转化到预设数值区间,通常转化到区间[0,1],具体例如可以利用l2正则化的方法将相似度特征矩阵中每个元素的数值转化到预设数值区间。

s303:将所述包含四维特征向量的第一矩阵转换为包含三维特征向量的第二矩阵。

为了提升与成熟图像位姿变换确定方法的兼容能力,简化计算方法,减少实现本方案的工作量,提升实现本方案的效率,并且由于一般由图像信息提取的特征为包含三维特征向量的特征矩阵,在得到的相似度特征矩阵为,使用第一图像中像素点的横纵坐标和第二图像中像素点的横纵坐标作为元素标识的包含四维特征向量的矩阵的情况下,可以使用下述步骤1和步骤2,将其转换为包含三维特征向量的矩阵:

步骤1、根据所述第一矩阵中的第三维特征向量和第四维特征向量生成特征向量,作为所述第二矩阵中的第三维特征向量;

步骤2、将所述第一矩阵中的第一维特征向量作为所述第二矩阵中的第一维特征向量,并将所述第一矩阵中的第二维特征向量作为所述第二矩阵中的第二维特征向量。

s304:使用预设大小的卷积核对所述相似度特征矩阵进行至少一次降维,每次降维后,将得到的相似度特征矩阵中的每个元素转化到预设数值区间,并将负相关的元素删除。

将相似度特征矩阵输入第二神经网络模型中,在第二神经网络模型中使用预设大小的卷积核对所述相似度特征矩阵进行至少一次降维,具体例如,可以使用5*5大小的卷积核对相似度特征矩阵进行降维。现有技术中,使用卷积核对匹配特征进行降维时,通常采用3*3大小的卷积核,由于本申请实施例针对第一图像和第二图像中的每个像素点进行了两两匹配,得到的相似度特征矩阵中的元素较多,尤其是对全景图片进行匹配时,全景图像的信息量较大,得到的相似度特征矩阵中的元素更多。因此,为了防止过拟合,本申请使用5*5大小的卷积核对相似度特征矩阵进行降维。另外,使用5*5大小的卷积核对相似度特征矩阵进行降维还有进一步的有益技术效果,在进行像素点的特征匹配时,如果两个像素点是属于同一物体且相互匹配的正相关像素点,其周边的像素点也倾向为属于同一物体且相互匹配的正相关像素点,因此,使用5*5大小的卷积核对相似度特征矩阵进行降维,可以引导第二神经网络模型更准确地学习到图像特征匹配信息,从而使通过第二神经网络模型得到的第一图像与第二图像之间的位移量、偏转角度值更加准确。

同样的,为了对特征匹配结果进行优化,增强第二神经网络模型的泛化能力,将每次降维后的得到的相似度特征矩阵中的每个元素转化到预设数值区间,并将负相关的元素删除。例如,可以通过批正则化将每次降维后的得到的相似度特征矩阵中的每个元素转化到[0,1]区间;可以通过relu激活函数,对正则化后的相似度特征矩阵中的每个元素进行激活。

示例性的,第二神经网络模型可以包括两层神经网络用于对相似度特征矩阵进行降维,第一层神经网络将相似度特征矩阵降为128个通道,第二层神经网络将相似度特征矩阵降为64个通道。

s305:将所述至少一次降维后的相似度特征矩阵输入全连接层神经网络,得到所述第一图像与所述第二图像之间的位移量和偏转角度值、以及置信度。

第二神经网络模型还包括全连接层神经网络。具体例如,可以将使用两层神经网络进行两次降维后的相似度特征矩阵输入全连接层神经网络,使用全连接层神经网络输出分别输出第一图像与第二图像之间的位移量和偏转角度值、以及置信度。

第一图像与第二图像之间的位移量包括三个参数,分别是三维空间中长、宽、高,具体的,可以对第一图像和第二图像使用三维的绝对坐标系,以三维坐标值x、y和z表示第一图像与第二图像之间的位移量。第一图像与第二图像之间的位移量可以以米为单位,也可以以厘米为单位。

第一图像与第二图像之间偏转角度值可以用欧拉角描述,也可以用单位四元数描述。由于欧拉角描述偏转角度值存在全局锁问题,因此优选采用单位四元数,因此,第一图像与第二图像之间偏转角度值可以包括四个参数:w、x、y和z,也使用绝对坐标系中的实际偏转角度值表示。

置信度可表征为c,置信度的取值一般在0到1之间,可以看作第二神经网络模型对自己计算得到的第一图像与第二图像之间的位移量和偏转角度值的自信程度。

s306:判断所述置信度是否小于预设的误差阈值,如果所述置信度小于所述误差阈值,将所述第一图像与所述第二图像之间的位移量、偏转角度值,作为目标位移量和目标偏转角度值。

可以根据经验设定上述误差阈值,例如,误差阈值可以设定为0.1-0.4之间,如果置信度小于误差阈值,将第一图像与第二图像之间的位移量、偏转角度值,作为目标位移量和目标偏转角度值,也就是作为确定图像位姿变换的的结果。

实施例三

如图4所示,本申请实施例三提供了确定图像位姿变换的方法中对第二神经网络模型进行训练的步骤,包括:

s401:获取标记了尺寸标签、位移量标签和偏转角度标签多个样本图像组;其中,每个所述样本图像组包含第一图像样本和第二图像样本;所述尺寸标签根据预设参照物的实际尺寸进行标记;所述位移量标签根据第一图像样本或第二图像样本相对于绝对坐标系的实际位移量进行标记;所述偏转角度标签根据第一图像样本或第二图像样本相对于绝对坐标系的实际偏转角度值进行标记;。

这里,位移量标签中的实际位移量可以以米为单位,也可以以厘米为单位。优选的,偏转角度标签使用单位四元数表示。

具体的,可以根据实际使用场景选择有参考意义的物体作为样本图像中的参照物,参照物的实际尺寸就是参照物通常情况下的基于绝对坐标系的实际尺寸,例如在对拍摄了室内场景的第一图像和第二图像进行图像位姿变换的确定时,可以将室内常见的书桌作为参照物,一般书桌的高度都在70cm到80cm之间,因此,可以将标记了70-80cm的书桌的样本图像作为标记了实际尺寸的参照物的样本图像,对第二神经网络模型进行训练。

s402:针对每个所述样本图像组,对该样本图像组中的第一图像样本和第二图像样本提取特征,得到第一图像样本的样本特征向量和第二图像样本的样本特征向量。

可以采用与根据第一图像提取第一图像的特征向量、以及根据第二图像提取第二图像的特征向量相同的方法,提取第一图像样本和第二图像样本的特征,得到第一图像样本的样本特征向量和第二图像样本的样本特征向量。

s403:根据所述第一图像样本的样本特征向量和所述第二图像样本的样本特征向量,确定第一图像样本和第二图像样本之间的样本相似度特征矩阵。

可以采取与根据第一图像的特征向量和第二图像的特征向量,确定第一图像和第二图像之间的相似度特征矩阵相同的方法,根据第一图像样本的样本特征向量和第二图像样本的样本特征向量,确定第一图像样本和第二图像样本之间的样本相似度特征矩阵。

s404:将所述样本相似度特征矩阵输入初始第二神经网络模型中,得到所述第一图像样本与所述第二图像样本之间的计算位移量、计算偏转角度值和计算置信度。

可以利用本申请实施例二提供的,包括两层神经网络降维和全连接层神经网络输出的神经网络模型,作为第二神经网络模型,基于相似度特征矩阵,得到第一图像与第二图像之间的计算位移量、计算偏转角度值和计算置信度。

s405:根据所述计算位移量和所述位移量标签确定位移损失值,根据所述计算偏转角度值和所述偏转角度标签确定偏转损失值。

s406:根据所述位移损失值、所述偏转损失值和所述置信度更新所述初始第二神经网络模型的参数,得到所述第二神经网络模型。

具体的,可以根据位移损失值、偏转损失值、置信度以及各自的权重,得到损失函数值,并根据损失函数值更新第二神经网络模型的参数。

示例性的,可以采用下述公式计算损失函数l:

l=ω1*ld+ω2*la+ω3*c

其中,l为损失函数值,ld为位移损失值,ω1为位移损失值的权重,la为偏转损失值,ω2为偏转损失值的权重,c为置信度,ω3为置信度的权重。优选的,可以采用l1损失值计算函数计算位移损失值和偏转损失值。进一步的,偏转损失值的权重最大。

实施例四

如图5所示,本申请实施例四提供了确定图像位姿变换的方法中对第一神经网络模型进行训练的步骤,包括:

s501:使用多张第一图像样本和多张第二图像样本对第一神经网络模型进行有监督的训练。

在第一神经外网络包括共享参数的两个神经网络的情况下,使用第一图像样本输入其中一个神经网络,第二图像样本输入另一个神经网络,对两个神经网络进行联合训练。

在使用第一神经网络模型确定的第一图像的特征向量和第二图像的特征向量包括语义特征的情况下,第一图像样本和第二图像样本中还标记有语义标签,语义标签根据第一图像和第二图像中的每个像素所属的物体进行标记。

s502:根据第二神经网络模型的计算结果,调整第一神经网络模型的参数。

具体的,使用第一神经网络模型根据第一图像样本和第二图像样本确定第一图像样本的特征向量和第二图像样本的特征向量,并根据第一图像样本的特征向量和第二图像样本的特性向量,确定第一图像样本和第二图像样本之间的相似度特征矩阵。将相似度特征矩阵输入第二神经网络模型中,并根据第二神经网络模型的计算结果,调整第一神经网络模型的参数。

第一神经网络模型提取的第一图像的特征向量和第二图像的特征向量应用于后续的特征匹配和位姿变换的确定,因此,利用第二神经网络得到的位姿变换结果,判断第一神经网络模型得到的第一图像的特征向量和第二图像的特征向量的准确度,从而调整第一神经网络模型的参数。

基于相同的设计构思,本申请实施例还提供一种确定图像位姿变换的装置及存储介质。

实施例五

如图6所示,本申请实施例还提供一种确定图像位姿变换的装置600,包括:

特征提取模块601,用于对获取的第一图像和第二图像分别提取特征,得到第一图像的特征向量和第二图像的特征向量;

相似度确定模块602,用于根据所述第一图像的特征向量和所述第二图像的特征向量,确定第一图像和第二图像之间的相似度特征矩阵;所述相似度特征矩阵的每一个元素为所述第一图像的像素点与所述第二图像的像素点之间的相似度;

第二神经网络模型603,用于根据所述相似度特征矩阵,得到所述第一图像与所述第二图像之间的位移量和偏转角度值、以及置信度;所述第二神经网络模型是基于标记了参照物实际尺寸的样本图像训练得到的;所述位移量与所述偏转角度值是所述第一图像和所述第二图像之间基于绝对坐标系的实际位移量和实际偏转角度值;

位移确定模块604,用于判断所述置信度是否小于预设的误差阈值,如果所述置信度小于所述误差阈值,将所述第一图像与所述第二图像之间的位移量、偏转角度值,作为目标位移量和目标偏转角度值。

在确定图像位姿变换的装置600中,特征提取模块601与相似度确定模块602连接,特征提取模块601用于提取第一图像的特征向量和第二图像的特征向量,之后将第一图像的特征向量和第二图像的特征向量发送给相似度确定模块602。相似度确定模块602与第二神经网络模型603连接,相似度确定模块602根据第一图像的特征向量和第二图像的特征向量确定相似度特征矩阵,并将相似度特征矩阵发送给第二神经网络模型603,第二神经网络模型603根据相似度特征矩阵,确定位移量、偏转角度值以及置信度。第二神经网络模型603与位移确定模块604连接,第二神经网络模型603将位移量、偏转角度值以及置信度发送给位移确定模块604,位移确定模块604根据置信度,确定目标位移量和目标偏转角度值。

一种可能的实施方式中,所述特征向量包括语义特征;所述语义特征用于表征所述第一图像和所述第二图像中的每个像素所属的物体;

特征提取模块601,还用于:

针对所述第一图像中的每个像素点,根据第一图像的语义特征和第二图像的语义特征,确定该像素点与所述第二图像中的每个像素点是否属于同一个物体。

一种可能的实施方式中,特征提取模块601,还用于:

将所述第一图像和所述第二图像分别输入到第一神经网络模型中,得到所述第一图像的特征向量和所述第二图像的特征向量;所述第一神经网络模型由共享参数的两个神经网络构成。

一种可能的实施方式中,如图7所示,第二神经网络模型603,具体包括:

降维单元701,用于使用预设大小的卷积核对所述相似度特征矩阵进行至少一次降维,每次降维后,将得到的相似度特征矩阵中的每个元素转化到预设数值区间,并将负相关的元素删除;

全连接层神经网络702,用于根据所述至少一次降维后的相似度特征矩阵,得到所述第一图像与所述第二图像之间的位移量和偏转角度值、以及置信度。

降维单元701分别与全连接层神经网络702和相似度确定模块602连接,降维单元701从相似度确定模块602获取相似度特征矩阵,并对相似度特征矩阵进行降维。降维单元701将至少一次降维后的相似度特征矩阵,发送给全连接层神经网络702,全连接层神经网络702根据至少一次降维后的相似度特征矩阵,确定位移量、偏转角度值以及置信度。

一种可能的实施方式中,每个所述相似度构成一个包含四维特征向量的矩阵;

相似度确定模块602,还用于:

将所述包含四维特征向量的第一矩阵转换为包含三维特征向量的第二矩阵。

一种可能的实施方式中,相似度确定模块602,还用于:

根据所述第一矩阵中的第三维特征向量和第四维特征向量生成特征向量,作为所述第二矩阵中的第三维特征向量;

将所述第一矩阵中的第一维特征向量作为所述第二矩阵中的第一维特征向量,并将所述第一矩阵中的第二维特征向量作为所述第二矩阵中的第二维特征向量

一种可能的实施方式中,确定图像位姿变换的装置500还包括,模型训练模块605,如图8所示,模型训练模块605,包括:

样本获取单元801,用于获取标记了尺寸标签、位移量标签和偏转角度标签多个样本图像组;其中,每个所述样本图像组包含第一图像样本和第二图像样本;所述尺寸标签根据预设参照物的实际尺寸进行标记;所述位移量标签根据第一图像样本或第二图像样本相对于绝对坐标系的实际位移量进行标记;所述偏转角度标签根据第一图像样本或第二图像样本相对于绝对坐标系的实际偏转角度值进行标记;

样本特征提取单元802,用于针对每个所述样本图像组,对该样本图像组中的第一图像样本和第二图像样本提取特征,得到第一图像样本的样本特征向量和第二图像样本的样本特征向量;

样本相似度确定单元803,用于根据所述第一图像样本的样本特征向量和所述第二图像样本的样本特征向量,确定第一图像样本和第二图像样本之间的样本相似度特征矩阵;

初始第二神经网络模型804,用于根据所述样本相似度特征矩阵,得到所述第一图像样本与所述第二图像样本之间的计算位移量、计算偏转角度值和计算置信度;

损失计算单元805,用于根据所述计算位移量和所述位移量标签确定位移损失值,根据所述计算偏转角度值和所述偏转角度标签确定偏转损失值;

参数更新单元806,用于根据所述位移损失值、所述偏转损失值和所述置信度更新所述初始第二神经网络模型804的参数,得到所述第二神经网络模型603。

此种可能的实施方式中,模型训练模块605与第二神经网络模型603连接。具体的,样本获取单元801与样本特征提取单元802连接,样本获取单元801用于获取第一图像样本和第二图像样本,并将第一图像样本和第二图像样本发送给样本特征提取单元802,样本特征提取单元802用于根据第一图像样本和第二图像样本分别提取第一图像样本的样本特征向量和第二图像样本的样本特征向量。样本特征提取单元802与样本相似度确定单元803连接,将第一图像样本的样本特征向量和第二图像样本的样本特征向量发送给样本相似度确定单元803,样本相似度确定单元803根据第一图像样本的样本特征向量和第二图像样本的样本特征向量确定样本相似度特征矩阵。样本相似度确定单元803与初始第二神经网络模型804连接,将样本相似度特征矩阵发送给初始第二神经网络模型804,初始第二神经网络模型804根据样本相似度特征矩阵,得到计算位移量、计算偏转角度值和计算置信度。初始第二神经网络模型804分别与损失计算单元805和参数更新单元806连接,将计算位移量、计算偏转角度值和计算置信度发送给损失计算单元805,由损失计算单元805确定位移损失值和偏转损失值。损失计算单元805与参数更新单元806连接,将位移损失值和偏转损失值发送给损失计算单元805。损失计算单元805分别与第二神经网络模型603、参数更新单元806和初始第二神经网络模型804连接,损失计算单元805根据位移损失值、偏转损失值和置信度更新初始第二神经网络模型804得到第二神经网络模型603。

本申请实施例提供的确定图像位姿变换的装置可以克服传统方法仅能确定视角变化与位移变化较小的两张图像之间的图像位移的缺陷,对具有较大视角变化、较大位移变化的两张图像可以给出准确的图像位姿变换的确定结果。

实施例六

一种计算机可读介质,所述计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行实施例一到实施例三提供的方法的步骤。实际应用中,所述的计算机可读介质可以为ram、rom、eprom、磁盘、光盘等等,并不用于限制本申请保护的范围。

本申请所述的方法步骤除了可以用数据处理程序来实现,还可以由硬件来实现,例如,可以由逻辑门、开关、专用集成电路(asic)、可编程逻辑控制器和嵌微控制器等来实现。因此这种可以实现本申请所述方法的硬件也可以构成本申请。

实施例七

本申请实施例还提供一种电子设备,可以是计算机或服务器,其中可以集成本申请上述装置实施例五的装置。如图9所示,其示出了本申请装置实施例五所涉及的电子设备900。

该电子设备可以包括一个或者一个以上处理核心的处理器901、一个或一个以上计算机可读存储介质902。该电子设备还可以包括电源903、输入输出单元904。本领域技术人员可以理解,图9中并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

其中:

处理器901是该电子设备的控制部分,利用各种接口和线路连接各个部分,通过运行或执行存储在计算机可读存储介质902中的软件程序,执行实施例一到实施例四提供的方法的步骤。

计算机可读存储介质902可用于存储软件程序,即实施例一到实施例四提供的方法中涉及的程序。

处理器901通过运行存储在计算机可读存储介质902的软件程序,从而执行各种功能应用以及数据处理。计算机可读存储介质902可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如确定第一图像与第二图像之间的位移量和偏转角度值等)等;存储数据区可存储根据电子设备需要使用的数据等(比如第一图像的特征向量和第二图像的特征向量等)。此外,计算机可读存储介质902可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,计算机可读存储介质902还可以包括存储器控制器,以提供处理器901对计算机可读存储介质902的访问。

电子设备还包括给各个部件供电的电源903,优选的,电源903可以通过电源管理系统与处理器901逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源901还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

该服务器还可包括输入输出单元904,比如可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入;比如可用于显示由用户输入的信息或提供给用户的信息以及服务器的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。

综上所述,以上仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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