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

一种基于RISC-V的TinyML目标检测加速系统、方法、存储介质与流程

2022-05-26 13:21:44 来源:中国专利 TAG:

一种基于risc-v的tinyml目标检测加速系统、方法、存储介质
技术领域
1.本技术涉及深度学习领域,尤其涉及一种基于risc-v的tinyml目标检测加速系统、方法、存储介质。


背景技术:

2.超低功耗微控制器机器学习(machine learning with tensorflow lite on arduino and ultra-low-power microcontrollers,tinyml)是机器学习和嵌入式物联网设备的交叉领域,是一门新兴的工程学科,在边缘计算和节能计算等领域具有十分巨大的应用潜能。当前主流方式为结合arm核使用,但arm核授权费用昂贵。
3.精简指令集计算机(reduced instruction set computer,risc-v)指令集作为新兴的指令集架构,采用宽松的伯克利软件发行版(berkeley software distribution,bsd)协议,有着十分浓厚的开源气息,可实现完全自主可控的系统设计。
4.由于卷积计算复杂,运算量大,现有硬件计算的速度虽然达到了一定标准,但是,还有能够再提速的空间。


技术实现要素:

5.本技术提供了一种基于risc-v的tinyml目标检测加速系统、方法、存储介质,解决了在进行卷积计算时,运算速度难以进一步提升的技术问题。
6.一种基于risc-v的tinyml目标检测加速系统,包括:
7.乒乓缓存单元,与摄像头和risc-v软核e906单元连接,用于缓存摄像头采集到的图像,并将该图像发送到risc-v软核e906单元;
8.risc-v软核e906单元,与所述乒乓缓存单元、指令缓存单元、数据总线连接,用于读取并解析所述指令缓存单元中的指令,并通过所述数据总线控制权重和参数缓存单元、卷积加速单元、卷积缓存单元的进行数据处理;
9.卷积加速单元,与所述数据总线、权重和参数缓存单元和卷积缓存单元连接,用于根据所述权重和参数缓存单元和卷积缓存单元中的数据确定图像识别结果。
10.在本技术的一种实施例中,所述卷积加速单元为乘法器阵列,所述乘法器阵列能够根据模型的不同更换组合阵列。
11.在本技术的一种实施例中,所述权重和参数缓存单元,与所述数据总线和所述卷积加速单元连接,用于存储tinyml模型训练生成的权重数据、量化参数和偏移量参数。
12.在本技术的一种实施例中,所述显示单元,与所述risc-v软核e906单元连接,用于接收并显示图像识别结果。
13.在本技术的一种实施例中,所述系统还包括:摄像头模组,与所述乒乓存储单元连接,用于将采集到的图像发送到乒乓缓存单元。
14.一种基于risc-v的tinyml目标检测加速方法,应用于基于risc-v的tinyml目标检测加速系统中,包括:
15.通过摄像头采集图像,将所述图像输入到乒乓缓存单元;
16.通过所述乒乓缓存单元将采集到的图像输入到risc-v软核e906单元;
17.通过所述risc-v软核e906单元从指令缓存单元中读取指令,将所述指令解析后发送到数据总线,通过所述数据总线控制权重和参数缓存单元、卷积加速单元、卷积缓存单元对图像数据进行处理;
18.通过卷积加速单元将图像识别结果输出到显示单元。
19.在本技术的一种实施例中,所述通过所述乒乓缓存单元将采集到的图像输入到risc-v软核e906单元,具体包括:所述乒乓存储单元包括多个缓存区;摄像头向乒乓存储单元的所述缓存区完成图像数据的发送后,通过乒乓存储单元向所述risc-v软核e906单元发送对应所述缓存区的缓存完成信号;所述risc-v软核e906单元根据所述缓存完成信号,读取所述缓存完成信号对应的缓存区中的图像数据;当所述risc-v软核e906单元读取完成后,通过乒乓存储单元向摄像头发送缓存区读取完成信号,摄像头接收到所述缓存区读取完成信号后,向对应的缓存区发送图像数据;重复执行上述过程,直至数据流读取完成。
20.在本技术的一种实施例中,所述权重和参数缓存单元包括tinyml模型训练生成的权重数据、量化参数和偏移量参数。
21.在本技术的一种实施例中,所述卷积缓存单元用于缓存所述卷积加速单元的输入输出计算数据。
22.一种非易失性存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
23.通过摄像头采集图像,将所述图像输入到乒乓缓存单元;
24.通过所述乒乓缓存单元将采集到的图像输入到risc-v软核e906单元;
25.通过所述risc-v软核e906单元从指令缓存单元中读取指令,将所述指令解析后发送到数据总线,通过所述数据总线控制权重和参数缓存单元、卷积加速单元、卷积缓存单元对图像的处理;
26.通过所述risc-v软核e906单元将图像识别结果输出到显示单元。
27.本技术提供了一种基于risc-v的tinyml目标检测加速系统、方法、存储介质,至少包括以下有益效果:本技术通过采用开源risc-v软核e906单元,可实现控制单元的设计完全自主可控,目标检测由硬件卷积加速单元实现,可根据模型的不同,优化卷积加速计算阵列的排列结构,合理利用卷积加速资源,实现目标检测的快速实现。
附图说明
28.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
29.图1为本技术实施例提供的一种基于risc-v的tinyml目标检测加速系统组成结构图;
30.图2为本技术实施例提供的一种基于risc-v的tinyml目标检测加速方法步骤示意图。
具体实施方式
31.为了使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例对本技术进行清楚、完整的描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
32.tinyml是机器学习和嵌入式物联网设备的交叉领域,是一门新兴的工程学科,在边缘计算和节能计算等领域具有十分巨大的应用潜能。当前主流方式为结合arm核使用,但arm核授权费用昂贵。
33.risc-v指令集作为新兴的指令集架构,采用宽松的bsd协议,有着十分浓厚的开源气息,可实现完全自主可控的系统设计。由于卷积计算复杂,运算量大,现有硬件计算的速度虽然达到了一定标准,但是,还有能够再提速的空间。
34.本技术提供了一种基于risc-v的tinyml目标检测加速系统、方法、存储介质,至少包括以下有益效果:通过本技术采用的开源risc-v软核e906单元,可实现控制单元的设计完全自主可控,目标检测由硬件加速单元实现,可根据模型的不同,优化卷积加速计算阵列的排列结构,合理利用卷积加速资源,实现目标检测的快速实现。下面进行具体说明。
35.图1为本技术实施例提供的一种基于risc-v的tinyml目标检测加速系统的组成结构图,包括:
36.摄像头模组,与乒乓存储单元连接,用于将采集到的图像发送到乒乓缓存单元。
37.乒乓缓存单元,与摄像头和risc-v软核e906单元连接,用于缓存摄像头采集到的图像,并将该图像发送到risc-v软核e906单元。
38.risc-v软核e906单元,为一种开源结构软核,与乒乓缓存单元、指令缓存单元、数据总线连接,用于读取并解析指令缓存单元中的指令,并通过数据总线控制权重和参数缓存单元、卷积加速单元、卷积缓存单元的进行数据处理工作;
39.卷积加速单元,与数据总线、权重和参数缓存单元和卷积缓存单元连接,用于根据权重和参数缓存单元和卷积缓存单元中的数据确定图像识别结果。卷积加速单元为乘法器阵列,乘法器阵列能够根据模型的不同更换组合阵列。
40.权重和参数缓存单元,与数据总线和卷积加速单元连接,存储有tinyml模型训练生成的权重数据、量化参数和偏移量参数,用于接收来自数据总线的控制信号,将存储的数据传送到卷积加速单元。
41.显示单元,与risc-v软核e906单元连接,用于接收并显示图像识别结果。
42.在本技术的一种实施例中,乒乓缓存单元用于乒乓缓存检测的图像,可同时缓存2帧以上图像,当识别完成一帧图像后,重新通过摄像头采集外部数据。risc-v软核e906单元从指令缓存单元读取指令,解析出控制控制信息;从一帧图像乒乓缓存单元读取第一帧图像数据,发送到卷积加速单元,同时开始缓存新的一帧图像数据;控制权重和参数缓存单元顺序提取权重数据、量化参数和偏移量参数,发送到卷积加速单元;控制卷积缓存单元的中间量数据重新发送到卷积加速单元;控制卷积加速单元进行有序计算,生成最终的图像识别结果,输出给显示单元。
43.在本技术的一种实施例中,乒乓缓存单元能缓存多帧图像数据,摄像头也有多个,每个摄像头匹配一帧缓存单元;risc-v软核e906单元按顺序提取乒乓缓存单元中的每一帧
图像数据进行计算,在读取数据的同时,乒乓缓存单元缓存新的对应摄像头数据;输出到显示单元时,输出结果附带摄像头编号。
44.以上为本技术实施例提供的一种基于risc-v的tinyml目标检测加速系统,基于同样的发明思路,本技术实施例还提供了相应的一种基于risc-v的tinyml目标检测加速方法,如图2所示,可以包括以下步骤:
45.s101:通过摄像头采集图像,将图像输入到乒乓缓存单元。
46.s102:通过乒乓缓存单元将采集到的图像输入到risc-v软核e906单元。
47.在本技术的一种实施例中,所述乒乓存储单元包括多个缓存区;摄像头向乒乓存储单元的所述缓存区完成图像数据的发送后,通过乒乓存储单元向所述risc-v软核e906单元发送对应所述缓存区的缓存完成信号;所述risc-v软核e906单元根据所述缓存完成信号,读取所述缓存完成信号对应的缓存区中的图像数据;当所述risc-v软核e906单元读取完成后,通过乒乓存储单元向摄像头发送缓存区读取完成信号,摄像头接收到所述缓存区读取完成信号后,向对应的缓存区发送图像数据;重复执行上述过程,直至数据流读取完成。
48.具体地,提供乒乓缓存单元的两种数据读取方式:
49.实施例1:乒乓缓存单元含有a和b两个缓存区,能存储两帧图像;摄像头模组使用单个摄像头,摄像头将采集的第一帧图像缓存到乒乓缓存单元a区,在完成缓存后由乒乓缓存单元向risc-v软核e906单元发送a区缓存完成的信号;摄像头将采集的第二帧图像缓存到乒乓缓存单元b区,完成缓存后由乒乓缓存单元向risc-v软核e906单元发送b区缓存完成的信号;摄像头模组进入等待状态,当摄像头接收到a区读取完成信号后,将第三帧图像缓存到a区,并由乒乓缓存单元向risc-v软核e906单元发送a区缓存完成的信号;摄像头模组进入等待状态,当摄像头接收到b区读取完成信号后,将第四帧图像缓存到b区,并由乒乓缓存单元向risc-v软核e906单元发送b区缓存完成的信号;
……
;重复上述缓存过程。
50.risc-v软核e906单元接收到乒乓缓存单元a区缓存完成的信号后,开始读取乒乓缓存单元a区的数据,完成后由乒乓缓存单元向摄像头模块发送a区读取完成的信号;risc-v软核e906单元进入等待状态,等待b区缓存完成后,读取b区缓存的数据,完成后由乒乓缓存单元向摄像头模块发送b区读取完成的信号;risc-v软核e906单元进入等待状态,等待a区缓存完成;
……
;重复上述过程,直至将数据流读取完成。
51.实施例2:乒乓缓存单元含有a、b、c、d四个缓存区,能缓存四帧图像;摄像头模组使用四个摄像头,每个摄像头占用一个缓存区。
52.上电后,4个摄像头采集第一帧图像,分别存储到对应的乒乓缓存单元的四个缓存区,缓存完成后,通过乒乓缓存单元向risc-v软核e906单元发送a、b、c、d四个缓存区的缓存完成信号。
53.摄像头a进入等待状态,risc-v软核e906单元开始读取乒乓缓存单元a区数据,读取完成后,通过乒乓缓存单元向摄像头a发送乒乓缓存单元a区读取完成的信号;当接收到乒乓缓存单元a区读取完成,将第二帧数据缓存到乒乓缓存单元a区,并告知risc-v软核e906单元a区缓存完成;重复上述过程,摄像头继续将下一帧数据缓存到乒乓缓存单元a区。
54.摄像头b进入等待状态,risc-v软核e906单元开始读取乒乓缓存单元b区数据,读取完成后,通过乒乓缓存单元向摄像头b发送乒乓缓存单元b区读取完成的信号;当摄像头
接收到乒乓缓存单元b区读取完成的信号,将第二帧数据缓存到乒乓缓存单元b区,并由乒乓缓存单元向risc-v软核e906单元发送b区缓存完成的信号;重复上述过程,摄像头继续将下一帧数据缓存到乒乓缓存单元b区。
55.摄像头c进入等待状态,risc-v软核e906单元开始读取乒乓缓存单元c区数据,读取完成后,通过乒乓缓存单元向摄像头c发送乒乓缓存单元c区读取完成的信号;当摄像头接收到乒乓缓存单元c区读取完成的信号,将第二帧数据缓存到乒乓缓存单元c区,并告知risc-v软核e906单元c区缓存完成;重复上述过程,摄像头继续将下一帧数据缓存到乒乓缓存单元c区。
56.摄像头d进入等待状态,risc-v软核e906单元开始读取乒乓缓存单元d区数据,读取完成后,通过乒乓缓存单元向摄像头d发送乒乓缓存单元d区读取完成的信号;当摄像头接收到乒乓缓存单元d区读取完成的信号,将第二帧数据缓存到乒乓缓存单元d区,并告知risc-v软核e906单元d区缓存完成;重复上述过程,摄像头继续将下一帧数据缓存到乒乓缓存单元d区。
57.需要说明的是,risc-v软核e906单元以相同的方式,顺序读取乒乓单元a区、b区、c区、d区数据;在数据读取完成后,risc-v软核e906单元进入等待状态,等待接收到乒乓缓存单元a区数据缓存完成的信号后,读取乒乓缓存单元a区数据,然后顺序读取b区、c区、d区数据,重复上述读取过程,直至数据流读取完成。
58.s103:通过risc-v软核e906单元从指令缓存单元中读取指令,将指令解析后发送到数据总线,通过数据总线控制权重和参数缓存单元、卷积加速单元、卷积缓存单元对图像数据进行处理。
59.在本技术的一种实施例中,权重和参数缓存单元包括tinyml模型训练生成的权重数据、量化参数和偏移量参数。
60.在本技术的一种实施例中,卷积缓存单元用于缓存卷积加速单元的输入输出计算数据。
61.s104:通过所述risc-v软核e906单元将图像识别结果输出到显示单元。
62.具体地,当卷积加速单元确定图像识别结果时,通过数据总线返回risc-v软核e906单元,再由risc-v软核e906单元将图像识别结果发送到显示单元,由显示单元将图像识别结果输出。
63.基于同样的思路,本技术的一些实施例还提供了上述方法对应的介质。
64.本技术的一些实施例提供的一种基于risc-v的tinyml目标检测加速存储介质,存储有计算机可执行指令,计算机可执行指令设置为:
65.通过摄像头采集图像,将图像输入到乒乓缓存单元;
66.通过乒乓缓存单元将采集到的图像输入到risc-v软核e906单元;
67.通过risc-v软核e906单元从指令缓存单元中读取指令,将指令解析后发送到数据总线,通过数据总线控制权重和参数缓存单元、卷积加速单元、卷积缓存单元对图像进行处理;
68.通过risc-v软核e906单元将图像识别结果输出到显示单元。
69.本技术中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法和介
质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
70.本技术实施例提供的方法和介质与方法是一一对应的,因此,方法和介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述方法和介质的有益技术效果。
71.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程方法商品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程方法商品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程方法商品或者方法中还存在另外的相同要素。
72.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

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

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

相关文献