一种物体定位方法、装置、设备和存储介质与流程

文档序号:17118515发布日期:2019-03-15 23:34阅读:145来源:国知局
一种物体定位方法、装置、设备和存储介质与流程

本申请一般涉及视觉测量技术领域,具体涉及一种物体定位方法、装置、设备和存储介质。



背景技术:

计算机视觉运用照相机和计算机来获取被拍摄目标对象的数据与信息,其期望计算机能够感知环境。计算机视觉的研究对象主要是映射到单幅或多幅图像上的三维场景,例如三维场景的重建。随着计算机视觉技术的发展,对于场景理解而言,其需求在日益增加,但是在实际应用过程中场景理解存在多种难以解决问题。

例如,在机场中布置无缝摄像机监控系统,基于监控系统调取机场各位置视频流,并回溯一定时间范围内的录像,但是,目前的监控系统只能记录,并不理解这些场景发生的内容,理解或者分析工作还是需要人工参与。

其次,对于场景的理解先对场景中的物体进行定位,以确定物体是否合适的出现在该出现的位置,是否出现在不该出现的位置,并给予相应的实时警报。

在上述机场的无缝摄像机监控系统中,由于机场环境非常大,相机分布非常广且分布稀疏,两个相机之间难以构成双目成像,因此无法使用双目对机场上的物体进行定位,因此如何利用单目相机对物体进行准确定位,成为目前急需解决的问题。



技术实现要素:

鉴于现有技术中的上述缺陷或不足,期望提供一种基于单目摄像机实现对物体进行准确定位的方案。

第一方面,本申请实施例提供了一种物体定位方法,所述方法包括:

基于第一图像数据,计算相机的内参数,其中,所述第一图像数据是所述相机采集的第一标定物的图像数据,所述第一标定物沿着预定路线按照预定速度匀速运动;

基于第二图像数据,计算所述相机相对于第二标定物的外参数,其中,所述第二图像数据是所述相机采集的第二标定物的图像数据,所述第二标定物设置在地面,且相对于所述相机的位置是固定的;

获取所述相机采集的第三图像数据中目标物的像素坐标;

根据所述相机的内参数、外参数以及所述目标物的像素坐标,确定所述目标物在以所述相机在地面上的投影点为原点的世界坐标系中的地面位置。

第二方面,本申请实施例还提供了一种物体定位装置,所述装置包括:

内参计算单元,用于基于第一图像数据,计算相机的内参数,其中,所述第一图像数据是所述相机采集的第一标定物的图像数据,所述第一标定物沿着预定路线按照预定速度匀速运动;

外参计算单元,用于基于第二图像数据,计算所述相机相对于第二标定物的外参数,其中,所述第二图像数据是所述相机采集的第二标定物的图像数据,所述第二标定物设置在地面,且相对于所述相机的位置是固定的;

坐标获取单元,用于获取所述相机采集的第三图像数据中目标物的像素坐标;

定位单元,用于根据所述相机的内参数、外参数以及所述目标物的像素坐标,确定所述目标物在以所述相机在地面上的投影点为原点的世界坐标系中的地面位置。

第三方面,本申请实施例还提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述物体定位方法。

第四方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于:

所述计算机程序被处理器执行时实现上述物体定位方法。

本申请实施例提供的物体定位方案,通过第一标定物计算相机的内参数,通过第二标定物计算相机的外参数,并通过相机的内参数和外参数,以及采集的目标物的像素坐标,确定出目标物在以相机在地面上的投影点为原点的世界坐标系中的地面位置。本申请实施例的技术方案,可以实现单目相机对物体的准确定位。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1示出了本申请实施例提供的一种物体定位方法的示例性流程图;

图2示出了相机放置在世界坐标系中的示意图;

图3示出了本申请实施例提供的一种物体定位装置的示例性结构框图;

图4示出了适于用来实现本申请实施例的服务器的计算机系统的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

如背景技术中所提到的,由于机场环境非常大,相机分布非常广且分布稀疏,两个相机之间难以构成双目成像,因此无法使用双目对机场上的物体进行定位,只能从单目定位着手。目前的单目定位方案一般要求预先得到相机的高度以及相机的俯角。但是针对机场已经安装好的相机,这种方法无法满足要求。

鉴于现有技术的上述缺陷,本申请实施例提供了一种物体定位方案。该方案通过第一标定物计算相机的内参数,通过第二标定物计算相机的外参数,并通过相机的内外参数,以及采集的目标物的像素坐标,确定出目标物在以相机在地面上的投影点为原点的世界坐标系中的地面位置。本申请实施例的技术方案,可以实现单目相机对物体的准确定位。

下面将结合流程图来描述本申请实施例的方法。

请参考图1,图1示出了本申请实施例提供的物体定位方法的流程示意图。

如图1所示,该方法包括:

步骤110,基于第一图像数据,计算相机的内参数,其中,第一图像数据是该相机采集的第一标定物的图像数据,第一标定物沿着预定路线按照预定速度匀速运动。

本申请实施例中,标定物,可以但不限于指的是:按照预定尺寸设置的棋盘格图像,例如每个格子预定的宽度为3cm,5cm,或者其他尺寸。

在步骤110中,第一标定物可以是棋盘格图像,或者其他可以实现标定的图像。例如可以将第一标定物放置在拖头车上,或者可以采用遥控汽车等移动装置放置第一标定物。

设置第一标定物的移动装置在机场跑道上匀速运动时,得到第一图像数据,该第一图像数据是该相机对匀速运动的第一标定物的成像结果。进而根据该成像结果实现对相机内参数的标定。

本申请实施例中,相机的内参数可以表示为:

其中,fx、fy、u0、v0均为已知变量。

步骤120,基于第二图像数据,计算相机相对于第二标定物的外参数,其中,第二图像数据是相机采集的第二标定物的图像数据,第二标定物设置在地面,且相对于相机的位置是固定的。

本申请实施例中,第二标定物可以是棋盘格图像,或者其他可以实现标定的图像。第二标定物相对于相机的位置是固定的,比如固定在相机前方的地面上。

需要注意的是,第二标定物的摆放方式需要和世界坐标系的横纵坐标轴平行。其中,世界坐标系是以相机在地面的投影点为原点的坐标系。

相机对第二标定物进行采集得到第二图像数据,该第二图像数据是该相机对固定于地面的第二标定物的成像结果。进而根据该成像结果实现对相机相对于第二标定物的外参数的标定。其中,相机相对于第二标定物的外参数可以包括:

其中,r1-r9、t1-t3均为已知变量。

步骤130,获取相机采集的第三图像数据中目标物的像素坐标。

本申请实施例中,在相机采集的第三图像数据中建立像素坐标系,其中,可将第三图像数据的左上角的顶点确定为像素坐标系的原点,可以将目标物的像素坐标设置为(u,v),横坐标u和纵坐标v分别是图像所在的行和列。

步骤140,根据相机的内外参数以及目标物的像素坐标,确定目标物在世界坐标系中的地面位置。

其中,步骤140可以但不限于按照如下方式实现:

首先,根据以相机为原点的相机坐标系和以第二标定物中指定点为原点的标定物坐标系的坐标转换关系,确定相机相对于第二标定物的平移参数;

具体的,相机坐标系和标定物坐标系的坐标转换关系可以用公式(1)来表示:

其中,x、y和z指标定物坐标系中的坐标,x、y和z指相机坐标系中的坐标,r'-1为相机坐标系转换到标定物坐标系的旋转矩阵,r'-1t'为相机坐标系转换到标定物坐标系的平移矩阵,而相机相对于第二标定物的平移坐标为该平移矩阵中的三个参数值,即dx,dy和h。

图2示出了相机放置在世界坐标系中的示意图,参考图2,其中包括三个坐标系,分别为以相机在地面的投影点owo为原点的世界坐标系,以相机oca为原点的相机坐标系,以及以第二标定物左下角顶点och为原点的标定物坐标系。

参照上述三个坐标系,标定物坐标系转换到相机坐标系可以建立的关系如下公式(2)所示:

参照公式(2),为了从标定物坐标系转换到相机坐标系,首先需要对标定物坐标系进行旋转,然后再进行平移,这样得到的平移矩阵不能用图2中的(dx,dy,h)来进行表示,也就无法求解出这三个变量,但是如果将公式(2)进行变换得到如公式(1)所示,则变为:对相机坐标系进行旋转,然后再进行平移,这样平移参数为(dx,dy,h),即r'-1t'。

其次,基于目标物的像素坐标与目标物在相机坐标系中的相机坐标之间的第一关系、目标物在标定物坐标系中的标定物坐标与相机坐标之间的第二关系、以及相机的内外参数,确定目标物在标定物坐标系中的位置坐标;

具体的,上述第一关系可以用公式(3)表示:

其中,xca、yca和zca为目标物在相机坐标系中的坐标。

上述第二关系可以用公式(4)表示:

其中,xch、ych和zch为目标物在标定物坐标系中的坐标。

根据上述公式(3)公式(4),以及相机的内外参数k、r和t,可以推导出如下公式(5):

结合标定物坐标系,zch=0,代入上述公式(5),得到如下公式(6):

确定目标物在标定物坐标系中的位置坐标;

令上述公式(6)中,a=fxr1+(u0-u)r7、b=fxr2+(u0-u)r8、c=fyr4+(v0-v)r7、d=fyr5+(v0-v)r8、e=(u-u0)t3-fxt1、f=(v-v0)t3-fyt2,确定目标物在标定物坐标系中的位置坐标:

最后,根据相机相对于第二标定物的平移参数,将目标物在标定物坐标系中的位置坐标转化到世界坐标系中,得到目标物在世界坐标系中的地面位置。

具体的,根据公式确定目标物在世界坐标系中的地面位置;其中,xw和yw为目标物在所述世界坐标系中的坐标值。

本申请实施例中,在确定了目标物在世界坐标系中的地面位置之后,还可以进一步包括:

根据公式确定标定误差。

其中,edis为标定误差,xn和yn为第二标定物中的第n个点在标定物坐标系中的坐标,n的数量根据需要自行定义。

其中,该标定误差的主要作用是用来评估算法准确度,以及检测对目标物进行定位的精确度。

本申请实施例提供的物体定位方案,通过第一标定物计算相机的内参数,通过第二标定物计算相机的外参数,并通过相机的内外参数,以及采集的目标物的像素坐标,确定出目标物在以相机在地面上的投影点为原点的世界坐标系中的地面位置。本申请实施例的技术方案,可以实现单目相机对物体的准确定位。

应当注意,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

进一步参考图3,其示出了本申请实施例提供的一种物体定位装置的示例性结构框图。

该装置可以包括:

内参计算单元31,用于基于第一图像数据,计算相机的内参数,其中,所述第一图像数据是所述相机采集的第一标定物的图像数据,所述第一标定物沿着预定路线按照预定速度匀速运动;

外参计算单元32,用于基于第二图像数据,计算所述相机相对于第二标定物的外参数,其中,所述第二图像数据是所述相机采集的第二标定物的图像数据,所述第二标定物设置在地面,且相对于所述相机的位置是固定的;

坐标获取单元33,用于获取所述相机采集的第三图像数据中目标物的像素坐标;

定位单元34,用于根据所述相机的内参数、外参数以及所述目标物的像素坐标,确定所述目标物在以所述相机在地面上的投影点为原点的世界坐标系中的地面位置。

可选的,定位单元34包括:

平移参数确定模块,用于根据以所述相机为原点的相机坐标系和以所述第二标定物中指定点为原点的标定物坐标系的坐标转换关系,确定所述相机相对于所述第二标定物的平移参数;

第一位置确定模块,用于基于所述目标物的像素坐标与所述目标物在所述相机坐标系中的坐标之间的第一关系、所述目标物在所述标定物坐标系中的坐标与所述目标物在所述相机坐标系中的坐标之间的第二关系以及所述相机的内外参数,确定所述目标物在所述标定物坐标系中的位置坐标;

第二位置确定模块,用于根据所述相机相对于所述第二标定物的平移参数,将所述目标物在所述标定物坐标系中的位置坐标转化到所述世界坐标系中,得到所述目标物在所述世界坐标系中的地面位置。

可选的,平移参数确定模块,具体用于:

根据公式确定所述相机相对于所述第二标定物的平移坐标;其中:所述x、y和z为所述标定物坐标系中的坐标,所述x、y和z为所述相机坐标系中的坐标,所述r'-1为所述相机坐标系转换到所述标定物坐标系的旋转矩阵,所述r'-1t'为所述相机坐标系转换到所述标定物坐标系的平移矩阵。

可选的,第一位置确定模块中的第一关系为:所述第二关系为:

所述目标物在所述标定物坐标系中的位置坐标为:

其中,所述k为所述相机的内参数,所述所述r和t为所述相机的外参数,所述所述所述u和所述v为所述目标物的像素坐标;所述a=fxr1+(u0-u)r7、所述b=fxr2+(u0-u)r8、所述c=fyr4+(v0-v)r7、所述d=fyr5+(v0-v)r8、所述e=(u-u0)t3-fxt1、所述f=(v-v0)t3-fyt2。

可选的,第二位置确定模块,具体用于:

根据公式确定所述目标物在所述世界坐标系中的地面位置;其中,所述xw和yw为所述目标物在所述世界坐标系中的坐标值,所述dx和dy为所述相机相对于所述第二标定物的平移参数。

可选的,该装置还可以包括:

标定误差确定单元,用于根据公式确定标定误差;

其中,所述edis为标定误差,所述xn和所述yn为第二标定物中的第n个点在标定物坐标系中的坐标。

其中,上述第二图像数据和/或所述第三图像数据是利用所述相机的内参数进行畸变矫正后的图像数据。

应当理解,该装置中记载的诸子系统或单元与参考图1-图2描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征同样适用于该装置及其中包含的单元,在此不再赘述。

下面参考图4,其示出了适于用来实现本申请实施例的服务器的计算机系统400的结构示意图。

如图4所示,计算机系统400包括中央处理单元(cpu)401,其可以根据存储在只读存储器(rom)402中的程序或者从存储部分408加载到随机访问存储器(ram)403中的程序而执行各种适当的动作和处理。在ram403中,还存储有系统400操作所需的各种程序和数据。cpu401、rom402以及ram403通过总线404彼此相连。输入/输出(i/o)接口405也连接至总线404。

以下部件连接至i/o接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至i/o接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。

特别地,根据本公开的实施例,上文参考图1-图2描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行图1-图2的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。

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

描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中。这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。

作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本申请的公式输入方法。

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

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