相机参数确定方法、装置和可读存储介质与流程

文档序号:24985543发布日期:2021-05-07 23:03阅读:110来源:国知局
相机参数确定方法、装置和可读存储介质与流程
本公开涉及信息处理领域,尤其涉及一种相机参数确定方法、一种相机参数确定装置和一种可读存储介质。
背景技术
:在图像测量过程中,为了确定物体的三维位置和物体在图像中对应点之间的映射关系,需要建立相机成像的几何模型,其中,比较常用的几何模型为针孔模型,它描述了光线通过针孔后,投影成像的关系。几何模型的参数包括相机参数,在一般情况下,相机参数需要通过标定过程才能得到,通过标定得到的相机参数的稳定性影响了图像测量的准确性。技术实现要素:本公开提供了一种相机参数确定方法,包括:获取可移动平台上的相机采集的多帧图像,其中,上述多帧图像至少包括具有部分重叠影像的两帧图像;根据上述多帧图像标定得到上述相机的当前时刻的标定参数;获取上述相机的历史时刻的标定参数,其中,上述历史时刻的标定参数为上述可移动平台在执行历史的作业任务时使用的相机的标定参数;以及根据上述历史时刻的标定参数和上述当前时刻的标定参数确定目标标定参数,其中,上述目标标定参数用于上述可移动平台在执行新的作业任务时使用;其中,上述标定参数包括上述相机的以下一种或多种参数:内参、畸变参数、外参。本公开还提供了一种相机参数确定装置,包括:处理器;存储器,用于存储一个或多个程序,其中,当上述一个或多个程序被上述处理器执行时,使得上述处理器执行以下操作:获取可移动平台上的相机采集的多帧图像,其中,上述多帧图像至少包括具有部分重叠影像的两帧图像;根据上述多帧图像标定得到上述相机的当前时刻的标定参数;获取上述相机的历史时刻的标定参数,其中,上述历史时刻的标定参数为上述可移动平台在执行历史的作业任务时使用的相机的标定参数;以及根据上述历史时刻的标定参数和上述当前时刻的标定参数确定目标标定参数,其中,上述目标标定参数用于上述可移动平台在执行新的作业任务时使用。本公开还提供了一种可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行如上所述的相机参数确定方法根据本公开的实施例,通过可移动平台上的相机采集的多帧图像标定得到相机的当前时刻的标定参数,根据可移动平台在执行历史的作业任务时使用的相机的历史时刻的标定参数和当前标定得到的当前时刻的估计的标定,确定可移动平台在执行新的作业任务时使用的相机的目标标定参数。由于相机的目标标定参数是根据历史时刻的标定参数和当前标定得到的当前时刻的标定参数进行确定的,而不是固定不变的参数,使得相机的标定参数在使用过程中能够迭代优化,使得可移动平台在实际作业过程中使用的相机的标定参数更加符合实际作业情况。即使相机的镜头在使用过程中有磨损,或者在拆卸后又重新装配,由于参考了历史时刻的标定参数,能够降低因磨损与重新装配改变相机参数的值对图像测量结果的影响。附图说明附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:图1示意性示出了根据本公开实施例的相机的针孔模型的示意图。图2示意性示出了根据本公开实施例的相机的畸变模型的示意图。图3示意性示出了根据本公开实施例的可以应用相机参数确定方法及装置的应用场景。图4示意性示出了根据本公开实施例的相机参数确定方法的流程图。图5示意性示出了根据本公开实施例的获取相机的历史时刻的标定参数的流程图。图6示意性示出了根据本公开实施例的相机参数确定装置的框图。具体实施方式下面将结合实施例和实施例中的附图,对本公开技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。相机拍摄物体生成图像的过程实质上是将位于世界坐标系中的被摄物体转换为位于像素坐标系中的像。世界坐标系是一个三维直角坐标系,以其为基准可以描述相机和被摄物体的相对空间位置,像素坐标系是一个二维直角坐标系,反映了相机ccd/cmos芯片中像素的排列情况,因此,相机成像的几何模型表征了从世界坐标系到像素坐标系的转换过程。从世界坐标系(o-xwywzw)到像素坐标系(o-uv)的转换一般需要先从世界坐标系(o-xwywzw)转换为相机坐标系(c-xyz),再从相机坐标系(c-xyz)再转换为像素坐标系(o-uv)。相机坐标系(c-xyz)也是一个三维直角坐标系,原点在相机的光心c处,x轴和y轴分别为与像面的两边平行,z轴为相机的光轴。从世界坐标系(o-xwywzw)转换为相机坐标系(c-xyz)的转换一般包括旋转与位移变换transform。矩阵r为rotationmatrix旋转矩阵,矩阵t为translationmatrix位移矩阵,r和t为相机的外参extrinsicmatrix,表达的是三维空间中,世界坐标系(o-xwywzw)到相机坐标系(c-xyz)的转换关系。将世界坐标系转换为相机坐标系的转换关系如下:其中,r为3×3的旋转矩阵,t为3×1的平移矢量,(x,y,z,1)t为相机坐标系的奇次坐标,(xw,yw,zw,1)t为世界坐标系的奇次坐标。从相机坐标系(c-xyz)转换为像素坐标系(o-uv)比较常用的几何模型为针孔模型,它描述了光线通过针孔后,投影成像的关系。但在像素坐标系(o-uv)中,一般以图像的左上角为坐标原点o,u轴和v轴分别与像面的两边平行,像素坐标系中坐标轴的单位是像素。为了便于建立转换关系,可以以图像的像面中心为原点p,以分别与u轴和v轴平行的x轴和y轴建立图像坐标系(p-xy),原点p在像素坐标系中的坐标为(u0,v0)。当然,本公开也可以不建立图像坐标系(p-xy),直接将像素坐标系(o-uv)的坐标原点o平移至图像中心p。其中,图像坐标系的原点p是相机光轴与图像的像面的交点,即相机的主点,位于图像的中心。像素坐标系和图像坐标系实质上是平移关系,可以通过平移进行变换,则将图像坐标系(p-xy)转换为像素坐标系(o-uv)的转换关系如下:其中,dx、dy分别为像素在x、y轴方向上的物理尺寸,(u0,v0)表示主点坐标。接下来,可以先将相机坐标系(c-xyz)转换为图像坐标系(p-xy),然后根据图像坐标系(p-xy)与像素坐标系(o-uv)的转换关系再转化为像素坐标系(o-uv)。从相机坐标系(c-xyz)转换为图像坐标系(p-xy)可以使用针孔模型进行描述。图1示意性示出了根据本公开实施例的相机的针孔模型的示意图。如图1所示,相机的针孔模型反映了相机坐标系(c-xyz)和图像坐标系(p-xy)之间的变换关系。例如,相机坐标系(c-xyz)中任意一点m对应于图像坐标系(p-xy)中的像点m,m与相机光心c的连线为cm,cm与像面的交点即为像点m,m为空间点m在图像平面上的投影。则将相机坐标系(c-xyz)转换为图像坐标系(p-xy)对应于透视投影的过程,如下矩阵表示:其中,s为不为0的比例因子,f为相机的有效焦距(光心到图像平面的距离),(x,y,z,1)t为相机坐标系的奇次坐标,(x,y,1)t为图像坐标系的奇次坐标。基于上述世界坐标系到相机坐标系的变换关系、相机坐标系到图像坐标系的变换关系、以及图像坐标系到像素坐标系的变换关系,可以得到世界坐标系到像素坐标系的变换关系如下:其中,z为不为0的比例因子。矩阵k称为相机内参,即cameracalibrationmatrix,r和t为相机的外参。因此,相机内参一般包括焦距f,像主点在像素坐标系中的位置u0,v0,像元的尺寸dx,dy。但由于镜头透镜的存在,使得光线在投影过程中会产生畸变,一般可以使用畸变模型来描述光线在投影过程中产生的畸变。畸变模型一般可以通过畸变参数来表征。畸变参数一般包括径向畸变参数k1,k2,k3,切向畸变参数p1,p2。径向畸变也可以称之为桶形畸变和枕形畸变,产生的原因一般是光线在远离透镜中心的地方偏折更大,切向畸变产生的原因一般是透镜不完全平行于图像平面。图2示意性示出了根据本公开实施例的相机的畸变模型的示意图。如图2所示,像素点的理论位置在圆弧上,但由于光线在远离透镜中心的地方偏折和透镜不完全平行于图像平面,像素点的位置发生径向和切向偏差。在一般情况下,相机外参可以在作业过程中获取,相机内参和畸变参数一般要提前标定出,在后处理建图过程中需要在建图软件中输入相机内参和畸变参数作为初值,在建图算法中进行迭代。在相关技术中,较为常用的相机参数的标定方法一般是在出厂时使用棋盘格以及视觉标定算法(如opencv算法)对相机参数进行标定,之后将标定得到的相机参数写入相机的存储区域,或者提供检测报告和证书。具体地,例如,opencv算法内置相机内参与畸变参数标定算法,可以通过在不同角度拍摄棋盘格,调用标定算法获取标定后的相机内参和畸变参数。但是,在相机使用过程中,由于磨损或镜头拆装等原因,相机参数可能会发生变化,使得其和预设的参数标定值相差较大,会给后续建图处理带来困扰,影响了图像测量的准确性。而在相关技术中,在使用相机执行任务时,使用的是通过出厂标定得到的初始参数。例如,通过将相机内参和畸变参数写入相机,进而在拍照过程中将固定的参数写入照片exif部分的某个字段中或者直接给出检校证书,其中,exif即exchangeableimagefileformat,是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据,其可附加于jpeg、tiff、riff等文件之中,为其增加有关数码相机拍摄信息的内容和索引图或图像处理软件的版本信息。如果相机的镜头在使用过程中有磨损,或者在拆卸后又重新装配,使得相机的参数和出厂给出的标定值不符,会给后续建图处理等带来困扰。因此,相机内参和畸变参数没有自身迭代的功能,如果中途发生了镜头/相机拆卸,或者使用时间过长,一般只能通过返厂进行重新检校,不具备自身迭代能力,而且在检校之前相机内参和畸变参数和真值偏差较大。本公开的实施例提供了相机参数确定方法及装置。该方法包括:获取可移动平台上的相机采集的多帧图像,其中,上述多帧图像至少包括具有部分重叠影像的两帧图像;根据上述多帧图像标定得到上述相机的当前时刻的标定参数;获取上述相机的历史时刻的标定参数,其中,上述历史时刻的标定参数为上述可移动平台在执行历史的作业任务时使用的相机的标定参数;以及根据上述历史时刻的标定参数和上述当前时刻的标定参数确定目标标定参数,其中,上述目标标定参数用于上述可移动平台在执行新的作业任务时使用。以下将以可移动平台为无人机为例,对相机参数确定方法及装置的应用场景进行说明。图3示意性示出了根据本公开实施例的可以应用相机参数确定方法及装置的应用场景。需要注意的是,图3所示仅为可以应用本公开实施例的场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。如图3所示,用户301可以通过遥控终端控制无人机302飞行,无人机302上的相机可以采集现实环境中的多帧图像。其中,相机采集的多帧图像中至少包括部分重叠影像的两帧图像。例如,相机采集的两帧图像中至少都包含同一颗大树,或者同一座山峰等等,该重叠影像可以为同一颗大树,或者同一座山峰。根据本公开的实施例,无人机302可以将相机采集的图像发送至遥控终端进行处理,或者也可以在无人机302本地进行处理,通过对相机采集的多帧图像进行处理,可以得到相机的当前时刻的标定参数。根据本公开的实施例,无人机302可以从服务器303获得上述相机的历史时刻的标定参数,其中,上述历史时刻的标定参数为无人机302在执行历史的作业任务时使用的相机的标定参数。然后,根据历史时刻的标定参数和当前时刻的标定参数确定无人机302在执行新的作业任务时使用的目标标定参数。在一可选的实施例中,控制终端可以预先从服务器303中获得上述相机的历史时刻的标定参数,并缓存至控制终端本地。然后,无人机302从控制终端获得上述相机的历史时刻的标定参数。在另一可选的实施例中,无人机302也可以从无人机302本端的存储介质中获得上述相机的历史时刻的标定参数。由此可见,本公开获得上述相机的历史时刻的标定参数的方式多样,可以不限于从服务器303获得上述相机的历史时刻的标定参数。根据本公开的实施例,由于相机的目标标定参数是根据历史时刻的标定参数和当前标定得到的当前时刻的标定参数进行确定的,而不是固定不变的参数,使得相机的标定参数在使用过程中能够迭代优化,使得无人机302在实际作业过程中使用的相机的标定参数更加符合实际作业情况。即使相机的镜头在使用过程中有磨损,或者在拆卸后又重新装配,由于参考了历史时刻的标定参数,能够降低因磨损与重新装配改变相机参数的值对图像测量结果的影响。下面参考图4,对本公开实施例所提供的相机参数确定方法做进一步说明。图4示意性示出了根据本公开实施例的相机参数确定方法的流程图。需要说明的是,本公开实施例中的流程图所示的操作除非明确说明不同操作之间存在执行的先后顺序,或者不同操作在技术实现上存在执行的先后顺序,否则,多个操作之间的执行顺序可以不分先后,多个操作也可以同时执行。如图4所示,相机参数确定方法包括操作s410~s440。在操作s410,获取可移动平台上的相机采集的多帧图像,其中,相机采集的多帧图像至少包括具有部分重叠影像的两帧图像。根据本公开的实施例,可以改变可移动平台上的相机的位置和姿态来获得多帧图像。例如,控制相机在三个不同的位置从不同角度来拍摄同一个物体,采集到的三帧图像中至少都包括关于该物体的像素部分。进一步的,该物体分别在不同位置采集得到的图像上的位置也不一样。在操作s420,根据多帧图像标定得到相机的当前时刻的标定参数。根据本公开的实施例,可以在空中三角测量的过程中根据多帧图像标定得到相机的当前时刻的标定参数,标定参数可以是相机内参、畸变参数相机外参中的一种或多种。例如,在对图像进行处理的过程中,调用图像中写入的标定内参与畸变参数,之后在空中三角测量的过程中将标定内参和畸变参数作为未知数,进行非线性优化处理,从而迭代出更加精确的优化后的相机内参与畸变参数。根据本公开的实施例,也可以通过标定算法对采集得到的多帧图像进行处理,识别出图像中的标定点,结合标定点的三维位置标定得到相机的当前时刻的标定参数。在操作s430,获取相机的历史时刻的标定参数,其中,历史时刻的标定参数为可移动平台在执行历史的作业任务时使用的相机的标定参数。根据本公开的实施例,获取到的历史时刻的标定参数可以包括一个或多个,在获取多个历史时刻的标定参数的情况下,多个历史时刻的标定参数可以是可移动平台在执行多次历史的作业任务时分别使用的标定参数。在获取一个历史时刻的标定参数的情况下,该历史时刻的标定参数可以是与当前作业的时间最接近的历史作业对应的历史时刻的标定参数。根据本公开的实施例,获取到的历史时刻的标定参数也可以是一个综合值。例如,获取到的历史时刻的标定参数为可移动平台在执行多次历史的作业任务时使用的标定参数的加权平均值。在操作s440,根据历史时刻的标定参数和当前时刻的标定参数确定目标标定参数,其中,目标标定参数用于可移动平台在执行新的作业任务时使用。根据本公开的实施例,当可移动平台在执行新的作业任务时,可以利用确定的目标标定参数进行建图等任务。在执行完新的作业任务之后,即在未来时刻,当前确定的目标标定参数就可以作为历史时刻的标定参数,因此,在未来时刻,可以重新确定未来时刻的目标标定参数。根据本公开的实施例,根据相机的历史时刻的标定参数和当前时刻的标定参数确定目标标定参数的方式包括多种。例如,可以包括如下实施方式。在一可选的实施方式中,可以计算历史时刻的标定参数和当前时刻的标定参数的加权平均值;然后将加权平均值确定为目标标定参数。根据本公开的实施例,在历史时刻的标定参数包括多个情况下,可以根据每个历史时刻的标定参数的标定时间确定每个历史时刻的标定参数的权重大小。例如,可以按照距离当前作业时间较近的历史时刻的标定参数的权重较高,距离当前作业时间较远的历史时刻的标定参数的权重较低进行分配,计算出综合加权平均值。通过为不同的历史时刻的标定参数设置不同的权重,求得综合加权平均值,避免了太过久远的参数影响目标标定参数的准确性。在另一可选的实施方式中,可以先计算历史时刻的标定参数和当前时刻的标定参数的第一偏差;将第一偏差与第一预设阈值进行比较;如果第一偏差小于第一预设阈值,将当前时刻的标定参数,或者历史时刻的标定参数和当前时刻的标定参数的加权平均值确定为目标标定参数;以及如果第一偏差大于或等于第一预设阈值,将历史时刻的标定参数确定为目标标定参数。根据本公开的实施例,例如,可以将历史时刻的标定参数减去当前时刻的标定参数,得到第一偏差,然后将第一偏差与第一预设阈值进行比较,如果第一偏差大于或等于第一预设阈值,认为优化过程或初始的相机参数有误,此时可以将历史时刻的标定参数确定为目标标定参数。此外,也可以向用户给出提示,提示用户重新进行图像数据处理,重新进行图像数据采集或者将设备进行返厂重新检校等。如果第一偏差小于第一预设阈值,认为优化过程正常,可以将当前时刻的标定参数,或者历史时刻的标定参数和当前时刻的标定参数的加权平均值确定为目标标定参数。在另一可选的实施方式中,还可以获取相机的预设标定参数,然后根据预设标定参数、历史时刻的标定参数和当前时刻的标定参数确定目标标定参数。根据本公开的实施例,预设标定参数可以是可移动平台接收到用户输入的为相机设定的标定参数,也可以是相机的出厂标定参数等等。根据本公开的实施例,根据预设标定参数、历史时刻的标定参数和当前时刻的标定参数确定目标标定参数包括:计算预设标定参数和当前时刻的标定参数的第二偏差;将第二偏差与第二预设阈值进行比较;如果第二偏差小于第二预设阈值,将当前时刻的标定参数,或者历史时刻的标定参数和当前时刻的标定参数的加权平均值确定为目标标定参数;如果偏差大于或等于预设阈值,将历史时刻的标定参数或预设标定参数确定为目标标定参数。根据本公开的实施例,例如,可以将预设标定参数减去当前时刻的标定参数,得到第二偏差,然后将第二偏差与第二预设阈值进行比较,如果第二偏差大于或等于第二预设阈值,认为优化过程或初始的相机参数有误,此时可以将历史时刻的标定参数或预设标定参数确定为目标标定参数。此外,也可以向用户给出提示,提示用户重新进行图像数据处理,重新进行图像数据采集或者将设备进行返厂重新检校等。如果第二偏差小于第二预设阈值,认为优化过程正常,可以将当前时刻的标定参数,或者历史时刻的标定参数和当前时刻的标定参数的加权平均值确定为目标标定参数。根据本公开的实施例,当发现估计值和初始值不一致时,可以提示用户,以避免相机参数发生较大变化而导致建图误差。根据本公开的实施例,第一预设阈值和第二预设阈值的大小可以根据实际经验或测量结果进行调整。根据本公开的实施例,在第一偏差小于第一预设阈值,以及/或者第二偏差小于第二预设阈值的情况下,可以认为当前时刻的标定参数的精度较高,因此,可以将当前时刻的标定参数,以及/或者目标标定参数保存,用作执行下一次作业任务时的参考。根据本公开的实施例,在确定目标标定参数之后,可以向云端服务器发送目标标定参数,以便将与相机对应的目标标定参数存储在云端服务器中。根据本公开的实施例,可以将当前时刻的标定参数,以及/或者目标标定参数上传至云端服务器,也可以将当前时刻的标定参数,以及/或者目标标定参数保存在无人机本端或者控制终端中。根据本公开的实施例,如果将当前时刻的标定参数,以及/或者目标标定参数上传至云端服务器,可以在云端服务器对应的区域存储该相机的镜头id编号对应的参数。根据本公开的实施例,云端服务器中存储有可移动平台在执行不同历史的作业任务时分别使用的标定参数,标定参数包括相机的以下至少一种参数:内参、畸变参数、外参。具体地,以云端服务器中存储有内参和畸变参数为例,云端服务器中存储的数据格式如表1所示。表1工厂标定第n-4次第n-3次第n-2次第n-1次第n次综合值f0fn-4fn-3fn-2fn-1fnfavgcx0cxn-4cxn-3cxn-2cxn-1cxncxavgcy0cyn-4cyn-3cyn-2cyn-1cyncyavgk10k1n-4k1n-3k1n-2k1n-1k1nk1avgk20k2n-4k2n-3k2n-2k2n-1k2nk2avgk30k3n-4k3n-3k3n-2k3n-1k3nk3avgp10p1n-4p1n-3p1n-2p1n-1p1np1avgp20p2n-4p2n-3p2n-2p2n-1p2np2avg其中,f表示焦距,cx,cy表示像主点在像素坐标系中的位置,k1,k2,k3表示径向畸变参数,p1,p2表示切向畸变参数。根据本公开的实施例,服务器中存储有可移动平台执行n次历史的作业任务时每次分别使用的标定参数,其中,n为预设固定值,在服务器存储与相机对应的目标标定参数时,服务器可以删除与当前一次作业任务的时间相距最远的历史的作业任务对应的标定参数。根据本公开的实施例,例如,云端服务器可以只保留最近5次/10次所上传的信息,即n为5次/10次。新上传的数据为最近一次有效作业优化后的相机内参与畸变参数,可以将时间上距离本次有效作业最远的一组参数替换掉。例如,删除第n-5次对应的所有参数。根据本公开的实施例,可以根据最近的5次/10次数据,进行加权平均计算,权重可按照距离当前测试时间较近的权重较高,时间较远的权重较低,进行分配,计算出综合加权平均相机内参(favg,cxavg,cyavg)与畸变参数(k1avg,k2avg,k3avg,p1avg,p2avg)。根据本公开的实施例,通过限定只使用若干次之前到当前的数据,求得综合加权平均参数值,可以避免太过久远的参数影响参数的准确性。根据本公开的实施例,通过可移动平台上的相机采集的多帧图像标定得到相机的当前时刻的标定参数,根据可移动平台在执行历史的作业任务时使用的相机的历史时刻的标定参数和当前标定得到的当前时刻的标定参数,确定可移动平台在执行新的作业任务时使用的相机的目标标定参数。由于相机的目标标定参数是根据历史时刻的标定参数和当前标定得到的当前时刻的标定参数进行确定的,而不是固定不变的参数,使得相机的标定参数在使用过程中能够迭代优化,使得可移动平台在实际作业过程中使用的相机的标定参数更加符合实际作业情况。即使相机的镜头在使用过程中有磨损,或者在拆卸后又重新装配,由于参考了历史时刻的标定参数,能够降低因磨损与重新装配改变相机参数的值对图像测量结果的影响。根据本公开的实施例,在下一次进行建图作业时,可以提示用户是否读取存储在云端服务器的综合加权平均相机内参与畸变参数。如果用户选择读取,则将镜头id号“lens_id”上传至云端服务器,并进行搜索,将综合加权平均相机内参(favg,cxavg,cyavg)与畸变参数(k1avg,k2avg,k3avg,p1avg,p2avg),以及/或者每次历史作业时使用的相机内参与畸变参数作为本次建图作业的初始值应用到空中三角测量过程中,然后基于采集的图像标定得到当前时刻的标定参数。根据本公开的实施例,在下一次进行建图作业时,可移动平台也可以直接从云端服务器请求获取综合加权平均相机内参与畸变参数,以及/或者每次历史作业时使用的相机内参与畸变参数,而无需提示用户。根据本公开的实施例,如果用户选择不读取云端服务器的综合平均内参与畸变参数,以及/或者每次历史作业时使用的相机内参与畸变参数,可以使用镜头中存储的原始标定值(f0,cx0,cy0)与(k10,k20,k30,p10,p20)作为初始参数进行迭代。根据本公开的实施例,在相机的镜头出厂时,可以在镜头缓存中写入镜头唯一id号,关键字例如可以是“lens_id”,id号可以由物料号、出场日期、特殊编码等信息唯一标识出。镜头缓存中可以预留“返厂检校次数”字段,初始至0。根据本公开的实施例,可以在工厂使用棋盘格进行相机内参与畸变参数的标定,获得初始标定的相机内参(f0,cx0,cy0)与(k10,k20,k30,p10,p20)。将初始标定的相机内参与畸变参数写入镜头缓存,在后续作业利用相机拍摄照片时,可以在图像的exif部分“undistortparameter”字段依次写入相机的初始内参与畸变参数。根据本公开的实施例,当镜头进行返厂标定时,可以将初始相机内参与畸变参数(f0,cx0,cy0)与(k10,k20,k30,p10,p20)进行重置,并将“返厂检校”字段数值+1。此外,在镜头进行返厂标定之后,可以在云端服务器将此镜头id号所对应的参数历史表中初始值重置,并将其余值全部清空。下面参考图5,结合具体实施例对图4所示的方法做进一步说明。图5示意性示出了根据本公开实施例的获取相机的历史时刻的标定参数的流程图。如图5所示,获取相机的历史时刻的标定参数包括操作s510~操作s530。在操作s510,获取相机的标识信息。根据本公开的实施例,可以将相机镜头的唯一id记录在图像的exif字段,关键字可以为“lens_id”,作为唯一标识信息。在操作s520,向服务器发送相机的标识信息,以便服务器根据相机的标识信息获取与相机对应的历史时刻的标定参数。根据本公开的实施例,在服务器中可以存储有该相机在多次历史任务时分别使用的标定参数。在服务器对应的区域存储与该相机的标识信息对应的参数参见表1所示,在此不再赘述。在操作s530,接收来自服务器的与相机对应的历史时刻的标定参数。根据本公开的实施例,服务器可以根据该相机的标识信息查找表格,获得与该相机对应的历史时刻的标定参数。根据本公开的实施例,历史时刻的标定参数可以是如表1所示的综合加权平均值,也可以是多次历史时刻的标定参数对应的数据。根据本公开的实施例,服务器也可以获得相机的当前时刻的标定参数,通过在服务器本端根据历史时刻的标定参数和当前时刻的标定参数确定目标标定参数。根据本公开的实施例,无人机执行的作业任务的类型不做限定,作业任务可以是涉及需要进行建图的任务。例如可以是测绘任务,也可以是巡检任务或跟踪任务等等。根据本公开的实施例,由于相机的当前时刻的标定参数是根据相机采集的多帧图像标定得到的,因此,相机的当前时刻的标定参数与图像本身相关联。在相关技术中,利用无人机在不同位置区域执行作业任务时,使用的相机参数一般是相同的,但由于不同位置区域的图像是不同的,如果使用相同的相机参数在不同位置区域执行作业任务,会影响图像测量的准确性,导致建图的效果差。根据本公开的实施例,可以获取相机在当前作业期间所处的地理位置信息,然后向服务器发送相机的标识信息和地理位置信息,服务器可以根据相机的标识信息和地理位置信息获取与相机对应的历史时刻的标定参数。根据本公开的实施例,服务器中可以存储有相机在多次历史任务时分别使用的标定参数,并且,每次历史任务具有对应的地理位置信息。例如,服务器中存储的数据格式如表2所示。表2工厂标定第n-4次第n-3次第n-2次第n-1次第n次综合值f0fn-4fn-3fn-2fn-1fnfavgcx0cxn-4cxn-3cxn-2cxn-1cxncxavgcy0cyn-4cyn-3cyn-2cyn-1cyncyavgk10k1n-4k1n-3k1n-2k1n-1k1nk1avgk20k2n-4k2n-3k2n-2k2n-1k2nk2avgk30k3n-4k3n-3k3n-2k3n-1k3nk3avgp10p1n-4p1n-3p1n-2p1n-1p1nplavgp20p2n-4p2n-3p2n-2p2n-1p2np2avgl0ln-4ln-3ln-2ln-1ln-其中,l0表示工厂标定时的地理位置信息,ln-4~ln分别表示每次执行作业任务时对应的地理位置信息。根据本公开的实施例,服务器可以根据相机的标识信息搜索到与该相机对应的数据,然后根据相机在当前作业期间所处的地理位置信息,获取与当前作业期间所处的地理位置信息相同或相近地理位置对应的历史时刻的标定参数。例如,与当前作业期间所处的地理位置信息相同或相近地理位置信息为ln-4,那么可以将第n-4次对应的历史时刻的标定参数确定为与相机对应的历史时刻的标定参数。通过本公开的实施例,根据相机的标识信息和地理位置信息从服务器中获取与相机对应的历史时刻的标定参数,根据该历史时刻的标定参数和当前时刻的标定参数确定的目标标定参数不仅使得相机的标定参数在使用过程中能够迭代优化,而且适应当前作业期间的作业环境,使得更加符合实际作业情况,提高了图像测量的准确性,达到了较好的建图效果。图6示意性示出了根据本公开实施例的相机参数确定装置的框图。如图6所示,相机参数确定装置600包括处理器610和存储器620。存储器620用于存储一个或多个程序,其中,当一个或多个程序被处理器执行时,使得处理器执行以下操作:获取可移动平台上的相机采集的多帧图像,其中,多帧图像至少包括具有部分重叠影像的两帧图像;根据多帧图像标定得到相机的当前时刻的标定参数;获取相机的历史时刻的标定参数,其中,历史时刻的标定参数为可移动平台在执行历史的作业任务时使用的相机的标定参数;以及根据历史时刻的标定参数和当前时刻的标定参数确定目标标定参数,其中,目标标定参数用于可移动平台在执行新的作业任务时使用。根据本公开的实施例,通过可移动平台上的相机采集的多帧图像标定得到相机的当前时刻的标定参数,根据可移动平台在执行历史的作业任务时使用的相机的历史时刻的标定参数和当前标定得到的当前时刻的标定参数,确定可移动平台在执行新的作业任务时使用的相机的目标标定参数。由于相机的目标标定参数是根据历史时刻的标定参数和当前标定得到的当前时刻的标定参数进行确定的,而不是固定不变的参数,使得相机的标定参数在使用过程中能够迭代优化,使得可移动平台在实际作业过程中使用的相机的标定参数更加符合实际作业情况。即使相机的镜头在使用过程中有磨损,或者在拆卸后又重新装配,由于参考了历史时刻的标定参数,能够降低因磨损与重新装配改变相机参数的值对图像测量结果的影响。根据本公开的实施例,处理器610获取相机的历史时刻的标定参数包括:获取相机的标识信息;向服务器发送相机的标识信息,以便服务器根据相机的标识信息获取与相机对应的历史时刻的标定参数;以及接收来自服务器的与相机对应的历史时刻的标定参数。根据本公开的实施例,服务器中存储有可移动平台在执行不同历史的作业任务时分别使用的标定参数;参数包括相机的以下至少一种参数:内参、畸变参数、外参。根据本公开的实施例,处理器610还执行以下操作:在确定目标标定参数之后,向服务器发送目标标定参数,以便将与相机对应的目标标定参数存储在服务器中。根据本公开的实施例,服务器中存储有可移动平台执行n次历史的作业任务时每次分别使用的标定参数,其中,n为预设固定值,在服务器存储与相机对应的目标标定参数时,服务器删除与当前一次作业任务的时间相距最远的历史的作业任务对应的标定参数。根据本公开的实施例,处理器610获取相机的历史时刻的标定参数包括:获取相机在当前作业期间所处的地理位置信息;其中,向服务器发送相机的标识信息,以便服务器根据相机的标识信息获取与相机对应的历史时刻的标定参数包括:向服务器发送相机的标识信息和地理位置信息,以便服务器根据相机的标识信息和地理位置信息获取与相机对应的历史时刻的标定参数。根据本公开的实施例,处理器610根据相机的历史时刻的标定参数和当前时刻的标定参数确定目标标定参数包括:计算历史时刻的标定参数和当前时刻的标定参数的加权平均值;以及将加权平均值确定为目标标定参数。根据本公开的实施例,处理器610根据相机的历史时刻的标定参数和当前时刻的标定参数确定目标标定参数包括:计算历史时刻的标定参数和当前时刻的标定参数的第一偏差;将第一偏差与第一预设阈值进行比较;如果第一偏差小于第一预设阈值,将当前时刻的标定参数,或者历史时刻的标定参数和当前时刻的标定参数的加权平均值确定为目标标定参数;以及如果第一偏差大于或等于第一预设阈值,将历史时刻的标定参数确定为目标标定参数。根据本公开的实施例,处理器610还执行以下操作:获取相机的预设标定参数;其中,根据相机的历史时刻的标定参数和当前时刻的标定参数确定目标标定参数包括:根据预设标定参数、历史时刻的标定参数和当前时刻的标定参数确定目标标定参数。根据本公开的实施例,处理器610根据预设标定参数、历史时刻的标定参数和当前时刻的标定参数确定目标标定参数包括:计算预设标定参数和当前时刻的标定参数的第二偏差;将第二偏差与第二预设阈值进行比较;如果第二偏差小于第二预设阈值,将当前时刻的标定参数,或者历史时刻的标定参数和当前时刻的标定参数的加权平均值确定为目标标定参数;以及如果偏差大于或等于预设阈值,将历史时刻的标定参数或预设标定参数确定为目标标定参数。具体地,处理器610例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器610还可以包括用于缓存用途的板载存储器。处理器610可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。存储器620可以包括计算机程序621,该计算机程序621可以包括代码/计算机可执行指令,其在由处理器610执行时使得处理器610执行例如上面结合图4~5所描述的方法流程及其任何变形。计算机程序621可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序621中的代码可以包括一个或多个程序模块,例如包括621a、模块621b、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器610执行时,使得处理器610可以执行例如上面结合图4~5所描述的方法流程及其任何变形。根据本公开的实施例,还提供了一种可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行如上所述的相机标定方法。该可读存储介质可以与上述存储器具有相同功能。该可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。根据本公开的实施例,可读存储介质可以是非易失性的可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。根据本公开的实施例,还提供了一种可移动平台的控制系统。所述控制系统可以包括一个或多个可移动平台,以及用于控制所述可移动平台的控制终端,每个可移动平台中的处理器可执行如上所述的相机标定方法。根据本公开的实施例,还提供了一种可移动平台,所述可移动平台的处理器可执行如上所述的相机标定方法。附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;在不冲突的情况下,本公开实施例中的特征可以任意组合;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1