1.本主题公开总体涉及光检测和测距(激光雷达)以及相机传感器。具体地,本主题公开涉及自动检测非结构化激光雷达点云中的校准标准。
背景技术:2.多个传感器可以映射到公共参照系,以促进融合来自多个传感器的信息。一种方法是经由传感器对的外部校准来实现。
3.现有方法通过外部手段在受控环境(也称为场景)中调查每个传感器的定位和取向(也称为姿势)。通常,该调查将使用计量方法以使每个传感器位于公共参照系中。这些方法可以通过访问(例如,通过使用受限空间)和/或对传感器的视线约束来限制。在某些情况下,可以拆卸传感器平台以启用访问。一些方法使用布置在精心安排的场景中的已知校准目标和其他基准。这转化为通常无法在现场执行的昂贵且耗时的过程。由于实际传感器的姿势随时间漂移并且(一个或多个)传感器变得未对准,因此传感器平台将不得不停止使用以执行新的校准。
技术实现要素:4.在特定实施方式中,一种方法包括在一个或多个处理器处获得表示点云的点在三维(3d)空间中的位置的点云数据。该方法进一步包括至少部分地基于轮廓度量来选择点云数据的一个或多个子集以供一个或多个处理器进一步处理。该方法进一步包括至少部分地基于一个或多个距离度量,由一个或多个处理器将点云的一个或多个子集的点集分组到一个或多个簇中。该方法进一步包括对于基于校准标准的维度(dimension)满足一个或多个簇尺寸准则的簇,由一个或多个处理器确定簇的点的信号强度分布是否满足分布准则。该方法进一步包括基于点的信号强度分布满足分布准则的确定,由一个或多个处理器基于簇确定表示校准标准的区域的边界,并由一个或多个处理器存储识别与校准标准相对应的点云的点集的数据,该点集基于表示校准标准的区域的边界来识别。
5.在另一特定实施方式中,一种系统包括被配置为存储指令的存储器和一个或多个处理器,该一个或多个处理器被配置为获得表示点云的点在三维(3d)空间中的位置的点云数据。一个或多个处理器进一步被配置为至少部分地基于轮廓度量来选择点云数据的一个或多个子集以供一个或多个处理器进一步处理。一个或多个处理器进一步被配置为至少部分地基于一个或多个距离度量将点云的一个或多个子集的点集分组到一个或多个簇中。一个或多个处理器进一步被配置为对于基于校准标准的维度满足一个或多个簇尺寸准则的簇,确定簇的点的信号强度分布是否满足分布准则。一个或多个处理器进一步被配置为基于点的信号强度分布满足分布准则的确定,基于簇确定表示校准标准的区域的边界,并存储识别与校准标准相对应的点云的点集的数据,该点集基于表示校准标准的区域的边界来识别。
6.在另一特定实施方式中,一种非暂时性计算机可读介质存储指令,当由一个或多
个处理器执行时,该指令使得一个或多个处理器启动、执行或控制操作,操作包括:获得表示点云的点在三维(3d)空间中的位置的点云数据。操作还包括至少部分地基于轮廓度量来选择点云数据的一个或多个子集以供一个或多个处理器进一步处理。操作还包括至少部分地基于一个或多个距离度量将点云的一个或多个子集的点集分组到一个或多个簇中。操作进一步包括对于基于校准标准的维度满足一个或多个簇尺寸准则的簇,确定簇的点的信号强度分布是否满足分布准则。操作还包括基于点的信号强度分布满足分布准则的确定,基于簇确定表示校准标准的区域的边界,并且存储识别与校准标准相对应的点云的点集的数据,该点集基于表示校准标准的区域的边界来识别。本文所描述的特征、功能和优点可以在各种实施方式中独立实现,或者可以在其他实施方式中组合,其进一步细节可以参照以下描述和附图找到。
附图说明
7.图1描绘根据本主题公开的至少一个实施例的用于自动检测非结构化点云中的校准标准的示例系统。
8.图2是示出根据本主题公开的至少一个实施例的用于自动检测非结构化点云中的校准标准的示例方法的框图。
9.图3是示出根据本主题公开的至少一个实施例的用于自动检测非结构化点云中的校准标准的另一示例方法300的框图。
10.图4是示出根据本主题公开的至少一个实施例的用于应用轮廓度量和选择具有一致轮廓的最大点集的示例方法的框图。
11.图5是示出根据本主题公开的至少一个实施例的来自应用轮廓度量的示例性输出的说明性三维图。
12.图6图示根据本主题公开的至少一个实施例的从选定的示例性一致表面法线集生成的示例性最小生成树(minimum spanning tree)。
13.图7是示出根据本主题公开的至少一个实施例的用于将分布准则应用于信号强度分布的示例方法的框图。
14.图8图示根据本主题公开的至少一个实施例的示例性信号强度分布。
15.图9是示出根据本主题公开的至少一个实施例的用于将校准标准的一个或多个边界拟合到点集的示例方法的框图。
16.图10图示根据本主题公开的至少一个实施例的用于拟合到沿光束方向分层聚簇(cluster)的点的线的示例性线-光束拟合。
17.图11图示根据本主题公开的至少一个实施例的与拟合线相关联的坐标的示例性绘图。
18.图12图示根据本主题公开的至少一个实施例的示例性簇,其中线拟合到簇的点。
19.图13是示出根据本主题公开的至少一个实施例的用于将校准标准的一个或多个边界拟合到点集的另一示例方法的框图。
20.图14图示根据本主题公开的至少一个实施例的另一示例性簇,其中线拟合到簇的点。
21.图15图示根据本主题公开的包括被配置为支持计算机实现的方法和计算机可执
行程序指令(或代码)的方面的计算设备的计算环境的框图。
具体实施方式
22.本文公开的方面提出了用于在光检测和测距(激光雷达)传感器与相机之间建立外在关系的系统和方法。特别地,本主题公开的系统和方法允许自动检测非结构化激光雷达点云中的校准标准。为了有意义地融合来自多个传感器的信息,建立公共参照系来链接多个传感器的独立参照系。这可以通过传感器对的外部校准来完成。
23.所公开的系统和方法能够将两个或更多个互补传感器系统(例如,3d激光雷达和相机)映射到公共参照系,从而可以将每个单独的传感器提供的信息融合在一起,以提供对自主系统的世界更完整和稳健的感知。所公开的系统能够自动检测非结构化激光雷达点云(例如,由校准场景的激光雷达扫描生成的非结构化激光雷达点云)中的单个简单校准标准(例如,平面棋盘)。这可以转化为既可以在现场也可以在必要时执行的程序。例如,该程序可以作为飞行器飞行前维护的一部分来执行。
24.附图和以下描述说明了具体示例。应当理解,本领域的技术人员将能够设计出各种布置,这些布置虽然没有在本文中明确描述或示出,但体现了本文描述的原理并且被包括在本描述随附的权利要求的范围内。此外,本文描述的任何示例旨在帮助理解本公开的原理并且应被解释为不受限制。因此,本公开不限于以下描述的特定实施例或示例,而是由权利要求及其等同物限制。本文参照附图描述了特定实施方式。在描述中,共同的特征在整个附图中由共同的附图标记表示。
25.如本文所使用的,各种术语仅用于描述特定实施方式的目的并且不旨在进行限制。例如,单数形式“一”、“该”也旨在包括复数形式,除非上下文另有明确说明。此外,本文描述的一些特征在一些实施方式中是单数的而在其他实施方式中是复数的。为了说明,图1描绘包括一个或多个计算设备110的计算系统100,这表明在一些实施方式中,系统100包括单个计算设备110,而在其他实施方式中,系统100包括多个计算设备110。为了本文的方便参照,这些特征通常被介绍为“一个或多个”特征,除非正在描述与多个特征相关的方面,否则随后以单数形式提及。
26.术语“包括”可与“包含”互换使用。此外,术语“其中”与术语“在
…
中”可互换使用。如本文所使用的,“示例性”指示示例、实施方式和/或方面,并且不应被解释为限制或指示偏好或优选实施方式。如本文所使用的,用于修饰诸如结构、部件、操作等元素的序数术语(例如,“第一”、“第二”、“第三”等)本身并不表示元素相对于另一个元素的任何优先级或顺序,而只是将该元素与具有相同名称(但使用序数术语)的另一个元素区分开来。如本文所使用的,术语“集”是指一个或多个元素的组,而术语“多个”是指多个元素。
27.如本文所使用的,除非上下文另有说明,否则“生成”、“计算”、“使用”、“选择”、“访问”和“确定”是可互换的。例如,“生成”、“计算”或“确定”参数(或信号)可以指主动生成、计算或确定参数(或信号),或者可以指使用、选择或访问诸如由另一个部件或设备已经生成的参数(或信号)。如本文所使用的,“耦合”可以包括“通信耦合”、“电耦合”或“物理耦合”,并且还可以(或替代地)包括其任何组合。两个设备(或部件)可以经由一个或多个其他设备、部件、电线、总线、网络(例如,有线网络、无线网络、或其组合)等直接或间接地耦合(例如,通信耦合、电耦合或物理耦合)。作为说明性非限制性示例,电耦合的两个设备(或部件)
可以包含在同一设备或不同设备中,并且可以经由电子器件、一个或多个连接器或电感耦合连接。在一些实施方式中,诸如在电通信中通信耦合的两个设备(或部件)可以诸如经由一个或多个电线、总线、网络等直接或间接地发送和接收电信号(数字信号或模拟信号)。如本文所使用的,“直接耦合”用于描述被耦合(例如,通信耦合、电耦合或物理耦合)而没有中间部件的两个设备。
28.图1描绘根据本主题公开的至少一个实施例的用于在非结构化点云中自动检测校准标准的示例系统100。在一些示例中,系统100包括交通工具148,该交通工具148被配置用于在相机102和激光雷达系统112两者的传感器范围内使用校准标准120在一对传感器(例如,激光雷达系统112和相机102)之间进行校准。
29.在一些示例中,交通工具148可以是飞行器、汽车、卡车或使用传感器对的其他交通工具。在相同或替代示例中,交通工具148可以是使用传感器对的结构(例如,房屋、建筑物等)。在另外的相同或替代示例中,交通工具148可以是交通工具的部件、结构的部件和/或交通工具、结构、交通工具的部件或结构的部件的任何组合。
30.在一些示例中,如下面更详细描述的,系统100的传感器对包括激光雷达系统112和相机102。在一些配置中,传感器对中的一个或多个传感器(例如,激光雷达系统112和/或相机102)可以耦合到交通工具148。在一些实施方式中,相机102可以包括一个或多个光学器件104和一个或多个图像传感器106以从校准标准120捕获部分或全部图像数据108。
31.在一些示例中,传感器对(例如,激光雷达系统112和相机102)可以在相机102和激光雷达系统112两者的传感器范围内使用校准标准120来校准。在一些配置中,校准标准120可以包括预定图案122和边界124。例如,校准标准120可以是包括在某些边(例如,边界124)内的交替的黑白方块(例如,图案122)的棋盘型标准(“棋盘”)。在示例性配置中,图案122和边界124的尺寸在校准之前是已知的(例如,作为校准标准的维度146)。
32.在一些配置中,激光雷达系统112包括一个或多个发射器114和一个或多个接收器116。在示例系统100的示例性操作期间,激光雷达系统112的至少一个发射器114朝向校准标准120(例如,棋盘)发射(transmit)一个或多个发射信号,而校准标准120处于特定位置和/或取向。在一个或多个示例中,(一个或多个)发射信号可以包括光信号和/或红外信号。(一个或多个)发射信号从校准标准120反射以生成至少一个反射信号。在示例系统100的示例性操作期间,激光雷达系统112的(一个或多个)接收器116接收(一个或多个)反射信号。在一些配置中,激光雷达系统112将点云数据118传送到(一个或多个)计算设备110。在一些示例中,点云数据118至少基于由激光雷达系统112接收的(一个或多个)反射信号。
33.在示例系统100的示例性操作期间,在(一个或多个)发射信号从校准标准120反射之后或同时,相机102捕获校准标准120的图像以获得图像数据108。在一些配置中,相机102将图像数据108传送到(一个或多个)计算设备110。
34.在一些示例中,校准标准120可以移动到距离激光雷达系统112和/或相机102更远或更近的不同位置。校准标准120也可以或可替代地围绕任何轴线旋转以在不同取向上被定向。
35.如示例系统100中所示,(一个或多个)计算设备110位于交通工具148内,远离相机102和/或激光雷达系统112。在一些示例中,(一个或多个)计算设备110可以位于激光雷达系统112内、相机102内、交通工具148使用的另一传感器内、另一交通工具内、另一交通工具
使用的另一传感器内或在任何其他适当位置。此外,在一些配置中,激光雷达系统112和相机102一起容纳和/或一起安装在交通工具148上。在其他示例中,激光雷达系统112和相机102位于分开的位置。此外,在不脱离本主题公开的范围的情况下,(一个或多个)计算设备110的部件可以分布到一个或多个位置。例如,(一个或多个)处理器130可以与存储器132一起容纳或远离存储器132。
36.在一些示例中,(一个或多个)计算设备110经由(一个或多个)接口126接收点云数据118和/或图像数据108。在一些配置中,如下面参照图5更详细描述的,(一个或多个)接口126可以包括一个或多个输入/输出接口。
37.在一些示例中,(一个或多个)计算设备110可以存储点云数据118和/或图像数据108(例如,在存储器132中)用于进一步处理。如下面参照图2至图14更详细描述的,(一个或多个)计算设备110可以处理和分析点云数据118和图像数据108以自动检测校准标准120。在一些示例中,点云数据118表示点云的点在三维(3d)空间中的位置。点云的每个点对应于来自激光雷达系统112的发射信号从校准场景中的各种对象反射的位置,其中校准场景中的对象包括校准标准120。
38.由于点云数据118的潜在大量点,处理(例如,由(一个或多个)处理器130)点云数据118可能是资源密集型的。因此,在一些示例中,(一个或多个)处理器130可以选择点云数据的一个或多个子集152用于进一步处理以更有效地处理点云数据118(例如,使用更少的计算资源)。如下面参照图2至图5更详细描述的,选择点云数据的一个或多个子集152可以至少部分基于轮廓度量136,该轮廓度量136可以存储在存储器132中。例如,(一个或多个)处理器130可以基于“法线差”过滤器选择点云数据的子集152,这将在下面参照图2至图5更详细地描述。
39.图1描绘设置在三维空间160内的点云的点集的非限制性示例。在图1中,点云对应于校准场景的至少一部分。在图1所图示的示例中,点云包括表示校准场景内的位置的点,这些点包括表示棋盘校准标准的点集162以及表示校准场景中的其他对象的点集164和166。为了处理点云数据118,(一个或多个)处理器130执行多个操作,如本文进一步描述的,以识别表示校准标准120的点集162。例如,(一个或多个)处理器130应用轮廓度量(例如,法线差过滤器)以选择满足轮廓度量的点云的点组。在该示例中,轮廓度量可以由平面上的点来满足。(一个或多个)处理器130还可以被配置为例如选择具有相似轮廓的最大点组。在图1所图示的示例中,具有相似轮廓的最大点组由点集162表示,(一个或多个)处理器130可以选择该最大点组以作为最可能对应于校准标准120的点云的点组进行进一步处理。
40.在一些示例中,(一个或多个)处理器130还至少部分地基于可以存储在存储器132中的一个或多个距离度量140,将点云的一个或多个子集152的点集分组到一个或多个簇154中。例如,如下面参照图2至图5更详细描述的,(一个或多个)处理器130可以对点云数据的一个或多个子集152的所有点进行分组,这些点在距点云数据的一个或多个子集152已被投影(例如,由(一个或多个)处理器130)到的平面的预定欧几里得距离内。
41.在一些示例中,(一个或多个)处理器130可以确定簇154的点的信号强度分布是否满足可以存储在存储器132中的某些分布准则138。在一些配置中,(一个或多个)处理器130使该确定仅针对基于校准标准的维度146满足一个或多个簇尺寸准则144的一个或多个簇154。簇尺寸准则144和/或校准标准的维度146可以被存储,例如存储在存储器132中。作为
说明性示例,如下面参照图2至图6更详细描述的,(一个或多个)处理器130可以确定簇154是否大于将包围(circumscribe)校准标准120的圆的直径。
42.在一些示例中,(一个或多个)处理器130可以基于(一个或多个)簇154确定点云中表示校准标准120的区域的边界156。例如,如下面参照图2更详细描述的,(一个或多个)处理器130可以确定校准标准120被定向在水平/竖直方向还是菱形方向上。如下面参照图2至图3、图9至图14更详细描述的,根据校准标准120的取向,(一个或多个)处理器130可以确定多条线,每条线对应于点云中表示校准标准120的区域的边界156的边界。
43.在一些配置中,(一个或多个)处理器130基于点的信号强度分布142满足一个或多个分布准则138的确定来确定点云中表示校准标准120的区域的边界156。信号强度分布142和/或分布准则138可以存储在存储器132中。作为说明性示例,如下面参照图2至图3、图7至图8更详细描述的,(一个或多个)处理器130可以确定点云中的区域的哪些区(如果有)对应于棋盘的“黑色”和“白色”区域。如下面参照图2至图3、图7至图8更详细描述的,(一个或多个)处理器130可以使用“黑色”和“白色”区域来进一步定义点云中表示校准标准120的区域的边界156。
44.在一些示例中,(一个或多个)处理器130将识别对应于校准标准120的点云的点集150的数据存储在存储器132的一个或多个位置中。在一些配置中,(一个或多个)处理器130基于表示校准标准120的区域的边界156识别点集150。
45.在一些示例中,(一个或多个)处理器130可以至少基于存储器132中的指令134自动检测非结构化点云内的校准标准120。如上文更详细描述的,(一个或多个)处理器130还可以使用存储在存储器132中的数据,诸如(一个或多个)轮廓度量136、分布准则138、(一个或多个)距离度量140、信号强度分布142、簇尺寸准则144和/或校准标准的维度146。此外,(一个或多个)处理器130可以使用从诸如相机102和/或激光雷达系统112的传感器接收的数据自动检测非结构化点云内的校准标准120。如下文参照图2至图15更详细描述的,在不脱离本公开的范围的情况下,(一个或多个)处理器130还可以使用其他数据。
46.图2是根据本主题公开的至少一个示例的用于自动检测非结构化点云中的校准标准的方法200的示例的流程图。方法200可以由一个或多个处理器执行指令而被启动、执行或控制,例如由图1的(一个或多个)处理器130执行来自存储器132的指令134。
47.在一些示例中,方法200包括在框202处,获得表示点云中的点在3d空间中的位置的点云数据。例如,如上面参照图1和下面参照图15更详细描述的,图1的(一个或多个)处理器130可以从激光雷达系统112或从存储器132获得点云数据118。
48.在图2的示例中,方法200还包括在框204处,至少部分地基于轮廓度量来选择点云数据的一个或多个子集以用于进一步处理。例如,如下面参照图3至图6更详细描述的,(一个或多个)处理器130可以基于轮廓度量(诸如“法线差”过滤器)选择点云数据118的子集以用于进一步处理。
49.在图2中,方法200进一步包括在框206处,至少部分地基于一个或多个距离度量,将点云的一个或多个子集的点集分组到一个或多个簇中。例如,如下面参照图3至图6更详细描述的,(一个或多个)处理器130可以对点云的一个或多个子集的所有点进行分组,这些点在距点云的一个或多个子集已被投影到的平面的特定欧几里得距离内。
50.在图2中,方法200还包括在框208处,对于基于校准标准的维度满足一个或多个簇
尺寸准则的簇,确定簇的点的信号强度分布是否满足一个或多个分布准则。例如,如下文参照图3至图6更详细描述的,图1的(一个或多个)处理器130可以确定簇是否大于将包围校准标准120的圆的直径。
51.对于小于圆的直径的簇,(一个或多个)处理器130可以基于校准标准120的图案122确定簇的点的信号强度分布是否类似于将预期对应于校准标准120的信号强度分布。例如,如下面参照图3至图4、图7至图8更详细描述的,图1的(一个或多个)处理器130可以确定点云的区域的哪些区(如果有)对应于棋盘的“黑色”和“白色”区域。在该示例中,图1的(一个或多个)处理器130使用“黑色”和“白色”区域来进一步定义点云中表示校准标准120的区域的边界。
52.在图2中,方法200进一步包括在框210处,基于点的信号强度分布满足一个或多个分布准则的确定,基于簇确定表示校准标准的区域的边界。例如,如下面参照图2更详细描述的,图1的(一个或多个)处理器130可以确定校准标准120被定向在水平/竖直方向还是菱形方向上。如下面参照图3至图4、图9至图14更详细描述的,根据校准标准的取向,图1的(一个或多个)处理器130可以确定多条线,其中每条线对应于点云中表示校准标准的区域的边界。
53.在图2中,方法200还包括在框212处,存储识别对应于校准标准的点云的点集的数据,如上面参照图1更详细描述的,该点集基于表示校准标准的区域的边界来识别。
54.尽管方法200被图示为包括一定数量的步骤,但是在不脱离本公开的范围的情况下,在方法200中可以包括更多、更少和/或不同的步骤。例如,方法200可以开始于框204,其中表示点云的点在3d空间中的位置的点云数据已经存储在存储器中。作为附加示例,如下面参照图3至图6详细描述的,在某些示例中,选择点云的点子集以用于进一步处理的操作(如在框204中)可以包括通常对应于至少部分地基于轮廓度量来选择点云数据的一个或多个子集以用于进一步处理的附加步骤。作为更进一步的示例,如下面参照图9至图14详细描述的,基于簇确定表示校准标准的区域的边界的过程(如在框210中)可以根据多种因素(例如,校准标准的已知取向)而不同。
55.图3是根据本主题公开的至少一个示例的用于自动检测非结构化点云中的校准标准的方法300的另一示例的流程图。方法300可以由一个或多个处理器执行指令而被启动、执行或控制,例如由图1的(一个或多个)处理器130执行来自存储器132的指令134。
56.在一些示例中,方法300包括在框302处,在图像数据中定位校准标准。例如,图1的(一个或多个)处理器130可以在图像数据108中定位校准标准120。例如,可以使用图像处理技术来检测图像数据中对应于校准标准120的图案122的像素。
57.在图3的示例中,方法300还包括在框304处,将点云投影到相机图像上。例如,图1的(一个或多个)处理器130可以使用针孔相机模型通过透视变换将3d点投影到图像平面上。针孔相机模型可以利用相机矩阵和畸变向量(如果可用)进行扩充。
58.在图3中,方法300还包括在框306处,选择点云内对应于包含校准标准的相机图像区域的所有点。例如,图1的(一个或多个)处理器130可以选择点云内对应于包含校准标准120的相机图像区域的所有点来创建用于进一步处理的缓冲区,以更有效地处理点云数据118。
59.在图3中,方法300还包括在框308处,按范围对选择的点进行聚簇,以及在框310
处,选择图像前景中的最大簇。例如,图1的(一个或多个)处理器130可以在被选择为对应于包含校准标准120的相机图像区域的点之间生成簇。在该示例中,一些选择的点可能对应于来自校准标准120的返回,而其他选择的点可以对应于前景或背景对象(例如,地面、校准标准120所搁置的支架等)。按范围将选择的点分组到簇中有助于区分来自其他对象的返回与来自校准标准120的返回。可以通过计算每个簇的平均范围和尺寸,然后通过升距离和降尺寸对簇进行排名,来选择最大前景簇。根据排名,图1的(一个或多个)处理器130可以选择最大前景簇作为点云中最有可能包含校准标准的部分的初始估计。
60.在图3中,方法300还包括在框312处,接受选择的簇的预定阈值距离内的所有点。例如,图1的(一个或多个)处理器130可以接受距选择的簇特定欧几里得距离内的所有点。接受选择的簇的预定阈值距离内的所有点提供代表点云的部分的数据点集,其中该数据点集对应于校准标准120在该点云内的位置的初始估计。图1的(一个或多个)处理器130可以使用该初始估计作为搜索空间来搜索对应于校准标准120的点,以提高自动检测校准标准120的速度和效率。
61.在图3中,方法300还包括在框314处,应用轮廓度量。例如,图1的(一个或多个)处理器130可以使用诸如法线差算子的轮廓度量来过滤选择的点(例如,最大前景簇,包括特定欧几里得阈值内的所有点)。如下面参照图4至图6所图示的,图1的(一个或多个)处理器130可以应用(一个或多个)轮廓度量136来识别点云中具有共同轮廓的区域。由于平面校准标准的区域应呈现为具有基本相似轮廓(例如,基本平坦)的表面,所以(一个或多个)轮廓度量136的应用允许对点云内具有一致轮廓的区进行有效评估。
62.在图3中,方法300还包括在框316处,选择具有一致轮廓的最大点集。例如,如下文参照图4至图6更详细描述的,图1的(一个或多个)处理器130可以选择一致表面法线的最大点集。
63.图4是根据本主题公开的至少一个示例的用于应用轮廓度量并选择具有一致轮廓的最大点集的方法400的示例的流程图。在一些实施方式中,方法300通常对应于图3的框314-316。如下面更详细描述的,应用轮廓度量的一个示例是应用“法线差”过滤器。如下面更详细描述的,选择具有一致轮廓的最大点集的一个示例是选择一致表面法线的最大集。
64.在图4的示例中,方法400包括在框402处,计算点云中所有点的法线差。在相同或替代示例中,应用法线差过滤器包括计算点云的子集中的所有点的法线差(例如,选择的最大前景簇中的点和最大前景簇的特定欧几里得阈值内的所有点,如上面参照图3更详细描述的)。
65.在一些配置中,法线差算子定义为其中在前面,是法线差算子,“p”是点云中的点,并且“r
1”和“r
2”是支持半径。
66.作为说明性示例,图1的(一个或多个)处理器130可以使用法线差算子对点云中的点(p)在距该点的两个半径(r1,r2)处的表面法线进行平均。对于给定的r1和r2,将法线差(“don”)算子应用于点云中的所有点的结果是向量映射,其中为每个点分配don向量。由于每个don是两个单位法线向量的归一化和,所以don向量的幅值在[0,1]内。针对校准场景计算利用支持半径r1和r2估计的两个法线映射是高度可并行化的过程,并且因此有利于(一个
或多个)处理器130的优化。
[0067]
再次参照图4,方法400还包括在框404处,接受低于特定轮廓阈值的所有点。例如,图1的(一个或多个)处理器130可以基于(一个或多个)轮廓度量136的幅值和/或分量值来针对(一个或多个)轮廓度量136建立一个或多个阈值。如图4中所图示的,应用法线差过滤器导致三维点云小于初始三维点云(例如,输出mx3点云与输入nx3点云,其中m《=n)。
[0068]
在图4中,方法400进一步包括在框316处,选择具有一致轮廓的最大点集316。在一些示例中,选择具有一致轮廓的最大点集316包括选择一致表面法线的最大集。
[0069]
在图4中,方法400进一步包括在框406处,计算表面法线的均值其先前未被识别为具有一致轮廓的最大点集的一部分。
[0070]
在图4中,方法400进一步包括在框408处,确定一致表面法线集(“d”)。例如,图1的(一个或多个)处理器130可以将d计算为其中是表面法线的单位向量。方法400进一步包括在框410处,计算集d的均值(“μ
d”)和标准偏差(“σ
d”)。方法400进一步包括在框412处,接受d中的所有点,其中点的法线差在均值的一个标准偏差内(例如,μ
d-σd≤d≤μd+σd)。如图4所图示的,选择最大的一致表面法线集会导致三维点云小于初始三维点云或应用法线差过滤器产生的点云(例如,输出lx3点云与输入mx3点云,其中l《=m)。
[0071]
在图4中,方法400进一步包括在框414处,将所有接受的点标记为已使用。例如,图1的(一个或多个)处理器130可以指示何时点集已经被处理,以通过去除对相同点的重复处理来辅助整个点云中的迭代处理。在图4中,方法400可以继续到可以进一步处理和/或分析从方法400输出的数据(例如,lx3点云)的其他方法中的其他步骤。例如,如下文更详细描述的,图1的(一个或多个)处理器130可以输出点云数据的子集152。
[0072]
图5是根据本主题公开的至少一个示例的说明性三维图160,其示出设置在三维空间160内的点云的点集。图5作为说明性示例提供以辅助理解并且不应被理解为限制本主题公开的范围。如上面参照图1所描述的,点云包括表示校准场景内的位置的点,这些点包括表示棋盘校准标准的点集162和表示校准场景中的其他对象的点集164、166。图5还图示表示校准场景本身的一部分的点集508。在图5中,点集162、164、166、508沿三维轴线502、504、506绘制。
[0073]
作为说明性示例,如上文更详细描述的,图1的(一个或多个)处理器130可以被配置为至少部分地基于诸如don滤波器的轮廓度量136来选择点云数据的一个或多个子集152以用于进一步处理。将轮廓度量136应用于表示点集162、164、166和508的数据可以辅助图1的(一个或多个)处理器130选择点云数据的适当子集152。
[0074]
例如,将轮廓度量136应用于点集508指示单个水平线,其中大部分点从平坦表面反射(并且因此具有一致轮廓)。将轮廓度量136应用于点集162指示多个水平线,其中大部分从平坦表面反射(并且因此具有一致轮廓)。将轮廓度量136应用于点集164、166指示多个水平线,其中许多从弯曲的而非平坦的表面反射(并且因此具有不一致轮廓)。在说明性示例中,(一个或多个)处理器130可以选择点集162作为具有一致轮廓的最大点集用于进一步处理。
[0075]
如上所述,选择具有一致轮廓的最大点集可以提高分析非结构化点云的效率。再次参照图3,方法300可以进一步包括在框318处,将从点云中选择的点拟合到平面。例如,图
1的(一个或多个)处理器130可以使用“随机抽样一致”或“ransac”方法将选择的点拟合到平面。在图3中,方法300还包括在框320处,对接近所得拟合平面的任何点进行聚簇。例如,图1的(一个或多个)处理器130可以至少基于一个或多个距离度量140(包括特定的欧几里得距离阈值)确定与拟合平面的接近度。
[0076]
在图3中,方法300进一步包括在框322处,计算簇的图的最小生成树。在一些配置中,图1的(一个或多个)处理器130可以基于簇生成生成树以提高系统100的整体效率。例如,基于每个簇(而不是基于每个点)生成最小生成树需要显着更少的计算资源。点云数据的子集152的图的最小生成树在下面参照图6更详细地图示。
[0077]
在图3中,方法300进一步包括在框324处,从对应于最大簇的最小生成树中选择节点作为种子簇。在一些配置中,图1的(一个或多个)处理器130可以选择对应于最大簇的节点作为最能表示校准标准120的中心的簇的估计。
[0078]
在图3中,方法300进一步包括在框326处,从种子簇生长簇,直到生长的簇在校准标准的一个或多个维度内。例如,图1的(一个或多个)处理器130可以被配置为沿着最小生成树生长种子簇,直到满足簇尺寸准则144的第一簇尺寸阈值。在一些配置中,簇尺寸准则144的第一簇尺寸阈值可以基于校准标准的(校准标准的维度146的)第一维度。例如,第一簇尺寸阈值可以基于将包围校准标准120的圆的已知直径。如下面参照图6更详细描述的,只要簇在预定直径内,种子簇就可以生长。
[0079]
沿着最小生成树的两个方向生长将一个或多个节点识别为用于添加到种子簇的候选者。如果候选节点越过(pass)某些阈值,则将最小生成树中的候选节点添加到种子簇。在一些实施方式中,如果候选节点满足对于候选节点的尺寸和候选节点中的点的数量两者的特定要求,则将候选节点添加到种子簇。
[0080]
例如,仅当候选节点满足线栅(line gate)阈值并且不大于包围校准标准120的圆的已知直径时,图1的(一个或多个)处理器130才将候选节点添加到种子节点。线栅可以用于过滤节点中不包括足够点的候选节点。例如,线栅可以按如下方式计算:
[0081][0082]
图1的(一个或多个)处理器130可以使用上述等式,基于最大预期距离(“d”)、校准标准的较小维度(“w”)和激光雷达扫描的方位角分辨率(“θ”)计算线栅(“l
gate”)。在一些配置中,可以通过实验确定线栅的阈值。最大预期范围、校准标准的较小维度、激光雷达扫描的方位角分辨率和/或线栅的阈值可以存储在存储器132中,例如,作为校准标准的一个或多个维度146。
[0083]
除了越过线栅阈值之外,在一些配置中,候选节点不能超过要添加到种子簇的特定尺寸阈值(例如,包围校准标准的圆的已知直径)。这可以用于过滤太大而无法对应于校准标准的候选节点。例如,如果激光雷达点云的一部分包括对应于交通工具前部的点,则对应于交通工具前部的点的候选节点可以越过线栅阈值但违反尺寸阈值。如果候选节点违反一个或多个阈值(例如,线栅阈值或尺寸阈值),则候选节点不会添加到种子簇中。下面参照图6更详细地描述使用示例性阈值(例如,线栅阈值和直径阈值)沿最小生成树的两个方向生长。
[0084]
图6图示根据本主题公开的至少一个示例的从点云数据的选择的子集152生成的
示例性最小生成树600。图6作为说明性示例被提供以辅助理解并且不应被理解为限制本主题公开的范围。如上面参照图3所详述的,图6图示在每个簇的基础上生成最小生成树的某些优点。示例性最小生成树600包括五个节点602、604、606、608、610,其中每个节点602、604、606、608、610对应于来自点云的点簇。示例性树600还图示节点602、610之间的边626;节点610、604之间的边620;节点604、606之间的边622;以及节点606、608之间的边624。生成示例性最小生成树600可以包括识别树600的所有节点602、604、606、608、610之间的最短路径。通过在每个节点的基础上而不是在每个点的基础上(例如,通过使用点簇作为树中的节点)生成示例性最小生成树600,示例性系统和方法(例如,图1的系统100和/或图2的方法200)可以更有效地检测非结构化点云中的校准标准。
[0085]
例如,图1的(一个或多个)处理器130可以选择对应于最大簇的节点606作为种子簇。图1的(一个或多个)处理器130然后可以沿着最小生成树600在两个方向上生长种子簇,从而将节点608(沿着边624)和节点604(沿着边622)识别为要添加到种子簇的候选节点。
[0086]
如上面参照图3更详细描述的,要添加到种子簇,候选节点应越过一个或多个阈值。例如,候选节点604、608在被添加到种子簇之前将需要越过线栅阈值和尺寸阈值。在一些配置中,尺寸阈值可以包括测试候选节点是否会将簇生长到超过特定尺寸。图650图示多个潜在的尺寸阈值。图650图示具有已知宽度654和长度656的示例性校准标准棋盘652。宽度654和/或长度656中的一个或多个可以用作尺寸阈值。然而,单独的宽度654和/或长度656对于二维候选节点可能是不足够的。因此,在一些配置中,包围示例性校准标准棋盘652的圆658的直径670可以(例如,由图1的(一个或多个)处理器130)用作尺寸阈值(例如,在图3的方法300中)。
[0087]
再次参照示例性候选节点604、608,示例性候选节点608可能不符合示例性尺寸阈值,例如直径670。例如,如果图1的(一个或多个)处理器130将候选节点608添加到节点606,则结果簇154可能大于包围校准标准652的圆658的直径670。如果图1的(一个或多个)处理器130将候选节点604添加到节点606,则结果簇154可能小于包围校准标准652的圆658的直径670。因此,(一个或多个)处理器130可以将候选节点604添加到种子节点606而拒绝候选节点608。
[0088]
在一些实施方式中,图1的(一个或多个)处理器130可以继续生长示例性最小生成树600,将节点610(沿着边620)识别为候选节点。如上面参照图3更详细描述的,候选节点也可以受制于线栅阈值。在图6中,候选节点只包含三个点。因此,图1的(一个或多个)处理器130可以拒绝候选节点610(因为其不符合示例性线栅阈值)。在一些实施方式中,图1的(一个或多个)处理器130可以继续在节点610的方向上生长示例性最小生成树600,将节点602(沿着边626)识别为候选节点。从种子节点606在两个方向上的生长可以继续,直到所有节点602、604、606、608和610都已被认为是候选者。
[0089]
使用示例性最小生成树600,图1的(一个或多个)处理器130可以生长簇154直到不再违反簇尺寸准则144的第一簇尺寸阈值(例如,直径670)和/或没有更多的候选节点剩余。
[0090]
再次参照图3,方法300进一步包括在框328处,确定簇154是否满足簇尺寸准则144的第二簇尺寸阈值。在一些配置中,簇尺寸准则144的第二簇尺寸阈值可以基于校准标准的维度146中的校准标准的第二维度。例如,图1的(一个或多个)处理器130可以确定簇154是否包括足够的点来指示簇154对应于校准标准120。在特定实施方式中,图1的(一个或多个)
处理器130可以通过应用粗栅来确定簇154是否包括足够的点。
[0091]
粗栅可以用于过滤不包含足够点以被视为校准标准的一部分的簇。例如,物理地面可以表现为激光雷达点云中的点簇。然而,地面往往表现为长线而不是密集簇。在特定配置中,粗栅可以按如下方式计算:
[0092][0093]
例如,图1的(一个或多个)处理器130可以使用上述公式,使用来自激光雷达扫描的预期光束数量(“b”)、校准标准的最大维度(“l”)和激光雷达扫描的方位角分辨率(“θ”)来计算粗栅(“c
gate”)。在一些配置中,粗栅的阈值可以通过实验确定。在一些实施方式中,来自激光雷达扫描的预期光束数量、校准标准的最大维度、激光雷达扫描的方位角分辨率和/或粗栅的阈值可以存储在存储器132和/或激光雷达系统112处。
[0094]
在图3中,如果簇不满足第二簇尺寸阈值,则方法300可以返回到框316处,选择具有一致轮廓的下一个最大点集。如果簇确实满足第二簇尺寸阈值,则方法300可以继续,在框330处将分布准则应用于簇的点的信号强度分布。例如,来自图1的激光雷达系统112的激光雷达扫描可以返回点云中每个点的反射率值。整个点云的反射率值可以形成反射率值的分布(信号强度的示例)。图1的(一个或多个)处理器130可以应用一个或多个分布准则将每个点分类为“黑色”、“白色”或“两者都不是”。
[0095]
在一些实施方式中,方法300可以包括比图3中图示的过程更多、更少和/或不同的过程。例如,可以省略上面参照框302-312描述的过程。获得最大前景簇的特定欧几里得距离内的所有点允许对图1的校准标准120所在的点云区域进行初始估计。这种初始估计可以提高整个校准过程的速度和效率。具体地,选择点云中最大前景点簇用于进一步处理可以允许图1的(一个或多个)处理器130来处理最可能的点集而不是整个点云。
[0096]
省略参照框302-312描述的部分或所有过程可以通过例如需要图1的(一个或多个)处理器130来分析更多的点云数据118来减慢校准过程。尽管图1的(一个或多个)处理器130可以使用被包括在框302-312中的一个或多个处的方法300的部分来增加效率,但在一些实施方式中,在不脱离本主题公开的范围的情况下,图1的(一个或多个)处理器130可以自动检测非结构化点云内的校准标准。
[0097]
图7是根据本主题公开的至少一个示例的用于将分布准则应用于信号强度分布的方法700的示例的流程图。在一些实施方式中,如以上参照图3更详细描述的,方法700通常对应于方法300的框330。在图7的示例中,方法700接收表示从传感器输出中选择的点簇的输入数据。例如,图1的(一个或多个)处理器130接收对应于与一个或多个簇154相关联的反射率值的信号强度分布142。
[0098]
在图7中,方法700包括在框702处,计算输入值的中点。在一些实施方式中,来自激光雷达扫描(例如,通过图1的激光雷达系统112)的反射率值在从0到256的值范围内,其中0表示最低反射率并且256表示最高反射率。反射率值范围的每一端都可以分配标签。例如,更接近0的值可以指定为“黑色”,而更接近256的值可以指定为“白色”。在实际应用中,反射率值可以更接近反射率值范围内的任意值。解决这种差异的一种方法是计算实际反射率值的中点。中点一侧上的值可以指定为“白色”,并且中点另一侧上的值可以指定为“黑色”。如果激光雷达点云反射率值的分类应用于与高对比度校准标准(例如,黑白棋盘)相对应的
点,则在计算的中点值的两侧上的点组之间也应该有明显的分隔。在一些配置中,可能存在反射率值组不属于指定的“黑色”和“白色”组(例如,位于“黑色”区域和“白色”区域之间的分隔区域内的点)。对应于不属于指定的“黑色”和“白色”组的反射率值的点可以指定为“两者都不是”。
[0099]
在图7中,方法700还包括在框704处,选择小于或等于中点的所有值。例如,图1的(一个或多个)处理器130可以选择信号强度分布142中小于或等于信号强度分布142中的值的中点的所有值。在图7中,方法700进一步包括在框706处,计算小于或等于中点的值的均值和标准偏差。例如,图1的(一个或多个)处理器130可以计算小于或等于中点的信号强度分布142的值的均值和标准偏差。
[0100]
在图7中,方法700包括在框708处,确定所有值是否在计算的均值的三标准偏差(“3σ”)内。如果不是所有值都在均值的3σ内,则方法700包括在框712处,去除异常值并将异常值分类为“两者都不是”。如果所有值都在均值的3σ内,则方法700包括在框710处,将点分类为“黑色”。
[0101]
在图7中,方法700包括在框714处,选择大于中点的所有值。在图7中,方法700进一步包括在框716处,计算大于中点的值的均值和标准偏差。
[0102]
在图7中,方法700还包括在框718处,确定所有值是否在计算的均值的3σ内。如果不是所有值都在均值的3σ内,则方法700包括在框722处,去除异常值并将异常值分类为“两者都不是”。如果所有值都在均值的3σ内,则方法700包括在框720处,将点分类为“白色”。
[0103]
在一些实施方式中,一旦簇中的所有点都已被分类为“白色”、“黑色”或“两者都不是”,方法700可以输出分类值用于进一步分析和/或处理。例如,图1的(一个或多个)处理器130可以仅将平面重新拟合(refit)到“白色”和“黑色”点,而忽略“两者都不是”的点。下面参照图8图示反射率值分布的示例。
[0104]
图8图示根据本主题公开的至少一个示例的示例性信号强度分布800。图8作为说明性示例提供以辅助理解并且不应被理解为限制本主题公开的范围。图8图示通常对应于图6的示例性最小生成树600的布局中的信号强度分布800。然而,在不脱离本主题公开的范围的情况下,信号强度分布800可以以任何适当的形式被分析。
[0105]
示例性信号强度分布800图示返回大致相似的反射率值的点组802。同样,信号强度分布800图示返回大致相似的反射率值的点组804。如下面参照图3和图7更详细描述的,对组802、804应用分布准则指示组802、804返回落在反射率值谱的不同端上的反射率值。根据分布准则,可以对组802、804进行不同的分类。例如,图1的(一个或多个)处理器130将组802分类为“白色”,将组804分类为“黑色”。在一些实施方式中,图1的(一个或多个)计算设备110可以将信号强度分布142和/或分布准则138存储在存储器132中。
[0106]
尽管方法700和示例性信号强度分布800使用术语“白色”、“黑色”和“两者都不是”来描述示例性分布准则,但是在不脱离本公开的范围的情况下,可以使用其他术语来表示和/或描述图1的分布准则138。
[0107]
再次参照图3,方法300进一步包括在框332处,确定信号强度分布中是否存在足够的分隔。如果在信号强度分布中没有足够的分隔,则方法300包括在框316处,选择具有一致轮廓的下一个最大点集(如上面更详细描述的)。当初始最大前景簇与不返回具有足够对比度的传感器数据的对象相关联时,可能会发生这种情况。例如,如果在使用黑白棋盘作为图
1的校准标准120的校准场景中存在另一个大的平坦表面(例如,广告牌、标志、厢式货车的侧面等),则(一个或多个)处理器130可以选择对应于另一个大的平坦表面的点集而不是对应于校准标准120的点集。
[0108]
如果信号强度值之间存在足够的分隔,则方法300包括在框334处,重新拟合分析的簇中的点的平面。在一些示例中,图1的(一个或多个)处理器130可以通过将ransac方法重新应用到分析的簇154中的点来重新拟合平面。这可以被完成以细化之前已经将点拟合到的平面。当先前拟合平面时,方法300将拟合应用于具有一致轮廓的最大点集(并且在进行聚簇之前)。较早的拟合可以包括最有可能不对应于校准标准的点。在该点处重新应用拟合可以允许更好地估计适当点所属的平面。
[0109]
在图3中,方法300进一步包括在框336处,接受到拟合平面的特定阈值距离内的点。方法300进一步包括在框336处,将接受的点投影到二维平面上。在一些配置中,将点投影到二维平面中可以通过提高图1的(一个或多个)处理器130的处理速度(二维分析比三维分析更容易和更快)和有助于从激光雷达系统112的传感器扫描中去除一些噪声来辅助效率。
[0110]
在图3中,该方法进一步包括在框338处,将校准标准的维度拟合到接受的点。如下文参照图9至图14所详述的,在一些实施方式中,图1的(一个或多个)处理器130可以应用一种或多种算法来将校准标准120的维度拟合到点云数据的子集152。例如,用于将点云中的点拟合到竖直/水平定向棋盘的步骤可以不同于用于将点云中的点拟合到菱形定向棋盘的步骤。作为说明性示例,图9图示将点拟合到竖直/水平定向棋盘的方法900的示例,而图13图示将点拟合到菱形定向棋盘的方法1300的示例。
[0111]
在图3中,方法300可以包括在框340处,确定最终拟合是否成功。如果拟合不成功,则方法300进一步包括在框316处,选择具有一致轮廓的下一个最大点集(如上文更详细描述的)。如果拟合成功,则方法300进一步包括在框342处,存储识别对应于校准标准的点集的数据。例如,图1的(一个或多个)计算设备110可以将点集150存储在存储器132中。方法300可以重复方法300的一些或全部以在不同时间识别新的校准标准和/或相同的校准标准。
[0112]
图9是根据本主题公开的至少一个示例的用于将校准标准的一个或多个边界拟合到点集的方法900的示例的流程图。例如,图1的(一个或多个)处理器130可以将一个或多个边界156拟合到点集150。如上面参照图1至图3所详述的,选定的特定拟合算法可以取决于校准标准的取向等因素。例如,标准是否以基本上竖直/水平的方式定向(与基本上菱形的方式相反)可以确定应用哪种拟合算法。在一些实施方式中,可以使用方法900对于在基本上水平/竖直取向上的标准来拟合校准标准的边界。可以使用方法1300对于在基本上菱形取向上的标准来拟合校准标准的边界。
[0113]
方法900、1300都包括基本相似的初步步骤。具体而言,方法900、1300包括用于确定光束方向和将线拟合到光束的基本相似的步骤。通常,初步步骤包括建立适当的参照系,用于分析从激光雷达点云中识别的点。例如,方法900、1300首先为激光雷达扫描建立“平行”和“垂直”光束方向。在一些配置中,平行光束方向基于激光雷达的方位角方向扫描。某些360度扫描激光雷达将360度扫描方向视为方位角扫描,而与激光雷达的物理取向无关。高程(elevation)方向对应于“垂直”光束方向。可以通过多种方式添加高程扫描数据。例
如,激光雷达可以包括以随机竖直模式扫描的激光。在其他示例中,激光雷达可以包括处于固定取向的多个激光器。在实际应用中,激光雷达可以相对于物理世界具有任何取向(例如,以一定角度安装或倒置)。通过相对于平行和垂直光束方向建立分析参照系,方法900、1300可以忽略传感器相对于物理世界的物理取向。
[0114]
在图9中,方法900包括在框904处,找到彼此在特定欧几里得距离阈值内的所有点对。方法900还包括在框906处,在接近点对之间创建共同定向的单位向量。为了方法900、1300的目的,“共同定向”意味着具有方向θ和θ+π的向量应该被视为是相同的。
[0115]
在一些配置中,向量方向的最密集集中应该对应于平行光束方向。在图9中,方法900包括在框908处,计算向量方向的直方图,以及在框910处,选择最大bin的均值。在一些实施方式中,计算向量方向的直方图并选择最大bin的均值可以使得图1的(一个或多个)处理器130能够识别向量方向的最密集集中,并因此识别平行光束方向。例如,由于图1的激光雷达系统112的扫描特性,方位点间距可以比高程点间距密集得多。此外,来自激光雷达系统112的激光雷达光束通常可以跨某些校准标准120(例如棋盘)的表面表现为近似直线。这可以允许(一个或多个)处理器130建立平行光束方向其中p
x
、py表示点,在这些点之间是直方图的最大bin的均值处的单位向量方向。
[0116]
一旦建立了平行光束方向,图1的(一个或多个)处理器130就可以通过求解方程组来确定垂直光束方向:解在下面的等式中示出:
[0117][0118]
在图9中,方法900还包括在框912处,将线拟合到跨过点簇的每个激光雷达光束。方法900可以包括在框914处,选择接近光束方向的所有点对。在一些配置中,图1的(一个或多个)处理器130可以使用被选定为平行光束方向的直方图bin(“b[0]”)在选择的bin的任一侧选择附加数量的候选bin。例如,图1的(一个或多个)处理器130可以选择8个附加的候选bin(b[0]的每侧上4个)。图1的(一个或多个)处理器130可以进一步使用来自每侧的候选bin,直到一侧上的连续bin之间的下降值(drop-off)超过特定阈值。例如,图1的(一个或多个)处理器130可以建立阈值(“t
drop”),使得(一个或多个)处理器130可以接受候选bin,直到下降值违反阈值(例如,当时)。(一个或多个)处理器130可以对来自已接受bin的所有点进行聚簇以去除任何孤立点。(一个或多个)处理器130然后可以生成点集来拟合线(“s
fit”)。
[0119]
在图9中,方法900包括在框916处,对s
fit
中的点进行聚簇。例如,图1的(一个或多个)处理器130可以生成s
fit
中的点的单个链接层次簇。方法900进一步包括在框918处,确定适当的切割距离。例如,图1的(一个或多个)处理器130可以找到尺寸超过线栅阈值的第一簇,然后在该簇和下一个簇之间中间切割。以这种方式生成切割线可以更好地允许相关传感器的非均匀光束间距。在相同或替代实施方式中,可以通过对于本领域普通技术人员明
显的替代方法来生成切割线。
[0120]
在图9中,方法900还包括在框920处,将线拟合到簇的点。在一些实施方式中,当三个或更多点可用时,图1的(一个或多个)处理器130可以使用ransac方法将线拟合到簇。在相同或替代的实施方式中,当少于三个点可用时,图1的(一个或多个)处理器130可以使用一阶多项式拟合。在一些配置中,细化线以相同的方式拟合到接近簇的点,从而产生具有关联的元数据[e1 m e2]的候选线p
ci
和其中p
ci
是第i条候选线上的点,是给出线方向的单位向量,ei是线的边点(取自s
fit
),并且m是线的中点。
[0121]
图10图示根据本主题公开的至少一个示例的用于将线拟合到沿光束方向分层聚簇的点的示例性线-光束拟合1000。示例性拟合1000作为说明性示例被提供以辅助理解并且不旨在限制本主题公开的范围。图10图示已经拟合到聚簇点的多条拟合线1002、1004。如图10所图示的,拟合线1002基本上平行,而拟合线1004不平行。如下面参照图9至图14更详细描述的,在一些实施方式中,线1004可能由于缺乏适当的取向而被拒绝。
[0122]
再次参照图9,方法900包括在框922处,确保每条线是唯一的。在一些实施方式中,唯一性测试可以包括两个部分。例如,图1的(一个或多个)处理器130首先检查p
ci
是否落在唯一集(“s
lines”)中的线附近。如果是,则(一个或多个)处理器130因为候选线与唯一集或跨光束线太相似而可以消除p
ci
。在一些配置中,(一个或多个)处理器通过计算。在一些配置中,(一个或多个)处理器通过计算来执行此接近度测试。如果t
line
<t
thresh
,其中t
thresh
是特定阈值,则候选线落入太靠近唯一集中的线并且(一个或多个)处理器130可以拒绝候选线。(一个或多个)处理器130还可以对是否与唯一集中的线平行进行第二检查。在一些配置中,(一个或多个)处理器130可以通过计算多个)处理器130可以通过计算来执行该平行测试。如果t
para
<t
thresh
,则候选线与唯一集中的线不充分平行,并且(一个或多个)处理器130可以拒绝候选线。
[0123]
尽管每个光束可能在视觉上看起来是平行的,但方向上可能存在充分变化,以由于不充分平行拒绝线。例如,再次参照图10,线1002中的任何一个都可以生成t
para
<t
thresh
,而线1004可以生成t
para
>t
thresh
。因此,例如,图1的(一个或多个)处理器130将根据第二唯一性检查通过线1002并根据第二唯一性检查拒绝线1004。
[0124]
再次参照图9,如果候选线被视为是唯一的,则图1的(一个或多个)处理器130可以将候选线添加到唯一集s
lines
。此外,在一些实施方式中,(一个或多个)处理器130可以将接近候选线的所有点标记为已使用。在一些配置中,(一个或多个)处理器可以使用一个或多个阈值来确定点是否靠近候选线。作为说明性示例,确定点是否应包括在s
used
中可以包括两个单独的阈值。根据被校准的特定传感器对的实际考虑,可以使用多个阈值。例如,vlp32-c激光雷达具有不均匀的光束间距。vlp32-c由velodyne
tm lidar制造(velodyne是美国加利福尼亚州圣何塞的velodyne lidar,inc.的注册商标)。
[0125]
在其中光束密度非常高的区中,方法900可以拟合跨多个激光雷达光束但仍然足够靠近平行方向以被接受的线。在这样的配置中,方法900可以在使用“宽松(loose)”阈值或“严格(tight)”阈值之间进行选定,以防止用于拟合线的点的段之间的大间隙。为了确定
要使用哪个阈值,方法900可以首先将所有通过宽松阈值的点投影到线上,注意并确定哪些点也通过严格阈值。方法900还可以(例如,由图1的(一个或多个)处理器130)确定示例性阈值t
σ
=max(std(p
tight
),std(p
loose
)),并对于p
loose
和p
tight
两者的大于t
σ
的所有间隙求和。在特定实施方式中,只要g
tight
<2*g
loose
,方法900就可以使用严格阈值,其中并且否则,该方法900可以使用宽松阈值。
[0126]
在图9中,方法900可以包括在框924处,确定是否所有点对都已被使用。如果不是所有的对都已被使用,则方法900可以包括在框914处,将靠近光束方向的对重新聚簇。如果所有点对都已被使用,则方法900包括在框926处,过滤离平行光束方向太远并且太短而不能成为校准标准区域中的成员的线。例如,图1的(一个或多个)处理器130可以对于每一条线计算新的测量空间中的坐标。例如,对于线集“u”中的每条线“uj”,(一个或多个)处理器130可以计算坐标,这些坐标包括(1)光束方向的取向与线的取向之间的差值(“δθ”);和(2)线长度(“l
uj”)与所有线长度的中值(“l
u”)之间的差值(“δl”)。在特定配置中,(一个或多个)处理器130可以根据以下等式计算坐标:
[0127][0128]
δl=|l
uj-median(lu)|
[0129]
在一些配置中,图1的(一个或多个)处理器130可以基于线集“u”中的线“uj”的端点计算线长度(例如,lu、l
uj
)。如上面更详细描述的,与每条线关联的元数据可以包括线的端点和中点。在一些实施方式中,元数据可以存储在存储器132处。
[0130]
在新的测量空间中,原点(即(0,0))可以表示理想值。在一些示例中,方法900可以包括在框926处,拒绝与理想的距离超过预定阈值的(一个或多个)任何线。例如,图1的(一个或多个)处理器130可以拒绝与原点的距离大于1的任何线。下面的图11图示该测量空间内的拟合线(例如,图10的线1002、1004)的示例性绘图。
[0131]
图11图示根据本主题公开的至少一个示例的与拟合线相关联的坐标的示例性绘图1100。示例性绘图1100作为说明性示例被提供以辅助理解并且不旨在限制本主题公开的范围。示例性绘图1100包括根据上面参照图10更详细描述的坐标绘制的多个点1102和1104。例如,多个点1102和1004通常分别对应于图10的线1002和1004。线1002和1004中的每一个可以具有对应于每个线各自的δθ值和δl值的坐标。图11图示根据其δθ和δl坐标绘制的多个点1102和1004中的每一个,其中轴线1108对应于δθ值的范围并且轴线1106对应于δl值的范围。由于δθ值和δl值两者都被归一化,所以δθ值和δl值的范围落入零和一之间。在绘图之后,点1102和1104中的每一个都具有距示例性绘图1100的原点的各自欧几里得距离。
[0132]
在图11中,多个点1102通常与图10的线1002相关联,并且点1104通常与图10的线1004相关联。如上面参照图9至图10更详细描述的,线1002通过方向和/或长度过滤器,而线1004未通过方向和/或长度过滤器。在图11中,与点1102相比,点1104离绘图1100的原点明显更远。如上所述,如果点1102和1104中的一个或多个与原点的距离大于特定阈值(例如,一),则可以过滤掉对应于点1102和1104的线。
[0133]
再次参照图9,方法900还包括在框928处,对垂直于光束方向的线进行归类。在一
些实施方式中,图1的(一个或多个)处理器130通过将每条线的中点投影到上来对s
lines
中的所有线沿垂直光束方向进行归类。这可以使得(一个或多个)处理器130能够按距离对线进行归类以生成定义的顶部和底部。在图9中,方法900还包括在框930处,选择中点线作为用于生长对应于校准标准的区域的种子线。在一些实施方式中,该选择可以包括选择对应于投影线的中值的线。通常,以这种方式选择种子线允许对应于校准标准的区域的生长大约在该区域的中间开始。
[0134]
图12图示根据本主题公开的至少一个示例的示例性簇1200,其中线拟合到簇的点。示例性簇1200作为说明性示例被提供以辅助理解并且不旨在限制本主题公开的范围。示例性簇1200图示对应于选择的点集的识别的标准区域(如上面参照图3至图11更详细描述的),以及下面参照图13至图14更详细描述的标准区域。
[0135]
示例性簇1200图示数个候选线端点1202。如上面参照图9更详细描述的,候选线端点1202中的每一个对应于候选线的端点。另外,示例性簇1200图示种子线端点1204。如上面参照图9的框924更详细描述的,种子线端点对应于被选择作为中点线的候选线的端点。此外,示例性簇1200图示种子线中点1206。如上面参照图9的框930更详细描述的,种子线中点1206通常对应于被选择作为中点线的候选线的中点。
[0136]
示例性簇1200图示已被选择作为用于生长识别的标准区域的种子线的候选线(例如,由端点1204和中点1206定义的线)。如图所示,种子线大约位于标准区域的中间。再次参照图9,方法900包括在框932处,从种子线生长直到所有候选线已被使用或标准的预期维度已被填充。在一些实施方式中,图1的(一个或多个)处理器130可以从种子线沿垂直光束方向在两个方向上迭代生长。例如,在每一次迭代处,图1的(一个或多个)处理器130可以通过确定长度最接近标准区域中的所有线的当前均值长度的下一条候选线来选择生长方向。如果两个方向上的下一条线与均值线长度显着不同,则(一个或多个)处理器130可以跳过该线并继续下一条线(如果可用)作为候选生长方向。
[0137]
在确定生长方向之后,图1的(一个或多个)处理器130可以确定是否包括候选线使标准区域生长到超出标准的已知边界。例如,(一个或多个)处理器130可以确定是否包括候选线生长超出包围校准标准的圆的已知直径(例如,图6的直径670)以及标准的已知长度和/或宽度(例如,图6的长度656和/或宽度654)。如果候选线在维度约束内拟合,则图1的(一个或多个)处理器130可以确保考虑到簇中的所有点。例如,(一个或多个)处理器130可以确定簇中的所有点是否都包含在s
used
中。如果没有丢失点,则(一个或多个)处理器130可以包括候选线并且可以将候选线的长度合并到均值线长度中。
[0138]
再次参照图9,方法900包括在框934处,建立簇的顶部和底部边界。在一些实施方式中,图1的(一个或多个)处理器130可以通过识别在沿垂直光束方向的每个方向上距种子线最远的两个已接受候选线来建立簇154的顶部和底部边界156。在图9中,方法900进一步包括在框936处,为垂直边界拟合线。例如,为了将簇154完全识别为对应于校准标准120,(一个或多个)处理器130还可以识别边界156沿平行光束方向的边界线。
[0139]
在一些实施方式中,识别沿平行光束方向的边界线包括将所有接受的边点(例如,沿顶部和底部边界线的所有点)划分为相对于平行光束方向的“左半”边和“右半”边。在一些示例中,可能确定单独的分组就足够了,而不是识别左半部分和右半部分。在一些配置
簇和“右半部分”簇。在图13中,方法1300包括在框1302处,将边在平行方向上划分为左和右。在一些实施方式中,图13的(一个或多个)处理器130可以通过首先建立左边和右边来将边划分成左半部分和右半部分。在特定实施方式中,(一个或多个)处理器130可以使用以下公式识别“左半部分”边(“e
left”)和“右半部分”边(“e
right”):
[0150][0151][0152]
在图13中,方法1300还包括在框1304处,选择左拐点和右拐点。在特定实施方式中,图1的(一个或多个)处理器130可以通过计算中,图1的(一个或多个)处理器130可以通过计算找到左拐点(i
left
)。类似地,(一个或多个)处理器130可以通过计算找到右拐点(i
right
)。方法1300进一步包括在框1306处,将簇的“左半”边划分到在左拐点一侧上的第一组和在左拐点另一侧上的第二组中。方法1300还包括在框1306处,将簇的“右半”边划分到在右拐点一侧上的第一组和在右拐点另一侧上的第二组中。
[0153]
在图13中,方法1300还包括在框1308处,将线拟合到四边集。在一些实施方式中,图1的(一个或多个)处理器130可以根据左拐点和右拐点将线拟合到四边集。例如,(一个或多个)处理器130可以根据以下公式计算对应于四个侧(“s
1”、“s
2”、“s
3”、“s
4”)中的每一个的端点集:
[0154][0155][0156][0157][0158]
识别对应于四个侧中的每一个的端点集可以允许(一个或多个)处理器130将线拟合到每个端点集,如下面参照框1308更详细描述的,因此识别簇154的边界四边形的侧。
[0159]
图14图示根据本主题公开的至少一个示例的具有拟合到簇的点的线的另一示例性簇1400。示例性簇1400作为说明性示例被提供以辅助理解并且不旨在限制本主题公开的范围。示例性簇1400图示左拐点1402和右拐点1404。左拐点1402和右拐点1404通常对应于由方法1300识别的拐点(如上面参照图13更详细描述的)。
[0160]
示例性簇1400还描绘可以潜在地对应于提供簇1400的边界四边形的四个侧中的一个或多个的多个点。例如,示例性簇1400图示包括左拐点1402的一侧上的点1414的点集,其中点1414对应于第一侧(例如,s1)。簇1400还图示包括左拐点1402的另一侧上的点1416-1430的点集,其中点1416-1430对应于第二侧(例如,s2)。簇1400还图示右拐点1404的一侧上的点集1432-1440,其中点1432-1440对应于第三侧(例如,s3)。簇1400还图示右拐点1404的另一侧上的点1442-1450集,其中点1442-1450对应于第四侧(例如,s4)。
[0161]
再次参照图13,方法1300还包括在框1308处,将线拟合到每个点集。在一些实施方式中,图3的(一个或多个)处理器130可以使用ransac方法、一阶多项式拟合和/或其他合适的拟合技术将线拟合到每一侧。例如,再次参照图14,因为在对应于第一侧的点集中只存在一个点(例如,左拐点1402的一侧上的一个点),所以拟合对应于点1414的线可以使用一阶
多项式拟合。因为存在对应于第二侧的八个点(例如,左拐点1402的另一侧上的八个点),所以拟合对应于点集1416-1430的线可以使用ransac方法。在一些配置中,将线拟合到每一侧可以是迭代过程,以确保至少最小数量的点与拟合匹配。该最小数量的点可以通过参照特定阈值来确定。
[0162]
再次参照图14,示例性簇1400描绘已经拟合到拐点1402和1402的任一侧上的各个点的线1406、1408、1410和1412。在一些实施方式中,拟合线可以包括拟合到点1414的第一线边界1408、拟合到点集1416-1430的第二边界线1410、拟合到点集1432-1440的第三边界线1412以及拟合到点集1444-1450的第四边界线1406。边界线1406、1408、1410和1412的组合为点云中校准标准所在的区域提供边界四边形。
[0163]
再次参照图13,方法1300进一步包括在框1310处,接受由边界线定义的边界附近或内部的所有点。例如,图1的(一个或多个)处理器130可以接受由图14的边界线1406、1408、1410和1412提供的边界四边形附近或内部的所有点。在一些配置中,图1的(一个或多个)处理器130可以通过识别距边界线1406、1408、1410和1412中的每一个在预定欧几里得距离内的点来识别边界线1406、1408、1410和1412附近的点。在一些配置中,图1的(一个或多个)处理器130也可以识别图1的点集150,该点集在边界四边形附近或内部。在一些实施方式中,图14的边界线1406、1408、1410和1412和/或图1的点集150可以存储在图1的存储器132处。
[0164]
尽管方法1300和示例性簇1400使用术语“左”和“右”来描述点的分组,但是在不脱离本公开的范围的情况下,可以使用其他术语来表示和/或描述点的分组、簇、线、端点、边、边界线、拐点等。
[0165]
图15是根据本公开的包括被配置为支持计算机实施的方法和计算机可执行程序指令(或代码)的方面的计算设备1510的计算环境1500的框图。例如,计算设备1510或其部分被配置为执行指令以启动、执行或控制上面参照图1至图14更详细描述的一个或多个操作。在特定方面,计算设备1510可以包括图1的(一个或多个)计算设备110、相机102和/或激光雷达系统112、一个或多个服务器、一个或多个虚拟设备或其组合。
[0166]
计算设备1510包括一个或多个处理器1520。在特定方面,(一个或多个)处理器1520对应于图1的(一个或多个)处理器130。(一个或多个)处理器1520被配置为与系统存储器1530、一个或多个存储设备1540、一个或多个输入/输出接口1550、一个或多个通信接口1560或其任何组合进行通信。系统存储器1530包括易失性存储器设备(例如,随机存取存储器(ram)设备)、非易失性存储器设备(例如,只读存储器(rom)设备、可编程只读存储器和闪存)或两者。系统存储器1530存储操作系统1532,其可以包括用于引导(boot)计算设备1510的基本输入/输出系统以及使得计算设备1510能够与用户、其他程序和其他设备交互的完整操作系统。系统存储器1530存储系统(程序)数据1536,例如图1的指令134、(一个或多个)轮廓度量136、分布准则138、(一个或多个)距离度量140、信号强度分布142、簇尺寸准则144、校准标准的维度146、点集150、点云数据的子集152、簇154、边界156、图像数据108、点云数据118或其组合。
[0167]
系统存储器1530包括可由(一个或多个)处理器1520执行的一个或多个应用程序1534(例如,指令集)。作为示例,一个或多个应用程序1534包括可由(一个或多个)处理器1520执行以启动、控制或执行参照图1至图14所描述的一个或多个操作的指令134。为了说
明,一个或多个应用程序1534包括可由(一个或多个)处理器1520执行以启动、控制或执行参照点集150、点云数据的子集152、簇154、边界156或其组合所描述的一个或多个操作的指令134。
[0168]
在特定实施方式中,系统存储器1530包括在其中存储指令134的非暂时性计算机可读介质(例如,计算机可读存储设备),该指令当由(一个或多个)处理器1520执行时,致使(一个或多个)处理器1520启动、执行或控制操作以自动检测非结构化激光雷达点云中的校准标准。
[0169]
操作包括获得表示点云的点在三维(3d)空间中的位置的点云数据。操作还包括至少部分地基于轮廓度量来选择点云数据的一个或多个子集以供一个或多个处理器进一步处理。操作还包括至少部分地基于一个或多个距离度量将点云的一个或多个子集的点集分组到一个或多个簇中。操作进一步包括对于基于校准标准的维度满足一个或多个簇尺寸准则的簇,确定簇的点的信号强度分布是否满足分布准则。操作还包括基于点的信号强度分布满足分布准则的确定,基于簇确定表示校准标准的区域的边界,并且存储识别点云中的对应于校准标准的点集的数据,该点集是基于表示校准标准的区域的边界来识别的。
[0170]
一个或多个存储设备1540包括非易失性存储设备,例如磁盘、光盘或闪存设备。在特定示例中,存储设备1540包括可移动存储器设备和不可移动存储器设备两者。存储设备1540被配置为存储操作系统、操作系统的图像、应用程序(例如,应用程序1534中的一个或多个)和程序数据(例如,程序数据1536)。在特定方面,系统存储器1530、存储设备1540或两者包括有形的计算机可读介质。在特定方面,存储设备1540中的一个或多个在计算设备1510的外部。
[0171]
一个或多个输入/输出接口1550使得计算设备1510能够与一个或多个输入/输出设备1570通信以促进用户交互。例如,一个或多个输入/输出接口1550可以包括显示接口、输入接口或两者。例如,输入/输出接口1550适于接收来自用户的输入、接收来自另一计算设备的输入或其组合。在一些实施方式中,输入/输出接口1550符合一种或多种标准接口协议,包括串行接口(例如,通用串行总线(usb)接口标准或电气和电子工程师协会(ieee)接口标准)、并行接口、显示器适配器、音频适配器或自定义接口(“ieee”是新泽西州皮斯卡塔韦电气和电子工程师协会的注册商标)。在一些实施方式中,(一个或多个)输入/输出设备1570包括一个或多个用户接口设备和显示器,包括按钮、键盘、定点设备、显示器、扬声器、麦克风、触摸屏和其他设备的某种组合。在特定方面,(一个或多个)输入/输出设备1570包括图1的(一个或多个)接口126。
[0172]
(一个或多个)处理器1520被配置为经由一个或多个通信接口1560与设备或控制器1580通信。例如,一个或多个通信接口1560可以包括网络接口。设备或控制器1580可以包括例如相机102、图1的激光雷达系统112、一个或多个其他设备或其任何组合。
[0173]
在一些实施方式中,非暂时性计算机可读介质(例如,计算机可读存储设备)存储指令,该指令当由一个或多个处理器执行时,致使一个或多个处理器启动、执行或控制操作以执行上面所描述的部分或全部功能。例如,这些指令可以是可执行的以实施图1至图14的操作或方法中的一个或多个。在一些实施方式中,图1至图14的操作或方法中的一个或多个的部分或全部可以通过执行指令的一个或多个处理器(例如,一个或多个中央处理单元(cpu)、一个或多个图形处理单元(gpu)、一个或多个数字信号处理器(dsp))、通过专用硬件
电路系统或其任何组合来实施。
[0174]
本文描述的示例的图示旨在提供对各种实施方式的结构的一般理解。图示并不旨在用作对利用本文所描述的结构或方法的装置和系统的所有元件和特征件的完整描述。在审阅本公开后,许多其他实施方式对于本领域技术人员来说可以是明显的。可以利用其他实施方式并从本公开导出其他实施方式,从而可以在不脱离本公开的范围的情况下进行结构和逻辑替换和改变。例如,可以以与附图中所示不同的顺序执行方法操作,或者可以省略一个或多个方法操作。因此,本公开和附图应被视为说明性的而非限制性的。
[0175]
此外,虽然本文已经图示和描述具体示例,但是应当理解,被设计为实现相同或相似结果的任何后续布置都可以替代所示的具体实施方式。本公开旨在涵盖各种实施方式的任何和所有后续修改或变化。在审阅本说明书后,上述实施方式的组合以及本文未具体描述的其他实施方式对于本领域技术人员将是明显的。
[0176]
提交本公开内容的摘要时要理解其不用于解释或限制权利要求的范围或含义。此外,在前面的具体实施方式中,出于简化本公开的目的,可以将各种特征分组在一起或在单个实施方式中进行描述。上面所描述的示例说明但不限制本公开。还应该理解,根据本公开的原理,许多修改和变化是可能的。如随附权利要求所反映的,所要求保护的主题可以针对任何公开的示例的少于所有特征。因此,本公开的范围由随附权利要求及其等同物限定。
[0177]
此外,本公开包括根据以下条款的示例:
[0178]
条款1.一种方法200、300、400、700、900、1300,其包括:使用处理器130执行以下操作:在一个或多个处理器处获得202表示点云的点在三维(3d)空间中的位置的点云数据118;至少部分地基于轮廓度量136选择204点云数据的一个或多个子集152以供一个或多个处理器进一步处理;至少部分地基于一个或多个距离度量140,由一个或多个处理器将点云数据的一个或多个子集152的点集分组206到一个或多个簇154中;对于基于校准标准120的维度146满足一个或多个簇尺寸准则144的簇154,由一个或多个处理器130确定208簇154的点的信号强度分布142是否满足分布准则138;基于点的信号强度分布142满足分布准则138的确定,由一个或多个处理器130基于簇154确定210表示校准标准120的区域的边界156;以及由一个或多个处理器130存储212识别对应于校准标准120的点云的点集150的数据,该点集150基于表示校准标准120的区域的边界156来识别。
[0179]
条款2.根据条款1所述的方法200、300、400、700、900、1300,其中点云数据118表示来自激光雷达系统112的返回。
[0180]
条款3.根据条款2所述的方法200、300、400、700、900、1300,进一步包括:从与激光雷达系统112相关联的相机102获得302图像数据108;以及基于图像数据108和基于与相机102和激光雷达系统112相关联的粗校准数据来选择306点云的搜索区域。
[0181]
条款4.根据条款1至3中任一项所述的方法200、300、400、700、900、1300,进一步包括在至少部分地基于轮廓度量136来选择点云数据的一个或多个子集152之前:获得302包括校准标准120的图像的图像数据108;将点云数据118投影304到图像上以生成点云的至少一部分的二维(2d)投影;选择306点云的对应于由校准标准的图像界定的2d投影的点的第一点集;以及选择312点云的在第一点集中的一个或多个的阈值距离内的第二点集,其中第二点集表示对应于校准标准的点的要搜索的搜索空间312、314-342。
[0182]
条款5.根据条款1至4中任一项所述的方法200、300、400、700、900、1300,进一步包
括确定314点云的多个点的轮廓度量136的值,其中确定特定点的轮廓度量136的值包括:确定402第一表面的第一法线,该第一表面包括点云的在该特定点的第一阈值距离内的点;确定402第二表面的第二法线,该第二表面包括点云的在该特定点的第二阈值距离内的点;以及确定402第一法线和第二法线之间的差值,其中差值的幅值表示该特定点的轮廓度量的值。
[0183]
条款6.根据条款1至5中任一项所述的方法200、300、400、700、900、1300,其中至少部分地基于轮廓度量136选择204点云数据的一个或多个子集152包括将与小于或等于轮廓阈值的轮廓度量值相关联的点从进一步处理中排除404。
[0184]
条款7.根据条款1至6中任一项所述的方法200、300、400、700、900、1300,进一步包括:对于点云数据的一个或多个子集152的每个点,确定402表面的法线,该表面包括该点并包括点云的在该点的阈值距离内的点;识别316与一致法线相关联的第一点集;以及基于第一点集确定318在3d空间中的平面;确定320距该平面的阈值距离内的第二点集,其中将点集分组206到一个或多个簇154中包括基于该点与特定簇154的其他点之间的距离,将第二点集中的点分配322到该特定簇。
[0185]
条款8.根据条款7所述的方法200、300、400、700、900、1300,其中将点集分组206到一个或多个簇154中进一步包括:在确定初始簇集之后,生成328候选簇,其中生成候选簇包括基于第一簇尺寸阈值144和初始簇集的点彼此的接近度,选择性地聚合326、328初始簇集中的簇,直到候选簇具有满足第二簇尺寸阈值144的尺寸,其中第一簇尺寸阈值基于326校准标准的第一维度146,其中第二簇尺寸阈值基于328校准标准的第二维度146,并且其中第一维度不同于第二维度。
[0186]
条款9.根据条款1至8中任一项所述的方法200、300、400、700、900、1300,其中分布准则138基于校准标准120的图案中表示的多种颜色(330,图7)。
[0187]
条款10.根据条款1至9中任一项所述的方法200、300、400、700、900、1300,其中确定210表示校准标准120的区域的边界156包括:基于簇154的点,确定334在3d空间中的平面;将在平面的阈值距离内的点添加334到簇;将簇154的点投影336到平面上;确定902相对于点云的扫描光束方向,其中确定902扫描光束方向包括:确定904簇154的在彼此的阈值距离内的点对;对于每一点对,确定906指示从该对的一个点到该对的另一点的方向的单位向量;确定908点对的指向方向的直方图;以及基于直方图确定910扫描光束方向。
[0188]
条款11.根据条款1至10中任一项所述的方法200、300、400、700、900、1300,进一步包括:将线拟合912到簇的点;指定920线的边点;以及至少部分地基于边点来确定928-938;1302-1310边界。
[0189]
条款12.根据条款11所述的方法200、300、400、700、900、1300,其中至少部分地基于端点确定928-938;1302-1310边界包括:确定(338,图9、图13)校准标准的取向;以及基于校准标准的取向选择边界确定过程。
[0190]
条款13.根据条款11至12中任一项所述的方法200、300、400、700、900,其中至少部分基于端点确定边界928-938;1302-1310包括:识别934对应于边界的第一边界的第一线,其中第一线是基于线的定位来选择的;识别934对应于边界的第二边界的第二线,其中第二线是基于线的定位来选择的;确定936对应于边界的第三边界的第三线,其中第三线基于线的第一端点集;以及确定936对应于边界的第四边界的第四线,其中第四线基于线的第二端
点集。
[0191]
条款14.根据条款11至13中任一项所述的方法200、300、400、700、900、1300,其中至少部分基于端点确定928-938;1302-1310边界包括:识别1304端点的定位的拐点;确定1306、1308对应于边界的第一边界的第一线,其中第一线基于第一线集的上端点,其中第一线集设置在拐点的第一侧上;确定1306、1308对应于边界的第二边界的第二线,其中第二线基于第二线集的上端点,其中第二线集设置在拐点的第二侧上;确定1306、1308对应于边界的第三边界的第三线,其中第三线基于第一线集的下端点;以及确定1306、1308对应于边界的第四边界的第四线,其中第四线基于第二线集的下端点。
[0192]
条款15.根据条款11至14中任一项所述的方法200、300、400、700、900、1300,进一步包括在确定边界之前基于长度和方向过滤926线。
[0193]
条款16.一种系统100,其包括:存储器132,其被配置为存储指令134;以及一个或多个处理器130,其被配置为:在一个或多个处理器130处获得202表示点云的点在三维(3d)空间中的位置的点云数据118;至少部分地基于轮廓度量136,选择204点云数据的一个或多个子集152以供一个或多个处理器130进一步处理;至少部分地基于一个或多个距离度量140,由一个或多个处理器将点云数据的一个或多个子集152的点集152分组206到一个或多个簇154中;对于基于校准标准120的维度146满足一个或多个簇尺寸准则144的簇154,由一个或多个处理器130确定208簇154的点的信号强度分布142是否满足分布准则138;基于点的信号强度分布142满足分布准则138的确定,由一个或多个处理器130基于簇154确定210表示校准标准120的区域的边界156;以及由一个或多个处理器130存储212识别对应于校准标准120的点云的点集150的数据,该点集150基于表示校准标准120的区域的边界156来识别。
[0194]
条款17.根据条款16所述的系统100,进一步包括耦合到一个或多个处理器130的飞行器、交通工具148或结构的部件、交通工具或结构的部件、或其任何组合。
[0195]
条款18.根据条款所述的系统100,其中点云数据118表示来自耦合到交通工具148或结构、交通工具或结构的部件或其任何组合的激光雷达系统112的返回。
[0196]
条款19.根据条款18所述的系统100,其中一个或多个处理器130进一步被配置为:从与激光雷达系统112相关联的相机102获得302图像数据108;以及基于图像数据108和基于与相机102和激光雷达系统112相关联的粗校准数据,选择306点云的搜索区域。
[0197]
条款20.一种非暂时性计算机可读介质132,其存储可由一个或多个处理器130执行以执行包括以下各项的操作的指令:在一个或多个处理器处获得202表示点云的点在三维(3d)空间中的位置的点云数据118;至少部分地基于轮廓度量136,选择204点云数据的一个或多个子集152以供一个或多个处理器进一步处理;至少部分地基于一个或多个距离度量140,由一个或多个处理器将点云数据的一个或多个子集152的点集分组206到一个或多个簇154中;对于基于校准标准120的维度146满足一个或多个簇尺寸准则144的簇154,由一个或多个处理器130确定208簇154的点的信号强度分布142是否满足分布准则138;基于点的信号强度分布142满足分布准则138的确定,由一个或多个处理器130基于簇154确定210表示校准标准120的区域的边界156;以及由一个或多个处理器130存储212识别对应于校准标准120的点云的点集150的数据,该点集150基于表示校准标准120的区域的边界156来识别。