一种基于可编程逻辑门阵列的骨龄评估方法及系统

文档序号:26540217发布日期:2021-09-07 21:27阅读:97来源:国知局
一种基于可编程逻辑门阵列的骨龄评估方法及系统

1.本发明涉及医学图像处理领域,尤其涉及一种基于可编程逻辑门阵列的骨龄评估方法及系统。


背景技术:

2.骨龄是衡量青少年儿童生长发育的重要指标之一,它能较准确的反映个体的生长发育情况。目前,骨龄广泛应用于卫生、医疗、司法领域。
3.目前市场缺乏骨龄专用系统。现有手骨图片都是基于普通dr机拍摄,非儿童专用,存在射线超标隐患;现有骨龄评估均由临床医师判断,主观性较强。并且研发中的骨龄评估算法基于服务器实现,计算量较大,消耗资源较多,在移动式平台上难以实现。
4.基于上述问题,中国专利cn112801994a提供了一种骨龄评估方法及系统,该方案应用于树莓派,在树莓派接收到骨龄评估请求后,根据骨龄评估请求获取手骨图像以及手骨图像对应的用户性别,进而将手骨图像进行裁剪和直方图匹配,和用户性别进行数值转换后输送到神经计算棒,通过预先训练好部署在神经计算棒中的骨龄评估模型根据手骨图像和所述用户性别进行骨龄评估。该方法通过树莓派实现骨龄评估,无需联网,提高了安全性。同时,将训练好的骨龄评估模型部署到神经计算棒中使用,进一步提高安全性的同时能够利用神经计算棒进行加速处理,从而提高评估的效率。
5.然而,上述方案中依赖于串行设计的树莓派,而树莓派的运行速度低,导致骨龄评估的效率有待提高。
6.并且现有移植方案对特征图以及权重数据的读取是按照卷积滑动窗口中所需的数据从存储器中进行读取,然而滑动窗口的数据在存储器中并不是连续的,这使得从存储器中加载一个滑动窗口所需的数据不能进行连续突发的读写,从而增加了数据的读取时间。


技术实现要素:

7.基于现有技术存在的问题,为了加快骨龄评估的效率,本发明的目的在于提供一种基于可编程逻辑门阵列的骨龄评估方法及系统,用来解决上述背景技术问题。
8.为解决上述问题,本发明的采用的技术方案如下:
9.在本发明的第一方面,本发明提供了一种基于可编程逻辑门阵列的骨龄评估方法,包括:
10.获取手骨图像并对其进行预处理;
11.分批次从可编程逻辑门阵列中的存储器调用训练完成的卷积神经网络的权重参数,并基于所述权重将所述手骨图像进行卷积处理;
12.对应批次从所述存储器调用训练完成的卷积神经网络的偏置参数,并对卷积处理后的特征图进行偏置处理;
13.将每个卷积层中的所有批次的手骨图像偏置处理完成后,对当前卷积层的手骨特
征图进行归一化处理和激活处理;
14.将激活处理后的手骨特征图通过req、ready和data信号线将数据传输到仲裁转换模块中的fifo队列进行暂存,然后通过仲裁转换模块中的轮询仲裁器裁决后将fifo中的数据以axi总线方式存到存储器中,之后从所述存储器中按批次通过axi4总线传输到池化模块中进行池化操作,直至完成所有卷积层的池化操作;
15.将池化操作后的手骨特征图输入到全连接层中,进行softmax分类后得到手骨图像的骨龄评估结果。
16.在本发明的第二方面,本发明还提供了一种基于可编程逻辑门阵列的骨龄评估系统,所述系统搭载于所述可编程逻辑门阵列中,包括:
17.输入模块,用于输入手骨图像并对其进行预处理;
18.缓存模块,用于缓存预处理后的手骨图像、手骨特征图以及卷积神经网络的权重参数和偏置参数;
19.卷积模块,用于对缓存的手骨图像进行卷积处理;
20.归一化模块,用于对卷积完成的手骨特征图进行归一化处理;
21.激活模块,用于对归一化处理后的手骨特征图进行激活;
22.池化模块,用于对激活后的手骨特征图进行池化处理;
23.仲裁转换模块,用于对各个模块对存储器需求的轮询仲裁;
24.存储器,用于存储训练完成的卷积神经网络的权重参数和偏置参数以及手骨特征图;
25.输出模块,用于对池化操作后的手骨特征图分类后,输出手骨图像的骨龄评估结果;
26.控制模块,用于对各个模块进行控制调用。
27.本发明的有益效果:
28.本发明实施例提供的一种基于可编程逻辑门阵列的骨龄评估方法及系统,相对于传统的骨龄评估技术,本发明通过在可编程逻辑门阵列中搭载训练完成的卷积神经网络,批次性地对卷积神经网络的参数进行调用,对每个卷积层的数据进行调用,本发明无需联网即可进行骨龄评估,能够避免手骨图像以及其他数据泄露,提高了评估过程的安全性,同时,本发明的可编程逻辑门阵列通过并行方式对不同卷积层的数据进行处理,能够加快卷积神经网络的运行处理速度,另外,本发明将权重特征图按照一定的方式进行存储,在读取时便可以进行顺序读取从而降低数据读取时间;从而进一步提高评估的效率,本发明采用的卷积运算方式对特征图的数据和权重数据进行复用,从而降低了系统的功耗。
附图说明
29.图1为本发明实施例中一种基于可编程逻辑门阵列的骨龄评估方法流程图;
30.图2为本发明实施例中一种基于可编程逻辑门阵列的骨龄评估系统结构图;
31.图3为本发明优选实施例中一种基于可编程逻辑门阵列的骨龄评估系统结构图;
32.图4为本发明实施例中卷积模块的运算调度图;
33.图5为本发明实施例中权重参数在存储器中的排列方式图;
34.图6为本发明实施例中手骨图像及手骨特征图在存储器中的排列方式图。
具体实施方式
35.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
36.在一个实施例中,如图1所示,提供了一种基于可编程逻辑门阵列的骨龄评估方法,包括:
37.101、获取手骨图像并对其进行预处理;
38.具体的,所述手骨图像为包含手骨的图像,即为目标用户的手部骨骼图像信息,可以通过便携式dr(digital radiography)影像设备获取目标用户的手部骨骼图像信息。
39.示例性的,本发明实施例中,通过串口向x射线发射器发送使能信号、曝光信号、管电压和管电流信号并产生x射线;平板探测器接收所述x射线并生成raw格式的原始手骨图像;将raw格式的手骨图像通过网口传输到可编程逻辑门阵列中进行图像格式转换,将其转换为jpg格式;将jpg格式的手骨图像裁剪为所需的大小,对裁剪后的手骨图像进行去噪以及增强预处理。
40.具体地,当获取到手骨图像后,首先对手骨图像进行裁剪,去掉手骨图像中腕骨以下的图像区域,裁剪后的手骨图像保留腕骨、指骨和掌骨。再利用一些图像匹配算法将裁剪后的手骨图像进行图像匹配。
41.102、分批次从可编程逻辑门阵列中的存储器调用训练完成的卷积神经网络的权重参数,并基于所述权重参数将所述手骨图像进行卷积处理;
42.在本发明实施例中,所述卷积神经网络模型包括输入层、卷积层、池化层、全连接层及输出层;本发明中在pc机上利用手骨图像训练集和手骨图像验证集对所述卷积神经网络进行训练,在这个训练过程中,需要输出所述卷积神经网络中每一层所需要的特征、权重参数、偏置参数,按照批次性地调用这些参数数据对待测手骨图像在每一个卷积层的进行处理。
43.在本发明实施例中,可以将权重参数和手骨图像特征数据加载到某一卷积模块进行乘累加操作,与此同时,准备调用下一批次运算所需的手骨图像特征数据以及权重参数。
44.103、对应批次从所述存储器调用训练完成的卷积神经网络的偏置参数,并对卷积处理后的特征图进行偏置处理;
45.本实施例中,将卷积后的手骨特征图键入偏置参数,即表示对手骨特征图减去一个特定的偏置。
46.104、将每个卷积层中的所有批次的手骨图像偏置处理完成后,对当前卷积层的手骨特征图进行归一化处理和激活处理;
47.在本发明实施例中,当每个卷积层中所有批次的卷积运算都完成以后,对卷积模块输出的手骨特征图进行bn归一化处理,将归一化处理后的手骨特征图继续进行relu激活操作。
48.在本发明的优选实施例中,在进行relu激活操作后,将处理后的手骨特征图通过仲裁转换模块存储到储存器中。
49.105、将激活处理后的手骨特征图通过req、ready和data信号线将数据传输到仲裁
转换模块中的fifo队列进行暂存,然后通过仲裁转换模块中的轮询仲裁器裁决后将fifo中的数据以axi总线方式存到存储器中,之后从所述存储器中按批次通过axi4总线传输到池化模块中进行池化操作,直至完成所有卷积层的池化操作;
50.在本发明实施例中,将激活处理后的特征图通过仲裁转换模块从存储器中按批次通过axi4总线传输到池化模块进行最大或平均池化操作。在进行池化操作时先对手骨特征图进行横向池化,然后再进行纵向池化,最后将计算结果的特征手骨图传输到存储器中预先分配好的地址空间中。
51.106、将池化操作后的手骨特征图输入到全连接层中,进行softmax分类后得到手骨图像的骨龄评估结果。
52.在本发明实施例中,当所有卷积神经网络所有层计算完毕后在arm端进行全连接层计算和softmax分类后得出受检者的手骨年龄,假设其中分类标签为240个类,即代表1到240个月的骨龄,可以输出受检者骨龄评估结果。
53.图2是本发明实施例中一种基于可编程逻辑门阵列的骨龄评估系统结构图;如图2所示,所述骨龄评估系统包括:
54.输入模块,用于输入手骨图像并对其进行预处理;
55.缓存模块,用于缓存预处理后的手骨图像、手骨特征图以及卷积神经网络的权重参数和偏置参数;
56.卷积模块,用于对缓存的手骨图像进行卷积处理;
57.归一化模块,用于对卷积完成的手骨特征图进行归一化处理;
58.激活模块,用于对归一化处理后的手骨特征图进行激活;
59.池化模块,用于对激活后的手骨特征图进行池化处理;
60.仲裁转换模块,用于对各个模块对存储器需求的轮询仲裁;
61.存储器,用于存储训练完成的卷积神经网络的权重参数和偏置参数以及手骨特征图;
62.输出模块,用于对池化操作后的手骨特征图分类后,输出手骨图像的骨龄评估结果;
63.控制模块,用于对各个模块进行控制调用。
64.在本发明的优选实施例中,图3是本发明优选实施例中一种基于可编程逻辑门阵列的骨龄评估系统结构图;如图3所示,所述骨龄评估系统包括:
65.输入模块,用于输入手骨图像并对其进行预处理;
66.所述输入模块通过网口连接内部的图像缓存模块;通过外部的串口向x射线发射器发送使能信号、曝光信号、管电压和管电流信号产生x射线,平板探测器接收所述x射线并生成raw格式的原始手骨图像;将raw格式的手骨图像通过网口传输到可编程逻辑门阵列中进行图像格式转换,将其转换为jpg格式;对手骨图像裁剪为224
×
224大小,之后对图片进行去噪以及增强预处理;将处理好的手骨图像转换为bin格式并储存到可编程逻辑门阵列中的所述图像缓存模块。
67.图像缓存模块,用于缓存预处理后的手骨图像;
68.在一些实施例中,所述图像缓存模块为宽度16位,容量98kb的bram,用于存储受检者224
×
224的手骨图像;所述图像缓存模块可以从存储器中加载相应的手骨图像。
69.特征图缓存模块,用于缓存手骨图像特征图;
70.在一些实施例中,所述特征图缓存模块为宽度16位和深度为1024的fifo。
71.权重缓存模块,用于缓存卷积神经网络的权重参数;
72.在一些实施例中,所述权重缓存模块为宽度16位和深度256的fifo。
73.偏置缓存模块,用于缓存卷积神经网络的偏置参数;
74.在一些实施例中,所述偏置模块为位宽16位和深度为256的fifio。
75.卷积模块,用于对缓存的手骨图像进行卷积处理;
76.所述卷积模块采用的卷积操作包括,先将特征图模块和权重模块中加载好的数据通过简单握手信号req、ready和data三根信号线传输到卷积模块,然后如图4所示,采用16并行度运算,将不同卷积核位置0的数据块所组成的矩阵分别对特征图位置0~15的数据块进行乘累加操作。然后再将卷积核的数据块换成位置1的数据块所组成的矩阵别对特征图位置0~15的数据块进行乘累加操作。以此类推将卷积核所有位置的数据块完成上述乘累加操作后加上偏置运算得出卷积后的特征图。
77.归一化模块,用于对卷积完成的手骨特征图进行归一化处理;
78.所述归一化模块将偏置后的特征图进行batch normalization处理,即对特征图减去一个特定的偏置再乘以一个特定的系数。
79.激活模块,用于对归一化处理后的手骨特征图进行激活;
80.进行relu激活操作后将处理后的手骨特征图通过仲裁转换模块存储到储存器中。
81.池化模块,用于对激活后的手骨特征图进行池化处理;
82.所述池化模块包括最大池化操作和平均池化操作;将通过仲裁转换模块从存储器中按批次通过axi4总线传输到池化模块进行最大或平均池化操作。
83.先将手骨特征图只进行卷积神经网络该层所需池化大小的横向池化操作,然后再将手骨特征图只进行卷积神经网络该层所需池化大小的纵向池化操作。
84.仲裁转换模块,用于对各个模块对存储器需求的轮询仲裁;
85.所述仲裁转换模块作为一个中间模块,该仲裁转换模块负责存储器与其他模块之间的通信;其他模块通过简单握手信号req、ready和data进行数据交换与仲裁转换模块通信,所述仲裁转换模块与存储器之间通过axi4协议进行数据交换。
86.仲裁转换模块先接收多个通道送来的基于简单通信握手协议的数据,然后对多通道数据进行轮询仲裁,将仲裁结果通道的数据转化为axi4协议读写到储器端。
87.存储器,用于存储训练完成的卷积神经网络的权重参数和偏置参数以及手骨特征图;
88.其中,所述存储器的权重参数的排列方式如图5所示。将每个权重通道的数据进行如图所示的分块,在平面上按照权重的尺寸大小进行分快,如图5所示3x3的卷积核,平面分为9个块;在输入通道数上对权重数据进行分块,如图5所示在输入通道上分为2块权重数据,每块表示每批次卷积并行运算时所需的权重通道数k,分批进行卷积运算时先进行第一块数据的运算再进行第二块数据的运算;如图5所示k0~kn

1代表卷积核的输出通道数,将卷积核k0中第0个分块(一个分块有k个通道的数据)存放到存储器的低地址端(为权重存储起始地址),先存放分块数据0的地通道数据,再存放分块数据0的高通道数据;然后再将k1的第0个分块存放到存储器中接下来的位置中,以此类推将卷积核kn

1中的第0个分块数据
存放到存储器中;然后按照上述方式再进行k0的第1个分块数据的储存,k0的第2分块数据的储存直至所有权重数据被储存到存储器中。其中,所述存储器的手骨图像以及手骨特征图的排列方式如图6所示。将手骨图像或者特征图数据进行如图6所示的分块,在通道数上分为两大块,先第一大块中分块0(每个小分块中所含的通道数为每批次进行的卷积所需的手骨图或特征图的通道数)的数据排列到存储器的低地址端,然后再将分块1的数据排列到接下来的地址中,以此类推排列完第一大块中的分块后,再进行第二大块的数据排列,排列方式同上。
89.全连接模块,用于对池化操作后的手骨特征图进行全连接处理;
90.softmax模块,用于对全连接处理后的手骨特征图进行softmax分类后得到手骨图像的骨龄评估结果。
91.控制模块,用于对各个模块进行控制调用。
92.所述控制模块按照卷积神经网络结构,层与层间采用串行执行,每层则通过卷积模块、池化模块并行执行;
93.所述控制模块在卷积神经网络每层计算开始时将卷积所需的特征图和权重的尺寸、通道数、数据卷积前读取和卷积后存储的地址以及长度、卷积步长、padding的个数配置到卷积模块中的寄存器中;将该层池化操作所需的特征图的尺寸、通道数、池化前数据读取和池化后存储的地址以及长度、池化窗口尺寸、池化步长配置到池化模块的寄存器中;将该层进行归一化处理的输入特征图尺寸、通道数、数据归一化处理前读取和处理后存储的地址以及长度配置到归一化处理模块中的寄存器中去;将该层激活所需的特征图的尺寸、通道数、激活前数据读取和激活处理后存储的地址以及长度配置到激活模块;所述控制模块根据各个模块反馈的状态信息(各个模块状态信息分为:空闲、运行中、运行结束)和卷积神经网络每层的结构并按照该结构去依次顺序启动各个模块的运算;最后控制模块启动完成全连接层和softmax运算来完成骨龄评估。
94.在本发明的一个实施例中,上述系统所对应的整个评估过程可以包括:
95.1)将获取到的经过去噪、增强预处理的手骨图像通过网口由图像采集器传输到可编程逻辑门阵列中的图像缓存模块中;
96.2)通过简单的握手通信将图像缓存模块中的手骨图像分批次传输到特征图缓存模块中,与此同时将对应批次的权重数据从存储器中通过axi4总线加载到权重缓存模块。
97.3)将特征图缓存模块和权重缓存模块中的手骨特征图以及权重参数数据传输到卷积模块进行乘累加操作;与此同时图像缓存模块和权重缓存模加载该卷积层运算下一批次运算所需的特征数据和对应的权重参数。当每层中所有批次的卷积运算完成后,对产生的手骨特征图进行batch normalization处理,和relu激活操作后通过仲裁转换模块以axi4总线将手骨特征图存储到存储器中,即将该卷积层计算完成后所产生的手骨特征图储存到预先分配好的地址空间中。
98.4)将步骤3)产生的手骨特征图通过仲裁转换模块从存储器中按批次通过axi4总线传输到池化模块进行最大池化或平均池化操作。然后再将池化后的计算结果的特征手骨图传输到存储器中预先分配好的地址空间中。
99.5)反复执行步骤1)~步骤4),完成神经网络中每一卷积层的卷积计算。
100.6)当所有卷积神经网络所有层计算完毕后在arm端进行全连接层计算和softmax
分类;完成整个基于可编程逻辑门阵列的骨龄评估的计算。
101.在本发明的一个优选实施例中,上述系统所对应的整个评估过程还可以包括步骤a和步骤b的准备阶段,步骤c到步骤g的计算阶段以及步骤h的输出阶段,具体的:
102.步骤a:将训练好的卷积神经网络的权重和偏置存储到可编程逻辑门阵列器件中的存储器中;其中权重数据按照一定排列方式进行存储;再根据pc机训练好的卷积神经网络的结构,计算卷积神经网络结构中每一层所需要的特征、权重、偏置数据的起始地址以及所需的数据长度,以及每层计算完毕的特征图的存储地址,然后将这些数据信息储存到可编程逻辑门阵列控制模块中用于调度卷积神经网络中各个模块的协调工作来有序的完成整个神经网络结构的计算。
103.其中,所述控制模块中存放的整个卷积神经网络中每层所需特征图和权重数据的尺寸信息,通道数信息等数据信息,从存储器中读取特征图和权重的起始地址信息和所读取的数据长度大小等参数,这些参数是用来配置每一层卷积或其他模块操作的。各个模块通过这些配置信息就会知道该层网络中所处理的卷积,池化,bn,激活的图片大小和数据的多少。
104.步骤b:可编程逻辑门阵列通过串口向x射线发生器发送使能信号、曝光信号、管电压和管电流信号产生适量的x射线,然后平板探测器接收x射线并生成raw格式的原始手骨图像。将raw格式的手骨图像通过网口传输到可编程逻辑门阵列中进行图像格式转换,将其转换为jpg格式。然后对手骨图像裁剪为224x224大小,之后对图片进行去噪、增强预处理。最后将处理好的手骨图像转换为bin格式并按照一定的排列方式储存到可编程逻辑门阵列中的图像缓存模块。
105.步骤a和步骤b主要包括将训练完成的卷积神经网络的权重参数和偏置参数存储到可编程逻辑门阵列的存储器中,以及获取手骨图像,这两个步骤主要是为了后续计算阶段做准备。
106.步骤c:通过req、ready和data三根信号线将手骨图像缓存模块中的图像按照每通道16并行度的数据,一共3通道为一批次传输到特征图缓存模块;与此同时将16并行度的权重数据为一批次从内部存储器中通过axi4总线加载到权重缓存模块。
107.步骤d:在卷积模块空闲的状态下将特征图缓存模块和权重缓存模块的数据加载到卷积模块进行卷积操作。将不同卷积核位置0的数据块所组成的矩阵分别对特征图位置0~15的数据块进行乘累加操作。然后再将卷积核的数据块换成位置1的数据块所组成的矩阵别对特征图位置0~15的数据块进行乘累加操作。以此类推将卷积核所有位置的数据块完成上述乘累加操作得出卷积后的特征图。
108.步骤e:将步骤c中得到的卷积后的特征图加上偏置缓存模块中对应的偏置,然后对特征图进行batch normalization处理,即对特征图减去一个特定的偏置再乘以一个特定的系数。然后再进行relu激活操作后将处理后的数据通过仲裁转换模块存储到储存器中。
109.步骤f:将步骤e中产生的特征图通过仲裁转换模块从存储器中按批次通过axi4总线传输到池化模块进行最大或平均池化操作。在进行池化操作时先对手骨特征图进行横向池化,然后再进行纵向池化,最后将计算结果的特征手骨图传输到存储器中预先分配好的地址空间中去。
110.步骤g:通过控制模块的有序调度多次执行步骤c~f来完成整个卷积神经网络对待测手骨图像的计算。
111.步骤h:当所有卷积神经网络所有层计算完毕后在arm端进行全连接层计算和softmax分类后得出受检者的手骨年龄,其中分类标签为240个类,即代表1到240个月的骨龄。
112.在本发明的描述中,需要理解的是,术语“同轴”、“底部”、“一端”、“顶部”、“中部”、“另一端”、“上”、“一侧”、“顶部”、“内”、“外”、“前部”、“中央”、“两端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
113.关于骨龄评估系统的具体限定可以参见上文中对于骨龄评估方法的限定,在此不再赘述。上述骨龄评估系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。
114.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read

only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
115.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
116.在本发明中,除非另有明确的规定和限定,术语“安装”、“设置”、“连接”、“固定”、“旋转”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
117.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1