[0104] 为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
[0105] 本公开至少一个实施例提供了一种定位方法,如图1所示,图1示出了该定位方法的流程,可以包括:
[0106] 在步骤101中,获得设备所在道路的感知道路图像以及所述设备的初始定位信息。
[0107] 在本步骤中,设备可以是进行定位的目标主体本身,所述设备可以配置有视觉传感器以采集感知道路图像,还可以配置有位置传感器以获得初始定位信息。设备可以包括但不限于以下类型的设备:车辆、机器人、导盲设备、智能玩具、扫地机器人等智能家居设备,所述车辆可以是任何类型的车辆,可以是任何载人或载货或其他用途的车辆,所述机器人可以是任何类型的机器人,可以是工业机器人、服务机器人、玩具机器人、教育机器人等等,本公开均不限定。
[0108] 为便于区分描述,将设备上设置的图像传感器采集的该设备所在道路实时采集的道路图像,不妨称为感知道路图像,基于该感知道路图像识别到的道路元素不妨称为感知道路元素;将后续所涉及到的,为了地图建立或者在地图建立过程中使用的道路图像,不妨称为地图道路图像,基于该地图道路图像识别到的道路元素不妨称为地图道路元素。
[0109] 上述位置传感器可以包括以下至少之一:全球定位系统GPS、惯性测量单元IMU等等;上述视觉传感器可以包括以下至少之一:相机、摄像机、摄像头等。本领域技术人员应当理解,视觉传感器和位置传感器并不限于以上所述。
[0110] 设备的初始定位信息,可以是对于每一帧感知道路图像,获取的一个同步的定位信息。其可以是GPS定位信息,或IMU定位信息,或该GPS定位信息和该IMU定位信息的融合信息。
[0111] 融合信息是基于GPS定位信息和IMU定位信息获得的更可靠的定位结果。其可以通过对GPS定位信息和IMU定位信息进行卡尔曼滤波获得,或者可以通过对GPS定位信息和IMU定位信息进行均值计算,或者加权平均计算。
[0112] 在步骤102中,识别所述感知道路图像中的感知道路元素的属性信息。
[0113] 在本步骤中,感知道路元素可以是实时采集的道路元素。道路元素可以包括与道路相关的标识,可以至少包括以下一种或多种:道路上各种类型的车道线、停止线、转向线、道路边缘线,以及设置在道路旁或者道路上的交通标志牌、交通灯、路灯等等。各种类型的车道线可以包括但不限于白色实线车道线、黄色虚线车道线、左侧边缘车道线、右侧边缘测导线等等;各个类型的交通标志牌可以包括但不限于慢行交通牌、禁止停车交通牌、限速交通牌等等。本领域技术人员应当理解,道路元素并不限于以上所述。
[0114] 所述感知道路元素的属性信息,可以包括与所述感知道路元素相关的一种或多种信息,例如道路元素的语义信息、位置信息、形状信息等等。
[0115] 道路元素的语义信息可以是该道路元素所代表的含义、其所要表达的信息,例如,当在采集的道路图像中检测到道路上的线时,可以根据其在道路上的位置、相对于道路的宽度、长度等等,可以确定其为停止线、车道线等等,由于车道线又可以细分为很多类型,车道线为基本语义信息,还可以根据线的位置、线的形态进一步确定其具体语义信息,例如为左部边缘车道线、白色实线车道线等等;对于交通牌,慢行交通牌、禁止停车交通牌可以是该道路元素的具体语义信息。本领域技术人员应当理解,道路元素的语义信息的具体表达形式不影响本公开方法的实现。
[0116] 在步骤103中,根据所述感知道路元素的属性信息并基于预先建立的地图,确定所述感知道路元素与所述地图中的地图道路元素之间的偏移信息。
[0117] 该预先建立的地图可以是语义地图、高精地图等等,但不限于此,也可以是其他类型的地图。
[0118] 在上述地图中所显示的道路元素被称为地图道路元素。与感知道路元素相似,该地图道路元素可以包括与道路相关的标识,可以至少包括以下之一:道路上的车道线、停止线、转向线,以及设置在道路旁或者道路前方的交通牌、交通灯、路灯等等。感知道路元素与地图道路元素的类型可以是全部相同的,也可以是部分相同的。
[0119] 针对一条道路预先建立的地图,其包括了该段道路的全部或者大部分道路元素。在定位过程中所获取的感知道路图像,是该段道路的局部区域图像,因此在感知道路图像中所识别的道路元素,转换到所述地图上,相当于所述地图中的部分道路元素。
[0120] 理想情况下,感知道路元素应该是与地图中的地图道路元素是重合的。这种重合可以指感知道路元素和地图道路元素在同一坐标系下的重合。但是,由于在进行定位时所获得的初始定位信息的定位偏差,或者定位精度不足,特别是在设备上具有定位功能的硬件设备精度不高或较低的情况下,初始定位信息的偏差可能性较大,使得感知道路元素可能不准确。因此,可以根据感知道路元素的属性信息,以及地图道路元素的属性信息,确定感知道路元素与地图道路元素的偏移信息,由此修正初始定位信息。
[0121] 在步骤104中,根据所述偏移信息修正所述初始定位信息,得到所述设备的定位信息。
[0122] 由于感知道路元素与地图道路元素之间的偏移是初始定位信息与真实定位之间的偏移引起的,因此,根据感知道路元素与地图道路元素之间的偏移信息,可以对初始定位信息进行修正,得到最终的设备定位信息。
[0123] 本实施例根据感知道路图像中的感知道路元素的属性信息,并基于预先建立的地图,确定感知道路元素与地图中的地图道路元素之间的偏移信息,对设备的初始定位信息进行修正。
[0124] 本实施例提供了一套基于视觉并配合预先建立的地图实现低成本、运算复杂度低、实时性好和/或定位精度高的设备定位解决方案,可广泛应用于设备智能驾驶等领域。
[0125] 换而言之,本实施例基于道路元素的属性信息和预先建立的地图,对初始定位信息进行修正,也即是对于设备的初始定位信息的精度要求较低,因此降低了设备定位所需的硬件成本;而通过对初始信息的修正,同时也满足了对定位精度的需求。并且,通过调用预先建立的地图,相较于在定位过程中实时建立地图,节省了设备的存储空间,进一步降低了对硬件资源的需求,并且算法复杂度底,实时性好,可满足定位的实时性需求。
[0126] 如下的描述中,将对该定位方法进行更详细的描述。其中,下文以该定位方法应用于自动驾驶车辆为例进行描述。自动驾驶车辆可以设置有视觉传感器以实时采集道路图像,还设置有位置传感器以获得初始定位信息,还可以设置有处理器和存储器,该存储器用于存储预先设置的地图,在自动驾驶过程中,处理器对采集的感知道路图像和从地图获取的数据进行处理,以实时获取感知道路元素与地图道路元素之间的偏移信息,并依据该偏移信息对初始定位信息进行修正,以利用实时的、更精确的定位信息实现自动驾驶。
[0127] 但是可以理解的是,其他场景同样可以应用该定位方法。比如,地图生成系统,通过将该方法应用于地图采集数据车上,可以利用更精确的定位结果生成高精度的地图;再比如,移动机器人系统,通过将该方法应用于移动机器人系统,可以使机器人实现高精度的自我定位功能。
[0128] 以下详细描述车辆自动驾驶过程中的定位过程。
[0129] 为了实现实时定位,可以获取预先建立的地图。
[0130] 该预先建立的地图可以是语义地图(Semantic Map)。语义地图是一种面向设备的、具有计算机可读格式(如XML格式)的地图,相对于设备智能驾驶通常使用的高精地图而言,具有简洁、数据量小、调用速度快等优点,本公开使用语义地图对初始定位信息进行修正,算法复杂度点、运算速度快、对硬件设备需求低。
[0131] 该地图的建立方法参见图2A所示,可以包括:
[0132] 在步骤201中,经采集车采集道路的地图道路图像。
[0133] 采集车上设置有视觉传感器以采集地图道路图像。该视觉传感器可以包括以下至少之一:相机、摄像机、摄像头等等。为了使建立的地图达到更高的精度,采集车所配置的视觉传感器可以是高精视觉传感器,从而可以采集到清晰度高、精确度高的地图道路图像。而在定位过程中,用于采集感知道路图像的视觉传感器,则可以采用精度相对较低的传感器。
[0134] 采集车还可以配置有高精度的位置传感器,以更准确地获得采集车的定位信息。而在定位过程中,获取初始定位信息的位置传感器,可以采用定位较低的传感器,或者利用设备所现有的位置传感器。
[0135] 在步骤202中,识别所述地图道路图像中地图道路元素的属性信息。
[0136] 所述地图道路元素的属性信息可以包括语义信息、位置信息、形状信息等等。
[0137] 上述属性信息,可以利用训练好的用于进行道路元素检测的神经网络模型进行识别得到。
[0138] 上述神经网络模型可以通过带有标注信息的道路图像(不妨称为样本道路图像)进行训练,该样本道路图像中的道路元素带有标注信息,该标注信息可以是样本道路元素的属性信息,例如可以包括但不限于以下一种或多种:语义信息、形状信息、位置信息等等。
[0139] 通过样本道路图像对神经网络模型进行训练,可以使该模型具备在输入的道路图像中,识别道路元素的属性信息的能力。对于输入该神经网络模型的地图道路图像,可以输出该图像中地图道路元素的属性信息。
[0140] 神经网络模型能够识别道路元素的类别,取决于训练过程中使用的样本道路元素的类型。可以通过更多类型的样本道路元素对模型进行训练,以使其具有更高的识别能力。
[0141] 3A~图3C示出了识别道路元素的语义信息的效果图。其中,图3A是输入神经网络模型的道路图像,其可以是感知道路图像,也可以是地图道路图像,或者其他道路图像;图3B示出通过神经网络模型识别的道路元素,如图中横向粗实线所示,并且获得了其语义信息为“停止线”(stopline),标注在图片左上方;图3C示出了通过神经网络模型识别的道路元素,如图中纵向的粗实线所示,并且获得了各个线的基本语义信息,以及具体语义信息。
其基本语义信息为“车道线”(laneline),具体语义信息分别为(从左至右):“白色实线车道线”(white solid line)、“白色实线车道线”(white solid line)、“白色实线车道线”(white solid line)、“白色实线车道线”(white solid line)、“右侧边缘车道线”(right edge),均标注在图片左上方。
[0142] 本领域技术人员应当理解,地图道路元素属性信息的识别方法不限于以上所述,还可以通过其他的识别方法获得。
[0143] 在步骤203中,基于所述地图道路元素的属性信息建立所述地图。
[0144] 在一个示例中,基于地图道路元素的语义信息、位置信息和形状信息建立地图。该地图可以被称为语义地图。
[0145] 在车辆定位过程中,通过调用该地图,可以获得地图道路元素的上述属性信息。
[0146] 在本实施例中,通过采集车所配备的高精度视觉传感器来采集道路图像,通过识别图像中的道路元素的属性信息,并利用高精度的位置传感器获得采集车的定位信息来建立地图,所建立的地图精度高、且数据量小,节省设备的存储空间。
[0147] 在一个示例中,在所识别的地图道路元素的位置信息是视觉传感器(例如相机)的像素坐标系下的位置信息的情况下,由于地图需要具体通用性,可以通过以下方法将其转换到经纬度坐标系下。
[0148] 以下以视觉传感器为相机、位置传感器为GPS为例进行描述。本领域技术人员应当理解,该转换方法对于其他视觉传感器和位置传感器同样适用。
[0149] 地图道路元素在相机的像素坐标系下的位置信息可以称为第一地图位置信息。首先,将第一地图位置信息转换到GPS设备坐标系下,得到第二地图位置信息。可以利用所述相机和所述GPS之间的单应性矩阵实现该坐标转换,该单应性矩阵,可以通过标定好的相机和GPS之间的外参获得。
[0150] 相机的像素坐标系如图4A所示,其中,O’‑x’‑y’为图中相机的像素坐标系。
[0151] GPS设备坐标系是指,以该GPS为中心、平行于地平面的坐标系。以设置在自动驾驶车辆中的GPS来说,该GPS设备坐标系是以车头方向为x轴正方向的右手笛卡尔坐标系,参见图4B所示。由于进行定位利用的地平面上的坐标信息,并不需要利用高度信息,因此在将地图道路元素的第一地图位置信息转换到GPS设备坐标系时,并不涉及z轴的高度信息的。
[0152] 在一个示例中,该GPS工作在RTK(Real‑Time Kinematic,实时差分)模式下,以便获取更好的定位效果。
[0153] 图5A~图5C示出了道路元素从相机的像素坐标系转换至GPS设备坐标系的效果图。该道路元素可以是地图道路元素,也可以是感知道路元素。其中,图5A是道路图像的原图;图5B是在道路图像中识别出车道线的效果图,其中,纵向的三条粗实线为车道线,在图像左上部标注出了识别出的三条车道线的基本语义“车道线”(laneline),以及从左到右三条车道线的具体语义“左侧边缘车道线”(left edge)、“白色虚线车道线”(white dot line)、“右侧边缘车道线”(rightedge);图5C示出了将车道线转换到GPS设备坐标系下的效果图,其中,纵向的三条实线为GPS设备坐标系下的车道线。
[0154] 接下来,利用GPS当前的定位信息,可以将该第二地图位置信息转换到经纬度坐标系下,得到第三地图位置信息。
[0155] GPS定位信息与相机所采集的地图道路图像同步。这里的同步是指,对于每一帧地图道路图像,都从GPS获得一个同步的定位信息。
[0156] GPS定位信息描述了GPS在地球上唯一的位置和朝向,该位置和朝向分别对应于GPS设备坐标系原点在大地坐标系中的位置(x,y)和GPS设备坐标系x轴与地理正东方向的夹角θ,可以表示为(x,y,θ)。
[0157] 在已知地图道路元素在GPS设备坐标系下的第二地图位置信息的情况下,可以通过与获取地图道路元素的那一帧道路图像同步的GPS定位信息,将地图道路元素从GPS设备坐标系转换到经纬度坐标系,例如WGS84坐标系。在进行转换后,得到第三地图位置信息。
[0158] 在一个示例中,可以先将地图道路元素从GPS设备坐标系转换到全局投影横轴墨卡托坐标系(UTM坐标系),由于这两个坐标系都是二维右手笛卡尔坐标系,只需旋转和平移操作则可以实现坐标系之间的转换。旋转角度即车头朝向正东方向的夹角θ,平移量即经纬度定位信息(x,y)。
[0159] 图4C示出了坐标系转换示意图,其中,从左到右依次是相机的像素坐标系、GPS设备坐标系、UTM坐标系。
[0160] 在转换到UTM坐标系后,再将地图道路元素从UTM坐标系转换到经纬度坐标系,即获得了第三地图位置信息。
[0161] 在本实施例中,基于地图道路元素的全局定位信息建立地图,由于全局定位信息具有唯一性,使得所建立的地图具有通用性,对于使用该地图的对象所使用的位置传感器没有特定限制,使得该定位方法能够广泛应用。
[0162] 还可以通过图2B所示的方法建立地图,如图2B所示,该方法包括:
[0163] 在步骤211中,获取高精地图中地图道路元素的语义信息和位置信息。
[0164] 高精地图相较于语义地图,除了语义地图所包含属性信息外,还可以包括关于道路元素更多更细节的信息,比如地图道路元素的道路曲率、航向、坡度等,再比如道路元素之间的关联信息等等。
[0165] 利用现有的高精地图,可以从中提取所需要的地图道路元素的语义信息和位置信息,或者其他的信息。
[0166] 在步骤212中,基于所述地图道路元素的语义信息和位置信息建立所述地图。
[0167] 在本步骤中所建立的地图也可以被称为语义地图。
[0168] 在本实施例中,利用现有的高精度地图建立语义地图,节省了成本,并且,相较于高精地图的高存储空间需求,本实施例所建立的语义地图数据量小,节省设备的存储空间。
[0169] 以上所描述的是自动驾驶车辆在进行实时定位时所用到的地图的建立过程,以下描述自动驾驶车辆的实时定位过程。
[0170] 首先获得利用视觉传感器实时采集的感知道路图像,并获得配备在车辆上的位置传感器的初始定位信息,例如GPS、IMU等等。该初始定位信息可以是针对每一帧感知道路图像获得的同步定位信息。
[0171] 接下来识别感知道路图像中的感知道路元素的属性信息。该步骤与步骤202中的描述相似,可以包括:将所述感知道路图像输入预先训练的神经网络模型,获得所述感知道路图像中感知道路元素的属性信息。该属性信息可以包括语义信息和位置信息,或者,可以包括语义信息、位置信息、形状信息等等。
[0172] 该神经网络模型与前述识别地图道路元素所使用的模型可以是相同的,这里的相同,可以指模型的网络结构和参数相同,也可以指通过同样的样本道路图像进行训练;也可以是不同的,例如网络结构和参数不同,或者通过不同的样本道路图像进行训练,但两个模型能够识别的道路元素是有交集的,并且交集越大,应用该定位方法所取得的效果越好。
[0173] 在识别出感知道路元素的属性信息后,可以根据该属性信息,从上述预先建立的地图中,确定感知道路元素与所述地图中的地图道路元素之间的偏移信息。
[0174] 图6示出确定感知道路元素与地图道路元素之间的偏移信息的一种方法,如图6所示,该方法可以包括:
[0175] 在步骤601中,根据所述感知道路元素的属性信息,从所述地图中确定与所述感知道路元素配对的地图道路元素。
[0176] 对于实时采集的感知道路图像,如果对于该道路已经预先建立了地图,那么该感知道路图像上的感知道路元素,可以在地图上获得与其配对的地图道路元素。也即,对于一个感知道路元素,如果其不是误识别的,也不是在地图建立或最新更新之后新出现的,那么通常在地图上,可以找到一个地图道路元素与之对应。
[0177] 在步骤602中,确定配对的感知道路元素和地图道路元素在同一设备坐标系下的位置信息。
[0178] 由于位置的比较需要在同一坐标系下进行,因此,如果所获得的感知道路元素的位置信息和地图道路元素的位置信息并非处于同一坐标系下,需要将二者转换至同一坐标系下。
[0179] 由于获取感知道路元素和地图道路元素的偏移信息,是用于修正初始定位信息,而该初始定位信息是设备坐标系下的定位信息,因此,可以将感知道路元素和地图道路元素的位置信息转换到设备坐标系下,以便于进行初始定位信息的实时修正。
[0180] 在地图道路元素的位置信息是经纬度坐标系下的第三地图位置信息的情况下,需要将该第三地图位置信息转换到设备坐标系下,以下以GPS设备坐标系为例进行描述。
[0181] 将第三地图位置信息从经纬度坐标下转换至GPS设备坐标系,该过程是前述将第二地图位置信息从GPS设备坐标系转换至经纬度坐标系的逆过程。
[0182] 该过程可以分为两个步骤:
[0183] 首先,将第三地图位置信息从经纬度坐标系(例如,WGS84坐标系)转换至UTM坐标系;
[0184] 然后,利用GPS的初始定位信息,将地图道路元素从UTM坐标系转换至GPS设备坐标系。对于自动驾驶车辆来说,这一步骤可以通过先旋转车头朝向正东方向的夹角θ,再平移GPS的经纬度定位信息(x,y)获得。
[0185] 本领域技术人员应当理解,对于其他的位置传感器,可以依据其具体转换规则进行从经纬度坐标系到设备坐标系的转换。
[0186] 在步骤603中,基于所述位置信息确定配对的感知道路元素和地图道路元素之间的定位偏移量。
[0187] 在获得了同一设备坐标系下的感知道路元素以及与其配对的地图道路元素的位置信息后,基于二者的位置,即可以确定它们之间的定位偏移量。
[0188] 在本实施例中,通过将配对的感知道路元素和地图道路元素转换到同一设备坐标系下,再利用二者的位置信息确定它们之间的定位偏移量,该定位偏移量能够直接修正同样在设备坐标系下的初始定位信息,有利于实现实时定位。
[0189] 图7示出确定与感知道路元素配对的地图道路元素的一种方法,如图7所示,该方法可以包括:
[0190] 在步骤701中,在所述地图中,基于所述初始定位信息查找预设范围内的地图道路元素。
[0191] 初始定位信息是设备自身所在的位置信息,例如对于自动驾驶车辆来说,即是车辆所在的位置信息。通过该初始定位信息,可以确定车辆在地图上的位置,由此可以在地图中查找出设定范围内的地图道路元素,也即车辆附近的地图道路元素。
[0192] 由于感知道路图像是通过配备在车辆上的视觉传感器获得的,因此感知道路图像的感知道路元素,是车辆进行定位时位于车辆附近的道路元素。因此,通过在地图上查找车辆附近的地图道路元素,是最有可能、也是最快能够查找到与感知道路元素配对的地图道路元素的方式。
[0193] 该预设范围可以依据需求具体设定,例如,如果需要匹配的精度高,则可以将该范围设置的相对大一些,获得较多地图道路元素以在后续过程中与感知道路元素配对;如果对实时性要求高,希望匹配的速度快一些,则可以将该范围设置的相对较小。例如,预设范围可以地图上为以初始定位信息为中心点、上述视觉传感器的可视范围与初始定位识差的2倍到5倍的范围,由此权衡匹配速度和准确度。
[0194] 举例来说,视觉传感器的可视范围为60m,初始定位误差为10m,则可以将预设范围设置为(60+10)*2。也即是说,在这种情况下,预设范围可以是以初始定位为中心,140m*140m的矩形框。
[0195] 在步骤702中,将所述感知道路图像中的感知道路元素与所述预设范围内的地图道路元素基于属性信息进行两两配对,获得多种配对方案。
[0196] 可以通过枚举的方式,将感知道路图像中的每个感知道路图像与预设范围内的每个地图道路元素,分别两两进行配对,获得多种不同的配对方案。
[0197] 上述不同的配对方案,可以是至少一感知道路元素与所述预设范围内的地图道路元素的配对方式不同。
[0198] 例如,感知道路图像中的感知道路元素包括a1,a2,…,aM,上述预设范围内的地图道路元素包括b1,b2,…,bN,其中,M、N均为正整数,且N大于等于M。也就是说,地图道路元素的数量多于,或者至少等于感知道路元素的数量。
[0199] 对感知道路元素(a1,a2,…,aM)和地图道路元素(b1,b2,…,bN)进行两两配对,所得到的每一种配对方案是一组二元组的集合,每个二元组(ai,bj)即是道路元素的一种配对方式。在二元组(ai,bj)中,i≤M,i可以是[1,M]范围之内的任意整数;j≤N,j可以是[1,N]范围内的任何整数。并且,在配对方案中,感知道路元素(a1,a2,…,aM)需要全部实现配对,而地图道路元素(b1,b2,…,bN)中可以包含未找到配对目标的元素。
[0200] 不同的配对方案中,至少有一组二元组(ai,bj)是不同的。
[0201] 在一个示例中,可以通过二分图模型实现感知道路元素与地图道路元素的两两配对。
[0202] 首先,基于感知道路元素和地图道路元素构造二分图模型:将感知道路图像中,将每一个感知道路元素抽象为一个点,所有感知道路元素形成一个感知点集;将地图中的地图道路元素也抽象为一个点,所有地图道路元素形成一个地图点集。
[0203] 响应于感知道路图像中存在多种语义相同的道路元素的情况,例如,存在多条车道线,可以按照从车辆左边到右边的顺序对语义相同的感知道路元素进行排序,对于地图中语义相同的地图道路元素也利用相似的方法进行排序,所形成的对应点集中的点则按照道路元素的排序依次排列。
[0204] 将感知点集和地图点集之间用边进行连接,每一条边表示了一个感知道路元素与一个地图道路元素之间的配对关系。不同的连接方式则产生了不同的配对方案,所得到的每一个配对方案即是一个边集。
[0205] 在一个示例中,还可以利用基于上述模型的二分图匹配方法,在所有的配对方案中获取合理的配对方案。
[0206] 该方法包括:在所有边集中,选择尽可能多的边不相交(不交叉)的边集。这里所说的不相交是指,两条边没有公共点情况下的不相交,且其中一条边两个顶点在点集中的序号都大于另一条边两个顶点在点集中的序号,因此也可以理解为物理意义上的不相交。
[0207] 可以将具有不相交边的数量大于设定比例或者设定阈值的边集,称为合理边集,也即获得了合理地配对方案,例如图8所示。
[0208] 通过筛选出合理的配对方案,再进行置信度计算,减少了后续过程的计算量。
[0209] 在步骤703中,确定每个所述配对方案的置信度。
[0210] 置信度是对一个配对方案中,感知道路元素与地图道路元素之间配对情况的评价指标。在一个配对方案中,各个感知道路元素和地图道路的配对,二者的语义信息一致性越高,匹配的配对数目越多,配对方案的置信度就越高。
[0211] 在一个示例中,可以通过以下方式确定每个配对方案的置信度:
[0212] 首先,分别确定每个配对方案中,每个感知道路元素和地图道路元素的配对的个体相似度。
[0213] 个体相似度,可以是指针对配对方案中的每个二元对,其中两个元素的属性信息的相似程度。例如,可以包括语义信息的相似度、位置信息的相似度、形状信息的相似度等等。
[0214] 以车道线为例,可以通过以下公式计算感知车道线和地图车道线之间的个体相似度,其中,感知车道线可以指感知道路图像中的车道线,地图车道线可以指地图中的车道线。
[0215] Weight(i,j)=‑Distance(i,j)+Otype(i,j)*LaneWidth+Oedgetype(i,j)*LaneWidth (1)
[0216] 其中,Weight(i,j)表示第i个(从左往右数,下同)感知车道线与第j个地图车道线之间边的个体相似度,也可以称其为权值;
[0217] Distance(i,j)表示第i个感知车道线与第j个地图车道线之间的距离,此处将车道线抽象为线段,距离的计算方式可以是线段到线段的欧式距离,也即一条线段上两个端点到另一条线段距离的中位数,即平均值;
[0218] LaneWidth表示车道宽度,也即两条车道线之间的宽度;
[0219] Otype(i,j)当且仅当第i个感知车道线与第j个地图车道线的车道线属性相同时为1,否则为0;其中,车道线属性可以包括车道线颜色、线型等等,例如黄色实线,白色虚线;
[0220] Oedgetype(i,j)当且仅当第i个感知车道线与第j个地图车道线的边缘车道线属性相同时为1,否则为0;其中,边缘车道线属性表示该车道线是否属于道路的边缘。
[0221] 在上述公式中,Distance(i,j)用于计算感知车道线与地图车道下之间的位置信息相似度,LaneWidth于计算它们之间的形状信息相似度,Otype(i,j)和Oedgetype(i,j)则用于计算它们之间的语义信息相似度。
[0222] 本领域技术人员应当理解,对于其他的道路元素之间的个体相似度,可以设置其他合理的公式进行计算。
[0223] 在确定了个体相似度之后,接下来确定每个所述配对方案中各感知道路元素和地图道路元素配对的整体相似度。
[0224] 整体相似度,可以是一个配对方案中,所有的二元对的属性信息相似程度的整体评估。其中,属性信息可以包括位置信息和语义信息。
[0225] 对于位置信息的整体相似度,可以利用所有二元对中两个元素距离的方差来表示。方差越小,表示所有二元对中两个元素的距离越相近,则位置信息的整体相似度越高。
[0226] 对于语义信息的整体相似度,可以利用所有二元对中两个元素语义信息相似度进行平均,或者加权平均计算来获得。
[0227] 最终,根据每个所述配对方案的各个体相似度和整体相似度,确定每个所述配对方案的置信度。
[0228] 例如,可以利用每个配对方案中,各个二元组的个体相似度之和,再与整体相似度进行平均,或者加权平均,来获得该配对方案的置信度。
[0229] 在本实施例中,基于配对方案中,各个二元组的个体相似度和整体相似度来综合评估该配对方案的置信度,避免了个体配对的极端效果(极好,或者极差)对整个配对方案置信度的影响,使得置信度的计算结果更加可靠。
[0230] 以下为用于计算配对方案的置信度得分的函数示例,其是通过三个部分来对计算得分:个体相似度之和、距离信息的整体相似度、语义信息的整体相似度。
[0231] match_weight_sum=sum(match_items_[pr_idx][hdm_idx].weight)+CalculateVarianceOfMatchResult(match_result)+CalculateMMConfidence(match_result);(2)
[0232] 其中,match_weight_sum表示一种配对方案的置信度得分;
[0233] sum(match_items_[pr_idx][hdm_idx].weight)表示配对方案中每个二元组的个体相似度之和,其通过对该配对方案中选中的边的权值求和,即每一对点集对应的边权值求和计算;
[0234] CalculateVarianceOfMatchResult(match_result)表示配对方案中,各个二元组距离信息的整体相似度,其通过配对方案中各个二元组中两个元素之间距离的方差进行计算。以车道线为例,配对的车道线之间存在距离,该方差即所有这些距离的方差。理论上,所有配对的感知车道线和地图车道线之间的距离应该相等,即方差为零,但实际上,因为误差不可避免的引入,该方差有可能不为零;
[0235] CalculateMMConfidence(match_result)表示配对方案中,各个二元组语义信息的整体相似度,其通过对比各个二元组中两个元素之间的语义相似度进行计算。仍以车道线为例,可以判断所有配对的车道线的属性是否一致,数量是否一致。例如,属性全部一致的置信度为100%,每有一对车道线的属性不一致,例如可以设置为置信度下降10%,数量不匹配置信度直接下降30%。
[0236] 通过计算以上三部分的结果,并将结果相加,即可获得配对方案的置信度得分。
[0237] 在步骤704中,在所述多种配对方案中置信度最高或超过设定阈值的配对方案中,确定与所述感知道路元素配对的地图道路元素。
[0238] 在本步骤中,可以将其中置信度最高的方案作为最终选择的配对方案,也可以将其中超过设定阈值的配对方案作为终选择的配对方案,从而能够确定与感知道路元素配对的地图道路元素。
[0239] 在本实例中,通过利用初始定位信息在地图上获得设备附近的地图道路元素,用于与感知道路元素进行配对,相较于在全局地图中寻找与感知道路元素配对的地图道路元素,减小了运算量,提高了匹配速度,有利于实现实时定位。
[0240] 在一个示例中,在将所述感知道路图像中的感知道路元素与所述预设范围内的地图道路元素进行配对时,响应于感知道路图像中的感知道路元素在所述预设范围内的地图道路元素无法确定配对的道路元素时,在待进行配对的地图道路元素中设置空或虚拟元素与所述感知道路元素配对。
[0241] 在理想情况下,感知道路图像中的感知道路元素是与地图中的地图道路元素一一对应的,但在感知道路元素是误识别的结果的情况下,或者感知道路元素是在地图建立后才出现的情况下,是无法找到与该感知道路元素对应的地图道路元素的。通过设置空(null)或虚拟元素,使得所有的感知道路元素在确定配对方案的过程上,都有配对的对象,使得配对方案更加丰富,有利于综合评估最佳的配对方案。
[0242] 图9示出确定配对的感知道路元素和地图道路元素之间的定位偏移量的一种方法,如图9所示,该方法包括:
[0243] 在步骤901中,对所述感知道路元素的像素点进行采样,获得感知采样点集。
[0244] 在本步骤中,可以以固定间隔(例如0.1米)对感知道路元素的像素点进行采样,获得感知采样点集。
[0245] 以道路上的车道线为例,通过对车道线进行采样,可以将感知车道线抽象为一个点集。对于并行多条车道线的情况,可以按照车辆左边到右边的顺序对车道线进行排列,对应的点集依据车道线的顺序,从上到下排列。
[0246] 在步骤902中,对所述地图道路元素的像素点进行采样,获得地图采样点集。
[0247] 在本步骤中,可以应用与步骤901相似的方式对地图道路元素进行采样,获得地图采样点集。
[0248] 在步骤903中,确定所述感知采样点集与所述地图采样点集各自包括的采样点之间的旋转平移矩阵。
[0249] 对于配对的感知采样点集和地图采样点集,可以应用最近点迭代法计算出两个点集之间的旋转平移矩阵。图10示出最近点迭代法的示意图,箭头左侧表示输入至该算法模型的两个关联的点集(配对的点集),应用该算法模型,例如可以是最小二乘算法模型,可以得到旋转平移矩阵。通过对输入的点集应用该旋转平移矩阵,则可以实现两个点集的重合,如图10所示,箭头右侧即表示重合的两个点集。
[0250] 在步骤904中,基于所述旋转平移矩阵获得所述感知道路元素与所述地图道路元素的坐标偏移量和方向偏移量。
[0251] 步骤903中所获得的旋转平均移矩阵则是所需确定的定位偏移量,该旋转平移矩阵中的平移系数对应于坐标偏移量,旋转系数对应于方向偏移量。
[0252] 初始定位信息可以表示为(x0,y0,θ0),定位偏移量可以表示为(dx,dy,dθ),对应地,对初始定位信息进行修正得到的定位信息可以表示为:
[0253] (x=x0+dx,y=y0+dy,θ=θ0+dθ)。
[0254] 在一个示例中,在根据所述偏移信息修正了初始定位信息,得到设备的定位信息后,还可以将所得到的定位信息与初始定位信息进行再次融合。
[0255] 例如可以通过卡尔曼滤波、均值计算、加权平均计算等方法,对所得到定位信息与初始定位信息进行融合,避免了地图信息对定位信息过度修正,使定位结果更加可靠。
[0256] 由于相机不一定可以采集到全部的道路元素,也就是说,感知道路图像中的感知道路元素可能小于地图道路元素的数量;并且,虽然神经网络检测道路元素的准确率有可能达到百分之九十以上,但对于应用于车辆自动驾驶的定位方法,仍需要在神经网络模型发生漏检和误检的情况下依然可以输出准确的属性信息。
[0257] 图11A示出一种用于设备定位的装置的结构示意图,如图11A所示,该装置可以包括:
[0258] 获得单元1101,用于获得设备所在道路的感知道路图像以及所述设备的初始定位信息;
[0259] 识别单元1102,用于识别所述感知道路图像中的感知道路元素的属性信息;
[0260] 确定单元1103,用于根据所述感知道路元素的属性信息,并基于预先建立的地图,确定所述感知道路元素与所述地图中的地图道路元素之间的偏移信息;
[0261] 修正单元1104,用于根据所述偏移信息修正所述初始定位信息,得到所述设备的定位信息。
[0262] 在另一个实施例中,如图11B所示,该装置还包括地图建立单元1105,用于:经采集车采集道路的地图道路图像;识别所述地图道路图像中地图道路元素的属性信息;基于所述地图道路元素的属性信息建立所述地图。
[0263] 在另一个实施例中,如图11C所示,该装置还包括地图建立单元1106,用于:获取高精地图中地图道路元素的语义信息和位置信息;基于所述地图道路元素的语义信息和位置信息建立所述地图。
[0264] 在另一个实施例中,确定单元1103具体用于:根据所述感知道路元素的属性信息,从所述地图中确定与所述感知道路元素配对的地图道路元素;确定配对的感知道路元素和地图道路元素在同一设备坐标系下的定位信息;基于所述定位信息确定配对的感知道路元素和地图道路元素之间的定位偏移量。
[0265] 在另一个实施例中,确定单元1103在用于根据所述感知道路元素的属性信息,从所述地图中确定与所述感知道路元素配对的地图道路元素时,具体用于:在所述地图中,基于所述初始定位信息查找预设范围内的地图道路元素;将所述感知道路图像中的感知道路元素与所述预设范围内的地图道路元素基于属性信息进行两两配对,获得多种配对方案,其中,不同配对方案中至少一感知道路元素与所述预设范围内的地图道路元素的配对方式不同;确定每个所述配对方案的置信度;在所述多种配对方案中置信度最高或超过设定阈值的配对方案中,确定与所述感知道路元素配对的地图道路元素。
[0266] 在另一个实施例中,确定单元1103在用于将所述感知道路图像中的感知道路元素与所述预设范围内的地图道路元素进行配对时,还用于:响应于所述感知道路图像中的感知道路元素在所述预设范围内的地图道路元素无法确定配对的道路元素时,在待进行配对的地图道路元素中设置空或虚拟元素与所述感知道路元素配对。
[0267] 在另一个实施例中,确定单元1103在用于确定每个所述配对方案的置信度时,具体用于:分别确定每个所述配对方案中每个感知道路元素和地图道路元素的配对的个体相似度;确定每个所述配对方案中各感知道路元素和地图道路元素配对的整体相似度;根据每个所述配对方案的各个体相似度和整体相似度,确定每个所述配对方案的置信度。
[0268] 在另一实施例中,定位偏移量包括坐标偏移量和/或方向偏移量;确定单元1103在用于基于所述定位信息确定配对的感知道路元素和地图道路元素之间的定位偏移量时,具体用于:对所述感知道路元素的像素点进行采样,获得感知采样点集;对所述地图道路元素的像素点进行采样,获得地图采样点集;确定所述感知采样点集与所述地图采样点集各自包括的采样点之间的旋转平移矩阵;基于所述旋转平移矩阵获得所述感知道路元素与所述地图道路元素的坐标偏移量和方向偏移量。
[0269] 在另一个实施例中,获得单元1101具体用于:基于所述设备上设置的视觉传感器采集所述设备所在路面的所述感知采集图像;基于所述设备上设置的全球定位系统GPS和/或惯性测量单元IMU,确定所述设备的初始定位信息。
[0270] 在另一个实施例中,修正单元1104还用于:将所得到的所述定位信息与所述初始定位信息进行再次融合,得到修正后的所述定位信息。
[0271] 图12本公开至少一个实施例提供的设备,如图12所示,该设备可以包括存储器1201、处理器1202,所述存储器1201用于存储可在处理器上运行的计算机指令,所述处理器
1202用于在执行所述计算机指令时基于本说明书任一实施例所述的方法进行定位。
[0272] 本说明书至少一个实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本说明书任一所述的定位方法。
[0273] 本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0274] 本说明书实施例还提供一种计算机可读存储介质,该存储介质上可以存储有计算机程序,所述程序被处理器执行时实现本说明书任一实施例描述的驾驶员注视区域的检测方法的步骤,和/或,实现本说明书任一实施例描述的驾驶员注视区域的神经网络的训练方法的步骤。其中,所述的“和/或”表示至少具有两者中的其中一个,例如,“A和/或B”包括三种方案:A、B、以及“A和B”。
[0275] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于数据处理设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0276] 上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的行为或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0277] 本说明书中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、包括本说明书中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。
[0278] 本说明书中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路—例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。
[0279] 适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏操纵台、全球定位系统(GPS)接收机、或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。
[0280] 适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及CD ROM和DVD‑ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
[0281] 虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
[0282] 类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
[0283] 由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
[0284] 以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。