掌桥专利:专业的专利平台
掌桥专利
首页

基于双线性池化与注意力机制的细粒度眼底图像分级算法

文献发布时间:2023-06-19 11:32:36


基于双线性池化与注意力机制的细粒度眼底图像分级算法

技术领域

本发明属于智能医学影像处理领域,涉及一种基于双线性池化与注意力机制的细粒度眼底图像分级算法。

背景技术

深度学习是机器学习和人工智能研究的最新趋势之一。它也是当今最流行的科学研究趋势之一。深度学习方法为计算机视觉和机器学习领域带来了革命性的进步。近年来,深度学习方法在医学影像处理中得到了广泛的关注。对于一些特定的任务,深度学习方法已经显示出可以与医学专家相匹敌或超越医学专家的表现。

在眼底图像中,可以观测到视网膜病变病灶有微动脉瘤、出血、硬渗出物、棉絮状渗出点和新生血管。根据眼底病变严重程度可将糖尿病视网膜病变分为正常、轻微、中等、严重、增生五个等级。眼底图像病灶种类繁多,患病等级划分标准复杂。有时相邻等级的眼底图像病灶相似,同一等级眼底图像病灶差异很大(见图1),人工判别病变分级往往是不准确且困难的。大部分只能通过医生的估算,并且费时费力。

如何高效精准的对视网膜病变进行分级是眼底图像分析领域中一个重要挑战。在视网膜病变分级中,存在严重的样本不均衡问题。在临床医学中,每个级别的病患数量差异大,病情较重的患者数量占总体检查人数的很小部分,从而使数据中较轻患者和未患病样本数量过多(详情见图2)。样本不均衡会使网络训练在不同类别时的表现不一,训练出的网络不具有鲁棒性。糖尿病视网膜病变眼底图像作为一种多因素导致的疾病,病变种类和病变程度都会导致病变等级的改变,而所有的病变眼底图像特征极其相似,仅在某些出血点或动脉瘤等病变点上有所区别,本质上是一种细粒度图像分割,传统的卷积神经网络并不能对其进行高效率识别。

发明内容

为了解决目前糖尿病视网膜眼底病变图像分级困难以及数据集中存在的样本不均衡问题,本发明提供了一种基于双线性池化与注意力机制的细粒度眼底图像分级算法。

本发明的目的是通过以下技术方案实现的:

一种基于双线性池化与注意力机制的细粒度眼底图像分级算法,包括如下步骤:

步骤一、获取数据集

下载来自Kaggle’s Diabetic Retinopathy Detection Challenge(EyePACS)数据集;

步骤二、数据集预处理

使用Opencv将步骤一中获取到的图像尺寸调整为512×512,将数据集中的过度曝光图像进行去噪处理,并对图像的无用部分进行裁切,使最终得到的图像均包含实验有用信息;

步骤三、搭建非同源卷积神经网络

使用ResNet50和DenseNet121搭建非同源卷积神经网络用于双线性池化,具体步骤如下:

(1)对于两个不同的信息流,将ResNet50和DenseNet121两个网络模型的输出特征f

x=vec(δ(I))∈R

z=y/||y||

其中,M和N为通道数,f

(2)双线性池化通过下列计算形成全局图像描述符:

其中,s表示位置,x

(3)对于两组特征X和Y作如下推导:

其中,B(X),B(Y)表示两个特征向量,

(4)创建一个低维近似来实现降维的目的,则:

步骤四、引入注意力机制模块

(1)对输入特征图进行全局平均池化:

其中,H和W是特征图的高和宽,x(i,j)表示特征图的每个像素,ν为注意力机制的输出;

(2)将得到的特征向量经过两个全连接层和激活函数处理:

y=F(v,W)=δ(W

其中,W

(3)将特征向量y逐通道与输入特征图x相乘,得到的注意力特征图即为输出特征图;

步骤五、损失函数的选取

使用补充交叉熵损失函数来计算网络的反向传播损失,补充交差熵损失函数的计算公式如下:

其中,

步骤六、训练神经网络

使用Pytorch对搭建的网络模型进行训练;

步骤七、生成预测文件

针对测试集,生成预测的csv文件,进行指标测试。

相比于现有技术,本发明具有如下优点:

1、本发明提出的基于深度学习CNN的双线性池化神经网络模型与注意力机制模块相结合的针对糖尿病视网膜病变眼底图像分级检测分类算法,使用两组非同源的CNN提取眼底数据集络图片特征,将两组不同CNN模型的输出作为输入,通过补充交叉熵损失函数计算损失反向传播网络,最后得到的网络结构去进行测试。这种双线性池化结构结合注意力机制的神经网络模型,是一种新颖糖尿病视网膜病变眼底图像分级分类方法。

2、本发明基于双线性池化模型与注意力机制模块相结合的糖尿病视网膜病变眼底图像分级检测算法是一种准确高效的自动检测和分类算法,对临床有着极其重要的价值,具有广阔的应用场景。

附图说明

图1为糖尿病视网膜病变数据集图像,(a)Ⅰ级糖网图像,(b)Ⅰ级糖网图像,(c)Ⅱ级糖网图像;

图2为训练集和测试集各类别图像分布图;

图3为糖尿病视网膜病变眼底图像分级训练框架;

图4为本发明所使用的注意力模块示意图。

具体实施方式

下面结合附图对本发明的技术方案作进一步的说明,但并不局限于此,凡是对本发明技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的保护范围中。

本发明提供了一种基于双线性池化与注意力机制的细粒度眼底图像分级算法,所述算法包括如下步骤:

步骤一:获取数据集

下载来自Kaggle’s Diabetic Retinopathy Detection Challenge(EyePACS)数据集。

步骤二:数据集预处理

使用Opencv将步骤一中获取到的图像尺寸调整为512×512,将数据集中的一些过度曝光图像进行去噪处理,并对图像的无用部分进行裁切,使最终得到的图像均包含实验有用信息。

步骤三:搭建非同源卷积神经网络

搭建非同源卷积神经网络用于双线性池化,使用的卷积神经网络分别为ResNet50和DenseNet121,具体的网络模型见图3。

对于两个不同的信息流,将ResNet50和DenseNet121两个网络模型的输出特征f

x=vec(δ(I))∈R

z=y/||y||

其中,M和N为通道数,f

这里的s表示位置,x

其中,B(X),B(Y)表示两个特征向量,

使用k(x,y)来表示这个二阶多项式核函数。如果我们能找到低维的投影函数φ(x)∈R

<φ(x),φ(y)>≈k(x,y);

其中,φ(x)∈R

即使得降维到d维后的内积约等于原来k(x,y)中c

其中,C(X)=∑

步骤四:注意力机制模块的引入

注意力机制采用特征图作为输入(图4),首先对其进行特征聚合操作,即全局平均池化,将特征图聚合成1×1×C的特征向量。然后进行激励操作,将特征向量两次输入到全连接层。在模型中,两条数据流均应用了相同结构的注意力机制模块,两个注意力模块分别在两条数据流中发挥不同的作用,这使双线性模型的特征提取能力更加优秀,从而提升分级模型的表现。

在模块中首先对输入特征图进行全局平均池化:

其中,H和W是特征图的高和宽,x(i,j)表示特征图的每个像素,ν为注意力机制的输出。

其次,得到的特征向量经过两个全连接层和激活函数处理:

y=F(v,W)=δ(W

其中,W

步骤五:损失函数的选取

本发明采用的框架为Pytorch,损失函数为补充交差熵。传统的交叉熵忽略了错误类的输出分数。而减小错误类别的预测概率有助于提高不平衡图像分类的预测精度。补充交叉熵(CCE loss)通过中和错误类的概率使得GroundTruth类在Softmax概率方面比其他类大,而不需要额外的训练程序。与此同时,这种损失使模型更容易从少数类的样本中学习关键信息。对于不平衡的类分布,它保证了分类结果的准确性和鲁棒性。补充交叉熵用来解决不平衡数据集的性能退化问题。补充交叉熵是由非标签类别样本训练驱使的。它不需要额外增加样本或提高少数类的损失的数量规模。相反,该方法利用不正确类的信息来训练不平衡类分布的鲁棒分类模型。因此,这种策略提供了更好的学习机会,特别是对于少数类别的样本,因为它鼓励正确的类别(包括少数类别)在所有其他不正确的类别中大于其SoftMax分数。补充熵C由每个Batch中不正确类的样本熵的平均值计算得出。公式定义如下:

其中,N为mini-batch中的样本数,K为类别总数,

式中,

该损失相对于focal loss的优点在于其不需要权重来平衡loss的内部关系,其可以通过样本本身的关系解决样本不平衡的问题。

步骤六:训练神经网络

使用Pytorch实现网络训练。分别使用ResNet50和DenseNet121对网络进行初始化。ResNet50和DenseNet121使用了Adam学习策略。Adam的初始步长是10

表1

步骤七:生成预测文件

网络训练好了之后,针对测试集,生成预测的csv文件,进行指标测试。

本发明使用的训练数据来自Kaggle’s Diabetic Retinopathy DetectionChallenge(EyePACS)数据集。训练集提供35k张图像,在不同条件和各种设备下拍摄。每个受试者都有一个左右眼数据图像,临床医生在0到4的范围内对每张图像中是否存在糖尿病视网膜病变进行评分。由于测试集的标签未被公开,所以本发明将训练集的图像按照8:2的比例随机划分,即:训练集占80%,约28k张图像;测试集占20%,约7k张图像。

为了评价模型的分类性能,本发明采用Accuracy作为实验评价指标。Accuracy公式定义如下:

其中,Y

本发明的网络模型用常用的机器学习评价指标得到的结果如表2所示:

表2

本发明中使用了GPU加速计算。使用的显卡型号是NVIDIA RTX2080TI。在训练CNN的过程中,使用的学习率为0.00001,BatchSize为12,图片尺寸是512×512。

相关技术
  • 基于双线性池化与注意力机制的细粒度眼底图像分级算法
  • 基于双线性池化应用于CT影像的颅内出血亚类型分类算法
技术分类

06120112965088