相机外参标定方法、装置及相机外参标定系统
文献发布时间:2023-06-19 10:11:51
技术领域
本公开涉及计算机技术领域,尤其是一种相机外参标定方法、装置、相机外参标定系统、计算机可读存储介质及电子设备。
背景技术
相机标定是机器视觉检测、摄影几何测量等中最为关键的部分,相机标定的目的是通过从相机获取的二维图像信息出发,计算出物体的三维位置、形状等几何信息,从而获得二维图像上的点与空间物体表面点的相对应关系。这种关系是由相机成像的几何模型决定的,这些模型的参数称为相机参数,主要包括内部参数(内参)和外部参数(外参)。相机标定就是计算这些参数的过程。
由于不同的相机的使用环境不同,因此不同的相机的外参一致性会受影响。相机外参的误差主要来源于两方面,工装误差和人为调整。工装误差是由于相机在产线安装过程中,由于机械、焊接或者胶固定产生的位置及角度偏移。在用户使用安装好的相机时,有时需要调整相机的位置及角度,例如当相机安装在车辆内的转向管柱上时,当驾驶员调整方向盘后,相机的位置也随之变化。
发明内容
本公开的实施例提供了一种相机外参标定方法、装置、计算机可读存储介质及电子设备。
本公开的实施例提供了一种相机外参标定方法,该方法包括:获取设置在标定舱内的第一相机对标定舱内的目标位置拍摄的标定图像;从标定图像中确定目标位置的标定特征信息;获取预先从参考图像中确定的参考特征信息,其中,参考图像是由设置在参考舱中的第二相机对参考舱中的目标位置拍摄的图像;基于标定特征信息在标定图像中的位置和参考特征信息在参考图像中的位置,确定第一相机相对于第二相机的位姿变化数据;基于位姿变化数据,确定第一相机的外参。
根据本公开实施例的另一个方面,提供了一种相机外参标定系统,该系统包括:标定舱、参考舱、第一相机、第二相机和外参标定设备;第一相机设置在标定舱,第二相机设置在参考舱;第一相机、第二相机分别设置在标定舱和参考舱的预设位置;外参标定设备用于执行上述相机外参标定方法。
根据本公开实施例的另一个方面,提供了一种相机外参标定装置,该装置包括:第一获取模块,用于获取设置在标定舱内的第一相机对标定舱内的目标位置拍摄的标定图像;第一确定模块,用于从标定图像中确定目标位置的标定特征信息;第二获取模块,用于获取预先从参考图像中确定的参考特征信息,其中,参考图像是由设置在参考舱中的第二相机对参考舱中的目标位置拍摄的图像;第二确定模块,用于基于标定特征信息在标定图像中的位置和参考特征信息在参考图像中的位置,确定第一相机相对于第二相机的位姿变化数据;第三确定模块,用于基于位姿变化数据,确定第一相机的外参。
根据本公开实施例的另一个方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序用于执行上述相机外参标定方法。
根据本公开实施例的另一个方面,提供了一种电子设备,电子设备包括:处理器;用于存储处理器可执行指令的存储器;处理器,用于从存储器中读取可执行指令,并执行指令以实现上述相机外参标定方法。
基于本公开上述实施例提供的相机外参标定方法、装置、计算机可读存储介质及电子设备,通过获取设置在标定舱内的第一相机对标定舱内的目标位置拍摄的标定图像,并从标定图像中确定目标位置的标定特征信息,然后获取预先从参考图像中确定的参考特征信息,接着基于标定特征信息在标定图像中的位置和参考特征信息在参考图像中的位置,确定第一相机相对于第二相机的位姿变化数据,最后基于位姿变化数据,确定第一相机的外参,由于利用了安装在标定舱内的第一相机拍摄的图像进行外参标定,因此本公开实施例无需使用棋盘格等标定装置,即可确保相机外参标定的过程更便捷,提高了相机外参标定的效率,并且在用户实际使用标定舱时,可以实时地利用第一相机拍摄的图像对第一相机进行外参标定,有助于在使用外参的场景下,所使用的外参更接近第一相机当前的实际状态,进而有助于进一步提高使用外参进行各种操作(例如人眼视线识别、人脸姿态识别等、手势识别等)的精度。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是本公开一示例性实施例提供的相机外参标定系统的结构图。
图2是本公开一示例性实施例提供的相机外参标定方法的流程示意图。
图3是本公开的实施例的相机外参标定方法的位姿限制条件的示例性示意图。
图4是本公开另一示例性实施例提供的相机外参标定方法的流程示意图。
图5是本公开一示例性实施例提供的相机外参标定装置的结构示意图。
图6是本公开另一示例性实施例提供的相机外参标定装置的结构示意图。
图7是本公开一示例性实施例提供的电子设备的结构图。
具体实施方式
下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A 和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/ 或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
通常,在用户正式使用标定舱(例如车辆内部的座舱、某个房间等)之前,会对标定舱内的相机的外参进行标定,用户使用标定舱时,外参是标定好的。但用户在使用标定舱时,可能会调整安装好的相机的位置及角度,此时,需要实时地对相机外参进行标定。
图1示出了可以应用本公开的实施例的相机外参标定系统的示例性架构图。
如图1所示,系统架构可以包括标定舱101、参考舱102、第一相机103、第二相机104和外参标定设备105。
其中,第一相机103设置在标定舱101,第二相机104设置在参考舱102;第一相机103、第二相机104分别设置在标定舱101和参考舱102的预设位置。
标定舱101和参考舱102可以是各种类型的空间结构。例如车辆内部的座舱,设置在房间内部的模拟舱(例如模仿车辆内部的座舱),某个房间等。通常,参考舱102可以是预先设置好的模拟舱,设置在其内部的第二相机104拍摄的图像可以作为基准,用来对多个标定舱101内设置的不同的第一相机103进行外参标定。
第一相机103和第二相机104通常设置在标定舱101和参考舱102内的相同位置,并对同一目标位置进行拍摄。目标位置可以是标定舱101和参考舱102内的某个特定位置,例如当标定舱101和参考舱102为车辆内部的座舱时,目标位置可以是包括一部分车顶棚和车窗的位置。
通常,由于安装误差或相机使用过程中发生移动,第一相机103通常无法做到与第二相机104的安装位置和拍摄角度完全一致,并且用户在使用标定舱时可能会调整第一相机的位置和拍摄角度,因此,需要使用本公开的实施例提供的相机外参标定方法对第一相机进行实时地外参标定。例如,当标定舱为车辆内部的座舱时,第一相机可以安装在转向管柱上,用于对驾驶员的脸部进行拍摄,对拍摄的图像进行识别。由于用户会调整方向盘的位置,因此,安装在转向管柱上的第一相机的位置和拍摄角度会随之变化,所以,需要实时标定第一相机的外参。由于在对目标位置拍摄的图像中会包括车内的背景,因此,可以从图像中提取背景的特征并应用于外参标定。
上述第一相机103和第二相机104可以为各种类型的相机,相应的,拍摄的图像可以为各种类型的图像,例如彩色图像、深度图像等。
在一些可选的实现方式中,第一相机103和第二相机104为红外相机,参考舱和标定舱内设置有至少两种在红外图像中有色差的材料。这种材料所在的位置即第一相机和第二相机拍摄的目标位置,第一相机103和第二相机104拍摄的红外图像中,可以区分不同的材料之间的边界。通过使用红外相机,可以避免光线的强弱对标定图像和参考图像的影响,在光线较暗的情况下,仍然能够从标定图像和参考图像中提取特征信息,从而提高了外参标定方法的环境适应性。
外参标定设备105可以是用于进行外参标定的各种类型的电子设备,包括但不限于诸如移动电话、笔记本电脑、PDA(个人数字助理)、PAD(平板电脑)、车载终端等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。外参标定设备105还可以是远程服务器,远程服务器可以与第一相机103通信连接,或者与可以存储第一相机103拍摄的图像的其他电子设备连接。
需要说明的是,本公开的实施例所提供的相机外参标定方法一般由外参标定设备105执行,相应地,相机外参标定装置一般设置于外参标定设备105 中。
应该理解,图1中的标定舱101、参考舱102、第一相机103、第二相机104 和外参标定设备105的数目仅仅是示意性的。根据实现需要,可以具有任意数目的标定舱101、参考舱102、第一相机103、第二相机104和外参标定设备105。
本公开的上述实施例提供的系统,通过在标定舱设置第一相机对标定舱内的目标位置进行拍摄得到标定图像,在参考舱设置第二相机对参考舱内的目标位置进行拍摄得到参考图像,预先对参考图像进行识别,得到参考特征信息,由外参标定设备基于标定图像和参考特征信息执行本申请实施例提供的相机外参标定方法,得到第一相机的外参,从而实现了基于提取第一相机拍摄的图像中的特征信息进行相机外参标定,无需使用棋盘格等标定装置,使相机外参标定的过程更便捷,提高了相机外参标定的效率,并且在用户实际使用标定舱时,可以实时地利用第一相机拍摄的图像对第一相机进行外参标定,有助于在使用外参的场景下,所使用的外参更接近第一相机当前的实际状态,进而有助于进一步提高使用外参进行各种操作(例如人眼视线识别、人脸姿态识别等、手势识别等)的精度。
图2是本公开一示例性实施例提供的相机外参标定方法的流程示意图。本实施例可应用在电子设备(如图1所示的外参标定设备105)上,如图2所示,该方法包括如下步骤:
步骤201,获取设置在标定舱内的第一相机对标定舱内的目标位置拍摄的标定图像。
在本实施例中,电子设备可以从本地或从远程获取设置在标定舱内的第一相机对标定舱内的目标位置拍摄的标定图像。目标位置可以是标定舱内某个特定位置,例如当标定舱为车辆内部的座舱时,目标位置可以是包括一部分车顶棚和车窗的位置。
步骤202,从标定图像中确定目标位置的标定特征信息。
在本实施例中,电子设备可以从标定图像中确定目标位置的标定特征信息。
具体地,目标位置通常可以具有一定的形状特征,电子设备可以对包括目标位置的标定图像进行特征提取,得到标定特征信息。其中,标定特征信息可以包括各种类型的特征信息,例如特征点、特征线等。
作为示例,当标定舱为车辆内部的座舱时,标定特征信息可以表示包括车窗角点、顶棚不同部分之间的线状缝隙等部位。
电子设备可以基于现有的特征提取方法从标定图像中提取标定特征信息。例如,特征提取方法可以包括基于神经网络的特征提取方法、SIFT(Scale-Invariant FeatureTransform,尺度不变特征变换)算法、SURF(Speeded Up Robust Features(SURF,加速稳健特征)算法等。
步骤203,获取预先从参考图像中确定的参考特征信息。
在本实施例中,电子设备可以从本地或从远程获取预先从参考图像中确定的参考特征信息。其中,参考图像是由设置在参考舱中的第二相机对参考舱中的目标位置拍摄的图像。参考舱可以是作为对标定舱内的相机进行外参标定的标准而预先设置的空间结构。第二相机在参考舱中的位置与第一相机在标定舱中的位置相同。通常,从参考图像中确定参考特征信息的方法与从标定图像中确定标定特征信息的方法可以相同。
步骤204,基于标定特征信息在标定图像中的位置和参考特征信息在参考图像中的位置,确定第一相机相对于第二相机的位姿变化数据。
在本实施例中,电子设备可以基于标定特征信息在标定图像中的位置和参考特征信息在参考图像中的位置,确定第一相机相对于第二相机的位姿变化数据。其中,位姿变化数据包括第一相机的位置相对于第二相机的位置的位移变化和拍摄角度变化。
作为示例,电子设备可以利用现有的对极约束方法,确定第二相机相对于第一相机的位姿变化。
步骤205,基于位姿变化数据,确定第一相机的外参。
在本实施例中,电子设备可以基于位姿变化数据,确定第一相机的外参。其中,相机外参通常可以包括旋转矩阵和平移矩阵,旋转矩阵表征相机坐标系的坐标轴相对于世界坐标系的坐标轴旋转方向;平移矩阵表征相机坐标系下,空间内的点的位置。通常,第一相机的外参是已知的,因此,可以根据上述位姿变化,得到第二相机的外参。
本公开的上述实施例提供的方法,通过获取设置在标定舱内的第一相机对标定舱内的目标位置拍摄的标定图像,并从标定图像中确定目标位置的标定特征信息,然后获取预先从参考图像中确定的参考特征信息,接着基于标定特征信息在标定图像中的位置和参考特征信息在参考图像中的位置,确定第一相机相对于第二相机的位姿变化数据,最后基于位姿变化数据,确定第一相机的外参,由于利用了安装在标定舱内的第一相机拍摄的图像进行外参标定,因此本公开实施例无需使用棋盘格等标定装置,即可确保相机外参标定的过程更便捷,提高了相机外参标定的效率,并且在用户实际使用标定舱时,可以实时地利用第一相机拍摄的图像对第一相机进行外参标定,有助于在使用外参的场景下,所使用的外参更接近第一相机当前的实际状态,进而有助于进一步提高使用外参进行各种操作 (例如人眼视线识别、人脸姿态识别等、手势识别等)的精度。
在一些可选的实现方式中,上述步骤205可以如下执行:
首先,确定位姿变化数据是否符合预设的相机位移条件。
其中,相机位移条件用于表征相机的位姿变化是否过大。例如,相机位移条件可以为:位姿变化数据大于或等于预设位姿变化数据。需要说明的是,由于位姿变化数据包括位移变化数据和拍摄角度变化数据,因此,可以在位移变化数据大于或等于预设位移变化数据,或者拍摄角度变化数据大于或等于预设拍摄角度变化数据,或者位移变化数据和拍摄角度变化数据分别大于或等于预设位移变化数据和预设拍摄角度变化数据时,确定位姿变化数据符合相机位移条件。
然后,如果符合相机位移条件,基于位姿变化数据,将第一相机的外参调整至与位姿变化数据相对应的外参。调整至与位姿变化数据相对应的外参的方法即上述步骤205描述的方法。
最后,如果不符合,保持第一相机的外参不变。
本实现方式通过将位姿变化数据与相机位移条件进行比对,可以在第一相机的位姿变化较大的情况下调整外参,从而降低了因外参调整过于频繁造成的硬件资源的消耗。
在一些可选的实现方式中,步骤204可以如下执行:
首先,基于参考位置和标定位置,确定用于表征标定位置和参考位置之间的关系的坐标转换矩阵。其中,坐标转换矩阵包括以下至少一种:基础矩阵、本质矩阵、单应矩阵。
其中,基础矩阵(Essential Matrix)反映空间一点的像点在不同视角的相机的像极坐标系下的位置之间的关系。
本质矩阵(Fundamental Matrix)反映空间一点在不同视角的相机的图像坐标系下的位置之间的关系。
单应矩阵(Homography)反映物体在世界坐标系和图像坐标系之间的位置映射关系。对应的变换矩阵称为单应矩阵。
通常,基础矩阵或本质矩阵和三维场景的结构无关,只依赖于相机的内参和外参,需要两个相机的位置有旋转和平移。单应矩阵对三维场景的结构有更多要求,需要场景中的点在同一个平面上;或者对相机的位姿有要求,两个相机之间只有旋转而无平移。
需要说明的是,上述确定坐标转换矩阵的方法是现有技术,例如,本质矩阵或基础矩阵可以通过现有的8点法和最小二乘法得到,单应矩阵可以通过对本质矩阵分解得到。
然后,基于坐标转换矩阵,确定第二相机相对于第一相机的位姿变化。需要说明的是,基于上述坐标转换矩阵求解位姿变化的方法是目前的现有技术,这里不再赘述。
本实现方式实现了基于多种坐标转换矩阵的特点,灵活地确定第一相机相对于第二相机的位姿变化,有助于提高外参标定的准确性。例如,若标定特征信息指示的空间位置相对于参考特征信息指示的空间位置在同一个平面上,可以使用单应矩阵,若不在同一平面上可以使用基础矩阵或本质矩阵。
在一些可选的实现方式中,在步骤204之后,电子设备还可以执行如下步骤:
首先,确定位姿变化数据是否符合第一相机的预设位姿限制条件。其中,预设位姿限制条件用于对位姿变化数据进行限制,使位姿变化数据符合实际场景。
作为示例,如图3所示,当第一相机设置在车辆内的转向管柱上时,受方向盘的位置调整方式的约束,相机的拍摄角度的变化只包括如图中的角α所示的俯仰角(pitch)的变化,即方向盘由A点移动到B点造成的俯仰角变化。偏航角 (yaw)和翻滚角(roll)的变化可以忽略。相机的位移变化只包括在转向管柱的轴向上的位移变化,即方向盘由B点移动到C点的位移变化。在图3所示的场景下,预设位姿限制条件可以包括:偏航角和翻滚角的变化为0,位移变化只能在俯仰角的变化平面内移动。
然后,如果不符合,调整位姿变化数据至符合预设位姿限制条件的位姿变化数据。
继续上述示例,如果确定出的偏航角和翻滚角的变化不为0,则将偏航角和翻滚角的变化设置为0。
本实现方式通过设置位姿限制条件,可以使确定出的位姿变化数据更符合实际场景,降低识别错误发生的风险。
进一步参考图4,示出了相机外参标定方法的又一个实施例的流程示意图。如图4所示,在上述图2所示实施例的基础上,步骤205可以包括如下步骤:
步骤2051,确定位姿变化数据的误差。
其中,位姿变化数据的误差可以基于各种方式确定。具体请参见下述可选实现方式。
步骤2052,基于误差,确定第一相机的外参的标定结果。
其中,标定结果可以表示标定成功或不成功。例如,若误差大于或等于预设误差阈值,生成表示标定不成功的标定结果,若误差小于误差阈值,生成表示标定成功的标定结果。
步骤2053,若标定结果表示标定不成功,基于预设外参确定第一相机的外参。
具体地,在标定不成功时,可以将预设外参作为第一相机的外参。通常,预设外参可以是在标定舱交付用户使用之前对第一相机进行外参标定得到的外参。例如,当标定舱为车辆内部的座舱时,在车辆出厂前,可以对车辆上的第一相机进行外参标定,得到预设外参。
应当理解,若标定成功,则将确定的外参作为第一相机的外参。
上述图4对应实施例描述的方法,通过确定位姿变化数据的误差判断标定是否成功,在标定不成功时采用默认外参,从而可以避免位姿变化数据误差较大时造成的外参偏离实际情况,使最终确定的相机外参更加准确。
在一些可选的实现方式中,上述步骤2051可以如下执行:
首先,基于第一相机的外参,确定标定特征信息相对于参考特征信息的重投影误差。其中,重投影误差可以是标定图像中的标定特征信息投影到参考图像中的位置与对应的参考特征信息的位置之间的偏差。
可选的,可以利用标定特征信息中的某些特征信息(例如某些特征点)进行外参标定,使用另一些特征信息确定重投影误差,从而可以有效地对外参进行检验。
然后,基于重投影误差,确定位姿变化数据的误差。通常,可以将重投影误差确定为位姿变化数据的误差。
基于此,步骤2052可以如下执行:
基于重投影误差与预设的第一标定成功条件,确定第一相机的外参是否标定成功。作为示例,第一标定成功条件可以为:重投影误差小于预设重投影误差阈值。若重投影误差满足第一标定成功条件,确定标定成功,否则确定标定失败。
本实现方式通过确定重投影误差以确定是否标定成功,可以使最终确定的相机外参更加准确。
在一些可选的实现方式中,上述步骤2051可以如下执行:
确定位姿变化数据与预设的位姿变化数据阈值的差距作为位姿变化数据的误差。作为示例,将位姿变化数据减去位姿变化数据阈值,若差值大于零,误差即为差值,此时位姿变化数据超过了设定值,表示第一相机采集的图像可能因相机抖动、故障等原因造成失真等问题;若差值小于或等于零,误差为零,表示位姿变化数据正常。
基于此,步骤2052可以如下执行:
基于误差与预设的第二标定成功条件,确定第一相机的外参是否标定成功。继续上述示例,第二标定成功条件可以为:误差为零。当确定出的误差符合第二标定成功条件,确定标定成功,若误差不为零,确定标定不成功。
本实现方式基于位姿变化数据阈值以确定是否标定成功,可以在位姿变化数据不在正常范围内时,确定标定不成功,从而可以使最终确定的相机外参更加准确。
图5是本公开一示例性实施例提供的相机外参标定装置的结构示意图。本实施例可应用在电子设备上,如图5所示,相机外参标定装置包括:第一获取模块 501,用于获取设置在标定舱内的第一相机对标定舱内的目标位置拍摄的标定图像;第一确定模块502,用于从标定图像中确定目标位置的标定特征信息;第二获取模块503,用于获取预先从参考图像中确定的参考特征信息,其中,参考图像是由设置在参考舱中的第二相机对参考舱中的目标位置拍摄的图像;第二确定模块504,用于基于标定特征信息在标定图像中的位置和参考特征信息在参考图像中的位置,确定第一相机相对于第二相机的位姿变化数据;第三确定模块505,用于基于位姿变化数据,确定第一相机的外参。
在本实施例中,第一获取模块501可以从本地或从远程获取设置在标定舱内的第一相机对标定舱内的目标位置拍摄的标定图像。目标位置可以是标定舱内某个特定位置,例如当标定舱为车辆内部的座舱时,目标位置可以是包括一部分车顶棚和车窗的位置。
在本实施例中,第一确定模块502可以从标定图像中确定目标位置的标定特征信息。
具体地,目标位置通常可以具有一定的形状特征,第一确定模块502可以对包括目标位置的标定图像进行特征提取,得到标定特征信息。其中,标定特征信息可以包括各种类型的特征信息,例如特征点、特征线等。
作为示例,当标定舱为车辆内部的座舱时,标定特征信息可以表示包括车窗角点、顶棚不同部分之间的线状缝隙等部位。
第一确定模块502可以基于现有的特征提取方法从标定图像中提取标定特征信息。例如,特征提取方法可以包括基于神经网络的特征提取方法、SIFT (Scale-InvariantFeature Transform,尺度不变特征变换)算法、SURF(Speeded Up Robust Features(SURF,加速稳健特征)算法等。
在本实施例中,第二获取模块503可以从本地或从远程获取预先从参考图像中确定的参考特征信息。其中,参考图像是由设置在参考舱中的第二相机对参考舱中的目标位置拍摄的图像。其中,参考舱可以是作为对标定舱内的相机进行外参标定的标准而预先设置的空间结构。第二相机在参考舱中的位置与第一相机在标定舱中的位置相同。通常,从参考图像中确定参考特征信息的方法与从标定图像中确定标定特征信息的方法可以相同。
在本实施例中,第二确定模块504可以基于标定特征信息在标定图像中的位置和参考特征信息在参考图像中的位置,确定第一相机相对于第二相机的位姿变化数据。其中,位姿变化数据包括第一相机的位置相对于第二相机的位置的位移变化和拍摄角度变化。
作为示例,第二确定模块504可以利用现有的对极约束方法,确定第二相机相对于第一相机的位姿变化。
在本实施例中,第三确定模块505可以基于位姿变化数据,确定第一相机的外参。其中,相机外参通常可以包括旋转矩阵和平移矩阵,旋转矩阵表征相机坐标系的坐标轴相对于世界坐标系的坐标轴旋转方向;平移矩阵表征相机坐标系下,空间内的点的位置。通常,第一相机的外参是已知的,因此,可以根据上述位姿变化,得到第二相机的外参。
参照图6,图6是本公开另一示例性实施例提供的相机外参标定装置的结构示意图。
在一些可选的实现方式中,第三确定模块505包括:第一确定单元5051,用于确定位姿变化数据是否符合预设的相机位移条件;调整单元5052,用于如果符合,基于位姿变化数据,将第一相机的外参调整至与位姿变化数据相对应的外参;第二确定单元5053,用于如果不符合,保持第一相机的外参不变。
在一些可选的实现方式中,第二确定模块504包括:第三确定单元5041,用于基于参考位置和标定位置,确定用于表征标定位置和参考位置之间的关系的坐标转换矩阵,其中,坐标转换矩阵包括以下至少一种:基础矩阵、本质矩阵、单应矩阵;第四确定单元5042,用于基于坐标转换矩阵,确定第二相机相对于第一相机的位姿变化。
在一些可选的实现方式中,该装置还包括:第四确定模块506,用于确定位姿变化数据是否符合第一相机的预设位姿限制条件;调整模块507,用于如果不符合,调整位姿变化数据至符合预设位姿限制条件的位姿变化数据。
在一些可选的实现方式中,第三确定模块505包括:第五确定单元5054,用于确定位姿变化数据的误差;第六确定单元5055,用于基于误差,确定第一相机的外参的标定结果;第七确定单元5056,用于若标定结果表示标定不成功,基于预设外参确定第一相机的外参。
在一些可选的实现方式中,第五确定单元5054包括:第一确定子单元50541,用于基于第一相机的外参,确定标定特征信息相对于参考特征信息的重投影误差;第二确定子单元50542,用于基于重投影误差,确定位姿变化数据的误差;第六确定单元5055进一步用于:基于重投影误差与预设的第一标定成功条件,确定第一相机的外参是否标定成功。
在一些可选的实现方式中,第五确定单元5054包括:第三确定子单元50543,用于确定位姿变化数据与预设的位姿变化数据阈值的差距作为位姿变化数据的误差;第六确定单元5055进一步用于:基于误差与预设的第二标定成功条件,确定第一相机的外参是否标定成功。
本公开上述实施例提供的相机外参标定装置,通过获取设置在标定舱内的第一相机对标定舱内的目标位置拍摄的标定图像,并从标定图像中确定目标位置的标定特征信息,然后获取预先从参考图像中确定的参考特征信息,接着基于标定特征信息在标定图像中的位置和参考特征信息在参考图像中的位置,确定第一相机相对于第二相机的位姿变化数据,最后基于位姿变化数据,确定第一相机的外参,由于利用了安装在标定舱内的第一相机拍摄的图像进行外参标定,因此本公开实施例无需使用棋盘格等标定装置,即可确保相机外参标定的过程更便捷,提高了相机外参标定的效率,并且在用户实际使用标定舱时,可以实时地利用第一相机拍摄的图像对第一相机进行外参标定,有助于在使用外参的场景下,所使用的外参更接近第一相机当前的实际状态,进而有助于进一步提高使用外参进行各种操作(例如人眼视线识别、人脸姿态识别等、手势识别等)的精度。
下面,参考图7来描述根据本公开实施例的电子设备。该电子设备可以是如图1所示的终端设备101和服务器103中的任一个或两者、或与它们独立的单机设备,该单机设备可以与终端设备101和服务器103进行通信,以从它们接收所采集到的输入信号。
图7图示了根据本公开实施例的电子设备的框图。
如图7所示,电子设备700包括一个或多个处理器701和存储器702。
处理器701可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备700中的其他组件以执行期望的功能。
存储器702可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache) 等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器701可以运行程序指令,以实现上文的本公开的各个实施例的相机外参标定方法以及/或者其他期望的功能。在计算机可读存储介质中还可以存储诸如标定图像、标定特征信息、参考特征信息等各种内容。
在一个示例中,电子设备700还可以包括:输入装置703和输出装置704,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
例如,在该电子设备是终端设备101或服务器103时,该输入装置703可以是相机、鼠标、键盘等设备,用于输入图像等信息。在该电子设备是单机设备时,该输入装置703可以是通信网络连接器,用于从终端设备101和服务器103接收所输入的图像等信息。
该输出装置704可以向外部输出各种信息,包括确定出的相机外参。该输出设备704可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图7中仅示出了该电子设备700中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备700还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的相机外参标定方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的相机外参标定方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和 /或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
- 相机外参标定方法、装置及相机外参标定系统
- 车载相机系统相机外参的标定方法及标定系统