一种基于FPGA加速的二值神经网络处理医学影像的方法及相关设备与流程

文档序号:37517276发布日期:2024-04-01 14:29阅读:8来源:国知局
一种基于FPGA加速的二值神经网络处理医学影像的方法及相关设备与流程

本发明涉及医学图像处理领域,具体涉及一种基于fpga加速的二值神经网络处理医学影像的方法及相关设备。


背景技术:

1、神经网络方法已普遍用于智能医学影像处理领域,通常采用gpu进行计算,为了在保证同等精度的情况下减少运算量和能耗,神经网络压缩技术应运而生,主要技术包括网络结构剪枝和分解,网络知识蒸馏和网络参数量化等。网络参数量化主要是将网络中32位或者64位浮点型参数量化为8位的整型,在同等规模的参数量下,存储需求降低了4到8倍。同时,为了进一步提升运算效率和降低硬件成本,以及满足在边缘设备上的集成,使用fpga模块部署神经网络进行加速运算成为了一种选择。一般的流程为,训练浮点型全精度参数的cnn网络模型,将其部署在fpga中并行计算加速;更进一步,将网络参数量化后再部署fpga,使得cnn模型在低能耗的嵌入式设备上也可以有快速的推理时间。

2、上述所述方法,为了降低功耗和成本以及加速网络推理速度,主流的方案是对神经网络模型量化后部署在fpga上并行计算,但仍然存在一些问题。首先,网络参数量化只应用在推理阶段,针对的是已结束训练的神经网络参数,可预见的是在降低参数存储量和运算量的同时,必然引入一定的推理精度损失,因为训练得到的参数与实际推理阶段的参数存在精度上的误差,其运算结果必然存在相应的误差。其次,将量化后的神经网络部署在fpga上的过程,是使用硬件描述语言重写神经网络涉及的运算,如卷积运算,批归一化操作等,参数量化后的神经网络运算过程依然需要做整型加法和乘法,意味着完成一次加法/乘法操作依然需要多个fpga的逻辑运算单元进行组合,且需要消耗多个时钟周期。


技术实现思路

1、本发明的目的在于解决上述背景技术中描述的现有技术方案的缺点,提供一种基于fpga加速的二值神经网络处理医学影像的方法及相关设备,使用了可训练的bnn,在部署fpga时不存在量化误差,且位逻辑运算大大发挥了fpga的优势。

2、本发明通过以下技术方案予以实现:第一方面,本发明提供了一种基于fpga加速的二值神经网络处理医学影像的方法,包括以下步骤:

3、s101,获取医学影像;

4、s102,使用轻量级的卷积模块预处理医学影像,通过激活函数输出多通道二值特征图;

5、s103,通过二值神经网络bnn结构对多通道二值特征图进行训练,实现基于位的逻辑运算,避免量化误差;

6、s104,使用硬件描述语言实现重构基于位逻辑运算的神经网络相关操作,并部署在fpga;

7、s105,为已部署bnn的fpga设计外围电路,集成得到处理专用任务的硬件模组。

8、进一步地,s102中的卷积模块设置有2层,每层均由卷积层、批归一化层和激活函数组成,其中激活函数选择relu函数。

9、进一步地,s103中所述二值神经网络bnn结构选用u-net、hr-net中的一种作为主干网络,且卷积操作、激活函数均由位的逻辑操作实现。

10、进一步地,bnn网络结构的输入输出以及网络参数均由0或1构成,且bnn网络结构参与训练,训练阶段与推理阶段的权重一致。

11、进一步地,s105中所述为已部署好bnn的fpga设计外围电路,集成得到处理专用任务的硬件模组,包括:

12、为已部署好bnn的fpga设计外围电路,增加必要的控制模块,其中,必要的控制模块包括:存储模块、io模块、控制器单元,集成得到处理专用任务的硬件模组,通过针对特定任务实现即插即用,方便地应用在边缘设备的嵌入式系统中。

13、第二方面,本发明还提供一种基于fpga加速的二值神经网络处理医学影像的装置,该装置包括:

14、获取模块,用于获取医学影像;

15、预处理卷积模块,用于使用轻量级的卷积模块预处理医学影像,通过激活函数输出多通道二值特征图;

16、二值神经网络bnn模块,用于通过二值神经网络bnn结构对多通道二值特征图进行训练,实现基于位的逻辑运算,避免量化误差;

17、部署fpga模块,用于使用硬件描述语言实现重构基于位逻辑运算的神经网络相关操作,并部署在fpga;

18、设计外围电路模块,用于为已部署bnn的fpga设计外围电路,集成得到处理专用任务的硬件模组。

19、第三方面,本发明还提供一种基于fpga加速的二值神经网络处理医学影像的设备,所述设备包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序指令,其中,所述处理器用于执行存储器中存储的计算机程序指令,以实现上述所述的基于fpga加速的二值神经网络处理医学影像的方法。

20、第四方面,本发明还提供一种基于fpga加速的二值神经网络处理医学影像的计算机存储介质,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述所述的基于fpga加速的二值神经网络处理医学影像的方法。

21、本发明提供了一种基于fpga加速的二值神经网络处理医学影像的方法及相关设备,针对医学影像的特点,首先使用轻量级的卷积模块预处理医学影像,接着引入bnn网络结构,基于位逻辑运算实现卷积等操作,保证训练阶段和推理阶段的运算都是基于位的逻辑运算,相比于传统cnn,使模型更轻量的同时,还避免了模型量化误差。同时本发明进一步结合fpga的对逻辑运算的优势,将bnn部署在fpga上以获得更高的性能。另外,本发明对部署好bnn模型的fpga设计好外围电路,可以组成即插即用的硬件模组,可以很方便地应用在边缘设备的嵌入式系统中,应用在手术导航机器人等领域。



技术特征:

1.一种基于fpga加速的二值神经网络处理医学影像的方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于fpga加速的二值神经网络处理医学影像的方法,其特征在于,s102中的卷积模块设置有2层,每层均由卷积层、批归一化层和激活函数组成,其中激活函数选择relu函数。

3.根据权利要求1所述的一种基于fpga加速的二值神经网络处理医学影像的方法,其特征在于,s103中所述二值神经网络bnn结构选用u-net、hr-net中的一种作为主干网络,且卷积操作、激活函数均由位的逻辑操作实现。

4.根据权利要求3所述的一种基于fpga加速的二值神经网络处理医学影像的方法,其特征在于,bnn网络结构的输入输出以及网络参数均由0或1构成,且bnn网络结构参与训练,训练阶段与推理阶段的权重一致。

5.根据权利要求1所述的一种基于fpga加速的二值神经网络处理医学影像的方法,其特征在于,s105中所述为已部署好bnn的fpga设计外围电路,集成得到处理专用任务的硬件模组,包括:

6.一种基于fpga加速的二值神经网络处理医学影像的装置,其特征在于,包括:

7.一种基于fpga加速的二值神经网络处理医学影像的设备,其特征在于,

8.一种基于fpga加速的二值神经网络处理医学影像的计算机存储介质,其特征在于,


技术总结
本发明提供了一种基于FPGA加速的二值神经网络处理医学影像的方法及相关设备,针对医学影像的特点,使用轻量级的卷积模块预处理医学影像后,引入BNN网络结构,基于位逻辑运算实现卷积等操作,保证训练阶段和推理阶段的运算都是基于位的逻辑运算,相比于传统CNN,使模型更轻量的同时,还避免了模型量化误差。同时本发明进一步结合FPGA的对逻辑运算的优势,将BNN部署在FPGA上以获得更高的性能。另外,本发明为已部署BNN模型的FPGA设计外围电路,组成即插即用的硬件模组,可以很方便地集成到边缘设备的嵌入式系统中,并进一步应用于手术机器人等领域。

技术研发人员:丁玉国,翟方文,乔天
受保护的技术使用者:杭州键嘉医疗科技股份有限公司
技术研发日:
技术公布日:2024/3/31
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1