一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

相机标定方法、装置、电子设备及可读存储介质与流程

2022-06-01 12:59:22 来源:中国专利 TAG:


1.本公开涉及图像处理技术领域,具体涉及一种相机标定方法、装置、电子设备及可读存储介质。


背景技术:

2.在真实的城市场景中,监控相机作为一种价格低廉和直观高效的视觉传感器,被广泛应用在市政交通等各行各业,从监控相机中挖掘获取的信息能够有效地辅助城市治理。监控画面的二维属性和空间的三维属性间存在差异,如何实现二维信息到真实场景的三维信息的映射是其中重要的环节,其核心技术在于相机标定,通过标定得到的相机参数把二维图像信息反投影到三维空间中。


技术实现要素:

3.为了解决相关技术中的问题,本公开实施例提供一种相机标定方法、装置、电子设备及可读存储介质。
4.第一方面,本公开实施例中提供了一种相机标定方法。
5.具体地,所述相机标定方法,包括:
6.针对相机拍摄目标对象得到的图像中的每个图像目标点,获取所述图像目标点在第一坐标系下的第一坐标和相应的对象目标点在第二坐标系下的第二坐标,所述对象目标点是所述目标对象上与所述图像目标点相对应的点;
7.根据多个所述图像目标点的第一坐标和相应的多个对象目标点的第二坐标确定所述相机的相机参数。
8.结合第一方面,本公开在第一方面的第一种实现方式中,所述方法还包括:
9.获取所述目标对象的纹理图;
10.通过对所述目标对象的图像和所述纹理图进行特征点提取和特征点匹配,获取所述多个图像目标点和所述纹理图上与所述多个图像目标点相对应的多个纹理图目标点;
11.确定基于所述纹理图构建的目标对象模型上与所述多个纹理图目标点相对应的多个模型目标点;
12.根据所述多个模型目标点获取所述多个对象目标点的第二坐标。
13.结合第一方面,本公开在第一方面的第二种实现方式中,其中:
14.所述相机为单目相机;和/或
15.所述第一坐标系是所述相机的图像坐标系,所述第二坐标系是所述目标对象所处的空间中的世界坐标系或所述目标对象所处的平面上的二维坐标系;和/或
16.所述相机参数包括相机内参和外参。
17.结合第一方面,本公开在第一方面的第三种实现方式中,其中,所述根据多个所述图像目标点的第一坐标和相应的多个对象目标点的第二坐标确定所述相机的相机参数,包括:
18.根据多个所述图像目标点的第一坐标和相应的多个对象目标点的第二坐标确定所述相机的投影矩阵;
19.根据所述投影矩阵计算得到所述相机的相机参数。
20.结合第一方面的第三种实现方式,本公开在第一方面的第四种实现方式中,其中,所述根据所述投影矩阵计算得到所述相机的相机参数,包括:
21.对所述投影矩阵的前三行前三列构成的3*3矩阵进行qr分解得到相机内参矩阵k和相机视角下从所述第二坐标系到相机坐标系的旋转矩阵r;
22.根据所述投影矩阵、所述相机内参矩阵k和所述旋转矩阵r,确定相机视角下从所述第二坐标系到相机坐标系的平移矢量t。
23.结合第一方面,本公开在第一方面的第五种实现方式中,所述方法还包括:
24.根据所述对象目标点的第二坐标和所述相机的外参确定所述对象目标点在第三坐标系下的第三坐标;
25.根据所述对象目标点的第三坐标和所述相机的内参确定所述对象目标点投影到所述相机的成像平面所得到的点在所述第一坐标系下的第四坐标;
26.根据所述对象目标点对应的图像目标点的第一坐标和所述第四坐标确定误差函数;
27.以最小化所述误差函数为目标对所述相机参数进行优化。
28.结合第一方面的第五种实现方式,本公开在第一方面的第六种实现方式中,其中,所述第三坐标系是所述相机的相机坐标系。
29.第二方面,本公开实施例中提供了一种相机标定方法,包括:
30.接收相机标定请求,所述相机标定请求包含图像标识信息,所述图像标识信息用于标识相机拍摄目标对象得到的图像;
31.根据所述图像标识信息获取针对相机拍摄目标对象得到的图像;
32.获取所述图像中的每个图像目标点,获取所述图像目标点在第一坐标系下的第一坐标和相应的对象目标点在第二坐标系下的第二坐标,所述对象目标点是所述目标对象上与所述图像目标点相对应的点;
33.根据多个所述图像目标点的第一坐标和相应的多个对象目标点的第二坐标确定所述相机的相机参数。
34.第三方面,本公开实施例中提供了一种相机标定装置。
35.具体地,所述相机标定装置,包括:
36.第一获取模块,被配置为针对相机拍摄目标对象得到的图像中的每个图像目标点,获取所述图像目标点在第一坐标系下的第一坐标和相应的对象目标点在第二坐标系下的第二坐标,所述对象目标点是所述目标对象上与所述图像目标点相对应的点;
37.第一确定模块,被配置为根据多个所述图像目标点的第一坐标和相应的多个对象目标点的第二坐标确定所述相机的相机参数。
38.结合第三方面,本公开在第三方面的第一种实现方式中,所述装置还包括:
39.第二获取模块,被配置为获取所述目标对象的纹理图;
40.第三获取模块,被配置为通过对所述目标对象的图像和所述纹理图进行特征点提取和特征点匹配,获取所述多个图像目标点和所述纹理图上与所述多个图像目标点相对应
的多个纹理图目标点;
41.第二确定模块,被配置为确定基于所述纹理图构建的目标对象模型上与所述多个纹理图目标点相对应的多个模型目标点;
42.第四获取模块,被配置为根据所述多个模型目标点获取所述多个对象目标点的第二坐标。
43.结合第三方面,本公开在第三方面的第二种实现方式中,其中:
44.所述相机为单目相机;和/或
45.所述第一坐标系是所述相机的图像坐标系,所述第二坐标系是所述目标对象所处的空间中的世界坐标系或所述目标对象所处的平面上的二维坐标系;和/或
46.所述相机参数包括相机内参和外参。
47.结合第三方面,本公开在第三方面的第三种实现方式中,其中,所述根据多个所述图像目标点的第一坐标和相应的多个对象目标点的第二坐标确定所述相机的相机参数,包括:
48.根据多个所述图像目标点的第一坐标和相应的多个对象目标点的第二坐标确定所述相机的投影矩阵;
49.根据所述投影矩阵计算得到所述相机的相机参数。
50.结合第三方面的第三种实现方式,本公开在第三方面的第四种实现方式中,其中,所述根据所述投影矩阵计算得到所述相机的相机参数,包括:
51.对所述投影矩阵的前三行前三列构成的3*3矩阵进行qr分解得到相机内参矩阵k和相机视角下从所述第二坐标系到相机坐标系的旋转矩阵r;
52.根据所述投影矩阵、所述相机内参矩阵k和所述旋转矩阵r,确定相机视角下从所述第二坐标系到相机坐标系的平移矢量t。
53.结合第三方面,本公开在第三方面的第五种实现方式中,所述装置还包括:
54.第三确定模块,被配置为根据所述对象目标点的第二坐标和所述相机的外参确定所述对象目标点在第三坐标系下的第三坐标;
55.第四确定模块,被配置为根据所述对象目标点的第三坐标和所述相机的内参确定所述对象目标点投影到所述相机的成像平面所得到的点在所述第一坐标系下的第四坐标;
56.第五确定模块,被配置为根据所述对象目标点对应的图像目标点的第一坐标和所述第四坐标确定误差函数;
57.优化模块,被配置为以最小化所述误差函数为目标对所述相机参数进行优化。
58.结合第三方面的第五种实现方式,本公开在第三方面的第六种实现方式中,其中,所述第三坐标系是所述相机的相机坐标系。
59.第四方面,本公开实施例中提供了一种相机标定装置,包括:
60.接收模块,被配置为接收相机标定请求,所述相机标定请求包含图像标识信息,所述图像标识信息用于标识相机拍摄目标对象得到的图像;
61.第五获取模块,被配置为根据所述图像标识信息获取针对相机拍摄目标对象得到的图像;
62.第一获取模块,被配置为获取所述图像中的每个图像目标点,获取所述图像目标点在第一坐标系下的第一坐标和相应的对象目标点在第二坐标系下的第二坐标,所述对象
目标点是所述目标对象上与所述图像目标点相对应的点;
63.第一确定模块,被配置为根据多个所述图像目标点的第一坐标和相应的多个对象目标点的第二坐标确定所述相机的相机参数。
64.第五方面,本公开实施例提供了一种电子设备,包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如第一方面至第二方面中任一项所述的方法。
65.第六方面,本公开实施例中提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现如第一方面至第二方面中所述的方法。
66.根据本公开实施例提供的技术方案,针对相机拍摄目标对象得到的图像中的每个图像目标点,获取所述图像目标点在第一坐标系下的第一坐标和相应的对象目标点在第二坐标系下的第二坐标,所述对象目标点是所述目标对象上与所述图像目标点相对应的点;根据多个所述图像目标点的第一坐标和相应的多个对象目标点的第二坐标确定所述相机的相机参数。根据本公开的实施例,可以直接从相机拍摄目标对象得到的单张图像对相机进行标定,求解相机参数,而不需要额外的标定物。对于用作监控相机的单目相机,安装位置通常较高而且固定,无法移动监控相机或从不同视角拍摄多张图像,使用根据本公开实施例的方法可以很方便地这种单目相机进行标定。
67.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
68.结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
69.图1示出根据本公开实施例的相机标定方法的整体流程示意图。
70.图2a示出根据本公开的实施例的相机标定方法的流程图。
71.图2b示出根据本公开的实施例的相机标定方法的流程图。
72.图3a示出根据本公开的实施例的相机标定装置的结构框图。
73.图3b示出根据本公开的实施例的相机标定装置的结构框图。
74.图4示出根据本公开的实施例的电子设备的结构框图。
75.图5示出适于用来实现根据本公开实施例的方法的计算机系统的结构示意图。
具体实施方式
76.下文中,将参考附图详细描述本公开的示例性实施例,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施例无关的部分。
77.在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
78.另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
79.在本公开中,对用户信息或用户数据的获取均为经用户授权、确认,或由用户主动
选择的操作。
80.如上所述,在真实的城市场景中,监控相机作为一种价格低廉和直观高效的视觉传感器,被广泛应用在市政交通等各行各业,从监控相机中挖掘获取的信息能够有效地辅助城市治理。监控画面的二维属性和空间的三维属性间存在差异,如何实现二维信息到真实场景的三维信息的映射是其中重要的环节,其核心技术在于相机标定,通过标定得到的相机参数把二维图像信息反投影到三维空间中。
81.在图像测量和机器视觉等应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相对变换关系,必须建立相机成像的几何模型,这些几何模型参数包含相机内参和相机外参,统称为相机参数。求解参数的过程称之为相机标定。
82.根据本公开的实施例,相机内参包括以下任意一个或多个参数:相机焦距、主点(principal point)位置、斜切系数和畸变参数,其中畸变参数包含径向畸变参数和切向畸变参数。根据本公开的实施例,相机外参包括在相机视角下,世界坐标系到相机坐标系的旋转矩阵和平移向量。
83.为了便于理解本公开的技术方案,首先对世界坐标系、相机坐标系、成像平面坐标系、图像坐标系进行说明。
84.根据本公开的实施例,可以在相机和相机拍摄的目标对象所处的空间中建立一个参考坐标系来描述相机和目标对象的位置,该参考坐标系称为世界坐标系。相机坐标系和世界坐标系之间的关系可用旋转矩阵r与平移向量t来描述。根据本公开的实施例,物体在世界坐标系中的坐标可以通过物体所在的经纬度和海拔高度换算得到。
85.根据本公开的实施例,成像平面坐标系是以物理单位(例如厘米)表示的二维坐标系,成像平面坐标系的原点定义在相机光轴和成像平面的交点处,该交点称为图像的主点,成像平面坐标系的x轴是相机感光元件(例如电荷耦合器件ccd)的感光表面的宽度方向,成像平面坐标系的y轴是相机感光元件的感光表面的高度方向。根据本公开的实施例,相机的成像平面是感光元件的感光表面所在的平面。
86.根据本公开实施例,相机坐标系的原点为相机的投影中心点(center of projection),x轴与y轴分别与成像平面坐标系的x轴和y轴平行,z轴为相机光轴,与成像平面垂直,以此构成的空间直角坐标系称为相机坐标系,相机坐标系是三维坐标系。
87.根据本公开实施例,图像坐标系是在图像上定义的直角坐标系,图像坐标系上的点的坐标分别是该点在图像的像素矩阵中的列数和行数。
88.如上所述,相机标定是用于建立二维图像到三维立体对象的映射的关键环节。已有的相机标定算法包括:传统相机标定算法、相机自标定法、主动视觉相机标定算法。
89.(1)传统相机标定算法:需要使用真实尺寸已知的三维标定物或平面标定物,通过建立标定物上坐标已知的点与其图像点之间的对应,利用优化算法求解相机模型的内外参数。三维标定物可由单幅图像进行标定,标定精度较高,但高精密三维标定物的加工和维护较困难。平面标定物比三维标定物制作简单,精度易保证,但标定时必须采用两幅或两幅以上的图像。
90.(2)相机自标定法:利用场景中的一些平行或者正交的约束信息标定相机内外参数。其中空间平行线在相机图像平面上的交点被称为消失点,由于消失点求解精度不高,该方法估计出来的相机参数误差较大。另外,对于有畸变的相机,空间平行线在成像平面上扭
曲同样会导致消失点求解精度下降,直接影响标定鲁棒性。
91.(3)主动视觉相机标定算法:利用运动恢复结构技术,通过分析相机的运动,在恢复场景三维几何信息的同时,优化得到相机的内外参数。该方法不需要已知的标定物,只需要挪动相机,在相同场景中拍摄图像,但需要保证相邻图像间相机运动的基线距离较大。
92.三类标定算法的共同缺点在于无法求解出相机相对于地理坐标系的外参,因为这些算法都是基于局部三维信息实现相机标定,自然也就无法实现图像中的物体在真实空间中的定位。
93.下面参考图1说明根据本公开实施例的相机标定方法的原理。如下公式中如无特殊说明,等号左右的坐标变换默认有透视除法操作,即归一化最后一个维度坐标。
94.图1示出根据本公开实施例的相机标定方法的整体流程示意图。
95.如图1所示,首先,可以通过无人机航飞图像或激光雷达扫描等获得目标对象的纹理图。例如,在数字城市的应用场景下,可以采用无人机航飞图像或车载激光雷达扫描获得城市场景的纹理图,基于城市场景的纹理图重建城市场景的三维模型。重建得到的三维模型通常位于局部坐标系而缺少真实位置信息和尺度。可以通过获取数据采集设备的全球定位系统gps信息,对重建的三维模型做相似变换和定位,将其配准到地理坐标系中。这样,重建的三维模型就具有了相应的实际对象的位置信息,例如经纬度、海拔高度等。
96.在相机对空间中的目标对象进行拍摄得到的单张图像中提取特征点,所述特征点包括以下任意一种或多种:角点、sift(scale-invariant feature transform,尺度不变特征变换)特征点、orb(oriented fast and rotated brief,定向快速旋转简单)特征点等。在目标对象的纹理图中提取同样类型的特征点,采用最邻近算法进行特征点匹配,确定彼此匹配的多个二维特征点,其中,匹配得到的图像中的特征点称为图像目标点,匹配得到的纹理图中的特征点称为纹理图目标点。然后,根据纹理图目标点得到重建的三维模型上的对应三维模型目标点。因为重建的三维模型具有相应的实际目标对象的位置信息,所以可以确定模型目标点在世界坐标系下的坐标,模型目标点在世界坐标系下的坐标也是目标对象上与该模型目标点对应(进而与图像目标点对应)的对象目标点在世界坐标系下的坐标。
97.假设图像目标点x在图像坐标系下的坐标是(x1,x2),图像目标点x对应于对象目标点x,对象目标点x在世界坐标系下的坐标是(x1,x2,x3),则依据小孔成像模型,将相机投影矩阵表示为3*4矩阵p,则在齐次坐标系下满足如下关系:
[0098][0099]
根据上述关系构造线性方程组如下:
[0100][0101]
[0102]
将匹配得到的图像目标点坐标和相应的对象目标点坐标代入方程组(1),可以求解得到相机投影矩阵p。
[0103]
在求解得到相机投影矩阵p之后,可以对p进行分解得到相机内参矩阵k和外参r、t,其中,内参矩阵k为:
[0104][0105]
其中,f
x
为相机在相机坐标系x轴方向上的焦距,fy为相机在相机坐标系y轴方向上的焦距,s为相机的斜切系数(通常为0),c
x
为相机主点在相机坐标系下的x坐标,cy为相机主点在相机坐标系下的y坐标。r是相机视角下,世界坐标系到相机坐标系的旋转矩阵,t是相机视角下,世界坐标系到相机坐标系的平移向量。
[0106]
根据本公开的实施例,令p=(kr|-krc),矩阵p是一个3*4矩阵,由于其包含了一个世界坐标系下三维点映射到图像坐标系下二维点的相机内外参数,矩阵p被称为相机的投影矩阵。如果矩阵p是已知的,则可以从其中分解出相机的内外参数。投影矩阵p的前三行三列由kr构成,其逆为r
t
k-1
,其中旋转矩阵r为正交矩阵,矩阵k-1
为非奇异的上三角矩阵,根据线性代数的知识,任意3*3矩阵都可以通过qr分解而唯一分解为一个正交矩阵和一个非奇异的上三角矩阵的积,因此可以分别求出矩阵k、r,进而结合投影矩阵的第四列求出相机中心c。相机中心c=-r
t
*t,因此,在求得c、r之后,可以求得t。
[0107]
根据本公开的实施例,如果对象目标点位于同一平面上,例如目标对象是室内的地面或墙面时,则投影矩阵p简化为3*3的单应矩阵h:
[0108][0109]
由于r是旋转矩阵,因此得到:
[0110][0111][0112]r11r12
r
21r22
r
31r32
=0
ꢀꢀꢀ
(5)
[0113]
令h
ij
表示矩阵h的第(i,j)个分量,从公式(2)和(5)得到:
[0114][0115]
从公式(3)和(4)得到:
[0116][0117][0118]
消去λ2,得到:
[0119][0120]
令f
x
=1/αu,fy=1/αv,从公式(6)和(9)得到:
[0121][0122][0123]
其中,
[0124][0125]
在计算得到αu和αv之后,可以使用公式(7)或(8)计算λ。于是可以得到:
[0126]r11
=λh
11
/αu,r
21
=λh
21
/αv,r
31
=λh
31
[0127]r12
=λh
12
/αu,r
22
=λh
22
/αv,r
32
=λh
32
[0128]
t1=λh
13
/αu,t2=λh
23
/αv,t3=λh
33
[0129]
使用旋转矩阵的正交性可以很容易地计算r
i3
(i=1,...,3)。
[0130]
在计算得到旋转矩阵r的各个分量r
ij
(i=1,

,3,j=1,

,3)之后,即可以得到旋转矩阵r。然后,根据公式(2)可以得到平移向量t的三个分量ti(i=1,

,3)。
[0131]
此外,f
x
为相机在相机坐标系x轴方向上的焦距,fy为相机在相机坐标系y轴方向上的焦距,主点位置为相机光轴与相机成像平面的交点,斜切系数默认为0,于是可以得到相机内参矩阵k。
[0132]
这样,当目标对象为二维对象时,也可以对相机进行标定,这适合于例如相机安装在室内的情况。
[0133]
按照上述方式,可以得到相机内参矩阵k、旋转矩阵r和平移向量t的初始值。然后,对相机畸变建模如下。采用通用的径向畸变和切向畸变模型,在相机坐标系下计算畸变。假设对象目标点x转换到相机坐标系后的坐标为xc,经畸变计算后为满足如下关系:
[0134][0135][0136]
其中,k1和k2表示径向畸变参数,p1和p2表示切向畸变参数,把投影到成像平面得到图像坐标系下的像素坐标估计值:据此构造误差函数误差函数其中,xi是第i个对象目标点xi对应的图像目标点,是对象目标点xi经上述计算得到的,n是对象目标点的总数。
[0137]
使用相机内参矩阵k、旋转矩阵r和平移向量t的初始值,畸变参数初始值全部设置为0,通过例如levenberg-marquardt方法或梯度下降法以最小化误差函数为目标,优化相机内参矩阵k、旋转矩阵r、平移向量t和畸变参数,从而得到优化的相机参数。
[0138]
根据本公开的实施例,可以直接从相机拍摄目标对象得到的单张图像对相机进行标定,求解相机参数,而不需要额外的标定物。对于用作监控相机的单目相机,安装位置通
常较高而且固定,无法移动监控相机或从不同视角拍摄多张图像,使用根据本公开实施例的方法可以很方便地这种单目相机进行标定。
[0139]
根据本公开的实施例,不同于传统局部坐标系下的相机标定,位于地理坐标系下的目标对象模型可以提供具有真实地理信息的三维特征点,用以辅助相机标定。标定结果可以直接应用于真实场景下的行人车辆速度估计,增强现实等。
[0140]
根据本公开的实施例,针对数字城市场景,本方案提出一套通用监控相机标定算法,仅需单张监控图像,即可实现监控相机在虚拟城市场景中的定位,定位位置为地理坐标系下的真实位置。
[0141]
根据本公开的实施例,本方案仅需要少量的二三维对应点即可准确标定相机参数。
[0142]
根据本公开的实施例的优化策略可扩展到任意成像模型和畸变模型。
[0143]
图2a示出根据本公开的实施例的相机标定方法的流程图。如图2a所示,所述相机标定方法包括以下步骤s101

s102:
[0144]
在步骤s101中,针对相机拍摄目标对象得到的图像中的每个图像目标点,获取所述图像目标点在第一坐标系的第一坐标和相应的对象目标点在第二坐标系下的第二坐标,所述对象目标点是所述目标对象上与所述图像目标点相对应的点;
[0145]
在步骤s102中,根据多个所述图像目标点的第一坐标和相应的多个对象目标点的第二坐标确定所述相机的相机参数。
[0146]
图2b示出了根据本公开的实施例的相机标定方法的流程图。图2b所示的方法流程例如可以由服务器实现。如图2b所示,所述相机标定方法除包括上述步骤s101-s102之外,还包括步骤s103和s104:
[0147]
在步骤s103中,接收相机标定请求,所述相机标定请求包含图像标识信息,所述图像标识信息用于标识相机拍摄目标对象得到的图像;
[0148]
在步骤s104中,根据所述图像标识信息获取针对相机拍摄目标对象得到的图像;
[0149]
在步骤s101中,针对相机拍摄目标对象得到的图像中的每个图像目标点,获取所述图像目标点在第一坐标系的第一坐标和相应的对象目标点在第二坐标系下的第二坐标,所述对象目标点是所述目标对象上与所述图像目标点相对应的点;
[0150]
在步骤s102中,根据多个所述图像目标点的第一坐标和相应的多个对象目标点的第二坐标确定所述相机的相机参数。
[0151]
根据本公开的实施例,在步骤s203中接收相机标定请求例如可以是从客户端接收相机标定请求。
[0152]
根据本公开的实施例,所述相机为单目相机,所述第一坐标系是所述相机的图像坐标系,所述第二坐标系是所述目标对象所处的空间中的世界坐标系或所述目标对象所处的平面上的二维坐标系,所述相机参数包括相机内参和外参。根据本公开的实施例,第一坐标系和第二坐标系可以是任意坐标系。
[0153]
如以上参考图1描述的那样,根据本公开的实施例,图像目标点例如是图像目标点x,第一坐标系例如是图像坐标系,第一坐标例如是(x1,x2),对象目标点例如是对象目标点x,第二坐标系例如是世界坐标系,第二坐标例如是(x1,x2,x3)。当目标对象为二维平面对象,例如地面或墙面时,第二坐标系可以是目标对象所处的平面上的二维坐标系。根据图像
目标点的第一坐标和相应的对象目标点的第二坐标,可以得到相机的投影矩阵p,进而得到相机参数,例如包括内参矩阵k、旋转矩阵r和平移向量t。
[0154]
根据本公开的实施例,可以直接从相机拍摄目标对象得到的单张图像对相机进行标定,求解相机参数,而不需要额外的标定物。对于用作监控相机的单目相机,安装位置通常较高而且固定,无法移动监控相机或从不同视角拍摄多张图像,使用根据本公开实施例的方法可以很方便地这种单目相机进行标定。
[0155]
根据本公开的实施例,所述相机标定方法,还包括:获取所述目标对象的纹理图;通过对所述目标对象的图像和所述纹理图进行特征点提取和特征点匹配,获取所述多个图像目标点和所述纹理图上与所述多个图像目标点相对应的多个纹理图目标点;确定基于所述纹理图构建的目标对象模型上与所述多个纹理图目标点相对应的多个模型目标点;根据所述多个模型目标点获取所述多个对象目标点的第二坐标。
[0156]
例如,参考图1,首先,可以通过无人机航飞图像或激光雷达扫描等获得目标对象的纹理图。例如,在数字城市的应用场景下,可以采用无人机航飞图像或车载激光雷达扫描获得城市场景的纹理图,基于城市场景的纹理图重建城市场景的三维模型。重建得到的三维模型通常位于局部坐标系而缺少真实位置信息和尺度。可以通过获取数据采集设备的全球定位系统gps信息,对重建的三维模型做相似变换和定位,将其配准到地理坐标系中。这样,重建的三维模型就具有了相应的实际对象的位置信息,例如经纬度、海拔高度等。
[0157]
在相机对空间中的目标对象进行拍摄得到的单张图像中提取特征点,所述特征点包括以下任意一种或多种:角点、sift(scale-invariant feature transform,尺度不变特征变换)特征点、orb(oriented fast and rotated brief,定向快速旋转简单)特征点等。在目标对象的纹理图中提取同样类型的特征点,采用最邻近算法进行特征点匹配,确定彼此匹配的多个特征点,其中,匹配得到的图像中的特征点称为图像目标点,匹配得到的纹理图中的特征点称为纹理图目标点。然后,根据纹理图目标点得到重建的三维模型上的对应模型目标点。因为重建的三维模型具有相应的实际目标对象的位置信息,所以可以确定模型目标点在世界坐标系下的坐标,模型目标点在世界坐标系下的坐标也是目标对象上与该模型目标点对应(进而与图像目标点对应)的对象目标点在世界坐标系下的坐标。
[0158]
根据本公开的实施例,不同于传统局部坐标系下的相机标定,位于地理坐标系下的目标对象模型可以提供具有真实地理信息的三维特征点,用以辅助相机标定。标定结果可以直接应用于真实场景下的行人车辆速度估计,增强现实等。
[0159]
根据本公开实施例,针对数字城市场景,本方案提出一套通用监控相机标定算法,仅需单张监控图像,即可实现监控相机在虚拟城市场景中的定位,定位位置为地理坐标系下的真实位置。具体地,通过确定相机旋转矩阵r和平移向量t,可以确定相机坐标系相对于世界坐标系的位置,从而确定相机的定位位置。
[0160]
根据本公开的实施例,所述根据多个所述图像目标点的第一坐标和相应的多个对象目标点的第二坐标确定所述相机的相机参数,包括:根据多个所述图像目标点的第一坐标和相应的多个对象目标点的第二坐标确定所述相机的投影矩阵;根据所述投影矩阵计算得到所述相机的相机参数。
[0161]
例如,参考图1,假设图像目标点x在图像坐标系下的坐标是(x1,x2),图像目标点x对应于对象目标点x,对象目标点x在世界坐标系下的坐标是(x1,x2,x3),则依据小孔成像模
型,将相机投影矩阵表示为3*4矩阵p,则在齐次坐标系下满足如下关系:
[0162][0163]
根据上述关系构造线性方程组(1),将匹配得到的图像目标点坐标和相应的对象目标点坐标代入方程组(1),可以求解得到相机投影矩阵p。
[0164]
根据本公开的实施例,所述根据所述投影矩阵计算得到所述相机的相机参数,包括:对所述投影矩阵的前三行前三列构成的3*3矩阵进行qr分解得到相机内参矩阵k和相机视角下从所述第二坐标系到相机坐标系的旋转矩阵r;根据所述投影矩阵、所述相机内参矩阵k和所述旋转矩阵r,确定相机视角下从所述第二坐标系到相机坐标系的平移矢量t。
[0165]
例如,参考图1,在得到相机投影矩阵p之后,可以对p进行分解得到相机内参矩阵k和外参r、t。
[0166]
根据本公开的实施例,所述相机标定方法还包括:根据所述对象目标点的第二坐标和所述相机的外参确定所述对象目标点在第三坐标系下的第三坐标;根据所述对象目标点的第三坐标和所述相机的内参确定所述对象目标点投影到所述相机的成像平面所得到的点在所述第一坐标系下的第四坐标;根据所述对象目标点对应的图像目标点的第一坐标和所述第四坐标确定误差函数;以最小化所述误差函数为目标对所述相机参数进行优化。
[0167]
根据本公开的实施例,所述第三坐标系是所述相机的相机坐标系。
[0168]
例如,参考图1,对象目标点x在第三坐标系下的第三坐标是xc,对象目标点投影到所述相机的成像平面所得到的点在所述第一坐标系下的第四坐标是误差函数为其中,xi是第i个对象目标点xi对应的图像目标点,是对象目标点xi经上述计算得到的,n是对象目标点的总数。
[0169]
使用相机内参矩阵k、旋转矩阵r和平移向量t的初始值,畸变参数初始值全部设置为0,通过例如levenberg-marquardt方法或梯度下降法以最小化误差函数为目标,优化相机内参矩阵k、旋转矩阵r、平移向量t和畸变参数,从而得到优化的相机参数。
[0170]
图3a示出根据本公开的实施例的相机标定装置的结构框图。其中,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。
[0171]
如图3a所示,所述相机标定装置300包括第一获取模块301和第一确定模块302。
[0172]
第一获取模块301被配置为针对相机拍摄目标对象得到的图像中的每个图像目标点,获取所述图像目标点在第一坐标系下的第一坐标和相应的对象目标点在第二坐标系下的第二坐标,所述对象目标点是所述目标对象上与所述图像目标点相对应的点;
[0173]
第一确定模块302被配置为根据多个所述图像目标点的第一坐标和相应的多个对象目标点的第二坐标确定所述相机的相机参数。
[0174]
根据本公开的实施例,相机标定装置300还包括:
[0175]
第二获取模块303,被配置为获取所述目标对象的纹理图;
[0176]
第三获取模块304,被配置为通过对所述目标对象的图像和所述纹理图进行特征点提取和特征点匹配,获取所述多个图像目标点和所述纹理图上与所述多个图像目标点相
对应的多个纹理图目标点;
[0177]
第二确定模块305,被配置为确定基于所述纹理图构建的目标对象模型上与所述多个纹理图目标点相对应的多个模型目标点;
[0178]
第四获取模块306,被配置为根据所述多个模型目标点获取所述多个对象目标点的第二坐标。
[0179]
根据本公开的实施例,其中:
[0180]
所述相机为单目相机;和/或
[0181]
所述第一坐标系是所述相机的图像坐标系,所述第二坐标系是所述目标对象所处的空间中的世界坐标系或所述目标对象所处的平面上的二维坐标系;和/或
[0182]
所述相机参数包括相机内参和外参。
[0183]
根据本公开的实施例,其中,所述根据多个所述图像目标点的第一坐标和相应的多个对象目标点的第二坐标确定所述相机的相机参数,包括:
[0184]
根据多个所述图像目标点的第一坐标和相应的多个对象目标点的第二坐标确定所述相机的投影矩阵;
[0185]
根据所述投影矩阵计算得到所述相机的相机参数。
[0186]
根据本公开的实施例,其中,所述根据所述投影矩阵计算得到所述相机的相机参数,包括:
[0187]
对所述投影矩阵的前三行前三列构成的3*3矩阵进行qr分解得到相机内参矩阵k和相机视角下从所述第二坐标系到相机坐标系的旋转矩阵r;
[0188]
根据所述投影矩阵、所述相机内参矩阵k和所述旋转矩阵r,确定相机视角下从所述第二坐标系到相机坐标系的平移矢量t。
[0189]
根据本公开的实施例,相机标定装置300还包括:
[0190]
第三确定模块307,被配置为根据所述对象目标点的第二坐标和所述相机的外参确定所述对象目标点在第三坐标系下的第三坐标;
[0191]
第四确定模块308,被配置为根据所述对象目标点的第三坐标和所述相机的内参确定所述对象目标点投影到所述相机的成像平面所得到的点在所述第一坐标系下的第四坐标;
[0192]
第五确定模块309,被配置为根据所述对象目标点对应的图像目标点的第一坐标和所述第四坐标确定误差函数;
[0193]
优化模块310,被配置为以最小化所述误差函数为目标对所述相机参数进行优化。
[0194]
根据本公开的实施例,其中,所述第三坐标系是所述相机的相机坐标系。
[0195]
图3b示出根据本公开的实施例的相机标定装置的结构框图。其中,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。
[0196]
如图3b所示,相机标定装置320例如可以在服务器中实现,其除了包括上述第一获取模块301和第一确定模块302之外,还包括接收模块311和第五获取模块312,其中:
[0197]
接收模块311被配置为接收相机标定请求,所述相机标定请求包含图像标识信息,所述图像标识信息用于标识相机拍摄目标对象得到的图像;
[0198]
第五获取模块312被配置为根据所述图像标识信息获取针对相机拍摄目标对象得到的图像。
[0199]
根据本公开的实施例,相机标定装置320还包括:
[0200]
第二获取模块303,被配置为获取所述目标对象的纹理图;
[0201]
第三获取模块304,被配置为通过对所述目标对象的图像和所述纹理图进行特征点提取和特征点匹配,获取所述多个图像目标点和所述纹理图上与所述多个图像目标点相对应的多个纹理图目标点;
[0202]
第二确定模块305,被配置为确定基于所述纹理图构建的目标对象模型上与所述多个纹理图目标点相对应的多个模型目标点;
[0203]
第四获取模块306,被配置为根据所述多个模型目标点获取所述多个对象目标点的第二坐标。
[0204]
根据本公开的实施例,其中:
[0205]
所述相机为单目相机;和/或
[0206]
所述第一坐标系是所述相机的图像坐标系,所述第二坐标系是所述目标对象所处的空间中的世界坐标系或所述目标对象所处的平面上的二维坐标系;和/或
[0207]
所述相机参数包括相机内参和外参。
[0208]
根据本公开的实施例,其中,所述根据多个所述图像目标点的第一坐标和相应的多个对象目标点的第二坐标确定所述相机的相机参数,包括:
[0209]
根据多个所述图像目标点的第一坐标和相应的多个对象目标点的第二坐标确定所述相机的投影矩阵;
[0210]
根据所述投影矩阵计算得到所述相机的相机参数。
[0211]
根据本公开的实施例,其中,所述根据所述投影矩阵计算得到所述相机的相机参数,包括:
[0212]
对所述投影矩阵的前三行前三列构成的3*3矩阵进行qr分解得到相机内参矩阵k和相机视角下从所述第二坐标系到相机坐标系的旋转矩阵r;
[0213]
根据所述投影矩阵、所述相机内参矩阵k和所述旋转矩阵r,确定相机视角下从所述第二坐标系到相机坐标系的平移矢量t。
[0214]
根据本公开的实施例,相机标定装置320还包括:
[0215]
第三确定模块307,被配置为根据所述对象目标点的第二坐标和所述相机的外参确定所述对象目标点在第三坐标系下的第三坐标;
[0216]
第四确定模块308,被配置为根据所述对象目标点的第三坐标和所述相机的内参确定所述对象目标点投影到所述相机的成像平面所得到的点在所述第一坐标系下的第四坐标;
[0217]
第五确定模块309,被配置为根据所述对象目标点对应的图像目标点的第一坐标和所述第四坐标确定误差函数;
[0218]
优化模块310,被配置为以最小化所述误差函数为目标对所述相机参数进行优化。
[0219]
根据本公开的实施例,其中,所述第三坐标系是所述相机的相机坐标系。本公开还公开了一种电子设备,图4示出根据本公开的实施例的电子设备的结构框图。
[0220]
如图4所示,所述电子设备400包括存储器401和处理器402,其中,存储器401用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器402执行以实现根据本公开的实施例的方法。
[0221]
根据本公开的实施例,一种相机标定方法,包括:
[0222]
针对相机拍摄目标对象得到的图像中的每个图像目标点,获取所述图像目标点在第一坐标系下的第一坐标和相应的对象目标点在第二坐标系下的第二坐标,所述对象目标点是所述目标对象上与所述图像目标点相对应的点;
[0223]
根据多个所述图像目标点的第一坐标和相应的多个对象目标点的第二坐标确定所述相机的相机参数。
[0224]
根据本公开的实施例,一种相机标定方法,包括:
[0225]
接收相机标定请求,所述相机标定请求包含图像标识信息,所述图像标识信息用于标识相机拍摄目标对象得到的图像;
[0226]
根据所述图像标识信息获取针对相机拍摄目标对象得到的图像;
[0227]
获取所述图像中的每个图像目标点,获取所述图像目标点在第一坐标系下的第一坐标和相应的对象目标点在第二坐标系下的第二坐标,所述对象目标点是所述目标对象上与所述图像目标点相对应的点;
[0228]
根据多个所述图像目标点的第一坐标和相应的多个对象目标点的第二坐标确定所述相机的相机参数。
[0229]
根据本公开的实施例,所述相机标定方法还包括:
[0230]
获取所述目标对象的纹理图;
[0231]
通过对所述目标对象的图像和所述纹理图进行特征点提取和特征点匹配,获取所述多个图像目标点和所述纹理图上与所述多个图像目标点相对应的多个纹理图目标点;
[0232]
确定基于所述纹理图构建的目标对象模型上与所述多个纹理图目标点相对应的多个模型目标点;
[0233]
根据所述多个模型目标点获取所述多个对象目标点的第二坐标。
[0234]
根据本公开的实施例,其中:
[0235]
所述相机为单目相机;和/或
[0236]
所述第一坐标系是所述相机的图像坐标系,所述第二坐标系是所述目标对象所处的空间中的世界坐标系或所述目标对象所处的平面上的二维坐标系;和/或
[0237]
所述相机参数包括相机内参和外参。
[0238]
根据本公开的实施例,其中,所述根据多个所述图像目标点的第一坐标和相应的多个对象目标点的第二坐标确定所述相机的相机参数,包括:
[0239]
根据多个所述图像目标点的第一坐标和相应的多个对象目标点的第二坐标确定所述相机的投影矩阵;
[0240]
根据所述投影矩阵计算得到所述相机的相机参数。
[0241]
根据本公开的实施例,其中,所述根据所述投影矩阵计算得到所述相机的相机参数,包括:
[0242]
对所述投影矩阵的前三行前三列构成的3*3矩阵进行qr分解得到相机内参矩阵k和相机视角下从所述第二坐标系到相机坐标系的旋转矩阵r;
[0243]
根据所述投影矩阵、所述相机内参矩阵k和所述旋转矩阵r,确定相机视角下从所述第二坐标系到相机坐标系的平移矢量t。
[0244]
根据本公开的实施例,所述相机标定方法还包括:
[0245]
根据所述对象目标点的第二坐标和所述相机的外参确定所述对象目标点在第三坐标系下的第三坐标;
[0246]
根据所述对象目标点的第三坐标和所述相机的内参确定所述对象目标点投影到所述相机的成像平面所得到的点在所述第一坐标系下的第四坐标;
[0247]
根据所述对象目标点对应的图像目标点的第一坐标和所述第四坐标确定误差函数;
[0248]
以最小化所述误差函数为目标对所述相机参数进行优化。
[0249]
根据本公开的实施例,其中,所述第三坐标系是所述相机的相机坐标系。
[0250]
图5示出适于用来实现根据本公开实施例的方法的计算机系统的结构示意图。
[0251]
如图5所示,计算机系统500包括处理单元501,其可以根据存储在只读存储器(rom)502中的程序或者从存储部分508加载到随机访问存储器(ram)503中的程序而执行上述实施例中的各种处理。在ram 503中,还存储有系统500操作所需的各种程序和数据。处理单元501、rom502以及ram 503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。
[0252]
以下部件连接至i/o接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至i/o接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。其中,所述处理单元501可实现为cpu、gpu、tpu、fpga、npu等处理单元。
[0253]
特别地,根据本公开的实施例,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在计算机可读存储介质上的计算机程序,所述计算机程序包含用于执行上述方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。
[0254]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0255]
描述于本公开实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过可编程硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
[0256]
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介
质可以是上述实施例中电子设备或计算机系统中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
[0257]
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献