System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及用于在图形处理单元(gpu)上执行稀疏子流形解卷积的方法和系统。
技术介绍
1、如本领域技术人员所已知,点云是在二维(2d)或三维(3d)空间中绘制的一组单独的数据点。例如,3d点云中的每个点可以表示在特定x、y和z位置处的测量值。点云可用于表示空间中的对象。点云可以通过传感器生成,例如但不限于lidar扫描仪或深度相机。如本领域技术人员所已知,lidar扫描仪使用脉冲激光器形式的光来测量距离。由于点云通常不具有每个可能坐标的点,因此点云被认为是稀疏数据集。
2、存在可运用点云的各种现实世界人工智能应用,例如增强╱虚拟现实(例如,内部场景的布局检测)和自主驾驶(例如,提取可驾驶区域)。因此,在点云上执行深度学习任务已经受到学术界和工业的极大关注,且人工神经网络(在本文中简称为神经网络)已被开发来处理点云,该网络在本文中可被称为点云神经网络。如本领域技术人员所已知,神经网络包括可用于机器学习应用的一个或多个互连层。具体地,神经网络可用于信号处理应用程序中,该信号处理应用程序包括但不限于图像处理应用程序和计算机视觉应用程序。
3、图1示出了包括多个层102、104、106的示例神经网络100。每一层102、104、106接收输入数据,并且根据层来处理输入数据以产生输出数据。输出数据作为输入数据被提供给另一层,或者作为神经网络的最终输出数据被输出。例如,在图1的神经网络100中,第一层102接收到针对神经网络100的原始输入数据108,并且根据第一层102来处理输入数据以产生输出数据110。第一层10
4、输入到神经网络层和从该层输出的数据可以被描述为张量。如本领域技术人员所已知,张量是向量和矩阵的统称,并且可以被视为n维阵列。向量是一维张量,并且矩阵是二维张量。神经网络中的张量通常是四维的,但不一定是四维的。参考图2,该图示出了示例四维(4d)张量200,其中为了可视化目的,已经抑制了一个维度(例如对应于批次大小)。4d张量200可以被描述为包括一个或多个3d张量,其中每个3d张量包括c个数据平面。每个平面具有高度h和宽度w。每个平面可以被称为张量的通道。3d张量的数量可以称为批次大小。在传统神经网络中,每个3d张量可以是,例如图像。张量的元素可以被称为张素(tensel),类似于图片的元素被称为像素。
5、对层的输入张量执行的处理取决于层的类型。例如,神经网络的每一层可以是多种不同类型中的一种类型。通用神经网络层类型包括但不限于卷积层、激活层、归一化层、池化层、全连接层和批量归一化层。对于本领域技术人员将显而易见的是,这些仅仅是示例神经网络层类型,并且可存在其它神经网络层类型。
6、对于卷积层,将输入张量与所述层相关联的权重进行卷积。具体地,每个卷积层与多个权重w1…wg相关联,所述多个权重还可以被称为滤波器权重或系数。权重被分组以形成一个或多个滤波器。每个滤波器根据该维度上的步幅在一个或多个维度上在输入张量上移动或滑动,并且在每个滤波器位置处计算输入数据的点积和该滤波器的权重。在特定滤波器位置应用于滤波器权重的输入张量的元素被称为输入张量的窗口。每个滤波器可能存在偏置,该偏置被添加到对应点积的结果中。
7、存在许多不同类型的卷积层。传统神经网络通常具有一个或多个2d或3d卷积层。在2d卷积(在本文中可以称为标准2d卷积)中,每个滤波器具有维度khxkwxcin(即,每个滤波器可能包括一组khxkwxcin权重w),其中cin是输入张量通道的数量,使得每个滤波器生成输出的通道。每个滤波器通道可以被描述为大小为khxkw的内核。因此,取决于通道的数量,滤波器可能包括一个或多个内核。每个滤波器分别在步骤sh和sw在h和w维度上在输入张量上滑动,这被称为卷积的步幅。
8、现参考图3,其示出了在具有高度h、宽度w和通道(即,c=1)的输入张量302与形成一个内核大小为khxkw的滤波器304的一组权重和通道之间的步幅为1(即,sh=sw=1)的示例2d卷积。滤波器304与输入张量302卷积,以产生输出张量306的一个通道或一个平面。具体地,滤波器304在宽度维度w和高度维度h上在输入张量302上滑动,一次一个元素,并且在每个滤波器位置处生成输入元素和权重的点积。在此示例中,滤波器相对于输入张量302的第一位置是当滤波器的中心w(0,0)对准x(1,1)时,使得输出的第一元素y(0,0)等于窗口308中的输入元素的点积和滤波器304的权重。类似地,滤波器相对于输入张量302的最后位置是当滤波器w(0,0)的中心对准x(3,3)时,使得输出张量y(2,2)的最后一个元素等于窗口310中的输入元素的点积和滤波器304的权重。3d卷积类似于2d卷积,不同之处在于滤波器也在第三(例如z或通道)维度上在输入张量上滑动。
9、然而,点云神经网络可能包括一个或多个2d或3d稀疏子流形卷积层。2d╱3d稀疏子流形卷积与其对应的标准2d╱3d卷积相同,不同之处在于仅针对滤波器内核的一个或多个预定元素与输入张量的活动位置对准的滤波器的位置计算输出元素。输入张量的活动位置是输入张量的高度和宽度位置,其中输入张量的至少一个通道在该位置处具有非零值或元素。滤波器内核的一个或多个预定元素可能包括滤波器内核的中心元素和╱或靠近滤波器内核中心的一个或多个元素。在本文所述的示例中,滤波器内核的单个预定元素是滤波器内核的中心元素。不过,对本领域的技术人员将显而易见的是,这仅是示例。稀疏子流形卷积被设计成在稀疏输入张量上运转。
10、现参考图4,其示出了在具有高度h、宽度w和通道(即,c=1)的输入张量402与形成一个内核大小为khxkw的滤波器404的一组权重和通道之间的步幅为1(即,sh=sw=1)的示例2d稀疏子流形卷积,其中滤波器内核的一个或多个预定元素包括在滤波器内核中心的元素(即,w(0,0))。输入张量402仅具有三个非零元素,因此输入张量402具有三个活动位置-p1、p2、p3。因此,滤波器相对于输入张量402(或输入张量的三个窗口)仅存在三个位置,表示为406、408、410,其中滤波器404的中心与活动位置(在本文中将称为输入张量的活动窗口)对准。因此,仅生成输出张量412的三个元素q1、q2、q3。输出元素q1等于第一活动窗口406中的元素的点积和滤波器404的权重,输出元素q2等于第二活动窗口408的元素的点积和滤波器404的权重,及输出元素q3等于第三活动窗口410的元素的点积和滤波器404的权重。3d稀疏子流形卷积类似于2d稀疏子流形卷积,不本文档来自技高网...
【技术保护点】
1.一种对图形处理单元执行稀疏子流形解卷积的方法(4000),该稀疏子流形解卷积可表示为稀疏子流形解卷积的输入张量与多个子滤波器中的每一个之间的直接卷积,其中多个子滤波器中的每个子滤波器包括稀疏子流形解卷积的滤波器的权重子集,该方法(4000)包括:
2.根据权利要求1所述的方法(4000),其中输出张量具有至少高度维度、宽度维度和通道维度,且输出张量的目标位置是输出张量的高度和宽度位置。
3.根据权利要求2所述的方法(4000),其中标识输出张量的目标位置的信息包括目标位置列表,该目标位置列表包括输出张量的每个目标位置的高度和宽度坐标。
4.根据权利要求1所述的方法(4000),其中输入张量的子窗口是用于计算其中一个直接卷积的至少一个输出张量元素的输入张量的窗口。
5.根据权利要求1至4中任一项所述的方法(4000),其中对输入张量执行索引展开运算包括从输出张量的所识别目标位置和稀疏子流形解卷积的一个或多个参数中识别与输出张量的至少一个已标识目标位置有关的输入张量的每个子窗口。
6.根据权利要求5所述的方法(4000)
7.根据权利要求5所述的方法(4000),其中稀疏子流形解卷积的输出张量的通道的元素分成多个块,其中块中的每个元素由输入张量的相同子窗口和滤波器的不同子滤波器生成,以及识别与所识别的目标位置相关的输入张量的子窗口包括识别所识别的目标位置形成其一部分的输出张量的块,以及将所述输出张量的所识别块映射到用于生成所述块的输入张量的子窗口。
8.根据权利要求7所述的方法(4000),其中使用块的预定元素的输出张量中的位置和稀疏子流形解卷积的一个或多个参数将输出张量的所标识块映射到输入张量的子窗口。
9.根据权利要求1至4中任一项所述的方法(4000),其中对输入张量执行索引展开运算包括从稀疏子流形解卷积的一个或多个参数中标识每个相关子窗口的元素。
10.根据权利要求9所述的方法(4000),其中标识相关子窗口的元素包括标识子窗口内的预定元素的输入张量中的位置,以及实施一系列嵌套循环以在子窗口中从所识别的位置移动元素,所述一系列嵌套循环包括子窗口的每个维度的循环。
11.根据权利要求1至4中任一项所述的方法(4000),其中对输入张量执行索引展开运算包括将各相关子窗口的元素存储在输入矩阵中。
12.根据权利要求11所述的方法(4000),还包括接收零输入矩阵,且输入张量的相关子窗口的元素存储在已接收的输入矩阵中。
13.根据权利要求1至4中任一项所述的方法(4000),其中对输入张量执行索引展开运算包括从稀疏子流形解卷积的一个或多个参数中识别多个子滤波器中的哪一个与输出张量的每个已标识目标位置有关。
14.根据权利要求13所述的方法(4000),其中输出张量的通道的元素分成多个块,其中块中的每个元素由输入张量的相同子窗口和滤波器的不同子滤波器生成,以及识别多个子滤波器中的哪一个与输出张量的已标识目标位置有关,包括识别已标识目标位置形成其一部分的输出张量的块,以及该块内已标识目标位置所在的位置。
15.根据权利要求1至4中任一项所述的方法(4000),其中输入矩阵包括输入张量的每个相关子窗口的列,且输入矩阵的每个列包括对应相关子窗口中的输入张量的元素。
16.根据权利要求1至4中任一项所述的方法(4000),其中权重矩阵包括与输出张量的至少一个所识别目标位置相关的每个子滤波器的行,且权重矩阵的每一行包括形成对应子滤波器的所有权重。
17.根据权利要求1至4中任一项所述的方法(4000),还包括在图形处理单元基于输出张量的所识别目标位置,对输出矩阵执行(4010)索引折叠运算,以生成密集格式的输出张量。
18.根据权利要求17所述的方法(4000),其中对输出矩阵执行索引折叠运算包括基于输出张量的所识别目标位置和稀疏子流形解卷积的一个或多个参数,标识输出矩阵中对应于输出张量的所识别目标位置的元素,以及存储输出矩阵中对应于输出张量的通道的所述目标位置处的所识别目标位置的每个元素。
19.一种图形处理单元,所述图形处理单元被配置为执行权利要求1至18中任一项所述的方法(4000)。
20.一种计算机可读存储介质,其上存储有计算机可读代码,所述计算机可读代码被配置为在运行所述代码时使得图形处理单元执行权利要求1至18中任一项所述的方法(4000)。
...【技术特征摘要】
1.一种对图形处理单元执行稀疏子流形解卷积的方法(4000),该稀疏子流形解卷积可表示为稀疏子流形解卷积的输入张量与多个子滤波器中的每一个之间的直接卷积,其中多个子滤波器中的每个子滤波器包括稀疏子流形解卷积的滤波器的权重子集,该方法(4000)包括:
2.根据权利要求1所述的方法(4000),其中输出张量具有至少高度维度、宽度维度和通道维度,且输出张量的目标位置是输出张量的高度和宽度位置。
3.根据权利要求2所述的方法(4000),其中标识输出张量的目标位置的信息包括目标位置列表,该目标位置列表包括输出张量的每个目标位置的高度和宽度坐标。
4.根据权利要求1所述的方法(4000),其中输入张量的子窗口是用于计算其中一个直接卷积的至少一个输出张量元素的输入张量的窗口。
5.根据权利要求1至4中任一项所述的方法(4000),其中对输入张量执行索引展开运算包括从输出张量的所识别目标位置和稀疏子流形解卷积的一个或多个参数中识别与输出张量的至少一个已标识目标位置有关的输入张量的每个子窗口。
6.根据权利要求5所述的方法(4000),其中如果输入张量的子窗口用于生成在该目标位置处的稀疏子流形解卷积的输出张量的元素,则该子窗口与目标位置相关。
7.根据权利要求5所述的方法(4000),其中稀疏子流形解卷积的输出张量的通道的元素分成多个块,其中块中的每个元素由输入张量的相同子窗口和滤波器的不同子滤波器生成,以及识别与所识别的目标位置相关的输入张量的子窗口包括识别所识别的目标位置形成其一部分的输出张量的块,以及将所述输出张量的所识别块映射到用于生成所述块的输入张量的子窗口。
8.根据权利要求7所述的方法(4000),其中使用块的预定元素的输出张量中的位置和稀疏子流形解卷积的一个或多个参数将输出张量的所标识块映射到输入张量的子窗口。
9.根据权利要求1至4中任一项所述的方法(4000),其中对输入张量执行索引展开运算包括从稀疏子流形解卷积的一个或多个参数中标识每个相关子窗口的元素。
10.根据权利要求9所述的方法(4000),其中标识相关子窗口的元素包括标识子窗口内的预定元素的输入张量中的位置,以及实施一系列嵌套循环以在子窗口中从所识别的位置移动元素,所...
【专利技术属性】
技术研发人员:G·V·德米尔吉,C·迪基奇,G·M·史蒂文斯,杨乐,
申请(专利权)人:想象技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。