掌桥专利:专业的专利平台
掌桥专利
首页

图像单应矩阵确定方法及设备

文献发布时间:2023-06-19 18:53:06


图像单应矩阵确定方法及设备

技术领域

本公开实施例涉及图像处理技术领域,尤其涉及一种图像单应矩阵确定方法及设备。

背景技术

为拍摄到清晰度、光线强度等方面表现较佳的图像,用户通常使用相机从不同角度拍摄同一场景,得到相机在不同视角下拍摄的同一场景的多个图像。其中,不同视角拍摄的同一场景的两个图像之间的位姿变换关系为该两个图像之间的单应矩阵,单应矩阵可用于图像对齐、拼接等图像处理技术。

目前,可采用特征点法确定同一场景下两个图像之间较优的单应矩阵。具体地,在特征点法中,对两个图像上特殊的像素点进行匹配,基于多个匹配的像素点求解单应矩阵。然而,在该方式中,需要在两个图像上找到数量较多的相互匹配的像素点,且计算量较大,导致求解单应矩阵的效率较低。

发明内容

本公开实施例提供一种图像单应矩阵确定方法及设备,以克服确定同一场景下不同图像之间的单应矩阵的效率较低的问题。

第一方面,本公开实施例提供一种图像单应矩阵确定方法,在单应矩阵的解耦模型中,单应矩阵中旋转量和平移量分开参数化,所述图像单应矩阵确定方法包括:

确定第一图像相对于第二图像的目标旋转量,所述第一图像与所述第二图像为同一相机在不同视角拍摄的目标场景的图像;

基于所述目标旋转量,对所述解耦模型中的平移量进行迭代优化,得到目标平移量;

根据所述目标旋转量、所述目标平移量和所述解耦模型,确定目标单应矩阵,其中,通过所述目标单应矩阵对所述第一图像进行旋转平移变换后的目标图像与所述第二图像的差异小于误差阈值。

第二方面,本公开实施例提供一种图像单应矩阵确定设备,在单应矩阵的解耦模型中,单应矩阵中旋转量和平移量分开参数化,所述图像单应矩阵确定设备包括:

第一确定单元,用于确定第一图像相对于第二图像的目标旋转量,所述第一图像与所述第二图像为同一相机在不同视角拍摄的目标场景的图像;

优化单元,用于基于所述目标旋转量,对所述解耦模型中的平移量进行迭代优化,得到目标平移量;

第二确定单元,用于根据所述目标旋转量、所述目标平移量和所述解耦模型,确定目标单应矩阵,其中,通过所述目标单应矩阵对所述第一图像进行旋转平移变换后的目标图像与所述第二图像的差异小于误差阈值。

第三方面,本公开实施例提供一种电子设备,包括:至少一个处理器和存储器。所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的图像单应矩阵确定方法。

第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的图像单应矩阵确定方法。

第五方面,本公开实施例提供一种计算机程序产品,所述计算机程序产品包含计算机执行指令,当处理器执行计算机执行指令时,实现如上述第一方面以及第一方面各可能的设计所述的图像单应矩阵确定方法。

本公开实施例提供的图像单应矩阵确定方法及设备中,通过单应矩阵的解耦模型,将单应矩阵中的旋转量和平移量分开参数化,在确定同一相机在不同视角拍摄目标场景的第一图像与第二图像之间的单应矩阵的过程中,基于确定的第一图像相对于第二图像的目标旋转量,对解耦模型中的平移量进行迭代优化,得到目标平移量,基于目标旋转量、目标平移量和解耦模型,确定目标单应矩阵。从而,通过固定单应矩阵的解耦模型中的旋转量不变,对平移量进行迭代优化,得到最终的单应矩阵,相较于直接优化求解平移量与旋转量耦合的单应矩阵,该方式提高了单应矩阵优化求解的效率和鲁棒性。

附图说明

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

图1为本公开实施例提供的应用场景的示意图;

图2为本公开实施例提供的图像单应矩阵确定方法的流程示意图;

图3为本公开实施例提供的图像单应矩阵确定方法中对解耦模型中的平移量进行迭代优化的流程示意图;

图4为本公开实施例提供的图像单应矩阵确定设备的结构框图;

图5为本公开实施例提供的电子设备的硬件结构示意图。

具体实施方式

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

相机在不同视角拍摄的同一场景的两个图像之间的位姿变换关系为该两个图像之间的单应矩阵(Homography matrix,又称为单应性矩阵)。通常的,通过特征点法在两个图像上确定特殊的像素点进行匹配,根据匹配结果对单应矩阵进行优化求解。然而,一方面,该方式需要找到数量较多的相互匹配的像素点,另一方面,单应矩阵的自由度(变量的数量)较大,该方式是对整个单应矩阵进行优化,计算量大。因此,单应矩阵优化求解的效率较低。

为解决上述问题,本公开实施例提供了一种图像单应矩阵确定方法及设备。在该方法中,在单应矩阵的解耦模型中,单应矩阵中的旋转量和平移量分开参数化,在确定同一相机在不同视角拍摄的目标场景的第一图像和第二图像之间的单应矩阵的过程中,基于第一图像相对于第二图像的目标旋转量,对解耦模型中的平移量进行迭代优化,得到目标平移量,基于目标旋转量、目标平移量和解耦模型,确定目标单应矩阵。从而,通过单应矩阵的解耦模型,将单应矩阵的优化过程,简化为固定旋转量不变优化平移量的过程,有效地提高了单应矩阵优化求解的效率和鲁棒性。

其中,方法和设备是基于同一申请构思的,由于方法和设备解决问题的原理相似,因此方法和设备的实施可以相互参见,重复之处不再赘述。

参考图1,图1为本公开实施例提供的应用场景的示意图。

图1所示的应用场景为图像处理场景,在图像处理场景中,涉及的设备包括电子设备101,电子设备101可通过自身的相机获取同一场景在不同拍摄视角下的图像,也可以获取来自其他设备的同一场景在不同拍摄视角下的图像,针对这些图像,进行单应矩阵的优化求解。其中,电子设备101可以为终端、服务器,图1中以电子设备101为终端为例。

可选的,在电子设备101为终端的情况下,图像处理场景还包括摄像设备102,可通过摄像设备102获取同一场景在不同拍摄视角下的图像,并将这些图像发送给电子设备101。

可选的,在电子设备101为终端的情况下,图像处理场景还包括服务器103,服务器103既可以接收来自电子设备101或者摄像设备102的同一场景在不同拍摄视角下的图像,存储这些图像和/或针对这些图像进行单应矩阵的优化求解。

其中,电子设备101、摄像设备102、服务器103例如通过网络进行通信。

示例性的,本公开实施例提供的图像单应矩阵确定方法可以应用在电子设备,例如终端、服务器。其中,终端可以是个人数字处理(personal digital assistant,简称PDA)设备、具有无线通信功能的手持设备(例如智能手机、平板电脑)、计算设备(例如个人电脑(personal computer,简称PC))、车载设备、可穿戴设备(例如智能手表、智能手环)、以及智能家居设备(例如智能显示设备)等。

参考图2,图2为本公开实施例提供的图像单应矩阵确定方法的流程示意图。如图2所示,该图像单应矩阵确定方法包括:

S201、确定第一图像相对于第二图像的目标旋转量。

其中,第一图像与第二图像为同一相机在不同视角拍摄的目标场景的图像,也即,第一图像与第二图像为同一场景的图像,且第一图像与第二图像由同一相机在不同视角下拍摄得到的。

由于第一图像和第二图像是相机在不同视角拍摄得到的,需要以其中一个图像作为参照,通过多次优化过程,求解该两个图像之间的单应矩阵。在此以及在后续实施例中,以第二图像作为参照,求解第一图像相对于第二图像的单应矩阵,也即第一图像旋转变换至于第二图像对齐所采用的单应矩阵。

考虑到单应矩阵中旋转量和平移量耦合,导致单应矩阵的自由度较大,优化过程的计算量较大。为简化单应矩阵的优化过程,本实施例中预先构建了单应矩阵的解耦模型,通过解耦模型对单应矩阵中的旋转量和平移量分开参数化,也即通过解耦模型对单应矩阵中的旋转量和平移量进行解耦,将单应矩阵表示为包含单独参数化的旋转量、平移量的解耦模型。

本步骤中,确定第一图像相对于第二图像的固定的旋转量,为便于区分描述,将该固定的旋转量称为目标旋转量。在后续优化过程中,目标旋转量保持不变,从而将单应矩阵的优化过程简化为平移量的优化过程,提高了单应矩阵的优化效率和鲁棒性。

其中,旋转量包括旋转角度和旋转方向。同样的,平移量包括平移距离和平移方向。

在一些实施例中,S201的一种可能的实现方式包括:接收用户输入或者用户设置的第一图像相对于第二图像的目标旋转量。例如,用户可以通过经验或者通过专业工具来确定第一图像与第二图像对齐所需要的旋转量,在当前设备上输入该旋转量作为第一图像相对于第二图像的目标旋转量。

在一些实施例中,当前设备为终端时,或者说,第一图像和第二图像当前所在的设备为终端或者拍摄第一图像和第二图像的设备为终端时,S201的另一种可能的实现方式包括:通过终端的传感器,获取终端的旋转量;确定目标旋转量为终端的旋转量。从而,通过终端的一个旋转情况,来确定第一图像相对于第二图像的旋转量。

其中,终端的旋转量包括终端的旋转角度和旋转方向。例如,第一图像和第二图像显示在手机上时,可通过手机的惯性传感器(Inertial Measurement Unit,IMU)得到手机的旋转量,确定第一图像相对于第二图像的目标旋转量为该旋转量。

S202、基于目标旋转量,对解耦模型中的平移量进行迭代优化,得到目标平移量。

本步骤中,在确定目标旋转量之后,确定解耦模型中的旋转量为该目标旋转量,如此,在优化过程中,固定解耦模型中的旋转量不变,对解耦模型中的平移量进行迭代优化,得到最终优化后的平移量,为了便于区分,将最终优化后的平移量称为目标平移量。从而,借助解耦模型将单应矩阵中的旋转量和平移量进行解耦,在优化过程中,固定旋转量不变,单单优化平移量,有效地降低了单应矩阵优化的复杂度,减少了计算量,提高了优化效率。

在一些实施例中,S202的一种可能的实施方式包括:每次优化过程中,按照目标旋转量对第一图像进行旋转,按照优化前的平移量对第一图像进行平移,将旋转平移后的第一图像与第二图像进行比较,根据比较结果优化平移量,基于优化后的平移量进行下一次优化过程。

在一些实施例中,S202的另一种可能的实现方式包括:每次优化过程中,按照目标旋转量、优化前的平移量和解耦模型,确定单应矩阵,根据单应矩阵对第一图像进行旋转平移变换,将旋转平移后的第一图像与第二图像进行比较,根据比较结果优化平移量,基于优化后的平移量进行下一次优化过程。该优化过程可以参照后续实施例,在此不进行详细描述。

S203、根据目标旋转量、目标平移量和解耦模型,确定目标单应矩阵。

其中,通过目标单应矩阵对第一图像进行旋转平移变换后的目标图像与第二图像的差异小于误差阈值,换句话说,在得到目标单应矩阵后,通过目标单应矩阵对第一图像进行像素位置变换,得到目标图像,所得到的目标图像与第二图像之间的差异小于误差阈值。

本步骤中,在确定目标平移量后,由于解耦模型是将单应矩阵解耦为分开参数化的旋转量和平移量,可将目标旋转量、目标平移量输入解耦模型,得到与目标旋转量和目标平移量对应的单应矩阵,也即最终优化后的单应矩阵。为了便于区分,将该单应矩阵称为目标单应矩阵。

本公开实施例提供的图像单应矩阵确定方法中,在单应矩阵的解耦模型中,将单应矩阵解耦为分开参数化的旋转量和平移量,在确定同一场景在不同视角拍摄的第一图像和第二图像之间的单应矩阵时,固定解耦模型中的旋转量不变,对解耦模型中的平移量进行迭代优化,实现对单应矩阵的优化,降低了单应矩阵优化的计算量,提高了单应矩阵优化求解的效率和鲁棒性。

参考图3,图3为本公开实施例提供的图像单应矩阵确定方法中对解耦模型中的平移量进行迭代优化的流程示意图。如图3所示,对解耦模型中的平移量进行迭代优化的过程,包括:

S301、通过基于目标旋转量、上一次优化后的平移量以及解耦模型确定的单应矩阵,对第一图像进行像素位置变换。

本步骤中,在第一次优化过程中,上一次优化后的平移量为初始的平移量,其中,可采用随机初始化的方式得到初始的平移量,也即通过一个初始估计来猜测第一图像相对于第二图像的平移量,或者说,猜测第一图像上的像素与第二图像上的像素的对应关系。在第i次优化过程中,上一次优化后的平移量为经过第i-1次优化的平移量,其中,i大于1。在得到目标旋转量和上一次优化后的平移量之后,可将目标旋转量和上一次优化后的平移量输入解耦模型,得到与目标旋转量和上一次优化后的平移量对应的单应矩阵。

在确定单应矩阵后,将第一图像上的所有像素与单应矩阵进行相乘,实现对第一图像上的像素进行像素位置变换,也即对第一图像进行旋转平移变换,得到变换后的第一图像。

S302、确定变换后的第一图像与第二图像的误差。

本步骤中,在得到变换后的第一图像后,将第一图像与第二图像进行比较,得到变换后的第一图像相对第二图像的误差,该误差反映变换后的第一图像与第二图像之间的差异大小,误差越小,则表示基于单应矩阵变换后的第一图像上的像素与第二图像上的像素的对齐效果或者匹配效果越好,单应矩阵的准确性越高,能够准确反映第一图像相对于第二图像的旋转变换关系。

在一些实施例中,假设一个空间点在各个视角下成像的灰度不变,也即,假设第一图像上的一个像素与第二图像上的一个像素对应同一空间点时,该两个像素的灰度值一致。在此假设的基础上,S302的一种可能的实现方式包括:通过光度误差函数,确定变换后的第一图像与第二图像的误差图像;根据误差图像上各像素的灰度值,确定第一图像与第二图像的误差。从而,利用光度误差函数反映变换后的第一图像上各个像素与第二图像上各个像素的灰度值差异、反映第一图像的外观(像素亮度或者像素灰度)与第二图像的外观的差异的特点,提高误差的准确性,使得在优化过程中变换后的第一图像上的各个像素趋向于与第二图像上的相应像素对齐。

示例性的,光度误差函数可表示为:

e=I

由变换后的第一图像上各个像素与第二图像上的各个像素之间的光度误差构成误差图。在得到误差图后,可以对误差图上各个像素相加求和或者求平均的方式,得到变换后的第一图像与第二图像的误差。

S303、确定误差是否大于或等于误差阈值。

本步骤中,若变换后的第一图像与第二图像的误差大于误差阈值,则说明变换后的第一图像与第二图像的对齐效果不佳,优化后的平移量的准确性不够,需要对平移量进行优化,因此执行S304。若变换后的第一图像与第二图像的误差小于误差阈值,则执行S305,结束优化过程。

S304、根据误差,对上一次优化后的平移量进行优化。

本步骤中,在确定变换后的第一图像与第二图像的误差后,基于误差引导平移量的优化,具体的,可基于该误差,采用优化算法对上一次优化后的平移量进行优化。若当前优化次数为第一次,则基于该误差,采用优化算法对初始的平移量进行优化,若当前优化次数为i,则基于该误差,采用优化算法对经过i-1次优化的平移量进行优化,i大于1。

其中,优化算法例如梯度优化算法。

在一些实施例中,优化算法可采用前向合成图像对齐算法或者反向合成图像对齐算法,以降低平移量优化过程的计算量,提高优化效率,并确保优化效果。此时,S304的一种可能的实现方式包括:根据第一优化参数、第二优化参数、第三优化参数以及误差,确定平移增量;根据平移增量,对上一次优化后的平移量进行优化。

其中,在采用前向合成图像对齐算法时,在每次优化过程中,第一优化参数为变换后的第一图像的梯度,第二优化参数第一图像的像素位置变换所对应的雅阁比(Jacobian)矩阵,第三优化参数为根据变换后的第一图像的梯度和第一图像的像素位置变换所对应的雅阁比矩阵确定的海森(Hessian)矩阵,因此,每次迭代中都需要确定第一优化参数、第二优化参数和第三优化参数。

其中,在采用反向合成图像对齐算法时,第一优化参数为第二图像对应的梯度,第二优化参数为未变换的第一图像(此时第一图像的像素位置变换为0)所对应的雅阁比矩阵,第三优化参数为根据第二图像对应的梯度和未变换的第一图像对应的雅阁比矩阵确定的海森矩阵。因此,可在对解耦模型中的平移量进行迭代优化之前,根据第一图像和第二图像,确定第一优化参数、第二优化参数和第三优化参数,无需在每次迭代中确定第一优化参数、第二优化参数和第三优化参数,反向合成图像对齐算法相较于前向合成图像对齐算法,计算量更新,效率更高。

示例性的,假设I(x)表示第一图像,T(x)表示第二图像,W(x,t)表示通过t对x进行变换,x表示像素,t表示平移量,Δt表示平移增量,I(W(x,t))表示变换后的第一图像。

则,在优化算法为前向合成图像对齐算法时,平移量的优化过程可包括:

1)计算I(W(x,t))在W(x,t)处的梯度

其中,海森矩阵的计算公式例如为:

则,在优化算法为反向合成图像对齐算法时,在迭代优化之前,先计算T(x)的梯度

1)利用优化方向、海森矩阵和误差,计算平移增量Δt;2)根据平移增量优化上一次优化后的平移量,优化公式为t=t+Δt。在此,海森矩阵、平移增量的计算公式可以参照前述内容,不再赘述。

S305、确定目标平移量为上一次优化后的平移量。

本步骤中,在变换后的第一图像与第二图像之间的误差小于误差阈值时,说明优化后的平移量以满足要求,可以确定目标平移量为上一次优化后的平移量,完成平移量的优化过程。

可选的,也可以先对上一次优化后的平移量进行优化,再确定第一图像与第二图像的误差是否大于或等于误差阈值,若大于或等于误差阈值,则直接利用此次优化后的平移量进入下一次优化,否则,确定目标平移量为此次优化后的平移量。

本公开实施例提供的图像单应矩阵确定方法中,在固定解耦模型中的旋转量不变对解耦模型中的平移量进行迭代优化的过程中,借助解耦模型、优化算法、误差计算,实现对平移量的优化,进一步的可以采用反向合成图像对齐优化算法、前向合成图像对齐优化算法、光度误差函数,减小优化过程的计算量,提高平移量的优化效率和效果。

基于前述任一实施例,可选的,根据拍摄第一图像和第二图像的相机的相机内参、相机在拍摄第一图像时所拍摄的场景到相机的深度(或称距离)、相机的成像平面的法向量、旋转量以及平移量,构建单应矩阵的解耦模型。其中,解耦模型可表示为:

可以看出,通过解耦模型,将单应矩阵

对应于上文实施例的图像单应矩阵确定方法,图4为本公开实施例提供的图像单应矩阵确定设备的结构框图。为了便于说明,仅示出了与本公开实施例相关的部分。参照图4,图像单应矩阵确定设备包括:第一确定单元401、优化单元402和第二确定单元403。

第一确定单元401,用于确定第一图像相对于第二图像的目标旋转量,第一图像与第二图像为同一相机在不同视角拍摄的目标场景的图像;

优化单元402,用于基于目标旋转量,对解耦模型中的平移量进行迭代优化,得到目标平移量;

第二确定单元403,用于根据目标旋转量、目标平移量和解耦模型,确定目标单应矩阵,其中,通过目标单应矩阵对第一图像进行旋转平移变换后的目标图像与第二图像的差异小于误差阈值。

在本公开的一个实施例中,优化单元402具体用于:通过基于目标旋转量、上一次优化后的平移量以及解耦模型确定的单应矩阵,对第一图像进行像素位置变换;确定变换后的第一图像与第二图像的误差;若误差大于或等于误差阈值,则根据误差,对上一次优化后的平移量进行优化。

在本公开的一个实施例中,优化单元402具体用于:通过光度误差函数,确定变换后的第一图像与第二图像的误差图像;根据误差图像上各像素的灰度值,确定误差。

在本公开的一个实施例中,优化单元402具体用于:根据第一优化参数、第二优化参数、第三优化参数以及误差,确定平移增量;根据平移增量,对上一次优化后的平移量进行优化;其中,第一优化参数为第二图像对应的梯度,第二优化参数为第一图像对应的雅阁比矩阵,第三优化参数为根据梯度和雅阁比矩阵确定的海森矩阵。

在本公开的一个实施例中,优化单元402还用于:确定第一优化参数、第二优化参数和第三优化参数。

在本公开的一个实施例中,第一确定单元401具体用于:通过终端的传感器,获取终端的旋转量,终端为第一图像和第二图像当前所在的设备;确定目标旋转量为终端的旋转量。

本实施例提供的设备,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。

参考图5,其示出了适于用来实现本公开实施例的电子设备500的结构示意图,该电子设备500可以为终端设备或服务器。其中,终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(Personal Digital Assistant,简称PDA)、平板电脑(Portable Android Device,简称PAD)、便携式多媒体播放器(Portable MediaPlayer,简称PMP)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图5所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(Read Only Memory,简称ROM)502中的程序或者从存储装置508加载到随机访问存储器(Random Access Memory,简称RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。

通常,以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(Liquid CrystalDisplay,简称LCD)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从ROM502被安装。在该计算机程序被处理装置501执行时,执行本公开实施例的方法中限定的上述功能。

需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。

上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。

上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。

可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network,简称LAN)或广域网(Wide Area Network,简称WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,2个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少2个网际协议地址的单元”。

本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

第一方面,根据本公开的一个或多个实施例,提供了一种图像单应矩阵确定方法,在单应矩阵的解耦模型中,单应矩阵中旋转量和平移量分开参数化,所述图像单应矩阵确定方法包括:确定第一图像相对于第二图像的目标旋转量,所述第一图像与所述第二图像为同一相机在不同视角拍摄的目标场景的图像;基于所述目标旋转量,对所述解耦模型中的平移量进行迭代优化,得到目标平移量;根据所述目标旋转量、所述目标平移量和所述解耦模型,确定目标单应矩阵,其中,通过所述目标单应矩阵对所述第一图像进行旋转平移变换后的目标图像与所述第二图像的差异小于误差阈值。

根据本公开的一个或多个实施例,所述基于所述目标旋转量,对所述解耦模型中的平移量进行迭代优化,包括:通过基于所述目标旋转量、上一次优化后的平移量以及所述解耦模型确定的单应矩阵,对所述第一图像进行像素位置变换;确定变换后的第一图像与所述第二图像的误差;若所述误差大于或等于所述误差阈值,则根据所述误差,对所述上一次优化后的平移量进行优化。

根据本公开的一个或多个实施例,所述确定变换后的第一图像与所述第二图像的误差,包括:通过光度误差函数,确定变换后的第一图像与所述第二图像的误差图像;根据所述误差图像上各像素的灰度值,确定所述误差。

根据本公开的一个或多个实施例,所述根据所述误差,对所述上一次优化后的平移量进行优化,包括:根据第一优化参数、第二优化参数、第三优化参数以及所述误差,确定平移增量;根据所述平移增量,对所述上一次优化后的平移量进行优化;其中,所述第一优化参数为所述第二图像对应的梯度,所述第二优化参数为所述第一图像的像素位置变换对应的雅阁比矩阵,所述第三优化参数为根据所述梯度和所述雅阁比矩阵确定的海森矩阵。

根据本公开的一个或多个实施例,所述对所述解耦模型中的平移量进行迭代优化之前,还包括:确定所述第一优化参数、所述第二优化参数和所述第三优化参数。

根据本公开的一个或多个实施例,所述确定第一图像相对于第二图像的目标旋转量,包括:通过终端的传感器,获取所述终端的旋转量,所述终端为所述第一图像和所述第二图像当前所在的设备;确定所述目标旋转量为所述终端的旋转量。

第二方面,根据本公开的一个或多个实施例,在单应矩阵的解耦模型中,单应矩阵中旋转量和平移量分开参数化,所述图像单应矩阵确定设备包括:

第一确定单元,用于确定第一图像相对于第二图像的目标旋转量,所述第一图像与所述第二图像为同一相机在不同视角拍摄的目标场景的图像;

优化单元,用于基于所述目标旋转量,对所述解耦模型中的平移量进行迭代优化,得到目标平移量;

第二确定单元,用于根据所述目标旋转量、所述目标平移量和所述解耦模型,确定目标单应矩阵,其中,通过所述目标单应矩阵对所述第一图像进行旋转平移变换后的目标图像与所述第二图像的差异小于误差阈值。

根据本公开的一个或多个实施例,所述优化单元具体用于:通过基于所述目标旋转量、上一次优化后的平移量以及所述解耦模型确定的单应矩阵,对所述第一图像进行像素位置变换;确定变换后的第一图像与所述第二图像的误差;若所述误差大于或等于所述误差阈值,则根据所述误差,对所述上一次优化后的平移量进行优化。

根据本公开的一个或多个实施例,所述优化单元具体用于:通过光度误差函数,确定变换后的第一图像与所述第二图像的误差图像;根据所述误差图像上各像素的灰度值,确定所述误差。

根据本公开的一个或多个实施例,所述优化单元具体用于:根据第一优化参数、第二优化参数、第三优化参数以及所述误差,确定平移增量;根据所述平移增量,对所述上一次优化后的平移量进行优化;其中,所述第一优化参数为所述第二图像对应的梯度,所述第二优化参数为所述第一图像的像素位置变换所对应的雅阁比矩阵,所述第三优化参数为根据所述梯度和所述雅阁比矩阵确定的海森矩阵。

根据本公开的一个或多个实施例,所述优化单元还用于:确定所述第一优化参数、所述第二优化参数和所述第三优化参数。

根据本公开的一个或多个实施例,所述第一确定单元具体用于:通过终端的传感器,获取所述终端的旋转量,所述终端为所述第一图像和所述第二图像当前所在的设备;确定所述目标旋转量为所述终端的旋转量。

第三方面,根据本公开的一个或多个实施例,提供了一种电子设备,包括:至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的图像单应矩阵确定方法。

第四方面,根据本公开的一个或多个实施例,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的图像单应矩阵确定方法。

第五方面,根据本公开的一个或多个实施例,提供了一种电子设备,包括:至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的图像单应矩阵确定方法。

第六方面,根据本公开的一个或多个实施例,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的图像单应矩阵确定方法。

第七方面,根据本公开的一个或多个实施例,提供了一种计算机程序产品,所述计算机程序产品包含计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面以及第一方面各种可能的设计所述的图像单应矩阵确定方法。

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

相关技术
  • 一种基于卷积神经网络的单应性矩阵确定方法及装置
  • 一种基于卷积神经网络的单应性矩阵确定方法及装置
技术分类

06120115724372