具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请将围绕可包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
另外,在本申请实施例中,“示例的”、“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
本申请实施例中,“相应的(corresponding,relevant)”和“对应的(corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
本申请实施例中,有时候下标如W1可能会笔误为非下标的形式如W1,在不强调其区别时,其所要表达的含义是一致的。
本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
本申请实施例中所称的高精度地图是指至少能够提供车道级别导航的地图。通常情况下,误差小于30厘米的地图就可以为自动驾驶系统提供车道级别的导航。例如,误差小于25厘米,15厘米或者10厘米的地图。
本申请实施例既可以用于车辆侧,也可以用于网络侧。图1中的(a)是本申请实施例应用于车辆侧的应用场景示意图。如图1所示,在车辆110中可以安装测量系统120和计算设备130。
测量系统120可以包括用于检测和扫描目标场景中的点云的传感器。作为示例,上述传感器可以包括(light detection and ranging,LiDAR)、三维扫描仪、深度相机等,本申请不作限定。传感器采集到的点云数据的集合可以称为原始点云数据集。
测量系统120还可以包括GNSS/RTK模块。GNSS/RTK模块用于获取车辆110的位置数据。
测量系统120还可以包括惯性测量单元(inertial measurement unit,IMU)。IMU用于获取车辆110的姿态信息。
计算设备130与测量系统120相连,用于从测量系统120获取原始点云数据集,车辆110的位置数据以及车辆110的姿态信息,并对原始点云数据集、位置数据以及姿态信息进行融合,得到融合后的点云数据集。本申请实施例中所称的点云数据集是指融合后的点云数据集。在对原始点云数据集进行融合的过程中可以进行删除离群点和/或按照现有方式(例如进行同步定位与建图(simultaneous localization and mapping,SLAM)回环修复)校正点云数据等操作。
图1中的(b)是本申请实施例在地图系统架构中的作用位置的示意图。
在一些情况下,GNSS/RTK模块无法获取车辆110的准确的位置信息。在另一些情况下,IMU模块采集的姿态信息可能会出现累计误差。因此,点云数据与实际的信息会产生一些偏差。如图1中的(b)所示,本申请的技术方案可以用于对点云数据进行校正,以减少点云数据的误差,提高地图精度。例如,图2是点云数据位置信息偏差的示意图。
如图2所示,点云数据与实际的道路交通标志线会出现一定的差异,所述差异包括位置差异和姿态差异两方面,所述位置差异体现为车道线中心点的位置偏差,所述姿态差异体现为车道线指向方向的角度偏差。
下面结合图3至图6,对本申请的技术方案进行介绍。
图3是本申请实施例使用的一个参考地图的示意图。如图3所示的参考地图是用于对点云数据进行校正的一种高精度地图的示意图。如图3所示的参考地图可以是利用数字正射影像(digital orthophoto map,DOM)呈现的空中俯视角度的二维地图。本申请实施例所使用的参考地图不限于数字正射影像,还可以包括高可信度点云数据、施工设计图等其他形式的具有较高精度和较高可信度的位置信息的地图。
DOM是在航空(或航天)照片的基础上以像元为基础把每张航空摄影照片数据纠正到数字地面模型上,消除航摄照片倾斜误差和地形起伏引起的投影差,再经过镶嵌、切割,按一定图幅范围裁剪生成的数字正射影像集。所以在航空(或航天)照片具备影像特征的图像基础上,同时具备有地图几何精度,使图像中显像的对象具备准确的地理坐标。
DOM具有高精度的特点。例如,1:500的DOM的绝对空间误差小于0.3米,对象分辨率大于0.05米,去畸变后照片内误差越等于0。对于DOM范围内的对象的相对误差为0.05米,绝对空间误差为0.35米。
如上所述,DOM是基于航空(或航天)照片生成的。因此,DOM反映的是地面的真实物体。图3是根据DOM生成的二维地图。如图3所示的二维地图将照片中的真实物体转换为二维图形。这样,可以便于地图的缩放,而且便于在地图上标注信息。但由于该二维地图是根据DOM生成的,因此该二维地图的精度与生成该二维地图的DOM是相同的。
当然,除了如图3所示的根据DOM生成的二维地图可以作为参考地图外,DOM也可以作为参考地图。此外,只要是高精度地图都可以作为参考地图。例如,施工设计图、基于人工测量得到的地图或者高可信度点云数据等。
下面还以图3所示的根据DOM生成的二维地图为例对本申请的技术方案进行介绍。如上所述,由于DOM是根据航空(或航天)照片生成的,因此DOM反映的是地面的鸟瞰照片。因此,某些地面上的对象由于被遮挡的原因不能在DOM中反映出。相应的,根据DOM生成的二维地图也没有这些被遮挡的对象。
如图3所示的参考地图中可以看到南北向的高架桥以及高架桥上的交通标线,东西向道路,东西向道路上未被树木遮挡的交通标线以及东西向道路边的树木。
南北向高架桥下的交通标线被高架桥遮挡住,东西向道路上的部分交通标线被数目挡住。图4是本申请实施例使用的另一参考地图的示意图。图4示出了被高架桥遮挡的对象(例如交通标线、交通信号灯以及警亭)以及被树木遮挡的交通标线。
如图4所示的地图中的地面层道路可以划分为三个部分,分别为第一部分,第二部分和第三部分。图5是将图4中的地面层道路划分为三个部分的示意图。
第一部分是东西向道路在空中俯视角度露出的部分。第二部分是东西向道路在空中俯视角度被高架桥遮挡区域。第三部分是高架桥下面被遮挡的南北方向道路中除与东西向道路重叠的区域以外的区域。
下面将结合图6和图7对如何校正点云数据进行详细描述。
图6是根据本申请实施例提供的校正点云数据的方法的示意性流程图。
601,确定参考地图在区域1中的N个第一参考特征和目标地图在区域1中的点云数据集(以下简称点云数据集1)的N个第一特征,N为大于或等于1的正整数。目标地图是点云数据集中的点云数据得到的地图。点云数据集1是区域1包括的点云数据的集合。
区域1中的点云数据是传感器在一帧内采集到的点云数据所在的范围。类似的,如图4所示的区域2至区域4中的每个区域都代表传感器在一帧中采集到的点云数据对应的范围。
该N第一参考特征和该N个第一特征一一对应。所述第一参考特征例如可以为参考地图中的特定对象,包括但不限于车道线、道路边界线、建筑物的边界或交通设施;所述第一特征例如可以为目标地图中的特定对象,包括但不限于车道线、道路边界线、建筑物的边界或交通设施。
确定参考地图中的参考特征以及点云数据集中的特征的确定方式可以采用现有技术。例如,可以利用尺度不变特征变换(scale-invariant feature transform,SIFT)、加速稳健特征(speeded up robust features,SURF)等算法进行特征提取。
本领域技术人员可以理解,参考地图中的一个对象(例如一段交通标线、一个交通信号灯等)可以提取出一个特征也可以提取出多个特征。类似的,点云数据集中对应于一个对象(例如一段交通标线、一个交通信号灯等)可以提取出一个特征也可以提取出多个特征。但是为了便于描述,以下实施例中假设每个特征就是对应于一个对象。
在提取特征之后,对提取到的特征进行特征匹配,得到第一参考特征和第一特征之间的对应关系。
在一些实施例中,可以先确定参考地图和点云数据集1中全部具有对应关系的特征,然后从所有具有对应关系的特征中确定该N个第一参考特征和该N个第一特征。
为了便于描述,以下假设点云数据集1和参考地图中共有M组对应的特征,每组对应的特征包括一个第一候选参考特征和一个第一候选特征。换句话说,在参考地图在区域1中有M个第一候选参考特征,点云数据集1中有M个第一候选特征,该M个第一候选参考特征和该M个第一候选特征一一对应。
在一些实施例中,可以确定该M个第一候选参考特征中的每个第一候选参考特征和对应的第一候选特征的误差。如果第一候选参考特征和对应的第一候选特征的误差大于误差阈值,则该第一候选参考特征可以作为第一参考特征,对应的第一候选特征可以作为第一特征。换句话说,该N个第一参考特征中的每个第一参考特征与对应的第一特征的误差大于该误差阈值。
在一些实施例中,如果该参考地图是DOM或者根据DOM生成的二维地图,那么该误差阈值可以等于DOM的绝对空间误差,DOM范围内的对象的相对误差,或者DOM范围内的对象的绝对空间误差。
在另一些实施例中,如果该参考地图是DOM或者根据DOM生成的二维地图,那么该误差阈值可以等于α×Δ,其中Δ表示DOM的绝对空间误差,DOM范围内的对象的相对误差,或者DOM范围内的对象的绝对空间误差,α是一个系数。α可以是经验值。例如α可以是大于0的数。
在另一些实施例中,该误差阈值可以是一个经验值。例如,可以是0.5米,0.3米或者0.4米等。
在另一些实施例中,可以确定该M个第一候选参考特征中的每个第一候选参考特征和对应的第一候选特征的误差,确定误差最大的N组特征为该N个第一候选特征和该N个第一特征。N可以是一个预设值。
假设M等于10。换句话说,该参考地图中共有M个第一候选参考特征,分别为第一候选参考特征1至第一候选参考特征10。相应的,该点云数据集1中共有M个第一候选特征,分别为第一候选特征1至第一候选特征10。第一候选参考特征1与第一候选特征1对应,第一候选参考特征2与第一候选参考特征2对应,第一候选参考特征与第一候选参考特征3对应,以此类推。假设Δ1表示第一候选特征1与第一候选参考特征1的误差,Δ2表示第一候选特征2与第一候选参考特征2的误差,以此类推。假设Δ1至Δ10有如下关系:Δ1<Δ2<Δ3<Δ4<Δ5<Δ6<Δ7<Δ8<Δ9<Δ10,且假设N等于5。那么该N第一特征是第一候选特征6至第一候选特征10,相应的,该N个第一参考特征是第一候选参考特征6至第一候选参考特征10。
在另一些实施例中,可以确定距离点云数据采集设备(例如如图1所示的车辆110)最近的N组对应的特征。在此情况下,N可以是一个预设值。换句话说,该N个第一特征中的每个第一特征到该点云数据采集设备的距离小于点云数据集1中除该N个第一特征以外的特征到该点云数据采集设备的距离。
假设M等于10。换句话说,该参考地图中共有M个第一候选参考特征,分别为第一候选参考特征1至第一候选参考特征10。相应的,该点云数据集1中共有M个第一候选特征,分别为第一候选特征1至第一候选特征10。第一候选参考特征1与第一候选特征1对应,第一候选参考特征2与第一候选参考特征2对应,第一候选参考特征与第一候选参考特征3对应,以此类推。假设D1至D10分别表示第一候选特征1到第一候选特征10到点云数据采集设备的距离。假设D1至D10有如下关系:D1<D2<D3<D4<D5<D6<D7<D8<D9<D10,且假设N等于5。那么该N第一特征是第一候选特征1至第一候选特征5,相应的,该N个第一参考特征是第一候选参考特征1至第一候选参考特征5。
在另一些实施例中,可以先确定可以确定该M个第一候选参考特征中的每个第一候选参考特征和对应的第一候选特征的误差,选择误差大于误差阈值的多组特征。然后再从该多组特征中,选择出距离点云数据采集设备最近的N组特征作为该N个第一特征和该N个第一参考特征。
例如,Δ1至Δ10(Δ1至Δ10的含义同上)和误差阈值Δth有如下关系:Δ1<Δ2<Δth<Δ3<Δ4<Δ5<Δ6<Δ7<Δ8<Δ9<Δ10;相应的,D1至D10(D1至D10的含义同上)有如下关系:D1<D2<D3<D4<D5<D6<D7<D8<D9<D10,且假设N等于5。那么该N个第一特征是第一候选特征3至第一候选特征7,相应的,该N个第一参考特征是第一候选参考特征3至第一候选参考特征7。
在另一些实施例中,该N个第一参考特征和该N个第一特征是参考地图和点云数据集1中全部具有对应关系的特征。
602,根据该N个第一参考特征在参考地图中的位姿和该N个第一特征在点云数据集1中的位姿,确定第一调整参数集。
在一些实施例中,可以根据根据该N个第一参考特征中第i个第一参考特征在该参考地图中的位姿和该N个第一特征中第i个第一特征在该点云数据集1中的位姿,确定第i个候选调整参数集,其中该第i个第一参考特征与所述第i个第一特征相对应,i=1,…,N。根据确定的N个候选调整参数集,确定该第一调整参数集。
第i个第一特征可以根据第i个候选调整参数集调整,调整后的第i个第一特征所在点云数据集1中的位姿与对应的第i个第一参考特征在参考地图中的位姿相同,或者,调整后的第i个第一特征所在点云数据集1中的位姿与对应的第i个第一参考特征在参考地图中的位姿小于误差阈值。
图7是图4所示的区域1中的N个第一参考特征和N个第一特征的示意图。
如图7所示,区域1中共包括9个第一参考特征和9个第一特征。每个第一参考特征和对应的第一特征可以组成一个特征组。如图7所示,区域1中共有9个特征组。例如,9个特征组中的第i个特征组中的第一特征可以根据候选调整参数集ADi调整到对应的第一参考特征的位姿。在一些实施例中,ADi可以包括在X方向上调整的参数Xi和在Y方向调整的参数Yi。换句话说,第一特征i向X方向调整Xi,向Y方向调整Yi就可以调整到第一参考特征i所在的位姿。
图8是图4所示的区域1的N个第一参考特征和N个第一特征的示意图。图8是在图7的基础上将第一特征9按照参数AD9调整后得到的结果。如图8所示,调整后的第一特征9和第一参考特征9重合。
在一些实施例中,根据确定的N个候选调整参数集,确定该第一调整参数集可以是确定该N个候选调整参数集的平均值。该N个候选调整参数集的平均值可以是该N个候选调整参数集中的对应的参数的算数平均值、几何平均值或者加权平均值等。
还以AD
i包括在X方向上调整的参数X
i和在Y方向调整的参数Y
i为例,该第一调整参数集可以包括参数
和
其中
是N个候选调整参数集在X方向的调整参数的平均值,
是N个候选调整参数集在Y方向的调整参数的平均值。
例如,如果该N个候选调整参数集的平均值是该N个候选调整参数集的加权平均值,那么该N个候选调整参数集的权重可以与对应的第一特征与第一参考特征的误差呈正比。换句话说,如果第一特征与对应的第一参考特征的误差越大,该第一特征对应的候选调整参数集的权重就越大。
在另一些实施例中,该第一调整参数集可以是N个候选调整参数集的中的最大值。
还以ADi包括在X方向上调整的参数Xi和在Y方向调整的参数Yi为例。在一些实施例中,可以确定N个候选调整参数集中的每个调整参数集在X方向的参数和在Y方向的参数的和。X方向的参数和Y方向的参数的和最大的候选调整参数集可以作为该第一调整参数集。在另一些实施例中,可以确定N个候选调整参数集中的每个调整参数集在X方向的参数和在Y方向的参数的平均值,平均值最大的候选调整参数集可以作为该第一调整参数集。
在另一些实施例中,该第一调整参数集可以是N个候选调整参数集的中位数。
还以ADi包括在X方向上调整的参数Xi和在Y方向调整的参数Yi为例。在一些实施例中,可以确定N个候选调整参数集中的每个调整参数集在X方向的参数和在Y方向的参数的和。将X方向的参数和Y方向的参数的和由大到小排列,中位数对应的候选调整参数集可以作为该第一调整参数集。在另一些实施例中,可以确定N个候选调整参数集中的每个调整参数集在X方向的参数和在Y方向的参数的平均值,平均值的中位数对应的候选调整参数集可以作为该第一调整参数集。
在另一些实施例中,可以对该N个候选调整参数集进行加权求和运算。加权求和运算的结果可以作为该第一调整参数集。
在另一些实施例中,可以确定该N个第一特征中距离点云数据采集设备最近的一个第一特征(可以称为第二特征)。相应的,该N个第一参考特征中与该第二特征对应的第一参考特征可以称为第二参考特征。可以根据该第二参考特征在参考地图中的位置和第二特征在点云数据集1中的位置确定该第一调整参数集。
在另一些实施例中,如果在确定该N个第一特征和N个第一参考特征时没有用到误差阈值,那么可以确定该N个第一特征和N个第一参考特征中误差值大于误差阈值的特征。例如,假设该N个第一特征中的K个第一特征和对应的K个第一参考特征的误差值大于误差阈值。那么可以根据该K个第一参考特征在参考地图中的位置以及该K个第一特征在点云数据集1中的位姿确定该第一调整参数集,K为小于或等于N的正整数。
根据K个第一参考特征和K个第一特征确定第一调整参数集的方式与根据N个第一参考特征和N个第一特征确定第一调整参数集的方式类似。例如,可以确定K个候选调整参数集,根据K个候选调整参数集确定第一调整参数集。又如,可以根据K个第一特征中距离点云数据采集设备最近的第一特征和对应的第一参考特征确定该第一调整参数集。
603,根据该第一调整参数集,调整该点云数据集1中的点云数据的位置信息。
还以图7为例,在确定了第一调整参数集后,可以根据该第一调整参数集调整该N个第一特征。此外,还可以根据该第一调整参数集调整点云数据集1中除该N个第一特征以外的点云数据的位置信息。例如,如图7所示的三个未匹配点云数据的位置信息。如图7所示的三个未匹配点云数据表示在参考地图中没有与未匹配点云数据对应的特征。
通过图6所示的方法,可以对点云数据集1中的特征的位姿进行校正,使得点云数据集1中的特征在点云数据集1中的位姿与对应的参考特征在参考地图中的位姿相同或者误差在允许的范围内(例如小于误差阈值)。除此之外,利用图6所示的方法还可以调整没有对应参考特征的点,从而使得点云数据集中的点云数据的位姿与对应的对象的实际位姿是相同的或者误差在允许的范围内。综上所述,利用图6所示的方法可以提高点云数据的精度,缩小误差。例如,在利用图6所示方法进行修正之前和之后的误差如表1所示。
表1
相对水平误差:地图采集作业范围内所采集得到的对象之间位置关系与真实的位置关系的差距,称为相对误差。而水平相对误差是以一般运动的水平方向的相对误差称为水平相对误差。
绝对水平误差:地图采集所采集对象,在以地心为中心建立的绝对坐标系下。通过采集所测算的绝对位置,和真实的在绝对坐标系下的位置的差距。而水平绝对误差是以一般运动的水平方向的相对误差称为水平绝对误差。
如表1所示,利用图6所示的方法可以显著缩小最大水平相对误差和最大水平绝对误差。
此外,应用图6所示的方法不需要增加采集点云数据的成本。例如,在构建回环修复累计误差时,为了提高回环效果,需要增大用于采集点云的传感器与帧之间的共视特征。因此,需要安装水平传感器。此外,建图测绘还需要斜装传感器使得地面有足够的点云密度。换句话说,如果需要利用构建回环修复累计误差,那么至少需要在点云数据采集设备上安装一个水平传感器和一个斜装传感器,这样增加了点云数据采集设备的成本。而图6所示的方法中的点云可以只使用一个传感器采集,例如可以只使用一个斜装传感器。
本领域人员可以理解,虽然图6所示的方法可以只使用一个传感器采集的点云来实现,但是为了提高精度也可以在点云数据采集设备上设置多个传感器来采集点云。
进一步,通过回环方式修复累计误差需要构建回环,因此点云数据采集设备的采集路径会大量重复,降低采集效率。而图6所示的方法不需要构建回环,因此,可以提高采集效率。
再进一步,回环只能通过闭合点匹配消除误差。轨迹中途的累计误差会减小不会消除。而图6所示的方法中,每一帧点云数据中的误差都可以被校正。此外,回环中间的相对累计误差与场景和传感器相关,不易于评估。而利用图6所示的方法,由于点云数据中的对象是校正至对应的参考地图中对应的对象,而参考地图的精度是已知的。因此,校正后的点云数据的精度也是已知的。
以上是结合图6至图8介绍了如何校正图4中的区域1中的点云数据。下面结合图9介绍如何校正图4中的区域2中的点云数据。
图9是根据本申请实施例提供的另一校正点云数据的方法的示意性流程图。
901,确定参考地图与目标地图在区域2的点云数据的集合(可以称为点云数据集2)没有相对应的特征。
如上所述,参考地图在区域2被高架桥遮挡。因此,无法从参考地图中提取区域2中的参考特征。因此,点云数据集2中的特征在区域2中没有对应的参考地图中的特征。
902,根据第一调整参数集,调整点云数据集2中每个点云数据的位置信息。
利用图9所示的方法,可以在无法利用参考地图的情况下,使用根据参考地图确定的调整参数集对点云数据进行校正。上述技术方案也可以对点云数据进行修正。同样的,上述技术方案也可以不需要安装多个传感器,不需要构建回环,并且校正后的点云数据也是已知的。
下面结合图10介绍如何校正图4中的区域3中的点云数据。
图10是根据本申请实施例提供的另一校正点云数据的方法的示意性流程图。
1001,确定参考地图与目标地图在区域3的点云数据的集合(可以称为点云数据集3)没有相对应的特征。
如图4所示,区域1位于东西向的道路(可以称为道路1)。区域3位于高架桥下的道路(可以称为道路2)。区域2位于道路1和道路2的交叉区域。与区域2类似,参考地图在区域3被高架桥遮挡。因此,无法从参考地图中提取区域3中的参考特征。因此,点云数据集3中的特征在区域3中没有对应的参考地图中的特征。
1002,根据第一调整参数集确定第二调整参数集。
在一些实施例中,第二调整参数集可以与第一调整参数集相同。
在另一些实施例中,可以根据包括第一调整参数集在内的多个调整参数集确定第二调整参数集。如图4所示,区域2只是位于交叉区域中的部分区域。除了区域2以外,交叉区域中还包括其他区域,例如区域6和区域8。利用图6所示的方法还可以确定其他调整参数集。例如,对于区域5和区域7可以分别利用图6所示的方法确定两个调整参数集(可以分别称为调整参数集5和调整参数集7)。根据第一调整参数集确定第二调整参数集可以是:根据第一调整参数集,调整参数集5和调整参数集7确定第二调整参数集。
根据多个调整参数集确定第二调整参数集的方式与根据多个候选调整参数集确定第一调整参数集的方式类似。例如,可以确定多个调整参数集的平均值,中位数,最大值,计算加权求和等。为了简洁,在此就不再赘述。
1003,根据第二调整参数集,调整点云数据集3中每个点云数据的位置信息。
图10所示的方法可以根据已经校正过的点云数据对未经过校正的点云数据进行校正。上述技术方案也可以对点云数据进行修正。同样的,上述技术方案也可以不需要安装多个传感器,不需要构建回环,并且校正后的点云数据也是已知的。
下面结合图11介绍如何校正图4中的区域4中的点云数据。
图11是根据本申请实施例提供的另一校正点云数据的方法的示意性流程图。
1101,确定参考地图与目标地图在区域4的点云数据的集合(可以称为点云数据集4)没有相对应的特征。
在图9所示的方法中参考地图在区域2被高架桥遮挡。因此,无法从参考地图中提取区域2中的参考特征。因此,点云数据集2中的特征在区域2中没有对应的参考地图中的特征。
但是在区域4中,地面上的对象的一部分被树遮挡,另一部分未被遮挡。所以参考地图中可以包括未被遮挡的部分对象。因此,参考地图中的在区域4中的参考特征(可以称为第四参考特征)与点云数据集4中的特征(可以称为第四特征)可能会出现以下几种情况:
情况1,一个或多个第四特征没有对应的第四参考特征。例如,区域4的中的对象被树木遮挡住。因此,参考地图中并没有根据这些对象确定的第四参考特征。但是点云数据采集设备能够采集到对应于这些被树木挡住对象。因此,点云数据4中包括对应于这些对象的第四特征。但是这些第四特征并没有对应的第四参考特征。
情况2,一个或多个第四参考特征没有对应的第四特征。例如,可以从参考地图第四参考特征。但是点云数据采集设备没能够采集对应于第四参考特征的对象的点云。因此,点云数据4中没有包括对应于这些对象的第四特征。
情况3,参考地图在区域4中有T个第四参考特征,虽然能够找到和这T个第四参考特征一一对应的T个第四特征,但是每个第四参考特征与对应的第四特征之间的匹配点数目小于或等于匹配点阈值。匹配点阈值可以是一个预设的数字。例如匹配点阈值可以是大于或等于5且小于或等于15的正整数。例如,匹配点阈值可以是5,6或者7。如果第四参考特征与对应的第四特征之间的匹配点数目小于该匹配点阈值,则无法确定这两个特征之间的误差,或者,确定出误差与实际误差范围较大。因此,可以也认为这T个第四参考特征没有对应的第四特征。
在一些实施例中,参考地图中的在区域4中的每个第四参考特征与点云数据集4中的每个第四特征都符合上述情况1至情况3中的一种。
在另一些实施例中,参考地图在区域4中的部分第四参考特征与点云数据集4中的部分第四特征符合上述情况1至情况3中的一种。参考地图在区域4中的另一部分第四参考特征与点云数据4中的另一部分第四特征一一对应。但是这些第四参考特征和对应的第四特征之间的误差小于或等于误差阈值。这种第四参考特征和第四特征也可以认为是没有对应。
1102,根据第一调整参数集,调整点云数据集4中每个点云数据的位置信息。
利用图11所示的方法,可以在无法利用参考地图的情况下,使用根据参考地图确定的调整参数集对点云数据进行校正。上述技术方案也可以对点云数据进行修正。同样的,上述技术方案也可以不需要安装多个传感器,不需要构建回环,并且校正后的点云数据也是已知的。
高架桥上的对象由于没有被任何物体遮挡,因此高架桥上的点云数据的校正过程与区域1的校正过程相同,为了简洁,在此就不再赘述。
图12是根据本申请实施例提供的一种校正点云数据的方法的示意性流程图。
1201,确定参考地图在第一区域中的N个第一参考特征和目标地图在该第一区域的第一点云数据集中的N个第一特征,该第一点云数据集为该第一区域的点云数据的集合,该N个第一参考特征和该N个第一特征一一对应,N为正整数。
1202,根据该N个第一参考特征在该参考地图中的位姿和该N个第一特征在该第一点云数据集中的位姿,确定第一调整参数集。
1203,根据该第一调整参数集,调整该第一点云数据集中的每个点云数据的位置信息。
在一些实施例中,该参考地图为数字正射影像图,或者,该参考地图为高可信度点云数据;或者,该参考地图为施工设计图。
在一些实施例中,该方法还包括:根据该第一调整参数集,调整第二点云数据集中每个点云数据的位置信息,该第二点云数据集为该目标地图在第二区域的点云数据的集合。
在一些实施例中,在该根据该第一调整参数集,调整第二点云数据集中每个点云数据的位置信息之前,该方法还包括:确定该参考地图与该第二点云数据集之间没有相对应的特征。
在一些实施例中,该第一区域与该第二区域属于第一道路,该方法还包括:根据该第一调整参数集,确定第二调整参数集;根据该第二调整参数集,调整第三点云数据集中每个点云数据的位置信息,该第三点云数据集为该目标地图在第三区域的点云数据的集合,该第三区域与该第二区域属于第二道路,并且该第二区域位于该第一道路与该第二道路的交叉区域。
在一些实施例中,该根据该N个第一参考特征在该参考地图中的位姿和该N个第一特征在该第一点云数据集中的位姿,确定第一调整参数集,包括:确定第二特征,该第二特征为该N个第一特征中距离点云数据采集设备最近的一个第一特征;根据第二参考特征在该参考地图中的位姿和该第二特征在该第一点云数据集中的位姿,确定第一调整参数集,该第二参考特征为该N个第一参考特征中与该第二特征对应的第一参考特征。
在一些实施例中,该根据该N个第一参考特征在该参考地图中的位姿和该N个第一特征在该第一点云数据集中的位姿,确定第一调整参数集,包括:根据该N个第一参考特征中第i个第一参考特征在该参考地图中的位姿和该N个第一特征中第i个第一特征在该第一点云数据集中的位姿,确定第i个候选调整参数集,其中该第i个第一参考特征与该第i个第一特征相对应,i=1,…,N;根据N个该候选调整参数集,确定该第一调整参数集。
在一些实施例中,该根据该N个第一参考特征在该参考地图中的位姿和该N个第一特征在该第一点云数据集中的位姿,确定第一调整参数集,包括:根据该N个第一参考特征在该参考地图中的位姿和该N个第一特征在该第一点云数据集中的位姿,确定与参考地图中的对应第一参考特征之间的误差大于误差阈值的K个第一特征,该K为小于或等于N的正整数;根据该K个第一特征在该第一点云数据集中的位姿,以及与该K个第一特征一一对应的K个第一参考特征在该参考地图中的位姿,确定该第一调整参数集。
图12所示方法的具体步骤和有益效果可以参考图6、图9至图11中的描述,为了简洁,在此就不再赘述。
图13是根据本申请实施例提供的一种校正点云数据的装置的示意性结构框图。如图13所示的校正点云数据的装置1300可以用于执行上述各实施例所述的校正点云数据的方法,装置1300包括获取单元1301和处理单元1302。
获取单元1301,用于获取参考地图和目标地图。
处理单元1302,用于确定该参考地图在第一区域中的N个第一参考特征和该目标地图在该第一区域的第一点云数据集中的N个第一特征,该第一点云数据集为该第一区域的点云数据的集合,该N个第一参考特征和该N个第一特征一一对应,N为正整数。
处理单元1302,还用于根据该N个第一参考特征在该参考地图中的位姿和该N个第一特征在该第一点云数据集中的位姿,确定第一调整参数集。
处理单元1302,还用于根据该第一调整参数集,调整该第一点云数据集中的每个点云数据的位置信息。
在一些实施例中,该参考地图为数字正射影像图,或者,该参考地图为高可信度点云数据;或者,该参考地图为施工设计图。
在一些实施例中,处理单元1302,还用于根据该第一调整参数集,调整第二点云数据集中每个点云数据的位置信息,该第二点云数据集为该目标地图在第二区域的点云数据的集合。
在一些实施例中,处理单元1302,还用于在该根据该第一调整参数集,调整第二点云数据集中每个点云数据的位置信息之前,确定该参考地图与该第二点云数据集之间没有相对应的特征。
在一些实施例中,该第一区域与该第二区域属于第一道路,处理单元1302,还用于根据该第一调整参数集,确定第二调整参数集;根据该第二调整参数集,调整第三点云数据集中每个点云数据的位置信息,该第三点云数据集为该目标地图在第三区域的点云数据的集合,该第三区域与该第二区域属于第二道路,并且该第二区域位于该第一道路与该第二道路的交叉区域。
在一些实施例中,处理单元1302,具体用于确定第二特征,该第二特征为该N个第一特征中距离点云数据采集设备最近的一个第一特征;根据第二参考特征在该参考地图中的位姿和该第二特征在该第一点云数据集中的位姿,确定第一调整参数集,该第二参考特征为该N个第一参考特征中与该第二特征对应的第一参考特征。
在一些实施例中,处理单元1302,具体用于根据该N个第一参考特征中第i个第一参考特征在该参考地图中的位姿和该N个第一特征中第i个第一特征在该第一点云数据集中的位姿,确定第i个候选调整参数集,其中该第i个第一参考特征与该第i个第一特征相对应,i=1,…,N;根据N个该候选调整参数集,确定该第一调整参数集。
在一些实施例中,处理单元1302,具体用于根据该N个第一参考特征在该参考地图中的位姿和该N个第一特征在该第一点云数据集中的位姿,确定与参考地图中的对应第一参考特征之间的误差大于误差阈值的K个第一特征,该K为小于或等于N的正整数;根据该K个第一特征在该第一点云数据集中的位姿,以及与该K个第一特征一一对应的K个第一参考特征在该参考地图中的位姿,确定该第一调整参数集。
在一些实施例中,校正点云数据的装置1300可以是服务器或者车辆,还可以是服务器中或者车辆中部件,所述部件包括芯片,例如系统芯片(system on chip,SoC),中央处理器(central processor unit,CPU)实现,专用集成电路(application-specificintegrated circuit,ASIC),或可编程逻辑器件(programmable logic device,PLD),上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD),现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic arraylogic,GAL)或其任意组合。
图13中的各个单元的只一个或多个可以软件、硬件、固件或其结合实现。所述软件或固件包括但不限于计算机程序指令或代码,并可以被硬件处理器所执行。所述硬件包括但不限于各类集成电路,如中央处理单元(CPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或专用集成电路(ASIC)。
根据本申请实施例的校正点云数据的装置1300可对应于执行本申请实施例中描述的方法,并且校正点云数据的装置1300中的各个单元的上述和其它操作和/或功能分别为了实现上述方法的相应流程,为了简洁,在此不再赘述。
图14是根据本申请实施例提供的校正点云数据的装置的结构框图。图14所示的校正点云数据的装置1400可以用于执行上述各实施例所述的校正点云数据的方法,装置1400包括:处理器1401,内存单元1402,存储介质1403。
处理器1401,内存单元1402和存储介质1403可以通过总线1404相通信。
处理器1401是计算设备1400的控制中心,提供执行指令、执行中断动作、提供定时功能和其他功能的排序和处理设施。可选的,处理器1401包括一个或多个中央处理器(CPU)。如图14所示的CPU 0和CPU 1。可选的,计算设备1400包括多个处理器。处理器1401可以是单核(单CPU)处理器,也可以是多核(多CPU)处理器,除非另有说明,否则用于执行任务的处理器或存储器等部件可以实现为临时配置的用于在给定时间执行任务的通用组件或制造用于执行任务的特定组件,如本文所使用的术语“处理器”是指一个或多个设备或电路。处理器1401还可以是其他通用处理器、例如SOC,ASIC,FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
处理器1401的CPU执行的程序代码可以存储在内存单元1402或存储介质1403中。可选的,程序代码(例如,内核、待调试程序)存储在存储介质1403中,被复制到存储器单元1402中供处理器1401执行。处理器1401可执行至少一个操作系统,该操作系统可以是LINUXTM、UNIXTM等。处理器1401通过控制其他程序或进程的执行,控制与周边设备的通信,控制数据处理设备资源的使用,从而控制计算设备1400的运行,以此实现上述方法的操作步骤。
总线1404除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线1404。
可选地,上述校正点云数据的装置1400还包括通信接口(图中未示出),该通信接口用于实现校正点云数据的装置1400与外部器件或设备的通信,例如,校正点云数据的装置1400可以与点云数据采集装置进行通信,用于该点云数据采集装置采集的点云数据。
应理解,根据本申请实施例的校正点云数据的装置1400可对应于本申请实施例中的校正点云数据的装置1300,并且校正点云数据的装置1400中的各个模块的上述和其它操作和/或功能分别为了实现上述方法的相应流程,为了简洁,在此不再赘述。
本申请还提供一种计算机程序产品,当所述计算机程序产品在处理器上运行时,使得校正点云数据的装置执行执行上述方法。
根据本申请实施例提供的方法,本申请还提供一种计算机可读介质,该计算机可读介质包括计算机指令,当所述计算机指令在被处理器运行时,使得校正点云数据的装置执行上述方法。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘(solid state drive,SSD)。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。