本申请涉及相机标定,特别是涉及一种相机外参标定方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
背景技术:
1、由于相机拍摄得到的原始图像往往具有一定的畸变,为了让相机拍摄到的图像与人眼观察到的一致,因此,需要进行相机标定。相机外参是描述相机在世界坐标系中的位置和姿态的参数,相机外参标定主要是标定横滚角、俯仰角和横摆角。
2、传统的相机外参标定主要通过检测图像中的角点,再通过角点的二维和三维配准实现相机外参的标定。然而,这种相机外参标定方法,由于图像的复杂性较高,例如,采用apriltag(一种黑白相间的二维码状图案)或者棋盘格作为标定靶标,在应用到畸变较大的相机上时,容易出现检测不到角点的情况,因此,存在标定结果准确性低的问题。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够提高标定结果准确性的相机外参标定方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本申请提供了一种相机外参标定方法,包括:
3、获取待标定相机对标定靶标拍摄得到的畸变图像,并基于畸变图像和横滚角生成鸟瞰图;
4、提取鸟瞰图中的横线,并获取相邻横线之间的斜率差值;
5、调整横滚角,并继续执行基于畸变图像和横滚角生成鸟瞰图的步骤,直至斜率差值或者调整次数满足调整停止条件;
6、基于斜率差值,在各调整后的横滚角中确定目标横滚角,并基于目标横滚角对应的鸟瞰图,确定目标俯仰角和目标横摆角。
7、在其中一个实施例中,基于目标横滚角对应的鸟瞰图,确定目标俯仰角和目标横摆角,包括:
8、提取目标横滚角对应的鸟瞰图中的竖线,并确定各竖线之间的消失点;
9、根据目标横滚角对应的鸟瞰图中的主点的纵坐标和消失点的纵坐标,确定目标俯仰角;
10、根据目标横滚角对应的鸟瞰图中的主点的衡坐标和消失点的衡坐标,确定目标横摆角。
11、在其中一个实施例中,确定各竖线之间的消失点,包括:
12、在目标横滚角对应的鸟瞰图中的主点两侧分别选取n条竖线,并组成n个竖线对,将n个竖线对各自的交点作为消失点;其中,n为正整数。
13、在其中一个实施例中,基于斜率差值,在各调整后的横滚角中确定目标横滚角,包括:
14、对每次调整后生成的鸟瞰图中所有相邻横线之间的斜率差值求均值;
15、在各次调整后得到的均值中确定最小均值,并将各调整后的横滚角中最小均值对应的调整后的横滚角作为目标横滚角。
16、在其中一个实施例中,基于畸变图像和横滚角生成鸟瞰图之前,还包括:
17、获取待标定相机的内参、外参和畸变参数;外参包括横滚角、俯仰角和横摆角;
18、基于畸变图像和横滚角生成鸟瞰图,包括:
19、根据畸变图像、待标定相机的内参、横滚角、俯仰角、横摆角和畸变参数生成鸟瞰图。
20、在其中一个实施例中,斜率差值或者调整次数满足调整停止条件的确定步骤,包括:
21、对当次调整后生成的鸟瞰图中所有相邻横线之间的斜率差值求均值;若得到的均值小于预设均值阈值,则确定斜率差值满足调整停止条件;
22、或者,若当次调整后的调整次数达到预设次数,则确定调整次数满足调整停止条件。
23、第二方面,本申请还提供了一种相机外参标定装置,包括:
24、获取模块,用于获取待标定相机对标定靶标拍摄得到的畸变图像,并基于畸变图像和横滚角生成鸟瞰图;
25、提取模块,用于提取鸟瞰图中的横线,并获取相邻横线之间的斜率差值;
26、调整模块,用于调整横滚角,并继续执行基于畸变图像和横滚角生成鸟瞰图的步骤,直至斜率差值或者调整次数满足调整停止条件;
27、确定模块,用于基于斜率差值,在各调整后的横滚角中确定目标横滚角,并基于目标横滚角对应的鸟瞰图,确定目标俯仰角和目标横摆角。
28、第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
29、获取待标定相机对标定靶标拍摄得到的畸变图像,并基于畸变图像和横滚角生成鸟瞰图;
30、提取鸟瞰图中的横线,并获取相邻横线之间的斜率差值;
31、调整横滚角,并继续执行基于畸变图像和横滚角生成鸟瞰图的步骤,直至斜率差值或者调整次数满足调整停止条件;
32、基于斜率差值,在各调整后的横滚角中确定目标横滚角,并基于目标横滚角对应的鸟瞰图,确定目标俯仰角和目标横摆角。
33、第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
34、获取待标定相机对标定靶标拍摄得到的畸变图像,并基于畸变图像和横滚角生成鸟瞰图;
35、提取鸟瞰图中的横线,并获取相邻横线之间的斜率差值;
36、调整横滚角,并继续执行基于畸变图像和横滚角生成鸟瞰图的步骤,直至斜率差值或者调整次数满足调整停止条件;
37、基于斜率差值,在各调整后的横滚角中确定目标横滚角,并基于目标横滚角对应的鸟瞰图,确定目标俯仰角和目标横摆角。
38、第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
39、获取待标定相机对标定靶标拍摄得到的畸变图像,并基于畸变图像和横滚角生成鸟瞰图;
40、提取鸟瞰图中的横线,并获取相邻横线之间的斜率差值;
41、调整横滚角,并继续执行基于畸变图像和横滚角生成鸟瞰图的步骤,直至斜率差值或者调整次数满足调整停止条件;
42、基于斜率差值,在各调整后的横滚角中确定目标横滚角,并基于目标横滚角对应的鸟瞰图,确定目标俯仰角和目标横摆角。
43、上述相机外参标定方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,基于待标定相机对标定靶标拍摄得到的畸变图像和横滚角生成鸟瞰图,提取鸟瞰图中的横线,并获取相邻横线之间的斜率差值,由于在畸变较大的相机上,相较于角点特征,更易检测到直线特征,因此,通过提取鸟瞰图横线进行相机外参标定,有利于提高标定结果的准确性;然后,通过调整横滚角生成不同横滚角各自对应的鸟瞰图,由于鸟瞰图为对畸变图像去畸变后的图像,相邻横线之间的斜率差值可以反映出鸟瞰图的去畸变效果,因此,基于斜率差值,可以在多次调整生成的鸟瞰图中确定出去畸变效果最优的鸟瞰图,该去畸变效果最优的鸟瞰图对应的横滚角即为目标横滚角,这种通过多次调整确定目标横滚角的方法,有利于提高标定结果中目标横滚角的准确性;另外,标定结果中的目标俯仰角和目标横摆角是基于去畸变效果最优的鸟瞰图确定的,有利于消除目标横滚角的偏差对目标俯仰角和目标横摆角的影响,从而进一步提高了标定结果的准确性。
1.一种相机外参标定方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标横滚角对应的鸟瞰图,确定目标俯仰角和目标横摆角,包括:
3.根据权利要求2所述的方法,其特征在于,所述确定各竖线之间的消失点,包括:
4.根据权利要求1所述的方法,其特征在于,所述基于所述斜率差值,在各调整后的横滚角中确定目标横滚角,包括:
5.根据权利要求1所述的方法,其特征在于,所述基于所述畸变图像和横滚角生成鸟瞰图之前,还包括:
6.根据权利要求1所述的方法,其特征在于,所述斜率差值或者调整次数满足调整停止条件的确定步骤,包括:
7.一种相机外参标定装置,其特征在于,所述装置包括:
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。