CN117274402B - 相机外参的标定方法、装置、计算机设备及存储介质 - Google Patents
相机外参的标定方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN117274402B CN117274402B CN202311578448.7A CN202311578448A CN117274402B CN 117274402 B CN117274402 B CN 117274402B CN 202311578448 A CN202311578448 A CN 202311578448A CN 117274402 B CN117274402 B CN 117274402B
- Authority
- CN
- China
- Prior art keywords
- corner
- calibration
- camera
- screened
- vehicle
- 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
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000003860 storage Methods 0.000 title claims abstract description 21
- 238000005457 optimization Methods 0.000 claims description 46
- 230000015654 memory Effects 0.000 claims description 26
- 238000010276 construction Methods 0.000 claims description 13
- 238000012216 screening Methods 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 12
- 230000004927 fusion Effects 0.000 claims description 8
- 206010047571 Visual impairment Diseases 0.000 claims description 2
- 240000004050 Pentaglottis sempervirens Species 0.000 claims 2
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 claims 2
- 230000006870 function Effects 0.000 description 49
- 230000008569 process Effects 0.000 description 20
- 238000004364 calculation method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 6
- 230000009466 transformation Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 101150064138 MAP1 gene Proteins 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000004907 flux Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 101150077939 mapA gene Proteins 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20164—Salient point detection; Corner detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Traffic Control Systems (AREA)
Abstract
本申请涉及自动驾驶以及计算机技术领域,公开了相机外参的标定方法、装置、计算机设备及存储介质,本申请在标定时,利用语义地图获取车辆在行驶过程中所经过的停车位,并从语义地图中直接选取停车位中用于标定相机外参的标定角点,不需要对相机采集的图像序列中图像的特征点的提取与匹配来确定车辆经过的停车位以及停车位上的角点,大大提高了标定角点也即用于外参标定的特征点的获取效率,从而大大提高相机外参标定的效率。同时利用语义地图、预设角点模板集合、车辆位姿以及每一个图像序列,来考虑标定角点在不同时刻不同相机的观测之间的关联,以对标定角点的角点坐标进行校准保证角点坐标的可靠性,从而提高相机外参标定的准确性。
Description
技术领域
本申请涉及自动驾驶以及计算机技术领域,具体涉及相机外参的标定方法、装置、计算机设备及存储介质。
背景技术
环视相机***可以捕捉车辆周围的全景图像,以为车辆提供更全面的情境认知,从而辅助车辆的运行。这就要求在车辆出厂前对相机做好标定,以确保通过相机得到的信息的准确性。但在车辆使用过程中会出现相机位移等情况,这就要求能够对相机进行重新标定。
目前针对相机进行标定方法通常是在相机获取的每一帧图像上提取特征,进行相机外参的标定。但是上述方法一方面需要大量时间提取特征点并进行特征匹配,标定效率低;另一方面提取特征时往往忽视了特征之间的几何关系和语义关系,对属于同一目标的多个特征,分别进行匹配和矫正,大大限制了匹配特征的效率和精度。
因此,如何高效准确的标定相机的外参,已成为亟需解决的问题。
发明内容
有鉴于此,本申请提供了一种相机外参的标定方法、装置、计算机设备及存储介质,以解决如何高效准确的标定相机的外参的问题。
第一方面,本申请提供了一种相机外参的标定方法,该方法包括:
当车辆满足相机外参的标定条件时,在当前周期内,获取车辆在当前时刻对应的语义地图、车辆在当前时刻对应车辆位姿、每一个相机在当前时刻采集的图像序列以及每一个相机在当前时刻的相机原始外参,标定条件包括接收到相机外参标定请求,且车辆的左右两侧均存在至少四个停车位;
根据语义地图以及车辆位姿,从语义地图中的停车位中选取多个标定角点用于标定相机外参;
根据预设角点模板集合、车辆位姿、语义地图以及每一个图像序列,获取每一个标定角点在预构建的标定坐标系中的标定角点坐标,得到标定角点坐标集合;
根据车辆位姿、标定角点坐标集合、预获取的停车位长宽规格信息以及每一个相机原始外参,构建优化约束条件;
根据优化约束条件,优化每一个相机的相机原始外参,得到每一个相机的优化后相机外参;
当所有优化后相机外参符合预设优化收敛条件时,将每一个相机的优化后相机外参确定为每一个相机的标定结果,预设优化收敛条件为根据所有优化后相机外参确定的重投影误差小于或等于第一阈值,或者根据所有优化后相机外参将图像序列中的图像拼接为鸟瞰图后,鸟瞰图中图像的融合度大于或等于第二阈值。
具体的,在标定时,利用语义地图中丰富的语义信息可以直接获取车辆在行驶过程中所经过的停车位,并从语义地图中直接选取停车位中用于标定相机外参的标定角点,不需要对相机采集的图像序列中图像的特征点的提取与匹配来确定车辆经过的停车位以及停车位上的角点,大大提高了标定角点也即用于外参标定的特征点的获取效率,从而大大提高相机外参标定的效率。同时利用语义地图、预设角点模板集合、车辆位姿以及每一个图像序列,来考虑标定角点在不同时刻不同相机的观测之间的关联,以对标定角点的角点坐标进行校准保证角点坐标的可靠性,从而提高相机外参标定的准确性。利用本身就很常见且有规范的停车位结合语义地图对相机外参进行在线标定,无需在车辆出厂后相机位置出现变化时,进行返厂标定或者在专业的标定间中进行标定,简化车辆用户相机外参标定流程提高效率的同时还可以降低相机外参标定的成本。此外,当车辆左右两侧均存在至少四个停车位,可以保证车辆上的每一个相机都能采集到有关停车位的图像,避免传统方法中相机无法采集到用于外参标定的对象的图像所导致的外参标定不准确的情况。
在一些可选的实施例中,根据语义地图以及车辆位姿,从语义地图中的停车位中选取多个标定角点用于标定相机外参,包括:
获取语义地图中每一个停车位的属性信息,属性信息包括停车位中四个角点的角点标识以及停车位标识,角点标识用于指示角点在停车位中的位置,停车位标识用于指示停车位在语义地图中的位置;
根据语义地图、车辆位姿以及每一个停车位标识,分别确定第一停车位集合以及第二停车位集合,第一停车位集合中的每一个停车位在语义地图中均位于车辆的左侧,第二停车位集合中的每一个停车位在语义地图中均位于车辆的右侧;
根据每一个停车位的停车位标识以及角点标识,分别从第一停车位集合以及第二停车位集合中确定在语义地图中靠近车辆的行驶车道的停车位边缘,将位于停车位边缘上的角点确定为待筛选角点;
根据车辆位姿以及所有待筛选角点的角点坐标,从所有待筛选角点中筛选出多个标定角点。
具体的,从语义地图中直接获取包括各个角点的角点标识、停车位中各个角点的角点坐标以及停车位标识的每一个停车位的属性信息,这样就可以结合车辆位姿、语义地图快速地确定分别位于车辆左右两侧的停车位。并基于直接获取的停车位中的角点标识以及角点坐标确定在语义地图中平行于车辆的行驶车道且靠近车辆的停车位的边缘,以将边缘上的角点确定为待筛选角点,并从待筛选角点中筛选标定角点自然可以明确标定角点所属的停车位。这样可以避免相关技术中对图像特征点的提取以及关联计算,降低了计算压力的同时,大大提高计算效率。
在一些可选的实施例中,根据车辆位姿以及所有待筛选角点的角点坐标,从所有待筛选角点中筛选出多个标定角点,包括:
根据车辆位姿,从所有待筛选角点中确定在语义地图中位于车辆左侧的待筛选角点以及位于车辆右侧的待筛选角点,得到左侧待筛选角点集合,以及右侧待筛选角点集合;
在语义地图中,根据左侧待筛选角点集合中每一个待筛选角点的角点坐标拟合第一直线方程,以及根据右侧待筛选角点集合中每一个待筛选角点的角点坐标拟合第二直线方程;
在左侧待筛选角点集合中选取与第一直线方程的偏离距离小于或等于第三阈值的待筛选角点,以及在右侧待筛选角点集合中选取与第二直线方程的偏离距离小于或等于第三阈值的待筛选角点,将选取的待筛选角点确定为标定角点。
具体的,根据位于车辆左侧的待筛选角点以及位于右侧的待筛选角点分别拟合第一直线方程与第二直线方程,并将与直线方程的偏离距离小于或等于第三阈值的待筛角点确定为标定角点,保证标定角点尽可能在直线上有助于提高后续对相机外参进行标定的准确性。
在一些可选的实施例中,根据预设停车位模板集合、车辆位姿、语义地图以及每一个图像序列,获取每一个标定角点在预构建的标定坐标系中的标定角点坐标,得到标定角点坐标集合,包括:
将每一个标定角点在语义地图中的角点坐标转换到标定坐标系中,得到每一个标定角点的转换后角点坐标;
根据每一个图像序列以及预设角点模板集合,校正每一个标定角点的转换后角点坐标,得到标定角点的校正后角点坐标;
所有标定角点的校正后角点坐标组成标定角点坐标集合。
具体的,校准每一个标定角点的角点坐标,保证所有标定角点在语义地图中的精确位置,进而保证在所有标定角点的角点坐标从语义地图所处世界坐标系转换至标定坐标系时,得到的转换后角点坐标都是精确的坐标,以便于后续利用精确的坐标对相机外参进行标定,提高相机外参标定的准确性。
在一些可选的实施例中,根据每一个图像序列以及预设角点模板集合,校正每一个标定角点的转换后角点坐标,得到标定角点的校正后角点坐标,包括:
以每一个标定角点为基准,对包括停车位的角点的所有图像序列进行分组,得到与每一个标定角点对应的图像组;
根据预获取的每一个标定角点的角点标识以及预获取的每一个标定角点所属停车位的停车位标识,从预设角点模板集合分别中选取与每一个标定角点匹配的角点模板;
获取第一图像组中每一张图像中第一标定角点对应的角点坐标范围,第一图像组为与每一个标定角点对应的图像组中的任一个,第一标定角点为第一图像组对应的标定角点;
在第一图像组的每一张图像中,从角点坐标范围中筛选第一标定角点所属停车位的角点边缘与第一角点模板的边缘之间的误差最小的角点坐标,第一角点模板为与第一标定角点匹配的角点模板;
将筛选出的角点坐标确定为第一标定角点的校正后角点坐标,直至得到所有标定角点的校正后角点坐标。
具体的,以标定角点所属停车位的角点边缘与角点模块的边缘之间的最小误差确定标定角点的校正后角点坐标,保证校正后的标定角点可以精确的落在停车位的角落,提高角点坐标的精确度,以便于后续利用精确的坐标对相机外参进行标定,提高相机外参标定的准确性。
在一些可选的实施例中,在左侧待筛选角点集合中选取与第一直线方程的偏离距离小于或等于第三阈值的待筛选角点,以及在右侧待筛选角点集合中选取与第二直线方程的偏离距离小于或等于第三阈值的待筛选角点,将选取的待筛选角点确定为标定角点,包括:
从左侧待筛选角点集合以及右侧待筛选角点集合中分别选取任一待筛选角点分别作为第一待筛选角点以及第二待筛选角点;
分别将第一待筛选角点在语义地图中的角点坐标代入至第一直线方程中,以及第二待筛选角点在语义地图中的角点坐标代入至第二直线方程中,得到第一结果以及第二结果;
若第一结果的绝对值小于或等于第三阈值,确定第一待筛选角点为一个标定角点;
若第一结果的绝对值大于第三阈值,继续从左侧待筛选角点集合选取下一个标定角点,直至左侧待筛选角点集合中所有待筛选角点选取完毕;
若第二结果的绝对值小于或等于第三阈值,确定第二待筛选角点为一个标定角点;
若第二结果的绝对值大于第三阈值,继续从右侧待筛选角点集合选取下一个标定角点,直至右侧待筛选角点集合中所有待筛选角点选取完毕。
具体的,分别将左侧待筛选角点集合以及右侧待筛选角点集合中的待筛选角点代入到各自对应的直线方程中,将代入后得到的结果的绝对值作为偏移距离与第三阈值比较以确定标定角点。无需通过其余复杂的计算去确定标定角点与直线方程之间的偏移距离,节约计算资源的同时大大提高标定角点的确定效率,进而提高相机外参标定的效率。
在一些可选的实施例中,根据车辆位姿、标定角点坐标集合、预获取的停车位长宽规格信息以及每一个相机原始外参,构建优化约束条件,包括:
在当前时刻,获取每一个相机在自身的相机坐标系中的归一化向量;
根据每一个相机的归一化向量、车辆位姿以及每一个相机原始外参以及标定角点坐标集合,构建重投影误差函数;
根据车辆位姿以及每一个相机原始外参,构建相对位姿误差函数;
根据标定角点坐标集合以及停车位长宽规格信息,构建正则项误差函数;
将重投影误差函数、相对位姿误差函数以及正则项误差函数确定为优化约束条件。
具体的,将重投影误差函数、相对位姿误差函数以及正则项误差函数确定为优化约束条件,从三个方面对后续相机外参的优化进行约束,保证优化后的相机外参符合相机实际使用时的误差需求,进而提高相机外参标定的准确性。
在一些可选的实施例中,当优化后相机外参不符合预设优化收敛条件时,相机外参的标定方法还包括:
将车辆在当前时刻的位置确定为新的起点,当车辆满足标定条件时,进入下一个周期,重新标定车辆的相机的外参。
具体的,在优化后相机外参不符合预设优化收敛条件时重新对相机外参进行标定,保证可以在线完成相机外参的标定避免一次标定失败就结束流程导致相机外参未被标定的情况。
第二方面,本申请提供了一种相机外参的标定装置,该装置包括:
第一获取模块,用于当车辆满足相机外参的标定条件时,在当前周期内,获取车辆在当前时刻对应的语义地图、车辆在当前时刻对应车辆位姿、每一个相机在当前时刻采集的图像序列以及每一个相机在当前时刻的相机原始外参,标定条件包括接收到相机外参标定请求,且车辆的左右两侧均存在至少四个停车位;
选取模块,用于根据语义地图以及车辆位姿,从语义地图中的停车位中选取多个标定角点用于标定相机外参;
第二获取模块,用于根据预设角点模板集合、车辆位姿、语义地图以及每一个图像序列,获取每一个标定角点在预构建的标定坐标系中的标定角点坐标,得到标定角点坐标集合;
构建模块,用于根据车辆位姿、标定角点坐标集合、预获取的停车位长宽规格信息以及每一个相机原始外参,构建优化约束条件;
优化模块,用于根据优化约束条件,优化每一个相机的相机原始外参,得到每一个相机的优化后相机外参;
确定模块,用于当所有优化后相机外参符合预设优化收敛条件时,将每一个相机的优化后相机外参确定为每一个相机的标定结果,预设优化收敛条件为根据所有优化后相机外参确定的重投影误差小于或等于第一阈值,或者根据所有优化后相机外参将图像序列中的图像拼接为鸟瞰图后,鸟瞰图中图像的融合度大于或等于第二阈值。
第三方面,本申请提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述任一实施例的相机外参的标定方法。
第四方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令由处理器加载并执行以实现如上述任一实施例的相机外参的标定方法。
附图说明
为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的相机外参的标定方法的一种应用场景的示意图;
图2是根据本申请实施例的一种相机外参的标定方法的流程示意图;
图3是根据本申请实施例的一种应用场景中相机外参的标定方法的具体工作流程示意图;
图4是根据本申请实施例的一种应用场景中语义地图中停车位角点的命名示意图;
图5是根据本申请实施例的一种应用场景中预设角点模板集合中个角点模板的示意图;
图6是根据本申请实施例的又一种相机外参的标定方法的流程示意图;
图7是根据本申请实施例的一种应用场景中待筛选角点的示意图;
图8是根据本申请实施例的一种相机外参的标定装置的结构框图;
图9是本申请实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
车辆的环视相机***通常由多个广角、鱼眼摄像头组成,安装在车辆的不同位置,例如前、后、两侧和顶部。这些摄像头可以捕捉车辆周围的全景图像,提供360度的环境感知。另外通过识别周围的车辆、行人、障碍物、交通标志和道路线条等,可以构建语义地图,为车辆提供更全面的情境认知。因此,环视相机***在自动驾驶技术中扮演着重要角色,它能够为车辆提供全方位的环境感知和监测能力,从而增强驾驶安全性、辅助决策制定,以及提供更准确的自主驾驶能力。环视相机***在有一定限制条件下的环境中,在以下功能中都有充分的应用:
盲区消除和危险预警:环视相机可以消除车辆的盲区,帮助驾驶员或自动驾驶***监测车辆周围的区域。它可以在行驶中发现潜在的危险情况,如侧面来车、盲区内的行人等,并向驾驶员或***发送警报,提醒采取相应的措施。
自动泊车:环视相机在自动泊车***中起着关键作用。通过综合分析环绕的图像,车辆可以精确地在狭小的停车位中进行自动停车,而无需驾驶员的干预。
高速公路辅助驾驶:环视相机可以监测车辆在高速公路上的情况,帮助自动驾驶***保持车道,并提供周围车流和交通状况的信息,支持自适应巡航控制和车道保持辅助。
因此,对于环视相机***的外参标定是非常重要的存在。传统的相机外参标定可以分为两大类:离线标定与在线标定。
在离线标定过程中,摄像机需要拍摄包含特定标定目标的图像。这些目标可以是棋盘格、圆形标志或其他已知几何形状的物体。因此需要在车辆制造或安装过程中添加这些目标。这增加了制造和安装的成本和复杂性。一旦摄像机被离线标定,要更新外参通常需要重新进行标定过程,这对于已经部署在车辆上的摄像机来说可能是一项挑战。
在线标定又可以分为基于特征点的在线标定、基于光流的在线标定和基于语义信息的在线标定。
基于特征点的方法在相机获取的每一帧图像上提取特征点,并进行匹配,从而计算相机在两个时刻之间的位姿变换并进行优化。基于光流的方法认为相同物体对应的像素不变,进而根据像素的位置变换求解相机位姿变换。但这两种方法往往仅关注单个特征点的集合关系,而忽视特征点所在目标作为一个整体在上下文之间的关系,以及忽略同一特征点在不同时刻不同相机的观测之间的关联,使得算法的稳定性下降,标定的准确性还会受到影响。此外,大量提取图像的特征在进行处理计算严重影响相机外参标定的效率。
而基于语义信息的方法大都依赖于车道中心线、箭头表示和车道线等对象,这些对象往往难以被多个相机观测,导致特征稀少,因此难以在各个相机之间构建约束,影响相机外参标定的准确性。
考虑到相比于车道中心线、箭头表示和车道线等对象,停车位规格统一、特征丰富,尤其是车辆在停车场中的行车速度相对缓慢,在停车场进行标定也不至于影响他人行车;此外不论是停车场还是停车位的分布都十分广泛。以及,语义地图会将环境中有关物体和地点的语义信息与环境中有关物体和地点的几何信息建立联系,使得车辆可以基于语义地图可以感知自身所处的环境,并获取相关对象的语义信息。本申请将语义地图与基于语义信息标定相机外参的方法结合创新,提出了一种新的相机外参的标定方法,以在车辆出厂后可以在非标准标定场景中对环视相机***中的相机外参进行标定同时,相较于传统算法具有更高的标定效率与准确性。下面详细介绍本申请的相机外参的标定方法。
图1是本申请实施例的相机外参的标定方法的一种应用场景的示意图,在该应用场景中包含车辆110、多个停车位120、行驶车道130以及服务器(图中未示出),多个停车位120分别为位于行驶车道130的左右两侧,车辆110在行驶车道130中行驶,车辆110通过传输网络(如,无线通信网络)与服务器实现通量连接,车辆110包含数据处理设备、环视相机***、车载定位传感器以及数据存储模块等模块。
车辆110在行驶车道130行驶的过程中,环视相机***中的每个相机都会对车辆110周围的环境进行图像采集,并将采集到的图像序列保存在数据存储模块中。数据处理设备可以通过车载定位传感器在车辆110的运行过程中采集车辆110的运动信息,并将采集到的运动信息保存在数据存储模块中,进而将图像序列以及运动信息通过传输网络传输给服务器。数据存储模块中还可以存储环视相机***中每一个相机的相机原始外参。服务器可以基于卷积神经网络与SLAM(Simultaneous Localization And Mapping,即时定位与地图构建)算法或者其他深度学习网络根据接收的运动信息与图像序列来构建包括行驶通道130周围若干停车位的语义地图。
在需要进行相机外参的标定时,用户可以在车载显示屏或车辆110对应的移动终端控制程序上输入相机外参标定请求,这样与车辆110或移动终端通信连接的服务器就可以在接收到相机外参标定请求时,根据车辆110在传送的运动信息以及图像序列确定当前时刻车辆110的语义地图,并根据语义地图确定车辆110左右两侧是否均存在至少一个停车位,如果存在则根据运动信息确定当前时刻的车辆位姿,并从获取环视相机***中每一个相机的相机原始外参,而后利用语义地图感知的环境特征(例如,车辆两侧长方形的停车位或车辆两侧平行四边形的停车位)、语义信息已、相机原始外参以及车辆的轨迹来对相机的外参进行标定,具体标定方法在后续实施例中介绍。相对于现有的在线或离线标定的相机外参的方法,将自动驾驶中常用到的语义信息结合至相机外参的标定中,省去了在标定环节重新关联数据的计算过程,大大提高了计算效率。考虑到现实中的实际情况,停车位分布广泛,具有良好的几何信息,非常适合作为标定物,有助于提高标定的精度。
可选的,服务器可以与多个车辆进行通信连接,以对多个车辆的环视相机***中的相机进行外参标定。为了缓解服务器的计算压力,在需要进行相机外参标定时,也可以是服务器将车辆110的语义地图发送至车辆110的数据存储模块,车辆110的数据处理设备执行上述服务器进行相位外参标定时除了确定语义地图以外的所有步骤。
可选的,上述服务器可以是由多个物理服务器构成的服务器集群或者是分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等技术运计算服务的云服务器。
可选的,上述应用场景中还可以包括管理设备,该管理设备用于对车辆以及服务器进行管理(如管理各个模块与服务器之间的连接状态等),该管理设备与服务器之间通过通信网络相连。可选的,该通信网络是有线网络或无线网络。
可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网,但也可以是其他任何网络,包括但不限于局域网、城域网、广域网、移动、有限或无线网络、专用网络或者虚拟专用网络的任何组合。在一些实施例中,使用包括超文本标记语言、可扩展标记语言等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层、传输层安全、虚拟专用网络、网际协议安全等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
根据本申请实施例,提供了一种相机外参的标定实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种相机外参的标定方法,可用于计算机设备,例如计算机或图1所示实施例的服务器或数据处理设备等,图2是根据本申请实施例的相机外参的标定方法的流程图,如图2所示,该流程包括如下步骤:
步骤201,当车辆满足相机外参的标定条件时,在当前周期内,获取车辆在当前时刻对应的语义地图、车辆在当前时刻对应车辆位姿、每一个相机在当前时刻采集的图像序列以及每一个相机在当前时刻的相机原始外参。
其中,标定条件包括接收到相机外参标定请求,且车辆的左右两侧均存在至少四个停车位。车辆在行驶过程中计算机设备会利用任一种目前的语义地图构建方法根据车辆上的相机采集的图像序列以及车载传感器采集的运动信息(例如,雷达数据或轮速计数据等)构建车辆的语义地图,这样计算机设备就可以实时获取到车辆行驶过程中的语义地图。用户在车载显示屏或车辆对应的移动终端控制程序上输入相机外参标定请求后计算机设备就可以接收到该相机外参标定请求,此时计算机设备会基于在车辆行驶过程中获取到的语义地图中记录的语义信息(该语义信息中包括车辆周围环境中各物体的标识信息以及位置信息)判断车辆的左右两侧是否存在至少四个停车场。
当车辆左右两侧存在至少四个停车位时,如图3所示,计算机设备就进入相机外参标定的当前周期,将车辆当前所处位置确定为起点,并监测车辆相对于起点的移动距离;当移动距离大于或等于第四阈值(也即判断移动距离是否足够远)时,会利用任一种目前的语义地图构建方法,根据相机从起点到车辆当前所处位置的过程中采集的图像序列以及车载传感器采集的运动信息(也即读取当前时刻t的信息)构建车辆在当前时刻对应的语义地图(也即建立局部地图坐标系),并依据车载传感器采集的车辆的车速、实时位置以及行驶方向等运动信息确定当前时刻的车辆位姿、读取每一个相机在当前时刻采集的图像序列以及每一个相机在当前时刻的相机原始外参,便于后续进行相机外参的标定。
当移动距离小于第四阈值时,就向车载显示屏以及车辆对应的移动终端反馈用于指示车辆继续行驶的信息,直至移动距离大于或等于第四阈值。需要说明的是,第四阈值可以自行设定,例如5米或10米等。在接收到车辆相机外参标定请求且确定车辆左右两侧存在至少四个停车位时,并不会直接获取此时的语义地图等信息,而是在车辆相对于起点移动了一段距离后才获取当前时刻的语义地图等信息保证语义地图中可以尽可能多的记录车辆两侧停车位的语义信息,便于后续在相机外参标定过程中可以得到多个标定角点进而对相机外参进行多角点的标定,提高相机外参标定的准确性。
当车辆左右两侧中存在至少一侧停车位的数量不足四个时,计算机设备会向车载显示屏以及车辆对应的移动终端反馈用于指示车辆不满足相机外参的标定条件的信息(例如,车辆左侧或右侧没有停车位,或者请行驶至车辆两侧有停车位的场景),以提醒用户将车辆行驶至车辆左右两侧均有停车位的环境。
需要说明的是,本申请对语义地图构建方法不做具体限制,可以是基于YLOLO(YouOnly Look Once,目检测算法)结合SLAM算法的语义地图构建,也可以是基于HDMapNet(高精度局部语义地图构建)算法的语义地图构建。
步骤202,根据语义地图以及车辆位姿,从语义地图中的停车位中选取多个标定角点用于标定相机外参。
语义地图中记录了车辆两侧检测到的停车位以及停车位的角点在语义地图所处世界坐标系下的坐标。这样在计算机设备就可以依据车辆位姿确定车辆在语义地图中的位置后,可以直接从语义地图中确定位于车辆左右两侧的所有停车位以及停车位的角点。进而从车辆左右两侧的停车位中确定靠近车辆行驶车道的停车位边缘,并选取位于停车位边缘上的角点作为标定角点,具体选取流程在后续实施例中介绍。
例如,在车辆行驶过程中,计算机设备检测到一段区域内的停车位如图1所示,则会在构建的语义地图中规定停车位的四个角点的命名如图4所示,在停车位内朝向停车位出口方向,自右上角开始逆时针依次命名为点p0、p1、p2和p3角点,则计算机设备会将左右两侧停车位的p0以及p1角点作为标定角点。
步骤203,根据预设角点模板集合、车辆位姿、语义地图以及每一个图像序列,获取每一个标定角点在预构建的标定坐标系中的标定角点坐标,得到标定角点坐标集合。
预设角点模板集合中记录了标定角点在停车位中所在角落的模板,例如,当标定角点为图1中所示停车位的p0以及p1角点时,标定角点在停车位中的位置共有四种可能:左侧的p0以及p1角点和右侧的p0以及p1角点,分别对应图5中的四个模板。图5中模板(1)为图1中位于车辆左侧的p0角点所在角落的模板,模板(2)为图1中位于车辆左侧的p1角点所在角落的模板,模板(3)为图1中位于车辆右侧的p0角点所在角落的模板,模板(4)为图1中位于车辆右侧的p1角点所在角落的模板。可以理解的是,图5仅示出一种可能的预设角点模板集合,在实际应用过程中可以根据停车位的形状(长方形或平行四边形)以及具体的角点命名方式做出相应改变。
计算机设备会依据车辆位姿确定在语义地图中位于车辆左右两侧的标定角点,这样就可以在预设停车位集合中查找每一个标定角点分别对应的模板。并针对每一个相机,确定相机采集的图像序列中包括的标定角点,并依据相机采集的图像序列校准角点位置没有位于对应模版中标线转角中心的标定角点的角点坐标,具体角点坐标校准方法在后续实施例中介绍。校准过程中把标定角点的角点坐标转换到预构建的标定角点坐标中,这样计算机设备会针对每一个相机都获取到每一个标定角点在预构建的标定坐标系中的标定角点坐标,得到标定角点坐标集合。
步骤204,根据车辆位姿、标定角点坐标集合、预获取的停车位长宽规格信息以及每一个相机原始外参,构建优化约束条件。
计算机设备会根据车辆位姿、标定角点坐标集合、预获取的停车位长宽规格信息以及每一个相机原始外参构建误差函数,将误差函数作为优化约束条件,误差函数一共包含三项:重投影误差函数、相对位姿误差函数和正则项误差函数,计算机设备会将这三项误差函数作为优化约束条件,具体误差函数在后续实施例中介绍。
可以理解的是,可以根据已获取的语义地图,获取停车位长宽规格信息。具体的,停车位的长宽规格一般都符合停车位尺寸规范标准,也即停车位的长宽规格一般是固定值,因此,可以提前将停车位长宽规格信息进行存储。在步骤204之前,根据已获取的语义地图判断车辆两侧停车位的停车位类型;从预存储的所有停车位长宽规格信息中查找该停车位类型对应的停车位长宽规格信息,便于后续构建优化约束条件。停车位类型用于指示停车位适用的车型(例如,小型车、微型车或中型车等)、停车位的排列方式(例如,平行式、倾斜式或垂直式等)以及停车位的形状。
对于不符合停车位尺寸规范标准的停车位,考虑到语义地图中会记录大量有效的几何信息以及语义信息。因此,可以在构建优化约束条件之前,根据已获取的语义地图中记录的停车位的几何信息确定停车位的长宽规格,得到可以用于续构建优化约束条件的停车位长宽规格信息。
步骤205,根据优化约束条件,优化每一个相机的相机原始外参,得到每一个相机的优化后相机外参。
计算机设备会将优化约束条件加入到求解器,优化变量为相机原始外参、车辆位姿和标定角点的角点坐标进行优化求解得到优化后相机外参。
步骤206,当所有优化后相机外参符合预设优化收敛条件时,将每一个相机的优化后相机外参确定为每一个相机的标定结果。
其中,预设优化收敛条件为根据所有优化后相机外参确定的重投影误差小于或等于第一阈值,或者根据所有优化后相机外参将图像序列中的图像拼接为鸟瞰图后,鸟瞰图中图像的融合度大于或等于第二阈值。计算机设备可以依据重投影误差函数重新计算一个新的重投影误差,当新的重投影误差小于或等于第一阈值时就确定相机当前的外参满足精度,将每一个相机的优化后相机外参确定为各自的标定结果。或者,根据所有优化后相机外参将图像序列中的图像拼接为鸟瞰图后,确定鸟瞰图中图像的融合度是否大于或等于第二阈值,如果是则将每一个相机的优化后相机外参确定为各自的标定结果。如果新的重投影误差大于第一阈值,或者鸟瞰图中图像的融合度是否小于第二阈值就如图3所示将车辆的当前位置设置为新起点,重新执行上述步骤201至步骤206,直至得到每一个相机的标定结果。
需要说明的是,根据所有优化后相机外参将图像序列中的图像拼接为鸟瞰图的方法本申请实施例不做具体限制,例如,利用ADAS(Advanced Driving Assistance System,高级驾驶辅助***)算法、AVM(Around View Monitor,全景影像)算法或镜头去畸变标定算法对图像进行拼接。第一阈值以及第二阈值可以自行设置,本申请实施例不做具体限制。
本申请实施例中,在标定时,利用语义地图中丰富的语义信息可以直接获取车辆在行驶过程中所经过的停车位,并从语义地图中直接选取停车位中用于标定相机外参的标定角点,不需要对相机采集的图像序列中图像的特征点的提取与匹配来确定车辆经过的停车位以及停车位上的角点,大大提高了标定角点也即用于外参标定的特征点的获取效率,从而大大提高相机外参标定的效率。同时利用语义地图、预设角点模板集合、车辆位姿以及每一个图像序列,来考虑标定角点在不同时刻不同相机的观测之间的关联,以对标定角点的角点坐标进行校准保证角点坐标的可靠性,从而提高相机外参标定的准确性。利用本身就很常见且有规范的停车位结合语义地图对相机外参进行在线标定,无需在车辆出厂后相机位置出现变化时,进行返厂标定或者在专业的标定间中进行标定,简化车辆用户相机外参标定流程提高效率的同时还可以降低相机外参标定的成本。此外,当车辆左右两侧均存在至少四个停车位,可以保证车辆上的每一个相机都能采集到有关停车位的图像,避免传统方法中相机无法采集到用于外参标定的对象的图像所导致的外参标定不准确的情况。
在相机外参标定时结合自动驾驶中常用到的语义信息,可以省去在标定环节重新关联数据的计算,大大提高了计算效率,此外,将分布广泛且具有良好的几何信息的停车位作为相机标定时的标定物在避免为相机添加棋盘格等目标的同时,与语义信息结合还有助于提高在线标定的精度。下面对本申请的相机外参的标定方法进行进一步介绍。在本实施例中提供了又一种相机外参的标定方法,可用于计算机设备,例如计算机或图1所示实施例的服务器或数据处理设备等,图6是根据本申请实施例又一种相机外参的标定方法的流程图,如图6所示,该流程包括如下步骤:
步骤601,当车辆满足相机外参的标定条件时,在当前周期内,获取车辆在当前时刻对应的语义地图、车辆在当前时刻对应车辆位姿、每一个相机在当前时刻采集的图像序列以及每一个相机在当前时刻的相机原始外参。
步骤602,根据语义地图以及车辆位姿,从语义地图中的停车位中选取多个标定角点用于标定相机外参。
步骤601至步骤602详细请参见图2所示实施例的步骤201至步骤202,在此不再赘述。
进一步的,为了提高外参标定效率缓解相机外参标定的计算压力,步骤602可以包括如下步骤A1至步骤A4:
步骤A1,获取语义地图中每一个停车位的属性信息。
其中,属性信息包括停车位中四个角点的角点标识以及停车位标识,角点标识用于指示角点在停车位中的位置,停车位标识用于指示停车位在语义地图中的位置。角点标识可以是角点的命名名称或序号,例如图4中的p0、p1、p2以及p3即为角点标识,停车位标识也可以是停车位的命名名称或序号。计算机设备会从语义地图中直接读取每一个停车位的属性信息。
步骤A2,根据语义地图、车辆位姿以及每一个停车位标识,分别确定第一停车位集合以及第二停车位集合,第一停车位集合中的每一个停车位在语义地图中均位于车辆的左侧,第二停车位集合中的每一个停车位在语义地图中均位于车辆的右侧。
计算机设备会依据车辆位姿确定车辆在语义地图中的位置,这样就可以从语义地图中判断分别位于车辆左右两侧的停车位,并通过左右两侧的停车位的停车位标识将位于车辆的左侧停车位集合至第一停车位集合,将位于车辆右侧的停车位集合至第二停车位集合。
步骤A3,根据每一个停车位的停车位标识以及角点标识,分别从第一停车位集合以及第二停车位集合中确定在语义地图中靠近于车辆的行驶车道的停车位边缘,将位于停车位边缘上的角点确定为待筛选角点。
步骤A4,根据车辆位姿以及所有待筛选角点的角点坐标,从所有待筛选角点中筛选出多个标定角点。
可以理解的是,待筛选角点的个数大于或等于标定角点的个数。计算机设备会根据每一个停车位的停车位标识分别遍历第一停车位集合以及第二停车位集合中的每一个停车位中每一个角点的角点标识,这样计算机设备就可以确定位于车辆左右两侧的角点在停车位中的具***置,这样就可以判断出每个停车位中靠近车辆所在行驶车道的角点所在的边缘,将所有边缘上的角点确定为待筛选角点,而后从所有待筛选角点中进一步筛选出标定角点,具体筛选方法在后续实施例中介绍。例如,结合图1、图4以及图7,计算机设备获取的语义地图中会将在停车位内的角点朝向停车位出口方向,自右上角开始逆时针依次命名为p0、p1、p2和p3,若车辆110在行驶车道130行驶,则计算机设备会将图7中所示的靠近行驶车道130的边缘上的所有角点710(也即图中第一直线720以及第二直线730上的角点)确定为待筛选角点,其中第一直线710可以是第一直线方程所指的直线,第二直线730可以是第二直线方程所指的直线。
可选的,可以在语义地图中位于车辆左右两侧的停车位中分别选择至少四个标定角点,这样就有至少八个标定角点用于相机外参的标定,可以在后续进行相机外参的优化时有足够多的标定角点去构建约束条件,并保证车辆不同位置的相机之间的约束条件相互平衡,可以提高相位外参标定的准确性与可靠性。
从语义地图中直接获取包括各个角点的角点标识、停车位中各个角点的角点坐标以及停车位标识的每一个停车位的属性信息,这样就可以结合车辆位姿、语义地图快速地确定分别位于车辆左右两侧的停车位。并基于直接获取的停车位中的角点标识以及角点坐标确定在语义地图中平行于车辆的行驶车道且靠近车辆的停车位的边缘,以将边缘上的角点确定为待筛选角点,并从待筛选角点中筛选标定角点自然可以明确标定角点所属的停车位。这样可以避免相关技术中对图像特征点的提取以及关联计算,降低了计算压力的同时,大大提高计算效率。
进一步的,步骤A4包括如下步骤A41至步骤A43:
步骤A41,根据车辆位姿,从所有标定角点中确定在语义地图中位于车辆左侧的标定角点以及位于车辆右侧的标定角点,得到左侧待筛选角点集合,以及右侧待筛选角点集合。
计算机设备在获取了待筛选角点后,会依据车辆位姿确定车辆在语义地图中的位置,这样就可以依据预获取的语义地图中每一个停车位的角点标识,从语义地图中判断出分别位于车辆左右两侧的待筛选角点,得到左侧待筛选角点集合以及右侧待筛选角点集合。
可选的,计算机设备还可以将从第一停车位集合中确定的在语义地图中靠近车辆的行驶车道的角点确定为位于车辆左侧的待筛选角点,进而将位于车辆左侧的标定角点记录至左侧待筛选角点集合,基于同样的方法获取右侧待筛选角点集合。
步骤A42,在语义地图中,根据左侧待筛选角点集合中每一个待筛选角点的角点坐标拟合第一直线方程,以及根据右侧待筛选角点集合中每一个待筛选角点的角点坐标拟合第二直线方程。
左侧待筛选角点集合以及右左侧待筛选角点集合中的待筛选角点理论上会分别排列在相互平行的两条直线上,例如,图7中的第一直线720以及第二直线730。计算机设备会利用最小二乘法基于左侧待筛选角点集合以及右侧待筛选角点集合中每一个待筛选角点的角点坐标分别拟合出两条直线在语义地图所处世界坐标系中的直线方程,得到第一直线方程Ax+By+C1=0以及第二直线方程Ax+By+C2=0。可以理解的是,待筛选角点的角点坐标可以从语义地图中直接读取。
可选的,计算机设备还会提取待筛选角点组成点群的主方向,并将提取的主方向分别作为两条直线的朝向,便于后续构建标定坐标系。例如,图7中坐标系xoy为语义地图所处的世界坐标系,第一直线720以及第二直线730箭头所指的方向即为分别位于车辆左右两侧的待筛选角点组成点群的主方向。
可选的,结合图3,在得到标定角点所属直线的朝向后,还可以将语义地图中靠近当前周期内车辆起点一侧左方的一个车位的任一待筛选角点作为标定坐标系的坐标系原点,该待筛选角点所属直线的朝向作为坐标系x轴的朝向,垂直于x轴朝向的方向作为坐标系y轴的朝向。这样就可以得到当前周期内车辆从起点行驶至当前时刻所经过的一段区域的语义地图中原始的世界坐标系和新构建的标定坐标系,完成了局部地图坐标系的建立。便于后续对语义地图中的标定角点的位置进行校准,也即精调语义地图中的点的位置。
步骤A43,在左侧待筛选角点集合中选取与第一直线方程的偏离距离小于或等于第三阈值的标定角点,以及在右侧待筛选角点集合中选取与第二直线方程的偏离距离小于或等于第三阈值的待筛选角点,将选取的待筛选角点确定为所述标定角点。
第三阈值可以自行设置,例如3或者5,计算机设备可以分别计算左侧待筛选角点集合中每一个待筛选角点到第一直线方程所指直线的距离,以及右侧待筛选角点集合中每一个待筛选角点到第二直线方程所指直线的距离,将距离小于或等于第三阈值的待筛选角点确定为标定角点。根据位于车辆左侧的待筛选角点以及位于右侧的待筛选角点分别拟合第一直线方程与第二直线方程,并将与直线方程的偏离距离小于或等于第三阈值的待筛角点确定为标定角点,保证标定角点尽可能在直线上有助于提高后续对相机外参进行标定的准确性。
可选的,为了提高相机外参标定的效率并节约计算资源,步骤A43可以包括如下步骤:
从左侧待筛选角点集合以及右侧待筛选角点集合中分别选取任一标定角点分别作为第一待筛选角点以及第二待筛选角点;
分别将第一待筛选角点在语义地图中的角点坐标代入至第一直线方程中,以及第二待筛选角点在语义地图中的角点坐标代入至第二直线方程中,得到第一结果以及第二结果;
若第一结果的绝对值小于或等于第三阈值,确定第一待筛选角点为一个标定角点;
若第一结果的绝对值大于第三阈值,继续从左侧待筛选角点集合选取下一个标定角点,直至左侧待筛选角点集合中所有待筛选角点选取完毕;
若第二结果的绝对值小于或等于第三阈值,确定第二待筛选角点为一个标定角点;
若第二结果的绝对值大于第三阈值,继续从右侧待筛选角点集合选取下一个标定角点,直至右侧待筛选角点集合中所有待筛选角点选取完毕。
记第三阈值为t,第一直线方程以及第二直线方程的参数A、B、C1以及C2已知,记第一待筛选角点在语义地图中的角点坐标为(x1,y1),则将根据第一直线方程Ax+By+C1=0可以得到C1=-(Ax+By),将(x1,y1)代入到-(Ax+By)中可以得到-(Ax1+By1)=C,将C-C1作为第一结果。如果|C-C1|<=t,则将第一待筛选角点作为标定角点并保存,如果|C-C1|>t则继续将左侧待筛选角点集合中的下一个待筛选角点代入到-(Ax+By)中,重复上述步骤,直至左侧待筛选角点集合中的所有待筛选角点都代入完成。相类似的,针对第二待筛选角点在语义地图中的角点坐标(x2,y2),也可以得到-(Ax2+By2)=D,将D-C2作为第二结果。|D-C2|<=t,则将第二待筛选角点作为标定角点并保存,如果|D-C2|>t则继续将右侧待筛选角点集合中的下一个待筛选角点代入到-(Ax+By)中,重复上述步骤,直至右侧待筛选角点集合中的所有待筛选角点都代入完成。
分别将左侧待筛选角点集合以及右侧待筛选角点集合中的待筛选角点代入到各自对应的直线方程中,将代入后得到的结果的绝对值作为偏移距离与第三阈值比较以确定标定角点。无需通过其余复杂的计算去确定标定角点与直线方程之间的偏移距离,节约计算资源的同时大大提高标定角点的确定效率,进而提高相机外参标定的效率。
步骤603,根据预设角点模板集合、车辆位姿、语义地图以及每一个图像序列,获取每一个标定角点在预构建的标定坐标系中的标定角点坐标,得到标定角点坐标集合。
步骤603详细请参见图2所示实施例的步骤203,在此不再赘述。
进一步的,为了提高相机外参标定的准确性,步骤603可以包括如下步骤6031至步骤6033:
步骤6031,将每一个标定角点在语义地图中的角点坐标转换到标定坐标系中,得到每一个标定角点的转换后角点坐标。
计算机设备会根据语义地图所处世界坐标系与标定坐标系之间的坐标转换关系,将每一个标定角点在语义地图所处世界坐标系中的角点坐标转换到标定坐标系中,得到每一个标定角点的转换后角点坐标。两坐标系之间坐标转换关系的具体确定方法为现有技术本申请实施例不做赘述。
步骤6032,根据每一个图像序列以及预设角点模板集合,校正每一个标定角点的转换后角点坐标,得到标定角点的校正后角点坐标。
考虑到现实中的噪声,并非所有标定角点都可以精准地对应在停车位地角落,因此需要对标定角点的位置进行校正。具体的,结合图4以及图5,标定角点的位置共有四种可能:左侧停车位上的p0以及p1角点和右侧停车位上的p0以及p1角点,在预设停车位模块集合中可以分别对应图5中的四个模板。模板中的点对应图像序列中图像上停车位的地面标线的边缘。若标定角点位置正好位于标线转角中心,则模板的边缘和地面标线的边缘完全重合,此时误差最小。因此,计算机设备为找到更为准确的位置,在标定坐标系中,会针对每一个图像序列中的图像根据标定角点在停车位的位置以及停车位在车辆两侧的位置选取合适的模板后,会在标定角点附近进行匹配并计算误差,最后误差最小的位置被设置为校正后标定角点的位置,将标定角点的位置在标定坐标系中的坐标作为校正后角点坐标。在图3所示应用场景中,步骤6032的具体处理流程即为精调语义地图中的点的位置的具体流程。
进一步的,为了提高相机外参标定的准确性,步骤6032可以包括如下步骤B1至步骤B5:
步骤B1,以每一个标定角点为基准,对包括停车位的角点的所有图像序列进行分组,得到与每一个标定角点对应的图像组。
在步骤B1之前计算机设备会预先对图像序列中的图像进行识别与标注,标注出图像中的停车位的停车位标识以及停车位的角点的角点标识。这样针对每一个相机,计算机设备通过读取相机采集的图像序列中图像上的标注信息,明确图像中包括的停车位以及停车位角点,并依据每一个标定角点所属停车位的停车位标识以及标定角点的角点标识,判断出图像中包括的标定角点。这样就可以以每一个标定角点为基准,对图像序列中的图像进行分组得到与每一个标定角点对应的图像组。
步骤B2,根据预获取的每一个标定角点的角点标识以及预获取的每一个标定角点所属停车位的停车位标识,从预设角点模板集合分别中选取与每一个标定角点匹配的角点模板。
预设角点模板集合中会记录每一个模板对应停车位位于车辆两侧的位置(该停车位是位于车辆的左侧还是右侧),以及每一个模板对应的角点标识。这样计算机设备可以根据每一个标定角点所属停车位的停车位标识判断标定角点所属停车位是位于车辆的左侧还是右侧,然后在预设角点模板集合中对应的位于车辆左侧或右侧的模板中,选择与标定角点的角点标识一致的角点模板。
例如,结合图1、图4以及图5,一个标定角点所属停车位的停车位标识指示停车位位于车辆110的左侧,该标定角点的角点标识为p1,则计算机设备会从图5所示的预设停车模板集合中的模板(1)与模板(2)中选择对应角点标识为p1的模板,也即模板(2)作为标定角点匹配的角点模板。
步骤B3,获取第一图像组中每一张图像中第一标定角点对应的角点坐标范围。
其中,第一图像组为与每一个标定角点对应的图像组中的任一个,第一待标定角点为第一图像组对应的标定角点。计算机设备在选取出标定角点后,还会依据标定角点在标定坐标系中的角点坐标确定出标定角点对应的角点坐标范围(例如,将以角点坐标为中心半径3米的圆作为标定角点对应的角点坐标范围)。这样,计算机设备就可以获取到第一标定角点对应的角点坐标范围。
步骤B4,在第一图像组的每一张图像中,从角点坐标范围中筛选第一标定角点所属停车位的角点边缘与第一角点模板的边缘之间的误差最小的角点坐标。
其中,第一角点模板为与第一标定角点匹配的角点模板。计算机设备会在每一张图像的第一标定角点附近对角点坐标范围中的各个坐标进行匹配并计算误差,选取误差最小时的坐标,并记录此时的误差。针对第一图像组中的每一张图像进行相同操作,并从所有记录的误差中选取最小的误差,将选取的最小的误差对应的坐标确定为第一待标定角点所属停车位的角点边缘与第一角点模板的边缘之间的误差最小的角点坐标。
步骤B5,将筛选出的角点坐标确定为第一标定角点的校正后角点坐标,直至得到所有标定角点的校正后角点坐标。
将该误差最小的角点坐标作为校正第一标定角点后第一标定角点的校正后角点坐标,针对每一个图像组都进行相类似的操作,得到每一个标定角点的校正后角点坐标。
校正每一个标定角点的角点坐标,并将所有标定角点的校正后角点坐标确定为标定角点坐标集合,保证标定角点坐标集合中的角点都是位置校正后的角点,提高角点坐标的精确度,以便于后续利用精确的坐标对相机外参进行标定,提高相机外参标定的准确性。
步骤6033,所有标定角点的校正后角点坐标组成标定角点坐标集合。
计算机设备会将所有标定角点的校正后角点坐标集合至标定角点坐标集合中,得到标定角点坐标集合。
根据位于车辆左侧的标定角点以及位于右侧的标定角点分别拟合第一直线方程与第二直线方程,以将偏离直线方程距离较大的待标定角点筛选出来并校准标定角点的角点坐标,保证所有标定角点在语义地图中的精确位置,进而保证在所有标定角点的角点坐标从语义地图所处世界坐标系转换至标定坐标系时,得到的转换后角点坐标都是精确的坐标,以便于后续利用精确的坐标对相机外参进行标定,提高相机外参标定的准确性。
步骤604,根据车辆位姿、标定角点坐标集合、预获取的停车位长宽规格信息以及每一个相机原始外参,构建优化约束条件。
步骤604详细请参见图2所示实施例的步骤204,在此不再赘述。
进一步的,为了提高相机外参标定的准确性,步骤604可以包括如下步骤C1至步骤C5:
步骤C1,在当前时刻,获取每一个相机在自身的相机坐标系中的归一化向量。
在当前时刻,计算机设备可以直接读取每一个相机针对每一个标定角点,在其自身的相机坐标系中的归一化向量。
步骤C2,根据每一个相机的归一化向量、车辆位姿以及每一个相机原始外参以及标定角点坐标集合,构建重投影误差函数。
重投影误差包含了多个小项,每一项由表示,具体为一个角点投影到某一时刻的某个相机上的向量与根据角点在图像上的位置恢复的相机坐标系中的向量的差的范数,/>由如下公式(1)表示:
其中,表示相机的归一化向量,/>表示当前时刻,/>表示第m个相机,/>表示第a个标定角点,/>)表示车辆在i时刻的车辆位姿,/>表示第m个相机在i时刻的相机原始外参,/>表示停车位id为a的停车位中的角点标识为W的标定角点在标定坐标系下的位置。那么,整个语义地图中的重投影误差函数如/>所示,其中,重投影误差函数。
步骤C3,根据车辆位姿以及每一个相机原始外参,构建相对位姿误差函数。
相对位姿误差主要约束车体在不同时刻之间的运动变换,具体地,对于i以及j时刻地车辆位姿以及两帧图像(当前时刻相机采集的图像序列中的两帧图像)之间的位姿变换,其误差如公式(2)所示:
其中,表示车辆的相对位姿误差,/>表示将旋转矩阵转为向量,T表示转置,表示车辆在j时刻的车辆位姿,/>表示车辆在i时刻以及j时刻之间的车辆位姿变换,则整个语义地图中的相对位姿误差函数如/>所示,其中F表示相对位姿误差函数。可以理解的是,若当前周期的当前时刻为i时刻,则j时刻在当前周期内位于i时刻之前。
步骤C4,根据标定角点坐标集合以及停车位长宽规格信息,构建正则项误差函数。
除了以上误差外,在本申请实施例中,考虑到停车位一般而言规格统一具有不变性,因此语义地图中的标定角点的位置也必须满足正则项误差约束具体如公式(3)所示:
其中,p标识正则项误差约束,W表示停车位的宽,a与b分别表示不同停车位的id,id也即停车位标识,则整个语义地图中的正则项误差函数如所示,其中P表示正则项误差函数。
步骤C5,将重投影误差函数、相对位姿误差函数以及正则项误差函数确定为优化约束条件。
这样计算机设备就得到语义地图中的重投影误差函数、相对位姿误差函数以及正则项误差函数,并将三者作为优化约束条件。
将重投影误差函数、相对位姿误差函数以及正则项误差函数确定为优化约束条件,从三个方面对后续相机外参的优化进行约束,保证优化后的相机外参符合相机实际使用时的误差需求,进而提高相机外参标定的准确性。
步骤605,根据优化约束条件,优化每一个相机的相机原始外参,得到每一个相机的优化后相机外参。
步骤606,当所有优化后相机外参符合预设优化收敛条件时,将每一个相机的优化后相机外参确定为每一个相机的标定结果。
步骤605至步骤606详细请参见图2所示实施例的步骤205至步骤206,在此不再赘述。
可选的,如图3所示,在构建优化约束条件后(也即添加优化约束)后,计算机设备还可以确定是否开始优化相机原始外参(也即是否开始优化标定参数),具体的可以是接收优化开始请求,用户可以在车载显示屏或车辆对应的移动终端控制程序上输入相机外参标定请求时,一同输入优化开始请求。也可以是计算机设备在构建优化约束条件后向车载显示屏以及车辆对应的移动终端控制显示用于指示请求开始优化的信息,用户确认后则接收到优化开始请求。
步骤607,当优化后相机外参不符合预设优化收敛条件时,将车辆在当前时刻的位置确定为新的起点,当车辆满足标定条件时,进入下一个周期,重新标定车辆的相机的外参。
当优化后相机外参不符合预设优化收敛条件时,就将车辆在当前时刻的位置确定为新的起点,并进入到下一个周期重复执行步骤601至步骤605,并判断在当前周期内得到的优化后相机外参是否符合预设优化收敛条件,如果符合进入步骤606完成相机外参的标定流程,如果不符合进入步骤607。例如,图3所示,计算机设备在优化相机原始外参(也即优化标定参数)后会判断优化后相机外参是否符合预设优化收敛条件(也即是否满足精度),如果满足则得到优化后相机外参结束流程,如果不满足在设置车辆在当前时刻的位置(也即当前位置)为新起点,重复相机外参优化流程。
可选的,在进入下一个周期后,还可以接收相机外参标定结束的请求,结束对相机外参的标定。还可以在进入下一个周期后当监测到车辆不满足相机外参的标定条件时,结束对相机外参的标定,并向车载显示屏以及车辆对应的移动终端反馈用于指示相机外参标定识失败的信息。
本申请实施例中,结合语义地图中的语义信息从位于车辆左右两侧的停车位中选取标定角点,使得选取出的标定角点携带有语义地图中的语义信息,省去了在标定环节提取特征并重新关联数据的流程,并校正标定角点的角点坐标提高角点坐标的精确度,进而基于精确度高的角点坐标、车辆位姿以及相机原始外参构建的约束条件优化相机原始外参后得到的结果就是高准确性的结果,大大提高了相机外参标定的效率以及准确率,而且具有良好的几何信息分布广泛的停车位非常合作为标定物,有助于提高相机外参标定的精度。
在本实施例中还提供了一种相机外参的标定装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种相机外参的标定装置,如图8所示,包括:
第一获取模块810,用于当车辆满足相机外参的标定条件时,在当前周期内,获取车辆在当前时刻对应的语义地图、车辆在当前时刻对应车辆位姿、每一个相机在当前时刻采集的图像序列以及每一个相机在当前时刻的相机原始外参,标定条件包括接收到相机外参标定请求,且车辆的左右两侧均存在至少四个停车位;
选取模块820,用于根据语义地图以及车辆位姿,从语义地图中的停车位中选取多个标定角点用于标定相机外参;
第二获取模块830,用于根据预设角点模板集合、车辆位姿、语义地图以及每一个图像序列,获取每一个标定角点在预构建的标定坐标系中的标定角点坐标,得到标定角点坐标集合;
构建模块840,用于根据车辆位姿、标定角点坐标集合、预获取的停车位长宽规格信息以及每一个相机原始外参,构建优化约束条件;
优化模块850,用于根据优化约束条件,优化每一个相机的相机原始外参,得到每一个相机的优化后相机外参;
确定模块860,用于当所有优化后相机外参符合预设优化收敛条件时,将每一个相机的优化后相机外参确定为每一个相机的标定结果,预设优化收敛条件为根据所有优化后相机外参确定的重投影误差小于或等于第一阈值,或者根据所有优化后相机外参将图像序列中的图像拼接为鸟瞰图后,鸟瞰图中图像的融合度大于或等于第二阈值。
在一些可选的实施例中,选取模块包括:
第一获取单元,用于获取语义地图中每一个停车位的属性信息,属性信息包括停车位中四个角点的角点标识以及停车位标识,角点标识用于指示角点在停车位中的位置,停车位标识用于指示停车位在语义地图中的位置;
第一确定单元,用于根据语义地图、车辆位姿以及每一个停车位标识,分别确定第一停车位集合以及第二停车位集合,第一停车位集合中的每一个停车位在语义地图中均位于车辆的左侧,第二停车位集合中的每一个停车位在语义地图中均位于车辆的右侧;
第二确定单元,用于根据每一个停车位的停车位标识以及角点标识,分别从第一停车位集合以及第二停车位集合中确定在语义地图中靠近车辆的行驶车道的停车位边缘,将位于停车位边缘上的角点确定为待筛选角点;
筛选单元,用于根据车辆位姿以及所有待筛选角点的角点坐标,从所有待筛选角点中筛选出多个标定角点。
在一些可选的实施例中,第二获取模块包括:
第三确定单元,用于根据车辆位姿,从所有待筛选角点中确定在语义地图中位于车辆左侧的待筛选角点以及位于车辆右侧的待筛选角点,得到左侧待筛选角点集合,以及右侧待筛选角点集合;
拟合单元,用于在语义地图中,根据左侧待筛选角点集合中每一个待筛选角点的角点坐标拟合第一直线方程,以及根据右侧待筛选角点集合中每一个待筛选角点的角点坐标拟合第二直线方程;
选取单元,用于在左侧待筛选角点集合中选取与第一直线方程的偏离距离小于或等于第三阈值的待筛选角点,以及在右侧待筛选角点集合中选取与第二直线方程的偏离距离小于或等于第三阈值的待筛选角点,将选取的待筛选角点确定为标定角点;
转换单元,用于将每一个标定角点在语义地图中的角点坐标转换到标定坐标系中,得到每一个标定角点的转换后角点坐标;
校正单元,用于根据每一个图像序列以及预设角点模板集合,校正每一个标定角点的转换后角点坐标,得到标定角点的校正后角点坐标;
组成单元,用于所有标定角点的校正后角点坐标组成标定角点坐标集合。
在一些可选的实施例中,校正单元包括:
分组子单元,用于以每一个标定角点为基准,对包括停车位的角点的所有图像序列进行分组,得到与每一个标定角点对应的图像组;
第一选取子单元,用于根据预获取的每一个标定角点的角点标识以及预获取的每一个标定角点所属停车位的停车位标识,从预设角点模板集合分别中选取与每一个标定角点匹配的角点模板;
获取子单元,用于获取第一图像组中每一张图像中第一标定角点对应的角点坐标范围,第一图像组为与每一个标定角点对应的图像组中的任一个,第一标定角点为第一图像组对应的标定角点;
筛选子单元,用于在第一图像组的每一张图像中,从角点坐标范围中筛选第一标定角点所属停车位的角点边缘与第一角点模板的边缘之间的误差最小的角点坐标,第一角点模板为与第一标定角点匹配的角点模板;
第一确定子单元,用于将筛选出的角点坐标确定为第一标定角点的校正后角点坐标,直至得到所有标定角点的校正后角点坐标。
在一些可选的实施例中,选取单元还用于:
从左侧待筛选角点集合以及右侧待筛选角点集合中分别选取任一待筛选角点分别作为第一待筛选角点以及第二待筛选角点;
分别将第一待筛选角点在语义地图中的角点坐标代入至第一直线方程中,以及第二待筛选角点在语义地图中的角点坐标代入至第二直线方程中,得到第一结果以及第二结果;
第若第一结果的绝对值小于或等于第三阈值,确定第一待筛选角点为一个标定角点;
若第一结果的绝对值大于第三阈值,继续从左侧待筛选角点集合选取下一个标定角点,直至左侧待筛选角点集合中所有待筛选角点选取完毕;
若第二结果的绝对值小于或等于第三阈值,确定第二待筛选角点为一个标定角点;
若第二结果的绝对值大于第三阈值,继续从右侧待筛选角点集合选取下一个标定角点,直至右侧待筛选角点集合中所有待筛选角点选取完毕。
在一些可选的实施例中,构建模块包括:
第二获取单元,用于在当前时刻,获取每一个相机在自身的相机坐标系中的归一化向量;
第一构建单元,用于根据每一个相机的归一化向量、车辆位姿以及每一个相机原始外参以及标定角点坐标集合,构建重投影误差函数;
第二构建单元,用于根据车辆位姿以及每一个相机原始外参,构建相对位姿误差函数;
第三构建单元,用于根据标定角点坐标集合以及停车位长宽规格信息,构建正则项误差函数;
第四确定单元,用于将重投影误差函数、相对位姿误差函数以及正则项误差函数确定为优化约束条件。
在一些可选的实施例中,该相机外参的标定装置还用于:
当优化后相机外参不符合预设优化收敛条件时,将车辆在当前时刻的位置确定为新的起点,当车辆满足标定条件时,进入下一个周期,重新标定车辆的相机的外参。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本实施例中的相机外参的标定装置是以功能单元的形式来呈现,这里的单元是指ASIC(Application Specific Integrated Circuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
本申请实施例还提供一种计算机设备,具有上述图8所示的相机外参的标定装置。
请参阅图9,图9是本申请可选实施例提供的一种计算机设备的结构示意图,如图9所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器***)。图9中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,所述存储器20存储有可由至少一个处理器10执行的指令,以使所述至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
本申请实施例还提供了一种计算机可读存储介质,上述根据本申请实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本申请的实施例,但是本领域技术人员可以在不脱离本申请的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (9)
1.一种相机外参的标定方法,其特征在于,所述方法包括:
当车辆满足相机外参的标定条件时,在当前周期内,获取所述车辆在当前时刻对应的语义地图、所述车辆在所述当前时刻对应车辆位姿、每一个相机在所述当前时刻采集的图像序列以及每一个所述相机在所述当前时刻的相机原始外参,所述标定条件包括接收到相机外参标定请求,且所述车辆的左右两侧均存在至少四个停车位;
根据所述语义地图以及所述车辆位姿,从所述语义地图中的停车位中选取多个标定角点用于标定相机外参;
根据预设角点模板集合、所述车辆位姿、所述语义地图以及每一个所述图像序列,获取每一个所述标定角点在预构建的标定坐标系中的标定角点坐标,得到标定角点坐标集合;
根据所述车辆位姿、所述标定角点坐标集合、预获取的停车位长宽规格信息以及每一个所述相机原始外参,构建优化约束条件;
根据所述优化约束条件,优化每一个所述相机的相机原始外参,得到每一个所述相机的优化后相机外参;
当所有所述优化后相机外参符合预设优化收敛条件时,将每一个所述相机的优化后相机外参确定为每一个所述相机的标定结果,所述预设优化收敛条件为根据所有所述优化后相机外参确定的重投影误差小于或等于第一阈值,或者根据所有所述优化后相机外参将所述图像序列中的图像拼接为鸟瞰图后,所述鸟瞰图中图像的融合度大于或等于第二阈值;
所述根据预设角点模板集合、所述车辆位姿、所述语义地图以及每一个所述图像序列,获取每一个所述标定角点在预构建的标定坐标系中的标定角点坐标,得到标定角点坐标集合,包括:
将每一个所述标定角点在所述语义地图中的角点坐标转换到所述标定坐标系中,得到每一个所述标定角点的转换后角点坐标;
根据每一个所述图像序列以及所述预设角点模板集合,校正每一个所述标定角点的转换后角点坐标,得到所述标定角点的校正后角点坐标;
所有所述标定角点的校正后角点坐标组成所述标定角点坐标集合。
2.根据权利要求1所述的方法,其特征在于,所述根据所述语义地图以及所述车辆位姿,从所述语义地图中的停车位中选取多个标定角点用于标定相机外参,包括:
获取所述语义地图中每一个停车位的属性信息,所述属性信息包括停车位中四个角点的角点标识以及停车位标识,所述角点标识用于指示角点在停车位中的位置,所述停车位标识用于指示停车位在所述语义地图中的位置;
根据所述语义地图、所述车辆位姿以及每一个所述停车位标识,分别确定第一停车位集合以及第二停车位集合,所述第一停车位集合中的每一个停车位在所述语义地图中均位于所述车辆的左侧,所述第二停车位集合中的每一个停车位在所述语义地图中均位于所述车辆的右侧;
根据每一个停车位的停车位标识以及角点标识,分别从所述第一停车位集合以及所述第二停车位集合中确定在所述语义地图中靠近所述车辆的行驶车道的停车位边缘,将位于所述停车位边缘上的角点确定为待筛选角点;
根据所述车辆位姿以及所有所述待筛选角点的角点坐标,从所有所述待筛选角点中筛选出多个所述标定角点。
3.根据权利要求2所述的方法,其特征在于,所述根据所述车辆位姿以及所有所述待筛选角点的角点坐标,从所有所述待筛选角点中筛选出多个所述标定角点,包括:
根据所述车辆位姿,从所有所述待筛选角点中确定在所述语义地图中位于所述车辆左侧的待筛选角点以及位于所述车辆右侧的待筛选角点,得到左侧待筛选角点集合,以及右侧待筛选角点集合;
在所述语义地图中,根据所述左侧待筛选角点集合中每一个待筛选角点的角点坐标拟合第一直线方程,以及根据所述右侧待筛选角点集合中每一个待筛选角点的角点坐标拟合第二直线方程;
在所述左侧待筛选角点集合中选取与所述第一直线方程的偏离距离小于或等于第三阈值的待筛选角点,以及在所述右侧待筛选角点集合中选取与所述第二直线方程的偏离距离小于或等于所述第三阈值的待筛选角点,将选取的待筛选角点确定为所述标定角点。
4.根据权利要求1所述的方法,其特征在于,所述根据每一个所述图像序列以及所述预设角点模板集合,校正每一个所述标定角点的转换后角点坐标,得到所述标定角点的校正后角点坐标,包括:
以每一个所述标定角点为基准,对包括停车位的角点的所有所述图像序列进行分组,得到与每一个所述标定角点对应的图像组;
根据预获取的每一个所述标定角点的角点标识以及预获取的每一个所述标定角点所属停车位的停车位标识,从所述预设角点模板集合分别中选取与每一个所述标定角点匹配的角点模板;
获取第一图像组中每一张图像中第一标定角点对应的角点坐标范围,所述第一图像组为与每一个标定角点对应的图像组中的任一个,所述第一标定角点为第一图像组对应的标定角点;
在所述第一图像组的每一张图像中,从所述角点坐标范围中筛选所述第一标定角点所属停车位的角点边缘与第一角点模板之间的误差最小的角点坐标,所述第一角点模板为与所述第一标定角点匹配的角点模板;
将筛选出的角点坐标确定为所述第一标定角点的校正后角点坐标,直至得到所有标定角点的校正后角点坐标。
5.根据权利要求3所述的方法,其特征在于,所述在所述左侧待筛选角点集合中选取与所述第一直线方程的偏离距离小于或等于第三阈值的待筛选角点,以及在所述右侧待筛选角点集合中选取与所述第二直线方程的偏离距离小于或等于所述第三阈值的待筛选角点,将选取的待筛选角点确定为所述标定角点,包括:
从所述左侧待筛选角点集合以及所述右侧待筛选角点集合中分别选取任一待筛选角点分别作为第一待筛选角点以及第二待筛选角点;
分别将所述第一待筛选角点在所述语义地图中的角点坐标代入至所述第一直线方程中,以及所述第二待筛选角点在所述语义地图中的角点坐标代入至所述第二直线方程中,得到第一结果以及第二结果;
若所述第一结果的绝对值小于或等于所述第三阈值,确定所述第一待筛选角点为一个标定角点;
若所述第一结果的绝对值大于所述第三阈值,继续从所述左侧待筛选角点集合选取下一个标定角点,直至所述左侧待筛选角点集合中所有待筛选角点选取完毕;
若所述第二结果的绝对值小于或等于所述第三阈值,确定所述第二待筛选角点为一个标定角点;
若所述第二结果的绝对值大于所述第三阈值,继续从所述右侧待筛选角点集合选取下一个标定角点,直至所述右侧待筛选角点集合中所有待筛选角点选取完毕。
6.根据权利要求1至5任一项所述的方法,其特征在于,当所述优化后相机外参不符合预设优化收敛条件时,所述方法还包括:
将所述车辆在所述当前时刻的位置确定为新的起点,当所述车辆满足所述标定条件时,进入下一个周期,重新标定所述车辆的相机的外参。
7.一种相机外参的标定装置,其特征在于,所述装置包括:
第一获取模块,用于当车辆满足相机外参的标定条件时,在当前周期内,获取所述车辆在当前时刻对应的语义地图、所述车辆在所述当前时刻对应车辆位姿、每一个相机在所述当前时刻采集的图像序列以及每一个所述相机在所述当前时刻的相机原始外参,所述标定条件包括接收到相机外参标定请求,且所述车辆的左右两侧均存在至少四个停车位;
选取模块,用于根据所述语义地图以及所述车辆位姿,从所述语义地图中的停车位中选取多个标定角点用于标定相机外参;
第二获取模块,用于根据预设角点模板集合、所述车辆位姿、所述语义地图以及每一个所述图像序列,获取每一个所述标定角点在预构建的标定坐标系中的标定角点坐标,得到标定角点坐标集合;
构建模块,用于根据所述车辆位姿、所述标定角点坐标集合、预获取的停车位长宽规格信息以及每一个所述相机原始外参,构建优化约束条件;
优化模块,用于根据所述优化约束条件,优化每一个所述相机的相机原始外参,得到每一个所述相机的优化后相机外参;
确定模块,用于当所有所述优化后相机外参符合预设优化收敛条件时,将每一个所述相机的优化后相机外参确定为每一个所述相机的标定结果,所述预设优化收敛条件为根据所有所述优化后相机外参确定的重投影误差小于或等于第一阈值,或者根据所有所述优化后相机外参将所述图像序列中的图像拼接为鸟瞰图后,所述鸟瞰图中图像的融合度大于或等于第二阈值;
所述第二获取模块,具体用于:
将每一个所述标定角点在所述语义地图中的角点坐标转换到所述标定坐标系中,得到每一个所述标定角点的转换后角点坐标;
根据每一个所述图像序列以及所述预设角点模板集合,校正每一个所述标定角点的转换后角点坐标,得到所述标定角点的校正后角点坐标;
所有所述标定角点的校正后角点坐标组成所述标定角点坐标集合。
8.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至6中任一项所述的相机外参的标定方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令由处理器加载并执行以实现如权利要求1至6中任一项所述的相机外参的标定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311578448.7A CN117274402B (zh) | 2023-11-24 | 2023-11-24 | 相机外参的标定方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311578448.7A CN117274402B (zh) | 2023-11-24 | 2023-11-24 | 相机外参的标定方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117274402A CN117274402A (zh) | 2023-12-22 |
CN117274402B true CN117274402B (zh) | 2024-04-19 |
Family
ID=89203142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311578448.7A Active CN117274402B (zh) | 2023-11-24 | 2023-11-24 | 相机外参的标定方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117274402B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111243034A (zh) * | 2020-01-17 | 2020-06-05 | 广州市晶华精密光学股份有限公司 | 一种全景辅助泊车标定方法、装置、设备及存储介质 |
CN112819895A (zh) * | 2019-11-15 | 2021-05-18 | 西安华为技术有限公司 | 一种摄像机标定方法及装置 |
CN113269840A (zh) * | 2021-05-27 | 2021-08-17 | 深圳一清创新科技有限公司 | 一种用于相机和多激光雷达的联合标定方法及电子设备 |
CN114387350A (zh) * | 2021-12-03 | 2022-04-22 | 江铃汽车股份有限公司 | 一种车载摄像机外参标定方法、装置、存储介质及设备 |
CN115546313A (zh) * | 2022-09-30 | 2022-12-30 | 重庆长安汽车股份有限公司 | 车载相机自校准方法、装置、电子设备及存储介质 |
WO2023078309A1 (zh) * | 2021-11-05 | 2023-05-11 | 苏州微创畅行机器人有限公司 | 目标特征点提取方法、装置、计算机设备和存储介质 |
CN116740192A (zh) * | 2023-06-15 | 2023-09-12 | 斑马网络技术有限公司 | 一种车载环视***的标定方法、标定***及智能汽车 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114283201A (zh) * | 2021-04-26 | 2022-04-05 | 阿波罗智联(北京)科技有限公司 | 相机标定方法、装置和路侧设备 |
-
2023
- 2023-11-24 CN CN202311578448.7A patent/CN117274402B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112819895A (zh) * | 2019-11-15 | 2021-05-18 | 西安华为技术有限公司 | 一种摄像机标定方法及装置 |
CN111243034A (zh) * | 2020-01-17 | 2020-06-05 | 广州市晶华精密光学股份有限公司 | 一种全景辅助泊车标定方法、装置、设备及存储介质 |
CN113269840A (zh) * | 2021-05-27 | 2021-08-17 | 深圳一清创新科技有限公司 | 一种用于相机和多激光雷达的联合标定方法及电子设备 |
WO2023078309A1 (zh) * | 2021-11-05 | 2023-05-11 | 苏州微创畅行机器人有限公司 | 目标特征点提取方法、装置、计算机设备和存储介质 |
CN114387350A (zh) * | 2021-12-03 | 2022-04-22 | 江铃汽车股份有限公司 | 一种车载摄像机外参标定方法、装置、存储介质及设备 |
CN115546313A (zh) * | 2022-09-30 | 2022-12-30 | 重庆长安汽车股份有限公司 | 车载相机自校准方法、装置、电子设备及存储介质 |
CN116740192A (zh) * | 2023-06-15 | 2023-09-12 | 斑马网络技术有限公司 | 一种车载环视***的标定方法、标定***及智能汽车 |
Non-Patent Citations (2)
Title |
---|
Easy Calibration of a Blind-Spot-Free Fisheye Camera System Using a Scene of a Parking Space;Shigang Li ed.;IEEE Transactions on Intelligent Transportation Systems;20101129;第12卷(第1期);232-242 * |
开放道路中匹配高精度地图的在线相机外参标定;廖文龙,赵华卿,严骏驰;《中国图象图形学报》;208-217 * |
Also Published As
Publication number | Publication date |
---|---|
CN117274402A (zh) | 2023-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021073656A1 (zh) | 图像数据自动标注方法及装置 | |
WO2020248614A1 (zh) | 地图生成方法、驾驶控制方法、装置、电子设备及*** | |
CN105608693A (zh) | 车载全景环视的标定***及方法 | |
CN110766760B (zh) | 用于相机标定的方法、装置、设备和存储介质 | |
CN114394088B (zh) | 泊车循迹轨迹生成方法、装置、电子设备及存储介质 | |
CN113419245B (zh) | 一种基于v2x的实时建图***及建图方法 | |
CN115376109B (zh) | 障碍物检测方法、障碍物检测装置以及存储介质 | |
Zhou et al. | Developing and testing robust autonomy: The university of sydney campus data set | |
CN114663852A (zh) | 车道线图的构建方法、装置、电子设备及可读存储介质 | |
CN115564865A (zh) | 一种众包高精地图的构建方法、***、电子设备及车辆 | |
CN117576652A (zh) | 道路对象的识别方法、装置和存储介质及电子设备 | |
CN117274402B (zh) | 相机外参的标定方法、装置、计算机设备及存储介质 | |
CN111754388B (zh) | 一种建图方法及车载终端 | |
CN116664498A (zh) | 车位检测模型的训练方法、车位检测方法、装置和设备 | |
CN113190564A (zh) | 地图更新***、方法及设备 | |
WO2023184869A1 (zh) | 室内停车场的语义地图构建及定位方法和装置 | |
CN115719442A (zh) | 一种基于单应性变换矩阵的交叉路口目标融合方法及*** | |
WO2022266854A1 (zh) | 一种车位检测方法及装置 | |
CN114926799A (zh) | 一种车道线检测方法、装置、设备及可读存储介质 | |
CN115345944A (zh) | 外参标定参数确定方法、装置、计算机设备和存储介质 | |
CN114821539A (zh) | 基于神经网络的车道线检测方法、装置、设备及介质 | |
CN114111817A (zh) | 基于slam地图与高精度地图匹配的车辆定位方法及*** | |
CN112507977A (zh) | 一种车道线定位方法、装置及电子设备 | |
KR102605696B1 (ko) | 정밀도로지도기반의 cctv 카메라 자세 및 객체 좌표 추정 방법 및 시스템 | |
CN117372632B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |