CN112184830B - 相机内参和外参标定方法、装置、计算机设备及存储介质 - Google Patents
相机内参和外参标定方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112184830B CN112184830B CN202011004454.8A CN202011004454A CN112184830B CN 112184830 B CN112184830 B CN 112184830B CN 202011004454 A CN202011004454 A CN 202011004454A CN 112184830 B CN112184830 B CN 112184830B
- Authority
- CN
- China
- Prior art keywords
- camera
- coordinate system
- world coordinate
- line
- constraint
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Studio Devices (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明公开了相机内参和外参标定方法、装置、计算机设备及存储介质,该方法包括:在图像中标记世界坐标系中的平行线,利用变换矩阵对标记的平行线建立平行线约束;在图像中标记世界坐标系中的实际长度,利用变换矩阵对标记的线段建立尺度线约束;在图像上标记世界坐标系中的铅垂线,利用变换矩阵对标记的铅垂线建立铅垂线约束;利用平行线约束、尺度线约束和铅垂线约束中的一种约束或者构成的约束组合计算相机内参和外参;对平行线约束、尺度线约束和铅垂线约束分别构建目标函数,根据约束组合将目标函数进行加合,得到目标函数组合;通过目标函数或者目标函数组合进行优化,得到最终的相机内参和外参。本发明可提高相机内参和外参标定精度。
Description
技术领域
本发明涉及相机标定技术领域,特别涉及相机内参和外参标定方法、装置、计算机设备及存储介质。
背景技术
在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,建立的几何模型参数就是相机参数。在大多数条件下,相机参数必须通过实验与计算才能得到,这个求解参数的过程则称之为相机标定(或摄像机标定)。相机标定的参数包括内参和外参两部分,其中,内参描述了相机内部的一些参数,用于确定如何将相机坐标转化到图像坐标,包括相机焦距、畸变参数等;外参描述了相机在某个三维空间中的位置和朝向,用于确定如何将世界坐标转化到相机坐标,通常包括空间位置坐标、俯仰角、偏航角和翻滚角等。在图像测量或者机器视觉应用中,相机参数的标定都是非常关键的环节,其标定结果的精度及算法的稳定性直接影响相机工作产生结果的准确性。
基于监控视频的车辆目标测速、车辆大小估计及车辆间距估计等都是智能交通监控系统面临的一些重要问题,这些问题的解决均依赖3D重建算法,然而通常相机在出厂时内部参数未知,在安装时也没有记录相机的外参,因此3D重建算法的一个重要环节就是相机标定。在实际交通场景下的相机标定过程比传统的相机标定更加困难,因无法对标定场景进行手动信息获取,因而很多的传统标定方法难以应用在该实际场景下。目前业界进行相机标定的很多做法是通过人工在实际场景中进行画线标记或通过辅助设备对相机外参进行测量等,该方法需要耗费比较大的人力物力,不适用于大规模应用。
发明内容
本发明实施例提供了一种相机内参和外参标定方法、装置、计算机设备及存储介质,旨在提高对相机内参和外参的标定精度。
第一方面,本发明实施例提供了一种相机内参和外参标定方法,包括:
建立世界坐标系以及相机坐标系;
构建所述世界坐标系和相机坐标系的坐标变换矩阵;
在相机拍摄的交通场景图像中标记所述世界坐标系中的一组或者多组平行线,并利用所述坐标变换矩阵对标记的平行线建立平行线约束;
在相机拍摄的交通场景图像中标记所述世界坐标系中的一条或者多条线段的实际长度,并利用所述坐标变换矩阵对标记的线段建立尺度线约束;
在相机拍摄的交通场景图像上标记所述世界坐标系中的一条或者多条铅垂线,并利用所述坐标变换矩阵对标记的铅垂线建立铅垂线约束;
利用所述平行线约束、尺度线约束和铅垂线约束中的一种约束或者多种约束构成的约束组合对相机内参和外参进行计算;
对所述平行线约束、尺度线约束和铅垂线约束分别构建目标函数,并根据所述约束组合将构建得到的平行线目标函数、尺度线目标函数和铅垂线目标函数进行相应的加合,得到对应的目标函数组合;
通过构建的目标函数或者目标函数组合对相机内参和外参进行优化,得到最终的相机内参和外参。
进一步的,所述建立世界坐标系以及相机坐标系,包括:
将相机在地面的投影作为世界坐标系的坐标原点O,将相机光心轴前向射线在地面的投影作为世界坐标系y轴,以及将地面垂直向上的方向作为世界坐标系z轴,然后根据右手系法则建立世界坐标系;
将相机作为相机坐标系的坐标原点O,将相机光心轴前向射线作为相机坐标系的z轴,以及将相机垂直向下的方向作为相机坐标系的y轴,然后根据右手系法则建立相机坐标系。
进一步的,所述构建所述世界坐标系和相机坐标系的坐标变换矩阵,包括:
获取平移后的世界坐标系至所述相机坐标系的旋转矩阵为Rx(90°+α),并将α设置为0≤α<90°,其中,α为相机的俯视角;
将世界坐标pw4、相机坐标pp4分别设置为所述世界坐标系和相机坐标系上的对应点,按照下式将所述世界坐标pw4转换至所述相机坐标pp4:
pp4=Ry(Φ)K4×4Rx(-90°+α)H(h)Rz(ψ)pw4
式中,ψ为相机偏航角,Rz(ψ)为所述世界坐标系的旋转矩阵,Φ为相机翻滚角,Ry(Φ)为相机坐标系的旋转矩阵,K4×4为相机的内参矩阵,K4×4具体为:
按下式计算得到透视变换矩阵:
Twp4=Ry(Φ)K4×4Rx(-90°+α)H(h)Rz(ψ)
基于三维位置对透视变换矩阵进行转换:
Twp3=Ry(Φ)K4×4Rx(-90°+α)H(h)Rz(ψ)
根据转换后的透视变换矩阵得到逆透视变换矩阵:
进一步的,所述在相机拍摄的交通场景图像中标记所述世界坐标系中的一组或者多组平行线,并利用所述坐标变换矩阵对标记的平行线建立平行线约束,包括:
在相机拍摄的交通场景图像上标记所述世界坐标系中的两条平行线,并获取两条平行线上的各两点坐标;
利用所述逆透视变换矩阵对两条平行线上的各两点坐标进行变换,得到对应的世界坐标系上的两条直线上的各两点坐标;
根据两条直线上在世界坐标系的各两点坐标构建使包含相机焦距和俯仰角的平行线约束。
进一步的,所述在相机拍摄的交通场景图像中标记所述世界坐标系中的一条或者多条线段的实际长度,并利用所述坐标变换矩阵对标记的线段建立尺度线约束,包括:
在相机拍摄的交通场景图像上获取一条尺度线,并获取所述尺度线在所述世界坐标系中的实际长度以及两个端点坐标;
利用所述逆透视矩阵将所述尺度线的两个端点坐标变换为所述世界坐标系中的两个坐标;
计算得到世界坐标系中的两个坐标之间的线段长度;
根据所述世界坐标系中的线段长度构建包含相机焦距和俯仰角的尺度线约束。
进一步的,所述在相机拍摄的交通场景图像上标记所述世界坐标系中的一条或者多条铅垂线,并利用所述坐标变换矩阵对标记的铅垂线建立铅垂线约束,包括:
在相机拍摄的交通场景图像中标记所述世界坐标系中的一条第一铅垂线,获取所述铅垂线上的一第一坐标;
利用所述逆透视变换矩阵将所述铅垂线上的第一坐标变换为所述世界坐标系上的第二坐标;
根据所述世界坐标系中的第二坐标所在的铅垂线构建包含相机焦距和俯仰角的铅垂线约束。
进一步的,所述通过构建的目标函数或者目标函数组合对相机内参和外参进行优化,得到最终的相机内参和外参,包括:
对所述坐标变换矩阵中的相机内参和外参进行初始化;
通过构建的目标函数或者目标函数组合对相机内参和外参进行优化,直至所述目标函数或者目标函数组合的值收敛小于设定阈值或者迭代步数大于设定值。
第二方面,本发明实施例提供了一种相机内参和外参标定装置,包括:
坐标系建立单元,用于建立世界坐标系以及相机坐标系;
第一构建单元,用于构建所述世界坐标系和相机坐标系的坐标变换矩阵;
平行线约束建立单元,用于在相机拍摄的交通场景图像中标记所述世界坐标系中的一组或者多组平行线,并利用所述坐标变换矩阵对标记的平行线建立平行线约束;
尺度线约束建立单元,用于在相机拍摄的交通场景图像中标记所述世界坐标系中的一条或者多条线段的实际长度,并利用所述坐标变换矩阵对标记的线段建立尺度线约束;
铅垂线约束建立单元,用于在相机拍摄的交通场景图像上标记所述世界坐标系中的一条或者多条铅垂线,并利用所述坐标变换矩阵对标记的铅垂线建立铅垂线约束;
组合单元,用于利用所述平行线约束、尺度线约束和铅垂线约束中的一种约束或者多种约束构成的约束组合对相机内参和外参进行计算;
第二构建单元,用于对所述平行线约束、尺度线约束和铅垂线约束分别构建目标函数,并根据所述约束组合将构建得到的平行线目标函数、尺度线目标函数和铅垂线目标函数进行相应的加合,得到对应的目标函数组合;
优化单元,用于通过构建的目标函数或者目标函数组合对相机内参和外参进行优化,得到最终的相机内参和外参。
第三方面,本发明实施例提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的相机内参和外参标定方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的相机内参和外参标定方法。
本发明实施例提供了一种相机内参和外参标定方法、装置、计算机设备及存储介质,所述标定方法包括:建立世界坐标系以及相机坐标系;构建所述世界坐标系和相机坐标系的坐标变换矩阵;在相机拍摄的交通场景图像中标记所述世界坐标系中的一组或者多组平行线,并利用所述坐标变换矩阵对标记的平行线建立平行线约束;在相机拍摄的交通场景图像中标记所述世界坐标系中的一条或者多条线段的实际长度,并利用所述坐标变换矩阵对标记的线段建立尺度线约束;在相机拍摄的交通场景图像上标记所述世界坐标系中的一条或者多条铅垂线,并利用所述坐标变换矩阵对标记的铅垂线建立铅垂线约束;利用所述平行线约束、尺度线约束和铅垂线约束中的一种约束或者多种约束构成的约束组合对相机内参和外参进行计算;对所述平行线约束、尺度线约束和铅垂线约束分别构建目标函数,并根据所述约束组合将构建得到的平行线目标函数、尺度线目标函数和铅垂线目标函数进行相应的加合,得到对应的目标函数组合;通过构建的目标函数或者目标函数组合对相机内参和外参进行优化,得到最终的相机内参和外参。本发明实施例通过建立平行线约束、尺度线约束和铅垂线约束,并利用所述平行线约束、尺度线约束和铅垂线约束中的一种约束或者多种约束构成的约束组合对相机内参和外参进行计算,从而有效提高对相机的内参和外参的标定精度。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种相机内参和外参标定方法的流程示意图;
图2为本发明实施例提供的一种相机内参和外参标定装置的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
下面请参见图1,图1为本发明实施例提供的一种相机内参和外参标定方法的流程示意图,具体包括:步骤S101~S108。
S101、建立世界坐标系以及相机坐标系;
S102、构建所述世界坐标系和相机坐标系的坐标变换矩阵;
S103、在相机拍摄的交通场景图像中标记所述世界坐标系中的一组或者多组平行线,并利用所述坐标变换矩阵对标记的平行线建立平行线约束;
S104、在相机拍摄的交通场景图像中标记所述世界坐标系中的一条或者多条线段的实际长度,并利用所述坐标变换矩阵对标记的线段建立尺度线约束;
S105、在相机拍摄的交通场景图像上标记所述世界坐标系中的一条或者多条铅垂线,并利用所述坐标变换矩阵对标记的铅垂线建立铅垂线约束;
S106、利用所述平行线约束、尺度线约束和铅垂线约束中的一种约束或者多种约束构成的约束组合对相机内参和外参进行计算;
S107、对所述平行线约束、尺度线约束和铅垂线约束分别构建目标函数,并根据所述约束组合将构建得到的平行线目标函数、尺度线目标函数和铅垂线目标函数进行相应的加合,得到对应的目标函数组合;
S108、通过构建的目标函数或者目标函数组合对相机内参和外参进行优化,得到最终的相机内参和外参。
本实施例中,首先对相机所在的实际交通场景建立世界坐标系,以及对相机拍摄的交通场景图像建立相机坐标系,再构建所述坐标转换矩阵,使所述世界坐标系和相机坐标系之间可以互相进行坐标转换,然后在相机拍摄的交通场景图像中分别标记平行线、尺度线和铅垂线,并通过所述坐标转换矩阵对标记的平行线、尺度线和铅垂线分别建立对应的平行线约束、尺度线约束和铅垂线约束,从而根据所述平行线约束、尺度线约束和铅垂线约束对相机的内参和外参进行求解。进一步的,对建立的平行线约束、尺度线约束和铅垂线约束分别构建目标函数,并利用构建的目标函数对相机内参和外参进行优化,从而最终得到的相机内参和外参更加准确。
优选的,在利用所述平行线约束、尺度线约束和铅垂线约束对相机的内参和外参进行求解时,根据多种约束构成的约束组合对相机内参和外参进行求解可以使最终得到的约束解更加准确可靠。例如将所述平行线约束和尺度线约束进行组合求解,或者将所述平行线约束和铅垂线约束进行组合求解,又或者是将所述平行线约束、尺度线约束和铅垂线约束进行组合求解,也就是使所述平行线约束与另外两个约束(即尺度线约束和铅垂线约束)组合起来,对相机的内参和外参进行求解。同样的,在利用目标函数对对应的约束进行优化时,也可以将按照约束组合的方式进行目标函数组合,这样做的好处是:通过组合后的目标函数进行优化时,可以同时对2个约束(或者3个约束)一同优化,从而提高更新效率。例如将所述平行线约束的目标函数和所述尺度线约束的目标函数构成目标函数约束组合。
本实施例提供的相机内参和外参标定方法通过构建3个约束对相机内参和外参进行求解,并通过对3个约束分别构建目标函数进行优化,使最终得到的相机内参和外参更加准确可靠,从而解决了以往交通场景下相机标定困难和不精确的问题。另外,本实施例可以不需要在相机出厂时或安装之前标定内参且不需要现场实地测量相机外参,从而避免了精细的相机校准及复杂的流程设计,并具备了通过在图像上进行简单的人工标注、合理的参数假设,进而准确得到相机内参和外参的能力。本实施例提供的相机内参和外参标定方法不仅可以方便、快速、准确的计算相机的内参和外参,而且不需要耗费较多的人力物力,可以方便的部署到生产环境中,进行大规模的应用。
还需说明的是,本实施例中所述的约束可以理解一种方程式,即所述平行线约束即为平行线方程,所述尺度线约束即为尺度线方程,所述铅垂线约束即为铅垂线方程,所述平行线约束与所述尺度线约束的组合即为所述平行线方程与所述尺度线方程的方程组合等。
在一实施例中,所述步骤S101包括:
将相机在地面的投影作为世界坐标系的坐标原点O,将相机光心轴前向射线在地面的投影作为世界坐标系y轴,以及将地面垂直向上的方向作为世界坐标系z轴,然后根据右手系法则建立世界坐标系;
将相机作为相机坐标系的坐标原点O,将相机光心轴前向射线作为相机坐标系的z轴,以及将相机垂直向下的方向作为相机坐标系的y轴,然后根据右手系法则建立相机坐标系。
在对实际的交通场景建立世界坐标系时,可以以相机在地面的投影作为所述世界坐标系的坐标原点O,以相机光心轴前向射线在地面的投影作为所述世界坐标系y轴,以地面垂直向上的方向作为世界坐标系z轴,再根据右手系法则,即以右手拇指朝向方向为x轴,建立三维世界坐标系。在建立所述相机坐标系时,以相机为坐标原点,即可以理解为以相机的聚焦中心为坐标原点,再以相机光心轴前向射线作为相机坐标系的z轴,以及以相机垂直向下的方向作为相机坐标系的y轴,然后根据右手系法则建立三维相机坐标系。
当然,在其他实施例中,还可以在确定世界坐标系或者相机坐标系的坐标原点后,根据空间右手系法则直接建立三维世界坐标系。
在一实施例中,所述步骤S102包括:
获取平移后的世界坐标系至所述相机坐标系的旋转矩阵为Rx(90°+α),并将α设置为0≤α<90°,其中,α为相机的俯视角;
将世界坐标pw4、相机坐标pp4分别设置为所述世界坐标系和相机坐标系上的对应点,按照下式将所述世界坐标pw4转换至所述相机坐标pp4:
pp4=Ry(Φ)K4×4Rx(-90°+α)H(h)Rz(ψ)pw4
式中,ψ为相机偏航角,Rz(ψ)为所述世界坐标系的旋转矩阵,Φ为相机翻滚角,Ry(Φ)为相机坐标系的旋转矩阵,K4×4为相机的内参矩阵,K4×4具体为:
按下式计算得到透视变换矩阵:
Twp4=Ry(Φ)K4×4Rx(-90°+α)H(h)Rz(ψ)
基于三维位置对透视变换矩阵进行转换:
Twp3=Ry(Φ)K4×4Rx(-90+α)H(h)Rz(ψ)
根据转换后的透视变换矩阵得到逆透视变换矩阵:
本实施例中,通过平移矩阵、旋转矩阵和内参矩阵以及设置相机的部分内参和外参(例如相机高度h、相机翻滚角Φ等)构建坐标变换矩阵(即透视变换矩阵和逆透视变换矩阵),其中,利用所述透视变换矩阵将所述世界坐标系中的坐标转换为所述相机坐标系中的坐标,利用所述逆透视变换矩阵将所述相机坐标系中的坐标转换为所述世界坐标系中的坐标。需要说明的是,在所述内参矩阵中,K是齐次坐标下的形式,fx、fy表示相机焦距的参数;cx、cy表示主点偏移的参数。
在一实施例中,所述步骤S103包括:
在相机拍摄的交通场景图像上标记所述世界坐标系中的两条平行线,并获取两条平行线上的各两点坐标;
利用所述逆透视变换矩阵对两条平行线上的各两点坐标进行变换,得到对应的世界坐标系上的两条直线上的各两点坐标;
根据两条直线上在世界坐标系的各两点坐标构建使包含相机焦距和俯仰角的平行线约束。
本实施例中,通过在相机拍摄的交通场景图像上标记世界坐标系中的一组或多组平行线,可以使得相机内参(焦距)和相机俯仰角相互求解。具体来说,对于交通场景下的相机(例如监控摄像头等),其安装高度一般是固定的,因此可以作为已知条件;相机偏航角只影响俯瞰图的展现效果,不影响最终结果,因此可以任意定义,如可以定义为相机光心轴方向在地面的投影射线与世界坐标系XOY平面即地面上任意方向直线的夹角;相机翻滚角可以预先设置,例如根据以往经验预测出一个比较合适的值。基于上述条件,通过在交通场景图像中标记出地面中任意平行的一组或多组直线,比如沿道路车道线、斑马线等,或者是手动标记出多组平行直线,又或者通过计算机视觉算法检测出路面上的平行车道线从而进行自动标记等,再利用所述坐标变换矩阵构建所述平行线约束,便可以使得相机内参(即焦距)和相机俯仰角相互求解,也就是说,如果能够获得相机的内参,则可以准确计算相机俯仰角,如果可以获得相机俯仰角,则可以准确计算相机内参(焦距)。
举例来说,在相机拍摄的图像上标记所述世界坐标系中的任意两条平行线l1、l2,获取l1上的任意两点坐标(x1,y1)、(x2,y2)以及l2上的任意两点坐标(x3,y3)、(x4,y4);利用所述逆透视变换矩阵对坐标(x1,y1)、(x2,y2)、(x3,y3)和(x4,y4)进行变换,得到对应的世界坐标系的坐标为(X1,Y1)、(X2,Y2)、(X3,Y3)和(X4,Y4);根据坐标(X1,Y1)、(X2,Y2)确定直线L1以及根据坐标(x3,y3)、(x4,y4)确定直线L2,从而构建包含相机焦距和俯仰角的平行线约束。
在一实施例中,所述步骤S104包括:
在相机拍摄的交通场景图像上获取一条尺度线,并获取所述尺度线在所述世界坐标系中的实际长度以及两个端点坐标;
利用所述逆透视矩阵将所述尺度线的两个端点坐标变换为所述世界坐标系中的两个坐标;
计算得到世界坐标系中的两个坐标之间的线段长度;
根据所述世界坐标系中的线段长度构建包含相机焦距和俯仰角的尺度线约束。
本实施例中,通过在相机拍摄的交通场景图像上标记世界坐标系中一条或多条线段的实际长度,可以联合平行线约束同时求解出相机内参(焦距)和相机俯仰角。具体来说,通过测量世界坐标系中XOY平面即地面上的任意两点间的实际距离,然后在相机拍摄的交通场景图像中标记出对应的两个点和所对应的线段,经过所述逆透视变换矩阵映射后,就可以构建所述尺度线约束,然后对所述尺度线约束进行求解,便可以得到相机内参(焦距)和外参。
进一步的,将所述尺度线约束与所述平行线约束联合求解,从而使得到的内参和外参更加准确可靠。换句话说,可以将所述尺度线约束看作所述平行线约束的约束条件,从而使得所述平行线约束(我们称之为尺度线约束)在相机内参和外参未知的情况下,同时计算出相机内参(焦距)和外参。
举例来说,在相机拍摄的交通场景图像上获取任意一条尺度线,并获取所述尺度线在所述世界坐标系中的实际长度n,以及两个端点坐标(x1,y1)、(x2,y2);利用所述逆透视矩阵将所述尺度线的两个端点坐标(x1,y1)、(x2,y2)变换为所述世界坐标系中的坐标(X1,Y1)、(X2,Y2);计算得到坐标(X1,Y1)、(X2,Y2)之间的线段长度d,从而构建包含相机焦距和俯仰角的尺度线约束。
在一实施例中,所述步骤S105包括:
在相机拍摄的交通场景图像中标记所述世界坐标系中的一条第一铅垂线,获取所述铅垂线上的一第一坐标;
利用所述逆透视变换矩阵将所述铅垂线上的第一坐标变换为所述世界坐标系上的第二坐标;
根据所述世界坐标系中的第二坐标所在的铅垂线构建包含相机焦距和俯仰角的铅垂线约束。
本实施例中,通过在相机图像上标记世界坐标系中的一条或多条铅垂线,可以联合所述平行线约束或者联合所述平行线约束和尺度线约束求解出相机翻滚角、相机高度等外参。具体来说,在相机拍摄的图像中,所述世界坐标系中的铅垂线(如建筑物轮廓线、灯杆中心线等)与地平线的夹角是由相机内参和外参决定的,以此在相机拍摄的图像中标注出所述世界坐标系中的铅垂线,并将其代入含有相机内参和外参的坐标变换矩阵(即所述逆透视变换矩阵),经过映射后的直线应与地平线垂直,由此可以得到多条铅垂线约束(约束数量与铅垂线数量相等)。对一条或者多条铅垂线约束进行求解,便可以得到相机的内参(焦距)和外参。
进一步的,利用所述铅垂线约束或者所述铅垂线约束与所述平行线约束联合,又或者所述铅垂线约束与所述平行线约束、尺度线约束联合,可以更加准确地得到相机的内参和外参。
举例来说,在相机拍摄的图像中标记所述世界坐标系中的一条铅垂线v1,获取所述铅垂线v1上的任意一点坐标(x1,y1),利用所述逆透视变换矩阵将坐标(x1,y1)变换为所述世界坐标系上的坐标(X1,Y1,0),如此可得到坐标(X1,Y1,0)在所述世界坐标系中对应的铅垂线v2,从而构建包含相机焦距和俯仰角的铅垂线方程。
在一实施例中,所述步骤S108包括:
对所述坐标变换矩阵中的相机内参和外参进行初始化;
通过构建的目标函数或者目标函数组合对相机内参和外参进行优化,直至所述目标函数或者目标函数组合的值收敛小于设定阈值或者迭代步数大于设定值。
本实施例中,在对所述平行线约束、尺度线约束和铅垂线约束构建目标函数,并利用构建的目标函数对对应的约束进行优化时,即是对相机的内参和外参进行优化。可以理解的是,由于前述对相机内参和外参进行计算的步骤,可能通过所述平行线约束、尺度线约束和铅垂线约束的任意约束组合计算相机的内参和外参,因此对应的,将所述平行线约束的目标函数和所述尺度线约束的目标函数和所述铅垂线约束的目标函数进行任意的目标函数组合,然后利用组合后的目标函数进行优化,直至目标函数组合的值收敛小于设定阈值或者迭代步数大于设定值。当然,在对目标函数进行组合时,需要根据前述约束组合进行对应的目标函数组合,例如若通过平行线约束和尺度线约束计算相机内参和外参,则将平行线的目标函数和尺度线的目标函数进行组合,并利用组合后的目标函数进行优化。
还需说明的是,本实施例构建的目标函数为凸函数,因此可以通过约束组求解工具进行迭代求解,例如利用深度学习框架通过最优化方法(例如SGD随机梯度下降、线性搜索法、Adam优化等算法)进行迭代求解。当然,在其他实施例中,构建的目标函数也可以为其他类型函数,并且选择相应的优化方法对相机内参和外参进行优化。
图2为本发明实施例提供的有一种相机内参和外参标定装置200的示意性框图,该标定装置200包括:
坐标系建立单元201,用于建立世界坐标系以及相机坐标系;
第一构建单元202,用于构建所述世界坐标系和相机坐标系的坐标变换矩阵;
平行线约束建立单元203,用于在相机拍摄的交通场景图像中标记所述世界坐标系中的一组或者多组平行线,并利用所述坐标变换矩阵对标记的平行线建立平行线约束;
尺度线约束建立单元204,用于在相机拍摄的交通场景图像中标记所述世界坐标系中的一条或者多条线段的实际长度,并利用所述坐标变换矩阵对标记的线段建立尺度线约束;
铅垂线约束建立单元205,用于在相机拍摄的交通场景图像上标记所述世界坐标系中的一条或者多条铅垂线,并利用所述坐标变换矩阵对标记的铅垂线建立铅垂线约束;
组合单元206,用于利用所述平行线约束、尺度线约束和铅垂线约束中的一种约束或者多种约束构成的约束组合对相机内参和外参进行计算;
第二构建单元207,用于对所述平行线约束、尺度线约束和铅垂线约束分别构建目标函数,并根据所述约束组合将构建得到的平行线目标函数、尺度线目标函数和铅垂线目标函数进行相应的加合,得到对应的目标函数组合;
优化单元208,用于通过构建的目标函数或者目标函数组合对相机内参和外参进行优化,得到最终的相机内参和外参。
在一实施例中,所述坐标系建立单元201包括:
世界坐标系建立单元,用于将相机在地面的投影作为世界坐标系的坐标原点O,将相机光心轴前向射线在地面的投影作为世界坐标系y轴,以及将地面垂直向上的方向作为世界坐标系z轴,然后根据右手系法则建立世界坐标系;
相机坐标系建立单元,用于将相机作为相机坐标系的坐标原点O,将相机光心轴前向射线作为相机坐标系的z轴,以及将相机垂直向下的方向作为相机坐标系的y轴,然后根据右手系法则建立相机坐标系。
在一实施例中,所述第一构建单元202包括:
矩阵获取单元,用于获取平移后的世界坐标系至所述相机坐标系的旋转矩阵为Rx(90°+α),并将α设置为0≤α<90°,其中,α为相机的俯视角;
第一转换单元,用于将世界坐标pw4、相机坐标pp4分别设置为所述世界坐标系和相机坐标系上的对应点,按照下式将所述世界坐标pw4转换至所述相机坐标pp4:
pp4=Ry(Φ)K4×4Rx(-90+α)H(h)Rz(ψ)pw4
式中,ψ为相机偏航角,Rz(ψ)为所述世界坐标系的旋转矩阵,Φ为相机翻滚角,Ry(Φ)为相机坐标系的旋转矩阵,K4×4为相机的内参矩阵,K4×4具体为:
第一计算单元,用于按下式计算得到透视变换矩阵:
Twp4=Ry(Φ)K4×4Rx(-90°+α)H(h)Rz(ψ)
第二转换单元,用于基于三维位置对透视变换矩阵进行转换:
Twp3=Ry(Φ)K4×4Rx(-90°+α)H(h)Rz(ψ)
第三转换单元,用于根据转换后的透视变换矩阵得到逆透视变换矩阵:
在一实施例中,所述平行线约束建立单元203包括:
平行线标记单元,用于在相机拍摄的交通场景图像上标记所述世界坐标系中的两条平行线,并获取两条平行线上的各两点坐标;
第一坐标变换单元,用于利用所述逆透视变换矩阵对两条平行线上的各两点坐标进行变换,得到对应的世界坐标系上的两条直线上的各两点坐标;
平行线约束构建单元,用于根据两条直线上在世界坐标系的各两点坐标构建使包含相机焦距和俯仰角的平行线约束。
在一实施例中,所述尺度线约束建立单元204包括:
尺度线标记单元,用于在相机拍摄的交通场景图像上获取一条尺度线,并获取所述尺度线在所述世界坐标系中的实际长度以及两个端点坐标;
第二坐标变换单元,用于利用所述逆透视矩阵将所述尺度线的两个端点坐标变换为所述世界坐标系中的两个坐标;
第二计算单元,用于计算得到世界坐标系中的两个坐标之间的线段长度;
尺度线约束构建单元,用于根据所述世界坐标系中的线段长度构建包含相机焦距和俯仰角的尺度线约束。
在一实施例中,所述铅垂线约束建立单元205包括:
铅垂线标记单元,用于在相机拍摄的交通场景图像中标记所述世界坐标系中的一条第一铅垂线,获取所述铅垂线上的一第一坐标;
第三坐标变换单元,用于利用所述逆透视变换矩阵将所述铅垂线上的第一坐标变换为所述世界坐标系上的第二坐标;
铅垂线约束构建单元,用于根据所述世界坐标系中的第二坐标所在的铅垂线构建包含相机焦距和俯仰角的铅垂线约束。
在一实施例中,所述优化单元208包括:
初始化单元,用于对所述坐标变换矩阵中的相机内参和外参进行初始化;
组合迭代单元,用于通过构建的目标函数或者目标函数组合对相机内参和外参进行优化,直至所述目标函数或者目标函数组合的值收敛小于设定阈值或者迭代步数大于设定值。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本发明实施例还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供了一种计算机设备,可以包括存储器和处理器,存储器中存有计算机程序,处理器调用存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然计算机设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种相机内参和外参的标定方法,其特征在于,包括:
建立世界坐标系以及相机坐标系;
构建所述世界坐标系和相机坐标系的坐标变换矩阵;
在相机拍摄的交通场景图像中标记所述世界坐标系中的一组或者多组平行线,并利用所述坐标变换矩阵对标记的平行线建立平行线约束;
在相机拍摄的交通场景图像中标记所述世界坐标系中的一条或者多条线段的实际长度,并利用所述坐标变换矩阵对标记的线段建立尺度线约束;
在相机拍摄的交通场景图像上标记所述世界坐标系中的一条或者多条铅垂线,并利用所述坐标变换矩阵对标记的铅垂线建立铅垂线约束;
利用所述平行线约束、尺度线约束和铅垂线约束中的一种约束或者多种约束构成的约束组合对相机内参和外参进行计算;
对所述平行线约束、尺度线约束和铅垂线约束分别构建目标函数,并根据所述约束组合将构建得到的平行线目标函数、尺度线目标函数和铅垂线目标函数进行相应的加合,得到对应的目标函数组合;
通过构建的目标函数或者目标函数组合对相机内参和外参进行优化,得到最终的相机内参和外参。
2.根据权利要求1所述的相机内参和外参的标定方法,其特征在于,所述建立世界坐标系以及相机坐标系,包括:
将相机在地面的投影作为世界坐标系的坐标原点O,将相机光心轴前向射线在地面的投影作为世界坐标系y轴,以及将地面垂直向上的方向作为世界坐标系z轴,然后根据右手系法则建立世界坐标系;
将相机作为相机坐标系的坐标原点O,将相机光心轴前向射线作为相机坐标系的z轴,以及将相机垂直向下的方向作为相机坐标系的y轴,然后根据右手系法则建立相机坐标系。
3.根据权利要求1所述的相机内参和外参的标定方法,其特征在于,所述构建所述世界坐标系和相机坐标系的坐标变换矩阵,包括:
获取平移后的世界坐标系至所述相机坐标系的旋转矩阵为Rx(90°+α),并将α设置为0≤α<90°,其中,α为相机的俯视角;
将世界坐标pw4、相机坐标pp4分别设置为所述世界坐标系和相机坐标系上的对应点,按照下式将所述世界坐标pw4转换至所述相机坐标pp4:
pp4=Ry(φ)K4×4Rx(90°+α)H(h)Rz(Ψ)pw4
式中,ψ为相机偏航角,Rz(ψ)为所述世界坐标系的旋转矩阵,Φ为相机翻滚角,Ry(Φ)为相机坐标系的旋转矩阵,K4×4为相机的内参矩阵,K4×4具体为:
按下式计算得到透视变换矩阵:
Twp4=Ry(φ)K4×4Rx(90°+α)H(h)Rz(Ψ)
基于三维位置对透视变换矩阵进行转换:
Twp3=Ry(φ)K4×4Rx(90°+α)H(h)Rz(Ψ)
根据转换后的透视变换矩阵得到逆透视变换矩阵:
4.根据权利要求3所述的相机内参和外参的标定方法,其特征在于,所述在相机拍摄的交通场景图像中标记所述世界坐标系中的一组或者多组平行线,并利用所述坐标变换矩阵对标记的平行线建立平行线约束,包括:
在相机拍摄的交通场景图像上标记所述世界坐标系中的两条平行线,并获取两条平行线上的各两点坐标;
利用所述逆透视变换矩阵对两条平行线上的各两点坐标进行变换,得到对应的世界坐标系上的两条直线上的各两点坐标;
根据两条直线上在世界坐标系的各两点坐标构建使包含相机焦距和俯仰角的平行线约束。
5.根据权利要求3所述的相机内参和外参的标定方法,其特征在于,所述在相机拍摄的交通场景图像中标记所述世界坐标系中的一条或者多条线段的实际长度,并利用所述坐标变换矩阵对标记的线段建立尺度线约束,包括:
在相机拍摄的交通场景图像上获取一条尺度线,并获取所述尺度线在所述世界坐标系中的实际长度以及两个端点坐标;
利用所述逆透视变换矩阵将所述尺度线的两个端点坐标变换为所述世界坐标系中的两个坐标;
计算得到世界坐标系中的两个坐标之间的线段长度;
根据所述世界坐标系中的线段长度构建包含相机焦距和俯仰角的尺度线约束。
6.根据权利要求3所述的相机内参和外参的标定方法,其特征在于,所述在相机拍摄的交通场景图像上标记所述世界坐标系中的一条或者多条铅垂线,并利用所述坐标变换矩阵对标记的铅垂线建立铅垂线约束,包括:
在相机拍摄的交通场景图像中标记所述世界坐标系中的一条第一铅垂线,获取所述铅垂线上的一第一坐标;
利用所述逆透视变换矩阵将所述铅垂线上的第一坐标变换为所述世界坐标系上的第二坐标;
根据所述世界坐标系中的第二坐标所在的铅垂线构建包含相机焦距和俯仰角的铅垂线约束。
7.根据权利要求1所述的相机内参和外参的标定方法,其特征在于,所述通过构建的目标函数或者目标函数组合对相机内参和外参进行优化,得到最终的相机内参和外参,包括:
对所述坐标变换矩阵中的相机内参和外参进行初始化;
通过构建的目标函数或者目标函数组合对相机内参和外参进行优化,直至所述目标函数或者目标函数组合的值收敛小于设定阈值或者迭代步数大于设定值。
8.一种相机内参和外参的标定装置,其特征在于,包括:
坐标系建立单元,用于建立世界坐标系以及相机坐标系;
第一构建单元,用于构建所述世界坐标系和相机坐标系的坐标变换矩阵;
平行线约束建立单元,用于在相机拍摄的交通场景图像中标记所述世界坐标系中的一组或者多组平行线,并利用所述坐标变换矩阵对标记的平行线建立平行线约束;
尺度线约束建立单元,用于在相机拍摄的交通场景图像中标记所述世界坐标系中的一条或者多条线段的实际长度,并利用所述坐标变换矩阵对标记的线段建立尺度线约束;
铅垂线约束建立单元,用于在相机拍摄的交通场景图像上标记所述世界坐标系中的一条或者多条铅垂线,并利用所述坐标变换矩阵对标记的铅垂线建立铅垂线约束;
组合单元,用于利用所述平行线约束、尺度线约束和铅垂线约束中的一种约束或者多种约束构成的约束组合对相机内参和外参进行计算;
第二构建单元,用于对所述平行线约束、尺度线约束和铅垂线约束分别构建目标函数,并根据所述约束组合将构建得到的平行线目标函数、尺度线目标函数和铅垂线目标函数进行相应的加合,得到对应的目标函数组合;
优化单元,用于通过构建的目标函数或者目标函数组合对相机内参和外参进行优化,得到最终的相机内参和外参。
9.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的相机内参和外参标定方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的相机内参和外参标定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011004454.8A CN112184830B (zh) | 2020-09-22 | 2020-09-22 | 相机内参和外参标定方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011004454.8A CN112184830B (zh) | 2020-09-22 | 2020-09-22 | 相机内参和外参标定方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112184830A CN112184830A (zh) | 2021-01-05 |
CN112184830B true CN112184830B (zh) | 2021-07-09 |
Family
ID=73956838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011004454.8A Active CN112184830B (zh) | 2020-09-22 | 2020-09-22 | 相机内参和外参标定方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112184830B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023283929A1 (zh) * | 2021-07-16 | 2023-01-19 | 华为技术有限公司 | 双目相机外参标定的方法及装置 |
CN113658279B (zh) * | 2021-08-25 | 2024-04-02 | 深研人工智能技术(深圳)有限公司 | 相机内参和外参估算方法、装置、计算机设备及存储介质 |
WO2023028880A1 (zh) * | 2021-08-31 | 2023-03-09 | 华为技术有限公司 | 车载相机的外部参数的标定方法及相关装置 |
CN114170323B (zh) * | 2021-12-07 | 2024-09-03 | 合肥英睿系统技术有限公司 | 图像拍摄装置的参数标定方法、设备及存储介质 |
CN114004901B (zh) * | 2022-01-04 | 2022-03-18 | 南昌虚拟现实研究院股份有限公司 | 多相机标定方法、装置、终端设备及可读存储介质 |
CN118247360A (zh) * | 2024-04-18 | 2024-06-25 | 镁佳(北京)科技有限公司 | 相机内外参的标定方法、装置、设备、存储介质及程序产品 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101876532B (zh) * | 2010-05-25 | 2012-05-23 | 大连理工大学 | 测量系统中的摄像机现场标定方法 |
CN103761737B (zh) * | 2014-01-22 | 2016-08-31 | 北京工业大学 | 基于稠密光流的机器人运动估计方法 |
CN104392450A (zh) * | 2014-11-27 | 2015-03-04 | 苏州科达科技股份有限公司 | 确定相机焦距与旋转角度的方法、相机标定方法及系统 |
KR102023087B1 (ko) * | 2018-05-31 | 2019-09-20 | 주식회사 미르기술 | 카메라 캘리브레이션 방법 |
-
2020
- 2020-09-22 CN CN202011004454.8A patent/CN112184830B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112184830A (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112184830B (zh) | 相机内参和外参标定方法、装置、计算机设备及存储介质 | |
CN108510551B (zh) | 一种远距离大视场条件下相机参数的标定方法及系统 | |
CN102034238B (zh) | 基于光学成像测头和视觉图结构的多摄像机系统标定方法 | |
Arias et al. | Control of structural problems in cultural heritage monuments using close-range photogrammetry and computer methods | |
CN112183171B (zh) | 一种基于视觉信标建立信标地图方法、装置 | |
CN103530880B (zh) | 基于投影高斯网格图案的摄像机标定方法 | |
CN109523595B (zh) | 一种建筑工程直线棱角间距视觉测量方法 | |
CN106705849B (zh) | 线结构光传感器标定方法 | |
CN111754462A (zh) | 一种三维弯管的视觉检测方法及系统 | |
CN117274499B (zh) | 一种基于无人机倾斜摄影的钢结构加工及安装方法 | |
CN104019799A (zh) | 一种利用局部参数优化计算基础矩阵的相对定向方法 | |
CN113916130B (zh) | 一种基于最小二乘法的建筑物位置测量方法 | |
CN104463969B (zh) | 一种对航空倾斜拍摄的地理照片的模型的建立方法 | |
CN108801218B (zh) | 大尺寸动态摄影测量系统的高精度定向及定向精度评价方法 | |
Arias et al. | 3D modeling and section properties of ancient irregular timber structures by means of digital photogrammetry | |
CN111402315A (zh) | 一种自适应调整双目摄像机基线的三维距离测量方法 | |
CN116758234A (zh) | 一种基于多点云数据融合的山地地形建模方法 | |
CN116310250A (zh) | 一种基于三维传感器的点云拼接方法、系统和存储介质 | |
CN113658279A (zh) | 相机内参和外参估算方法、装置、计算机设备及存储介质 | |
CN104504691A (zh) | 基于低秩纹理的摄像机位置和姿态测量方法 | |
CN106671081B (zh) | 一种基于单目视觉的少自由度机器人运动学标定方法 | |
CN107504959B (zh) | 利用倾斜航空影像测量房屋墙基轮廓的方法 | |
CN109373901B (zh) | 位于平面上的孔的中心位置的计算方法 | |
CN117557649A (zh) | 一种基于烟草零售终端平面线框特征的相机标定方法 | |
CN109829939A (zh) | 一种缩小多视影像匹配同名像点搜索范围的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Lin Picheng Inventor after: Song Kaiyin Inventor after: Ye Chunyu Inventor after: Zhang Wenshuo Inventor before: Song Kaiyin Inventor before: Ye Chunyu Inventor before: Zhang Wenshuo |
|
GR01 | Patent grant | ||
GR01 | Patent grant |