标定方法、位置确定方法、装置、电子设备及存储介质与流程

文档序号:21400701发布日期:2020-07-07 14:33阅读:180来源:国知局
标定方法、位置确定方法、装置、电子设备及存储介质与流程

本公开涉及计算机视觉技术领域,具体而言,涉及一种标定方法、位置确定方法、装置、电子设备及存储介质。



背景技术:

随着人工智能技术的迅速发展,传统工业与信息技术结合,为人们的生活带来便利,比如将汽车行业与信息技术结合,可以产生能够自动驾驶的智能汽车,智能汽车在自动驾驶过程中,测距是非常重要的环节。在智能汽车辅助驾驶所采用的测距传感器中,视觉传感器能够获得较丰富的道路结构环境信息,价格也较为低廉。

在视觉测距中,单目视觉测距技术相对于多目视觉测距技术具有成本低廉、系统安装简单、稳定性好等特点,因而被广泛采用。在单目视觉测距中,需要用到单应性矩阵(homographymatrix),基于拍摄的目标物在图像坐标系中的像素坐标,以及该单应性矩阵,可以得到目标物在世界坐标系中的世界坐标,基于该世界坐标即可得到该目标物与预设位置点之间的距离信息。因此,单应性矩阵的准确性直接影响测距结果的精确性。

单应性矩阵是通过预先进行标定得到的,在标定时,已知参照物在世界坐标系中的世界坐标,需要在图像采集设备拍摄的包含该参照物的图像中将该参照物选取出来,以得到其在图像坐标系中的像素坐标。一般地,在图像中选取参照物时需要通过手工选取,由于存在视觉误差,在图像中的选取结果不精确,从而导致标定结果不准确。



技术实现要素:

有鉴于此,本公开至少提供一种标定方案,以提高对图像采集设备标定的准确性。

第一方面,本公开实施例提供了一种标定方法,包括:

获取图像采集设备拍摄的样本图像;

基于所述样本图像,确定所述样本图像中多个样本参照物在图像坐标系中的初始像素坐标;

基于确定的每个样本参照物在图像坐标系中的初始像素坐标,对位于同一条直线上的所述样本参照物进行直线拟合,并基于拟合的直线对参与拟合的初始像素坐标进行修正,得到修正像素坐标;

基于所述样本图像中的每个样本参照物在世界坐标系下的世界坐标、以及得到的修正像素坐标,确定所述图像采集设备的单应性矩阵。

在本公开实施例中,通过对拍摄的样本图像中的样本参照物进行直线拟合,能够对拍摄的样本图像中样本参照物在图像坐标系中的初始像素坐标进行修正,进而得到每个样本参照物在图像坐标系中的较为准确的修正像素坐标,从而基于修正像素坐标对图像采集设备进行标定,能够得到准确的单应性矩阵,即提高了对图像采集设备标定的准确性。

一种可能的实施方式中,所述基于确定的每个样本参照物在图像坐标系中的初始像素坐标,对位于同一条直线上的所述样本参照物进行直线拟合,并基于拟合的直线对参与拟合的初始像素坐标进行修正,得到修正像素坐标,包括:

基于确定的每个样本参照物在图像坐标系中的初始像素坐标,对位于沿第一方向的直线上的样本参照物分别进行直线拟合,得到多条第一直线;

基于多条第一直线,对每个样本参照物在图像坐标系中的初始像素坐标进行修正,得到中间像素坐标;并基于每个样本参照物的中间像素坐标,对位于沿第二方向上的直线上的样本参照物分别进行直线拟合,得到多条第二直线,其中,沿第一方向上的直线与沿第二方向上的直线相交;

基于多条所述第一直线和多条所述第二直线,得到所述修正像素坐标。

这里提出在对多个样本参照物的初始像素坐标进行修正,得到修正像素坐标时,可以基于样本参照物所属的不同直线对样本参照物的初始像素坐标进行修正,比如选择两个不同方向上的直线,逐渐对多个样本参照物的初始像素坐标进行修正,以得到较为准确的修正像素坐标。

一种可能的实施方式中,所述初始像素坐标包括初始第一坐标值和初始第二坐标值,所述初始第一坐标值对应的第一坐标轴与所述初始第二坐标值对应的第二坐标轴相互垂直;

基于多条第一直线,对每个样本参照物在图像坐标系中的初始像素坐标进行修正,得到中间像素坐标,包括:

将每个样本参照物的初始像素坐标中的初始第一坐标值,代入该样本参照物所在的所述第一直线的直线方程,得到中间第二坐标值;一个样本参照物的中间像素坐标包括该样本参照物的初始第一坐标值和中间第二坐标值;

基于每个样本参照物的中间像素坐标,对位于沿第二方向上的直线上的样本参照物分别进行直线拟合,得到多条第二直线,包括:

基于每个样本参照物的中间像素坐标中的初始第一坐标值和中间第二坐标值,对位于沿第二方向的直线上的所述样本参照物进行直线拟合,得到多条第二直线。

一种可能的实施方式中,所述基于多条所述第一直线和多条所述第二直线,得到所述修正像素坐标,包括:

将多条所述第一直线和多条所述第二直线的交点对应的像素坐标,作为所述修正像素坐标。

本公开实施例提出了一种如何针对具体地对多个样本参照物的初始像素坐标进行修正的过程,即先针对初始像素坐标中的其中一个坐标值进行修正,然后再对另一个坐标值进行修正,逐渐得到准确度较高的修正坐标。

一种可能的实施方式中,所述第一坐标轴为图像坐标系中的横坐标轴,所述第二坐标轴为图像坐标系中的纵坐标轴;或者,所述第一坐标轴为图像坐标系中的纵坐标轴,所述第二坐标轴为图像坐标系中的横坐标轴。

一种可能的实施方式中,确定所述图像采集设备的单应性矩阵之后,还包括:

获取所述图像采集设备拍摄的多个测试图像;

针对每个所述测试图像,确定所述测试图像中每个测试参照物在图像坐标系中的测试像素坐标;

基于所述测试像素坐标和所述单应性矩阵,确定所述测试参照物在所述世界坐标系中的测试世界坐标;

基于多个所述测试图像中所述测试参照物的真实世界坐标和所述测试世界坐标,确定所述单应性矩阵的准确度。

这里,在标定得到的单应性矩阵的准确度不符合条件时,能够及时进行单应性矩阵的修正,比如可以选择新的样本参照物进行重新标定。

第二方面,本公开实施例提供了一种位置确定方法,包括:

获取图像采集设备拍摄目标物后得到的目标图像;

基于所述目标图像,确定所述目标物在图像坐标系下的像素坐标;

基于所述像素坐标和所述图像采集设备的单应性矩阵,确定所述目标物在世界坐标系下的世界坐标,所述图像采集设备的单应性矩阵采用第一方面所述的标定方法确定。

在一种应用场景下,本公开实施例得到准确度高的单应性矩阵后,能够利用该单应性矩阵准确地确定目标物在世界坐标系中的世界坐标。

一种可能的实施方式中,确定所述目标物在世界坐标系下的世界坐标之后,还包括:

基于所述目标物在世界坐标系下的世界坐标以及所述世界坐标系中的预设位置点的坐标,确定所述目标物与所述预设位置点之间的距离。

在一种应用场景下,本公开实施例得到准确度高的单应性矩阵后,能够利用该单应性矩阵准确地确定目标物在世界坐标系中的世界坐标,进而确定预设位置点与目标物之间的距离。

第三方面,本公开实施例提供了一种标定装置,包括:

图像获取模块,用于获取图像采集设备拍摄的样本图像;

第一确定模块,用于基于所述样本图像,确定所述样本图像中多个样本参照物在图像坐标系中的初始像素坐标;

坐标修正模块,用于基于确定的每个样本参照物在图像坐标系中的初始像素坐标,对位于同一条直线上的所述样本参照物进行直线拟合,并基于拟合的直线对参与拟合的初始像素坐标进行修正,得到修正像素坐标;

第二确定模块,用于基于所述样本图像中的每个样本参照物在世界坐标系下的世界坐标、以及得到的修正像素坐标,确定所述图像采集设备的单应性矩阵。

一种可能的实施方式中,所述坐标修正模块用于:

基于确定的每个样本参照物在图像坐标系中的初始像素坐标,对位于沿第一方向的直线上的样本参照物分别进行直线拟合,得到多条第一直线;

基于多条第一直线,对每个样本参照物在图像坐标系中的初始像素坐标进行修正,得到中间像素坐标;并基于每个样本参照物的中间像素坐标,对位于沿第二方向上的直线上的样本参照物分别进行直线拟合,得到多条第二直线,其中,沿第一方向上的直线与沿第二方向上的直线相交;

基于多条所述第一直线和多条所述第二直线,得到所述修正像素坐标。

一种可能的实施方式中,所述初始像素坐标包括初始第一坐标值和初始第二坐标值,所述初始第一坐标值对应的第一坐标轴与所述初始第二坐标值对应的第二坐标轴相互垂直;

所述坐标修正模块在用于基于多条第一直线,对每个样本参照物在图像坐标系中的初始像素坐标进行修正,得到中间像素坐标时,包括:

将每个样本参照物的初始像素坐标中的初始第一坐标值,代入该样本参照物所在的所述第一直线的直线方程,得到中间第二坐标值;一个样本参照物的中间像素坐标包括该样本参照物的初始第一坐标值和中间第二坐标值;

所述坐标修正模块在用于基于每个样本参照物的中间像素坐标,对位于沿第二方向上的直线上的样本参照物分别进行直线拟合,得到多条第二直线时,包括

基于每个样本参照物的中间像素坐标中的初始第一坐标值和中间第二坐标值,对位于沿第二方向的直线上的所述样本参照物进行第直线拟合,得到多条第二直线。

一种可能的实施方式中,所述坐标修正模块在用于基于多条所述第一直线和多条所述第二直线,得到所述修正像素坐标时,包括:

将多条所述第一直线和多条所述第二直线的交点对应的像素坐标,作为所述修正像素坐标。

一种可能的实施方式中,所述第一坐标轴为图像坐标系中的横坐标轴,所述第二坐标轴为图像坐标系中的纵坐标轴;或者,所述第一坐标轴为图像坐标系中的纵坐标轴,所述第二坐标轴为图像坐标系中的横坐标轴。

一种可能的实施方式中,所述第二确定模块在确定所述图像采集设备的单应性矩阵之后,还用于:

获取所述图像采集设备拍摄的多个测试图像;

针对每个所述测试图像,确定所述测试图像中每个测试参照物在图像坐标系中的测试像素坐标;

基于所述测试像素坐标和所述单应性矩阵,确定所述测试参照物在所述世界坐标系中的测试世界坐标;

基于多个所述测试图像中所述测试参照物的真实世界坐标和所述测试世界坐标,确定所述单应性矩阵的准确度。

第四方面,本公开实施例提供了一种位置确定装置,包括:

图像获取模块,用于获取图像采集设备拍摄目标物后得到的目标图像;

第一确定模块,用于基于所述目标图像,确定所述目标物在图像坐标系下的像素坐标;

第二确定模块,用于基于所述像素坐标和所述图像采集设备的单应性矩阵,确定所述目标物在世界坐标系下的世界坐标,所述图像采集设备的单应性矩阵采用本公开实施例提供的任一标定方法确定。

在一种可能的实施方式中,确定所述目标物在世界坐标系下的世界坐标之后,所述第二确定模块还用于:

基于所述目标物在世界坐标系下的世界坐标以及所述世界坐标系中的预设位置点的坐标,确定所述目标物与所述预设位置点之间的距离。

第五方面,本公开提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如第一方面所述标定方法或者第二方面所述位置确定方法的步骤。

第六方面,本公开提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权第一方面所述标定方法或者第二方面所述位置确定方法的步骤。

关于上述装置、电子设备或计算机可读存储介质的实施效果描述可以参见上述方法内容的描述,这里不再赘述。

为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本公开实施例所提供的一种标定方法的流程图;

图2示出了本公开实施例所提供的样本参照物阵列在世界坐标系下的示意图;

图3示出了本公开实施例所提供的样本参照物阵列对应的样本图像;

图4示出了本公开实施例所提供的一种对样本参照物的初始像素坐标进行修正的方法流程图;

图5示出了本公开实施例所提供的一种单应性矩阵准确度的测试方法流程图;

图6示出了本公开实施例所提供的一种位置确定方法的流程图;

图7示出了本公开实施例所提供的一种标定装置的结构示意图;

图8示出了本公开实施例所提供的一种位置确定装置的结构示意图;

图9示出了本公开实施例所提供的一种电子设备的结构示意图;

图10示出了本公开实施例所提供的另一种电子设备的结构示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

目前,在自动驾驶领域、机器人领域,常常需要依靠图像采集设备进行视觉测距,依靠图像采集设备进行视觉测距的原理是确定图像采集设备拍摄的目标物在图像坐标系中的像素坐标,然后基于图像采集设备的单应性矩阵,确定目标物在世界坐标系下的世界坐标,进而根据预设位置点的世界坐标以及目标物的世界坐标,确定出预设位置点与目标物之间的距离,这里的预设位置点可以为设置的世界坐标系原点,因此,单应性矩阵的准确性直接影响测距结果的精确性。单应性矩阵是通过预先进行标定得到的,在标定时,已知参照物在世界坐标系中的世界坐标,需要在图像采集设备拍摄的包含该参照物的图像中将该参照物选取出来,以得到其在图像坐标系中的像素坐标。在图像中选取参照物时一般会通过手工选取,由于存在视觉误差,在图像中的选取结果不精确,这样会导致标定结果不准确。基于此,本公开以下实施例提供了一种对选取的参照物的像素坐标进行修正的方法。

基于上述研究,本公开提供了一种标定方法,在获取到图像采集设备拍摄样本参照物得到的样本图像后,先确定多个样本参照物在图像坐标系中的初始像素坐标,然后基于每个样本参照物在图像坐标系中的初始像素坐标,对样本图像中的位于统一直线上的样本参照物进行直线拟合,并基于拟合的直线对参与拟合的初始像素坐标进行修正,得到参与拟合的样本参照物在图像坐标系中的修正像素坐标。

这里,因为样本参照物可以预先摆放好,比如可以将样本参照物按照阵列排布,这样属于同一行的样本参照物或者属于同一列的样本参照物在世界坐标系中是位于一条直线上的,然后通过对图像坐标系中样本参照物的初始像素坐标进行直线拟合,即能够对每个样本参照物在图像坐标系中的初始像素坐标进行修正,得到每个样本参照物在图像坐标系中的较为准确的修正像素坐标,从而根据样本参照物中每个样本参照物在世界坐标系下的世界坐标、以及每个样本参照物在图像坐标系下的修正像素坐标,得到图像采集设备准确的单应性矩阵,即提高了对图像采集设备标定的准确性。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

为便于对本实施例进行理解,首先对本公开实施例所公开的一种标定方法进行详细介绍,本公开实施例所提供的标定方法的执行主体一般为具有数据处理能力的计算机设备。

参见附图1所示,为本公开实施例提供的一种标定方法的流程示意图,包括以下步骤s101~s104:

s101,获取图像采集设备拍摄的样本图像;

s102,基于样本图像,确定样本图像中多个样本参照物在图像坐标系中的初始像素坐标;

s103,基于确定的每个样本参照物在图像坐标系中的初始像素坐标,对位于同一条直线上的样本参照物进行直线拟合,并基于拟合的直线对参与拟合的初始像素坐标进行修正,得到修正像素坐标;

s104,基于样本图像中的每个样本参照物在世界坐标系下的世界坐标、以及得到的修正像素坐标,确定图像采集设备的单应性矩阵。

下面分别对上述s101~s104加以说明。

在上述s101中,获取图像采集设备拍摄的样本图像,可以是拍摄样本参照物阵列后得到的样本图像,比如可以提前设置样本参照物所在的图像采集环境和世界坐标系,比如在地面上绘制多条直线,或者寻找有多条车道线的场所,形成多条直线l,在每条直线l上摆放多个形状一致的样本参照物,比如,这里样本参照物可以为锥体参照物,多个样本参照物可以分为多组,每组位于同一条直线l上,另外还需要绘制多条直线h,使得每条直线h和各条直线l相交,将样本参照物放置在直线l和直线h相交的交点上,得到样本参照物阵列,该样本参照物阵列包括在多条直线l上共线的样本参照物,同时,这些样本参照物也在多条直线h上共线。

本公开实施例提出以车辆的前轴中心点或者车体中心在地面的映射点为原点建立世界坐标系,这里的原点即为设定位置点,图像采集设备位于该车辆的设定位置处,得到如图2所示的世界坐标系,为了简便化,使得每条直线l与世界坐标系中的y轴平行,每条直线h与世界坐标系中的x轴平行。

本公开实施例将位于车辆上的图像采集设备的摄像头调整为与地面平行,当图像采集设备向y轴方向拍摄样本参照物阵列时可以得到如图3所示的样本图像。

在上述s102中,在得到样本参照物的样本图像后,可以将该样本图像放置在图像坐标系中,基于用户手工在图像坐标系中选取的椎体参照物与地面相切的位置,确定该样本参照物在图像坐标系中的初始像素坐标;或者,还可以将该样本图像输入提前训练好的像素坐标确定模型中,确定每个样本参照物的初始像素坐标。

这里,像素坐标确定模型可以先基于样本图像进行图像识别,确定出该椎体参照物与地面相切的位置,然后基于确定的每个样本参照物在图像中的位置确定这些样本参照物在图像坐标系中的初始像素坐标。

上述s103中,因为在世界坐标系中,直线l上的样本参照物共线,直线h上的样本参照物共线,且每个样本参照物均位于一条直线l和一条直线h的交点处,针对此,可对样本图像中的样本参照物阵列进行直线拟合来修正每个样本参照物的初始像素坐标。

具体地,如图4所示,基于确定的每个样本参照物在图像坐标系中的初始像素坐标,对位于同一条直线上的样本参照物进行直线拟合,并基于拟合的直线对参与拟合的初始像素坐标进行修正,得到修正像素坐标时,可以执行以下步骤s401~s403:

s401,基于确定的每个样本参照物在图像坐标系中的初始像素坐标,对位于沿第一方向的直线上的样本参照物分别进行直线拟合,得到多条第一直线。

其中,每条第一直线中位于各样本参照物之间的线段,与其它第一直线中位于各样本参照物之间的线段不相交,比如多条第一直线可以相互平行,或者,多条第一直线沿远处相交,但是在样本参照物所处的位置处不相交。

上述得到的初始像素坐标由于人眼误差或者像素坐标确定模型的误差,导致确定的初始像素坐标并不准确,致使本该位于同一直线上的初始像素坐标可能并不在同一条直线上,故这里可以先对这些初始像素坐标进行直线拟合,得到多条第一直线。

在对位于沿第一方向的直线上的样本参照物分别进行直线拟合后,得到的多条第一直线中位于各样本参照物之间的线段,与其它第一直线中位于各样本参照物之间的线段不相交,比如,在对样本参照物进行直线拟合后,可以得到与图3中的直线l对应的多条第一直线,或者得到与图3中的直线h对应的多条第一直线。

具体在对沿第一方向的直线上的样本参照物进行第一次直线拟合时,可以先对样本图像中的样本参照物进行分组,得到多组样本参照物,每组样本参照物在世界坐标系中属于同一条直线,具体在分组时,可以按照在世界坐标系中是否属于同一直线l进行分组,即将在世界坐标系中属于同一直线l上的样本参照物划分为一组,或者,也可以按照在世界坐标系中是否属于同一直线h进行分组,即将在世界坐标系中属于同一直线h上的样本参照物划分为一组。

以按照在世界坐标系中是否属于同一直线l进行分组为例,本公开实施例将在世界坐标系中属于同一直线l上的样本参照物划分为一组,比如将如图3所示的样本图像中,按照是否属于同一直线l,将样本参照物阵列中的样本参照物划分为4组,针对4组样本参照物对应的初始像素坐标分别进行直线拟合,可以得到4条第一直线。

针对每组样本参照物对应的初始像素坐标,可以按照最小二乘法进行直线拟合,具体可以按照以下公式(1)、公式(2)和公式(3),得到多条第一直线对应的第一直线方程:

其中,(xi,yi)表示属于同一组样本参照物中第i个样本参照物的初始像素坐标;n表示属于同一组样本参照物包括n个;表示属于同一组样本参照物对应的初始横坐标值的平均值;表示属于同一组样本参照物对应的初始纵坐标值的平均值;b、b0和b1表示第一直线方程中的未知参数。

在将每组样本参照物对应的初始像素坐标代入以上公式(1)~(3)中,得到每组参数初始像素坐标对应的第一直线方程中的未知参数b0和b1后,即可以得到每条第一直线对应的第一直线方程:y=b1x-b0。

s402,基于多条第一直线,对每个样本参照物在图像坐标系中的初始像素坐标进行修正,得到中间像素坐标;并基于每个样本参照物的中间像素坐标,对位于沿第二方向上的直线上的样本参照物分别进行直线拟合,得到多条第二直线。

其中,沿第一方向上的直线与沿第二方向上的直线相交。

这里初始像素坐标包括初始第一坐标值和初始第二坐标值,其中,初始第一坐标值对应的第一坐标轴与初始第二坐标值对应的第二坐标轴相互垂直。

具体地,在基于多条第一直线,对每个样本参照物在图像坐标系中的初始像素坐标进行修正,得到中间像素坐标时,可以包括:

将每个样本参照物的初始像素坐标中的初始第一坐标值,代入该样本参照物所在的第一直线的直线方程,得到中间第二坐标值。

其中一个样本参照物的中间像素坐标包括该样本参照物的初始第一坐标值和中间第二坐标值,即对初始像素坐标进行初次修正,得到中间像素坐标的过程,其实是对样本参照物的初始第二坐标值进行修正的过程。

具体地,在图像坐标系中,第一坐标轴可以为横坐标轴或者纵坐标轴,第一坐标轴为图像坐标系中的横坐标轴时,第二坐标轴为图像坐标系中的纵坐标轴;或者,第一坐标轴为图像坐标系中的纵坐标轴时,第二坐标轴为图像坐标系中的横坐标轴。

比如,上述图3中的样本图像总共包括20个样本参照物,这20个样本参照物的初始像素坐标分别为(x1,y1)~(x20,y20),其中每个样本参照物的初始第一坐标值可以为x1~x20,初始第二坐标值可以为y1~y20,这里初始第一坐标值对应的第一坐标轴可以为图像坐标系中的横坐标轴,初始第二坐标值对应的第二坐标轴可以为图像坐标系中的纵坐标轴,或者,每个样本参照物的初始第一坐标值可以为y1~y20,初始第二坐标值可以为x1~x20,这里初始第一坐标值对应的第一坐标轴可以为图像坐标系中的纵坐标轴,初始第二坐标值对应的第二坐标轴可以为图像坐标系中的横坐标轴。

具体地,这里代入第一直线的直线方程中的初始第一坐标值可以是与横坐标轴对应初始横坐标值,也可以是与纵坐标轴对应的初始纵坐标值,在多次历史试验中,发现无论是通过手工在样本图像中标注样本参照物得到的初始像素坐标还是通过像素坐标确定模型确定的初始像素坐标,确定的初始像素坐标中的横坐标值的准确性大于纵坐标值的准确性,故本公开实施例可以先对精确度较低的纵坐标值进行修正,即将每个样本参照物的初始像素坐标中的初始横坐标值,代入该样本参照物所在的第一直线的直线方程,得到中间第二坐标值,这里的中间第二坐标值即为该样本参照物的初始像素坐标的初始纵坐标值对应的首次修正后的纵坐标值。

每个样本参照物的初始第一坐标值和中间第二坐标值构成中间像素坐标,比如,针对上述20个样本参照物的初始像素坐标为:(x1,y1)~(x20,y20),按照上述方式修正后,得到对应的20个样本参照物的中间像素坐标:(x1,y1')~(x20,y20')。

然后具体在基于每个样本参照物的中间像素坐标,对位于沿第二方向上的直线上的样本参照物分别进行直线拟合,得到多条第二直线时,可以包括:

基于每个样本参照物的中间像素坐标中的初始第一坐标值和中间第二坐标值,对位于沿第二方向的直线上的样本参照物进行直线拟合,得到多条第二直线。

其中,每条第二直线中位于各样本参照物之间的线段,与其它第二直线中位于各样本参照物之间的线段不相交,且每条第二直线中位于各样本参照物之间的线段,与多条第一直线中位于各样本参照物之间的线段相交。

基于每个样本参照物的中间像素坐标,对沿第二方向的直线上的样本参照物进行直线拟合后,得到的多条第二直线中位于各样本参照物之间的线段,与其它第二直线中位于各样本参照物之间的线段不相交,比如,若对样本参照物进行直线拟合,得到多条第一直线拟合是与图3中的直线l对应的多条第一直线,则对样本参照物进行直线拟合,得到的是与图3中的直线h对应的多条第二直线;若对样本参照物进行直线拟合,得到的是与图3中的直线h对应的多条第一直线,则对样本参照物进行直线拟合,得到的是与图3中的直线l对应的多条第二直线。

具体在进行第二次直线拟合,得到多条第二直线时,同样可以先对样本参照物阵列中的样本参照物按照进行分组,得到多组样本参照物,每组样本参照物在世界坐标系中属于同一条直线,具体在分组时,若进行第一次直线拟合时,对样本参照物的分组方式是按照在世界坐标系中是否属于同一直线l进行分组,则在进行第二次直线拟合时,对样本参照物的分组方式是按照在世界坐标系中是否属于同一直线h进行分组;反之,若进行第一次直线拟合时,对样本参照物的分组方式是按照在世界坐标系中是否属于同一直线h进行分组,则在进行第二次直线拟合时,对样本参照物的分组方式是按照在世界坐标系中是否属于同一直线l进行分组。

本公开实施例在得到多条第一直线时,对样本参照物的分组方式是按照在世界坐标系中是否属于同一直线l进行分组,则在得到多条第二直线时,对样本参照物的分组方式是按照在世界坐标系中是否属于同一直线h进行分组,即将在世界坐标系中属于同一直线h上的样本参照物划分为一组,比如,针对如图3所示的样本图像中,在对沿第二方向上的直线上样本参照物进行直线拟合前,将样本参照物划分为5组,针对每组样本参照物进行直线拟合,得到5条直线。

具体地,针对每组样本参照物对应的中间像素坐标,可以按照最小二乘法进行第二直线拟合,具体可以按照以下公式(4)、公式(5)和公式(6),得到多条直线对应的第二直线方程:

其中,(xi,yi')表示属于同一组样本参照物中第i个样本参照物的中间像素坐标,该中间像素坐标由初始横坐标值和中间纵坐标值构成;n表示属于同一组样本参照物包括n个;x表示属于同一组样本参照物对应的初始横坐标值的平均值;y'表示属于同一组样本参照物对应的中间纵坐标值的平均值,该中间纵坐标值即为对样本参照物进行第一次直线拟合后,针对初始纵坐标值进行修正后得到的中间纵坐标值;b、b2和b3表示第一直线方程中的未知参数。

在将每组样本参照物对应的中间像素坐标代入以上公式(4)~(6)中,得到每组参数初始像素坐标对应的第二直线方程中的未知参数b2和b3后,即可以得到每条第二直线对应的第二直线方程:y=b3x-b2。

s403,基于多条第一直线和多条第二直线,得到修正像素坐标。

这里可以将多条第一直线和多条第二直线的交点对应的像素坐标,作为修正像素坐标。

这里通过计算第一直线方程和第二直线方程的交点坐标值,得到样本参照物阵列中每个样本参照物的修正像素坐标,比如,针对上述20个样本参照物的中间像素坐标为:(x1,y1')~(x20,y20'),按照上述方式修正后,得到对应的20个样本参照物的修正像素坐标:(x1”,y1”)~(x20”,y20”)。

通过上述s401~s403的过程,在对多个样本参照物的初始像素坐标进行修正,得到修正像素坐标时,可以基于样本参照物所属的不同直线对样本参照物的初始像素坐标进行修正,比如选择两个不同方向上的直线,逐渐对多个样本参照物的初始像素坐标进行修正,以得到较为准确的修正像素坐标,具体地,可以在对多个样本参照物的初始像素坐标进行修正的过程中,可以先针对初始像素坐标中的其中一个坐标值进行修正,然后再对另一个坐标值进行修正,逐渐得到准确度较高的修正坐标。

针对上述步骤s104,在得到每个样本参照物在图像坐标系中的修正像素坐标后,即可以基于每个样本参照物在世界坐标系下的世界坐标、以及每个样本参照物在图像坐标系下的修正像素坐标,确定图像采集设备的单应性矩阵,具体地,可以基于每个样本参照物在图像坐标系中的修正像素坐标构成像素坐标矩阵,基于每个样本参照物在世界坐标系中的世界坐标构成世界坐标矩阵,然后以像素坐标矩阵和世界坐标矩阵作为已知量,以图像采集设备的单应性矩阵作为未知量,代入图像采集设备像素坐标和世界坐标的转换方程中,确定图像采集设备的单应性矩阵。

具体地,记录样本参照物阵列中的每个样本参照物在世界坐标系中的世界坐标为:(x1,y1)~(xn,yn),记录世界坐标矩阵为a,像素坐标矩阵为c,单应性矩阵为b,具体表示如下:

然后将世界坐标矩阵为a,像素坐标矩阵为c和单应性矩阵为b代入图像采集设备像素坐标和世界坐标的转换方程,转换方程用以下公式(7)表示:

a=b×c(7);

对该转换方程求解,得到图像采集设备的单应性矩阵b=(aat)*(cat)-1

本公开实施例能够对每个样本参照物在图像坐标系中的初始像素坐标进行修正,得到每个样本参照物在图像坐标系中的较为准确的修正像素坐标,从而根据样本参照物阵列中每个样本参照物在世界坐标系下的世界坐标、以及每个样本参照物在图像坐标系下的修正像素坐标,得到图像采集设备准确的单应性矩阵,即提高了对图像采集设备标定的准确性。

进一步地,如图5所示,在确定图像采集设备的单应性矩阵之后,还可以对确定的单应性矩阵的准确度进行测试,在进行测试时,可以执行以下步骤s501~s504:

s501,获取图像采集设备拍摄的多个测试图像。

这里的图像采集设备与上述提到的图像采集设备为同种图像采集设备,且在拍摄多个测试参照物阵列时的拍摄角度与上文在获取样本参照物阵列时的角度相同。

这里的测试参照物与样本参照物的设置过程类似,在此不再赘述,可以设置多个不同的测试参照物阵列,使得图像采集设备针对每个测试参照物阵列进行拍摄,得到多个测试图像。

s502,针对每个测试图像,确定测试图像中每个测试参照物在图像坐标系中的测试像素坐标。

这里确定测试图像中每个测试参照物在图像坐标系中的测试像素坐标的方式,与上文介绍的确定样本图像中每个样本参照物在图像坐标系中的修正像素坐标的方式相同,在此不再赘述。

s503,基于测试像素坐标和单应性矩阵,确定测试参照物在世界坐标系中的测试世界坐标。

得到每个测试图像中的测试参照物的测试像素坐标后,基于测试像素坐标中得到横坐标值和纵坐标值构成测试像素坐标矩阵,将该测试像素坐标矩阵和单应性矩阵输入图像采集设备像素坐标和世界坐标的转换方程,得到测试图像中的每个测试参照物在世界坐标系中的测试世界坐标。

s504,基于多个测试图像中测试参照物的真实世界坐标和测试世界坐标,确定单应性矩阵的准确度。

比较每个测试图像中测试参照物的真实世界坐标和测试世界坐标,确定该测试图像中的测试参照物的测试世界坐标是否准确,将测试参照物的测试世界坐标准确的个数和测试参照物的总个数的比值,作为单应性矩阵的准确度。

本公开实施例对单应性矩阵进行准确度验证,以确定得到的单应性矩阵的准确度是否满足设定条件,以便在单应性矩阵的准确度不符合设定条件时,能够及时对单应性矩阵进行纠正,比如再次执行针对图像采集设备的标定过程,即执行上述步骤s101~s104的过程,从而得到准确度较高的单应性矩阵,进而保证在基于图像采集设备进行测距时,进行准确测距。

进一步地,在确定图像采集设备的单应性矩阵之后,可以基于该单应性矩阵对目标物进行位置确定,如图6所示,为本公开实施例提供的一种位置确定方法的流程图,具体包括以下步骤s601~s604:

s601,获取图像采集设备拍摄目标物后得到的目标图像。

s602,基于目标图像,确定目标物在图像坐标系下的像素坐标。

s603,基于像素坐标和该图像采集设备的单应性矩阵,确定目标物在世界坐标系下的世界坐标。

s604,基于目标物在世界坐标系下的世界坐标以及世界坐标系中的预设位置点的坐标,确定目标物与预设位置点之间的距离。

以车辆为例,这里的预设位置点可以是车前轴中心点在地面的投影,也可以是车体中心在地面的投影,其作为世界坐标系的原点时,该原点的在世界坐标系中的坐标为已知的,可以将该预设位置点作为在测量目标物与车辆的距离时对应的车辆测距点。

s601~s604整个过程是指在得到图像采集设备的单应性矩阵后,通过该单应性矩阵进行测距的过程,因为目标物图像中的目标物是有面积大小的,在得到该目标物图像后,要根据该目标物图像确定目标物的测距点,再基于该测距点和预设位置点在世界坐标系中的世界坐标确定目标物与车辆的距离。

具体地,得到目标物所在的目标图像后,基于图像识别技术,得到目标物所在的标注框,因为在对图像采集设备的标定过程中是通过选择的椎体参照物与地面相切的位置作为参照物确定的图像采集设备的单应性矩阵,这里在选择目标物的测距点时,也需要在标注框与目标图像中的地面的切线上选择,比如可以将标注框与地面的切线的中心位置点作为测距点,然后将该测距点的像素坐标作为目标物在图像坐标系下的像素坐标。

在得到目标物在图像坐标系下的像素坐标后,将该目标物在图像坐标系下的像素坐标和单应性矩阵输入图像采集设备像素坐标和世界坐标的转换方程中,即可以得到目标物在世界坐标系下的世界坐标,进而根据目标物在世界坐标系下的世界坐标以及预设位置点的世界坐标,计算两者的欧式距离,即可以确定目标物与车辆之间的距离。

本公开实施例得到准确度高的单应性矩阵后,能够利用该单应性矩阵准确地确定目标物在世界坐标系中的世界坐标,进而确定与目标物之间的距离。

综上,本公开实施例提供的标定方法,获取到图像采集设备拍摄样本参照物得到的样本图像后,先确定每个样本参照物在图像坐标系中的初始像素坐标,然后基于每个样本参照物在图像坐标系中的初始像素坐标,对样本图像中的样本参照物阵列进行直线拟合,并基于拟合的直线对初始像素坐标进行修正,得到每个样本参照物在图像坐标系中的修正像素坐标。

这里,因为样本参照物可以预先摆放好,比如可以将样本参照物按照阵列排布,这样属于同一行的样本参照物或者属于同一列的样本参照物在世界坐标系中是位于一条直线上的,然后通过对图像坐标系中样本参照物的初始像素坐标进行直线拟合,即能够对每个样本参照物在图像坐标系中的初始像素坐标进行修正,得到每个样本参照物在图像坐标系中的较为准确的修正像素坐标,从而根据样本参照物中每个样本参照物在世界坐标系下的世界坐标、以及每个样本参照物在图像坐标系下的修正像素坐标,得到图像采集设备准确的单应性矩阵,即提高了对图像采集设备标定的准确性。

本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。

基于同一技术构思,本公开实施例中还提供了与标定方法对应的标定装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述标定方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。

参见图7所示,为本公开实施例提供的一种标定装置700的结构示意图,包括:

图像获取模块701,用于获取图像采集设备拍摄的样本图像;

第一确定模块702,用于基于样本图像,确定样本图像中多个样本参照物在图像坐标系中的初始像素坐标;

坐标修正模块703,用于基于确定的每个样本参照物在图像坐标系中的初始像素坐标,对位于同一条直线上的样本参照物进行直线拟合,并基于拟合的直线对参与拟合的初始像素坐标进行修正,得到修正像素坐标;

第二确定模块704,用于基于样本图像中的每个样本参照物在世界坐标系下的世界坐标、以及得到的修正像素坐标,确定图像采集设备的单应性矩阵。

一种可能的实施方式中,坐标修正模块703用于:

基于确定的每个样本参照物在图像坐标系中的初始像素坐标,对位于沿第一方向的直线上的样本参照物分别进行直线拟合,得到多条第一直线;

基于多条第一直线,对每个样本参照物在图像坐标系中的初始像素坐标进行修正,得到中间像素坐标;并基于每个样本参照物的中间像素坐标,对位于沿第二方向上的直线上的样本参照物分别进行直线拟合,得到多条第二直线,其中,沿第一方向上的直线与沿第二方向上的直线相交;

基于多条第一直线和多条第二直线,得到修正像素坐标。

一种可能的实施方式中,初始像素坐标包括初始第一坐标值和初始第二坐标值,初始第一坐标值对应的第一坐标轴与初始第二坐标值对应的第二坐标轴相互垂直;

坐标修正模块703在用于基于多条第一直线,对每个样本参照物在图像坐标系中的初始像素坐标进行修正,得到中间像素坐标时,包括:

将每个样本参照物的初始像素坐标中的初始第一坐标值,代入该样本参照物所在的第一直线的直线方程,得到中间第二坐标值;一个样本参照物的中间像素坐标包括该样本参照物的初始第一坐标值和中间第二坐标值;

坐标修正模块703在用于基于每个样本参照物的中间像素坐标,对位于沿第二方向上的直线上的样本参照物分别进行直线拟合,得到多条第二直线时,包括

基于每个样本参照物的中间像素坐标中的初始第一坐标值和中间第二坐标值,对位于沿第二方向的直线上的样本参照物进行第直线拟合,得到多条第二直线。

一种可能的实施方式中,坐标修正模块703在用于基于多条第一直线和多条第二直线,得到修正像素坐标时,包括:

将多条第一直线和多条第二直线的交点对应的像素坐标,作为修正像素坐标。

一种可能的实施方式中,第一坐标轴为图像坐标系中的横坐标轴,第二坐标轴为图像坐标系中的纵坐标轴;或者,第一坐标轴为图像坐标系中的纵坐标轴,第二坐标轴为图像坐标系中的横坐标轴。

一种可能的实施方式中,第二确定模块704在确定图像采集设备的单应性矩阵之后,还用于:

获取图像采集设备拍摄的多个测试图像;

针对每个测试图像,确定测试图像中每个测试参照物在图像坐标系中的测试像素坐标;

基于测试像素坐标和单应性矩阵,确定测试参照物在世界坐标系中的测试世界坐标;

基于多个测试图像中测试参照物的真实世界坐标和测试世界坐标,确定单应性矩阵的准确度。

参见图8所示,本公开实施例还提供了一种位置确定装置800,通过上述标定装置确定的图像采集设备的单应性矩阵对基于该图像采集设备获取到的目标物进行定位。该位置确定装置800包括:

图像获取模块801,用于获取图像采集设备拍摄目标物后得到的目标图像;

第一确定模块802,用于基于目标图像,确定目标物在图像坐标系下的像素坐标;

第二确定模块803,用于基于像素坐标和图像采集设备的单应性矩阵,确定目标物在世界坐标系下的世界坐标,图像采集设备的单应性矩阵采用本公开实施例提供的任一标定方法确定。

一种可能的实施方式中,确定目标物在世界坐标系下的世界坐标之后,第二确定模块803还用于:

基于目标物在世界坐标系下的世界坐标以及世界坐标系中的预设位置点的坐标,确定目标物与预设位置点之间的距离。

对应于图1所示的标定方法,本公开实施例还提供了一种电子设备900,如图9所示,为本公开实施例提供的电子设备的结构示意图,包括:

处理器901、存储器902、和总线903;存储器902用于存储执行指令,包括内存9021和外部存储器9022;这里的内存9021也称内存储器,用于暂时存放处理器901中的处理数据,以及与硬盘等外部存储器9022交换的数据,处理器901通过内存9021与外部存储器9022进行数据交换,当电子设备900运行的情况下,处理器901与存储器902之间通过总线903通信,使得处理器901在执行以下指令:获取图像采集设备拍摄的样本图像;基于样本图像,确定样本图像中多个样本参照物在图像坐标系中的初始像素坐标;基于确定的每个样本参照物在图像坐标系中的初始像素坐标,对位于同一条直线上的样本参照物进行直线拟合,并基于拟合的直线对参与拟合的初始像素坐标进行修正,得到修正像素坐标;基于样本图像中的每个样本参照物在世界坐标系下的世界坐标、以及得到的修正像素坐标,确定图像采集设备的单应性矩阵。

对应于图6所示的位置确定方法,本公开实施例还提供了一种电子设备1000,如图10所示,为本公开实施例提供的电子设备的结构示意图,包括:

处理器1001、存储器1002、和总线1003;存储器1002用于存储执行指令,包括内存10021和外部存储器10022;这里的内存10021也称内存储器,用于暂时存放处理器1001中的处理数据,以及与硬盘等外部存储器10022交换的数据,处理器1001通过内存10021与外部存储器10022进行数据交换,当电子设备1000运行的情况下,处理器1001与存储器1002之间通过总线1003通信,使得处理器1001在执行以下指令:获取图像采集设备拍摄目标物后得到的目标图像;基于目标图像,确定目标物在图像坐标系下的像素坐标;基于像素坐标和图像采集设备的单应性矩阵,确定目标物在世界坐标系下的世界坐标,图像采集设备的单应性矩阵采用第一方面的标定方法确定。

本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行的情况下执行上述方法实施例中的标定方法的步骤或者位置确定方法的步骤。

本公开实施例所提供的标定方法或者位置确定方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中的标定方法的步骤或者位置确定方法的步骤,具体可参见上述方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现的情况下可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用的情况下,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1