CN116012657A - 一种基于神经网络的3d点云数据处理方法及加速器 - Google Patents
一种基于神经网络的3d点云数据处理方法及加速器 Download PDFInfo
- Publication number
- CN116012657A CN116012657A CN202310112245.2A CN202310112245A CN116012657A CN 116012657 A CN116012657 A CN 116012657A CN 202310112245 A CN202310112245 A CN 202310112245A CN 116012657 A CN116012657 A CN 116012657A
- Authority
- CN
- China
- Prior art keywords
- layer
- rcc
- module
- neural network
- point cloud
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 53
- 238000003672 processing method Methods 0.000 title claims abstract description 8
- 238000012545 processing Methods 0.000 claims abstract description 44
- 238000000034 method Methods 0.000 claims abstract description 25
- 238000000605 extraction Methods 0.000 claims abstract description 19
- 238000011176 pooling Methods 0.000 claims abstract description 12
- 238000005070 sampling Methods 0.000 claims abstract description 9
- 238000010606 normalization Methods 0.000 claims description 34
- 239000011159 matrix material Substances 0.000 claims description 33
- 238000004364 calculation method Methods 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 23
- 238000012805 post-processing Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 9
- 230000004913 activation Effects 0.000 claims description 6
- 230000004927 fusion Effects 0.000 claims description 3
- 238000012549 training Methods 0.000 claims description 3
- 238000013461 design Methods 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 241001442055 Vipera berus Species 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 3
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012887 quadratic function Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Image Analysis (AREA)
Abstract
本发明提供了一种基于神经网络的3D点云数据处理方法及加速器,所述方法包括:向神经网络中输入3D点云数据,输出点云所代表的目标类别;所述神经网络包括特征提取模块LCEM,LBR块,最大池化层,降采样层和全连接层;特征提取模块LCEM对离采样点距离最近的部分点在数据中对应的特征通过卷积层进行融合;LBR块用于特征提取;最大池化层和降采样层输出单一值来降低神经网络的输入尺寸;全连接层用于输出目标对应各个类别的概率,并按照概率最高的类别进行输出。本发明用于处理3D点云分类问题,通过可学习的权重来对邻域特征进行聚合,与Pointnet相比,在将网络参数压缩30倍以上的条件下,仍能保持相同的精度。
Description
技术领域
本发明涉及一种基于神经网络的3D点云数据处理方法及加速器。
背景技术
3D点云是3维空间中的一系列散点,每个点都包含空间坐标和特征值。相比于平面图像,3D点云拥有更多的深度信息,可以更好地还原目标的形状,位置信息。因此,3D点云数据广泛应用于自动驾驶,虚拟现实等领域。而神经网络是目前处理点云数据的重要方法,常用于基于点云的目标分类,目标检测以及场景分割等任务。采用神经网络对点云数据进行处理的方法一般分为以下三种:平面映射,体素化和直接处理。平面映射的方法将3维的点云数据映射到2维平面上得到鸟瞰图,然后再应用传统的二维神经网络对其进行处理。体素化的方法将3维空间栅格化,将每个点分布到规则的空间栅格中,采用专用的3D卷积神经网络对其进行处理。直接基于点对点云数据进行处理是目前最高效的方案,由于避免了对3D点云的预处理,这种方案大大降低了处理的延时和信息量的损失。Pointnet网络将点云的位置信息和特征值作为输入,使用卷积神经网络直接进行处理。Pointnet++在Pointnet的基础上,强化了局部特征的提取能力,将每个采样点的邻域点与中心点的特征进行融合,成为目前最高效的3D点云神经网络。
由于3D点云数据在现实中的应用,如自动驾驶,虚拟现实等,都需要极高的实时性,因此对数据的处理速度要求极高。而现存的神经网络总体来说参数量较大,计算延时过长,不能够满足点云应用的实时性要求。FPGA作为一种高效的并行计算平台,常用来对传统神经网络进行加速,基于FPGA的传统的CNN加速器也层出不穷。但是采用FPGA对3D点云网络进行加速的工作还比较少,大多数是基于Pointnet网络进行的设计。如文献“X.Zheng,M.Zhu,Y.Xu,and Y.Li.An fpga based parallel implementation for point cloudneural network.In 2019IEEE 13th International Conference on ASIC(ASICON),pages1–4,2019”中采用的O-Pointnet网络,基于Pointnet进行了硬件友好化的改进,并采用FPGA进行加速。Lin Bai等人在文献“L.Bai,Y.Lyu,X.Xu,and X.Huang.Pointnet on fpga forreal-time lidar point cloud processing.In 2020IEEE International Symposium onCircuits and Systems(ISCAS),pages 1–5,2020”中对基于Pointnet的分类和场景分割网络进行了硬件加速,设计了包含乘法器阵列,加法树和加法器阵列的PE模块,用于支持Pointnet中的不同层。但是以上硬件架构均是基于Pointnet模型进行的设计,不能够高效支持轻量化分类网络。同时由于模型仍然有较大的参数量,吞吐率也不够高,仍然无法达到实时的应用要求。
现存的最广泛使用的3D点云处理网络是Pointnet及其衍生网络。但是由于网络参数量较大,推理延时较长,所以不能达到实时性的要求。当前的pointnet网络的参数量为1.75M,分类网络的检测精度为89.2%。Pointnet++网络在同等参数量的条件下,精度可提高到91.9%。
为了进一步降低点云数据的处理延时,FPGA被应用到3D点云处理的工作中。现存大多数的基于3D点云的FPGA加速器,都是基于Pointnet及其衍生网络进行的设计,不能够高效地支持新提出的轻量型点云分类网络。
发明内容
发明目的:3D点云在自动驾驶,虚拟现实和智能机器人等领域有广泛的应用,但由于其稀疏性和无序性,神经网络的处理速度往往无法达到实时的要求,而传统的硬件加速器也因为无法充分适配3D点云网络而导致加速效率低下。本方案针对此问题,提出了一种基于神经网络的3D点云数据处理方法,并依据其计算特性设计了高效的硬件加速架构。
所述方法包括:向神经网络中输入3D点云数据,输出点云所代表的目标类别;
所述神经网络包括特征提取模块LCEM,LBR块,最大池化层,降采样层和全连接层;
所述特征提取模块LCEM直接处理输入的点云数据,对离采样点距离最近的部分点(邻域点)在数据中对应的特征通过卷积层进行融合;
所述LBR块用于特征提取,所述LBR块包括线性层Linear、批归一化层Batchnormalization和线性整流层ReLU;
所述最大池化层和降采样层通过输入多个值,输出单一值来降低神经网络的输入尺寸;当池化层尺寸为4时,最大池化层每输入4个值,输出4个值中的最大值,降采样层通过将卷积层的步长设置为2,每层会将输出的尺寸降为输入的一半;
所述全连接层直接输出目标所属各个类别的概率,全连接层用于输出目标对应各个类别的概率,并按照概率最高的类别进行输出。
所述3D点云数据包括一系列空间中无序的散点,包含了空间中物体的位置特征。
所述特征提取模块LCEM包括A模块和B模块;
所述A模块包括两个不同的线性层、批归一化层Batch normalization、线性整流层ReLU和归一化指数函数层Softmax;
所述归一化指数函数层Softmax用于将输入的特征转换成目标所属类别的概率;
所述两个不同的线性层分别记为Linear1,Linear2;线性层Linear1和Linear2通过矩阵乘处理输入,所述批归一化层Batch normalization将输入做归一化处理,所述线性整流层ReLU作为激活函数为神经网络引入非线性;
所述批归一化层Batch normalization和线性整流层ReLU就是LBR块中的批归一化层Batch normalization和线性整流层ReLU,在神经网络中不止使用一次;
所述B模块包括一个批矩阵乘模块BMM和一个卷积层Conv,用于融合输入点的邻域点的特征。
所述A模块将采样点邻域的点的位置坐标作为输入进行训练,得到邻域点的权重值;所述B模块将A模块训练得到的权重值与邻域点的特征值相乘,对邻域特征进行加权融合。
所述批矩阵乘模块BMM的输入和权重按照一定尺寸(可被可重构计算核RCC的并行度整除,并行度为256时,可取4,8,16)进行分割,划分成不同的批次,每个批次的输入只与对应批次的权重做矩阵乘运算。
进一步的,本发明还提供了一种用于3D点云数据处理的加速器,包括可重构的计算核RCC,所述述可重构的计算核RCC包括T组并行的计算单元,每个计算单元内部有Q个乘法器,用于计算输入和权重的乘积;所述Q个乘法器被分为每3个一组,余下不足三个与前一组进行合并,每一组的输出使用加法器进行相加,结果作为可重构的计算核RCC的其中一个输出Psum2;每个计算单元内部的所有组的结果通过累加器累加,得到每个组的输出,作为可重构的计算核RCC的另外一个输出Psum1。
所述可重构的计算核RCC通过适应不同层的数据流,来完成神经网络中的计算,具体包括:
对于两个不同的线性层Linear1,Linear2:在神经网络中的Linear1是以空间坐标(x,y,z)作为输入的,将可重构的计算核RCC中的输出Psum2作为计算结果获取并连接后处理模块,根据神经网络中的连接做下一步处理;Linear2的输入是点云的特征值,在计算时点云的特征值会被分割成大小符合可重构的计算核RCC并行度的小块,将每块分别调入片上,通过可重构的计算核RCC计算后,获取输出Psum1作为计算结果并连接后处理模块的不同激活函数;
所述后处理模块包括批处理与整流模块BRM和归一化指数函数模块SFM,所述批处理与整流模块BRM用于完成批归一化层Batch normalization和线性整流层ReLU的功能,所述归一化指数函数模块SFM用于处理Softmax函数;
对于批矩阵乘模块BMM:批矩阵乘模块BMM同时计算N个批次的输入,将N个批次的输入和权重从片外调入到片上缓存,并在可重构的计算核RCC上并行处理,将输出Psum2作为计算结果并连接后处理模块的不同激活函数;
对于卷积层Conv:输入缓存从片外一次取N个通道的数据,并且在可重构的计算核RCC上并行处理,在可重构的计算核RCC上计算之后,得到计算结果Psum2,将M个输出通道的结果同步输出,N=8,16,32……,N的上限为可重构的计算核RCC的并行度,M的取值通过可重构的计算核RCC的并行度除以N得到。
所述可重构的计算核RCC采用局部并行的计算策略,片上缓存每次从片外获取可重构的计算核RCC在一次计算中所需的输入和权重,经过可重构的计算核RCC计算后,得到的中间结果A1不输出到片外,而是先存储到片上,再利用所述中间结果A1作为下一层即卷积层Conv的输入,直接进入可重构的计算核RCC进行下一层的计算,然后可重构的计算核RCC的输出作为批矩阵乘模块BMM和卷积层Conv这两层的结果输出到输出缓存,再运送到片外。
所述局部并行的计算策略应用到Linear2和批矩阵乘模块BMM上,Linear2的一部分输入从片外加载到片上缓存,使用可重构的计算核RCC来进行计算,所得到的计算结果作为中间结果A2,这部分中间结果A2被送到M×N大小的寄存器阵列中,经过K个周期,寄存器阵列被Linear2的局部结果填满,K=8,16,32……(K的上限为可重构的计算核RCC的并行度),这时,再将寄存器阵列中的数据送到可重构的计算核RCC中进行批矩阵乘模块BMM的计算,计算完成后,批矩阵乘模块BMM和卷积层Conv这两层的结果被送到输出缓存中,传送到片外。
本发明具有如下有益效果:
1、全新的轻量型的网络,用于处理3D点云分类问题,通过可学习的权重来对邻域特征进行聚合,与Pointnet相比,在将网络参数压缩30倍以上的条件下,仍能保持相同的精度。
2、用于支持LPN的硬件加速的可重构的计算核。
3、局部并行的计算策略,通过将计算量大的层进行拆分和融合,大大降低了片上访存的需求和片外访存次数。
4、本发明提出的轻量型点云分类网络(LPN)参数量为44.4K,在参数量压缩30倍以上时,精度仍可达到91.8%。
5、本发明能够将神经网络的参数量压缩30倍以上,硬件推理速度比CPU提高35倍左右。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1a是特征提取模块LCEM的具体结构示意图。
图1b是神经网络LPN的具体结构示意图。
图2是可重构的计算核RCC的具体结构示意图。
图3是不同模块使用同一可重构的计算核RCC时的输入和权重调度示意图。
图4是局部并行的计算策略示意图。
图5是基于神经网络LPN设计的整体硬件架构示意图。
具体实施方式
为了降低点云处理网络的参数量,本方案提出一个轻量型的神经网络LPN用来处理点云分类问题。神经网络LPN主要由特征提取模块LCEM,LBR块,最大池化层maxpooling,降采样层downsampling和全连接层FC组成。LBR块代表线性层Linear,批归一化层Batchnormalization和线性整流层ReLU层的组合模块。特征提取模块LCEM和神经网络LPN的具体结构如图1a、图1b所示;特征提取模块LCEM包含线性层Linear1和Linear2,归一化层BN层,线性整流层ReLU层,批线性层BMM层和卷积层Conv层。
特征提取模块LCEM对采样点邻域的特征进行了融合,提高了采样的效率。通过最大池化层和降采样层,网络的输入尺寸逐层降低。同时,特征提取模块LCEM的使用保证了在输入尺寸减小的条件下仍能保持模型的精度。
特征提取模块LCEM:
特征提取模块主要用于提取局部特征,如上图(a)所示,A模块包括两个不同的线性层(分别记为Linear1,Linear2),批归一化层Batch normalization,ReLU层和归一化指数函数层Softmax层。B模块包含一个批矩阵乘模块BMM和一个卷积层Conv。A模块将采样点邻域的点的位置坐标作为输入进行训练,得到邻域点的权重值。B模块将A模块训练得到的权重值与邻域点的特征值相乘,对邻域特征进行加权融合。
批矩阵乘模块BMM:
批矩阵乘模块BMM与线性层类似,都是基于矩阵乘运算的。不同之处在于批矩阵乘模块BMM的输入和权重被划分成不同的批次,每个批次的输入只与对应批次的权重做矩阵乘运算。
硬件架构部分:
可重构的计算核(RCC):
在前一部分中可以看到,神经网络LPN中涉及到大量计算的层主要是以下几种:线性层,卷积层,批矩阵乘模块BMM。这些层都是基于乘加运算的,因此,本发明设计了可重构的计算核RCC用来并行处理神经网络LPN中的大量计算。可重构的计算核RCC的具体结构如图2所示。
在可重构的计算核RCC中共有T组并行的计算单元,每个计算单元内部有Q个乘法器,用于计算输入和权重的乘积。由于一部分线性层的输入是代表点的位置的三维坐标,因此Q个乘法器被分为每3个一组(余下不足三个与前一组进行合并)。每一组的输出使用加法器进行相加,结果作为可重构的计算核RCC的其中一个输出Psum2。而每个计算单元内部的所有组的结果通过累加器累加,得到每个组的输出,也是可重构的计算核RCC的另外一个输出Psum1。在实际的设计中,T取值为128,Q取值为16。
适应不同层的数据流:
神经网络LPN中的主要计算层,包括线性层,卷积层和批矩阵乘模块BMM,都可以统一使用可重构的计算核RCC进行计算,但是在输入和权重的调度上各有不同。本发明设计了适应不同层的数据流,来完成网络中的计算。如图3所示。
Linear:
对于线性层,RCC主要完成的是线性层中的矩阵乘操作。需要注意的是,在LPN中的Linear1是以空间坐标(x,y,z)作为输入的,所以是将可重构的计算核RCC中的输出Psum2作为计算结果获取并进行下一步处理的。而Linear2的输入是点云的特征值,通常是Q的整数倍,因此,在计算时会被分割成小块,通过可重构的计算核RCC计算后,获取输出Psum1作为计算结果并进行后续的处理。
批矩阵乘模块BMM:
批矩阵乘模块BMM同时计算N个批次的输入,将N个批次的输入和权重从片外调入到片上缓存,并在可重构的计算核RCC上并行处理。将输出Psum2作为计算结果进行下一步处理。
卷积层Conv:
输入缓存从片外一次取N个通道的数据,并且在可重构的计算核RCC上并行处理。在可重构的计算核RCC上计算之后,可重构的计算核RCC的计算结果Psum2作为M个输出通道的结果同步输出。
局部并行的计算策略:
对于神经网络LPN中的主要计算层,本发明统计了所有层所需要的片上缓存和片外访存次数。经过统计发现,按照逐层计算的方式,Linear2的输出和BMM层的输入由于数据量巨大,会使片上缓存需求以及片外访存次数剧增。为了解决这个问题,本发明设计了局部并行的计算策略。缓存每次从片外获取一部分输入和权重,经过可重构的计算核RCC计算后,结果不输出到片外,而是先存储到片上,再利用这个中间结果作为下一层的输入,直接进入可重构的计算核RCC进行下一层的计算,然后可重构的计算核RCC的输出作为这两层的结果输出到输出缓存,再运送到片外。
局部并行的计算策略被应用到Linear2和批矩阵乘模块BMM上,具体的流程如图4所示。
Linear2的一部分输入从片外加载到片上缓存,使用可重构的计算核RCC来进行计算。获得一部分输入后,这部分结果被送到M×N大小的寄存器阵列中。经过K个周期,寄存器阵列被Linear2的局部结果填满。这时,再将寄存器阵列中的数据送到可重构的计算核RCC中进行BMM层的计算。该部分计算完成后,两层的结果被送到输出缓存中,传送到片外。局部并行计算策略避免了Linear2层大量的输出数据被传送到片外,再从片外调入片内过程中引起的片外访存,同时也减少了片上缓存的需求量。
后处理模块:
批处理与整流模块BRM:
用于处理批归一化层Batch normalization和线性整流层ReLU。BRM通过一个乘法器,一个加法器和一个比较器实现。由于批归一化层的输入通道和上一层的输出通道是一致的,所以和上一层的输出可以共用调度策略,并行度与可重构的计算核RCC相同,仍然设置为128。
归一化指数函数模块SFM:
用来处理Softmax函数的模块。Softmax函数的解析式如下所示::
N代表所有类别的总数量,x代表当前选取的类别,e是自然常数。
由于ex在硬件上难以实现,所以采用文献“C.R.Qi,L.Yi,H.Su,andL.J.Guibas.Pointnet++:Deep hierarchical feature learning on point sets in ametric space.In I.Guyon,U.Von Luxburg,S.Bengio,H.Wallach,R.Fergus,S.Vishwanathan,and R.Garnett,editors,Advances in Neural InformationProcessing Systems,volume 30.Curran Associates,Inc.,2017”中的方法,对ex进行近似。当输入被限制在(-1,0)的范围内时,ex可近似为二次函数。经过仿真,如下的函数f(x)的结果与ex及其接近,在大大降低了计算复杂度的同时,不影响网络最后的推理3结果:
f(x)=0.3585×(X+1.353)2+0.344
整体的硬件架构:
基于神经网络LPN设计的整体硬件架构如图5所示:
对于神经网络LPN中的每一层,输入缓存和权重缓存将数据从片外传入片上。可重构的计算核RCC按顺序进行计算每层的输入。可重构的计算核RCC的输出结果接入选择器,选择后续连接的后处理模块。输出的结果暂存在输出缓存中,最后通过总线传送到片外。逻辑控制器发送信号控制了整个片上逻辑的运行。
实施例
轻量化3D点云分类神经网络LPN在维持与Pointnet(参考文献:C.R.Qi,L.Yi,H.Su,and L.J.Guibas.Pointnet++:Deep hierarchical feature learning on pointsets in a metric space.In I.Guyon,U.Von Luxburg,S.Bengio,H.Wallach,R.Fergus,S.Vishwanathan,and R.Garnett,editors,Advances in Neural InformationProcessing Systems,volume 30.Curran Associates,Inc.,2017)相当的精度的同时,将网络参数量大幅度降低,如下表1所示:
表1
Parameters/Ratio | Latency(ms) | Accuracy | |
Pointnet++[3] | 1.75M/1 | 116.59 | 91.9% |
O-pointnet[1] | 1.25M/1.4 | - | 88.5% |
LPN(ours) | 44.43K/39.39 | 20.29 | 91.8% |
基于LPN设计的硬件加速器被部署到Xilinx Kintex UltraScale KCU150 FPGA板卡上,如下表2所示,与GPU和CPU相比,相同的网络处理速度获得了极大的提升。
表2
Platform | CPU | GPU | Ours(FPGA) |
Latency(ms) | 20.3 | 12.1 | 0.57 |
Speedup | 1× | 1.68× | 35.6× |
与以往的针对3D点云的FPGA加速器相比,本发明的设计拥有更高的吞吐率。如下表3所示:
表3
本发明为神经网络LPN设计了专用的并行可重构的计算核RCC和高效的数据流,在100MHZ的频率下,FPGA上的处理速度比CPU上的同等网络提高了35倍左右。与以往的FPGA平台上实现的3D点云网络加速器相比,吞吐率至少提高了1.5倍以上,因此可以充分满足点云数据的实时性应用要求。
具体实现中,本申请提供计算机存储介质以及对应的数据处理单元,其中,该计算机存储介质能够存储计算机程序,所述计算机程序通过数据处理单元执行时可运行本发明提供的一种基于神经网络的3D点云数据处理方法的发明内容以及各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,ROM)或随机存储记忆体(random access memory,RAM)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术方案可借助计算机程序以及其对应的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机程序即软件产品的形式体现出来,该计算机程序软件产品可以存储在存储介质中,包括若干指令用以使得一台包含数据处理单元的设备(可以是个人计算机,服务器,单片机。MUU或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本发明提供了一种基于神经网络的3D点云数据处理方法及加速器,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
Claims (9)
1.一种基于神经网络的3D点云数据处理方法,其特征在于,包括:向神经网络中输入3D点云数据,输出点云所代表的目标类别;
所述神经网络包括特征提取模块LCEM,LBR块,最大池化层,降采样层和全连接层;
所述特征提取模块LCEM直接处理输入的点云数据,对离采样点距离最近的部分点在数据中对应的特征通过卷积层进行融合;
所述LBR块用于特征提取,所述LBR块包括线性层Linear、批归一化层Batchnormalization和线性整流层ReLU;
所述最大池化层和降采样层通过输入多个值,输出单一值来降低神经网络的输入尺寸;当池化层尺寸为4时,最大池化层每输入4个值,输出4个值中的最大值,降采样层通过将卷积层的步长设置为2,每层会将输出的尺寸降为输入的一半;
所述全连接层直接输出目标所属各个类别的概率,全连接层用于输出目标对应各个类别的概率,并按照概率最高的类别进行输出。
2.根据权利要求1所述的一种用于点云数据处理的神经网络,其特征在于,所述3D点云数据包括一系列空间中无序的散点,包含了空间中物体的位置特征。
3.根据权利要求2所述的一种用于点云数据处理的神经网络,其特征在于,所述特征提取模块LCEM包括A模块和B模块;
所述A模块包括两个不同的线性层、批归一化层Batch normalization、线性整流层ReLU和归一化指数函数层Softmax;
所述归一化指数函数层Softmax用于将输入的特征转换成目标所属类别的概率;
所述两个不同的线性层分别记为Linear1,Linear2;线性层Linear1和Linear2通过矩阵乘处理输入,所述批归一化层Batch normalization将输入做归一化处理,所述线性整流层ReLU作为激活函数为神经网络引入非线性;
所述批归一化层Batch normalization和线性整流层ReLU就是LBR块中的批归一化层Batch normalization和线性整流层ReLU,在神经网络中不止使用一次;
所述B模块包括一个批矩阵乘模块BMM和一个卷积层Conv,用于融合输入点的邻域点的特征。
4.根据权利要求3所述的一种用于点云数据处理的神经网络,其特征在于,所述A模块将采样点邻域的点的位置坐标作为输入进行训练,得到邻域点的权重值;所述B模块将A模块训练得到的权重值与邻域点的特征值相乘,对邻域特征进行加权融合。
5.根据权利要求4所述的一种用于点云数据处理的神经网络,其特征在于,所述批矩阵乘模块BMM的输入和权重按照一定尺寸进行分割,划分成不同的批次,每个批次的输入只与对应批次的权重做矩阵乘运算。
6.一种用于3D点云数据处理的加速器,其特征在于,包括可重构的计算核RCC,所述述可重构的计算核RCC包括T组并行的计算单元,每个计算单元内部有Q个乘法器,用于计算输入和权重的乘积;所述Q个乘法器被分为每3个一组,余下不足三个与前一组进行合并,每一组的输出使用加法器进行相加,结果作为可重构的计算核RCC的其中一个输出Psum2;每个计算单元内部的所有组的结果通过累加器累加,得到每个组的输出,作为可重构的计算核RCC的另外一个输出Psum1。
7.根据权利要求6所述的一种用于点云数据处理的加速器,其特征在于,所述可重构的计算核RCC通过适应不同层的数据流,来完成神经网络中的计算,具体包括:
对于两个不同的线性层Linear1,Linear2:在神经网络中的Linear1是以空间坐标(x,y,z)作为输入的,将可重构的计算核RCC中的输出Psum2作为计算结果获取并连接后处理模块,根据神经网络中的连接做下一步处理;Linear2的输入是点云的特征值,在计算时点云的特征值会被分割成大小符合可重构的计算核RCC并行度的小块,将每块分别调入片上,通过可重构的计算核RCC计算后,获取输出Psum1作为计算结果并连接后处理模块的不同激活函数;
所述后处理模块包括批处理与整流模块BRM和归一化指数函数模块SFM,所述批处理与整流模块BRM用于完成批归一化层Batch normalization和线性整流层ReLU的功能,所述归一化指数函数模块SFM用于处理Softmax函数;
对于批矩阵乘模块BMM:批矩阵乘模块BMM同时计算N个批次的输入,将N个批次的输入和权重从片外调入到片上缓存,并在可重构的计算核RCC上并行处理,将输出Psum2作为计算结果并连接后处理模块的不同激活函数;
对于卷积层Conv:输入缓存从片外一次取N个通道的数据,并且在可重构的计算核RCC上并行处理,在可重构的计算核RCC上计算之后,得到计算结果Psum2,将M个输出通道的结果同步输出,N=8,16,32……,N的上限为可重构的计算核RCC的并行度,M的取值通过可重构的计算核RCC的并行度除以N得到。
8.根据权利要求7所述的一种用于点云数据处理的加速器,其特征在于,所述可重构的计算核RCC采用局部并行的计算策略,片上缓存每次从片外获取可重构的计算核RCC在一次计算中所需的输入和权重,经过可重构的计算核RCC计算后,得到的中间结果A1不输出到片外,而是先存储到片上,再利用所述中间结果A1作为下一层即卷积层Conv的输入,直接进入可重构的计算核RCC进行下一层的计算,然后可重构的计算核RCC的输出作为批矩阵乘模块BMM和卷积层Conv这两层的结果输出到输出缓存,再运送到片外。
9.根据权利要求8所述的一种用于点云数据处理的加速器,其特征在于,所述局部并行的计算策略应用到Linear2和批矩阵乘模块BMM上,Linear2的一部分输入从片外加载到片上缓存,使用可重构的计算核RCC来进行计算,所得到的计算结果作为中间结果A2,这部分中间结果A2被送到M×N大小的寄存器阵列中,经过K个周期,寄存器阵列被Linear2的局部结果填满,K=8,16,32……,再将寄存器阵列中的数据送到可重构的计算核RCC中进行批矩阵乘模块BMM的计算,计算完成后,批矩阵乘模块BMM和卷积层Conv这两层的结果被送到输出缓存中,传送到片外。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310112245.2A CN116012657A (zh) | 2023-02-14 | 2023-02-14 | 一种基于神经网络的3d点云数据处理方法及加速器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310112245.2A CN116012657A (zh) | 2023-02-14 | 2023-02-14 | 一种基于神经网络的3d点云数据处理方法及加速器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116012657A true CN116012657A (zh) | 2023-04-25 |
Family
ID=86026900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310112245.2A Pending CN116012657A (zh) | 2023-02-14 | 2023-02-14 | 一种基于神经网络的3d点云数据处理方法及加速器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116012657A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117054396A (zh) * | 2023-10-11 | 2023-11-14 | 天津大学 | 基于双路径无乘法神经网络的拉曼光谱检测方法及装置 |
-
2023
- 2023-02-14 CN CN202310112245.2A patent/CN116012657A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117054396A (zh) * | 2023-10-11 | 2023-11-14 | 天津大学 | 基于双路径无乘法神经网络的拉曼光谱检测方法及装置 |
CN117054396B (zh) * | 2023-10-11 | 2024-01-05 | 天津大学 | 基于双路径无乘法神经网络的拉曼光谱检测方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111684473B (zh) | 提高神经网络阵列的性能 | |
CN108108809B (zh) | 一种针对卷积神经元网络进行推理加速的硬件架构及其工作方法 | |
CN110458279B (zh) | 一种基于fpga的二值神经网络加速方法及系统 | |
CN111667051B (zh) | 适用边缘设备的神经网络加速器及神经网络加速计算方法 | |
Yepez et al. | Stride 2 1-D, 2-D, and 3-D Winograd for convolutional neural networks | |
CN111062472B (zh) | 一种基于结构化剪枝的稀疏神经网络加速器及其加速方法 | |
CN108256628B (zh) | 基于多播片上网络的卷积神经网络硬件加速器及其工作方法 | |
US11775430B1 (en) | Memory access for multiple circuit components | |
CN111898733B (zh) | 一种深度可分离卷积神经网络加速器架构 | |
CN109447241B (zh) | 一种面向物联网领域的动态可重构卷积神经网络加速器架构 | |
Liu et al. | Towards an efficient accelerator for DNN-based remote sensing image segmentation on FPGAs | |
Alawad et al. | Stochastic-based deep convolutional networks with reconfigurable logic fabric | |
Bi et al. | Target detection system design and FPGA implementation based on YOLO v2 algorithm | |
CN112633490B (zh) | 执行神经网络模型的数据处理装置、方法及相关产品 | |
CN112734020B (zh) | 卷积神经网络的卷积乘累加硬件加速装置、系统以及方法 | |
CN109740619B (zh) | 用于目标识别的神经网络终端运行方法和装置 | |
CN116012657A (zh) | 一种基于神经网络的3d点云数据处理方法及加速器 | |
CN104978749A (zh) | 一种基于fpga的sift图像特征提取系统 | |
Shahshahani et al. | Memory optimization techniques for fpga based cnn implementations | |
Wang et al. | An efficient fpga accelerator for point cloud | |
Xiao et al. | Research on fpga based convolutional neural network acceleration method | |
CN113158132A (zh) | 一种基于非结构化稀疏的卷积神经网络加速系统 | |
CN110175287B (zh) | 一种基于Flink的矩阵分解隐式反馈推荐方法和系统 | |
Kang | Research on ssd base network | |
Jiang et al. | Hardware implementation of depthwise separable convolution neural network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |