拍摄装置参数标定方法、设备及存储介质
技术领域
本发明实施例涉及无人机领域,尤其涉及一种拍摄装置参数标定方法、设备及存储介质。
背景技术
现有技术中在智能化的可移动平台上通常设置有拍摄装置,例如双目视觉模组,双目视觉模组不仅可以给可移动平台提供目标物体的图像信息,还可以提供其深度信息,从而为智能化控制提供更丰富的决策依据可移动平台具体可以是无人机、自动驾驶车辆、辅助驾驶装置、行车记录仪、智能电动车、滑板车、平衡车、多摄像头智能手机等。
由于外界因素例如温度、湿度的变化,或者是可移动平台的震动等因素,导致双目视觉模组在可移动平台上难以保持稳定的状态。即使可移动平台在出厂时双目视觉模组经过了精准标定,但是随着可移动平台在不断被使用的过程中,双目视觉模组也可能会发生微小的形变,从而导致双目视觉模组预先标定的双目之间的参数可能不再准确,影响可移动平台的控制。
而现有技术中,对可移动平台上的拍摄装置的参数进行标定的准确性和效率都较低,通常需要制作专门的标定板,通过人工操作来进行标定。
发明内容
本发明实施例提供一种拍摄装置参数标定方法、设备及存储介质,以提高对拍摄装置中的第一拍摄装置和第二拍摄装置之间参数标定的准确性和效率。
本发明实施例的第一方面是提供一种拍摄装置参数标定方法,所述拍摄装置用于搭载于可移动平台,所述拍摄装置至少包括第一拍摄装置和第二拍摄装置,所述方法包括:
获取第一时刻所述第一拍摄装置和所述第二拍摄装置分别拍摄的包括目标物体的第一图像和第二图像,并确定所述目标物体的第一深度信息;
获取第二时刻所述第一拍摄装置和所述第二拍摄装置分别拍摄的包括所述目标物体的第三图像和第四图像,并确定所述目标物体的第二深度信息;
获取所述第一时刻和所述第二时刻之间所述可移动平台的位姿变化;
根据所述第一深度信息、所述第二深度信息及所述位姿变化,标定所述拍摄装置参数。
本发明实施例的第二方面是提供一种可移动平台,所述可移动平台搭载有拍摄装置,所述拍摄装置至少包括第一拍摄装置和第二拍摄装置,所述可移动平台包括存储器和处理器;
所述存储器用于存储程序代码;
所述处理器,调用所述程序代码,当程序代码被执行时,用于执行以下操作:
获取第一时刻所述第一拍摄装置和所述第二拍摄装置分别拍摄的包括目标物体的第一图像和第二图像,并确定所述目标物体的第一深度信息;
获取第二时刻所述第一拍摄装置和所述第二拍摄装置分别拍摄的包括所述目标物体的第三图像和第四图像,并确定所述目标物体的第二深度信息;
获取所述第一时刻和所述第二时刻之间所述可移动平台的位姿变化;
根据所述第一深度信息、所述第二深度信息及所述位姿变化,标定所述拍摄装置参数。
本发明实施例的第三方面是提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现第一方面所述的方法。
本实施例提供的拍摄装置参数标定方法、设备及存储介质,通过拍摄装置中的第一拍摄装置和第二拍摄装置在第一时刻分别拍摄包括目标物体的第一图像和第二图像,确定目标物体在第一时刻的第一深度信息,以及根据第一拍摄装置和第二拍摄装置在第二时刻分别拍摄包括目标物体的第三图像和第四图像,确定目标物体在第二时刻的第二深度信息,根据第一深度信息、第二深度信息以及可移动平台在第一时刻和第二时刻之间的位姿变化,标定第一拍摄装置和第二拍摄装置之间的旋转关系和位移关系,相比于只根据第一深度信息和第二深度信息标定第一拍摄装置和第二拍摄装置之间的旋转关系和位移关系,增加了约束项,降低了离群点对参数标定的影响,提高了对第一拍摄装置和第二拍摄装置之间参数标定的准确性和效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的拍摄装置参数标定方法的流程图;
图2为本发明实施例提供的无人机的示意图;
图3为本发明实施例提供的一种应用场景的示意图;
图4为本发明实施例提供的另一种应用场景的示意图;
图5为本发明实施例提供的再一种应用场景的示意图;
图6为本发明实施例提供的又一种应用场景的示意图;
图7为本发明实施例提供的Rolling Shutter的示意图;
图8为本发明实施例提供的可移动平台的结构示意图。
附图标记:
20:主相机; 21:第一拍摄装置; 22:第二拍摄装置;
30:目标物体; 31:第一图像; 32:第二图像;
33:第三图像; 34:第四图像; 40:图像;
41:图像; 42:图像; 51:图像; 52:图像;
70:可移动平台; 71:第一拍摄装置; 72:第二拍摄装置;
73:存储器; 74:处理器。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,当组件被称为“固定于”另一个组件,它可以直接在另一个组件上或者也可以存在居中的组件。当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中组件。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
本发明实施例提供一种拍摄装置参数标定方法。图1为本发明实施例提供的拍摄装置参数标定方法的流程图。拍摄装置搭载于可移动平台,可以包括安装于移动平台上,所述拍摄装置至少包括第一拍摄装置和第二拍摄装置。可选的,所述可移动平台包括无人机或车辆。本实施例以无人机为例进行示意性说明,该无人机搭载有拍摄装置,拍摄装置至少包括第一拍摄装置和第二拍摄装置,可选的,拍摄装置为该无人机的双目系统,由第一拍摄装置和第二拍摄装置构成。如图2所示,无人机包括主相机20和双目系统,该双目系统包括第一拍摄装置21和第二拍摄装置22。具体的,第一拍摄装置21可以是该无人机的左目相机,第二拍摄装置22可以是该无人机的右目相机。可以理解,此处只是示意性说明,并不限定无人机的具体形态和结构。
如图1所示,本实施例中的拍摄装置参数标定方法,可以包括:
步骤S101、获取第一时刻所述第一拍摄装置和所述第二拍摄装置分别拍摄的包括目标物体的第一图像和第二图像,并确定所述目标物体的第一深度信息。
在本实施例中,第一拍摄装置21和第二拍摄装置22可以在同一时刻拍摄同一目标物体。如图3所示,30表示三维空间中的目标物体,31表示t1时刻第一拍摄装置21拍摄的包括该目标物体30的第一图像,32表示t1时刻第二拍摄装置22拍摄的包括该目标物体30的第二图像。无人机中的处理器可获取t1时刻第一拍摄装置21拍摄的第一图像31和该t1时刻第二拍摄装置22拍摄的第二图像32,并采用三角化测量法确定该目标物体30的深度信息和三角化的误差,此处,将t1时刻该目标物体30的深度信息记为第一深度信息,将t1时刻的三角化的误差记为第一误差信息。
可以理解,该目标物体30的深度信息可根据该目标物体30上的三维点的深度信息确定。如图3所示,点P表示目标物体30上的任意一个三维点。具体可根据点P在三维空间中的三维位置信息,确定点P的深度信息。例如,可通过三角化测量法计算点P在三维空间中的三维位置信息,可选的,该三维空间可以是世界坐标系。
如图4所示,G表示世界坐标系的坐标原点,C0、C1、C2表示相机处于三个不同的位姿时相机坐标系的坐标原点,图像40、图像41和图像42依次为该相机处于三个不同的位姿时拍摄的图像。可以理解,该相机可以在不同的位姿对同一目标物体进行拍摄。该相机可以是无人机的主相机、第一拍摄装置或第二拍摄装置。如图4所示,目标物体上的同一个三维点例如点P在不同图像中的映射点在对应的图像中的位置可能不同,例如,点P在图像40中的映射点为p0,点P在图像41中的映射点为p1,点P在图像42中的映射点为p2,p0、p1和p2在对应的图像中的位置可能不同。
根据世界坐标系和像素平面坐标系的转换关系,可得到目标物体上的三维点在世界坐标系中的三维坐标(xw,yw,zw)与该三维点在图像中的映射点在该图像中的位置信息例如像素坐标(μ,ν)的关系,该关系具体如下公式(1)所示:
其中,z
c表示该三维点在相机坐标系Z轴上的坐标。K表示相机的内参,R表示该相机坐标系相对于世界坐标系的旋转矩阵,T表示该相机坐标系相对于世界坐标系的平移矩阵,R和T为相机的外参。在本实施例中,相机的内参K为已知量。可选的,
其中,α
x=fm
x,α
y=fm
y,f表示相机焦距;m
x和m
y为图像中对应于x轴、y轴方向上的单位距离的像素数。γ为x轴和y轴之间的畸变参数。μ
0,v
0为相机的光心在像素平面坐标系中的位置。根据上述公式(1)可知,在已知K、(μ,ν)、z
c、R和T的情况下,可计算出目标物体上的三维点在世界坐标系中的三维坐标(x
w,y
w,z
w)。
但是,目标物体上的三维点理论上在图像中的投影点和从该图像中实际观测到的投影点可能不完全相同。例如,理论上点P在C0机位的归一化平面上的投影点记为p′0。
其中,
表示相机坐标系的坐标原点为C
0时,该相机坐标系相对于世界坐标系的旋转矩阵。
表示相机坐标系的坐标原点为C
0时,该相机坐标系相对于世界坐标系的平移矩阵。此外,还可以将坐标原点为C
1时的相机坐标系相对于坐标原点为C
0时的相机坐标系的旋转矩阵记为
将坐标原点为C
1时的相机坐标系相对于坐标原点为C
0时的相机坐标系的平移矩阵记为
将坐标原点为C
2时的相机坐标系相对于坐标原点为C
1时的相机坐标系的旋转矩阵记为
将坐标原点为C
2时的相机坐标系相对于坐标原点为C
1时的相机坐标系的平移矩阵记为
例如,在图像40中实际观测到的点P的投影点记为p0,p0=[u0,v0]T。理想情况下,p′0=p0,但是实际情况中,两者并不相同,p′0和p0所产生的误差记为重投影误差,此处,可通过如下公式(2)确定点P在世界坐标系中的三维坐标(xw,yw,zw):
其中,n表示如图4所示的图像的个数或机位的个数,(ui,vi)T为P点(xw,yw,zw)在第i个拍摄装置拍摄图像投影得到的像素坐标。如图4所示,对于三个不同的机位C0、C1、C2,通过图像中的投影点p0、p1、p2计算得到P点的位置可能不在同一位置,因此,可以通过上式,以最优化问题来求得P点的三维坐标(xw,yw,zw)。
在某一时刻,根据点P在第一拍摄装置和第二拍摄装置分别拍摄的图像中的映射点、第一拍摄装置和第二拍摄装置之间的外参、第一拍摄装置的内参、以及第二拍摄装置的内参,采用三角化测量法可计算得到三维点P的深度信息和三角化误差。例如,[Z,Cost]=triangulate(pL,pR,RLR,tLR,KL,KR),其中,triangulate表示三角化测量法,pL表示点P在第一拍摄装置拍摄的图像中的映射点的像素坐标,pR表示点P在第二拍摄装置拍摄的图像中的映射点的像素坐标,RLR表示第一拍摄装置和第二拍摄装置之间的旋转关系,tLR表示第一拍摄装置和第二拍摄装置之间的位移关系,KL表示第一拍摄装置的内参,KR表示第二拍摄装置的内参。Z表示采用三角化测量法计算得到的三维点P的深度信息,Cost表示三角化误差,该三角化误差具体可以是三维点P的深度信息的误差,如图5所示,点P为三维空间中的一个三维点,p1和p2分别是点P在两个不同图像(例如图像51和图像52)中的映射点,该两个不同图像可以是第一拍摄装置和第二拍摄装置在同一时刻拍摄的。点p1对应的极线在图像52中,在该极线进行极线搜索时,所找到的点为p2’,由于p2’和p2之间存在误差,导致三角化后的三维点P的深度存在一定的误差,例如图5所示的PP’,该误差即为三角化误差。
如图3所示,在t1时刻,从第一图像31实际观测到的点P的投影点在第一图像31中的像素坐标为p11,从第二图像32实际观测到的点P的投影点在第二图像32中的像素坐标为p12。将第一拍摄装置和第二拍摄装置之间的外参记为RLR和tLR,其中,RLR表示第一拍摄装置和第二拍摄装置之间的旋转关系,该旋转关系具体为第一拍摄装置的相机坐标系相对于第二拍摄装置的相机坐标系的旋转矩阵,或第二拍摄装置的相机坐标系相对于第一拍摄装置的相机坐标系的旋转矩阵。tLR表示第一拍摄装置和第二拍摄装置之间的位移关系,该位移关系具体为第一拍摄装置的相机坐标系相对于第二拍摄装置的相机坐标系的平移矩阵,或第二拍摄装置的相机坐标系相对于第一拍摄装置的相机坐标系的平移矩阵。将第一拍摄装置的内参记为KL,将第二拍摄装置的内参记为KR,KL和KR是固定值,在本实施例中可以不需要标定,RLR和tLR是本实施例待标定的参数。
如图3所示,在t1时刻,根据p11、p12、RLR、tLR、KL和KR,采用三角化测量法可计算得到三维点P的深度信息和三角化误差。
如图3所示,O1表示第一拍摄装置的光心,O2表示第二拍摄装置的光心,在t1时刻,可以以第一拍摄装置或第二拍摄装置为基准确定点P的深度信息。例如,以第一拍摄装置为基准确定点P的深度信息,将t1时刻以第一拍摄装置为基准确定的点P的深度信息记为z1,将t1时刻的三角化误差记为Cost1。相应的,[z1,Cost1]=triangulate(p11,p12,RLR,tLR,KL,KR)。
步骤S102、获取第二时刻所述第一拍摄装置和所述第二拍摄装置分别拍摄的包括所述目标物体的第三图像和第四图像,并确定所述目标物体的第二深度信息。
如图3所示,33表示t2时刻第一拍摄装置21拍摄的包括该目标物体30的第三图像,34表示t2时刻第一拍摄装置21拍摄的包括该目标物体30的第四图像。无人机中的处理器可获取t2时刻第一拍摄装置21拍摄的第三图像33和第二拍摄装置22拍摄的第四图像34,并采用三角化测量法确定点P的深度信息和三角化误差,此处,将t2时刻点P的深度信息记为第二深度信息,将t2时刻的三角化的误差记为第二误差信息。
如图3所示,在t2时刻,从第三图像33实际观测到的点P的投影点在第三图像33中的像素坐标为p21,从第四图像34实际观测到的点P的投影点在第四图像34中的像素坐标为p22。将t2时刻以第一拍摄装置为基准确定的点P的深度信息记为z2,将t2时刻的三角化误差记为Cost2,相应的,[z2,Cost2]=triangulate(p21,p22,RLR,tLR,KL,KR)。
步骤S103、获取所述第一时刻和所述第二时刻之间所述可移动平台的位姿变化。
在本实施例中,t1时刻和t2时刻之间,无人机的位姿可能会发生变化,此处,无人机的位姿变化包括位置变化或姿态变化。也就是说,在t1时刻和t2时刻之间,无人机可能会发生移动和/或转动。当无人机在t1时刻和t2时刻之间发生移动时,根据速度计信息可以确定该无人机在t1时刻和t2时刻之间的运动距离。当无人机在t1时刻和t2时刻之间发生转动时,通过无人机上的惯性测量单元可测量该无人机的姿态变化。
例如,以无人机的位置变化为例,在t1时刻和t2时刻之间,无人机的运动距离为d,相应的,第一拍摄装置21或第二拍摄装置22的运动距离也为d,如图6所示。可以理解,当在t1时刻和t2时刻之间,无人机的姿态发生变化时,第一拍摄装置21的运动距离和第二拍摄装置22的运动距离可能会不同。
步骤S104、根据所述第一深度信息、所述第二深度信息及所述位姿变化,标定所述拍摄装置参数。
可选的,所述拍摄装置参数,包括:所述第一拍摄装置和所述第二拍摄装置之间的外参。可选的,所述第一拍摄装置和所述第二拍摄装置之间的外参,包括:所述第一拍摄装置和所述第二拍摄装置之间的旋转关系和位移关系。
在本实施例中,第一深度信息可以是t1时刻以第一拍摄装置为基准确定的点P的深度信息,也可以是t1时刻以第二拍摄装置为基准确定的点P的深度信息。同理,第二深度信息可以是t2时刻以第一拍摄装置为基准确定的点P的深度信息,也可以是t2时刻以第二拍摄装置为基准确定的点P的深度信息。
在以第一拍摄装置为基准的情况下,可选的,根据t1时刻以第一拍摄装置为基准确定的点P的深度信息、t2时刻以第一拍摄装置为基准确定的点P的深度信息、以及t1时刻和t2时刻之间第一拍摄装置21的运动距离,标定所述第一拍摄装置和所述第二拍摄装置之间的旋转关系和位移关系。
在以第二拍摄装置为基准的情况下,可选的,根据t1时刻以第二拍摄装置为基准确定的点P的深度信息、t2时刻以第二拍摄装置为基准确定的点P的深度信息、以及t1时刻和t2时刻之间第二拍摄装置22的运动距离,标定所述第一拍摄装置和所述第二拍摄装置之间的旋转关系和位移关系。
可选的,所述根据所述第一深度信息、所述第二深度信息及所述位姿变化,标定所述拍摄装置参数,包括:根据所述第一深度信息、所述第二深度信息及所述位姿变化之间的几何约束,标定所述拍摄装置参数。
如图6所示,z1表示以第一拍摄装置为基准确定的点P在t1时刻的深度信息,z2表示以第一拍摄装置为基准确定的点P在t2时刻的深度信息。d表示在t1时刻和t2时刻之间第一拍摄装置的运动距离。z1、z2和d构成三角形的三条边,根据三角形的三条边之间的几何约束,即两边之和大于第三边,两边之差小于第三边,可标定所述第一拍摄装置和所述第二拍摄装置之间的旋转关系和位移关系。因此,当z1、z2和d都准确时,其三者之间的关系应当满足下述几何约束,该几何约束具体如下公式(3)所示:
|d-z2|<z1<|d+z2| (3)
可选的,所述根据所述第一深度信息、所述第二深度信息及所述位姿变化之间的几何约束,标定所述拍摄装置参数,包括:根据所述第一深度信息、所述第二深度信息及所述位姿变化之间的几何约束,确定目标误差信息;根据所述目标误差信息,标定所述拍摄装置参数。
例如,在确定如上公式(3)所示的几何约束后,进一步,根据该几何约束得到如下公式(4):
其中,b表示第一拍摄装置和第二拍摄装置之间的基线距离,当z1表示以第一拍摄装置为基准确定的点P在t1时刻的深度信息,z2表示以第一拍摄装置为基准确定的点P在t2时刻的深度信息时,f表示第一拍摄装置的焦距。
在一些实施例中,所述第一深度信息和所述第二深度信息是以所述第一拍摄装置为基准确定的;所述根据所述第一深度信息、所述第二深度信息及所述位姿变化之间的几何约束,确定目标误差信息,包括:根据所述第一深度信息、所述第二深度信息及所述位姿变化之间的几何约束、所述第一拍摄装置和所述第二拍摄装置之间的距离信息、以及所述第一拍摄装置的焦距,确定所述目标误差信息。
例如,目标误差信息记为Cost3,根据公式(4)可确定Cost3,Cost3具体如下公式(5)所示:
其中,z1表示以第一拍摄装置为基准确定的点P在t1时刻的深度信息,z2表示以第一拍摄装置为基准确定的点P在t2时刻的深度信息。d表示在t1时刻和t2时刻之间第一拍摄装置的运动距离。b表示第一拍摄装置和第二拍摄装置之间的基线距离。f表示第一拍摄装置的焦距。当z1、z2或d之间的某一个或某多个值存在误差导致其三者之间的关系不满足公式(4)的约束时,即可能存在如公式(5)中的前两种情况的关系,此时可以赋予一个目标误差信息来表示这种误差。如公式(5)中所示,当三者之间的关系满足前述的约束时,目标误差信息可以设为0。
在另一些实施例中,所述第一深度信息和所述第二深度信息是以所述第二拍摄装置为基准确定的;所述根据所述第一深度信息、所述第二深度信息及所述位姿变化之间的几何约束,确定目标误差信息,包括:根据所述第一深度信息、所述第二深度信息及所述位姿变化之间的几何约束、所述第一拍摄装置和所述第二拍摄装置之间的距离信息、以及所述第二拍摄装置的焦距,确定所述目标误差信息。
例如,z1’表示以第二拍摄装置为基准确定的点P在t1时刻的深度信息,z2’表示以第二拍摄装置为基准确定的点P在t2时刻的深度信息,d’表示在t1时刻和t2时刻之间第二拍摄装置的运动距离。z1’、z2’、d’构成三角形的三条边,根据z1’、z2’、d’之间的几何约束得到同理于公式(3)所述的关系,进一步,根据该几何约束得到同理于公式(4)所述的关系、以及同理于公式(5)所述的目标误差信息,在该目标误差信息中,b表示第一拍摄装置和第二拍摄装置之间的基线距离,f表示第二拍摄装置的焦距。
在确定出目标误差信息Cost3之后,可根据该目标误差信息标定所述第一拍摄装置和所述第二拍摄装置之间的旋转关系和位移关系。
可选的,所述根据所述目标误差信息,标定所述拍摄装置参数,包括:根据所述目标误差信息,确定代价函数;根据所述代价函数,标定所述拍摄装置参数。
例如,Cost1、Cost2和Cost3构成代价函数Cost,Cost具体如下公式(6)所示:
Cost=[Cost1,Cost2,Cost3] (6)
进一步,根据该代价函数,确定第一拍摄装置和第二拍摄装置之间的旋转关系和位移关系。
可选的,所述根据所述代价函数,标定所述拍摄装置参数,包括:对所述代价函数进行最优化求解,确定能够使得所述代价函数的二范数最小的所述拍摄装置参数。
例如,通过求解如下公式(7)所述的最优化问题,确定第一拍摄装置和第二拍摄装置之间的旋转关系和位移关系:
其中,R
LR表示第一拍摄装置和第二拍摄装置之间的旋转关系,t
LR表示第一拍摄装置和第二拍摄装置之间的位移关系。||Cost||
2表示代价函数Cost的二范数。具体的,调整参数R
LR和t
LR,使得
最小,当
最小时对应的R
LR和t
LR即为最终标定的参数。
可以理解的是,在这里对t1时刻的三角化误差Cost1,t2时刻的三角化误差Cost2和目标误差信息Cost3整体进行最优化求解时,可以不使用如公式(7)所示的最小二范数的方法而使用其他的最优化求解的方法,此处并不做限制。
可以理解的是,可移动平台不仅包括两个拍摄装置,例如第一拍摄装置和第二拍摄装置,还可以包括更多的拍摄装置,当可移动平台包括更多的拍摄装置时,本实施例所述的拍摄装置参数标定方法可适用于该多个拍摄装置中任意两个拍摄装置之间的外参标定。
本实施例通过可移动平台上的第一拍摄装置和第二拍摄装置在第一时刻分别拍摄包括目标物体的第一图像和第二图像,确定目标物体在第一时刻的第一深度信息,以及根据第一拍摄装置和第二拍摄装置在第二时刻分别拍摄包括目标物体的第三图像和第四图像,确定目标物体在第二时刻的第二深度信息,根据第一深度信息、第二深度信息以及可移动平台在第一时刻和第二时刻之间的位姿变化,标定第一拍摄装置和第二拍摄装置之间的旋转关系和位移关系,相比于只根据第一深度信息和第二深度信息标定第一拍摄装置和第二拍摄装置之间的旋转关系和位移关系,增加了约束项,降低了离群点对参数标定的影响,提高了对第一拍摄装置和第二拍摄装置之间参数标定的准确性和效率。
本发明实施例提供一种拍摄装置参数标定方法。在上述实施例的基础上,第一拍摄装置和第二拍摄装置可以是全局快门(Global Shutter)相机,或者第一拍摄装置和第二拍摄装置可以是卷帘式快门(Rolling Shutter)相机。Global Shutter相机拍摄的图像中,每一行像素点的曝光时间均相同。
可选的,所述位置变化是根据所述第一时刻和所述第二时刻之间的时间差、以及所述可移动平台在所述第一时刻和所述第二时刻之间的运动速度确定的。
例如,当第一拍摄装置和第二拍摄装置均是Global Shutter相机时,上述实施例中的运动距离d可以表示为d=(t2-t1)*速度,该速度可以是可移动平台在t1时间和t2时间之内的运动速度。
由于Rolling Shutter相机拍摄的图像中,每一行像素点的曝光时间都不同。如图7所示,某一帧图像包括N行像素点,每一行在不同的时间点开始曝光,例如,第一行的曝光开始时刻记为Start1,第二行的曝光开始时刻记为Start2,第三行的曝光开始时刻记为Start3,以此类推。可选的,每一行的曝光时间长度相同,也就是说,每一行的曝光开始时刻和曝光结束时刻之间的时间间隔相同。此外,除第一行之外,每一行的曝光开始时刻与其上一行的曝光开始时刻之间的时间间隔相同。例如,Start1和Start2之间的时间间隔与Start2和Start3之间的时间间隔相同。
因此,当第一拍摄装置和第二拍摄装置是Rolling Shutter相机时,在不同时刻例如t1时刻和t2时刻,同一个三维点P在不同图像中的映射点位于相应图像的不同行。如图3所示,在t1时刻,三维点P在第一图像31中的映射点为p11。在t2时刻,三维点P在第三图像33中的映射点为p21。p11在第一图像31中所处的行和p21在第三图像33中所处的行不同,因此,p11和p21的曝光时间可能会不同。从而导致目标物体在第一图像31和第三图像33中的曝光时间不同。
或者,在t1时刻,三维点P在第二图像32中的映射点为p12。在t2时刻,三维点P在第四图像34中的映射点为p22。p12在第二图像32中所处的行和p22在第四图像34中所处的行不同,因此,p12和p22的曝光时间可能会不同。从而导致目标物体在第二图像32和第四图像34中的曝光时间不同。
可选的,所述位置变化是根据所述第一时刻和所述第二时刻之间的时间差、所述目标物体在所述第一图像和所述第三图像中的曝光时间差、以及所述可移动平台在所述第一时刻和所述第二时刻之间的运动速度确定的。
例如,当第一拍摄装置和第二拍摄装置是Rolling Shutter相机时,同一个三维点P在图像中可能因移动平台的运动而导致处于不同的曝光行,从而导致同一个三维点P在不同时刻的图像中的曝光时刻也不相同。可以根据目标物体在第一图像31和第三图像33中的曝光时间的差异值,对上述实施例中的运动距离d进行补偿,可选的,补偿后的d可以表示为d=(t2-t1+Δt)*速度,其中,Δt表示目标物体在第一图像31和第三图像33中的曝光时间的差异值。
可选的,所述位置变化是根据所述第一时刻和所述第二时刻之间的时间差、所述目标物体在所述第二图像和所述第四图像中的曝光时间差、以及所述可移动平台在所述第一时刻和所述第二时刻之间的运动速度确定的。
例如,当第一拍摄装置和第二拍摄装置是Rolling Shutter相机时,可以根据目标物体在第二图像32和第四图像34中的曝光时间的差异值,对上述实施例中的运动距离d进行补偿,可选的,补偿后的d可以表示为d=(t2-t1+Δt)*速度,其中,Δt表示目标物体在第二图像32和第四图像34中的曝光时间的差异值。
本实施例通过目标物体在同一个拍摄装置不同时刻拍摄的图像中的曝光时间不同,对可移动平台的运动距离进行补偿,降低卷帘式快门相机对拍摄装置参数标定的影响,进一步提高了拍摄装置参数标定的准确性,同时使得该拍摄装置参数标定方法可以适用于卷帘式快门相机,提高了该拍摄装置参数标定方法的适用范围。
本发明实施例提供一种可移动平台。图8为本发明实施例提供的可移动平台的结构示意图,如图8所示,可移动平台70至少包括第一拍摄装置71和第二拍摄装置72、存储器73和处理器74。所述存储器用于存储程序代码;所述处理器74,调用所述程序代码,当程序代码被执行时,用于执行以下操作:获取第一时刻所述第一拍摄装置和所述第二拍摄装置分别拍摄的包括目标物体的第一图像和第二图像,并确定所述目标物体的第一深度信息;获取第二时刻所述第一拍摄装置和所述第二拍摄装置分别拍摄的包括所述目标物体的第三图像和第四图像,并确定所述目标物体的第二深度信息;获取所述第一时刻和所述第二时刻之间所述可移动平台的位姿变化;根据所述第一深度信息、所述第二深度信息及所述位姿变化,标定所述拍摄装置参数。
可选的,所述处理器74根据所述第一深度信息、所述第二深度信息及所述位姿变化,标定所述拍摄装置参数时,具体用于:根据所述第一深度信息、所述第二深度信息及所述位姿变化之间的几何约束,标定所述拍摄装置参数。
可选的,所述处理器74根据所述第一深度信息、所述第二深度信息及所述位姿变化之间的几何约束,标定所述拍摄装置参数时,具体用于:根据所述第一深度信息、所述第二深度信息及所述位姿变化之间的几何约束,确定目标误差信息;根据所述目标误差信息,标定所述拍摄装置参数。
可选的,所述处理器74根据所述目标误差信息,标定所述拍摄装置参数时,具体用于:根据所述目标误差信息,确定代价函数;根据所述代价函数,标定所述拍摄装置参数。
可选的,所述处理器74根据所述代价函数,标定所述拍摄装置参数时,具体用于:对所述代价函数进行最优化求解,确定能够使得所述代价函数的二范数最小的所述拍摄装置参数。
可选的,所述拍摄装置参数,包括:所述第一拍摄装置和所述第二拍摄装置之间的外参。
可选的,所述第一拍摄装置和所述第二拍摄装置之间的外参,包括:所述第一拍摄装置和所述第二拍摄装置之间的旋转关系和位移关系。
可选的,所述第一深度信息和所述第二深度信息是以所述第一拍摄装置为基准确定的;所述处理器74根据所述第一深度信息、所述第二深度信息及所述位姿变化之间的几何约束,确定目标误差信息时,具体用于:根据所述第一深度信息、所述第二深度信息及所述位姿变化之间的几何约束、所述第一拍摄装置和所述第二拍摄装置之间的距离信息、以及所述第一拍摄装置的焦距,确定所述目标误差信息。
可选的,所述第一深度信息和所述第二深度信息是以所述第二拍摄装置为基准确定的;所述处理器74根据所述第一深度信息、所述第二深度信息及所述位姿变化之间的几何约束,确定目标误差信息时,具体用于:根据所述第一深度信息、所述第二深度信息及所述位姿变化之间的几何约束、所述第一拍摄装置和所述第二拍摄装置之间的距离信息、以及所述第二拍摄装置的焦距,确定所述目标误差信息。
可选的,所述位姿变化包括位置变化或姿态变化。
可选的,所述位置变化是根据所述第一时刻和所述第二时刻之间的时间差、以及所述可移动平台在所述第一时刻和所述第二时刻之间的运动速度确定的。
可选的,所述位置变化是根据所述第一时刻和所述第二时刻之间的时间差、所述目标物体在所述第一图像和所述第三图像中的曝光时间差、以及所述可移动平台在所述第一时刻和所述第二时刻之间的运动速度确定的。
可选的,所述位置变化是根据所述第一时刻和所述第二时刻之间的时间差、所述目标物体在所述第二图像和所述第四图像中的曝光时间差、以及所述可移动平台在所述第一时刻和所述第二时刻之间的运动速度确定的。
可选的,所述可移动平台包括无人机或车辆。
本发明实施例提供的可移动平台的具体原理和实现方式均与上述实施例类似,此处不再赘述。
本实施例通过可移动平台上的第一拍摄装置和第二拍摄装置在第一时刻分别拍摄包括目标物体的第一图像和第二图像,确定目标物体在第一时刻的第一深度信息,以及根据第一拍摄装置和第二拍摄装置在第二时刻分别拍摄包括目标物体的第三图像和第四图像,确定目标物体在第二时刻的第二深度信息,根据第一深度信息、第二深度信息以及可移动平台在第一时刻和第二时刻之间的位姿变化,标定第一拍摄装置和第二拍摄装置之间的旋转关系和位移关系,相比于只根据第一深度信息和第二深度信息标定第一拍摄装置和第二拍摄装置之间的旋转关系和位移关系,增加了约束项,降低了离群点对参数标定的影响,提高了对第一拍摄装置和第二拍摄装置之间参数标定的准确性和效率。
另外,本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的拍摄装置参数标定方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。