确定坐标系转换参数的方法、装置、电子设备和存储介质与流程

文档序号:18476787发布日期:2019-08-20 21:13阅读:198来源:国知局
确定坐标系转换参数的方法、装置、电子设备和存储介质与流程

本公开的实施例一般地涉及成像设备和自动驾驶的技术领域,并且更特别地,涉及一种确定坐标系转换参数的方法、装置、电子设备和计算机可读存储介质。



背景技术:

近年来,自动驾驶和自主停车等技术逐渐崭露头角,这些技术的基础在于对车辆周围环境的感知,即识别车辆附近环境的具体状况。已经提出的是,除了车载(也称为“车侧”)的传感器装置(例如,车载激光雷达、成像设备等)之外,还可以通过车外(也称为“路侧”)的传感器装置(例如,安装在道路两侧或停车场内的成像设备)来获取车辆环境的相关数据,以便更好地支持车辆的自动驾驶或自主停车。由于自动驾驶或自主停车的车辆通常都是以世界坐标系(例如,通用横墨卡托utm坐标系)为参考进行定位的,所以为了实现对自动驾驶或自主停车的支持,车外的成像设备需要首先进行外参数的标定,也即,确定世界坐标系与成像设备的相机坐标系之间的转换参数。

目前,车载成像设备的外参数标定通常是通过标定车载激光雷达与成像设备之间的关系来实现的,而车外成像设备在处于全球定位系统(gps)信号覆盖的情况下,可以通过基于gps信号的测量来完成外参数的标定。然而,在例如地下停车场、隧道等的一些场景中,可能没有gps信号,也没有设置激光雷达传感器,因此难以实现对该场景中的成像设备的外参数标定。



技术实现要素:

本公开的实施例涉及一种确定成像设备的坐标系转换参数的技术方案。

在本公开的第一方面,提供了一种确定成像设备的坐标系转换参数的方法。该方法包括:获得成像设备的坐标系转换参数的初始值,坐标系转换参数用于将世界坐标系转换为成像设备的设备坐标系。该方法还包括:获得成像设备的成像区域的反射值地图,反射值地图具有与世界坐标系重合的横坐标轴和纵坐标轴,反射值地图的坐标点记录与成像区域中的至少一个反射点相关联的反射强度,至少一个反射点由成像区域中的物体反射探测光而形成、并且在世界坐标系中具有相同的横坐标和纵坐标。该方法进一步包括:基于反射值地图来更新坐标系转换参数的初始值,以获得坐标系转换参数的目标值。

在本公开的第二方面,提供了一种确定成像设备的坐标系转换参数的装置。该装置包括:初始值获得模块,被配置为获得成像设备的坐标系转换参数的初始值,坐标系转换参数用于将世界坐标系转换为成像设备的设备坐标系。该装置还包括:反射值地图获得模块,被配置为获得成像设备的成像区域的反射值地图,反射值地图具有与世界坐标系重合的横坐标轴和纵坐标轴,反射值地图的坐标点记录与成像区域中的至少一个反射点相关联的反射强度,至少一个反射点由成像区域中的物体反射探测光而形成、并且在世界坐标系中具有相同的横坐标和纵坐标。该装置进一步包括:初始值更新模块,被配置为基于反射值地图来更新坐标系转换参数的初始值,以获得坐标系转换参数的目标值。

在本公开的第三方面,提供了一种电子设备。该电子设备包括一个或多个处理器;以及存储装置,用于存储一个或多个程序。当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现第一方面的方法。

在本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现第一方面的方法。

应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其他特征通过以下的描述将变得容易理解。

附图说明

通过参考附图阅读下文的详细描述,本公开的实施例的上述以及其他目的、特征和优点将变得容易理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施例,其中:

图1示出了本公开的一些实施例能够在其中实现的示例环境的示意图;

图2示出了根据本公开的实施例的确定成像设备的坐标系转换参数的示例方法的示意性流程图;

图3示出了根据本公开的实施例的获得坐标系转换参数的初始值的示例方法的示意性流程图;

图4示出了根据本公开的实施例的更新坐标系转换参数的初始值的示例方法的示意性流程图;

图5示出了根据本公开的实施例的确定给定点在投影图像和捕获图像之间的差异的示例方法的示意性流程图;

图6示出了根据本公开的实施例的确定成像设备的坐标系转换参数的装置的示意性框图;以及

图7示出了一种可以被用来实施本公开的实施例的设备的示意性框图。

贯穿所有附图,相同或者相似的参考标号被用来表示相同或者相似的组件。

具体实施方式

下面将参考附图中所示出的若干示例性实施例来描述本公开的原理和精神。应当理解,描述这些具体的实施例仅是为了使本领域的技术人员能够更好地理解并实现本公开,而并非以任何方式限制本公开的范围。

如本文中使用的,术语“坐标系转换参数”例如可以是在相机坐标系、图像坐标系、像素坐标系与世界坐标系之间进行转换所需要的参数,例如平移矩阵、旋转矩阵,等等。在本公开的上下文中,世界坐标系可以是指覆盖全球范围的参考坐标系统,其例如可以用于辅助车辆的自动驾驶或自主停车等,其示例包括utm坐标系统、经纬度坐标系统,等等。相机坐标系的原点可以位于成像设备的光心,竖轴(z轴)可以与成像设备的光轴重合,横轴(x轴)和纵轴(y轴)可以与成像平面平行。在本公开的上下文中,相机坐标系也可以称为成像设备坐标系或简称为设备坐标系。像素坐标系的原点可以在图像的左上角,横轴和纵轴可以分别为图像所在的像素行和像素列,单位可以为像素。图像坐标系的原点可以在图像的中心(即像素坐标系的中点),横轴和纵轴与像素坐标系平行,单位可以为毫米。但是,将理解,在其他的实施例中,这些坐标系也可以按照在本领域中所接受的其他合理的方式被定义。

在本公开的实施例中,“坐标系转换参数”可以包括或指代相机标定领域中所谓的“外参”、“外参数”、“外部参数”、“外参矩阵”,等等。通常,“外参数”可以是指与特定成像设备相关联的相机坐标系与世界坐标系(例如,utm坐标系)之间的转换参数。“外参数标定”可以是指对相机坐标系与世界坐标系之间的转换参数的确定。因此,在本公开的实施例的描述中,为了方便,术语“外参数”可以与术语“坐标系转换参数”替换使用。

如上文指出的,在例如地下停车场、隧道等的一些场景中,可能没有gps信号,也没有设置激光雷达传感器,因此难以实现对该场景中的成像设备的外参数标定。然而,只有在获得了成像设备的外参之后,成像设备才能更好地用于辅助车辆的自动驾驶或自主停车,例如执行单目视觉回到三维(3d)的算法,等等。因此,需要一种适用范围更为广泛的外参数标定方法,来获得成像设备的相机坐标系与世界坐标系之间的转换关系。

鉴于传统方案中存在的上述问题以及潜在的其他问题,本公开的实施例提出了一种确定成像设备的坐标系转换参数的方法、装置、电子设备和计算机可读存储介质,以提供一种适用范围更为广泛的外参数标定方法。应当注意的是,尽管本公开的实施例适用于没有gps信号和激光雷达传感器的场景,但是本公开的实施例也并不限于这样的场景,而是等同地适用于存在gps信号和激光雷达传感器的场景。

相对于成像设备的外参数的传统标定方法,本公开的实施例实现了在没有gps信号和场端激光雷达传感器的条件下,获得成像设备的相机坐标系与世界坐标系之间的转换外参。本公开的实施例操作简单标定效率高,平均像素误差可以小于等于2个像素,为路侧感知提供了精度保障。此外,由于本公开的实施例不依赖于定位信号和雷达传感器,因此提高了成像设备的参数标定的灵活性和普适性。下面结合附图来描述本公开的若干实施例。

图1示出了本公开的一些实施例能够在其中实现的示例环境100的示意图。如图1所示,示例环境100以示意性的方式描绘了某个停车场的场景。具体地,所描绘的停车场中设置有多个停车位,例如,由车位号108所标示的停车位“cw185”。此外,停车场的地面上还绘制有车道线101、指引符号104、车位线106,等等。应当理解,图1中所描绘的这些设施和标识仅是示例,在其他的停车场中将会存在不同的设施和标识或另外的设施或标识,本公开的实施例在此方面不受限制。此外,还应当理解,本公开的实施例不限于图1所描绘的停车场的场景,而是一般性地适用于任何与自动驾驶或自主停车相关联的场景。更一般地,本公开的实施例也适用于任何用途的成像设备,而不限于辅助自动驾驶或自主停车的成像设备。

在图1的示例中,多个车辆110-1至110-5(下文中统称为车辆110)正停放在对应的停车位上。车辆110可以是可以承载人和/或物并且通过发动机等动力系统移动的任何类型的车辆,包括但不限于轿车、卡车、巴士、电动车、摩托车、房车、火车,等等。示例环境100中的一个或多个车辆110可以是具有自动驾驶或自主停车能力的车辆,这样的车辆也被称为无人驾驶车辆。当然,示例环境100中的一个或一些车辆110也可以是不具有自动驾驶或自主停车能力的车辆。

示例环境100中还布置有成像设备(也称为图像传感器)105,用于捕获示例环境中的图像。在本公开的上下文中,成像设备一般性地指代任何具有成像功能的设备,包括车载的成像设备和车外的成像设备、以及用于任何目的的成像设备。这样的成像设备包括但不限于照相机、摄像机、摄影机、摄像头、监视探头、行车记录仪、具有拍照或摄像功能的移动设备,等等。在一些实施例中,成像设备105可以独立于车辆110,用于监测示例环境100的状况以获得与示例环境100相关的感知信息,来辅助车辆110的自动驾驶或自主停车。为了减少遮挡,成像设备105可以设置在示例环境100中的较高位置。例如,设置在固定杆上或墙壁的较高处,以便更好地监测示例环境100。

尽管图1中仅示出了一个成像设备105,但是将理解,在示例环境100的每个区域中可以布置有多个成像设备。在一些实施例中,除了固定在特定位置的成像设备105之外,示例环境100中还可以设置可移动或可转动的成像设备,等等。此外,尽管图1中的成像设备105被描绘为设置在车辆110的外部,但是将理解,本公开的实施例也等同地适用于设置在车辆110上的成像设备,即车载成像设备。如所示出的,成像设备105通信地(例如,有线地或无线地)连接到计算设备120。在对成像设备105执行外参数标定时,成像设备105的位置和/或取向信息以及所捕获的图像数据可以被提供给计算设备120,以便在确定成像设备105的坐标系转换参数时使用。此外,计算设备120还可以向成像设备105发送各种控制信号来控制成像设备105的各种操作,例如控制成像设备105捕获图像、进行移动或转动,等等。

将理解,计算设备120可以是任何类型的移动终端、固定终端或便携式终端,包括移动电话、站点、单元、设备、多媒体计算机、多媒体平板、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、个人通信系统(pcs)设备、个人导航设备、个人数字助理(pda)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者其任何组合,包括这些设备的配件和外设或者其任何组合。还预见到的是,计算设备120能够支持任何类型的针对用户的接口(诸如“可佩戴”电路等)。更一般地,计算设备120可以是能够用于确定成像设备的坐标系转换参数的任何服务器或客户端设备。下面结合图2来描述根据本公开的实施例的确定成像设备的坐标系转换参数的示例方法。

图2示出了根据本公开的实施例的确定成像设备105的坐标系转换参数的示例方法200的示意性流程图。在一些实施例中,示例方法200可以由图1中的计算设备120来实现,例如可以由计算设备120的处理器或处理单元来实现。在其他实施例中,示例方法200的全部或部分也可以由独立于示例环境100的计算设备来实现,或者可以由示例环境100中的其他单元来实现。为了便于讨论,将结合图1来描述示例方法200。

如上文提到的,示例环境100中的成像设备105可以用于辅助车辆110在停车场内进行自主停车或自动驾驶。更一般地,在交通道路上的自动驾驶场景中,车外的成像设备可以类似地辅助车辆来进行自动驾驶。因为车辆110通常是参考世界坐标系来进行自主停车或自动驾驶的,所以为了辅助车辆110的自主停车或自动驾驶,成像设备105可能需要标定外参数,也即确定成像设备105的相机坐标系与世界坐标系之间的坐标系转换参数。通过所确定的坐标系转换参数,计算设备120可以将成像设备105所捕获到的图像信息用于辅助车辆110进行自动驾驶或自主停车。

因此,在210处,计算设备120获得成像设备105的坐标系转换参数的初始值。如上文指出的,成像设备105的外参数用于在成像设备105的相机坐标系与世界坐标系之间的转换,所以成像设备105的外参数可以通过成像设备105在世界坐标系中的位置和取向来计算得到。换言之,为了获得成像设备105的外参数的初始值,计算设备120可以首先确定成像设备105在世界坐标系中的位置和取向。下文分别对位置和取向的确定进行描述。

计算设备120可以使用任何合适方式来确定成像设备105在世界坐标系中的位置,也即在世界坐标系中的坐标。例如,计算设备120可以获取通过手持gps设备测量确定的成像设备105的位置信息。又例如,计算设备120可以获取通过全站仪的测量确定的成像设备105的位置信息。在一些实施例中,计算设备120可以获取用户输入或估计的成像设备105的位置信息。应理解到,成像设备105的位置信息可以是通过其他任何合适设备或方法得到的,本公开的实施例对此并不做任何限制。此外,应当理解,成像设备105的位置信息可以是适用于坐标系转换参数的任何合适形式。下文结合图3来描述获得成像设备105的位置信息的一种示例过程。

图3示出了根据本公开的实施例的获得坐标系转换参数的初始值的示例方法300的示意性流程图。在一些实施例中,示例方法300可以由图1中的计算设备120来实现,例如可以由计算设备120的处理器或处理单元来实现。在其他实施例中,示例方法300的全部或部分也可以由独立于示例环境100的计算设备来实现,或者可以由示例环境100中的其他单元来实现。通过示例方法300,成像设备105的外参数的平移向量的初始值可以有效地被计算出,而不管是否存在gps信号。

在310处,计算设备120可以获得世界坐标系中的参考点的参考坐标,该参考点可以是世界坐标系中便于确定其坐标的任何点。由于成像设备105可能被设置在没有gps信号的区域,所以可以在有gps信号的区域处确定上述参考点的坐标。而成像设备105与上述参考点之间的位置关系可以利用例如全站仪来测量,但是将理解,使用其他测量工具也是可行的。在一些实施例中,可以将全站仪的原点设置在该参考点处。换言之,可以测量得到全站仪的原点在世界坐标系中的坐标,该坐标可以表示为a。

在320处,计算设备120可以获得成像设备105的光心与参考点的位置关系。如前文指出的,成像设备105的相机坐标系的原点设置在成像设备105的光心,所以成像设备105的光心在世界坐标系中的坐标可以确定成像设备105的外参数中的平移向量。例如,在使用全站仪的示例中,可以使用全站仪从原点开始分段测量,直至测量到成像设备105的光心。每段的测量变换关系可以表示为ti,最后可以计算出成像设备105的光心的坐标:a中心=ti*…*t1*a。

在330处,计算设备120可以基于参考点的参考坐标及其与成像设备105的光心之间的位置关系,来确定坐标系转换参数中的平移向量的初始值。成像设备105的光心即为相机坐标系的原点,因此外参数的平移向量可以通过成像设备105的光心在世界坐标系中的坐标与世界坐标系的原点之间的平移来确定。因此,基于成像设备105的光心与参考点的位置关系、以及参考点在世界坐标系中的坐标,计算设备120可以得出成像设备105的光心在世界坐标系中的坐标,进而得出成像设备105的外参数的平移向量的初始值。

除了平移向量之外,成像设备105的外参数中还包括旋转矩阵,其表征成像设备105的相机坐标系与世界坐标系之间的旋转关系。因此,为了获得成像设备105的外参数的初始值,计算设备120还需要确定旋转矩阵的初始值。在一些实施例中,计算设备120可以获得成像设备105与正东方向、正北方向和天空方向所成的角度,以获得外参数中的旋转矩阵的初始值。例如,由于上述角度不要求高精度,因此可以通过角度尺进行测量来完成。通过该方式,成像设备105的外参数的旋转矩阵的初始值可以简单地被测量得到,而无需使用其他复杂传感器。

应理解到,该方向信息也可以通过其他任何合适设备或方法来得到,本公开的实施例对此并不做任何限制。此外,该方向信息可以是适用于坐标系转换参数的任何合适形式。在确定了平移向量的初始值和旋转矩阵的初始值之后,计算设备120即获得成像设备105的坐标系转换参数的初始值。

返回参考图2,在220处,计算设备120获得成像设备105的成像区域的反射值地图。在本公开的上下文中,反射值地图是指带有物体或对象对探测光的反射所形成的反射点的反射值信息的地图,其可以通过激光雷达点云来制作。具体地,激光雷达发射的激光经空气传播到地面或物体表面,再经过地面或表面而反射,激光被反射的能量值可以被记录。因此,激光雷达点云中的每个点除了有位置信息(例如,横坐标x、纵坐标y和竖坐标z)之外,还有反射值的强度信息(可以表示为i)。反射值地图的制作可以基于点云的x、y、z、i四个变量。

因此,成像设备105的成像区域的反射值地图可以利用激光雷达在成像设备105的成像区域中采集的物体对激光的反射点云来制作。例如,安装有激光雷达的采集车可以采集成像设备105的成像区域的点云。然后,可以利用同步定位与建图(slam)方法根据原始的激光点云制作点云地图。接着,从点云地图去掉竖轴(z轴)维度的信息即变成二维图像,该二维图像的横坐标为点云的横坐标x,二维图像的纵坐标为点云的纵坐标y,而该二维图像的像素内容为点云的反射值强度i,该二维图像即反射值地图。

由此可见,反射值地图具有与世界坐标系重合的横坐标轴和纵坐标轴,而反射值地图的坐标点记录与成像设备105的成像区域中的一个或多个反射点相关联的反射强度,该一个或多个反射点由成像区域中的物体反射探测光而形成、并且在世界坐标系中具有相同的横坐标和纵坐标。换言之,在激光点云地图中具有相同横坐标和纵坐标的多个反射点可能对应于反射值地图中的相同坐标点,而该坐标点的反射值可以例如对应于上述多个反射点的反射值之和。

下文将描述几种从激光点云地图来制作反射值地图的示例方法,其中将假定是由执行示例方法200的计算设备120来制作反射值地图。但是,应当理解的是,在其他实施例中,反射值地图可以由其他的计算设备来制作,而计算设备120可以利用已经制作完成的反射值地图来执行示例方法200。

作为第一种示例制作方式,计算设备120可以首先从待构建的反射值地图对应的区域中采集到的激光点云中选取出用于构建反射值地图的激光点云,以及从用于构建反射值地图的激光点云中选取出样本帧激光点云。接着,计算设备120可以从样本帧激光点云中选取出关键帧激光点云,以及基于关键帧激光点云对应的调整量,确定出最优关键帧激光点云。调整量基于将关键帧激光点云拼接到其他的关键帧激光点云对应的激光雷达的中心点的拼接后的位置,相对于关键帧激光点云对应的激光雷达的中心点的位置的移动量而确定。

然后,计算设备120可以对用于构建反射值地图的激光点云中除最优关键帧激光点云之外的激光点云进行全局位姿优化,得到每一帧用于构建反射值地图的激光点云对应的激光雷达的中心点的用于构建反射值地图的位置和姿态角。最后,计算设备120可以基于每一帧用于构建反射值地图的激光点云对应的激光雷达的中心点的用于构建反射值地图的位置和姿态角,构建反射值地图。

作为另一种示例制作方式,计算设备120可以首先分别从待构建的反射值地图对应的区域中的每一个采集区域中采集到的激光点云中选取出用于构建反射值地图的激光点云,以及分别从每一个采集区域中采集到的用于构建反射值地图的激光点云中选取出样本帧激光点云。接着,计算设备120可以分别从每一个采集区域采集到的样本帧激光点云中选取出关键帧激光点云,以及分别基于在每一个采集区域采集到的关键帧激光点云对应的调整量,确定出每一个采集区域采集到的最优关键帧激光点云。调整量基于将关键帧激光点云拼接到其他的关键帧激光点云对应的激光雷达的中心点的拼接后的位置相对于关键帧激光点云对应的激光雷达的中心点的位置的移动量而确定。

然后,计算设备120可以分别对每一个采集区域采集到的用于构建反射值地图的激光点云中除关键帧激光点云之外的激光点云进行全局位姿优化,得到每一个采集区域采集到的每一帧用于构建反射值地图的激光点云对应的激光雷达的中心点的用于构建反射值地图的位置和姿态角。最后,计算设备120可以基于每一个采集区域中采集到的每一帧用于构建反射值地图的激光点云对应的激光雷达的中心点的用于构建反射值地图的位置和姿态角,构建反射值地图。将理解,除了此处提供的示例性制作方式之外,计算设备120还可以采用任何适当的方式从激光点云地图来制作反射值地图。

在230处,在获得成像设备105的外参数的初始值和反射值地图之后,计算设备120基于反射值地图来更新坐标系转换参数的初始值,以获得坐标系转换参数的目标值。例如,通过测量手段获得的外参数的初始值可能是不够精确的,因此需要被优化(或提高精确度)以使得成像设备105更好地用于辅助自动驾驶或自主停车等。如上文描述的,反射值地图中记录有成像设备105的成像区域中的反射点在世界坐标系中的坐标。因此,反射值地图中的坐标信息可以用于优化成像设备105的外参数的初始值,从而得出外参数的初始值的目标值。将理解,计算设备120可以使用任何适当的方式将反射值地图中的坐标信息用于优化外参数的初始值,例如,将反射值地图中的坐标与成像设备105所捕获的图像中的像素点相关联。下文结合图4来描述初始值优化过程的一种示例。

图4示出了根据本公开的实施例的更新坐标系转换参数的初始值的示例方法400的示意性流程图。在一些实施例中,示例方法400可以由图1中的计算设备120来实现,例如可以由计算设备120的处理器或处理单元来实现。在其他实施例中,示例方法400的全部或部分也可以由独立于示例环境100的计算设备来实现,或者可以由示例环境100中的其他单元来实现。通过示例方法400,成像设备105的外参数可以被调整得更为精确,从而使得成像设备105可以用于辅助自动驾驶或自主停车。

在410处,计算设备120基于成像设备105的外参数的初始值,将反射值地图投影到成像设备105的像素坐标系中,以获得成像设备105的成像区域的第一图像。如前文所述,成像设备105的外参数可以实现从世界坐标系的三维坐标到成像设备105的相机坐标系的三维坐标之间的转换。进一步地,利用成像设备105的内参数和/或其他参数,可以将相机坐标系的三维坐标转换到成像设备105的像素坐标系中的二维像素坐标。应当注意,在本公开的上下文中,由于主要关注于成像设备105的外参数的确定,因此成像设备105的内参数或其他参数可以假设为是已知的。

因此,借助于此前获得的外参数的初始值,计算设备120可以将反射值地图投影到成像设备105的像素坐标系,以便于与成像设备105所捕获的图像进行对比,来判断外参数是否足够准确。如前文所述,反射值地图的坐标点具有世界坐标系中的横坐标和纵坐标。在投影的过程中,坐标点缺失的第三维度(z轴)的坐标可以通过坐标点的横坐标和纵坐标来反查。然而,在反射值地图中,相同的横坐标和纵坐标可能对应于多个竖坐标,因此竖坐标可能无法通过横坐标和纵坐标唯一地确定。在这个方面,注意到成像设备105通常安装在示例环境100中的较高位置,因此成像设备105捕获的图像可以认为是一种俯视图。在这种情况下,在具有与特定横坐标和特征纵坐标相对应的多个竖坐标的情况下,可以在该多个竖坐标中选取最小的竖坐标作为与该横坐标和该纵坐标相对应的竖坐标值。

在420处,计算设备120通过成像设备105来捕获其成像区域的第二图像,以便用于与反射值地图投影得到的第一图像来进行对比或匹配,以判断外参数的初始值是否足够精确。在一些实施例中,该匹配可以通过第一图像和第二图像中的对应像素点来进行。因此,在430处,计算设备120确定成像设备105的成像区域中的给定点在第一图像中的第一像素坐标和在第二图像中的第二像素坐标之间的差异。如上所述,由于成像设备105的外参数的初始值可能并不精确,因此根据该初始值将反射值地图进行投影所得到的第一图像可能与成像设备105直接捕获的第二图像之间存在偏差。该偏差可以通过给定点在两个图像中的像素坐标之间的差异来衡量。

例如,该给定点可以是成像设备105的成像区域中的物体的边缘点或边界点,也即,与周围环境相比具有显著区别的点,诸如停车场中的立柱的边缘点、道路上的路标的边缘点,等等。更一般地,该给定点也可以是成像区域中的任何具有突出特征的点。在一些实施例中,计算设备120可以分别在第一图像和第二图像中提取特征点的集合来计算上述差异,由此可以提高计算的精确度。下面结合图5对此进行具体地描述。

图5示出了根据本公开的实施例的确定给定点在投影图像和捕获图像之间的差异的示例方法500的示意性流程图。在一些实施例中,示例方法500可以由图1中的计算设备120来实现,例如可以由计算设备120的处理器或处理单元来实现。在其他实施例中,示例方法500的全部或部分也可以由独立于示例环境100的计算设备来实现,或者可以由示例环境100中的其他单元来实现。通过示例方法500,投影图像和捕获图像之间的差异可以更准确地被确定,从而提高最终确定的外参数的取值的精确度。

在510处,计算设备120可以从第一图像中提取第一特征点集合。计算设备120可以使用任何适当的方式从第一图像中提取第一特征点集合。在一些实施例中,计算设备120可以通过预定的特征点识别条件(例如,与周围像素点的差异超过阈值)来识别第一图像中的第一特征点集合。在其他实施例中,计算设备120可以通过已有的图像特征点提取和匹配算法来提取第一特征点集合,例如orb算法或sift算法,等等。

在520处,计算设备120可以从第二图像中提取与第一特征点集合相对应的第二特征点集合。计算设备120可以使用任何适当的方式从第二图像中提取与第一特征点集合相对应的第二特征点集合。例如,计算设备120可以直接将第二图像与第二图像重合进行比对,从而确定出第一特征点集合在第二图像中相对应的第二特征点集合。又例如,计算设备120可以通过相同的特征点识别条件来识别第二图像中的第二特征点集合,因此识别出的特征点集合可以认为与第一特征点集合是对应的。再例如,计算设备120可以使用已有的图像特征点提取和匹配算法来确定与第一特征点集合相对应的第二特征点集合,诸如orb算法或sift算法,等等。

在530处,计算设备120可以计算第一特征点集合和第二特征点集合中的对应点之间的像素距离的总和。该总和可以反映出第一图像与第二图像中之间的偏差大小,进一步可以反映出成像设备105的外参数的初始值的准确性。在一些实施例中,为了得出上述像素距离的总和,针对第一特征点集合中的每个给定特征点,计算设备120可以在第二特征点集合中确定与给定特征点距离最近的对应特征点,也即确定出与给定特征点相对应的特征点。接着,计算设备120可以计算给定特征点与对应特征点之间的像素距离,该像素距离可以通过像素坐标来表示。然后,计算设备120可以将所有匹配特征点对之间的像素距离相加,来得出像素距离的总和。通过这样的方式,在第二图像中的对应特征点可以高效且准确地被确定,从而减小像素距离的总和的计算量。

返回参考图4,在440处,计算设备120基于给定点的第一像素坐标与第二像素坐标之间的差异,来调整坐标系转换参数的初始值。反射值地图中的坐标点的坐标可以被认为是准确的,在成像设备105的外参数的初始值足够精确的情况下,则基于该初始值投影得到的第一图像与成像设备105直接捕获的第二图像之间关于相同给定点的像素坐标差异应该是足够小的。因此,在一些实施例中,如果该差异大于预设的可配置阈值,则意味着外参数的初始值不够准确。在这种情况下,计算设备120可以调节成像设备105的外参数的初始值,重新对反射值图像进行投影得到第一图像,以使得该差异变小。换言之,计算设备120可以使用迭代的方式对外参数的取值进行调整,直到上述差异小于预设的可配置阈值。

例如,在上文描述的提取特征点集合的示例中,如果计算设备120计算得到的第一特征点集合和第二特征点集合中的对应点之间的像素距离的总和小于预设的可配置阈值,这意味着成像设备105的外参数的取值(该取值可能已经从初始值迭代调整多次)已经足够精确,则计算设备120可以确定成像设备105的调整后的坐标系转换参数的取值作为坐标系转换参数的目标值,也即,最终得到成像设备105的外参数的值。

为了更好地说明上述特征点集合的匹配过程,下文将通过数学运算的方式对其进行描述。应当理解,下面的数学描述仅是示例性的,无意以任何方式限制本公开的范围。在其他实施例中,上述过程可以使用另外的数学描述方式来描述。

具体地,计算设备120可以首先分别对反射值地图投影得到的第一图像和成像设备105捕获的第二图像进行特征点提取,提取出两幅图像中的第一特征点集合和第二特征点集合。例如,第一和第二特征点集合可以分别对应于物体在第一和第二图像中成像的角点和特征明显的轮廓信息,等等。假设第一特征点集合表示为p,因此可以在第二图像中寻找离投影点集合p最近的点构成第二特征点集合p。此外,在下面的推导中,将成像设备105的外参中的旋转矩阵表示为r,平移向量表示为t。

接着,计算设备120可以定义两个特征点集合(也可以称为点云),即第一特征点集合p与第二特征点集合p之间的误差项e,其可以由下面的公式(1)表示:

e=p-(rp+t)(1)

然后,计算设备120可以构建最小二乘问题,并求解出使得特征点集合的像素点对的误差平方和达到极小的r和t,这可以通过下面的公式(2)表示,其中i表示第i个特征点,n表示特征点的个数:

将理解,最小二乘法仅为一种示例,在其他实施例中,任何具有类似功能的已有的和未来开发的其他数学方法可以用于这里的计算。为了求解上述优化问题,计算设备120可以首先定义两组特征点集合的质心,这通过下面的公式(3)来表示。

因此,公式(2)表示的目标函数可以转换为下面的公式(4):

假设pi-p=q,pi-p=q,由于上式(4)中的第二项可以为0,则目标函数可以变为下面的公式(5):

上面的公式(5)中的第一项与r无关,第二项rtr=i也与r无关。因此,优化函数可以变为下面的公式(6):

接着,计算设备120可以定义然后可以对w进行svd分解得到w=u∑t,则r=vut;t=p-rp,由此求得成像设备105的外参数矩阵可以表示为下面的公式(7)。

之后用求得的t重新计算误差项e,如果e小于预设的可配置阈值或者迭代次数达到预设的阈值次数,则可以停止迭代,否则可以用新求得的外参t重新投影得到第一图像,然后重新在第二图像中计算最近点集合,即第二特征点集合p,开始下一次迭代。

图6示出了根据本公开的实施例的确定成像设备的坐标系转换参数的装置600的示意性框图。在一些实施例中,装置600可以被包括在图1的计算设备120中或者被实现为计算设备120。

如图6所示,装置600包括初始值获得模块610、反射值地图获得模块620和初始值更新模块630。初始值获得模块610被配置为获得成像设备的坐标系转换参数的初始值,坐标系转换参数用于将世界坐标系转换为成像设备的设备坐标系。反射值地图获得模块620被配置为获得成像设备的成像区域的反射值地图,反射值地图具有与世界坐标系重合的横坐标轴和纵坐标轴,反射值地图的坐标点记录与成像区域中的至少一个反射点相关联的反射强度,至少一个反射点由成像区域中的物体反射探测光而形成、并且在世界坐标系中具有相同的横坐标和纵坐标。初始值更新模块630被配置为基于反射值地图来更新坐标系转换参数的初始值,以获得坐标系转换参数的目标值。

在一些实施例中,初始值更新模块630可以包括投影模块、捕获模块、差异确定模块和初始值调整模块。投影模块被配置为基于初始值,将反射值地图投影到成像设备的像素坐标系中,以获得成像区域的第一图像。捕获模块被配置为通过成像设备来捕获成像区域的第二图像。差异确定模块被配置为确定成像区域中的给定点在第一图像中的第一像素坐标和在第二图像中的第二像素坐标之间的差异。初始值调整模块被配置为基于差异来调整坐标系转换参数的初始值。

在一些实施例中,差异确定模块可以进一步包括第一提取模块、第二提取模块和总和计算模块。第一提取模块被配置为从第一图像中提取第一特征点集合。第二提取模块被配置为从第二图像中提取与第一特征点集合相对应的第二特征点集合。总和计算模块被配置为计算第一特征点集合和第二特征点集合中的对应点之间的像素距离的总和。

在一些实施例中,针对第一特征点集合中的每个给定特征点,总和计算模块可以进一步包括对应特征点确定模块和像素距离计算模块。对应特征点确定模块被配置为在第二特征点集合中确定与给定特征点距离最近的对应特征点。像素距离计算模块被配置为计算给定特征点与对应特征点之间的像素距离。

在一些实施例中,装置600还可以包括目标值确定模块。目标值确定模块被配置为响应于像素距离的总和小于阈值,确定调整后的坐标系转换参数的值作为目标值。

在一些实施例中,初始值获得模块610可以包括参考坐标获得模块、位置关系获得模块和平移向量初始值确定模块。参考坐标获得模块被配置为获得世界坐标系中的参考点的参考坐标。位置关系获得模块被配置为获得成像设备的光心与参考点的位置关系。平移向量初始值确定模块被配置为基于参考坐标和位置关系,来确定坐标系转换参数中的平移向量的初始值。

在一些实施例中,初始值获得模块610可以包括旋转矩阵初始值确定模块。旋转矩阵初始值确定模块被配置为获得成像设备与正东方向、正北方向和天空方向所成的角度,以获得坐标系转换参数中的旋转矩阵的初始值。

在一些实施例中,反射值地图获得模块620可以包括反射值地图制作模块。反射值地图制作模块被配置为利用激光雷达在成像区域中采集到的反射点云,来制作反射值地图。

图7示意性地示出了一种可以被用来实施本公开的实施例的设备700的框图。如图7中所示出的,设备700包括中央处理单元(cpu)701,其可以根据存储在只读存储设备(rom)702中的计算机程序指令或者从存储单元708加载到随机访问存储设备(ram)703中的计算机程序指令,来执行各种适当的动作和处理。在ram703中,还可存储设备700操作所需的各种程序和数据。cpu701、rom702以及ram703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。

设备700中的多个部件连接至i/o接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

上文所描述的各个过程和处理,例如示例方法200、300、400和500可由处理单元701来执行。例如,在一些实施例中,示例方法200、300、400和500可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由rom702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序被加载到ram703并由cpu701执行时,可以执行上文描述的示例方法200、300、400和500的一个或多个步骤。

如本文所使用的,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。本文还可能包括其他明确的和隐含的定义。

如本文所使用的,术语“确定”涵盖各种各样的动作。例如,“确定”可以包括运算、计算、处理、导出、调查、查找(例如,在表格、数据库或另一数据结构中查找)、查明等。此外,“确定”可以包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)等。此外,“确定”可以包括解析、选择、选取、建立等。

应当注意,本公开的实施例可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。

此外,尽管在附图中以特定顺序描述了本公开的方法的操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤组合为一个步骤执行,和/或将一个步骤分解为多个步骤执行。还应当注意,根据本公开的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。

虽然已经参考若干具体实施例描述了本公开,但是应当理解,本公开不限于所公开的具体实施例。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等效布置。

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