本技术实施例涉及计算机,尤其涉及一种目标检测方法及装置。
背景技术:
1、3d目标检测(object detection)指通过雷达、摄像头等传感感器采集目标场景(如汽车行驶的道路、机器人活动的场地等)的点云,并基于点云识别该目标场景中物体的类型和位置。其中,点云是所检测目标场景坐标系下多个点的数据集,可以表达物体在该目标场景中的空间轮廓和具体位置。
2、相关技术中,通常将点云转换为规则网格也就是体素集合,并输入用于对2d图像进行目标检测的目标识别模型(如transformer模型),得到物体识别结果。其中,体素为量化的、大小固定的点云单元,体素集合相当于包含目标场景中三维坐标的像素的集合。体素集合可以作为目标识别模型的输入“tokens”。点云具有稀疏特性:如果将体素看作稀疏矩阵中的元素,那么与稀疏矩阵类似的,点云中存在大量空体素,点云中不同区域对应的非空体素数量通常存在很大差异,也就是存在多个维度不同的体素集合。
3、但是,目标识别模型进行特征提取的输入数据需具有相同的维度。因此,在3d目标检测中,维度不同的多个体素集合无法并行地进行特征提取,而是需针对不同维度的体素集合分多次分别进行特征提取,导致目标检测效率下降的问题。
技术实现思路
1、为了解决上述技术问题,本技术提供一种目标检测方法及装置。该目标检测方法中,每个窗口包含大小固定且数量与点云中的体素稀疏程度对应的体素子集,从而保证在点云具有稀疏特性的情况下,对每个窗口所指示点云区域的特征提取中体素子集也就是输入数据具有相同维度,从而可以对各体素子集并行进行特征提取,提高目标检测效率。
2、第一方面,本技术实施例提供一种目标检测方法,该方法包括:获取目标场景的点云;对点云进行体素化处理,得到体素集合;通过第一尺寸的多个窗口,将点云划分为与多个窗口一一对应的多个窗口区域;根据体素集合中体素在多个窗口区域中每个窗口区域中的分布位置,分别确定每个窗口区域对应的第二尺寸的体素子集的数量;分别根据每个窗口区域对应的体素子集的数量,从体素集合中确定窗口区域对应的体素子集;并行地对多个窗口区域分别对应的体素子集进行至少一次特征提取以得到点云的特征数据,并基于特征数据对目标场景进行目标检测。
3、本技术实施例中,对点云进行动态窗口划分:每个窗口包含大小固定且数量与点云中的体素稀疏程度对应的体素子集。也就是说,每个窗口对应的体素子集的数量不固定、且体素越稀疏的区域体素子集数量越少,以兼顾点云的稀疏性和体素子集的维度统一性。这样,可以保证在点云具有稀疏特性的情况下,对每个窗口所对应点云区域的特征提取中体素子集也就是输入数据具有相同维度,从而可以对全部体素子集并行地进行特征提取,提高目标检测效率。
4、根据第一方面,根据体素集合中体素在多个窗口区域中每个窗口区域中的分布位置,分别确定每个窗口区域对应的第二尺寸的体素子集的数量,包括:根据体素集合中体素在多个窗口区域中每个窗口区域中的分布位置,确定每个窗口区域对应的体素分布区域;分别根据每个窗口区域对应的体素分布区域、以及第二尺寸,按照体素子集覆盖窗口区域对应的体素分布区域的规则,确定窗口区域对应的体素子集的数量。
5、本技术实施例中,按照体素子集覆盖窗口区域对应的体素分布区域的规则,确定窗口区域对应的体素子集的数量,可以保证体素子集的数量与体素的分布情况匹配,避免体素子集划分不合理的问题。
6、根据第一方面,或者以上第一方面的任意一种实现方式,分别根据每个窗口区域对应的体素子集的数量,从体素集合中确定窗口区域包含的体素子集,包括:在并行地对多个窗口区域分别对应的体素子集进行多次特征提取的情况下,针对多个窗口区域对应的多次特征提取中的每次特征提取,确定特征提取中多个窗口区域分别对应的体素子集;在每次特征提取中多个窗口区域分别对应的体素子集的确定过程中,按照与上一次确定过程中不同的排序顺序对体素集合中的体素进行排序,得到本次排序结果,并依次选择本次排序结果中体素子集的数量个体素,得到特征提取中多个窗口区域分别对应的体素子集。
7、本技术实施例中,在多次特征提取中基于不同的体素排序顺序进行相邻两次特征提取分别对应的体素子集的确定,从而实现体素子集的旋转融合(如图3中,x-排序切分中窗口区域x1的体素token x-set#1的位置,与y-排序切分中窗口区域y1的体素token y-set#1的位置不同)以从不同的方向获得更丰富的信息以保证局部注意力机制,从而提高后续目标检测的准确度。这样,将特征提取例如注意力机制与窗口解耦,既保证局部注意力机制,又保证高效的并行操作,兼顾准确性和效率。
8、根据第一方面,或者以上第一方面的任意一种实现方式,并行地对多个窗口区域分别对应的体素子集进行至少一次特征提取以得到点云的特征数据,包括:并行地对多个窗口区域中的每个窗口区域,至少提取一次窗口区域对应的体素子集的第一特征;对每次提取的第一特征进行池化处理,得到窗口区域对应的第二特征;其中,第二特征与第一特征的维度相同;通过注意力机制处理窗口区域对应的第二特征,得到窗口区域对应的特征数据;在获得多个窗口区域分别对应的特征数据的情况下,得到点云的特征数据。
9、本技术实施例中,基于注意力机制的三维池化算子也即通过注意力机制处理通过池化得到的第二特征,可以通过注意力机制丰富池化后特征数据包含的信息,从而提高对稀疏的体素进行下采样的有效性,更好地编码几何信息。
10、根据第一方面,或者以上第一方面的任意一种实现方式,并行地对多个窗口区域中的每个窗口区域,至少提取一次窗口区域对应的体素子集的第一特征,包括:并行地对多个窗口区域中的每个窗口区域,多次提取窗口区域对应的体素子集的第一特征;在窗口区域对应的第一特征的多次提取中,基于上一次提取的第一特征,进行本次第一特征的提取。
11、本技术实施例中,针对每个窗口区域进行多次特征提取,并且,在窗口区域对应的第一特征的多次提取中,基于上一次提取的第一特征,进行本次第一特征的提取。这样,可以通过基于上一次提取的第一特征进行的本次特征提取,进一步提高特征提取的准确度。
12、第二方面,本技术实施例提供一种目标检测装置,该装置包括:体素化模块,用于获取目标场景的点云;对点云进行体素化处理,得到体素集合;体素子集确定模块,用于通过第一尺寸的多个窗口,将点云划分为与多个窗口一一对应的多个窗口区域;根据体素集合中体素在多个窗口区域中每个窗口区域中的分布位置,分别确定每个窗口区域对应的第二尺寸的体素子集的数量;分别根据每个窗口区域对应的体素子集的数量,从体素集合中确定窗口区域对应的体素子集;特征处理模块,用于并行地对多个窗口区域分别对应的体素子集进行至少一次特征提取以得到点云的特征数据,并基于特征数据对目标场景进行目标检测。
13、根据第二方面,体素子集确定模块,具体用于:根据体素集合中体素在多个窗口区域中每个窗口区域中的分布位置,确定每个窗口区域对应的体素分布区域;分别根据每个窗口区域对应的体素分布区域、以及第二尺寸,按照体素子集覆盖窗口区域对应的体素分布区域的规则,确定窗口区域对应的体素子集的数量。
14、根据第二方面,或者以上第二方面的任意一种实现方式,体素子集确定模块,具体用于:在并行地对多个窗口区域分别对应的体素子集进行多次特征提取的情况下,针对多个窗口区域对应的多次特征提取中的每次特征提取,确定特征提取中多个窗口区域分别对应的体素子集;在每次特征提取中多个窗口区域分别对应的体素子集的确定过程中,按照与上一次确定过程中不同的排序顺序对体素集合的体素进行排序,得到本次排序结果,并依次选择本次排序结果中体素子集的数量个体素,得到窗口区域的体素子集。
15、根据第二方面,或者以上第二方面的任意一种实现方式,特征处理模块,具体用于:并行地对多个窗口区域中的每个窗口区域,至少提取一次窗口区域对应的体素子集的第一特征;对每次提取的第一特征进行池化处理,得到窗口区域对应的第二特征;其中,第二特征与第一特征的维度相同;通过注意力机制处理窗口区域对应的第二特征,得到窗口区域对应的特征数据;在获得多个窗口区域分别对应的特征数据的情况下,得到点云的特征数据。
16、根据第二方面,或者以上第二方面的任意一种实现方式,特征处理模块,具体用于:并行地对多个窗口区域中的每个窗口区域,多次提取窗口区域对应的体素子集的第一特征;在窗口区域对应的第一特征的多次提取中,基于上一次提取的第一特征,进行本次第一特征的提取。
17、第二方面以及第二方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第二方面以及第二方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
18、第三方面,本技术实施例提供了一种电子设备,包括:处理器和收发器;存储器,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面以及第一方面的任意一种实现方式中任一项的方法。
19、第四方面,本技术实施例提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
20、第五方面,本技术实施例提供了一种计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
21、第六方面,本技术实施例提供了一种芯片,该芯片包括处理电路、收发管脚。其中,该收发管脚、和该处理电路通过内部连接通路互相通信,该处理电路执行第一方面或第一方面的任一种可能的实现方式中的方法,以控制接收管脚接收信号,以控制发送管脚发送信号。
1.一种目标检测方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述体素集合中体素在所述多个窗口区域中每个窗口区域中的分布位置,分别确定所述每个窗口区域对应的第二尺寸的体素子集的数量,包括:
3.根据权利要求1或2所述的方法,其特征在于,所述分别根据每个窗口区域对应的体素子集的数量,从所述体素集合中确定所述窗口区域包含的体素子集,包括:
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述并行地对所述多个窗口区域分别对应的体素子集进行至少一次特征提取以得到所述点云的特征数据,包括:
5.根据权利要求4所述的方法,其特征在于,所述并行地对所述多个窗口区域中的每个窗口区域,至少提取一次所述窗口区域对应的体素子集的第一特征,包括:
6.一种目标检测装置,其特征在于,所述装置包括:
7.根据权利要求6所述的装置,其特征在于,所述体素子集确定模块,具体用于:
8.根据权利要求6或7所述的装置,其特征在于,所述体素子集确定模块,具体用于:
9.根据权利要求6至8中任一项所述的装置,其特征在于,所述特征处理模块,具体用于:
10.根据权利要求9所述的装置,其特征在于,所述特征处理模块,具体用于:
11.一种电子设备,其特征在于,包括:
12.一种计算机可读存储介质,其特征在于,包括计算机程序,其特征在于,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1至5中任意一项所述的方法。
13.一种芯片,其特征在于,包括一个或多个接口电路和一个或多个处理器;所述接口电路用于从电子设备的存储器接收信号,并向所述处理器发送所述信号,所述信号包括存储器中存储的计算机指令;当所述处理器执行所述计算机指令时,使得所述电子设备执行权利要求1至5中任意一项所述的方法。
14.一种计算机程序产品,其特征在于,包括计算机程序,当所述计算机程序被电子设备执行时,使得所述电子设备执行权利要求1至5中任意一项所述的方法。