三维对象检测的制作方法

文档序号:31306963发布日期:2022-08-30 21:49阅读:48来源:国知局
三维对象检测的制作方法
三维对象检测


背景技术:

1.三维对象检测用于在三维场景中定位并识别场景中包含的三维对象,例如行人、车辆、物品等。目前,三维对象检测在诸如自动驾驶、机器人控制、增强现实等应用中发挥重要作用。在常规的三维对象检测方法中,通常利用不规则的、稀疏的点云来描述三维场景以及场景中的三维对象。因此,很难将基于规则网格的二维对象检测方法直接应用到三维对象检测中。基于此,需要能够针对三维场景来进行对象检测的方法。


技术实现要素:

2.根据本公开的实现,提出了一种用于三维对象检测的方案。在该方案中,从关于三维对象的点云数据中提取多个点的特征表示,每个点的特征表示包括点的位置信息和外观特征。基于多个点的特征表示,确定一组候选三维对象的初始特征表示。每个候选三维对象的初始特征表示包括候选三维对象的位置特征和外观特征。基于多个点的特征表示和一组候选三维对象的初始特征表示,通过确定一组候选三维对象之间的自相关性以及多个点和一组候选三维对象之间的互相关性,来生成三维对象的检测结果。以此方式,该方案能够在无需将点聚合到候选对象中的情况下,仅基于点云中的各个点与候选三维对象之间的相关性以及候选三维对象之间的相关性来定位和标识三维场景中的三维对象。
3.提供发明内容部分是为了简化的形式来介绍对概念的选择,其在下文的具体实施方式中将被进一步描述。发明内容部分无意标识要求保护的主题的关键特征或主要特征,也无意限制要求保护的主题的范围。
附图说明
4.图1示出了能够实施本公开的多个实现的计算设备的框图;
5.图2示出了根据本公开的实现的用于三维对象检测的系统架构图;
6.图3示出了根据本公开的实现的利用第一注意力模块生成第一组候选检测结果的过程的示意图;
7.图4示出了根据本公开的实现的从至少一组候选检测结果中确定检测结果的过程的示意图;以及
8.图5示出了根据本公开的实现的用于三维对象检测的方法的流程图;
9.这些附图中,相同或相似参考符号用于表示相同或相似元素。
具体实施方式
10.现在将参照若干示例实现来论述本公开。应当理解,论述了这些实现仅是为了使得本领域普通技术人员能够更好地理解且因此实现本公开,而不是暗示对本公开的范围的任何限制。
11.如本文所使用的,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。术语“基于”要被解读为“至少部分地基于”。术语“一个实现”和“一种实现”要被解
读为“至少一个实现”。术语“另一个实现”要被解读为“至少一个其他实现”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
12.如本文所使用的,“神经网络”能够处理输入并且提供相应输出,其通常包括输入层和输出层以及在输入层与输出层之间的一个或多个隐藏层。在深度学习应用中使用的神经网络通常包括许多隐藏层,从而延长网络的深度。神经网络的各个层按顺序相连,从而前一层的输出被提供作为后一层的输入,其中输入层接收神经网络的输入,而输出层的输出作为神经网络的最终输出。神经网络的每个层包括一个或多个节点(也称为处理节点或神经元),每个节点处理来自上一层的输入。cnn是一种类型的神经网络,包括一个或多个卷积层,用于对各自的输入执行卷积操作。cnn可以用于在各种场景中,特别适合于处理图像或视频数据。在本文中,术语“神经网络”、“网络”和“神经网络模型”可替换地使用。
13.如上所述,由于通常利用不规则的、稀疏的点云来描述三维场景以及三维对象,因此难以将基于规则网格的二维对象检测方法直接应用到三维对象检测中。基于此,一些针对三维对象检测的方法被提出。在常规的三维对象检测方法中,通常需要利用点聚合(point grouping)步骤来将点云中的特定点聚合到对应的候选对象中。然后,可以根据属于每个候选对象的点来计算相应对象的特征,从而实现在三维场景中定位和标识三维对象。然而,点聚合通常需要人工设置的规则来实现。这些人工规则虽然能够在一定程度上描述点与对象之间的关系,但是并不十分准确。因此,基于人工设置的规则的三维对象检测方法的检测效果需要进一步提升。此外,基于点聚合的三维对象检测方法不能充分地利用点云数据中包含的信息。
14.以上讨论了在常规的三维对象检测方案中存在的一些问题。根据本公开的实现,提出了一种用于三维对象检测的方案,旨在解决上述问题以及其他潜在问题中的一个或多个。在该方案中,从关于三维对象的点云数据中提取多个点的特征表示,每个点的特征表示包括点的位置信息和外观特征。基于多个点的特征表示,确定一组候选三维对象的初始特征表示。每个候选三维对象的初始特征表示包括候选三维对象的位置特征和外观特征。基于多个点的特征表示和一组候选三维对象的初始特征表示,通过确定一组候选三维对象之间的自相关性以及多个点和一组候选三维对象之间的互相关性,来生成三维对象的检测结果。以下进一步结合附图来详细描述该方案的各种示例实现。
15.图1示出了能够实施本公开的多个实现的计算设备100的框图。应当理解,图1所示出的计算设备100仅仅是示例性的,而不应当构成对本公开所描述的实现的功能和范围的任何限制。如图1所示,计算设备100包括通用计算设备形式的计算设备100。计算设备100的组件可以包括但不限于一个或多个处理器或处理单元110、存储器120、存储设备130、一个或多个通信单元140、一个或多个输入设备150以及一个或多个输出设备160。
16.在一些实现中,计算设备100可以被实现为具有计算能力的各种用户终端或服务终端。服务终端可以是各种服务提供方提供的服务器、大型计算设备等。用户终端诸如是任意类型的移动终端、固定终端或便携式终端,包括移动手机、站点、单元、设备、多媒体计算机、多媒体平板、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、个人通信系统(pcs)设备、个人导航设备、个人数字助理(pda)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者其任意组合,包括这些设备的配件和外设或者其任意组合。还可预见到的是,计算
设备100能够支持任意类型的针对用户的接口(诸如“可佩戴”电路等)。
17.处理单元110可以是实际或虚拟处理器并且能够根据存储器120中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高计算设备100的并行处理能力。处理单元110也可以被称为中央处理单元(cpu)、微处理器、控制器、微控制器。
18.计算设备100通常包括多个计算机存储介质。这样的介质可以是计算设备100可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器120可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(ram))、非易失性存储器(例如,只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、闪存)或其某种组合。存储器120可以包括三维对象检测模块122,这些程序模块被配置为执行本文所描述的各种实现的功能。三维对象检测模块122可以由处理单元110访问和运行,以实现相应功能。
19.存储设备130可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,其能够用于存储信息和/或数据并且可以在计算设备100内被访问。计算设备100可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图1中示出,可以提供用于从可拆卸、非易失性磁盘进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。
20.通信单元140实现通过通信介质与另外的计算设备进行通信。附加地,计算设备100的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,计算设备100可以使用与一个或多个其他服务器、个人计算机(pc)或者另一个一般网络节点的逻辑连接来在联网环境中进行操作。
21.输入设备150可以是一个或多个各种输入设备,例如鼠标、键盘、追踪球、语音输入设备等。输出设备160可以是一个或多个输出设备,例如显示器、扬声器、打印机等。计算设备100还可以根据需要通过通信单元140与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与计算设备100交互的设备进行通信,或者与使得计算设备100与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(i/o)接口(未示出)来执行。
22.在一些实现中,除了被集成在单个设备上之外,计算设备100的各个部件中的一些或所有部件还可以以云计算架构的形式被设置。在云计算架构中,这些部件可以被远程布置,并且可以一起工作以实现本公开所描述的功能。在一些实现中,云计算提供计算、软件、数据访问和存储服务,它们不需要终端用户知晓提供这些服务的系统或硬件的物理位置或配置。在各种实现中,云计算使用适当的协议通过广域网(诸如因特网)提供服务。例如,云计算提供商通过广域网提供应用,并且它们可以通过web浏览器或任何其他计算组件被访问。云计算架构的软件或组件以及相应的数据可以被存储在远程位置处的服务器上。云计算环境中的计算资源可以在远程数据中心位置处被合并或者它们可以被分散。云计算基础设施可以通过共享数据中心提供服务,即使它们表现为针对用户的单一访问点。因此,可以使用云计算架构从远程位置处的服务提供商提供本文所描述的组件和功能。备选地,它们也可以从常规服务器被提供,或者它们可以直接或以其他方式被安装在客户端设备上。
23.计算设备100可以根据本公开的多种实现来进行三维对象检测。如图1所示,计算
设备100可以通过输入设备150接收关于三维对象的点云数据170。输入设备150可以将点云数据170传输给三维对象检测模块122。三维对象检测模块122从关于三维对象的点云数据170中生成三维对象的检测结果190。例如,三维对象的检测结果190可以指示三维对象的位置特征(例如,位置坐标和几何尺寸)和/或其他信息(例如,颜色、形状、种类等),因此可以用于在三维场景中定位和标识三维对象。在图1所示的示例中,三维对象检测模块122从描述客厅场景的点云数据170中生成该客厅场景中的三维对象的检测结果190。例如,检测结果190中可以包括指示茶几的检测结果190-1、指示沙发的检测结果190-2(统称为检测结果190)。应注意,在此仅示出了检测结果190中的位置特征,并且该位置特征由包围三维对象的包围盒来表示。
24.图2示出了根据本公开的实现的用于三维对象检测的系统200的架构图。系统200可以被实现在图1的计算设备100中。系统200可以是端到端的神经网络模型。如图2所示,系统200可以包括点特征提取模块210、候选三维对象生成模块220、注意力模块230和选择模块240。
25.点特征提取模块210从所接收的点云数据170中提取多个点的特征表示201。点云数据170可以是在三维坐标系统中用来表示n个点的一组向量。例如,表示每个点的向量可以包括该点的三维坐标(例如,x,y,z)、颜色信息(例如,rgb色彩空间中的值)或反射强度信息。可以通过多种方法从点云数据170中采样多个点并提取这些点的对应的特征表示201。例如,可以采用pointnet++架构来从关于n个点的点云数据170中采样m个点,并提取m个点的特征表示201(n≥m)。m个点的特征表示201是用于表示m个点的一组向量,包括每个点的位置信息和外观特征。每个点的位置信息可以是该点在三维坐标系统中的三维坐标。每个点的外观特征可以基于如上所述的点的三维坐标、颜色信息和反射强度信息的特征变换而生成。每个点的外观特征还可以包括与其邻近的多个点的信息。点的外观特征可以指示包含该点在内的区域的颜色、形状和/或区域内的至少一个点所描述的对象的种类。因此,通过从点云数据170中采样多个点并提取多个点的特征表示201,可以在丢失尽量少的信息的情况下减少输入到后续模块中的数据量,从而节约计算资源。本公开的范围在用于点特征提取的方法方面不受限制。
26.候选三维对象生成模块220基于多个点的特征表示201来确定一组候选三维对象的初始特征表示202。候选三维对象生成模块220例如可以包括生成单元221以及采样单元222。生成单元221可以基于所提取的多个点的特征表示201来生成与多个点对应的多个候选三维对象的初始检测结果。在一些实现中,可以通过利用全连接层,基于m个点的特征表示201来生成与m个点对应的m个候选三维对象的初始检测结果。每个候选三维对象的初始检测结果可以指示该候选三维对象的位置特征(例如,位置坐标和几何尺寸)和/或其他信息(例如,颜色、形状、种类等)。候选三维对象的位置特征可以利用包围该候选三维对象的包围盒来表示。包围盒可以是长方体、立方体、椭圆体等。在利用长方体类型的包围盒来表示候选三维对象的位置特征时,位置特征可以是包括长方体的长(l)、宽(w)、高(h)和中心点坐标(x,y,z)的6
×
1维的向量。位置特征可以指示候选三维对象在三维场景中的定位,以及候选三维对象的几何尺寸。针对每个候选三维对象,可以基于对应点的外观特征和初始检测结果中的位置特征(例如,位置坐标和几何尺寸),来生成该候选三维对象的初始特征表示。也即,每个候选三维对象的初始特征表示可以包括该候选三维对象的外观特征和位
置特征。如上所述,由于点的外观特征可以指示包含该点在内的区域的颜色、形状和/或区域内的至少一个点所描述的对象的种类,因此候选三维对象的外观特征可以指示包括该点在内的区域(也即,候选三维对象)的颜色、形状、种类等。
27.候选三维对象生成模块220中的采样单元222可以基于多个候选三维对象的初始特征表示来确定一组候选三维对象的初始特征表示202。所确定的一组候选三维对象的初始特征表示202的数目是预先设置的,并且可以根据实际应用而被调节。可以利用多种采样方法从多个(例如m个)候选三维对象的初始特征表示中采样一组(例如k个,k≤m)候选三维对象的初始特征表示202。采样方法的示例包括最远点采样(furthest point sampling,fps)、k最近点采样(k-closest points sampling,kps)和具有非极大值抑制的kps等。在一些实现中,还可以直接利用非极大值抑制算法来从多个候选三维对象的初始特征表示中采样一组候选三维对象的初始特征表示202。在一些实现中,初始检测结果中的其他信息可以包括指示候选三维对象的种类的信息,例如,该候选三维对象被分类到某个特定种类的概率或得分。可以基于初始检测结果中指示种类的得分,从与多个点对应的多个候选三维对象中选择一组候选三维对象。例如,可以将具有较高得分的候选三维对象包括在一组候选三维对象中,从而确定一组候选三维对象的初始特征表示202。在一些实现中,通过采样,置信度较高的对象检测结果被保留,并且十分相似的多个对象检测结果(例如,相互重叠的包围盒)中仅有一个对象检测结果被保留。以此方式,可以减少输入到后续模块中的数据量,从而节约计算资源。
28.注意力模块230可以基于一组候选三维对象的初始特征表示202和多个点的特征表示201来确定一组候选三维对象之间的自相关性以及多个点与一组候选三维对象之间的互相关性,从而生成三维对象的检测结果190。如上所述,检测结果190可以指示所检测到的三维对象的位置特征(例如,位置坐标和几何尺寸)和/或其他信息(例如,颜色、形状和种类等)。三维对象的位置特征可以利用包围三维对象的包围盒来表示。包围盒可以是长方体、立方体、椭圆体等。在利用长方体类型的包围盒来表示位置特征时,位置特征可以是包括长方体的长(l)、宽(w)、高(h)和中心点坐标(x,y,z)的6
×
1维的向量。在一些实现中,检测结果190还可以包括指示三维对象的种类的信息,例如,该三维对象被分类到某个特定种类的概率或得分。
29.由于考虑了一组候选三维对象之间的相关性以及多个点与候选三维对象之间的相关性,由检测结果190所指示的三维对象可以更接近实际的三维对象。因此,根据本公开的实现的三维对象检测方法利用注意力模块230可以实现较高的检测准确性,而无需使用常规对象检测方法中常用的点聚合操作。
30.在一些实现中,注意力模块230可以包括堆叠的多个注意力模块230-1、230-2
……
230-n(统称为或单独称为注意力模块230,其中n≥1)。例如,可以利用注意力模块230-1(以下也称为“第一注意力模块”)来生成第一组候选检测结果203-1,利用注意力模块230-2(以下也称为“第二注意力模块”)来生成第二组候选检测结果203-2
……
利用注意力模块230-n来生成第n组候选检测结果203-n。关于利用注意力模块230来生成至少一组候选检测结果203的细节将在下文参考图3和图4来描述。
31.选择模块240可以从所生成的至少一组候选检测结果203中选择检测结果190。在图1所示的示例中,检测结果190包括指示茶几的检测结果190-1和指示沙发的检测结果
190-2。可以利用多种方法从至少一组候选检测结果203中选择检测结果190。多种方法的示例包括如上所述的非极大值抑制算法。备选地或附加地,可以根据候选检测结果中用于指示对象种类的得分的高低来确定检测结果190。所选择的检测结果190的数目也可以根据实际应用来调整。应当理解,仅出于示例性的目的描述系统200的结构和功能而不是暗示对于本文所描述主题的范围的任何限制。本文所描述主题可以被体现在不同的结构和/或功能中。
32.图3示出了根据本公开的实现的利用注意力模块230中的第一注意力模块230-1生成第一组候选检测结果203-1的示意图。如图所示,第一注意力模块230-1可以包括自注意力模块310和互注意力模块320。
33.在一些实现中,为了生成第一组候选检测结果203-1,第一注意力模块230-1可以接收一组候选三维对象的初始特征表示202。如上所述,一组候选三维对象的初始特征表示202可以包括候选三维对象的位置特征和外观特征。在一些实现中,可以对候选三维对象的位置特征进行特征变换,然后将经变换的位置特征与候选三维对象的外观特征进行融合,从而生成候选三维对象的组合特征表示。例如,可以将候选三维对象的位置特征编码为与外观特征相同维度的向量,然后将位置特征和外观特征进行向量相加,从而生成候选三维对象的组合特征表示。
34.在一些实现中,第一注意力模块230-1中的自注意力模块310可以基于一组候选三维对象的初始特征表示202,确定一组候选三维对象之间的自相关性。例如,可以基于自注意力算法来计算一组候选三维对象的自注意力向量,用来表示一组候选三维对象之间的自相关性。在一些实现中,可以分别将查询矩阵(q)、键矩阵(k)和值矩阵(v)与候选三维对象的特征表示o相乘,从而将候选三维对象的特征表示o分别映射到查询向量、键向量、值向量。然后,可以确定一组候选三维对象中的每个候选三维对象的查询向量与所有候选三维对象的键向量之间的相似度,并且基于相似度来确定所有候选三维对象针对给定候选三维对象的自注意力权重。最后,可以将所有候选三维对象的自注意力权重与其对应的值向量相乘并求和,得到给定候选三维对象的自注意力向量。以此方式,可以得到一组候选三维对象中的每个候选三维对象的自注意力向量,该自注意力向量用来衡量该候选三维对象与一组候选三维对象之间的相关性。此外,应理解,可以使用多头注意力算法来计算自注意力向量。在多头注意力算法中,每头使用对应的查询矩阵(q)、键矩阵(k)和值矩阵(v),并且产生对应的自注意力向量。对每头产生的自注意力向量加权求和可以得到最终的自注意力向量。具体地,可以参考公式(1)计算候选三维对象j的自注意力向量self-att。
[0035][0036]
其中l表示用来计算自注意力向量的注意力模块的索引l,j表示数目为k的一组候选三维对象中的候选三维对象的索引,h表示多头(数目为h)注意力算法中的头的索引,表示候选三维对象j的特征表示,{o
(l)
}表示一组候选三维对象的特征表示,}表示一组候选三维对象的特征表示,表示在第l个注意力模块的第h头自注意力计算
中候选三维对象j和候选三维对象k之间的自注意力权重,表示第k个候选三维对象的值向量,和分别是多头加权矩阵、查询矩阵、键矩阵和值矩阵。这些矩阵可以通过神经网络的训练过程而获得。
[0037]
在一些实现中,在上述公式(1)中,一组候选三维对象的特征表示{o
(l)
}可以是一组候选三维对象的初始特征表示202中的外观特征。备选地,一组候选三维对象的特征表示{o
(l)
}可以是一组候选三维对象的组合特征表示。如上所述,组合特征表示可以通过将候选三维对象的位置特征重新编码并与外观特征向量相加而生成。
[0038]
在一些实现中,自注意力模块310可以基于所确定的自相关性,将一组候选三维对象的初始特征表示202更新为一组候选三维对象的第一组中间特征表示350。例如,可以将计算得到的自注意力向量self-att添加到一组候选三维对象的初始特征表示202中的外观特征,从而生成一组候选三维对象的第一组中间特征表示350。附加地,还可以将基于初始特征表示202生成的组合特征表示添加到第一组中间特征表示来进行更新。
[0039]
在一些实现中,第一注意力模块230-1中的互注意力模块320可以接收第一组中间特征表示350和多个点的特征表示201。如上所述,多个点的特征表示201可以包括点的位置信息和点的外观特征。类似地,可以对点的位置信息进行特征变换,然后将经变换的位置特征与点的外观特征进行融合。例如,可以将点的位置信息编码为与外观特征相同维度的向量,然后将位置特征和外观特征的向量相加,生成点的组合特征表示。
[0040]
在一些实现中,互注意力模块320可以基于第一组中间特征表示350和多个点的特征表示201,来确定一组候选三维对象与多个点之间的互相关性。类似地,可以基于互注意力算法来计算一组候选三维对象中的每个候选三维对象针对多个点的互注意力向量,并且利用互注意力向量来表示一组候选三维对象与多个点之间的互相关性。在一些实现中,可以将查询矩阵(q)与候选三维对象的特征表示o相乘,从而将候选三维对象的特征表示o映射到查询向量。通过将键矩阵(k)和值矩阵(v)分别与点的特征表示z相乘,可以将点的特征表示z分别映射到键向量、值向量。然后,可以确定一组候选三维对象中的给定候选三维对象的查询向量与每个点的键向量之间的相似度,并且基于相似度来确定每个点针对给定候选三维对象的互注意力权重。最后,可以将每个点的互注意力权重与其对应的值向量相乘并求和,得到给定候选三维对象针对多个点的互注意力向量。以此方式,可以得到一组候选三维对象中的每个候选三维对象的互注意力向量,该互注意力向量用来衡量该候选三维对象与多个点之间的相关性。同样地,可以使用多头注意力算法来计算互注意力向量。具体地,可以参考公式(2)计算候选三维对象j的互注意力向量cross-att。
[0041][0042]
其中m表示数目为m的多个点中的点的索引,{z
(l)
}表示m个点的特征表示,表示在第l个注意力模块的第h头自注意力计算中候选三维对象j和点i之间的互注意力权重,表示点i的值向量。
[0043]
在一些实现中,在上述公式(2)中,点的特征表示{z
(l)
}可以是点的特征表示201中
的外观特征。备选地,点的特征表示{z
(l)
}可以是如上所述的点的组合特征表示。如上所述,组合特征表示可以通过将点的位置信息重新编码并与外观特征向量相加而生成。
[0044]
在一些实现中,互注意力模块320可以基于所确定的互相关性,将第一组中间特征表示350更新为一组候选三维对象的第一组候选特征表示360-1。例如,可以将计算得到的互注意力向量添加到一组候选三维对象的第一组中间特征表示350,从而生成一组候选三维对象的第一组候选特征表示360-1。附加地,可以将基于一组候选三维对象的初始特征表示202生成的组合特征表示添加到第一组候选特征表示360-1来进行更新。附加地,可以对第一组候选特征表示360-1进行归一化。与初始特征表示202类似,第一组候选特征表示360-1包括一组候选三维对象的位置特征和外观特征。位置特征可以利用包围三维对象的包围盒来表示,并且外观特征可以指示候选三维对象的颜色、形状、种类等。
[0045]
在一些实现中,第一注意力模块230-1可以基于第一组候选特征表示360-1生成第一组候选检测结果203-1。例如,可以将第一组候选特征表示360-1输入多个全连接层330进行特征变换,从而得到第一组候选检测结果203-1。附加地,在将第一组候选特征表示360-1输入多个全连接层330之前,可以将第一组候选特征表示360-1输入另外多个全连接层进行特征变换以生成经变换的第一组候选特征表示,并向其添加基于一组候选三维对象的初始特征表示202生成的组合特征表示来进行更新(在图3中未示出)。由于考虑了一组候选三维对象之间的自相关性以及一组候选三维对象与多个点之间的互相关性,相比一组候选三维对象的初始检测结果,第一组候选检测结果203-1所指示的一组候选三维对象可以更接近实际的三维对象。利用注意力算法,可以在无需人工规则的情况下将具有较强的相关性的点标识为属于同一对象。因此,根据本公开的实现的三维对象检测方法可以实现三维对象检测而无需点聚合操作。
[0046]
以上参考图3描述了利用注意力模块230中的第一注意力模块230-1生成第一组候选检测结果203-1的过程。基于上述讨论,下文将参考图4详细描述利用多个堆叠的注意力模块230来生成至少一组候选检测结果203并从中确定检测结果190的过程。如图4所示,第一注意力模块230-1可以接收多个点的特征表示201和一组候选三维对象的初始特征表示202。如上文参考图3所描述的,第一注意力模块230-1可以基于多个点的特征表示201和一组候选三维对象的初始特征表示202来生成第一组候选特征表示360-1。第一组候选特征表示360-1可以被提供给第二注意力模块230-2。
[0047]
在一些实现中,第二注意力模块230-2中的自注意力模块(在此未示出)可以利用参考图3所描述的方法,基于第一组候选特征表示360-1来确定一组候选三维对象之间的自相关性。类似地,基于所确定的自相关性,第二注意力模块230-2中的自注意力模块可以将第一组候选特征表示360-1更新为一组候选三维对象的第二组中间特征表示。然后,第二注意力模块230-2中的互注意力模块可以基于第二组中间特征表示和多个点的特征表示201,确定一组候选三维对象与多个点之间的互相关性。基于所确定的互相关性,第二注意力模块230-2中的互注意力模块可以将第二组中间特征表示更新为一组候选三维对象的第二组候选特征表示360-2。第二注意力模块230-2可以基于第二组候选特征表示360-2,生成第二组候选检测结果203-2。
[0048]
由于生成第二组候选检测结果203-2的过程与生成第一组候选检测结果203-1的过程类似,因此过程中的细节在此不再赘述。与生成第一组候选检测结果203-1的过程相
比,在生成第二组候选检测结果203-2时,第二注意力模块接收第一组候选特征表示360-1作为输入,而不是一组候选三维对象的初始特征表示202。由于第一组候选特征表示360-1是基于初始特征表示202以及一组候选三维对象和多个点之间的相关性而生成的,因此,将第一组候选特征表示360-1输入第二注意力模块230-2可以生成具有更多的相关性信息的第二组候选特征表示360-2。
[0049]
因此,当注意力模块230中存在n个注意力模块时,每个注意力模块可以生成与其对应的一组候选检测结果。与第一注意力模块230-1接收一组候选三维对象的初始特征表示202作为输入不同,后续的每个注意力模块都接收前一个注意力模块所生成的一组候选特征表示作为输入。以此方式,可以累积一组候选三维对象与多个点之间的相关性(包括自相关性和互相关性),以便提高所生成的一组候选特征表示所指示的三维对象的准确性。
[0050]
应注意的是,尽管通常认为后续的注意力模块可以生成更准确的一组候选检测结果,在本公开的实现中,由每个注意力模块生成的一组候选检测结果均可以被输入到选择模块240中以用于确定检测结果190。在一些实现中,可以对由至少一个注意力模块230生成的至少一组候选检测结果203进行并集操作,并且从并集中选择检测结果190。在一些实现中,也可以从部分注意力模块生成的候选检测结果中选择检测结果190。在一些实现中,可以采用多种方法来选择检测结果190。例如,可以利用非极大值抑制算法来从至少一组候选检测结果203选择检测结果190。在另一些实现中,可以根据候选检测结果中指示三维对象的种类的得分来确定检测结果190。
[0051]
以上参考附图1-4详细描述了根据本公开的实现的用于三维对象检测的方法的工作原理。下文将描述在该方法中使用的端到端的神经网络模型的训练过程。
[0052]
在一些实现中,采用监督式学习的方式利用经人工标注的三维场景的训练数据集来训练神经网络。训练数据集可以包括人工标注的对象种类、包围盒中心位置、包围盒几何尺寸。训练神经网络的核心思想在于使神经网络所检测的三维对象与实际的三维对象之间的相似度最高,也即,使神经网络所检测的对象种类、包围盒中心位置和包围盒几何尺寸与人工标注的对应项之间的差异最小。可以基于损失函数来描述所检测的三维对象与实际的三维对象之间的差异。通过调节神经网络的架构和参数使损失函数最小化,能够获取经优化的网络架构和参数。通过使用经优化的网络架构和参数来应用神经网络进行三维对象检测,可以获得具有较高准确度的三维对象检测结果。具体地,针对根据本公开的实现的用于三维对象检测的端到端的神经网络模型,损失函数可以被表示为:
[0053]
其中表示总体的损失函数,表示针对注意力模块230的损失函数,并且表示针对候选三维对象生成模块220的损失函数。
[0054]
如上所述,注意力模块230可以是多个注意力模块的堆叠。因此,如公式(4)所示,可以是针对每个注意力模块的损失函数的平均。
[0055]
[0056]
针对每个注意力模块的损失函数可以利用公式(5)计算。
[0057][0058]
其中,表示针对对象种类的损失函数,表示针对包围盒分类的损失函数,表示针对包围盒中心偏移的损失函数,针对粗粒度的包围盒大小的损失函数,表示针对细粒度的包围盒大小的损失函数,并且β1至β5表示对应的系数。在示例性的实现中,β的值可以分别默认为0.5、0.1、1.0、0.1和0.3。
[0059]
类似地,针对候选三维对象生成模块220的损失函数也可以利用公式(5)计算。如上所述,在候选三维对象生成模块220中确定的一组候选三维对象的初始检测结果可以包括以包围盒形式的位置特征和指示候选三维对象的种类的信息。因此,针对候选三维对象生成模块220的损失函数也可以是和的加权求和。备选地,在候选三维对象生成模块220中,也可以仅确定对象的位置特征。在这种实现中,针对候选三维对象生成模块220的损失函数可以仅是和的加权求和。
[0060]
图5示出了根据本公开一些实现的用于三维对象检测的方法500的流程图。方法500可以由计算设备100来实现,例如可以被实现在计算设备100的存储器120中的三维对象检测模块122处。
[0061]
如图5所示,在框510处,计算设备100从关于三维对象的点云数据中提取多个点的特征表示,每个点的特征表示包括所述点的位置信息和外观特征。在框520处,计算设备100基于多个点的特征表示,确定一组候选三维对象的初始特征表示,每个候选三维对象的初始特征表示包括该候选三维对象的位置特征和外观特征。在框530处,计算设备100基于多个点的特征表示和一组候选三维对象的初始特征表示,通过确定一组候选三维对象之间的自相关性以及多个点和一组候选三维对象之间的互相关性,来生成三维对象的检测结果。
[0062]
在一些实现中,生成三维对象的检测结果包括:利用至少一个注意力模块,生成一组候选三维对象的至少一组候选检测结果;以及从至少一组候选检测结果中确定三维对象的检测结果。
[0063]
在一些实现中,至少一个注意力模块包括第一注意力模块,并且利用至少一个注意力模块生成至少一组候选检测结果包括:基于多个点的特征表示和一组候选三维对象的初始特征表示,利用第一注意力模块来生成至少一组候选检测结果中的第一组候选检测结果。
[0064]
在一些实现中,生成第一组候选检测结果包括:基于多个点的特征表示和一组候选三维对象的初始特征表示,利用第一注意力模块中的自注意力模块,确定一组候选三维对象之间的自相关性;基于所确定的自相关性,将一组候选三维对象的初始特征表示更新为一组候选三维对象的第一组中间特征表示;基于第一组中间特征表示和多个点的特征表示,利用第一注意力模块中的互注意力模块,确定一组候选三维对象与多个点之间的互相关性;基于所确定的互相关性,将第一组中间特征表示更新为一组候选三维对象的第一组候选特征表示;以及基于第一组候选特征表示,生成第一组候选检测结果。
[0065]
在一些实现中,至少一个注意力模块还包括第二注意力模块,并且利用至少一个注意力模块生成至少一组候选检测结果还包括:基于多个点的特征表示和第一组候选特征表示,利用第二注意力模块来生成至少一组候选检测结果中的第二组候选检测结果。
[0066]
在一些实现中,生成第二组候选检测结果包括:基于多个点的特征表示和第一组候选特征表示,利用第二注意力模块中的自注意力模块,确定一组候选三维对象之间的自相关性;基于所确定的自相关性,将第一组候选特征表示更新为一组候选三维对象的第二组中间特征表示;基于第二组中间特征表示和多个点的特征表示,利用第二注意力模块中的互注意力模块,确定一组候选三维对象与多个点之间的互相关性;基于所确定的互相关性,将第二组中间特征表示更新为一组候选三维对象的第二组候选特征表示;以及基于第二组候选特征表示,生成第二组候选检测结果。
[0067]
在一些实现中,确定一组候选三维对象的初始特征表示包括:基于多个点的特征表示,生成与多个点对应的多个候选三维对象的初始特征表示;以及从多个候选三维对象的初始特征表示中选择一组候选三维对象的初始特征表示。
[0068]
在一些实现中,检测结果指示三维对象的位置坐标、几何尺寸、颜色、形状和种类中的至少一项。
[0069]
基于以上描述能够看出,根据本公开的实现的三维对象检测方案能够在无需将点聚合到候选对象中的情况下,仅基于点云中的各个点与候选三维对象之间的相关性以及候选三维对象之间的相关性来确定三维对象最终特征表示,从而定位和标识三维场景中的三维对象。
[0070]
以下列出了本公开的一些示例实现方式。
[0071]
在一方面,本公开提供了一种计算机实现的方法。所述方法包括:从关于三维对象的点云数据中提取多个点的特征表示,每个点的特征表示包括所述点的位置信息和外观特征;基于所述多个点的特征表示,确定一组候选三维对象的初始特征表示,每个候选三维对象的初始特征表示包括所述候选三维对象的位置特征和外观特征;以及基于所述多个点的特征表示和所述一组候选三维对象的初始特征表示,通过确定所述一组候选三维对象之间的自相关性以及所述多个点和所述一组候选三维对象之间的互相关性,来生成所述三维对象的检测结果。
[0072]
在一些实现中,生成三维对象的检测结果包括:利用至少一个注意力模块,生成一组候选三维对象的至少一组候选检测结果;以及从至少一组候选检测结果中确定三维对象的检测结果。
[0073]
在一些实现中,至少一个注意力模块包括第一注意力模块,并且利用至少一个注意力模块生成至少一组候选检测结果包括:基于多个点的特征表示和一组候选三维对象的初始特征表示,利用第一注意力模块来生成至少一组候选检测结果中的第一组候选检测结果。
[0074]
在一些实现中,生成第一组候选检测结果包括:基于多个点的特征表示和一组候选三维对象的初始特征表示,利用第一注意力模块中的自注意力模块,确定一组候选三维对象之间的自相关性;基于所确定的自相关性,将一组候选三维对象的初始特征表示更新为一组候选三维对象的第一组中间特征表示;基于第一组中间特征表示和多个点的特征表示,利用第一注意力模块中的互注意力模块,确定一组候选三维对象与多个点之间的互相
关性;基于所确定的互相关性,将第一组中间特征表示更新为一组候选三维对象的第一组候选特征表示;以及基于第一组候选特征表示,生成第一组候选检测结果。
[0075]
在一些实现中,至少一个注意力模块还包括第二注意力模块,并且利用至少一个注意力模块生成至少一组候选检测结果还包括:基于多个点的特征表示和第一组候选特征表示,利用第二注意力模块来生成至少一组候选检测结果中的第二组候选检测结果。
[0076]
在一些实现中,生成第二组候选检测结果包括:基于多个点的特征表示和第一组候选特征表示,利用第二注意力模块中的自注意力模块,确定一组候选三维对象之间的自相关性;基于所确定的自相关性,将第一组候选特征表示更新为一组候选三维对象的第二组中间特征表示;基于第二组中间特征表示和多个点的特征表示,利用第二注意力模块中的互注意力模块,确定一组候选三维对象与多个点之间的互相关性;基于所确定的互相关性,将第二组中间特征表示更新为一组候选三维对象的第二组候选特征表示;以及基于第二组候选特征表示,生成第二组候选检测结果。
[0077]
在一些实现中,确定一组候选三维对象的初始特征表示包括:基于多个点的特征表示,生成与多个点对应的多个候选三维对象的初始特征表示;以及从多个候选三维对象的初始特征表示中选择一组候选三维对象的初始特征表示。
[0078]
在一些实现中,检测结果指示三维对象的位置坐标、几何尺寸、颜色、形状和种类中的至少一项。
[0079]
在另一方面,本公开提供了一种电子设备。所述电子设备包括:处理单元;以及存储器,耦合至所述处理单元并且包含存储于其上的指令,所述指令在由所述处理单元执行时,使得所述设备执行动作,所述动作包括:从关于三维对象的点云数据中提取多个点的特征表示,每个点的特征表示包括所述点的位置信息和外观特征;基于所述多个点的特征表示,确定一组候选三维对象的初始特征表示,每个候选三维对象的初始特征表示包括所述候选三维对象的位置特征和外观特征;以及基于所述多个点的特征表示和所述一组候选三维对象的初始特征表示,通过确定所述一组候选三维对象之间的自相关性以及所述多个点和所述一组候选三维对象之间的互相关性,来生成所述三维对象的检测结果。
[0080]
在一些实现中,生成三维对象的检测结果包括:利用至少一个注意力模块,生成一组候选三维对象的至少一组候选检测结果;以及从至少一组候选检测结果中确定三维对象的检测结果。
[0081]
在一些实现中,至少一个注意力模块包括第一注意力模块,并且利用至少一个注意力模块生成至少一组候选检测结果包括:基于多个点的特征表示和一组候选三维对象的初始特征表示,利用第一注意力模块来生成至少一组候选检测结果中的第一组候选检测结果。
[0082]
在一些实现中,生成第一组候选检测结果包括:基于多个点的特征表示和一组候选三维对象的初始特征表示,利用第一注意力模块中的自注意力模块,确定一组候选三维对象之间的自相关性;基于所确定的自相关性,将一组候选三维对象的初始特征表示更新为一组候选三维对象的第一组中间特征表示;基于第一组中间特征表示和多个点的特征表示,利用第一注意力模块中的互注意力模块,确定一组候选三维对象与多个点之间的互相关性;基于所确定的互相关性,将第一组中间特征表示更新为一组候选三维对象的第一组候选特征表示;以及基于第一组候选特征表示,生成第一组候选检测结果。
[0083]
在一些实现中,至少一个注意力模块还包括第二注意力模块,并且利用至少一个注意力模块生成至少一组候选检测结果还包括:基于多个点的特征表示和第一组候选特征表示,利用第二注意力模块来生成至少一组候选检测结果中的第二组候选检测结果。
[0084]
在一些实现中,生成第二组候选检测结果包括:基于多个点的特征表示和第一组候选特征表示,利用第二注意力模块中的自注意力模块,确定一组候选三维对象之间的自相关性;基于所确定的自相关性,将第一组候选特征表示更新为一组候选三维对象的第二组中间特征表示;基于第二组中间特征表示和多个点的特征表示,利用第二注意力模块中的互注意力模块,确定一组候选三维对象与多个点之间的互相关性;基于所确定的互相关性,将第二组中间特征表示更新为一组候选三维对象的第二组候选特征表示;以及基于第二组候选特征表示,生成第二组候选检测结果。
[0085]
在一些实现中,确定一组候选三维对象的初始特征表示包括:基于多个点的特征表示,生成与多个点对应的多个候选三维对象的初始特征表示;以及从多个候选三维对象的初始特征表示中选择一组候选三维对象的初始特征表示。
[0086]
在一些实现中,检测结果指示三维对象的位置坐标、几何尺寸、颜色、形状和种类中的至少一项。
[0087]
在又一方面,本公开提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机存储介质中并且包括机器可执行指令,机器可执行指令在由设备执行时使设备执行上述方面的方法。
[0088]
在又一方面,本公开提供了一种计算机程序产品,计算机程序产品包括机器可执行指令,机器可执行指令在由设备执行时使设备执行上述方面的方法。
[0089]
在又一方面,本公开提供了一种计算机可读介质,其上存储有机器可执行指令,机器可执行指令在由设备执行时使设备执行上述方面的方法。
[0090]
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)等等。
[0091]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0092]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0093]
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实现的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
[0094]
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1