用于控制相机的方法和装置与流程

文档序号:31052079发布日期:2022-08-06 07:54阅读:141来源:国知局
用于控制相机的方法和装置与流程

1.本技术涉及信息技术领域,尤其涉及一种用于控制相机的方法和装置。


背景技术:

2.观测相机能够直观获取实时与历史的现场情况信息,已作为现代化监管的重要手段被广泛应用于各类公共交通场景中,例如,高速公路、城市道路、海事港口等区域。传统的监管手段主要是手动控制球机的转动角度与放大倍率进行人工观测,工作效率较低且容易造成观测目标丢失。因此,目前多采用相机智能联动方法以自动控制球机,可以更迅速高效地获取目标场景的细节画面。
3.在现有的智能观测场景中,通常采用标定外部固定的传感器(如枪机、雷达)坐标系与待控制球机角度的映射关系,并根据该外部传感器下的输入坐标转换为球机控制指令。例如,在枪球联动方案中,可以在固定的枪机中选定待观测目标,使用球机转向该待观测目标并进行跟踪。这种枪球联动方案要求枪机与球机组合部署,对于部分利旧相机场景需要额外的硬件成本,同时球机的转动角度仅限于枪机可视范围,无法充分其利用360度的转动能力。并且,枪球联动方案多采用网格法进行标定,需要对大量预置位进行标定,并通过插值估计出球机的转动角度,存在标定繁琐、控制角度不准确、可靠性较低等问题。
4.因此,业界亟需一种用于控制相机的方法,以减少相机标定和相机联动过程的复杂度。


技术实现要素:

5.本技术提供一种用于控制相机的方法和装置,用以提高相机的标定效率与控制的精度。
6.第一方面,提供了一种用于控制相机的方法,包括:获取相机的多组标定数据,每组标定数据包括:所述相机输出的ptz数据和卫星地图数据,所述ptz数据包括特征点对应的所述相机的pan值和tilt值,所述卫星地图数据包括特征点在世界坐标系的坐标;根据所述多组标定数据,对相机位姿估计模型求解,以获取所述相机的六自由度的位姿参数;根据待观测目标在世界坐标系的坐标和所述位姿参数,获取所述相机的ptz控制参数;输出所述相机的ptz控制参数。
7.第二方面,本技术提供了一种用于控制相机的装置,包括:通信模块,用于获取相机的多组标定数据,每组标定数据包括:所述相机输出的ptz数据和卫星地图数据,所述ptz数据包括特征点对应的所述相机的pan值和tilt值,所述卫星地图数据包括特征点在世界坐标系的坐标;处理模块,用于根据所述多组标定数据,对相机位姿估计模型求解,以获取所述相机的六自由度的位姿参数;所述处理模块还用于根据待观测目标在世界坐标系的坐标和所述位姿参数,获取所述相机的ptz控制参数;所述通信模块还用于输出所述相机的ptz控制参数。
8.第三方面,提供了一种计算机设备,包括处理器,该处理器用于从存储器调用计算
机程序,当所述计算机程序被执行时,该处理器用于执行上述第一方面的方法。
9.第四方面,提供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序包括用于执行上述第一方面的方法的代码。
10.第五方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序包括用于执行上述第一方面的方法的代码。
11.在本技术实施例中,提供了一种用于控制相机的方案,该方案不依赖外部的传感器作为相机标定的输入,而是依赖卫星地图进行相机标定和联动,成本较低,并且可以保障相机横向和纵向的全覆盖角度控制,根据待观测目标与相机的距离实现最大倍率范围的变倍控制。本方案充分考虑了相机的安装状态,对其进行了六自由度位姿的建模,只需获取少量的标定数据便可以完成标定过程,提高了相机标定效率与控制的精度。
附图说明
12.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
13.图1是本技术一实施例的应用场景的示意图;
14.图2是本技术又一实施例的应用场景的示意图;
15.图3是本技术一实施例的计算设备100内部的结构示意图;
16.图4是本技术一实施例的相机位姿的场景示意图;
17.图5是本技术一实施例的相机位姿的场景示意图;
18.图6是本技术一实施例的用于控制相机的方法的流程示意图;
19.图7是本技术一实施例的装置700的结构示意图;
20.图8是本技术一实施例的装置800的结构示意图。
具体实施方式
21.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
22.首先对本技术所涉及的名词进行解释。
23.六自由度位姿:物体在三维坐标系中具有六个自由度,包括:x、y、z三个直角坐标轴方向的移动自由度和绕三个轴的转动自由度。
24.相机标定:构建世界坐标系到像素坐标系的映射模型,并获取模型中所需要参数的过程。
25.ptz:在安防监测应用中是pan/tilt/zoom的缩写,分别代表相机云台的左右、上下移动与镜头变倍系数。
26.云台:是指安装、固定手机、相机、摄像机的支撑设备。云台可以进行上下或者左右旋转,以适用应用场景。
27.世界坐标系:是指系统的绝对坐标系,世界坐标系可以是地理坐标系,例如,世界大地测量系统(world geodetic system,wgs84),也可以是任何被固定定义的世界坐标系。
28.相机坐标系:相机坐标系以相机的光心作为原点,x轴指向相机的左右方向,y轴指向相机的上下方向,z轴指向相机所观察的方向,其随相机的移动而变化,所以为相对坐标系。
29.像素坐标系:图像像素坐标系为固定在图像上的以像素为单位的平面直角坐标系,其原点位于图像左上角,x轴与y轴平行于相机坐标系的x和y轴,其依托于相机坐标系,是相对坐标系。
30.相机的体坐标系:以相机的光心作为原点,x轴指向相机所观察方向,y轴为相机的左右方向,z轴为相机的上下方向。
31.图1是本技术一实施例的应用场景的示意图。如图1所示,在公共交通视频系统中,通常包括观测相机、交换机系统以及监管中心。其中,观测相机广泛布置在各交通路口、港口等位置,以获取公共交通场景的车辆或船舶的图像或视频,并通过交换机系统将获取的图像或视频传输至监管中心。监管中心中通常包括显示设备、存储设备以及计算设备。其中,存储设备可用于存储获取的图像或视频信息,显示设备用于显示观测图像,计算设备可以对获取的图像或视频进行解析和处理。在一些示例中,上述计算设备可以包括服务器。
32.可选地,如图1所示,上述观测相机通常可包括球机和枪机两种类型,枪机即枪式摄像机,其安装位置固定,只能正对某观测位置,所以观测方位有限。球机即球形摄像机,其集摄像机系统、变焦镜头、电子云台于一体,球机可以根据现场情况和用户需求设置预置位巡航,并在重要点位设置停留时间和镜头拉近放大,以进行重点观测。
33.应理解,图1中的应用场景的说明仅仅作为示例而非限定,在实践中,可以在上述场景的基础上作适当的变形和增减,仍然适用于本技术实施例的方案。
34.为了解决现有技术的如上技术问题,本技术实施例提供了一种用于控制相机的方案,该方案不依赖外部的传感器作为相机标定的输入,而是依赖卫星地图进行相机标定和联动。该方案首先通过采集的标定数据,确定一种六自由度的相机位姿估计模型,建立并标定卫星地图与相机云台的控制角度的映射关系,然后基于待观测目标在卫星地图的位置,计算出相机云台的转动角度与相机镜头的缩放倍率,从而实时控制相机联动。该方案不需要依赖外部的传感器,并且只需获取较少的标定数据,便可以完成六自由度的相机位姿建模,提高了标定效率与控制的精度。
35.下面以具体的实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
36.图2是本技术又一实施例的应用场景的示意图。如图2所示,计算设备100可以通过相机200获取标定数据,同时通过卫星定位系统获取卫星地图数据。计算设备100可根据标定数据和卫星地图数据,确定六自由度的相机位姿估计模型,该模型用于建立并标定卫星地图与相机的控制角度的映射关系,然后基于待观测目标在卫星地图的位置,计算出相机云台的转动角度与相机镜头的缩放倍率,从而实时控制相机联动。
37.本技术实施例对提供卫星地图的卫星定位系统类型不作限定,例如,卫星地图可以来自北斗定位系统、船舶自动识别系统(automatic identification system,ais)全球定位系统(global positioning system,gps)等。
38.需要说明的是,本技术实施例中的相机200可以包括球机、半球机、或者其它安装
有云台的任何类型的相机。
39.图3是本技术一实施例的计算设备100内部的结构示意图。如图3所示,计算设备100包括:标定数据采集模块110、标定模型求解模块120、角度计算模块130、倍率计算模块140。计算设备100的输入信息包括卫星地图数据和相机100采集的标定数据。计算设备100的输出信息包括相机的ptz控制参数。上述ptz控制参数可包括控制相机云台的角度参数(例如,pan和tilt)和相机镜头的倍率参数(zoom)。
40.本技术实施例的控制相机的方案主要包括相机标定与相机联动两部分。其中相机标定部分的输入包括相机的ptz值以及卫星地图数据。相机标定的核心模块包括标定数据采集模块110与标定模型求解模块120,相机标定部分的输出为位姿参数。
41.相机联动部分的输入为待观测目标在卫星地图的坐标信息与位姿参数,核心模块包括角度计算模块130与倍率计算模块140。其中,选择卫星地图坐标作为输入可以实现稳定、便捷地获取。作为示例,卫星地图坐标的获取方式包括车辆gps信息、船舶ais数据或是在卫星地图的截图中选择某点像素坐标并转化为经纬度。最终计算设备100的输出为相机的ptz控制参数,并可以通过预设的相机控制协议完成对相机的角度、倍率控制操作。
42.接下来将结合图3,详细描述计算设备100中的各模块的功能。
43.a1.标定数据采集模块110
44.用于获取相机标定所需标定数据。为后续的标定模型求解模块120提供输入信息。每个相机可采集多组标定数据,每组标定数据包括特征点对应的相机的ptz值以及特征点的在卫星地图的坐标信息。其中,上述相机ptz值包括相机的pan值和tilt值。作为示例,每个相机可至少采集3组及3组以上的数据。
45.作为示例,可以将相机的变倍系数(zoom)值设置为1,调节相机100的角度,直到显示图像中出现一个可在卫星地图中找到具体位置的特征点。例如,上述特征点可以是标识物、建筑物边缘等,并且该特征点处于地平面之上。找到特征点之后,为了标定数据更加准确,可以将相机的zoom值放大(例如,放大10倍及以上),微调相机云台的角度,直至该特征点处于显示图像的中心,截图并记录相机云台此时的pan、tilt值,以及该特征点在卫星地图的坐标(x,y)。
46.其中,上述卫星地图的坐标(x,y)可以指世界坐标系中的坐标,在一些示例中,卫星地图的坐标(x,y)可以是经纬度坐标。
47.a2.标定模型求解模块120
48.标定模型求解模块120用于建立六自由度的相机位姿估计模型,并根据标定数据采集模块110获取的多组标定数据进行优化求解,以得到位姿参数。
49.图4和图5是本技术一实施例的相机位姿的场景示意图。其中,图4中为相机云台未转动的示意图,图5中为相机云台产生转动的示意图。其中,相机转动角度表示为(pan,tilt)。
50.参考图4和图5,标定模型求解模块120的目的是获取相机的体坐标系转换到世界坐标系的位姿参数,包括:相机的体坐标系原点ob相对世界坐标系的原点ow的平移向量(x0,y0,z0),以及相机的体坐标系相对于世界坐标系的三轴旋转的角度向量(roll0,pitch0,yaw0)。其中,roll0是指绕xw轴转动的角度,pitch0是指绕yw轴转动的角度,yaw0是指绕zw轴转动的角度。
51.标定模型求解模块120的功能包括两部分,第一部分为建立相机位姿估计模型,第二部分为对模型进行优化求解,接下来将对这两部分内容进行描述。
52.1).建立相机位姿估计模型
53.在建立相机位姿估计模型之前,可以根据相机安装时是否存在倾斜情况,选择不同的建模方案。
54.a).相机在安装时不存在倾斜情况
55.继续参见图4,图4示出了相机在安装时不存在倾斜的示意图,假设相机在安装时不存在倾斜情况,即相机在前后方向和上下方向均未发生倾斜,则roll0和pitch0为0,在求解模型时只需要获取x0,y0,z0,yaw0的值即可,可以根据符合公式(1)和公式(2)建立相机位姿估计模型。
56.x=x0+z0*tan(tilt)*cos(yaw0+pan);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
57.y=y0+z0*tan(tilt)*sin(yaw0+pan);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
58.其中,(x,y)表示特征点在世界坐标系的坐标,(tilt,pan)表示特征点位于相机图像中心时对应的相机的pan值和tilt值。
59.b).相机在安装时存在倾斜情况
60.若相机在安装时存在倾斜情况,则roll0和pitch0不为零,可以使用坐标系变换的方法,将当前体坐标系旋转至无倾斜的体坐标系,具体地,可根据公式(3)获取相对于无倾斜体坐标系的旋转角度:
61.q(roll',tilt',pan')=q(roll0,pitch0,yaw0)*q(0,tilt,pan);
ꢀꢀ
(3)
62.其中,(roll',tilt',pan')表示特征点位于相机图像中心时相机的体坐标系相对于世界坐标系的旋转角度,(roll0,pitch0,yaw0)表示倾斜的相机的体坐标系相对于世界坐标系的三轴旋转的角度向量,(0,tilt,pan)表示特征点位于相机图像中心时对应的相机的pan值和tilt值,同时也表示特征点位于相机图像中心时的相机的体坐标系相对于倾斜的相机坐标系的旋转角度。
63.q(m,n,l)表示由三轴旋转角所构建的四元数(w,x,y,z),其可以由公式(4)表示。
[0064][0065]
在旋转体坐标系之后,可以将公式(3)得到的tilt',pan'代入公式(5)和(6),以建立相机位姿估计模型。
[0066]
x=x0+z0*tan(tilt')*cos(pan');
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0067]
y=y0+z0*tan(tilt')*sin(pan');
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0068]
2).对模型进行优化求解
[0069]
在建立相机位姿估计模型之后,可以利用相机位姿估计模型进行求解,以得到位姿参数(x0,y0,z0)以及(roll0,pitch0,yaw0)。本技术实施例对模型求解的方式不作限定。例如,相机位姿估计模型求解的是非线性方程组,可以采用区间迭代法或者不动点法等方式求解。
[0070]
在一些示例中,可以利用相机位姿估计模型构建最小二乘法的待优化函数,并通过高斯牛顿迭代方法进行求解。
[0071]
例如,对于相机在安装时未出现倾斜的情况,即根据公式(1)和(2)建立的模型,可以采用以下公式(7)和(8)来求解模型。
[0072][0073][0074]
又例如,对于相机在安装时出现倾斜的情况,即根据公式(5)和(6)建立的模型,可以采用以下公式(9)和(10)来求解模型。
[0075]
e3=∑(x-x
0-z0*tan(tilt')*cos(pan'))2+(y-y
0-z0*tan(tilt')*sin(pan'))2;
ꢀꢀ
(9)
[0076][0077]
又例如,对于仅考虑相机的pan值改变的场景,即相机只在左右方向移动的场景,只需计算x0、y0与yaw0三个自由度参数,无论相机在安装时是否出现倾斜,均可以采用以下公式(11)来求解模型。
[0078][0079]
其中,(x,y)表示特征点在世界坐标系的坐标,(tilt,pan)表示特征点对应的相机的pan值和tilt值;(tilt',pan')表示特征点位于相机图像中心时相机的体坐标系相对于世界坐标系的旋转角度。
[0080]
其中,函数e1、e3适用于相机安装位置较高,数据采集时tilt度数较大的场景。作为示例,可以适用于tilt度数大于1度的场景。函数e2、e4适用于相机安装位置较低或倾斜较为严重,或者数据采集时tilt值较小的场景,例如,可以适用于较多tilt值小于1度的场景。函数e5适用于球机安装位置很低,数据采集时所有tilt值都处于0度左右的场景,或是tilt值固定,只需要控制pan值的平面场景,或是作为e1、e3、e3、e4函数的初值获取方法。
[0081]
a3.角度计算模块130
[0082]
用于获取待观测目标在世界坐标系的坐标(xw,yw),并利用标定模型求解模块120得到的相机位姿估计模型及位姿参数,输出控制相机云台的pan、tilt角度参数。
[0083]
作为示例,可以根据以下公式(12)~(14),获取控制相机云台的pan值和tilt值。
[0084][0085][0086]
q(rollw',tiltw,panw)=q-1
(roll0,pitch0,yaw0)*q(0,tiltw',panw');
ꢀꢀꢀꢀꢀꢀꢀ
(14)
[0087]
其中,(xw,yw)表示待观测目标在世界坐标系的坐标;(tiltw,panw)表示待观测目标对应的相机的pan值和tilt值,即待观测目标位于相机图像中心时相机的pan值和tilt值;(rollw',tiltw',panw')表示待观测目标位于相机图像中心时相机的体坐标系相对于世
界坐标系的旋转角度。
[0088]
a4.倍率计算模块140
[0089]
用于获取待观测目标的坐标(x,y),并根据坐标(x,y)与标定求解的相机位置(x0,y0)之间的距离,计算控制相机200的变倍系数zoom。
[0090]
作为示例,可以根据以下公式(15),获取控制相机200的变倍系数zoom。
[0091][0092]
其中,(xw,yw)表示待观测目标在世界坐标系的坐标,s表示卫星地图的比例尺,用于将卫星地图所使用的坐标系转为米制尺度,k表示放大倍率经验系数,可根据待观测目标的大小进行调整。例如,可以默认每100米距离放大一倍。
[0093]
最终,计算设备100可以根据预设的相机控制协议,将相机的ptz控制参数(panw、tiltw、zoom)发送给相机200,以控制相机200完成转向、缩放等功能,实现对待观测目标的相机联动。
[0094]
在本技术实施例中,提供了一种用于控制相机的方案,该方案不依赖外部的传感器作为相机标定的输入,而是依赖卫星地图进行相机标定和联动,成本较低,并且可以保障相机横向和纵向的全覆盖角度控制,根据待观测目标与相机的距离实现最大倍率范围的变倍控制。本方案充分考虑了相机的安装状态,对其进行了六自由度位姿的建模,只需获取少量的标定数据便可以完成标定过程,例如,最少只需3组标定数据,提高了相机标定效率与控制的精度。
[0095]
另外,本技术实施例中还设计了多种应用于标定过程的优化函数,可灵活适配不同高度、姿态的相机架设场景,提高了标定效率和应用灵活度。
[0096]
图6是本技术一实施例的用于控制相机的方法的流程示意图。该方法可以由图1至图3中的计算设备执行。如图6所示,该方法包括以下内容。
[0097]
s601、获取多组标定数据,每组标定数据包括:相机输出的ptz数据和卫星地图数据,ptz数据包括特征点对应的相机的pan值和tilt值,卫星地图数据包括特征点在世界坐标系的坐标。
[0098]
作为示例,每个相机可至少采集3组及3组以上的数据。
[0099]
作为示例,可以将相机的变倍系数(zoom)值设置为1,调节相机100的角度,直到显示图像中出现一个可在卫星地图中找到具体位置的特征点。例如,上述特征点可以是标识物、建筑物边缘等,并且该特征点处于地平面之上。找到特征点之后,为了标定数据更加准确,可以将相机的zoom值放大(例如,放大10倍及以上),微调相机云台的角度,直至该特征点处于显示图像的中心,截图并记录相机云台此时的pan、tilt值,以及该特征点在卫星地图的坐标(x,y)。
[0100]
其中,上述卫星地图的坐标(x,y)可以指世界坐标系中的坐标,在一些示例中,卫星地图的坐标(x,y)可以是经纬度坐标。
[0101]
s602、根据多组标定数据,对相机位姿估计模型求解,以获取所述相机的六自由度的位姿参数。
[0102]
其中,相机位姿估计模型用于获取相机的体坐标系转换到世界坐标系的位姿参数,位姿参数包括相机的体坐标系原点ob相对世界坐标系的原点ow的平移向量(x0,y0,z0),
以及相机的体坐标系相对于世界坐标系的三轴旋转的角度向量(roll0,pitch0,yaw0)。
[0103]
其中,关于相机位姿估计模型的建立和求解的具体原理,可参考图3至图5中的相关描述,为了简洁,此处不再赘述。
[0104]
可选地,在s602部分,若相机的安装未产生倾斜,则相机位姿估计模型符合以下条件:
[0105]
x=x0+z0*tan(tilt)*cos(yaw0+pan);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0106]
y=y0+z0*tan(tilt)*sin(yaw0+pan);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0107]
roll0=0;pitch0=0;
[0108]
其中,(x,y)表示特征点在世界坐标系的坐标,(tilt,pan)表示特征点位于相机图像中心时对应的相机的pan值和tilt值;
[0109]
若相机的安装产生倾斜,则相机位姿估计模型符合以下条件:
[0110]
x=x0+z0*tan(tilt')*cos(pan');
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0111]
y=y0+z0*tan(tilt')*sin(pan');
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0112]
其中,(tilt',pan')表示特征点位于相机图像中心时相机的体坐标系相对于世界坐标系的旋转角度。
[0113]
可选地,(tilt',pan')符合以下条件:
[0114]
q(roll',tilt',pan')=q(roll0,pitch0,yaw0)*q(0,tilt,pan);
ꢀꢀꢀꢀꢀꢀꢀ
(3)
[0115]
其中,(roll',tilt',pa)n'表示特征点位于相机图像中心时相机的体坐标系相对于世界坐标系的旋转角度,(roll0,pitc0h,ya0w)表示倾斜的相机的体坐标系相对于世界坐标系的三轴旋转的角度向量(roll0,pitch0,yaw0);
[0116]
q(m,n,l)表示由三轴旋转角所构建的四元数(w,x,y,z),其符合以下条件:
[0117][0118]
在s602部分,本技术实施例对模型求解的方式不作限定。例如,相机位姿估计模型求解的是非线性方程组,可以采用区间迭代法或者不动点法等方式求解。或者,利用相机位姿估计模型构建最小二乘法的待优化函数,并通过迭代方法进行求解,以得到所述位姿参数。
[0119]
作为示例,若相机的安装未产生倾斜,则利用以下公式构建最小二乘法的待优化函数进行求解:
[0120][0121][0122]
作为示例,若相机的安装产生倾斜,则利用以下公式构建最小二乘法的待优化函数进行求解:
[0123]
e3=∑(x-x
0-z0*tan(tilt')*cos(pan'))2+(y-y
0-z0*tan(tilt')*sin(pan'))2;
ꢀꢀ
(9)
[0124][0125]
作为示例,若相机仅控制pan值变化,则利用以下公式构建最小二乘法的待优化函数进行求解:
[0126][0127]
其中,(x,y)表示特征点在世界坐标系的坐标,(tilt,pan)表示特征点对应的相机的pan值和tilt值;(tilt',pan')表示特征点位于相机图像中心时相机的体坐标系相对于世界坐标系的旋转角度。
[0128]
其中,函数e1、e3适用于相机安装位置较高,数据采集时tilt度数较大的场景。作为示例,可以适用于tilt度数大于1度的场景。函数e2、e4适用于相机安装位置较低或倾斜较为严重,或者数据采集时tilt值较小的场景,例如,可以适用于较多tilt值小于1度的场景。函数e5适用于球机安装位置很低,数据采集时所有tilt值都处于0度左右的场景,或是tilt值固定,只需要控制pan值的平面场景,或是作为e1、e3、e3、e4函数的初值获取方法。
[0129]
本技术实施例中,通过设计多种应用于标定过程的优化函数,可灵活适配不同高度、姿态的相机架设场景,提高了标定效率和应用灵活度。
[0130]
s603、根据待观测目标在世界坐标系的坐标和位姿参数,获取相机的ptz控制参数。
[0131]
可选地,相机的ptz控制参数包括以下至少一项:待观测目标对应的相机的pan值、tilt值和zoom值。
[0132]
可选地,在s603部分,根据待观测目标在世界坐标系的坐标和位姿参数,获取相机的ptz控制参数,包括:
[0133]
根据以下公式,获取待观测目标对应的相机的pan值和tilt值:
[0134][0135][0136]
q(rollw',tiltw,panw)=q-1
(roll0,pitch0,yaw0)*q(0,tiltw',panw');
ꢀꢀꢀꢀꢀ
(14)
[0137]
其中,(xw,yw)表示待观测目标在世界坐标系的坐标,(tiltw,panw)表示待观测目标对应的相机的pan值和tilt值;(rollw',tiltw',panw')表示待观测目标位于相机图像中心时相机的体坐标系相对于世界坐标系的旋转角度。
[0138]
以及,根据以下公式,获取待观测目标对应的相机的zoom值:
[0139][0140]
其中,zoom表示待观测目标对应的相机的zoom值,(xw,yw)表示待观测目标在世界坐标系的坐标,s表示卫星地图的比例尺,k表示放大倍率经验系数。
[0141]
s604、输出相机的ptz控制参数。
[0142]
最终,计算设备可以根据预设的相机控制协议,将相机的ptz控制参数(panw、tiltw、zoom)发送给相机200,以控制相机完成转向、缩放等功能,实现对待观测目标的相机联动。
[0143]
在本技术实施例中,提供了一种用于控制相机的方案,该方案不依赖外部的传感器作为相机标定的输入,而是依赖卫星地图进行相机标定和联动,成本较低,并且可以保障相机横向和纵向的全覆盖角度控制,根据待观测目标与相机的距离实现最大倍率范围的变倍控制。本方案充分考虑了相机的安装状态,对其进行了六自由度位姿的建模,只需获取少量的标定数据便可以完成标定过程,提高了相机标定效率与控制的精度。
[0144]
图7是本技术一实施例的装置700的结构示意图。装置700用于执行上文中由计算设备100执行的方法。
[0145]
该装置700包括通信模块710和处理模块720。该装置700用于实现上文各个方法实施例中由计算设备100执行的操作。
[0146]
例如,通信模块710用于获取多组标定数据,每组标定数据包括:相机输出的ptz数据和卫星地图数据,ptz数据包括特征点对应的相机的pan值和tilt值,卫星地图数据包括特征点在世界坐标系的坐标;处理模块720用于根据多组标定数据,对相机位姿估计模型求解,以获取相机的六自由度的位姿参数;处理模块720还用于根据待观测目标在世界坐标系的坐标和位姿参数,获取相机的ptz控制参数;通信模块710还用于输出相机的ptz控制参数。
[0147]
图8是本技术一实施例的装置800的结构示意图。装置800用于执行上文中由计算设备100执行的方法。
[0148]
该装置800包括处理器810,处理器810用于执行存储器820存储的计算机程序或指令,或读取存储器820存储的数据,以执行上文各方法实施例中的方法。可选地,处理器810为一个或多个。
[0149]
可选地,如图8所示,该装置800还包括存储器820,存储器820用于存储计算机程序或指令和/或数据。该存储器820可以与处理器810集成在一起,或者也可以分离设置。可选地,存储器820为一个或多个。
[0150]
可选地,如图8所示,该装置800还包括通信接口830,通信接口830用于信号的接收和/或发送。例如,处理器810用于控制通信接口830进行信号的接收和/或发送。
[0151]
可选地,该装置800用于实现上文各个方法实施例中由计算设备100执行的操作。
[0152]
例如,处理器810用于执行存储器820存储的计算机程序或指令,以实现上文各个方法实施例的计算设备100相关操作。
[0153]
需要指出的是,图8中的装置800可以是前述实施例中的计算设备100,也可以是计算设备100的组成部件(如芯片),在此不做限定。
[0154]
在本技术实施例中,处理器是一种具有信号的处理能力的电路,在一种实现中,处理器可以是具有指令读取与运行能力的电路,例如cpu、微处理器、gpu(可以理解为一种微处理器)、或dsp等;在另一种实现中,处理器可以通过硬件电路的逻辑关系实现一定功能,该硬件电路的逻辑关系是固定的或可以重构的,例如处理器为asic或pld实现的硬件电路,例如fpga。在可重构的硬件电路中,处理器加载配置文档,实现硬件电路配置的过程,可以理解为处理器加载指令,以实现以上部分或全部单元的功能的过程。此外,还可以是针对人
工智能设计的硬件电路,其可以理解为一种asic,例如npu、tpu、dpu等。
[0155]
可见,以上装置中的各单元可以是被配置成实施以上方法的一个或多个处理器(或处理电路),例如:cpu、gpu、npu、tpu、dpu、微处理器、dsp、asic、fpga,或这些处理器形式中至少两种的组合。
[0156]
此外,以上装置中的各单元可以全部或部分可以集成在一起,或者可以独立实现。在一种实现中,这些单元集成在一起,以片上系统(system-on-a-chip,soc)的形式实现。该soc中可以包括至少一个处理器,用于实现以上任一种方法或实现该装置各单元的功能,该至少一个处理器的种类可以不同,例如包括cpu和fpga,cpu和人工智能处理器,cpu和gpu等。
[0157]
相应地,本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,当计算机程序/指令被处理器执行时,致使处理器实现图2至图6中计算设备100所执行的方法中的步骤。
[0158]
相应地,本技术实施例还提供一种计算机程序产品,包括计算机程序/指令,当计算机程序/指令被处理器执行时,致使处理器实现图2至图6中计算设备100所执行的方法中的步骤。
[0159]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0160]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0161]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0162]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0163]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0164]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0165]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0166]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括上述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0167]
以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1