技术领域
本发明属于信息处理技术领域,具体涉及一种基于FPGA边缘计算的医学信息处理方法。
背景技术
卷积神经网络近来在图像识别领域中占据了主导地位。CNN的主要优势在于其可靠的视觉表示能力,能对给定的训练数据集进行识别和检测,G.S.Jayalakshmi等在卷积神经网络中加入批标准化(Batch Normalization)操作,减小了模型的过拟合,在皮肤损伤图像的二分类中获得较好的分类效果。
Hu通过掩盖的数据增强与深度卷积残差网络相结合的集成分类方法对黑色素瘤进行预测;通过随机和非随机掩盖的数据增强法增加了训练数据集的数量,但是对提取病灶区域的关键信息意义不大。
Lequan Yu等提出用于分割的全卷积神经网络和用于分类的深度残差网络。AmirrezaMahbod等通过多尺度,多网络集成的迁移学习对皮肤损伤进行分类。该方法分别以多个尺寸作为网络特征输入,由三个网络通道作为特征提取器,最后获得分类结果。该方法仅通过少量的皮肤损伤图像的训练便得到较好的分类效果。
Hang Li等人通过迁移学习将预训练的ResNet-152的残差神经网络用来提取皮肤病变的深度卷积层特征,然后利用支持向量机SVM对提取的黑色素瘤特征进行分类。ShetuRani Guha等使用自定义的CNN和VGG16进行迁移学习对多种皮肤疾病进行分类。
以上几种皮肤病分类模型虽然在准确率上达到了较高水平,但其权重参数都非常大,需要大型的信息处理服务器进行信息处理。但是根据WHO的统计数据,每年皮肤病发病病例数量之多,且难以向基层和偏远地区普及大型信息处理服务器。
发明内容
发明目的:本发明的目的在于提供一种基于FPGA边缘计算的医学信息处理方法,通过边缘计算的方式,把一部分计算任务分配到边缘设备上。
技术方案:为实现上述目的,本发明采用如下技术方案:
一种基于FPGA边缘计算的医学信息处理方法:包括如下步骤:
1)拍摄皮肤病图像并上传到FPGA边缘计算设备进行毛发去除预处理和病灶区域边缘轮廓分割预处理,生成原始皮肤病图像和分割后的病灶图像集合;
2) FPGA边缘计算设备使用其搭载的IR-BNnet模型对集合中的所有图像进行处理;所述的FPGA边缘计算设备搭载的IR-BNnet模型包括IR_Block、BN_Block、全连接层和Softmax分类器;
3)信息处理服务器使用搭载的双通道深度学习模型对FPGA的信息处理结果中类别识别概率值低于60%的模糊处理案例进行二次处理。
进一步地,所述的步骤1)中,毛发去除预处理的具体过程如下:
1.1a)对每个皮肤病图像的像素进行灰度化处理,灰度变换的函数为
其中
其中
1.2a)定义一个X型的卷积核,对灰度图像进行黑帽运算,得到图像内部毛发区域;
其中
1.3a)利用阈值分割得到毛发区域的大小;
1.4a)利用opencv的inpaint图像修补函数对图像修复。
进一步地,所述的步骤1)中,病灶区域边缘轮廓分割预处理的具体过程如下:
1.1b)对每个皮肤病图像进行自适应阈值灰度化处理,得到灰度图像;
1.2b)对灰度图像进行二值化处理,先计算像素平均值,若像素值小于等于像素平均值,则令该像素值为255;若像素值大于像素平均值,则令该像素值为0,从而获得二值化图像;
1.3b)计算每个二值化图像中像素值为 255的像素点覆盖区域面积
1.4b)对每幅图像的剩余区域重新涂色后,实现了图像的边缘轮廓分割,得到分割后图像。
进一步地,所述的步骤2)中,所述的IR_Block中包括3层改进的反转残差层和1层最大池化层;所述的BN_Block中包括5层CNN卷积层和2层最大池化层。
进一步地,所述的步骤2)中,IR_Block反转残差层做出的改进是将原反转残差块中的3×3的depthwise卷积替换为两个2×2的depthwise卷积,减少参数的同时增加网络深度;其具体实现如下:
2.21)当步长为1时,输入首先经过1×1的Conv卷积进行通道数的扩张,此时激活函数为ReLU6,然后连续经过两个2×2的depthwise卷积,激活函数是ReLU6,接着经过1×1的pointwise卷积,将通道数压缩回去,激活函数是Linear,将输出和输入相加,得到最终输出;
2.22)当步长为2时,输入首先经过1×1的Conv卷积进行通道数的扩张,激活函数为ReLU6;然后连续经过两个2×2的depthwise卷积,激活函数是ReLU6;最后经过1×1的pointwise卷积得到最终输出。
进一步地,所述的步骤2)中,BN_Block在每个CNN卷积层的激活函数之前插入批归一化操作,从而达到加快模型收敛的效果,具体包括如下步骤:
2.31)输入首先经过3×3的Conv卷积提取特征信息,接着在该层激活函数之前加入批归一化操作,对输出的特征进行收敛,然后将该层输出作为输入再次进行3×3的Conv卷积和批归一化操作,最后通过最大池化层过滤冗余特征信息得到该层最终输出;
2.32)将上层最终输出作为该层输入连续进行3次进行3×3的Conv卷积和批归一化操作,最后通过最大池化层输出BN_Block模块的最终输出。
进一步地,所述的步骤2)中,IR-BNnet模型的具体实现如下:
2.1)IR-BNnet模型将原始皮肤病图像样本与分割后的病灶图像集合,分别输入特征提取器后得到分类结
2.2)输入的皮肤病图像样本初始尺寸为
2.3)然后使用最大池化层下采样,去除冗余信息,得到下一层卷积神经网络模块的特征输入尺寸为
2.4)最后通过全连接层和
进一步地,对所述的IR-BNnet模型的训练和调优过程中,加入自适应L
进一步地,所述的步骤3)中,二次处理具体为:
信息处理服务器采用双通道卷积神经网络模型GL-CNN分别提取病灶区域的局部特征和皮肤病图像的全局特征,通道1是ResNet101残差网络,通道2是Global-CNN卷积神经网络;
所述的GL-CNN包括两个卷积神经网络分支,每个分支处理不同区域的输入图像,其中分割出的病灶区域图像输入到通道1的残差网络ResNet101分支中提取局部特征,并把整体图像输入到通道2中,该通道是由7层卷积层和1层全局平均池化层组成的Global-CNN卷积神经网络,用于提取皮肤病图像的全局特征,接着把通道1和通道2两个分支分别提取的局部特征和全局特征通过Concat函数融合起来;
最后通过全连接层和Softmax分类器输出信息处理服务器的处理结果。
有益效果:与现有技术相比,本发明的一种基于FPGA边缘计算的医学信息处理方法,通过拍摄皮肤病图像获取未处理的医学信息,并上传至FPGA边缘计算设备进行预处理,FPGA边缘计算设备使用其搭载的IR-BNnet模型对皮肤病图像进行信息处理,同时将FPGA的信息处理结果中类别识别概率值较低的模糊处理案例再次上传到信息处理服务器,由信息处理服务器搭载的双通道模型GL-CNN对皮肤病进行更精确的二次处理,二次信息处理结果分别发送到FPGA边缘计算设备和数据平台;本发明通过搭载IR-BNnet模型能综合使用复杂高精度的深度学习方法和轻便型深度学习方法对大量的医学信息进行精确分类,提高信息处理效率。
附图说明
图1是本发明中医学信息处理方法框架图;
图2是本发明中图像预处理流程图;
图3为FPGA端医学信息处理方法模型IR-BNnet网络结构图;
图4为医学信息处理方法模型GL-CNN网络结构图;
图5为原MobilenetV2中步长为1时的反转残差操作图;
图6为原MobilenetV2中步长为2时的反转残差操作图;
图7为改进后步长为1时的反转残差操作图;
图8为改进后步长为2时的反转残差操作图;
图9为使用IR-BNnet对测试集评估得到的混淆矩阵图;
图10为使用GL-CNN对测试集评估得到的混淆矩阵图。
具体实施方式
以下结合具体实施方式对本发明做进一步的说明。
一种基于FPGA边缘计算的医学信息处理方法,具体包括如下步骤:
1)拍摄皮肤病图像并上传到FPGA边缘计算设备进行毛发去除和病灶区域边缘轮廓分割两步预处理,生成原始皮肤病图像和分割后的病灶图像集合;
2) FPGA边缘计算设备使用其搭载的IR-BNnet模型对集合中的所有图像进行处理;
3)信息处理服务器使用搭载的双通道深度学习模型对对FPGA的信息处理结果中类别识别概率值低于60%的模糊处理案例进行二次处理。
在步骤1)中,毛发去除预处理的具体过程如下:
1.1a)对每个对象的像素进行灰度化处理,灰度变换的函数为
其中
其中
1.2a)定义一个X型的卷积核,对灰度图像进行黑帽运算,得到图像内部毛发的区域;
其中dst表示黑帽图像,blackhat()表示黑帽操作,src表示原图像,element表示图像中的颗粒度;close(src,element)表示闭运算图像;
1.3a)利用阈值分割得到毛发区域的大小;
1.4a)利用opencv的inpaint图像修补函数对图像修复;
在步骤1)中,分割预处理的算法的具体过程如下:
1.1b)对每个对象的像素进行自适应阈值Z灰度化处理;
1.2b)对灰度图像进行二值化处理,先计算像素平均值,若像素值小于等于像素平均值,则令该像素值为255;若像素值大于像素平均值,则令该像素值为0,从而获得二值化图像;
1.3b)计算每个二值化图像中像素值为 255的像素点覆盖区域面积
1.4b)对每幅图像的剩余区域进行重新涂色,从而获得分割后图像。
在步骤2)中,FPGA边缘计算设备搭载的IR-BNnet模型由IR_Block(反转残差模块)、BN_Block(批归一化卷积模块)、1层完全连接层和Softmax分类器组成;IR_Block(反转残差模块)中包括3层改进的反转残差层(2×2 Inverted Residual)和1层最大池化层;BN_Block(批归一化卷积模块)中包括5层CNN卷积层和2层最大池化层。
改进的反转残差操作将原反转残差块中的3×3的depthwise卷积替换为两个2×2的depthwise卷积,降低参数的同时增加网络深度;其具体实现如下:
2.21)当步长为1时,输入首先经过1×1的卷积进行通道数的扩张,此时激活函数为ReLU6,然后连续经过两个2×2的depthwise卷积,激活函数是ReLU6,接着经过1×1的pointwise卷积,将通道数压缩回去,激活函数是Linear,将输出和输入进行相加,得到最终输出;
2.22)当步长为2时,输入首先经过1×1的卷积进行通道数的扩张,激活函数为ReLU6;然后连续经过两个2×2的depthwise卷积,激活函数是ReLU6;最后经过1×1的pointwise卷积得到输出;
BN_Block(批归一化卷积模块)中在每个CNN卷积层的激活层之前插入批归一化操作,从而达到加快模型收敛的效果,具体包括如下步骤:
2.31)输入首先经过3×3的Conv卷积提取特征信息,接着在该层激活函数之前加入批归一化操作,对输出的特征进行收敛,然后将该层输出作为输入再次进行3×3的Conv卷积和批归一化操作,最后通过最大池化层过滤冗余特征信息得到该层最终输出;
2.32)将上层最终输出作为该层输入连续进行3次进行3×3的Conv卷积和批归一化操作,最后通过最大池化层输出BN_Block模块的最终输出。
综上,IR-BNnet的具体实现如下:
2.1)IR-BNnet模型将原始皮肤病图像样本与分割后的病灶图像集合,分别输入特征提取器后得到分类结
2.2)输入的皮肤病图像样本初始尺寸为
2.3)然后使用最大池化层下采样,去除冗余信息,得到下一层卷积神经网络模块的特征输入尺寸为
2.4)最终通过完全连接层连接
对IR-BNnet模型的训练和调优过程中,加入自适应L
在步骤3)中,二次处理具体为:信息处理服务器采用双通道卷积神经网络模型GL-CNN分别提取病灶区域的局部特征和全局特征,通道1是ResNet101残差网络,通道2是Global-CNN卷积神经网络;
GL-CNN包括两个卷积神经网络分支,每个分支处理不同区域的输入图像,其中分割出的病灶区域图像输入到通道1的残差网络ResNet101分支中提取局部特征,并把整体图像输入到通道2中,该通道是由7层卷积层和1层全局平均池化层组成的Global-CNN卷积神经网络,用于提取皮肤病图像的全局特征,接着把两个分支提取的局部特征和全局特征通过Concat函数融合起来,最后通过完全连接层和Softmax分类器输出信息处理服务器的处理结果。
实施例
首先通过python的keras框架构建FPGA端皮肤病模型IR-BNnet神经网络和信息处理服务器端皮肤病模型GL-CNN网络,网络结构如图3和图4所示。
IR-BNnet由IR_Block(反转残差模块)、BN_Block(批归一化卷积模块)、1层完全连接层和Softmax分类器组成,IR_Block(反转残差模块)中包括3层改进的反转残差层(2×2Inverted Residual),如图5-8所示,将原反转残差块中的3×3的depthwise卷积替换为两个2×2的depthwise卷积,在降低参数的同时增加网络深度,从而提取更多特征信息。当步长为1时,输入首先经过1×1的卷积进行通道数的扩张,此时激活函数为ReLU6,然后连续经过两个2×2的depthwise卷积,激活函数是ReLU6,接着经过1×1的pointwise卷积,将通道数压缩回去,激活函数是Linear,将输出和输入进行相加,得到最终输出;当步长为2时,输入首先经过1×1的Conv卷积进行通道数的扩张,激活函数为ReLU6;然后连续经过两个2×2的depthwise卷积,激活函数是ReLU6;最后经过1×1的pointwise卷积得到最终输出。
IR_Block(反转残差模块)对刚输入的皮肤病图像进行扩张、卷积和压缩提取特征信息;接着BN_Block(批归一化卷积模块)对提取的特征信息进行深度分析,最后通过完全连接层和Softmax分类器输出皮肤病信息处理结果
当FPGA的信息处理结果
本发明构建了一个中型医学信息图像数据集D0,该数据集包括BCC(基底细胞瘤)、BKL(良性角质炎)、MEL(黑色素瘤)、NV(痣)四大类,共计11817张图像。每类医学信息图像都分为训练集和测试集,按照4:1的比例划分,其中训练集数据9379张,测试集2438张。
表1 数据集D0的组成
如图2所示,首先通过数据预处理对医学信息图像数据集D0的病变区域进行去除毛发和病灶分割得到分割后的数据集D1,而后将D0和D1组合成新的数据集D2;将D2的训练样本到FPGA端医学信息模型IR-BNnet中进行医学信息识别输出分类,将D0和D1的训练样本到信息处理服务器端医学信息模型GL-CNN中进行医学信息识别输出分类结果。
根据测试图像的分类结果计算精度,并绘制医学信息识别的混淆矩阵如图9和图10所示。混淆矩阵对角线上的值分别表示每类医学信息的识别精度,其中IR-BNnet模型对医学信息的识别精度很高。
本发明通过搭载IR-BNnet模型能综合使用复杂高精度的深度学习方法和轻便型深度学习方法对大量的医学信息进行精确分类,提高信息处理效率。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权力要求的保护范围为准。
机译: 基于计算机的用于处理地下矿井中的多次潜水的方法,存在的介质,基于计算机的用于基于矿井中的矿物处理井底数据的方法的方法一个基于计算机的地下信息系统。根据地下矿井中的矿物来处理数据,并基于计算机对地下矿井中的数据进行处理的方法,仓储腿目前的计算机系统是基于计算机的,用于处理基于地下的一种形式的多次潜水。计算机根据地下矿井中的矿物质来处理数据u00e7o地下,以及基于计算机的数据处理方法
机译: 信息存储卡,医学信息处理系统,数据库中心计算机系统,医学信息处理方法和医学信息存储处理方法
机译: 用于分割医学图像数据结构的医学图像数据后处理方法,涉及基于计算出的轮廓计算结构的表面,并基于图像数据和计算出的轮廓进行连续表面计算