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

目标检测方法、系统及存内计算芯片

2022-09-04 09:17:55 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,具体地,涉及一种目标检测方法、系统及存内计算芯片。


背景技术:

2.现代计算机系统结构普遍采用冯
·
诺伊曼架构。在这种架构下,承担计算任务的处理器和负责数据存储的存储器通常是彼此分离的。因此,处理器每次执行运算时都需要将数据从存储器读入到处理器中,等待数据处理完毕再写回到存储器中。以大数据为主的ai计算之下,冯
·
诺伊曼架构的“存储墙”和“功耗墙”挑战凸显。所谓的“存储墙”问题是指存储器性能与运算器性能日益扩大的差距;而“功耗墙”问题则是指将数据在存储器和运算器之间来回搬运的高昂能量代价。
3.目标检测是机器视觉领域的基础任务之一,它的核心工作是在图像信息中检测和识别出目标物体,因此也被使用于各种应用场景中,比如视频监控中的目标检测,其效果将会直接影响到后续的跟踪、动作识别和行为描述等效果。相关技术中,目标检测通常需要采用非极大值抑制算法(non-maximum suppression,或nms),而从nms的算法流程可以看出该算法存在大量的循环和排序等操作,需要基于传统冯
·
诺伊曼架构的cpu去完成。在这种情况下,还需要在基于传统冯
·
诺伊曼架构的cpu和作为加速器的存内计算芯片之间设计额外的数据总线、驱动程序等,导致系统变得更加复杂。


技术实现要素:

4.本发明的目的是提供一种目标检测方法、系统及存内计算芯片,以降低目标检测方法的部署复杂度,无需使用cpu,仅在存内计算芯片上即可实现端到端的目标检测,且降低系统功耗。
5.为了实现上述目的,第一方面,本发明提供一种目标检测方法,所述方法应用于存内计算芯片,目标检测网络、消息通信神经网络、特征后处理神经网络均部署于所述存内计算芯片中,所述方法包括:
6.获取待检测图像;
7.将所述待检测图像输入至所述目标检测网络,得到所述目标检测网络输出的所述待检测图像中的第一锚点特征信息,其中,每一锚点对应一候选预测框;
8.将所述第一锚点特征信息输入至所述消息通信神经网络,以由所述消息通信神经网络对所述第一锚点特征信息进行卷积操作处理,得到第二锚点特征信息;
9.将所述第二锚点特征信息输入至所述特征后处理神经网络,得到多个锚点各自的目标置信度;
10.根据所述目标置信度,从多个候选预测框中确定目标框,并将所述目标框的信息发送至显示装置,以由所述显示装置对所述目标框进行显示。
11.可选地,所述消息通信神经网络是通过如下方式训练得到的:
12.从训练数据集中获取训练图像;
13.将所述训练图像输入至所述目标检测网络,得到多个锚点各自的锚点特征信息,其中,多个锚点与多个预测框一一对应,锚点的锚点特征信息包括该锚点对应的预测框中包含训练目标的第一置信度、该锚点对应的预测框的中心点坐标、该锚点对应的预测框的宽度和高度;
14.将多个锚点各自的锚点特征信息输入至神经网络的卷积核中,以由所述卷积核提取每一锚点的局部特征关系,并计算锚点对应的预测框中包含训练目标的第二置信度;
15.根据所述第二置信度去除所述多个预测框中的冗余预测框并过滤掉无效预测框,得到训练预测框;
16.根据所述训练预测框中包含训练目标的第二置信度、所述训练预测框的中心点坐标、宽度和高度,以及所述训练图像的真实目标框中包含训练目标的真实置信度、所述真实目标框的中心点坐标、宽度和高度,计算损失值;
17.根据所述损失值对所述神经网络的卷积核进行迭代训练,在训练完成的情况下,得到所述特征提取神经网络。
18.可选地,所述消息通信神经网络中包括concatenate网络,所述消息通信神经网络用于通过如下方式得到第二锚点特征信息:
19.所述concatenate网络将经过卷积处理的第一锚点特征信息与如下信息之一进行拼接:零矩阵、消息通信神经网络上一次输出的锚点特征信息,以扩大锚点特征的感受野;
20.将所述concatenate网络输出的锚点特征信息进行卷积压缩,以得到所述第二锚点特征信息。
21.可选地,所述消息通信神经网络为可学习nms网络。
22.第二方面,本发明提供一种目标检测系统,所述系统部署于存内计算芯片,所述系统包括的目标检测网络、消息通信神经网络、特征后处理神经网络均部署于所述存内计算芯片中;
23.所述目标检测网络,用于对待检测图像进行处理,得到所述待检测图像中的第一锚点特征信息,其中,每一锚点对应一候选预测框;
24.所述消息通信神经网络,用于对所述第一锚点特征信息进行卷积操作处理,得到第二锚点特征信息;
25.所述特征后处理神经网络,用于根据所述第二锚点特征信息,得到多个锚点各自的目标置信度;
26.结果输出模块,用于根据所述目标置信度,从多个候选预测框中确定目标框,并将所述目标框的信息发送至显示装置,以由所述显示装置对所述目标框进行显示。
27.可选地,所述消息通信神经网络是通过如下方式训练得到的:
28.从训练数据集中获取训练图像;
29.将所述训练图像输入至所述目标检测网络,得到多个锚点各自的锚点特征信息,其中,多个锚点与多个预测框一一对应,锚点的锚点特征信息包括该锚点对应的预测框中包含训练目标的第一置信度、该锚点对应的预测框的中心点坐标、该锚点对应的预测框的宽度和高度;
30.将多个锚点各自的锚点特征信息输入至神经网络的卷积核中,以由所述卷积核提
取每一锚点的局部特征关系,并计算锚点对应的预测框中包含训练目标的第二置信度;
31.根据所述第二置信度去除所述多个预测框中的冗余预测框并过滤掉无效预测框,得到训练预测框;
32.根据所述训练预测框中包含训练目标的第二置信度、所述训练预测框的中心点坐标、宽度和高度,以及所述训练图像的真实目标框中包含训练目标的真实置信度、所述真实目标框的中心点坐标、宽度和高度,计算损失值;
33.根据所述损失值对所述神经网络的卷积核进行迭代训练,在训练完成的情况下,得到所述特征提取神经网络。
34.可选地,所述消息通信神经网络中包括concatenate网络:
35.所述concatenate网络用于将经过卷积处理的第一锚点特征信息与如下信息之一进行拼接:零矩阵、消息通信神经网络上一次输出的锚点特征信息,以扩大锚点特征的感受野;
36.所述消息通信神经网络用于将所述concatenate网络输出的锚点特征信息进行卷积压缩,以得到所述第二锚点特征信息。
37.可选地,所述消息通信神经网络为可学习nms网络。
38.第三方面,本发明提供一种存内计算芯片,包括本发明第二方面任一实施例提供的目标检测系统。
39.通过上述技术方案,首先,目标检测网络、消息通信神经网络、特征后处理神经网络均部署于存内计算芯片中,无需使用cpu进行目标检测,降低了目标检测方法的设计复杂度,解决了传统目标检测算法需要基于冯
·
诺伊曼架构的cpu的问题,使得整体系统架构得以简化,间接地降低了开发成本和部署成本。其次,由于在存内计算芯片上实现了端到端的目标检测方法,因此整个目标检测网络可以享受到存内计算的高并行、低能耗的好处,为超低功耗的目标检测系统提供了一种可行的实现手段。
附图说明
40.图1是存内计算芯片架构中的核心单元crossbar的示意图。
41.图2是传统nms算法的主要步骤的示意图。
42.图3是相关技术中目标检测算法的部署结构图。
43.图4是目标检测网络的参数处理过程。
44.图5是目标检测方法的流程图。
45.图6是本发明中目标检测算法的部署结构图。
46.图7是目标检测方法的具体实施过程图。
47.图8是消息通信神经网络的训练方法示意图。
具体实施方式
48.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
49.在介绍本发明的实施例之前,首先对相关技术中存在的问题进行分析。
50.近年来,随着目标检测算法和边缘计算设备的技术进步,市场上出现了许多边缘端目标检测设备的设计方案。一个完整的设计方案包括算法设计和芯片架构选型两部分。从算法设计的角度看,目标检测算法通常包括两个核心步骤:基于深度学习的检测网络和非极大值抑制。这类目标检测算法通常运行在基于冯诺依曼架构的通用处理器上。从芯片架构选型的角度,非极大值抑制算法并不适合在存内计算芯片架构上完成,因此通常还需要在存内计算芯片之外使用额外的芯片(如基于冯诺依曼架构的通用处理器)辅助完成非极大值抑制的功能,系统复杂度高。
51.为了解决或改进冯
·
诺伊曼架构的存储墙”和“功耗墙”问题,存内计算架构整合逻辑单元和存储单元,直接在存储单元内部进行运算,缓解了处理器和存储器之间的带宽和延迟瓶颈,降低了数据搬运导致的能耗。另外,存内计算架构采用存储器阵列完成大规模的并行运算,适合矩阵乘法这类可高度并行的运算,这也是相比于传统的冯
·
诺伊曼架构顺序执行指令的另一大优势。当前,基于深度学习的ai的核心是大规模的矩阵运算。在存内计算架构下,大规模的矩阵运算可以被高效地映射到crossbar阵列中。如图1所示,如果要完成矩阵w和向量x之间的点乘运算,其中,矩阵w包括w1、w2、w3、w4、w5、w6、w7、w8、w9,向量x包括x1、x2、x3,crossbar将矩阵w当中的数据以电阻的形式保存,向量x以电压的形式作为输入。根据欧姆定律,crossbar的输出是以电流为形式的矩阵点乘运算结果。因此,存内计算架构中的crossbar也可以说是一个“天然的”矩阵乘法运算单元。相比于传统的冯
·
诺伊曼架构顺序取指令,每次取若干个数据进行乘法或加法运算,最后再将结果存回存储器中,存内计算架构具有极大的功耗方面的优势。例如图1所示,crossbar完成一次如图运算,传统cpu需要9次乘法运算和6次加法运算。
52.为了能够提高目标检测算法的准确率,主流算法将目标检测任务分成两个步骤完成。在第一个步骤中,目标检测算法尽可能多地找到目标框作为候选,以此来覆盖场景中绝大多数的物体。然而,这可能会导致算法针对一个物体提出多个候选目标框,并且这些目标框都高度重叠。因此,在第二个步骤中,通常需要采用非极大值抑制算法(non-maximum suppression,或nms)删去冗余的候选目标框,而保留最符合期望的候选目标框作为最终检测结果。
53.nms算法的关键操作如图2所示。其中r表示最后保留下来的目标框坐标集合,b表示ai提出的候选目标框的坐标信息集合,s表示ai提出的候选目标框的置信度集合。整体流程为:当b未空时,不断从s中取出一个最高分s(按顺序从高到低一个一个取),和与之对应的候选目标框坐标信息h,并将h加入r中,将h从b中删除。然后遍历剩下的b集合,将其中和h表示的候选目标框的交并比(交集面积/并集面积)达到一定阈值的候选目标框的坐标信息和置信度从b集合和s集合中删去,直到最后b为空集时,算法结束,返回保留下来的目标框坐标集合r。因此,nms算法可以将多个相互靠近的候选目标框中置信度最高的一个保留下来,并删去其他冗余的候选目标框。
54.在存内计算架构上部署传统nms算法的代价较大,由nms的算法流程可以看出该算法存在大量的循环和排序等操作,而这些操作更适合于在传统冯
·
诺伊曼架构下完成,不适合存内计算架构。正是因为这个原因,存内计算芯片往往作为一个加速器来完成目标检测主干网络当中的矩阵乘法运算,而把nms算法交给基于传统冯
·
诺伊曼架构的cpu去完成。图3是相关技术中目标检测算法的部署结构图,如图3所示,将传统的nms算法部署在cpu
中,在这种情况下,还需要在基于传统冯
·
诺伊曼架构的cpu和作为加速器的存内计算芯片之间设计额外的数据总线、驱动程序等,导致系统变得更加复杂。
55.另外,相关技术中,进行目标检测首选需要提取候选框的人工特征,人工特征的制作再次涉及到了存内计算芯片所不擅长的运算。以交并比iou值的计算为例,它涉及了两个候选框的交集区域的计算、并集区域的计算、交集和并集之间的比例,本质上并不适合在基于crossbar阵列的存内计算芯片架构上完成。其中crossbar阵列仅适合两个矩阵进行乘法,其中一个矩阵代表输入信息,另一个矩阵代表对输入信息进行的矩阵投影运算,而后者往往是数值固定的。如果要使用crossbar阵列对两个候选框进行iou计算,就意味着crossbar阵列处理的两个矩阵都是灵活可变的。
56.图4是目标检测网络的参数处理过程。如图4所示,例如输入的待检测图像大小为448
×
448
×
3,经过若干次的卷积层、池化层运算后,可得到14
×
14
×
25的输出信息,其中,处理过程中所采用的参数,已在图4中标出,例如第一次卷积操作参数filter为3
×
3,padding为1,其他参数不再一一列出。
57.有鉴于此,本发明通过目标检测算法和存内计算芯片架构的联合设计,提出了一种能在存内计算芯片架构上实现端到端目标检测算法的设计方案,降低了系统复杂度,有利于超低功耗目标检测系统的实现。
58.图5是目标检测方法的流程图,所述方法应用于存内计算芯片,目标检测网络、消息通信神经网络、特征后处理神经网络均部署于所述存内计算芯片中,如图5所示,所述方法包括s101至s105。
59.在s101中,获取待检测图像。
60.在s102中,将待检测图像输入至目标检测网络,得到目标检测网络输出的待检测图像中的第一锚点特征信息。其中,每一锚点对应一候选预测框。
61.在s103中,将第一锚点特征信息输入至消息通信神经网络,以由消息通信神经网络对第一锚点特征信息进行卷积操作处理,得到第二锚点特征信息。消息通信神经网络可以为可学习nms神经网络。
62.在s104中,将第二锚点特征信息输入至特征后处理神经网络,得到多个锚点各自的目标置信度。
63.在s105中,根据目标置信度,从多个候选预测框中确定目标框,并将目标框的信息发送至显示装置,以由显示装置对目标框进行显示。
64.图6是本发明中目标检测算法的部署结构图。如图6所示,目标检测网络、消息通信神经网络、特征后处理神经网络均部署于存内计算芯片,本发明中在存内计算芯片架构上实现端到端目标检测算法,无需使用cpu,降低系统复杂度,且降低系统功耗。
65.目标检测网络采用基于anchor(锚点)思想的目标检测网络设计,因此对于一幅待检测图像,将会生成相应的anchor信息。对于可学习nms,anchor特征信息为输入,这种方法的最大优点是无需采用难以部署在存内计算芯片上的算术运算(如除法),仅依赖于神经网络自身便可实现,从而降低了部署的复杂度。由于anchor特征信息是一个3维结构(所有的anchor构成一个二维网格,而每一个anchor都包含置信度、位置、宽高等信息),因此消息通信网络模块通过3维卷积算子学习每个anchor的局部特征,再和上一个消息通信网络模块学到的特征将两者以2:1(降低上一个消息通信网络对该网络的影响)的比例拼接,进一步
融合信息后输出。
66.通过上述技术方案,首先,目标检测网络、消息通信神经网络、特征后处理神经网络均部署于存内计算芯片中,无需使用cpu进行目标检测,降低了目标检测方法的设计复杂度,解决了传统目标检测算法需要基于冯
·
诺伊曼架构的cpu的问题,使得整体系统架构得以简化,间接地降低了开发成本和部署成本。其次,由于在存内计算芯片上实现了端到端的目标检测方法,因此整个目标检测网络可以享受到存内计算的高并行、低能耗的好处,为超低功耗的目标检测系统提供了一种可行的实现手段。
67.图7是目标检测方法的具体实施过程图,如图7所示,待检测图像输入至目标检测网络中,得到大小为14
×
14
×
25的anchor特征信息,即第一锚点特征信息,其中,14
×
14表示锚点个数,25指的是5个特征值和20个类别信息,该14
×
14
×
25的信息是通过图4所示的处理方式得到的。
68.其中,消息通信神经网络中包括concatenate网络,所述消息通信神经网络用于通过如下方式得到第二锚点特征信息:
69.所述concatenate网络将经过卷积处理的第一锚点特征信息与如下信息之一进行拼接:零矩阵、消息通信神经网络上一次输出的锚点特征信息,以扩大锚点特征的感受野;
70.将所述concatenate网络输出的锚点特征信息进行卷积压缩,以得到所述第二锚点特征信息。
71.如图7所示,经过卷积处理的第一锚点特征信息,即将14
×
14
×
25的anchor特征信息处理为14
×
14
×
128的anchor特征,concatenate网络将14
×
14
×
128的anchor特征、与零矩阵或大小为14
×
14
×
256的消息通信神经网络上一次输出的锚点特征信息进行拼接,输出大小为14
×
14
×
512的anchor特征,以扩大锚点特征的感受野,之后在将14
×
14
×
512的anchor特征进行卷积压缩,得到14
×
14
×
256的anchor特征,即消息通信神经网络输出的第二锚点特征。之后,将14
×
14
×
256的anchor特征输入至特征后处理神经网络中,输出大小为14
×
14
×
1的结果,即包括多个锚点各自的目标置信度,该目标置信度表征锚点对应的候选预测框中包括目标的可能性大小。示例地,可以将目标置信度最大的锚点对应的候选预测框作为目标框。
72.本发明中,消息通信神经网络是通过如下方式训练得到的:
73.从训练数据集中获取训练图像;
74.将所述训练图像输入至所述目标检测网络,得到多个锚点各自的锚点特征信息,其中,多个锚点与多个预测框一一对应,锚点的锚点特征信息包括该锚点对应的预测框中包含训练目标的第一置信度、该锚点对应的预测框的中心点坐标、该锚点对应的预测框的宽度和高度;
75.将多个锚点各自的锚点特征信息输入至神经网络的卷积核中,以由所述卷积核提取每一锚点的局部特征关系,并计算锚点对应的预测框中包含训练目标的第二置信度;
76.根据所述第二置信度去除所述多个预测框中的冗余预测框并过滤掉无效预测框,得到训练预测框;
77.根据所述训练预测框中包含训练目标的第二置信度、所述训练预测框的中心点坐标、宽度和高度,以及所述训练图像的真实目标框中包含训练目标的真实置信度、所述真实目标框的中心点坐标、宽度和高度,计算损失值;
78.根据所述损失值对所述神经网络的卷积核进行迭代训练,在训练完成的情况下,得到所述特征提取神经网络。
79.图8是消息通信神经网络的训练方法示意图。如图8所示,被测图像即训练图像,anchor特征即锚点特征。confidence’为第一置信度,x’为锚点对应的预测框的中心点的横坐标,y’为锚点对应的预测框的中心点的纵坐标,w’为锚点对应的预测框的宽度,h’为锚点对应的预测框的高度,confidence”为第二置信度,confidence为真实置信度,x为真实目标框的中心点的横坐标,y为真实目标框的中心点的纵坐标,w为真实目标框的宽度,h为真实目标框的高度。
80.传统方案中,目标检测网络将根据原始图像得到一系列候选目标框(存在大量冗余),再通过greedy nms算法去除冗余。而greedy nms算法无法部署至存内计算芯片中,因此我们设计一种可学习nms网络替代greedy nms算法。
81.可学习nms网络利用了目标检测网络中的anchor设计。anchor普遍存在于传统cnn目标检测网络中,其工作方式为:首先将图像分割为若干个子网格,并且每个子网格都将提出一个或多个anchor,其中包含目标物体的anchor成为候选目标框,其他则为无效框。由于anchor具备候选目标框的全部信息,且相邻的anchor天然地具备空间上相互靠近的特点,因此我们可以使用3d卷积操作,学习局部的anchor特征,处理各个anchor和其他anchor的关系,进而对每个anchor重新计算置信度达到去除冗余的目的。
82.如图8所示,将被测图像送入目标检测网络得到anchor特征,其中黑点表示无效框,三角形、空心方块表示候选目标框(在可视化图像中,则为自行车的两个候选目标框),进一步的由可学习nms网络通过卷积结构提取每个anchor的局部特征关系,并以此重新计算置信度后过滤后即可得到最终目标框(即图中三角形、空心方块)。
83.将最终的目标框和真实目标框进行匹配,并将匹配结果和新置信度送入匹配模块即可得到最后的损失,从而不断迭代训练,最终训练得到可学习nms网络,即消息通信神经网络。
84.基于同一发明构思,本发明还提供一种目标检测系统,所述系统部署于存内计算芯片,所述系统包括的目标检测网络、消息通信神经网络、特征后处理神经网络均部署于所述存内计算芯片中;
85.所述目标检测网络,用于对待检测图像进行处理,得到所述待检测图像中的第一锚点特征信息,其中,每一锚点对应一候选预测框;
86.所述消息通信神经网络,用于对所述第一锚点特征信息进行卷积操作处理,得到第二锚点特征信息;
87.所述特征后处理神经网络,用于根据所述第二锚点特征信息,得到多个锚点各自的目标置信度;
88.结果输出模块,用于根据所述目标置信度,从多个候选预测框中确定目标框,并将所述目标框的信息发送至显示装置,以由所述显示装置对所述目标框进行显示。
89.可选地,所述消息通信神经网络是通过如下方式训练得到的:
90.从训练数据集中获取训练图像;
91.将所述训练图像输入至所述目标检测网络,得到多个锚点各自的锚点特征信息,其中,多个锚点与多个预测框一一对应,锚点的锚点特征信息包括该锚点对应的预测框中
包含训练目标的第一置信度、该锚点对应的预测框的中心点坐标、该锚点对应的预测框的宽度和高度;
92.将多个锚点各自的锚点特征信息输入至神经网络的卷积核中,以由所述卷积核提取每一锚点的局部特征关系,并计算锚点对应的预测框中包含训练目标的第二置信度;
93.根据所述第二置信度去除所述多个预测框中的冗余预测框并过滤掉无效预测框,得到训练预测框;
94.根据所述训练预测框中包含训练目标的第二置信度、所述训练预测框的中心点坐标、宽度和高度,以及所述训练图像的真实目标框中包含训练目标的真实置信度、所述真实目标框的中心点坐标、宽度和高度,计算损失值;
95.根据所述损失值对所述神经网络的卷积核进行迭代训练,在训练完成的情况下,得到所述特征提取神经网络。
96.可选地,所述消息通信神经网络中包括concatenate网络:
97.所述concatenate网络用于将经过卷积处理的第一锚点特征信息与如下信息之一进行拼接:零矩阵、消息通信神经网络上一次输出的锚点特征信息,以扩大锚点特征的感受野;
98.所述消息通信神经网络用于将所述concatenate网络输出的锚点特征信息进行卷积压缩,以得到所述第二锚点特征信息。
99.可选地,所述消息通信神经网络为可学习nms网络。
100.本发明还提供一种存内计算芯片,包括上述实施例中提供的目标检测系统。
101.以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
再多了解一些

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

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

相关文献