全局坐标系构建及应用方法、装置、设备及存储介质与流程

文档序号:16886138发布日期:2019-02-15 22:39阅读:228来源:国知局
全局坐标系构建及应用方法、装置、设备及存储介质与流程

本申请一般涉及视觉测量技术领域,具体涉及全局坐标系构建及应用方法、装置、设备及存储介质。



背景技术:

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

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

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

在上述机场的无缝摄像机监控系统中,已经布设的相机组成的相机阵列对机场的全局进行定位,至少存在难点,例如相机阵列中相机之间的关系如何表征,如何将整个相机阵列中的相机都用统一的坐标系来解释等等。



技术实现要素:

鉴于现有技术中的上述缺陷或不足,期望提供一种全局坐标系构建的技术方案,以及应用构建的全局坐标系来确定图像数据中目标物的位置的技术方案。

第一方面,本申请实施例提供了一种全局坐标系构建方法,该方法包括:

基于第一图像数据计算相机阵列中每个相机的内参数以及相机阵列中两个相机之间的第一外参数,得到第一外参数集合,其中,第一图像数据是相机阵列中每个相机采集的第一标定物的图像数据,第一标定物沿着预定路线按照预定速度匀速运动,相机阵列包括至少两个相机;

基于第二图像数据计算每个相机相对于第二标定物的第二外参数,得到第二外参数集合,其中,第二图像数据是相机阵列中每个相机采集的第二标定物的图像数据,第二标定物设置在地面,且相对于每个相机的位置是固定的;

基于第一外参数集合和第二外参数集合,计算相机阵列的全局坐标系。

第二方面,本申请实施例提供了一种基于全局坐标系确定目标物的方法,该方法包括:

获取实时采集的第三图像数据中目标物的二维坐标;

将二维坐标转换到如如本申请实施例描述的全局坐标系中,得到与二维坐标对应的全局坐标。

第三方面,本申请实施例提供了一种全局坐标系构建装置,该装置包括:

第一计算模块,用于基于第一图像数据计算相机阵列中每个相机的内参数以及相机阵列中两个相机之间的第一外参数,得到第一外参数集合,其中,第一图像数据是相机阵列中每个相机采集的第一标定物的图像数据,第一标定物沿着预定路线按照预定速度匀速运动,相机阵列包括至少两个相机;

第二计算模块,用于基于第二图像数据计算每个相机相对于第二标定物的第二外参数,得到第二外参数集合,其中,第二图像数据是相机阵列中每个相机采集的第二标定物的图像数据,第二标定物设置在地面,且相对于每个相机的位置是固定的;

第三计算模块,用于基于第一外参数集合和第二外参数集合,计算相机阵列的全局坐标系。

第四方面,本申请实施例提供了一种基于全局坐标系确定目标物的装置,该装置包括:

坐标获取模块,用于获取实时采集的第三图像数据中目标物的二维坐标;

坐标转换模块,将二维坐标转换到如本申请实施例描述的全局坐标系中,得到与二维坐标对应的全局坐标。

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

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

该计算机程序被处理器执行时实现如本申请实施例描述的方法。

本申请实施例提供的建立相机阵列全局坐标系的技术方案,该技术方案通过匀速运动的第一标定物建立相机阵列中每个相机相对于其他相机的关系,并通过相机坐标系与第二标定物所在坐标系的坐标转换关系,建立全局坐标系。通过全局坐标系将所有的相机统一到相同的坐标系,从而将不同的相机拍摄的场景统一到一个场景中。

进一步地,本申请实施例通过不同的相机相对于第一标定物的外参数计算,简化了标定流程。

进一步地,本申请实施例还通过每个相机相对于第二标定物的外参数的失算,建立了相机阵列中的相机相对于地面的关系,实现了相机的坐标统一;

进一步地,本申请实施例,通过公共区域的判定解决相机之间,因公共区域过于狭小导致无法求解外参数的问题;

进一步地,本申请实施例通过第一外参数和第二外参数集合的对应求解关系,建立相机阵列的全局坐标系,降低了坐标系计算复杂度

附图说明

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

图1示出了本申请实施例提供的全局坐标系构建方法的流程示意图;

图2示出了本申请实施例中多个相机的地面坐标系之间的关系;

图3示出了本申请实施例提供相邻两个相机在图像上没有预定条件的公共区域的场景示意图;

图4示出了本申请实施例提供的另一全局坐标系构建方法的流程示意图;

图5示出了本申请实施例提供的基于全局坐标系确定目标物的方法的流程示意图;

图6示出了根据本申请实施例的全局坐标系构建装置600的示例性结构框图;

图7示出了本申请实施例提供的另一全局坐标系构建装置的示例性结构框图;

图8示出了本申请实施例提供的基于全局坐标系确定目标物的装置的示例性结构框图;

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

具体实施方式

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

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

请参考图1,图1示出了本申请实施例提供的全局坐标系构建方法的流程示意图。

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

步骤110,基于第一图像数据计算相机阵列中每个相机的内参数以及相机阵列中两个相机之间的第一外参数,得到第一外参数集合,其中,第一图像数据是相机阵列中每个相机采集的第一标定物的图像数据,第一标定物沿着预定路线按照预定速度匀速运动,相机阵列包括至少两个相机;

步骤120,基于第二图像数据计算每个相机相对于第二标定物的第二外参数,得到第二外参数集合,其中,第二图像数据是相机阵列中每个相机采集的第二标定物的图像数据,该第二标定物设置在地面,且相对于每个相机的位置是固定的;

步骤130,基于第一外参数集合和第二外参数集合,计算相机阵列的全局坐标系。

在步骤110中,本申请实施例,在相机阵列中每个相机相对于标定物进行坐标转换,从而完成相机坐标系与标定物所在坐标系的转换。标定物,例如可以是按照预定尺寸设置的棋盘格图像,例如每个格子预定的宽度为3cm,5cm,或者其他尺寸。

本申请实施例,利用匀速运动的标定物来辅助完成相机阵列中各个相机的图像数据的采集。其中,每个相机采集匀速运动的标定物的图像数据,然后基于采集的图像数据来计算相机阵列中两两相机之间的参数关系。

匀速运动的标定物,例如第一标定物按照预定路线匀速运动。第一标定物例如可以是棋盘格图像,或者其他可以实现标定的图像。例如可以将第一标定物放置在拖头车上,或者可以采用遥控汽车等移动装置放置第一标定物。

在设置第一标定物的移动装置机场跑道上匀速运动时,得到第一图像数据,该第一图像数据包括每个相机对匀速运动的第一标定物的成像结果。例如,相机阵列中第一相机采集的第一图像数据,基于第一图像数据计算第一相机的内参数,以及第一相机相对于第一标定物的外参数,并依次基于各个相机采集的各自的第一图像数据,用于分别计算各个相机的内参数,以及各个相机分别相对于第一标定物的外参数。

本申请实施例,在相邻两个相机可以同时采集到第一标定物的时刻,可以触发设置第一标定物的移动装置从该时刻起,停留预设时间后,再继续匀速行驶。预设时间例如可以是1s,或者其他大于1s的可操作的时间段。

利用与该时间段内的图像数据,可以实现同时采集到第一标定物的相邻两个相机之间的外参数,例如第一外参数。获取任何两个相机之间的第一外参数,可以得到第一外参数集合。如果相机阵列包括n个相机,n个相机可能按序分布在机场预定位置。其中,第一外参数集合例如可以包括第一相机与第二相机之间的外参数{r12和t12},第二相机与第三相机之间的外参数{r23和t23},第n-1相机与第n相机之间的外参数{rn-1,n和tn-1,n}。本申请实施例中,相机阵列中的两个相机例如可以是具有足够的公共区域的两个相机。如果存在公共区域,则可以通过直接计算两个相机之间的第一外参数。

如图2所示,图2示出了本申请实施例中多个相机的地面坐标系之间的关系。其中,计算相机阵列中两个相机之间的第一外参数例如可以包括:

计算两个相机中第一相机相对于第一标定物所在坐标系的外参数r1和t1;

计算两个相机中第二相机相对于第一标定物所在坐标系的外参数r2和t2;

计算第一相机与第二相机的第一外参数r12和t12,可以通过下述公式计算:

同理,依次计算相机阵列中其他两个相机之间的外参数{r23和t23}...{rn-1,n和tn-1,n}。两个相机例如可以是两个相邻的相机。

其中,计算两个相机中第一相机相对于第一标定物所在坐标系的外参数r1和t1,根据公式(1)计算得到:

xcamer1=r1xboard1+t1(1)

计算两个相机中第二相机相对于第一标定物所在坐标系的外参数r2和t2,根据公式(2)计算得到:

xcamer2=r2xboard1+t2(2)

计算第一相机与第二相机的第一外参数r12和t12,根据公式(3)计算得到:

其中,

在步骤120中,本申请实施例,还利用固定于地面的标定物实现相机坐标系到地面坐标系的转换。固定于地面的标定物,例如是第二标定物。相机阵列中每个相机对第二标定物进行采集得到第二图像数据,基于第二图像数据可以计算每个相机相对于第二标定物所在的坐标系的外参数,第二标定物所在的坐标系,例如地面坐标系。

基于第二图像数据计算每个相机相对于第二标定物的第二外参数,可以得到第二外参数集合。第二外参数集合例如可以包括第一相机相对于第二标定物坐标系的外参数{rf1和tf1},第二相机相对于第二标定物坐标系的外参数{rf2和tf2},第n相机相对于第二标定物坐标系的外参数{rfn和tfn}。

基于第二图像数据计算每个相机相对于第二标定物的第二外参数,例如包括:

计算相机阵列中原点相机相对于第二标定物所在坐标系的外参数rf1和tf1;

计算与相机阵列中原点相机紧邻的其他相机相对于第二标定物所在坐标系的外参数rf2和tf2;

计算原点相机与其他相机的第二外参数rf12和tf12,按照如下公式计算:

本申请实施例中,原点相机为按序排列的相机阵列中位于第一位置的相机。

其中,计算相机阵列中原点相机相对于第二标定物所在坐标系的外参数rf1和tf1,根据公式(1)计算得到:

xc1→b=rf1xc1+tf1(1)

计算与相机阵列中原点相机紧邻的其他相机相对于第二标定物所在坐标系的外参数rf2和tf2,根据公式(2)计算得到:

xc2→b=rf2xc2+tf2(2)

原点相机与其他相机的第二外参数rf12和tf12,根据公式(3)计算得到:

其中,

在步骤130中,本申请实施例,基于第一外参数集合和第二外参数集合,计算相机阵列的全局坐标系,例如可以包括:

按序选择第一外参数集合中的第一外参数;

按序选择与第一外参数相关的第二外参数集合中的两个相应的第二外参数;

基于第一外参数和两个相应的第二外参数,计算与第一外参数相关的两个相机转换到第二标定物所在坐标系的外参数;

返回按序选择第一外参数集合中的第一外参数的步骤,依次计算与第一外参数集合中每一个第一外参数相关的两个相机转换到第二标定物所在坐标系的外参数,从而完成相机阵列的全局坐标系计算。

本申请实施例,如前述的第一外参数集合包括{{r12和t12},{r23和t23},...,{rn-1,n和tn-1,n}},其中,第一外参数集合中第n-1个外参数{rn-1,n和tn-1,n}描述的是第n-1个相机与第n个相机之间的外参数。与该第n-1个外参数相关的第二外参数集合中的第二外参数分别为第n-1个相机转换到地面坐标系的外参数和第n个相机转换到地面坐标系的外参数。

在获取第一外参数集合中的第n-1个外参数和第n-1个相机转换到地面坐标系的外参数,以及第n个相机转换到地面坐标系的外参数,即计算与该第n-1个第一外参数相对应的两个相机在地面坐标系中关系,n为相机阵列中的所有相机的总数。重复多次操作之后,得到多个相机在地面坐标系之间的关系,即计算得到相机阵列的全局坐标系。

本申请还考虑到当相邻两个相机之间没有预定条件的公共区域时,通过球机来补偿计算两个相机之间的外参数的方法。

请参考图3,图3示出了本申请实施例提供相邻两个相机在图像上没有预定条件的公共区域的场景示意图。

如图3所示,在相邻两个相机caml和camr之间没有预定条件的公共区域l。该预定条件的公共区域l是指公共区域l小于某阈值,则表示相邻两个相机caml和camr之间不具有足够的公共区域,对于阈值的取值,例如可以根据相机相对于标定板的距离和角度来计算。在实际应用过程中,会结合直接观测到两个相机拍摄的实际情况进行判断,如果将标定板放在两个相机的公共交集中,两个相机都能够同时完整的拍摄标定板,则认为具有足够公共区域,否则认为不足够。

本申请实施例中可以通过一个球机来扩展该公共区域。公共区域值相机与相机之间摄像范围的交集。球机,全称为球型摄像机,其焦距和位置可调的,例如固定型、可转动型、ptz功能型球机、或者高速球摄像机等。其中,高速球摄像机采用“精密微分步进电机”实现高速球的快速、准确的定位、旋转。所有都是通过cpu发送指令来实现。

本申请实施例中,将球机cam_c的位置固定,让移动装置缓慢行驶,当行驶在caml与cam_c的交集区域l1时,指令移动装置停止行驶预定时间,例如2s,5-10s。然后,让移动装置继续匀速行驶,直到行驶到cam_c与camr的交集区域l2时,让移动装置停止行驶预定时间,例如,2s,5-10s。

基于移动装置采集的图像数据能够完成cam_c的标定,并计算得到caml与cam_c外参数。

基于图3描述的场景,本申请实施例还提供了一种全局坐标系构建方法,该方法能够在相邻两个相机没有预定条件的公共区域时,完成相机之间的外参数的计算。

请参考图4,图4示出了本申请实施例提供的另一全局坐标系构建方法的流程示意图。

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

步骤410,确定相机阵列中任意两个相机之间是否存在预定条件的公共区域。

步骤420,如果不存在预定条件的公共区域,则通过球机辅助计算不存在预定条件的公共区域的两个相机的第一外参数。

步骤430,如果存在公共区域,则直接计算两个相机的第一外参数。

步骤440-460与步骤110-130相同,关于步骤440-460可以参见步骤110-130的描述来理解。

本申请实施例中,关于通过球机辅助计算不存在预定条件的公共区域的两个相机的第一外参数,还可以包括:

步骤410a,计算两个相机中第一相机与球机之间的外参数,球机与两个相机中第二相机之间的外参数;

步骤410b,基于第一相机与球机之间的外参数和球机与第二相机之间的外参数,计算第一相机与第二相机的第一外参数。

本申请实施例建立了相机阵列的全局坐标系后,相机阵列中每台相机拍摄的不同场景可以统一到一个相同的坐标系中,从而解决现有的所有场景无法统一的问题。

请参考图5,图5示出了本申请实施例提供的基于全局坐标系确定目标物的方法的流程示意图。

该方法包括:

步骤510,获取实时采集的第三图像数据中目标物的二维坐标;

步骤520,将该二维坐标转换到如上述实施例描述的全局坐标系中,得到与该二维坐标对应的全局坐标。

本申请实施例中,通过相机实时采集图像数据,为了将图像数据中目标物的二维坐标映射到已经建立的相机相对于地面的全局坐标系。其中,将二维坐标转换到全局坐标系包括:

步骤520a,确定第三图像数据的标识;

步骤520b,基于标识获取与标识对应的相机的内参数;

步骤520c,基于内参数以及与标识对应的相机的第三外参数,求解目标物在相机坐标系的三维坐标;

步骤520d,根据与标识对应的相机与原点相机之间的关系,求解该目标物的三维坐标转换成全局坐标系中对应的坐标。

本申请实施例,在基于已经建立的全局坐标系中确定每个相机采集图像数据中的目标物,可以通过将目标物在相机成像结果中的二维坐标转换成三维坐标,然后再将三维坐标进行坐标系转换,即完成将目标物在全局坐标系中的坐标求解过程。

考虑到相机阵列多个相机,可以根据相机的唯一编号来识别每个相机,唯一编码例如可以是具体的序列码,或者与位置关联的位置码,或者条形码,二维码等,本申请实施例不对唯一编码的具体形式进行限定。

将相机采集的图像数据中的目标物的二维坐标,利用相机的内参数和全球坐标系确定的相机与相机之间的关系,可以求解目标物在全局坐标系下的坐标。

本申请不需要进行物理测量,仅通过变化矩阵可以实现不同地面之间的标定,从而简化了标定流程。

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

进一步参考图6,图6示出了根据本申请实施例的全局坐标系构建装置600的示例性结构框图。

该装置600包括:

第一计算模块610,用于基于第一图像数据计算相机阵列中每个相机的内参数以及相机阵列中两个相机之间的第一外参数,得到第一外参数集合,其中,第一图像数据是相机阵列中每个相机采集的第一标定物的图像数据,第一标定物沿着预定路线按照预定速度匀速运动,相机阵列包括至少两个相机;

第二计算模块620,用于基于第二图像数据计算每个相机相对于第二标定物的第二外参数,得到第二外参数集合,其中,第二图像数据是相机阵列中每个相机采集的第二标定物的图像数据,第二标定物设置在地面,且相对于每个相机的位置是固定的;

第三计算模块630,用于基于第一外参数集合和第二外参数集合,计算相机阵列的全局坐标系。

在第一计算模块610中,本申请实施例,在相机阵列中每个相机相对于标定物进行坐标转换,从而完成相机坐标系与标定物所在坐标系的转换。标定物,例如可以是按照预定尺寸设置的棋盘格图像,例如每个格子预定的宽度为3cm,5cm,或者其他尺寸。

本申请实施例,利用匀速运动的标定物来辅助完成相机阵列中各个相机的图像数据的采集。其中,每个相机采集匀速运动的标定物的图像数据,然后基于采集的图像数据来计算相机阵列中两两相机之间的参数关系。

匀速运动的标定物,例如第一标定物按照预定路线匀速运动。第一标定物例如可以是棋盘格图像,或者其他可以实现标定的图像。例如可以将第一标定物放置在拖头车上,或者可以采用遥控汽车等移动装置放置第一标定物。

在设置第一标定物的移动装置机场跑道上匀速运动时,得到第一图像数据,该第一图像数据包括每个相机对匀速运动的第一标定物的成像结果。例如,相机阵列中第一相机采集的第一图像数据,基于第一图像数据计算第一相机的内参数,以及第一相机相对于第一标定物的外参数,并依次基于各个相机采集的各自的第一图像数据,用于分别计算各个相机的内参数,以及各个相机分别相对于第一标定物的外参数。

本申请实施例,在相邻两个相机可以同时采集到第一标定物的时刻,可以触发设置第一标定物的移动装置从该时刻起,停留预设时间后,再继续匀速行驶。预设时间例如可以是1s,或者其他大于1s的可操作的时间段。

利用与该时间段内的图像数据,可以实现同时采集到第一标定物的相邻两个相机之间的外参数,例如第一外参数。获取任何两个相机之间的第一外参数,可以得到第一外参数集合。如果相机阵列包括n个相机,n个相机可能按序分布在机场预定位置。其中,第一外参数集合例如可以包括第一相机与第二相机之间的外参数{r12和t12},第二相机与第三相机之间的外参数{r23和t23},第n-1相机与第n相机之间的外参数{rn-1,n和tn-1,n}。本申请实施例中,相机阵列中的两个相机例如可以是具有足够的公共区域的两个相机。如果存在公共区域,则可以通过直接计算两个相机之间的第一外参数。

如图2所示,图2示出了多个相机的地面坐标系之间的关系。其中,计算相机阵列中两个相机之间的第一外参数例如可以包括:

计算两个相机中第一相机相对于第一标定物所在坐标系的外参数r1和t1;

计算两个相机中第二相机相对于第一标定物所在坐标系的外参数r2和t2;

计算第一相机与第二相机的第一外参数r12和t12,可以通过下述公式计算:

同理,依次计算相机阵列中其他两个相机之间的外参数{r23和t23}...{rn-1,n和tn-1,n}。两个相机例如可以是两个相邻的相机。

其中,计算两个相机中第一相机相对于第一标定物所在坐标系的外参数r1和t1,根据公式(1)计算得到:

xcamer1=r1xboard1+t1(1)

计算两个相机中第二相机相对于第一标定物所在坐标系的外参数r2和t2,根据公式(2)计算得到:

xcamer2=rxxboard1+t2(2)

计算第一相机与第二相机的第一外参数r12和t12,根据公式(3)计算得到:

其中,

在第二计算模块620中,本申请实施例,还利用固定于地面的标定物实现相机坐标系到地面坐标系的转换。固定于地面的标定物,例如是第二标定物。相机阵列中每个相机对第二标定物进行采集得到第二图像数据,基于第二图像数据可以计算每个相机相对于第二标定物所在的坐标系的外参数,第二标定物所在的坐标系,例如地面坐标系。

基于第二图像数据计算每个相机相对于第二标定物的第二外参数,可以得到第二外参数集合。第二外参数集合例如可以包括第一相机相对于第二标定物坐标系的外参数{rf1和tf1},第二相机相对于第二标定物坐标系的外参数{rf2和tf2},第n相机相对于第二标定物坐标系的外参数{rfn和tfn}。

基于第二图像数据计算每个相机相对于第二标定物的第二外参数,例如包括:

计算相机阵列中原点相机相对于第二标定物所在坐标系的外参数rf1和tf1;

计算与相机阵列中原点相机紧邻的其他相机相对于第二标定物所在坐标系的外参数rf2和tf2;

计算原点相机与其他相机的第二外参数rf12和tf12,按照如下公式计算:

本申请实施例中,原点相机为按序排列的相机阵列中位于第一位置的相机。

其中,计算相机阵列中原点相机相对于第二标定物所在坐标系的外参数rf1和tf1,根据公式(1)计算得到:

xc1→b=rf1xc1+tf1(1)

计算与相机阵列中原点相机紧邻的其他相机相对于第二标定物所在坐标系的外参数rf2和tf2,根据公式(2)计算得到:

xc2→b=rf2xc2+tf2(2)

原点相机与其他相机的第二外参数rf12和tf12,根据公式(3)计算得到:

其中,

在第三计算模块630中,本申请实施例,基于第一外参数集合和第二外参数集合,计算相机阵列的全局坐标系,例如可以包括:

按序选择第一外参数集合中的第一外参数;

按序选择与第一外参数相关的第二外参数集合中的两个相应的第二外参数;

基于第一外参数和两个相应的第二外参数,计算与第一外参数相关的两个相机转换到第二标定物所在坐标系的外参数;

返回按序选择第一外参数集合中的第一外参数的步骤,依次计算与第一外参数集合中每一个第一外参数相关的两个相机转换到第二标定物所在坐标系的外参数,从而完成相机阵列的全局坐标系计算。

本申请实施例,如前述的第一外参数集合包括{{r12和t12},{r23和t23},...,{rn-1,n和tn-1,n}},其中,第一外参数集合中第n-1个外参数{rn-1,n和tn-1,n}描述的是第n-1个相机与第n个相机之间的外参数。与该第n-1个外参数相关的第二外参数集合中的第二外参数分别为第n-1个相机转换到地面坐标系的外参数,第n个相机转换到地面坐标系的外参数。

在获取第一外参数集合中的第n-1个外参数和第n-1个相机转换到地面坐标系的外参数,以及第n个相机转换到地面坐标系的外参数即计算与该第n-1个第一外参数相对应的两个相机在地面坐标系中关系,n为相机阵列中所有相机的总数。重复多次操作之后,得到多个相机在地面坐标系之间的关系,即计算得到相机阵列的全局坐标系。

本申请还考虑到当相邻两个相机之间没有预定条件的公共区域时,通过球机来补偿计算两个相机之间的外参数的方法。

请参考图3,图3示出了本申请实施例提供相邻两个相机在图像上没有预定条件的公共区域的场景示意图。

如图3所示,在相邻两个相机caml和camr之间没有预定条件的公共区域l。该预定条件的公共区域l是指公共区域l小于某阈值,则表示相邻两个相机caml和camr之间不具有足够的公共区域,对于阈值的取值,例如可以根据相机相对于标定板的距离和角度来计算。在实际应用过程中,会结合直接观测到两个相机拍摄的实际情况进行判断,如果将标定板放在两个相机的公共交集中,两个相机都能够同时完整的拍摄标定板,则认为具有足够公共区域,否则认为不足够。

本申请实施例中可以通过一个球机来扩展该公共区域。公共区域值相机与相机之间摄像范围的交集。球机,全称为球型摄像机,其焦距和位置可调的,例如固定型、可转动型、ptz功能型球机、或者高速球摄像机等。其中,高速球摄像机采用“精密微分步进电机”实现高速球的快速、准确的定位、旋转。所有都是通过cpu发送指令来实现。

本申请实施例中,将球机cam_c的位置固定,让移动装置缓慢行驶,当行驶在caml与cam_c的交集区域l1时,指令移动装置停止行驶预定时间,例如2s,5-10s。然后,让移动装置继续匀速行驶,直到行驶到cam_c与camr的交集区域l2时,让移动装置停止行驶预定时间,例如,2s,5-10s。

基于移动装置采集的图像数据能够完成cam_c的标定,并计算得到caml与cam_c外参数。

基于图3描述的场景,本申请实施例还提供了一种全局坐标系构建方法,该方法能够在相邻两个相机没有预定条件的公共区域时,完成相机之间的外参数的计算。

请参考图7,图7示出了本申请实施例提供的另一全局坐标系构建装置的示例性结构框图。

如图7所示,装置700包括:

确定模块710,用于确定相机阵列中任意两个相机之间是否存在预定条件的公共区域;

第一辅助计算模块720,用于如果不存在预定条件的公共区域,则通过球机辅助计算不存在预定条件的公共区域的两个相机的第一外参数。

第二辅助计算模块730,用于如果存在公共区域,则直接计算两个相机的第一外参数。

第一计算模块740,第二计算模块750,第三计算模块760与步骤110-130相同,关于第一计算模块740,第二计算模块750,第三计算模块760可以参见步骤110-130的描述来理解。

本申请实施例中,关于第一辅助计算模块720,还可以包括:

第一辅助计算子模块720a,用于计算两个相机中第一相机与球机之间的外参数,球机与两个相机中第二相机之间的外参数;

第二辅助计算子模块720b,用于基于第一相机与球机之间的外参数和球机与第二相机之间的外参数,计算第一相机与第二相机的第一外参数。

本申请实施例建立了相机阵列的全局坐标系后,相机阵列中每台相机拍摄的不同场景可以统一到一个相同的坐标系中,从而解决现有的所有场景无法统一的问题。

请参考图8,图8示出了本申请实施例提供的基于全局坐标系确定目标物的装置的示例性结构框图。

该方法包括:

坐标获取模块810,用于获取实时采集的第三图像数据中目标物的二维坐标;

坐标转换模块820,将该二维坐标转换到如上述实施例描述的全局坐标系中,得到与该二维坐标对应的全局坐标。

本申请实施例中,通过相机实时采集图像数据,为了将图像数据中目标物的二维坐标映射到已经建立的相机相对于地面的全局坐标系。其中,坐标转换模块还可以包括:

确定子模块820a,用于确定第三图像数据的标识;

获取子模块820b,用于基于标识获取与标识对应的相机的内参数;

三维坐标计算子模块820c,用于基于内参数以及与标识对应的相机的第三外参数,求解目标物在相机坐标系的三维坐标;

全局坐标计算子模块820d,用于根据与标识对应的相机与原点相机之间的关系,求解该目标物的三维坐标转换成全局坐标系中对应的坐标。

本申请实施例,在基于已经建立的全局坐标系中确定每个相机采集图像数据中的目标物,可以通过将目标物在相机成像结果中的二维坐标转换成三维坐标,然后再将三维坐标进行坐标系转换,即完成将目标物在全局坐标系中的坐标求解过程。

考虑到相机阵列多个相机,可以根据相机的唯一编号来识别每个相机,唯一编码例如可以是具体的序列码,或者与位置关联的位置码,或者条形码,二维码等,本申请实施例不对唯一编码的具体形式进行限定。

将相机采集的图像数据中的目标物的二维坐标,利用相机的内参数和全球坐标系确定的相机与相机之间的关系,可以求解目标物在全局坐标系下的坐标。

本申请不需要进行物理测量,仅通过变化矩阵可以实现不同地面之间的标定,从而简化了标定流程。

应当理解,装置600或800中记载的诸单元或模块与参考图1或4描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征同样适用于装置600或800及其中包含的单元,在此不再赘述。装置600或800可以预先实现在电子设备的浏览器或其他安全应用中,也可以通过下载等方式而加载到电子设备的浏览器或其安全应用中。装置600中的相应单元可以与电子设备中的单元相互配合以实现本申请实施例的方案。

下面参考图9,图9示出了适于用来实现本申请实施例的计算机系统900的结构示意图。

如图9所示,计算机系统900包括中央处理单元(cpu)901,其可以根据存储在只读存储器(rom)902中的程序或者从存储部分908加载到随机访问存储器(ram)903中的程序而执行各种适当的动作和处理。在ram903中,还存储有系统800操作所需的各种程序和数据。cpu901、rom902以及ram903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线804。

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

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

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

描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括第一计算模块、第二计算模块以及第三计算模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,第一计算模块还可以被描述为“用于基于第一图像数据计算相机阵列中每个相机的内参数以及相机阵列中两个相机之间的第一外参数的模块”。

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

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

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