相机内参和外参估算方法、装置、计算机设备及存储介质与流程

文档序号:27429524发布日期:2021-11-17 21:33阅读:538来源:国知局
相机内参和外参估算方法、装置、计算机设备及存储介质与流程

1.本发明涉及相机标定技术领域,特别涉及相机内参和外参估算方法、装置、计算机设备及存储介质。


背景技术:

2.在计算机视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定(或摄像机标定)。相机标定的参数包括内参和外参两部分,内参描述了相机内部的一些参数,用于确定如何将相机坐标转化到图像坐标,包括相机焦距、畸变参数等;外参描述了相机在某个三维空间中的位置和朝向,用于确定如何将世界坐标转化到相机坐标,通常包括空间位置坐标、俯仰角、导航角和翻滚角等。在图像测量或者机器视觉应用中,相机参数的标定都是非常关键的环节,其标定结果的精度及算法的稳定性直接影响相机工作产生结果的准确性。
3.目前相机标定的常用的方法是基于标定板的标定,该方法要求相机对于特定的标定板进行一系列清晰的拍摄。然而实际情况中,由于相机安装高度、安装位置、相机数量的限定,很难一一使用该类方法进行标定,因此,该类方法耗时耗力,难以进行大规模的推广应用。例如对于视频监控相机,一般具有较高的安装高度,拍摄到的标定板在图像中面积很小导致无法识别,且该方法对于相机焦距可变的情况下难以适用。


技术实现要素:

4.本发明实施例提供了一种相机内参和外参估算方法、装置、计算机设备及存储介质,旨在不需要对相机进行标定即可确定相机的内参和外参。
5.第一方面,本发明实施例提供了一种相机内参和外参估算方法,包括:
6.分别建立相机坐标系、世界坐标系和像素坐标系,并构建所述相机坐标系和世界坐标系之间的变换矩阵;
7.拍摄至少一张包含同一人行横道线的图像,然后从所述图像中提取人行横道线上的多个特征点和多条特征线,并记录每一特征点以及每一特征线两端端点在所述像素坐标系中的像素坐标;
8.确定所述多个特征点之间的几何关系以及所述多条特征线之间的几何关系;
9.确定每一特征点以及每一特征线两端端点在所述世界坐标系中的世界坐标,根据所述几何关系建立多个特征点和多条特征线的几何方程;
10.基于所述变换矩阵以及所述像素坐标与世界坐标的对应关系,利用迭代优化方法和/或联立方程方法对所述几何方程进行求解,并将求解结果作为相机的内参和外参。
11.第二方面,本发明实施例提供了一种相机内参和外参估算装置,包括:
12.坐标系建立单元,用于分别建立相机坐标系、世界坐标系和像素坐标系,并构建所
述相机坐标系和世界坐标系之间的变换矩阵;
13.图像拍摄单元,用于拍摄至少一张包含同一人行横道线的图像,然后从所述图像中提取人行横道线上的多个特征点和多条特征线,并记录每一特征点以及每一特征线两端端点在所述像素坐标系中的像素坐标;
14.几何关系确定单元,用于确定所述多个特征点之间的几何关系以及所述多条特征线之间的几何关系;
15.几何方程建立单元,用于确定每一特征点以及每一特征线两端端点在所述世界坐标系中的世界坐标,根据所述几何关系建立多个特征点和多条特征线的几何方程;
16.求解单元,用于基于所述变换矩阵以及所述像素坐标与世界坐标的对应关系,利用迭代优化方法和/或联立方程方法对所述几何方程进行求解,并将求解结果作为相机的内参和外参。
17.第三方面,本发明实施例提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的相机内参和外参估算方法。
18.第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的相机内参和外参估算方法。
19.本发明实施例提供了一种相机内参和外参估算方法、装置、计算机设备及存储介质,该方法包括:分别建立相机坐标系、世界坐标系和像素坐标系,并构建所述相机坐标系和世界坐标系之间的变换矩阵;拍摄至少一张包含同一人行横道线的图像,然后从所述图像中提取人行横道线上的多个特征点和多条特征线,并记录每一特征点以及每一特征线两端端点在所述像素坐标系中的像素坐标;确定所述多个特征点之间的几何关系以及所述多条特征线之间的几何关系;确定每一特征点以及每一特征线两端端点在所述世界坐标系中的世界坐标,根据所述几何关系建立多个特征点和多条特征线的几何方程;基于所述变换矩阵以及所述像素坐标与世界坐标的对应关系,利用迭代优化方法和/或联立方程方法对所述几何方程进行求解,并将求解结果作为相机的内参和外参。本发明实施例通过拍摄人行横道线图像以估算相机的内参和外参,从而在不需要出厂时或安装之前标定相机内参且不需要现场实地测量相机外参的情况下对相机内参和外参进行估算,从而提高相机内参和外参的估算效率。
附图说明
20.为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1为本发明实施例提供的一种相机内参和外参估算方法的流程示意图;
22.图2为本发明实施例提供的一种相机内参和外参估算方法的子流程示意图;
23.图3为本发明实施例提供的一种相机内参和外参估算方法中的示例示意图;
24.图4为本发明实施例提供的一种相机内参和外参估算方法中的另一示例示意图;
25.图5为本发明实施例提供的一种相机内参和外参估算装置的示意性框图;
26.图6为本发明实施例提供的一种相机内参和外参估算装置的子示意性框图。
具体实施方式
27.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
28.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
29.还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
30.还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
31.下面请参见图1,图1为本发明实施例提供的一种相机内参和外参估算方法的流程示意图,具体包括:步骤s101~s105。
32.s101、分别建立相机坐标系、世界坐标系和像素坐标系,并构建所述相机坐标系和世界坐标系之间的变换矩阵;
33.s102、拍摄至少一张包含同一人行横道线的图像,然后从所述图像中提取人行横道线上的多个特征点和多条特征线,并记录每一特征点以及每一特征线两端端点在所述像素坐标系中的像素坐标;
34.s103、确定所述多个特征点之间的几何关系以及所述多条特征线之间的几何关系;
35.s104、确定每一特征点以及每一特征线两端端点在所述世界坐标系中的世界坐标,根据所述几何关系建立多个特征点和多条特征线的几何方程;
36.s105、基于所述变换矩阵以及所述像素坐标与世界坐标的对应关系,利用迭代优化方法和/或联立方程方法对所述几何方程进行求解,并将求解结果作为相机的内参和外参。
37.本实施例中,利用相机拍摄一张或多张同一人行横道线图像,并提取图像中人行横道线的特征点与特征线,同时确定提取的各特征点、各特征线之间的几何关系。通过预先构建的相机坐标系、世界坐标系和像素坐标系,以及各坐标系的对应关系,根据所述几何关系建立特征点的几何方程以及特征线的几何方程,并利用用迭代优化和/或联立方程组的方式求解相机参数矩阵(即建立的几何方程),由此可准确得到相机的内参和外参。
38.本实施例充分利用了交通场景监控相机的特点,无需在出厂时或安装之前标定相机内参以及现场实地测量相机外参,仅仅通过拍摄人行横道线即可快速准确的估算相机的内参和外参,在保证快速、方便、准确估算相机参数的同时,不需要大量的人力物力投入,极大地节约了人力成本,减少了资源消耗,对于交通场景有很高的适用性。
39.在一实施例中,所述步骤s101包括:
40.以相机为中心,以相机光心的向前的射线为z轴,相机正下方方向为y轴,相机右手方向为x轴,建立所述相机坐标系;
41.以相机在地面的投影为中心,相机光心前向射线在地面的投影为y轴,地面垂直向上为z轴,相机右手方向为x轴,建立所述世界坐标系;
42.以图像左上角为中心,水平向右为u轴,竖直向下为v轴,建立所述像素坐标系;
43.按下式构建所述相机坐标系和世界坐标系之间的变换矩阵:
[0044][0045]
式中,(x
w
,y
w
,z
w
)
t
代表所述世界坐标系中的一点,(x
c
,yc,z
c
,1)在所述相机坐标系下的齐次坐标,r是3
×
3的正交矩阵,表示相机的旋转矩阵,t是相机的三维平移向量,为相机的外参矩阵,k为相机的内参矩阵,所述内参矩阵k为:
[0046]
本实施例中,通过分别构建所述相机坐标系、世界坐标系和像素坐标系,r如图3所示,使拍摄的图像中任一点的像素坐标可以经由像素坐标系和相机坐标系转换为世界坐标系中的一点世界坐标,即通过所述变换矩阵将像素坐标转换世界坐标,从而方便后续对于相机内参和外参的估算。
[0047]
另外,可以理解的是,本实施例中的(x
w
,y
w
,z
w
)
t
即是指坐标(x
w
,y
w
,z
w
)的转换矩阵,即
[0048]
在一实施例中,所述步骤s102包括:
[0049]
通过计算机视觉方法对每一所述图像进行预处理;
[0050]
利用关键点检测算法提取人行横道线上角点,并作为特征点和特征线的两端端点;
[0051]
记录每一特征点以及每一特征线两端端点在所述像素坐标系中的像素坐标。
[0052]
本实施例中,首先对拍摄的每一张图像进行预处理,包括但不限于图像灰度化、图像二值化等预处理,对预处理后的图像,设置合适的关键点检测算法的参数,并利用关键点检测算法提取图像中的人行横道线上的各个角点,以作为特征点和特征线两端端点。例如可选择适当的图像方法和二值化阈值,将图像转化为二值化图,然后选择合适的角点提取算法(例如harris角点提取算法,一种特征点提取方法),并在设置合适的参数(例如窗口大小、方程自由参数等)后提取关键点,即角点。还可以选择合适的边缘检测算法(例如canny算法,一种边缘检测算法),并在设置合适的参数(如低阈值、高阈值、算子内核大小等)后提取图像中的轮廓,基于提取的轮廓选择合适的直线检测算法(例如霍夫变换算法等),并在设置合适的参数(如距离分辨率、累计阈值等)后提取图象中的特征线。
[0053]
基于提取的特征点和特征线,可以记录每个特征点i的像素坐标(u
i
,v
i
)。当然,也可以选择手动标注的方式标注特征点,或在图像上标记出人行横道线的长边、短边、边界线等并作为特征线,然后记录每一特征线的两端端点像素坐标(u
i
,v
i
)。
[0054]
还需说明的是,在拍摄人行横道线图像时,可以通过控制相机旋转,拍摄一幅或多幅人行横道线图像。例如对于一个待标定的相机,可以通过远程软件或其他任何方式对相机进行控制,拍摄一幅人行横道线图像,或控制相机旋转至不同的拍摄角度,对同一人行横道线拍摄多幅图像。
[0055]
在一实施例中,所述多个特征点均为所述人行横道线中白线的角点,所述多条特征线均为所述人行横道线中白线的边线;
[0056]
所述步骤s103包括:
[0057]
在所述多个特征点中任意选取一个作为目标特征点,并将所述目标特征点的世界坐标设置为(0,0),以及将所述目标特征点所属白线设置为目标白线;
[0058]
将所述目标白线的长度方向作为x轴,以及将所述目标白线的宽度方向作为y轴,以此获取所述目标白线上的另外三个特征点的坐标分别为(0,d)、(l,0)、(l,d),以及与所述目标白线相邻的白线上的四个特征点坐标分别为(0,d+s)、(0,2d+s)、(l,d+s)和(l,2d+s),以此类推,直至确定所有特征点的坐标;
[0059]
将所述白线上相交的长边特征线与短边特征线设置垂直关系,以及将所述白线上的两条长边特征线、两条短边特征线分别设置为平行关系。
[0060]
本实施例中,在确定每一特征点的与其他特征点之间的几何关系时,以及在确定每一特征线与其他特征线之间的几何关系时,可以在所述多个特征点中任选一个作为世界坐标系中的原点(0,0),并以人行横道线上的白线长度方向为x轴,以及以白线宽度方向为y轴建立世界坐标系,则同一条人行横道线白线上的另外三点坐标为(0,d),(l,0),(l,d),相邻白线上四点的坐标分别为(0,d+s),(0,2d+s),(l,d+s),(l,2d+s),依次类推,便可计算出所有特征点的世界坐标。需要说明的是,本实施例以任一特征点作为世界坐标系的原点构建世界坐标系,而在前述建立世界坐标系时是以相机为原点的,可以理解的是,本实施例是为了方便描述确定各特征点之间几何关系而将任一特征点作为世界坐标系的原点,在其他实施例中,也可以将相机作为世界坐标系的原点,根据各特征点与相机之间的位置关系确定各特征点之间的几何关系。
[0061]
当然,在其他实施例中,还可以以白线宽度方向为x轴,以及以白线长度方向为y轴建立世界坐标系,例如图4所示。
[0062]
对于所述多条特征线来说,可以理解的是,人行横道线上的白线中的长边与长边、短边与短边之间相互平行,长边与短边相互垂直,而所述特征线即是白线的边线,即长边特征线、短边特征线,那么由此可以确定白线上对应的长边特征线为平行关系,白线上相交的长边特征线与短边特征线为垂直关系。例如,结合图4,白线中的长边长度为l,短边长度为d,若ab,cd为白线的两条长边,ac为白线的一条短边,那么可以确定长边ab与短边ac垂直,即ab

ac,长边ab与长边cd平行,即ab||cd,长边ab的长度为l
ab
=l,短边cd的长度为l
cd
=d。
[0063]
在具体应用场景中,还可以基于当前的道路标线的设计和施工的相关规范,确定人行横道线的设置尺寸、形式等等。因此,在对上述参数(即人行横道线的设置尺寸、形式)
进行合理假设或对少量区域人行横道线尺寸进行实地测量后,可以对人行横道线中的白线的线长l、线宽d、间隔宽度s、白线上的各边线(即长边和短边)平行关系等作出合理的假设,进而确定各特征线之间的几何管线。
[0064]
在一实施例中,所述步骤s104包括:
[0065]
根据相机成像原理,获取每一特征点以及每一特征线两端端点的像素坐标至世界坐标的单应矩阵:
[0066][0067]
式中,(u,v,1)
t
为所述像素坐标,(x
w
,y
w
,z
w
)
t
为所述世界坐标,k为相机的内参矩阵,m为相机的外参矩阵,r1、r2、r3均为相机的旋转矩阵r的列向量,t为相机的三维平移向量。
[0068]
本实施例中,若提取了多幅图像的特征点,可以根据特征点在世界坐标系和像素坐标系下的对应关系,求解从像素坐标系到世界坐标系的单应矩阵,并将所述单应矩阵作为所述多个特征点对应的几何方程。具体来说,根据相机成像原理,某一特征点的齐次像素坐标(u,v,1)
t
与世界坐标系下的坐标(x
w
,y
w
,z
w
)
t
存在以下关系:
[0069][0070]
式中,r
i
(i=1,2,3)(即r1、r2、r3)为旋转矩阵的列向量,(u,v,1)
t
即是指
[0071]
进一步的,将人行横道线所在平面设置为z=0,则上式简化为:
[0072][0073]
式中,h=[h1,h2,h3]=k[r1,r2,t]为像素平面到地面平面的单应矩阵,其中,h
i
(i=1,2,3)为单应矩阵列向量。由于单应矩阵h具有8个自由度,因此对于每幅图像,最少只需4个获取了像素坐标和世界坐标的特征点即可进行求取。大部分情况下,一幅图像可以检测出多个角点,因此可使用最小二乘法或随机采样一致算法提高单应矩阵求解的准确性。
[0074]
在使用最小二乘法求解所述单应矩阵时,首先构造目标函数为:使用单应矩阵将所有特征点的世界坐标系的投影到像素坐标系的投影与对应的像素坐标的误差的平方和,然后分别求取目标函数对于单应矩阵各个参数的偏导数,并使偏导数为0,从而可以求得单应矩阵的最小二乘解。
[0075]
在使用随机采样一致算法求解所述单应矩阵时,可以对所述单应矩阵进行多次求解,并且每次随机选择4个特征点进行单应矩阵的求解,然后利用求解得到的单应矩阵计算各个特征点对应的世界坐标到像素坐标的投影,并与各特征点实际的像素坐标作差值,计算误差,再统计误差小于一定距离阈值的特征点的个数。重复上述求解步骤,直到达到预设
的最大次数或误差小于距离阈值的点数少于点数阈值时,选用当前组解作为单应矩阵的参数。
[0076]
另外,由于旋转矩阵r是行列式为1的正交矩阵,所以另外,由于旋转矩阵r是行列式为1的正交矩阵,所以进而可得:
[0077][0078][0079]
由于相机内参矩阵具有4个自由度,因此,当拍摄的人行横道线图片数量大于等于2时,便可以求解得到相机内参矩阵k,因此,使用多幅图像的单应矩阵,基于上述单应矩阵公式便可以求取相机的内参与外参矩阵。
[0080]
在一实施例中,所述步骤s104还包括:
[0081]
根据所述多条特征线的几何关系,对同一白线上平行的两条特征线设置第一代价函数:
[0082][0083]
式中,ab、cd为同一白线上互相平行的两条特征线;
[0084]
对同一白线上垂直的两条特征线设置第二代价函数:
[0085][0086]
式中,ef、gh为同一白线上互相垂直的两条特征线;
[0087]
对每一特征线的长度设置第三代价函数:
[0088][0089]
式中,l为某一特征线ab的长度,x
a
为特征线ab一端端点a的横坐标,x
b
为特征线ab一端端点a的纵坐标,y
a
为特征线ab另一端端点b的横坐标,y
b
为特征线ab另一端端点b的纵坐标;
[0090]
根据各特征线之间的几何关系,对第一代价函数、第二代价函数和第三代价函数进行相应结合,得到目标代价函数。
[0091]
本实施例中,基于多条特征线之间平行或者垂直的几何关系,由此建立对应的几何方程,即所述第一代价函数、第二代价函数、第三代价函数以及目标代价函数。例如已知特征线ab的一端端点a在像素坐标系下的坐标为(u,v),那么端点a在世界坐标系下的坐标则为:同理易得所有特征线端点在世界坐标系下的坐标。然后根据各特征线的端点坐标以及各特征线相互之间的几何关系,即可确定每一特征线对应的代价函数。
[0092]
对于所述目标代价函数,可以令cost=cost1+cost2+cost3+...,即所述目标代价函数为其余代价函数之和。
[0093]
在一实施例中,所述步骤s105包括:
[0094]
随机初始化相机的内参和外参;
[0095]
对所述目标代价函数进行计算,并根据计算结果计算所述目标代价函数相对于相机的内参和外参中每一参数的梯度;
[0096]
通过预设的学习率,利用梯度下降方法对相机的内参和外参中每一参数进行迭代更新;
[0097]
当迭代更新次数达到预设次数阈值和/或所述目标代价函数降低率小于预设降低率阈值时,停止迭代更新,并将当前参数作为相机的内参和外参。
[0098]
本实施例中,在利用迭代更新的方法对建立的几何方程进行求解时,首先对相机的内参和外参进行初始化,然后对相应的几何方程进行结果计算,例如本实施例中对所述目标代价函数进行计算,即对所述多条特征线建立的几何方程进行计算,在得到计算结果后,依据该计算结果求解相机内参和外参各自对应的梯度,并基于预设的学习率,对相机内参和外参进行迭代更新,由此可以估算得到最终的相机内参和外参。
[0099]
当然,在对特征点的几何方程进行求解时,同样可以利用迭代更新的方法,又或者是使用最小二乘法或随机采样一致算法求解各特征点的单应矩阵。
[0100]
图5为本发明实施例提供的一种相机内参和外参估算装置500的示意性框图,该装置500包括:
[0101]
坐标系建立单元501,用于分别建立相机坐标系、世界坐标系和像素坐标系,并构建所述相机坐标系和世界坐标系之间的变换矩阵;
[0102]
图像拍摄单元502,用于拍摄至少一张包含同一人行横道线的图像,然后从所述图像中提取人行横道线上的多个特征点和多条特征线,并记录每一特征点以及每一特征线两端端点在所述像素坐标系中的像素坐标;
[0103]
几何关系确定单元503,用于确定所述多个特征点之间的几何关系以及所述多条特征线之间的几何关系;
[0104]
几何方程建立单元504,用于确定每一特征点以及每一特征线两端端点在所述世界坐标系中的世界坐标,根据所述几何关系建立多个特征点和多条特征线的几何方程;
[0105]
求解单元505,用于基于所述变换矩阵以及所述像素坐标与世界坐标的对应关系,利用迭代优化方法和/或联立方程方法对所述几何方程进行求解,并将求解结果作为相机的内参和外参。
[0106]
在一实施例中,所述坐标系建立单元501包括:
[0107]
相机坐标系建立单元,用于以相机为中心,以相机光心的向前的射线为z轴,相机正下方方向为y轴,相机右手方向为x轴,建立所述相机坐标系;
[0108]
世界坐标系建立单元,用于以相机在地面的投影为中心,相机光心前向射线在地面的投影为y轴,地面垂直向上为z轴,相机右手方向为x轴,建立所述世界坐标系;
[0109]
像素坐标系建立单元,用于以图像左上角为中心,水平向右为u轴,竖直向下为v轴,建立所述像素坐标系;
[0110]
变换矩阵构建建立单元,用于按下式构建所述相机坐标系和世界坐标系之间的变换矩阵:
[0111][0112]
式中,(x
w
,y
w
,z
w
)
t
代表所述世界坐标系中的一点,(x
c
,y
c
,z
c
,1)在所述相机坐标系下的齐次坐标,r是3
×
3的正交矩阵,表示相机的旋转矩阵,t是相机的三维平移向量,为相机的外参矩阵,k为相机的内参矩阵,所述内参矩阵k为:
[0113]
在一实施例中,所述图像拍摄单元502包括:
[0114]
预处理单元,用于通过计算机视觉方法对每一所述图像进行预处理;
[0115]
提取单元,用于利用关键点检测算法提取人行横道线上角点,并作为特征点和特征线的两端端点;
[0116]
记录单元,用于记录每一特征点以及每一特征线两端端点在所述像素坐标系中的像素坐标。
[0117]
在一实施例中,所述多个特征点均为所述人行横道线中白线的角点,所述多条特征线均为所述人行横道线中白线的边线;
[0118]
所述几何关系确定单元503包括:
[0119]
设置单元,用于在所述多个特征点中任意选取一个作为目标特征点,并将所述目标特征点的世界坐标设置为(0,0),以及将所述目标特征点所属白线设置为目标白线;
[0120]
坐标确定单元,用于将所述目标白线的长度方向作为x轴,以及将所述目标白线的宽度方向作为y轴,以此获取所述目标白线上的另外三个特征点的坐标分别为(0,d)、(l,0)、(l,d),以及与所述目标白线相邻的白线上的四个特征点坐标分别为(0,d+s)、(0,2d+s)、(l,d+s)和(l,2d+s),以此类推,直至确定所有特征点的坐标;
[0121]
特征线关系设置单元,用于将所述白线上相交的长边特征线与短边特征线设置垂直关系,以及将所述白线上的两条长边特征线、两条短边特征线分别设置为平行关系。
[0122]
在一实施例中,所述几何方程建立单元504包括:
[0123]
单应矩阵获取单元,用于根据相机成像原理,获取每一特征点以及每一特征线两端端点的像素坐标至世界坐标的单应矩阵:
[0124][0125]
式中,(u,v,1)
t
为所述像素坐标,(x
w
,y
w
,z
w
)
t
为所述世界坐标,k为相机的内参矩阵,m为相机的外参矩阵,r1、r2、r3均为相机的旋转矩阵r的列向量,t为相机的三维平移向量。
[0126]
在一实施例中,所述几何方程建立单元504还包括:
[0127]
第一代价函数设置单元,用于根据所述多条特征线的几何关系,对同一白线上平
行的两条特征线设置第一代价函数:
[0128][0129]
式中,ab、cd为同一白线上互相平行的两条特征线;
[0130]
第二代价函数设置单元,用于对同一白线上垂直的两条特征线设置第二代价函数:
[0131][0132]
式中,ef、gh为同一白线上互相垂直的两条特征线;
[0133]
第三代价函数设置单元,用于对每一特征线的长度设置第三代价函数:
[0134][0135]
式中,l为特征线ab的长度,x
a
为特征线ab一端端点a的横坐标,x
b
为特征线ab一端端点a的纵坐标,y
a
为特征线ab另一端端点b的横坐标,y
b
为特征线ab另一端端点b的纵坐标;
[0136]
目标代价函数设置单元,用于根据各特征线之间的几何关系,对第一代价函数、第二代价函数和第三代价函数进行相应结合,得到目标代价函数。
[0137]
在一实施例中,所述求解单元505包括:
[0138]
初始化单元601,用于随机初始化相机的内参和外参;
[0139]
梯度计算单元602,用于对所述目标代价函数进行计算,并根据计算结果计算所述目标代价函数相对于相机的内参和外参中每一参数的梯度;
[0140]
迭代更新单元603,用于通过预设的学习率,利用梯度下降方法对相机的内参和外参中每一参数进行迭代更新;
[0141]
迭代更新停止单元604,用于当迭代更新次数达到预设次数阈值和/或所述目标代价函数降低率小于预设降低率阈值时,停止迭代更新,并将当前参数作为相机的内参和外参。
[0142]
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
[0143]
本发明实施例还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(randomaccess memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0144]
本发明实施例还提供了一种计算机设备,可以包括存储器和处理器,存储器中存有计算机程序,处理器调用存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然计算机设备还可以包括各种网络接口,电源等组件。
[0145]
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围内。
[0146]
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1