一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

点云处理的制作方法

2022-08-13 16:57:41 来源:中国专利 TAG:


1.各种示例涉及对由光检测和测距(lidar)提供的点云的处理。各种示例具体涉及背景减法。


背景技术:

2.使用lidar扫描仪,可以提供场景的点云数据集。点云数据集包括多个数据点。点云数据集的不同数据点与lidar扫描仪视野中的不同横向位置相关联。即,水平和/或垂直扫描是可能的。有时,数据点可能包括指示横向位置的指标。点云数据集的数据点指示相应深度位置。数据点的深度位置标志着环境中各个对象到lidar扫描仪的距离。该距离可以使用测距来确定。该距离可以用例如米来表示。
3.已经观察到点云数据集的大小可能很大。例如,给定的点云数据集(有时也称为点云帧)可以包括数千或数万甚至高达一百万的数据点。每个数据点又可以包括多个比特(bits),即,实现指示深度位置以及可选地指示横向位置的指标。此外,点云数据集可以以lidar扫描仪的采样率来提供,典型的采样率在5hz

10khz的范围内。
4.因此,已经发现基于点云数据集运行的应用所需的计算资源可能要求很高。例如,据观察,用于将点云数据集从lidar扫描仪传送到服务器以进行处理的通信链路的传输数据速率可能很高。此外,将要在点云数据集上实现的对象识别可能需要强大的处理能力和内存,才能处理点云数据集。


技术实现要素:

5.因此,需要处理点云数据集的先进技术。特别是,需要处理点云数据集,以便放宽基于点云数据集运行的应用的计算资源要求。
6.这种需要通过独立权利要求的特征来满足。从属权利要求的特征定义了实施例。
7.本文描述了有助于处理点云数据集的技术。本文所述的技术有助于减小点云数据集的大小。特别是,可以丢弃信息容量低或有限的数据点。
8.例如,根据本文描述的一些技术,可以从点云数据集中移除/丢弃与场景背景相关联的数据点。
9.一般来说,场景的背景描述了场景中相对于lidar扫描仪而言是静态的一组对象。
10.通过丢弃与场景背景相关的数据点,可以减少点云数据集的整体大小。这有助于为基于减少了数据点计数的点云数据集而操作的后续应用而减少计算资源。可以降低用于通信点云数据集的通信链路的传输数据速率。
11.一种方法包括由lidar测量设备的处理电路接收点云数据集的多个数据点。点云数据集的多个数据点中的每个数据点指示相应深度位置。点云数据集的多个数据点中的不同数据点与lidar测量设备的视野中的不同横向位置相关联。每个横向位置与相应的预定义参考深度阈值相关联。该方法还包括lidar测量设备的处理电路,针对点云数据集的多个数据点中的每个数据点执行相应的比较。相应比较是在各个数据点所指示的深度位置和各
个参考深度阈值之间进行的。该方法还包括,对于多个数据点中的每个数据点,并且在lidar测量设备的处理电路处,通过所述相应比较而选择性地丢弃相应数据点,使得相应数据点所指示的深度位置基本上等于相应的参考深度阈值。该方法还包括,基于所述选择性丢弃,由处理电路将点云数据集输出到与通信链路连接的lidar测量设备的外部接口。
12.计算机程序或计算机程序产品或计算机可读存储介质包括可以由lidar测量设备的至少一个处理器加载和执行的程序代码。通过加载和执行这样的程序代码,至少一个处理器执行一种方法。该方法包括由lidar测量设备的处理电路接收点云数据集的多个数据点。点云数据集的多个数据点中的每个数据点指示相应的深度位置。点云数据集的多个数据点的不同数据点与lidar测量设备的视野中的不同横向位置相关联。每个横向位置与相应的预定义参考深度阈值相关联。该方法还包括lidar测量设备的处理电路,其对点云数据集的多个数据点中的每个数据点执行相应比较。所述相应比较是在各个数据点指示的深度位置和各个参考深度阈值之间进行的。该方法还包括,对于多个数据点中的每个数据点,并且在lidar测量设备的处理电路处,通过所述相应比较而选择性丢弃相应数据点,使得相应数据点指示的深度位置基本上等于相应的参考深度阈值。该方法还包括,通过所述选择性丢弃,由处理电路将点云数据集输出到与通信链路连接的lidar测量设备的外部接口。
13.一种方法包括在服务器处接收一个或多个点云数据集。所述一个或多个点云数据集是从一个或多个lidar测量设备、通过一个或多个通信链路接收的。该方法还包括基于所述一个或多个点云数据集在服务器处执行对象检测。
14.所述一个或多个点云数据集中的至少一个可能包括指示相应点云数据集中的未定义深度位置的占位符数据结构。对象检测可以基于所述占位符数据结构进行操作。例如,对象检测可以基于点云数据集中包含的占位符数据结构来确定低反射率对象存在的可能性。
15.一种方法包括在lidar测量设备的处理电路处接收点云数据集的多个数据点。点云数据集的多个数据点中的每个数据点指示相应的深度位置。点云数据集的多个数据点的不同数据点与lidar测量设备的视野中的不同横向位置相关联。每个横向位置与相应的预定义参考深度阈值相关联。该方法还包括,在lidar测量设备的处理电路处并且对于点云数据集的多个数据点中的每个数据点:执行由相应数据点指示的深度位置与相应参考深度阈值的相应比较。该方法还包括,响应于检测到对多个数据点的数据点预定义计数的相应比较得到由这些数据点指示的深度位置不是基本上等于相应的参考深度阈值,触发lidar测量设备的故障模式。
16.应当理解,上述特征和下文将要解释的特征不仅可以以所指出的相应组合的形式使用,而且还可以以其他组合或单独形式使用而不脱离本发明的范围。
附图说明
17.图1示意性地示出了一个系统,该系统包括多个从不同角度对场景进行成像的多个lidar测量设备,以及根据各种示例的服务器。
18.图2示意性地示出了根据各种示例的关于服务器的细节。
19.图3示意性地示出了关于根据各种示例的lidar测量设备的细节。
20.图4是根据各种示例的方法的流程图。
21.图5示意性地示出了根据各种示例由lidar测量设备获取的点云数据集的时间序列。
22.图6示意性地示出了根据各种示例的所述序列中点云数据集的数据点的深度值的直方图。
23.图7是由点云数据集的数据点指示的深度和横向位置的二维空间图,此外,还示出了根据各种示例的参考深度阈值。
24.图8示意性地示出了根据各种示例丢弃数据点后的图7的点云数据集。
25.图9示意性地示出了根据各种示例触发故障模式的点云数据集。
26.图10示意性地示出了根据各种示例基于多个lidar点云数据集的多视角对象检测操作。
具体实施方式
27.本公开的一些示例通常提供多个电路或其他电气设备。对电路和其他电气设备的所有引用以及由它们各自提供的功能并不旨在限于仅包含本文中所图示和描述的内容。尽管可以将特定标签分配给所公开的各种电路或其他电气设备,但这些标签并非旨在限制电路和其他电气设备的操作范围。这样的电路和其他电气设备可以基于期望的特定类型的电气化实施方案以任何方式彼此组合和/或分离。应当认识到,本文公开的任何电路或其他电气设备可以包括任何数量的微控制器,图形处理器单元(gpu),集成电路,存储器件(例如,闪存,随机存取存储器(ram),只读存储器(rom),电可编程只读存储器(eprom),电可擦除可编程只读存储器(eeprom),或其其他合适的变体),以及相互协作以执行本文公开的操作的软件。此外,任何一个或多个所述电气设备可以被配置为执行包含在非暂时性计算机可读介质中的程序代码,以执行本文所述任何数量的功能。
28.下面结合附图对本发明的实施例进行详细说明。应当理解,以下对实施例的描述不应被理解为限制性的。本发明的范围不旨在由以下描述的实施例或附图来限制,这些实施例仅被认为是说明性的。
29.附图应被视为示意性表示,并且附图中所示的元件不必按比例显示。相反,各种元件被表示为使得它们的功能和一般目的对于本领域技术人员来说变得显而易见。附图中所示或本文描述的功能块,设备,组件或其他物理或功能单元之间的任何连接或耦接也可以通过间接连接或耦接来实现。各部件之间的耦接也可以通过无线连接建立。功能块可以用硬件,固件,软件或它们的组合来实现。
30.在下文中,描述处理点云数据集的技术。点云数据集可以基于lidar测量或其他种类和类型的测量(例如其他飞行时间测量或测距,例如雷达,或例如立体测量)来获取。点云数据集包括多个数据点,每个数据点与测量设备(例如,lidar扫描仪)的视野内的相应横向位置相关联。作为一般规则,横向位置定义水平和垂直位置,即垂直于沿其确定深度位置的z轴。
31.例如,点云数据集包括指示相应数据点的视野内的横向和/或垂直位置的指标。例如,在lidar测量的情况下,lidar扫描仪可以包括一个光束操控单元,该单元被配置为将发射到环境中的初级光偏转一定角度;然后,可以将光束偏转单元的位置与点云数据集的数据点指示的相应横向位置相关联。也可以依靠闪光lidar:在这里,光被发射到多个方向,并
在接收路径中进行横向位置的分离,例如,通过将在不同横向位置的对象处反射的返回次级光聚焦到不同的探测器元件上来分离。
32.在下文中,为了简单起见,将结合lidar测量来描述各种技术。然而,类似的技术也可以很容易地应用于其他种类和类型的测距测量。
33.本文描述的各种技术可应用于固定位姿lidar测量。这里,lidar测量设备(或配置为提供点云数据集的任何其他类型的测量设备)的位姿(位置和视角)相对于场景是固定的。即,有一个静态背景,例如,由一个或多个背景对象(如墙壁,永久性障碍物,地面,植被等)形成,该背景由随后采样的点云数据集类似地成像。这种固定位姿lidar测量可以与可变位姿lidar测量区分开来:在后一种情况下,使用移动lidar测量设备,随着时间的推移,它会改变其相对于场景的位姿。典型的用例是车载lidar测量设备或配备了lidar测量设备的背包用于绘制地图。
34.各种技术基于以下发现:对于固定位姿lidar测量,背景减法是可行的。特别是,各种技术都基于这样的发现,即背景应该在随后采样的点云数据集中得到类似的表示。然后,根据后续采样的点云数据集的数据点深度位置的变化,可以检测到该背景。
35.本文描述的各种技术可以在多位姿固定位姿lidar测量设置中找到应用。在这里,多个lidar测量设备相对于所述场景以不同的位姿部署,以便在给定时间实例采样的多个点云数据集提供该场景中各个对象的不同视角。这对于例如对象检测或对象识别等应用可以很有帮助,因为可以基于多个视角获得关于场景中对象的更多信息。局部障碍可以通过所述位姿中的冗余来规避。因此,这些应用可以更强健地实施,并且可以受益于多个点云数据集中包含的其他水平的细节。
36.根据各种示例,点云数据集的处理可以以去中心化方式执行。即,点云数据集的处理可以在通过相应的通信链路将点云数据集传输到中央服务器之前,在lidar测量设备的处理电路处执行。处理电路可以集成到同一外壳(housing)中,该外壳还包括用于执行lidar测量的传感器电路,例如激光器和探测器。该处理可以在具有针对该场景的不同视角的单个lidar测量设备上以去中心化的方式执行,即在将点云数据集融合成聚合的多位姿点云数据集之前。这种方法降低了通信链路上所需的数据速率。
37.具体地,点云数据集中与场景背景相关的数据点可能会被丢弃。丢弃数据点可以意味着,从点云数据集中删除(即永久删除)相应的数据点数据结构,从而点云数据集的大小被减去对应于所述相应数据点的量。例如,可以想到点云数据集是阵列形式,其中阵列的每一行表示相应的数据点数据结构。例如,在处理点云数据集之前,阵列可能有n个条目。然后,检测到m(小于或等于n)个数据点计数与背景对应,然后基于输入点云数据集丢弃对应于背景的数据点而得到的对应的输出点云数据集就可以是具有n

m个条目的一个阵列。
38.此外,将描述在数据点层次级别上实现点云数据集的处理的技术。即,可以为点云数据集的每个数据点单独实施背景减法。这尤其与需要基于点云数据集的数据点集合和/或通过考虑点云数据集的各个数据点的时间演化来实现的背景检测的技术形成对比。在本文描述的技术中,对于点云数据集的每个数据点,可以判断相应的深度位置是在相应的参考深度阈值(针对每个数据点定义;即,不同的数据点与不同的相应参考深度阈值相关联)之后还是在其之前,然后在发现深度值处于参考深度阈值处或在参考深度阈值之后时选择性地丢弃该数据点。这是基于以下发现,对于每个单独的数据点,可以根据其相对于参考深
度阈值(被确定在类似于背景的位置)关联的深度位置来判断各个数据点当前测量的是背景对象还是前景对象。那么,如果数据点的各个深度位置在参考深度阈值和lidar测量设备之间,则可以判断该深度位置与前景对象相关联;否则,该深度位置与背景相关联。这种方法特别容易实现并且需要有限的计算资源(由于数据点层次结构级别的单独处理);因此,可以在部署在lidar测量设备上的处理电路中实现。
39.作为此类基于参考深度阈值丢弃数据点的替代或补充,参考深度阈值可用于识别lidar测量设备的故障模式。具体地,当深度位置中大量的横向位置计数偏离参考深度阈值时,可以判断遇到故障模式。故障模式可以与lidar测量设备的一个或多个故障部件相关联。由于一个或多个部件故障,lidar测量检测到的深度位置很可能会偏离参考深度阈值。另一方面,由于有大量的横向位置计数,背景即时发生变化,但场景不太可能像那样发生显著变化。因此,点云数据集中的这种变化(其中多个横向位置偏离参考深度阈值)可以是发生故障的有力证据。这种故障检测的优势在于,lidar测量设备的大量部件受到监测:为了使lidar测量不受损坏,通常需要正确运行测量链中的所有部件,包括控制电子器件或激光器和光束操控单元,激光器,发射光学器件,接收光学器件,探测器的控制电子器件,探测器输出的信号处理,模数转换,低级点云数据集处理等。这样,可以确保整体功能安全。
40.作为一般规则,参考深度阈值可以取有限值或保持未定义,例如,设置为无穷大(如果场景背景超出lidar测量的测量范围,会出现这种情况)。
41.图1示意性地示出了关于系统100的方面。系统100包括多个lidar测量设备101-103和中央服务器109。在lidar测量设备101-103和服务器109之间建立了通信链路(由图1中的虚线示出)。例如,点云数据集191-193可以由lidar测量设备101-103中的每一个提供给服务器109。
42.点云数据集191-193可以与指示相应点云数据集采样的时间点的时间戳相关联。点云数据集191-193都描绘了场景300;然而,随着lidar测量设备101-103的位姿相对于场景300而变化,描绘场景300的点云数据集191-193的视角也变化。这意味着,例如,深度位置601和视野602内的横向位置(图1中的小点虚线,仅作为lidar测量设备101,103的示例示出)将在点云数据集191-193之间变化。
43.如图1所示,场景300包括两个对象301,302。对象301随着时间的推移是静态的,例如,可以是道路上的墙壁或障碍物或车道标记等。因此,点云数据集191-193中与对象301相关联的数据点的横向位置和深度位置是随时间而不变的。因此,对象301构成场景300的背景,可以被标记为背景对象301。相反,对象302在场景中移动。因此,对象302的横向位置中的深度位置601显示出时间依赖性。对象302可以在背景对象301之前被看到。因此,对象302形成前景的一部分,可以被标记为前景对象302。
44.根据本文描述的各种示例,可以在lidar测量设备101-103处处理点云数据集191-193,以丢弃与背景对象301关联的数据点,但保留与前景对象302关联的数据点。
45.图2示意性地示出了关于服务器109的方面。服务器109包括处理电路,例如由一个或多个中央处理单元实现。服务器还包括存储器1092,其可被处理电路1091访问,例如用于加载程序代码。处理电路1091还可以经由接口1093经通信链路108与lidar测量设备101-103通信。通过加载来自存储器1092的程序代码,处理电路1091可以执行程序代码,并且基于该执行,实施本文所述技术,例如:基于多个点云数据集191-193实施多位姿对象识别;融
合多个点云数据集191-193以获得场景300的聚合点云数据集;基于多个点云数据集191-193执行一个或多个应用(lidar应用),例如,包括对象检测/分类,实时定位和映射(slam),和/或控制任务。例如,一种应用可能涉及检测场景300中的对象,然后控制一辆或多辆车辆通过场景300的移动。例如,可以实现自动代客泊车。
46.图3示意性地示出了与lidar测量设备101-103有关的方面。lidar测量设备101-103包括传感器电路1015,传感器电路1015被配置为在视野(fov)602中执行基于光的测距,即横向分辨。为此,初级光可以被发射到场景300,例如以脉冲形式或连续波发射。然后可以检测场景300处反射的次级光并且可以实施测距。lidar测量设备101-103包括处理电路1011,例如,由微控制器、中央处理单元、专用集成电路、和/或现场可编程门阵列(fpga)实现。处理电路1011耦接到存储器1012并且可以例如加载和执行来自存储器1012的程序代码。处理电路1011可以通过访问接口1013经由通信链路108进行通信。例如,通过处理相应的点云数据集191-193,处理电路1011可以使用通信链路108经由接口1013将过程点云数据集191-193传输到服务器109。通过加载和执行存储器1012的程序代码,处理电路1011可以被配置为执行本文所述的一种或多种技术,例如:通过检测点云数据集中比相应的参考深度阈值更接近lidar测量设备101-103的数据点来执行背景减法;确定参考深度阈值,例如,通过考虑一个或多个参考点云数据集来确定;从相应的点云数据集丢弃数据点;将占位符数据结构添加到相应点云数据集;触发故障模式,例如,基于多个数据点的深度位置与相应的参考深度位置的比较和/或另一个基于多个数据点的反射率与相应的参考反射率的比较来触发;等等。
47.图4是根据各种示例的方法的流程图。可选框在图4中用虚线表示。
48.例如,通过加载存储器1012的程序代码,所述方法有可能至少部分地由lidar测量设备执行,例如由lidar测量设备101的处理电路1011或另外的lidar测量设备102-103中的任何一个来执行。具体地,框3001-3011可以由lidar测量设备执行,且框3030可以由服务器执行,例如由服务器109的处理电路1091执行。
49.图4的方法总体上涉及以去中心化方式处理点云。图4的方法有助于减少与一个或多个基于过程点云数据集运行的lidar应用相关的计算资源——如果与一个或多个应用将在未处理的点云数据集上运行的场景相比。
50.所述方法开始于框3001:这里,为lidar测量设备101-103的视野602内的所有或至少一些横向位置确定参考深度阈值。例如,可以为与相应横向位置相关联的每个数据点确定参考深度阈值。
51.作为一般规则,有多种选项来确定框3001处的参考深度阈值。例如,对于每个横向位置,有可能确定历史最大深度位置,然后根据该最大值确定与该横向位置关联的参考深度阈值。即,对于每个横向位置,可以检查各个数据点在时间过程中所取的最大值,然后可以判断该最大值与视野中背景的背景对象相关联。更具体地,这种判断可以基于一个或多个参考点云数据集进行。例如,一个或多个参考点云数据集可以在相应的lidar测量设备101-103处缓存。多个数据点(这些数据点与视野中的横向位置关联)中每一个的深度位置的最大值有可能跨一个或多个参考点云数据集来确定,然后根据该最大值来确定参考深度阈值。这里,作为一般规则,可能不需要将所有这些参考数据集保留在缓存中很长一段时间;相反,对于每个新获取的点云数据集,有可能将深度位置与当前存储的参考深度阈值
(表示相应数据点在迄今已获取的所有参考点云数据集中的深度位置的最大值)进行比较,并且,如果该比较得出,当前获取的点云数据集中的数据点的深度位置与lidar测量设备101-103的距离相比于参考深度阈值更大,则可以根据当前获取的点云数据集中数据点的深度位置调整参考深度阈值。因此,只需要在存储器中保留所有横向位置的参考深度阈值。这对应于参考深度阈值的连续渐进调整,因为新的点云数据集被获取并可供lidar测量设备101-103的处理电路所用。在这种连续渐进的情况下,不需要在lidar测量设备的存储器中保留相应数据点的深度位置的大量历史值。
52.作为一般规则,替代或补充基于深度位置的这种比较,可以考虑lidar测量设备的其他测量量。示例包括:具有相应参考速度阈值的速度(例如,从外差型检测获得),以及具有相应参考反射率阈值的反射率(例如,从考虑信号幅度获得)。在下文中,为了简单起见,示例技术都以基于深度位置的比较来描述,但是可以想到其他类型的比较。
53.作为一般规则,关联横向位置的参考深度阈值有可能由lidar测量设备输出,例如提供给服务器109,但这不是必须的。例如,一个或多个指示与lidar测量设备的视野中的横向位置相关联的参考深度阈值的这类控制消息可以通过通信链路输出。例如,有可能响应于调整给定数据点的参考深度阈值或响应于另一个触发(即,按需触发)而输出相应的控制消息。即,有可能每次调整参考深度阈值时,输出相应的控制消息。在一些场景中,也可以将相应的指标嵌入到相应的点云数据集中,参考深度阈值根据该指标调整。
54.通过输出参考深度阈值,基于lidar点云数据集运行的lidar应用也可能会考虑参考深度阈值的此类信息。例如,对象识别可以基于这样的信息进行操作,例如,以确定前景对象的最大深度范围,考虑到背景是静态的,仅给出一个示例。因此,lidar应用通常可以根据这些附加信息更准确地运行。
55.除了如所解释的对参考深度阈值的连续渐进调整外,其他情况也是可以想到的,下面结合图5和图6解释了一种这样的情况。
56.图5示例了与获取点云数据集501-502有关的方面。更具体地,图5示例了获取点云数据集501-502的时域序列500。以给定的刷新率(例如,通常在几赫兹到几千赫兹的量级)获取点云数据集501-502。这是场景300采样的速率(rate)。当前获取的点云数据集501显示在序列500的右手侧,而先前获取的(历史)点云数据集502显示在左手侧。这些先前获取的点云数据集502的子集509被用作参考点云数据集、并且可选地临时保留在相应的lidar测量设备101-103的存储器中。有可能使用定义子集509的时域滑动窗口从序列500中选择参考点云数据集。即,在图5所示的场景中,时域滑动窗口包括最近获取的八个点云数据集502;随着时间的推移,新的,更近获取的点云数据集被添加到子集509中,并且随着时域滑动窗口的进展,最旧的点云数据集被移除。这是选择多个参考点云数据集的一个示例。其他示例也是可能的,例如,依赖-可能是手动触发-校准阶段,其中已知场景具有明确定义的设置,例如,不显示前景对象等。在其他场景中,多个参考点云数据集可以间歇地排列,例如,被选择以参考点云数据集之间的时间间隔,该时间间隔长于与点云数据集的获取相关联的采样间隔。在任何此类情况下,如果有多个参考点云数据集可用,则有可能确定直方图520,如图6所示。直方图520说明了给定数据点(与fov 602内的某个横向位置关联)跨多个参考点云数据集的深度位置的分布。然后,最大值521(图6中的垂直箭头)可以基于直方图520确定。具体地,可以考虑深度位置的统计涨落,例如,通过考虑与最大深度位置的偏移。最大峰
值可以基于直方图520确定。可以使用参数化函数的拟合,其中该参数化函数模拟(resemble)lidar测量的测量特性,从而确定最大值521。
57.接下来,再次参考图4,在框3002,接收当前点云数据集。这可以包括探测器的读出和/或模数转换。注意,在一些示例中,框3002可以在框3001之前执行,例如,在确定横向位置的参考深度阈值同时考虑当前点云数据集的场景中,例如,如上所述的连续渐进的情景。
58.然后该方法开始于框3003。框3003与迭代循环3090相关联,跨在框3002处接收的点云数据集所覆盖的视野内的所有横向位置切换。跨所有横向位置切换可以通过跨点云数据集中包含的所有数据点切换来实施,其中不同的数据点与不同的横向位置相关联。
59.在框3003,检查是否存在任何未处理的横向位置,考虑在先前迭代3090处处理的横向位置。如果存在未处理的横向位置,则该方法开始于框3004,在那里,当前处理的横向位置从未处理的横向位置集合中选择。
60.获得当前选择的横向位置的当前参考深度阈值。因此,对于不同的迭代3090,不同的参考深度阈值在框3004获得。
61.接下来,在框3005,检查在框3004选择的当前横向位置的深度值是否可用。例如,可以想到点云数据集包含一个数据点的场景,即使假定关联的lidar测量没有产生任何返回的次级光,即无法进行测距(例如,因为非反射低反射对象位于相应的横向位置处,或者因为lidar测量设备的测量范围内没有对象)。然后该数据点可以指示对该横向位置缺少深度位置,例如,通过包括相应的指示符(例如,
“‑
1”或“∞”)。然而,还有其他可以想到的场景,例如,响应于lidar测量未检测到任何返回的次级光,点云数据集不包括对应的横向深度位置的数据点的场景。然后,对应的数据点的缺失可以指示深度位置对于当前横向位置不可用(例如,可以定义横向网格,并且如果对于网格位置而言没有数据点,这可以指示深度位置不可用)。在下文中,深度位置对于相应的横向位置而言不可用的这种情况被称为未定义深度位置。
62.首先,讨论定义了深度位置、即深度位置可用于当前横向位置的情况。然后该方法进展到框3008。在此,检查当前深度位置如果与在框3004获得的关联于当前横向位置的当前参考深度阈值相比是否指示到lidar测量设备的更短距离。即,可以在框3008处检查深度位置如果与参考深度阈值相比是否取更小的值。如果是这种情况,则该方法进入框3010,相应的数据点保持在点云数据集中。这是因为所述相应数据点对应于前景对象是合理的。否则,该方法进入框3009,相应的数据点被丢弃。例如,如果关联于当前横向位置的数据点的深度位置等于当前参考深度阈值,则可以判断场景对象为背景。可以通过永久移除点云数据集的相应条目来实现框3009处的丢弃。
63.现在考虑在框3005处的情形,判断深度位置不可用于框3005所选的当前横向位置,即,当前横向位置遇到未定义的深度位置。然后,该方法进入框3006。在框3006,检查当前参考深度阈值是否是有限的,即,是否也未设置为未定义。例如,可以想到场景的背景在lidar测量设备的测量范围之外,在这种情况下,参考深度阈值不能是未定义的/设置为无穷大。
64.如果对于当前横向位置而言,深度位置以及参考深度阈值两者都未定义,则该方法进入框3009,并且如果甚至可用(考虑到数据点的缺失也可用于指示框3005处的未定义深度位置),则丢弃相应的数据点。否则,该方法进入框3007,并将占位符数据结构添加到点
云数据集。框3007对应于遇到未定义的深度位置同时存在具有定义值的有限参考深度阈值的场景。这种lidar测量中返回的次级光的缺失可以指示低反射率前景对象存在的情况:如果没有前景对象,则应该检测到背景;然后,如果存在-例如黑色-前景对象,这会导致零返回次级光到达lidar测量设备。可以通过在框3007向点云数据集添加指示未定义的深度位置的占位符数据结构来传达此类信息,例如传达给服务器。请注意,虽然在图4的情形中,通过相关参考深度阈值取有限值(即,框3006处的检查),占位符数据结构被选择性地添加到点云数据集,作为一般规则,框3006处的检查是可选的。
65.在一些场景中,可以想到占位符数据结构指示基于与给定横向位置相关联的参考深度阈值而确定的候选深度位置范围。具体地,最大候选范围可以由参考深度阈值定义,假设前景对象不比背景更远离lidar测量设备,而背景又定义了参考深度阈值。可替代地或附加地,可以基于lidar测量设备的性能特性设置最小候选范围,例如,假设即使位于lidar测量设备附近的低反射率对象也可以被检测到。请注意,在某些情况下,指示这样的候选范围可能是不必要的,例如,如果与横向位置相关联的参考深度阈值已经通过通信链路输出,例如,如结合框3001所讨论的那样。然后,服务器109可以对前景对象的可能深度位置进行相应的推断。
66.从上面可以理解,由迭代3090定义的循环的分支3006-3007利用了这样一个事实-当拥有背景上的先验知识时-即使是未定义的数据点也可以允许推断前景对象的存在。这有助于更准确地实现后续的lidar应用。
67.在多个迭代3090之后,在框3003,判断所有横向位置都已被处理。即,对于所有横向位置,相应的数据点已被保留(框3010)或丢弃(框3009),或者甚至可能已将占位符数据结构添加到相应横向位置的点云数据集(框3007)。
68.然后,该方法进入框3011,在此,过程点云数据集被输出(例如,通过相应的接口1013)到通信链路108(参见图1和图3),以便可以被服务器109接收。由于,至少在某些情况下,在框3010的一个或多个迭代3090中已经丢弃了多个数据点,因此在框3011输出的过程点云数据集如果与在框3002接收到的输入点云数据集相比是大小减小了。数据点的丢弃可以意味着相应信息从点云数据集的阵列结构中移除,例如永久移除和删除。
69.然后,在框3030,执行或触发一个或多个lidar应用。lidar应用基于在框3011输出的点云数据集来运行。
70.具体而言,框3030可以包括基于从多个lidar测量设备接收的点云数据集运行的多位姿lidar应用。框3030可以由服务器109执行。可以涉及一个或多个后端服务器。
71.图7说明关于点云501的点云处理的方面。具体地,图7说明关于选择性丢弃点云数据集501的数据点的方面,例如,如结合图4的框3009-3010所讨论的。
72.图7是一个二维空间图,说明了深度位置(标记为z位置)和相关的横向位置(标记为x位置或y位置)。图7说明了点云数据集501的数据点51-73的深度位置和横向位置。如图7所示,与fov 602上的不同横向位置相关联的数据点51-73的深度位置是变化的。
73.图7还说明了与参考深度阈值201-204相关的方面。如图7所示,fov 602内的不同横向位置与不同的参考深度阈值201-204(由图7中的实线示出)相关联。
74.考虑数据点51-53。这些数据点51-53具有小于关联的参考深度阈值201的深度位置(即,它们指示到lidar测量设备101-104的距离小于参考深度阈值201指示的距离)。因
此,这些数据点51-53被保留(参见图4:框3010)。这由图7中的虚线框表示。
75.接下来,另一方面,数据点54-60具有基本上对应于与相应横向位置相关联的参考深度阈值202的深度位置。因此,从点云数据集504中丢弃数据点54-60(参见图4,框3008-3009)。“基本上对应”可以意味着数据点54-60的深度位置与参考深度阈值202之间的差异小于预定义的容差299(容差299在图7中使用相对于参考深度阈值201-204的误差括号来示出)。
76.作为一般规则,可以固定容差299。在其他情况下,容差299可以取决于参考深度阈值201-204的值。例如,更远离lidar测量设备的参考深度阈值201-204可能与更高的容差299相关联,因为可能有一种趋势:深度位置可能对于更远离lidar测量设备与更高噪声相关联(图7中示出了数据点54-60的相应深度抖动)。替代地或附加地,有可能容差299基于lidar测量设备的一个或多个运行条件而动态确定。即,数据点51-73的深度值与参考深度阈值201-204之间的比较可以取决于lidar测量设备101-103的一个或多个运行条件。示例运行条件包括但不限于:环境光水平,例如,由单独的环境光传感器检测到(例如,对于非常明亮的日光,可预期更高的深度抖动);工作温度(例如,在工作温度升高的情况下,可能会出现更高的深度抖动);环境湿度;等等,仅举几例。即,运行条件与相应的lidar测量设备101-103和环境的相互作用有关。
77.通过考虑这种点内容差299,数据点51-73的深度位置与参考深度阈值201-204之间的比较已经可以在某种程度上考虑深度抖动。在一些场景中,还可以考虑数据点51-73的深度位置的点内变化,以进一步提高lidar测量对深度抖动的鲁棒性(robustness)。相应的场景在图7中结合数据61-67说明。在此,如图7所示,存在深度位置显著偏离相关参考深度阈值203的数据点62,即,数据点62的深度位置与相关参考深度阈值203之间的距离大于相应的容差299。因此,所述比较产生了显著不同的深度位置,并且在某些情况下,这导致保留相应的数据点(参见图4:框3010)。然而,在一些场景中,有可能所述选择性丢弃数据点是基于给定数据点(这里:数据点62)所指示的深度位置的比较,但也基于一个或多个相邻数据点(这里,例如,最近的相邻数据点61和63)所指定的深度位置的一个或多个进一步的比较。具体地,对于图7的场景,这意味着数据点62的丢弃或保留不仅取决于数据点62的深度位置与参考深度阈值203之间的比较,还取决于相邻数据点61和63的深度位置与参考深度阈值203的比较。由于对相邻数据点61和63执行的这些比较得出,数据点61和63的相应深度位置与参考深度阈值203之间的距离落在容差299内,则数据点62被视为异常值,因此也被丢弃。这种基于相邻横向位置的多重比较的联合考虑的异常值检测有助于更准确地区分前景和背景。作为一般规则,这里可以考虑二维最近邻或甚至次最近邻。
78.图7还说明了与占位符数据结构280有关的方面。如先前结合图4解释的:块3007,占位符数据结构可用于指示下述场景中返回次级光的缺失,所述场景是指,如果背景对象可见(即,没有被前景对象阻挡),则预计会有返回次级光。在图7的场景中,对于与数据点68-73关联的横向位置,存在参考深度阈值204。虽然定义了数据点68-70,即检测到返回次级光,但数据点71-73是未定义的(如图7中的空圆圈所示;在某些情况下,有可能点云数据集501简单地不包括与图7场景中数据点71-73关联的横向位置的任何数据点)。这意味着没有检测到返回的次级光。
79.在该场景中,有可能将占位符数据结构280添加到点云数据集501,所示示例中的
占位符数据结构280具有最小和最大范围。最大范围由参考深度阈值204限制和/或最小范围可以由lidar测量设备的设备特性(例如,附近的超低反射率对象的最小检测范围或光子计数)限制。
80.图8说明了处理中的点云数据集501*。如图8所示,点云数据集501仅包括数据点51-53,以及占位符数据结构280。这意味着图8所示的过程点云数据集501对fov 602进行稀疏采样(即,仅包括fov 602中已对其执行lidar测量的一些横向位置的信息),而图7中所示的非过程点云数据集501对于已进行了lidar测量并已检测到返回的次级光的fov 602内的大多数或所有横向位置进行fov 602密集采样(即,包括数据点或零返回次级光的指示)。因此,处理后的点云数据集501*的大小更小并且可以高效处理。
81.以上,已经解释了各种场景,其中基于对相应点云数据集的处理,可以通过选择性地丢弃数据点来实现点云数据集的大小减小。作为这种大小减小技术的替代或补充,还可以执行点云数据集的处理以检测lidar测量设备的故障模式。具体地,基于数据点相对于参考深度阈值的深度位置,可以判断lidar测量的功能可靠性。相应的技术如图9所示。
82.图9说明了关于点云数据集501的方面。原则上,图9中说明的点云数据集501对应于图7中说明的点云数据集501。然而,图9场景中参考深度阈值202的定义不同,如果与图7场景中的参考深度阈值202的定义相比。在图9的场景中,所有数据点54-60的深度值都大于参考深度阈值202。数据点54-60的这些深度位置基本上对应于数据点51-53,61-73的深度位置。
83.根据各种示例,响应于检测到当前点云数据集501的数据点的预定义计数的比较而得出,由这些数据点指示的深度位置基本上不等于相应的参考深度阈值(在此:参考深度阈值201-203),可以触发lidar测量设备的故障模式。
84.这可以基于以下发现:对于固定位姿lidar测量,可以预期背景基本上保持静态,并且所有数据点的很大一部分表示背景对象(即,前景对象仅很少遇到)。然后,如果所有数据点的很大一部分具有偏离参考深度阈值的深度位置——例如,超过40%的所有数据点或超过60%的所有数据点——这可表明lidar测量设备故障和/或lidar测量设备的位置变化和/或障碍物,例如lidar测量设备上的污垢等

。具体地,lidar测量设备的故障可以被准确地检测,包括lidar测量设备沿处理链的多个单元和模块,例如激光器,发射光学器件,接收光学器件,光束转向单元,接收器,飞行时间测距模拟电路等。因此,高水平的功能安全监测可以通过参考深度阈值201-204与数据点51-73指示的深度位置之间的这种比较来实现。
85.作为一般规则,这种故障模式检测可以与基于所述比较的选择性丢弃分开实施,或者甚至没有所述选择性丢弃。
86.作为一般规则,可以设想故障模式的各种实施方式:例如,可以通过通信链路108将相应的故障模式警告消息输出到服务器109。可替代地或附加地,警告信号可以通过lidar测量设备101-103本身的人机接口而输出。基于点云数据集运行的一个或多个lidar应用可能会中止或转换为安全状态。
87.因此,已经描述了关于丢弃数据点和故障模式检测的上述技术。作为一般规则,各种类型的lidar应用都可以从本文描述的技术中受益。例如,lidar应用是对象检测。关于对象检测的示例实现的细节结合图10进行了说明。
88.图10说明了与多位姿lidar应用相关的方面,其形式为基于从多个lidar测量设备
获得的多个点云数据集的对象检测。例如,结合图10所示的对象检测可以由服务器109执行,例如,通过加载来自存储器1092的程序代码而由处理电路1091执行。例如,可以在框3030执行对象检测(参见图4)。为此,服务器109可以通过通信链路108-例如,从所有lidar测量设备101-103-接收点云数据集,并执行对象检测。可以在服务器109处接收一个或多个另外的点云数据集,然后可以基于所有接收到的点云数据集来实施多视角对象检测。各个聚合点云数据集的数据点如图10所示(使用图10中的“x”)。
89.在图10的场景中,从两个lidar测量设备-例如,lidar测量设备101和lidar测量设备102-接收点云数据集,它们在场景300上具有不同的视角352,356。
90.在透视图356处获取的点云数据集包括一组数据点,这些数据点指示某个前景对象302的边缘(由图10中的实线355示出;图10的右侧)。
91.另一方面,使用透视图352获取的lidar点云数据集仅包括靠近相应lidar测量设备的几个数据点(图10左侧),并且可以检测到前景对象302的相应边缘,如由实线351表示。
92.使用视角352获取的点云数据集还包括占位符数据结构280。基于该占位符数据结构280,可以推断出前景对象302很可能在实线351和实线355之间延伸,如虚线353所示。相应的表面可以是低反射的。
93.因此,对象检测可以基于包括在点云数据集中的占位符数据结构280来确定(低反射性)前景对象302存在的可能性。前景对象302的对应对象边缘(虚线353)可以被确定在由占位符数据结构280指示的深度位置的候选范围内。更具体地,前景对象302的隐藏边缘可以基于前景对象302的可见边缘(实线351,355)进一步确定,例如,将它们相互连接或相对于可见边缘一致地排列。
94.尽管已经针对某些优选实施例示出和描述了本发明,但是本领域的其他技术人员在阅读和理解说明书后将想到等价和修改。本发明包括所有这些等价和修改,并且仅受所附权利要求的范围限制。
95.为了举例说明,已经关于基于深度位置和相应参考深度位置的比较的实施描述了各种示例。替代地或附加地,可以考虑反射率。这在下文中解释。lidar测量设备的探测器可以探测返回的次级光的信号幅度。返回的次级光的信号幅度取决于例如(i)反射对象的深度位置,(ii)反射对象的反射强度(反射率),和(iii)路径损耗。影响(i)可以用测距来测量。影响(iii)有时可以假设是固定的,或者可能取决于可以测量的环境条件,例如湿度等。然后,基于信号幅度,可以确定(ii)对象的反射率。然后可以考虑背景对象的反射率以定义相应的参考反射强度。基于测量的反射率和参考反射强度之间的比较,可以确定相应数据点是对背景对象还是对前景对象进行成像。这种反射率的比较可以与深度位置的比较相结合,使前景和背景的区分更加强健。
96.为了进一步举例说明,已经在lidar测量设备的比较的去中心化实施的上下文中描述了各种示例。这里描述的技术通常也有可能以集中方式实现。在此,所述比较是在中央服务器上进行的。
97.为了进一步举例说明,已经结合基于lidar的点云描述了各种示例。可以对其他类型的点云实施类似的技术,例如基于立体摄像头的点云,radar点云,tof点云等。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献