CN113222072A - 基于K-means聚类和GAN的肺部X光图像分类方法 - Google Patents
基于K-means聚类和GAN的肺部X光图像分类方法 Download PDFInfo
- Publication number
- CN113222072A CN113222072A CN202110645538.8A CN202110645538A CN113222072A CN 113222072 A CN113222072 A CN 113222072A CN 202110645538 A CN202110645538 A CN 202110645538A CN 113222072 A CN113222072 A CN 113222072A
- Authority
- CN
- China
- Prior art keywords
- image
- network
- label
- loss
- classification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H30/00—ICT specially adapted for the handling or processing of medical images
- G16H30/20—ICT specially adapted for the handling or processing of medical images for handling medical images, e.g. DICOM, HL7 or PACS
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Multimedia (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Radiology & Medical Imaging (AREA)
- Epidemiology (AREA)
- Medical Informatics (AREA)
- Primary Health Care (AREA)
- Public Health (AREA)
- Image Analysis (AREA)
Abstract
本发明提出基于K‑means聚类和GAN的肺部X光图像分类方法。首先,使用ResNet‑20网络提取图像特征信息,学习每类带有标签的肺部X光图像的特征,将提取的每类图像的特征取平均值作为图像聚类的中心,再提取无标签图像的特征与聚类中心计算带权重的欧几里得距离进行标签预测为无标签的图像粗分类。最后将粗分类的结果与少量的标签图像,生成器生成的图像及大量的无标签图像送入鉴别器网络进行细分类。实验结果表明,与最先进的肺部X光图像分类方法(准确度94%)相比,我们的方法使用了不到30%的标记样本,可实现高效的性能(准确度93.15%)。实验证明该方法很好的做到了使用少量标签数据进行肺部X光图像分类。
Description
技术领域
本发明是肺部X光图像分类领域,具体地说,是一种基于K-means聚类和GAN的肺部X光图像分类方法,结合了无监督的思想与生成对抗网络半监督分类的思路。
背景技术
图像分类是目前图像在人工智能研究中的一个重要方向,随着深度学习技术的发展用神经网络进行图像的自动分类处理成为了一大研究热点,因此用深度学习方法进行肺部X光图像分类成为趋势,深度学习技术的发展激励研究人员投身此项研究中。在医学图像领域,深度学习被用于病理检测,疾病分类,医学图像分割等。2012年,AlexNet在ImageNet数据集上表现良好。Alexnet网络出色的表现表明了卷积神经网络在图像分类中的优越性,使得卷积神经网络在图像处理中很受欢迎。由于神经网络的强大分类效果,它已被应用于医学图像领域。图像分类中的深度学习处理过程是图像预处理,特征提取,特征学习,图像分类。Anthimopoulos等人。提出了一个具有5个卷积层的CNN来对间质性肺疾病(ILDs)的肺部形态进行分类。ArtiP等人使用转移学习的方法,对经过预训练的GoogleNet和AlexNet进行了X射线图像分类。
目前大多神经网络进行肺部X光图像处理时是在数据集含有大量标签数据与大量训练数据的情况下获取的良好的分类效果,这对医生带来了很大的工作负担,且鉴于医疗行业准则,病人隐私,获取大量数据困难。医学图像信噪比较低,获取X光图像不能保证信息完整,还有数据标注要求度高,专业性强,获取大规模完备数据集难,X光图像独特的复杂性与模糊性,标签数据少,对肺部X光图像特征的把握程度都对肺部X光分类带来困难。如何进行肺部X光图像的小样本分类,在使用少量标签数据的情况下,充分利用图像的病灶特征就可以达到良好的分类效果是目前肺部X光图像分类需要解决的问题。
发明内容
本发明为了解决上述问题,提出基于K-means聚类和GAN的肺部X光图像分类方法可以实现在少量标签数据的使用下得到良好分类效果,改善了传统神经网络训练需要大量标签数据的问题。
为达到上述目的,本发明提供如下技术方案:
一种基于K-means聚类和GAN的肺部X光图像分类方法,包括以下步骤:
步骤1:建立数据库:
该方法使用了肺部X光图像的ChestX-ray14数据集,该数据集共有112,120张X射线图像,包括14种肺部疾病分别为肺不张,心脏肥大,积液,浸润,肿块,结节,肺炎,气胸,水肿,纤维化,胸膜增厚,疝气,合并,肺气肿,该方法选择了肺不张,积液,肿块,结节,肺炎,气胸,水肿这7种肺部疾病以及正常的肺部X光图像;为了加快网络结构训练并减少内存使用量,在k均值聚类和半监督生成对抗网络中,将图像大小调整为m1*m1;将图像标准化以将图像的像素值限制为[-1,1],在初步的粗分类中,使用8000到23000张图像来训练ResNet-20网络,每种类型的图像大约为1000到3000张左右;最终的聚类是对4000到16000张图像进行分类,并对8种类型的结果图片进行聚类;resnet-20网络测试集是随机选择的训练集的30%;在生成对抗网络半监督分类部分,使用10000到16500张图像来训练网络;训练集包含标记的数据和未标记的数据,未标记的数据是聚类后的结果加另外的无标签数据,训练集,验证集与测试集的比率为7:2:1;
步骤3:用ResNet-20网络学习带有标签的每类图像的特征,计算每类图像的特征均值作为聚类中心,首先将尺寸大小为128×128×1的肺部X光图像输入,经过6层卷积及每一层卷积后对应的批归一化和激活函数ReLU后,得到128×128×16的特征图,再依次经过7个卷积层,批归一化层,ReLU激活函数,得到64×64×32的特征图;经过7个残差模块得到32×32×64的特征图,通过平均池化得到4×4×64的特征图,最后经过全连接层得到维度为1024的特征向量,计算全连接层输出的特征向量的均值;
步骤4:将无标签的肺部X光图像送入ResNet-20网络进行特征提取,将提取的图像特征与i
聚类中心计算带权重w的欧几里得距离,进行标签预测,获得粗分类的结果;无标签图像经过6层卷积及每一层卷积后对应的批归一化和激活函数ReLU后,得到128×128×16的特征图,再依次经过7个卷积层,批归一化层,ReLU激活函数,得到64×64×32的特征图;经过7个残差模块得到32×32×64的特征图,通过平均池化得到4×4×64的特征图,最后经过全连接层得到维度为1024的特征向量,最后用Softmax函数处理全连接层得到的向量获取图像属于某一类的概率值p作为欧几里得的权重;
步骤5:带权重的欧几里得函数设计,将ResNet-20网络全连接层输出作为提取的图像特征,将图像特征用Softmax函数处理获取图像属于某一类的概率值p作为欧几里得的权重wi;带权重的欧几里得函数计算方法为:
步骤6:将服从(0,1)分布的高斯噪声送入生成器,生成图像;噪声数据送入一维的全连接层成为1×1024的一维向量数据,然后经过Reshape层将形状改变为32×32×256,再经过反卷积层得到64×64×128的特征图,反卷积后通过批归一化层输出的特征为64×64×128,批归一化层后是LeakyRelu激活函数处理得到64×64×128的特征图;
步骤7:将步骤6中得到的特征图经过卷积核大小为3,步长为1的反卷积层得到64×64×64的特征图,反卷积后通过批归一化层输出的特征为64×64×64,批归一化层后是LeakyRelu激活函数处理得到64×64×64的特征图;
步骤8:将步骤7中的特征图经过卷积和大小为3×3,步长为2的反卷积层,得到128×128×1的输出;
步骤9:将粗分类的结果,少量的标签数据,无标签的图像和生成器生成的图像送入鉴别器,进行半监督分类对粗分类结果进行细致分类;送入鉴别器的图像统一调整为128×128×1,然后经过卷积核为3×3,卷积步长为2的卷积层,批归一化层,LeakyRelu激活函数层得到64×64×32的特征图;再经过卷积核为3×3,卷积步长为2的卷积层,批归一化层,LeakyRelu激活函数层得到32×32×64的特征图;
步骤10:将步骤9的输出经过卷积核为3×3,卷积步长为2的卷积层,批归一化层,LeakyRelu激活函数层得到16×16×128的特征图;然后再经过全连接层flatten,池化层dropout,一维全连接层得到特征图;
步骤11:建立损失函数:
在生成对抗网络进行半监督分类用以对粗分类的结果进行细致分类时,设计三类损失函数分别为无标签损失,有标签损失,生成损失;将生成器G生成的图像发送到鉴别器标记为K+1类,输入生成的图像X,输出为K+1维逻辑向量{l1,l2......lk+1},由softmax计算得出归一化概率值;第一个K维度表示原始图像的类别,K+1表示生成的图像的类别,而p的最大值表示预测的类别标签;类别标签的概率可以通过以下方式获得:
监督分类器即有标记图像分类:监督分类器使用损失是分类交叉熵,因为要将训练后的标记图像具体分类为k个类别,它属于多分类;使用公式3获得分类交叉熵:
无监督分类器:无监督鉴别器使用二进制交叉熵将未标记图像和生成的图像划分为k个类别之一,或者确定它是否属于K+1类别,它属于两个类别,使用公式4获得二分类交叉熵;
在公式(3)中,m表示类别的数量,yi表示预测标签的概率值,(4)中yim表示预测标签的概率值,GAN训练的过程是最小化生成器损失和最小化鉴别器损失的过程;因为鉴别器中存在三种类型的图像:生成的图像,标记的图像和未标记的图像,所以相应地设计了三种类型的损失函数,分别标记为是llabel,lunlabel,lgen,在数学上由公式(5)-(7)定义:
llabel=-Ex,y-pdata[lnp(y|x),y<k+1] (5)
lulabel=-Ex-pdata[ln(1-p(y=k+1|x)),y=k+1] (6).
lgen=-Ex-G[lnp(y=k=1|x),y=k+1] (7)
在公式(5)-(7)中,x表示图像,y表示图像的标签,x-pdata表示不带标签的图像,x-G表示生成的图像,x,y-pdata表示带标签的图像.p(|)表示预测概;
标签样本损失是真实类别标签分布和预测类别标签的交叉熵损失,未标记样本的损失是指未标记样品被判定为真实样本,生成样本损失是指被判定为错误样本的生成样本的损失;鉴别器的损失函数是有标签损失,生成损失和无标签损失的总和;使用等式8得出ld,公式9和公式10分别是有监督的损失和无监督的损失,公式8和9中的α和β分别表示两种类型的损失函数的权重系数,在网络训练中不断调整α和β的值使网络达到很好的训练效果;
ld=llabel+αlunlabel+βlgen. (8)
lsupervised=llabel (9)
lunsupervised=αlunlabel+βlgen (10)
生成对抗网络训练的目的就是减少生成器与鉴别器的损失,使鉴别器的损失小于生成器的损失,网络达到纳什均衡,对于肺部X光图像取得精度可观的分类效果;
步骤12:训练网络:
模型具体训练步骤如下:完成网络参数的初始化设置;将样本按批次送入网络,固定鉴别器网络的参数,然后选择全连接的层的输出作为特征;在真实图像X和生成的图像G(X)之间执行特征匹配,并使用特征匹配的结果来优化生成器G的参数;固定生成器的参数,采用Adam梯度下降法调整鉴别器网络D的参数,Batch_size设置为16,选择数值16的原因是因为经过我们多次验证该数值下针对不同数量的样本可以取得好的分类效果;训练迭代次数为15000,通过实验验证在迭代次数为15000次时网络收敛性能最佳,在分类不同数量的样本时分类精度都较高;初始学习率设置为0.0001,设置该学习率数值能加快网络的训练速度;重复操作,直至达到迭代次数;
步骤13:测试网络:
为测试网络训练的效果,对网络分类性能好坏进行验证所以对训练好的网络模型,将测试样本作为输入,得到输出预测值,通过与样本真实值进行比较,计算网络的平均分类准确率。
综上所述,本发明所提出的网络模型相比于传统的卷积神经网络,不同之处在于其先用少量的标签数据训练好了ResNet-20网络用于图像特征提取,后面处理不同数量的无标签肺部X光图像时该网络不必进行训练直接用就好,借鉴聚类的思想对无标签图像粗分类获得伪标签。设计带权重的欧几里得计算法对图像特征特征进行约束,进而使得标签预测更加准确,提高肺部X光图像粗分类的鲁棒性;通过借鉴ResNet的残差模块,减少梯度爆炸,利用网络优秀的特征提取能力从而提高网络模型训练效率。将粗分类的结果利用半监督分类的思想借助生成对抗网络进行细分类。
附图说明
图1为本发明的基于K-means聚类和GAN的肺部X光图像分类方法的流程示意图。
图2为本发明的基于K-means聚类和GAN的肺部X光图像分类方法的生成器结构图。
图3为本发明的基于K-means聚类和GAN的肺部X光图像分类方法的ResNet-20网络结构图。
图4为本发明的基于K-means聚类和GAN的肺部X光图像分类方法的鉴别器结构图。
具体实施方式
下面通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
请参阅图1,为本发明基于K-means聚类和GAN的肺部X光图像分类方法,其具体方法流程包括以下步骤:
步骤1:建立数据库:
该方法使用了肺部X光图像的ChestX-ray14数据集。该数据集共有112,120张X射线图像,包括14种肺部疾病分别为肺不张,心脏肥大,积液,浸润,肿块,结节,肺炎,气胸,水肿,纤维化,胸膜增厚,疝气,合并,肺气肿,该方法选择了7种肺部疾病以及正常的肺部X光图像。为了加快网络结构训练并减少内存使用量,在k均值聚类和半监督生成对抗网络中,将图像大小调整为128*128。将图像标准化以将图像的像素值限制为[-1,1]。在初步的粗分类中,先使用8000张图像来训练ResNet-20网络,来查看该方法在少量无标签肺部X光图像下的特征学习能力,然后增加无标签肺部X光图像样本量到16000再到23000看ResNet-20网络图像特征学习能力的改变,对应每种类型的图像大约为1000,2000,3000张。最终的聚类是选取4000张ResNet-20网络之前未学习的无标签肺部X光图像进行分类,为验证网络的聚类能力后续也选取了8000和16000张无标签肺部X光图像看网络在大量数据下的聚类性能。以上输入不同数量无标签肺部X光图像输出为8类的精确数值。resnet-20网络测试集是随机选择的训练集的30%。在生成对抗网络半监督分类部分,使用10000到16,500张图像来训练网络。为验证生成对抗网络在不同数据量下的分类性能,我们进行三次网络训练,第一次输入10000张图像,输出分类的8类分类精确值,第二次输入12000张图像看输出的分类精确度数值,第三次输入16500张图像输出分类精确值。生成对抗网络的训练集包含标记的数据和未标记的数据。未标记的数据是聚类后的结果加另外的无标签数据。训练集,验证集与测试集的比率为7:2:1。
步骤3:用ResNet-20网络学习带有标签的每类图像的特征,计算每类图像的特征均值作为聚类中心。首先将尺寸大小为128×128×1的肺部X光图像输入,经过6层卷积及每一层卷积后对应的批归一化和激活函数ReLU后,得到128×128×16的特征图,再依次经过7个卷积层,批归一化层,ReLU激活函数,得到64×64×32的特征图。经过7个残差模块得到32×32×64的特征图,通过平均池化得到4×4×64的特征图,最后经过全连接层得到维度为1024的特征向量,计算全连接层输出的特征向量的均值。
步骤4:将无标签的肺部X光图像送入ResNet-20网络进行特征提取。将提取的图像特征与聚类中心计算带权重wi的欧几里得距离,进行标签预测,获得粗分类的结果。无标签图像经过6层卷积及每一层卷积后对应的批归一化和激活函数ReLU后,得到128×128×16的特征图,再依次经过7个卷积层,批归一化层,ReLU激活函数,得到64×64×32的特征图。经过7个残差模块得到32×32×64的特征图,通过平均池化得到4×4×64的特征图,最后经过全连接层得到维度为1024的特征向量,最后用Softmax函数处理全连接层得到的向量获取图像属于某一类的概率值p作为欧几里得的权重。
步骤5:带权重的欧几里得函数设计,将ResNet-20网络全连接层输出作为提取的图像特征,将图像特征用Softmax函数处理获取图像属于某一类的概率值p作为欧几里得的权重wi。带权重的欧几里得函数计算方法为:
步骤6:将服从(0,1)分布的高斯噪声送入生成器,生成图像。噪声数据送入一维的全连接层成为1×1024的一维向量数据,然后经过Reshape层将形状改变为32×32×256,再经过卷积核大小为3,步长为2的反卷积层得到64×64×128的特征图,反卷积后通过批归一化层输出的特征为64×64×128,批归一化层后是LeakyRelu激活函数处理得到64×64×128的特征图。
步骤7:将步骤6中得到的特征图经过卷积核大小为3,步长为1的反卷积层得到64×64×64的特征图,反卷积后通过批归一化层输出的特征为64×64×64,批归一化层后是LeakyRelu激活函数处理得到64×64×64的特征图。
步骤8:将步骤7中的特征图经过卷积和大小为3×3,步长为2的反卷积层,得到128×128×1的输出。
步骤9:将粗分类的结果,少量的标签数据,无标签的图像和生成器生成的图像送入鉴别器,进行半监督分类对粗分类结果进行细致分类。送入鉴别器的图像统一调整为128×128×1,然后经过卷积核为3×3,卷积步长为2的卷积层,批归一化层,LeakyRelu激活函数层得到64×64×32的特征图。再经过卷积核为3×3,卷积步长为2的卷积层,批归一化层,LeakyRelu激活函数层得到32×32×64的特征图。
步骤10:将步骤9的输出经过卷积核为3×3,卷积步长为2的卷积层,批归一化层,LeakyRelu激活函数层得到16×16×128的特征图。然后再经过全连接层flatten,池化层dropout,一维全连接层得到特征图。
步骤11:建立损失函数:
在生成对抗网络进行半监督分类用以对粗分类的结果进行细致分类时,设计三类损失函数分别为无标签损失,有标签损失,生成损失。将生成器G生成的图像发送到鉴别器标记为K+1类,输入生成的图像X,输出为K+1维逻辑向量{l1,l2......lk+1},由softmax计算得出归一化概率值。第一个K维度表示原始图像的类别,K+1表示生成的图像的类别,而p的最大值表示预测的类别标签。类别标签的概率可以通过以下方式获得:
监督分类器即有标记图像分类:监督分类器使用损失是分类交叉熵,因为要将训练后的标记图像具体分类为k个类别,它属于多分类。使用公式3获得分类交叉熵。
无监督分类器:无监督鉴别器使用二进制交叉熵将未标记图像和生成的图像划分为k个类别之一,或者确定它是否属于K+1类别,它属于两个类别。使用公式4获得二分类交叉熵。
在公式(3)中,m表示类别的数量,yi表示预测标签的概率值,(4)中yim表示预测标签的概率值。GAN训练的过程是最小化生成器损失和最小化鉴别器损失的过程。因为鉴别器中存在三种类型的图像:生成的图像,标记的图像和未标记的图像,所以相应地设计了三种类型的损失函数。分别标记为是llabel,lunlabel,lgen。它们在数学上由公式(5)-(7)定义。
llabel=-Ex,y-pdata[lnp(y|x),y<k+1] (5)
lulabel=-Ex-pdata[ln(1-p(y=k+1|x)),y=k+1] (6).
lgen=-Ex-G[lnp(y=k=1|x),y=k+1] (7)
在公式(5)-(7)中,x表示图像,y表示图像的标签,x-pdata表示不带标签的图像,x-G表示生成的图像,x,y-pdata表示带标签的图像.p(|)表示预测概率。
标签样本损失是真实类别标签分布和预测类别标签的交叉熵损失。未标记样本的损失是指未标记样品被判定为真实样本。生成样本损失是指被判定为错误样本的生成样本的损失。鉴别器的损失函数是有标签损失,生成损失和无标签损失的总和。使用等式8得出ld。公式9和公式10分别是有监督的损失和无监督的损失。公式8和9中的α和β分别表示两种类型的损失函数的权重系数。在网络训练中不断调整α和β的值使网络达到很好的训练效果。
ld=llabel+αlunlabel+βlgen. (8)
lsupervised=llabel (9)
lunsupervised=αlunlabel+βlgen (10)
生成对抗网络训练的目的就是减少生成器与鉴别器的损失,使鉴别器的损失小于生成器的损失,网络达到纳什均衡。对于肺部X光图像取得精度可观的分类效果。
步骤12:训练网络:
模型具体训练步骤如下:完成网络参数的初始化设置;将样本按批次送入网络,固定鉴别器网络的参数,然后选择全连接的层的输出作为特征。在真实图像X和生成的图像G(X)之间执行特征匹配,并使用特征匹配的结果来优化生成器G的参数。固定生成器的参数,采用Adam梯度下降法调整鉴别器网络D的参数。Batch_size设置为16,选择数值16的原因是因为经过我们多次验证该数值下针对不同数量的样本可以取得好的分类效果;训练迭代次数为15000,初始学习率设置为0.0001,设置该学习率数值能加快网络的训练速度。重复操作,直至达到迭代次数。
步骤十三:测试网络:
为测试网络训练的效果,对网络分类性能好坏进行验证所以对训练好的网络模型,将测试样本作为输入,得到输出预测值,通过与样本真实值进行比较,计算网络的平均分类准确率。
本方法是针对标签数据量少的图像分类问题,主要使用的网络模型是ResNet-20网络与生成对抗网络,由于本方法中目标函数的适用性,因此也可以将该目标函数应用到其他网络模型当中,只需将该目标函数与网络模型的损失函数相结合即可。
Claims (1)
1.一种基于K-means聚类和GAN的肺部X光图像分类方法,其特征在于,包括以下步骤:
步骤1:建立数据库:
该方法使用了肺部X光图像的ChestX-ray14数据集,该数据集共有112,120张X射线图像,包括14种肺部疾病分别为肺不张,心脏肥大,积液,浸润,肿块,结节,肺炎,气胸,水肿,纤维化,胸膜增厚,疝气,合并,肺气肿,该方法选择了肺不张,积液,肿块,结节,肺炎,气胸,水肿这7种肺部疾病以及正常的肺部X光图像;为了加快网络结构训练并减少内存使用量,在k均值聚类和半监督生成对抗网络中将图像大小调整为m1*m1;将图像标准化以将图像的像素值限制为[-1,1],在初步的粗分类中,使用8000到23000张图像来训练ResNet-20网络,每种类型的图像大约为1000到3000张左右;最终的聚类是对4000到16000张图像进行分类,并对8种类型的结果图片进行聚类;resnet-20网络测试集是随机选择的训练集的30%;在生成对抗网络半监督分类部分,使用10000到16500张图像来训练网络;训练集包含标记的数据和未标记的数据,未标记的数据是聚类后的结果加另外的无标签数据,训练集,验证集与测试集的比率为7:2:1;
步骤3:用ResNet-20网络学习带有标签的每类图像的特征,计算每类图像的特征均值作为聚类中心,首先将尺寸大小为128×128×1的肺部X光图像输入,经过6层卷积及每一层卷积后对应的批归一化和激活函数ReLU后,得到128×128×16的特征图,再依次经过7个卷积层,批归一化层,ReLU激活函数,得到64×64×32的特征图;经过7个残差模块得到32×32×64的特征图,通过平均池化得到4×4×64的特征图,最后经过全连接层得到维度为1024的特征向量,计算全连接层输出的特征向量的均值;
步骤4:将无标签的肺部X光图像送入ResNet-20网络进行特征提取,将提取的图像特征与聚类中心计算带权重wi的欧几里得距离,进行标签预测,获得粗分类的结果;无标签图像经过6层卷积及每一层卷积后对应的批归一化和激活函数ReLU后,得到128×128×16的特征图,再依次经过7个卷积层,批归一化层,ReLU激活函数,得到64×64×32的特征图;经过7个残差模块得到32×32×64的特征图,通过平均池化得到4×4×64的特征图,最后经过全连接层得到维度为1024的特征向量,最后用Softmax函数处理全连接层得到的向量获取图像属于某一类的概率值p作为欧几里得的权重;
步骤5:带权重的欧几里得函数设计,将ResNet-20网络全连接层输出作为提取的图像特征,将图像特征用Softmax函数处理获取图像属于某一类的概率值p作为欧几里得的权重wi;带权重的欧几里得函数计算方法为:
步骤6:将服从(0,1)分布的高斯噪声送入生成器,生成图像;噪声数据送入一维的全连接层成为1×1024的一维向量数据,然后经过Reshape层将形状改变为32×32×256,再经过反卷积层得到64×64×128的特征图,反卷积后通过批归一化层输出的特征为64×64×128,批归一化层后是LeakyRelu激活函数处理得到64×64×128的特征图;
步骤7:将步骤6中得到的特征图经过卷积核大小为3,步长为1的反卷积层得到64×64×64的特征图,反卷积后通过批归一化层输出的特征为64×64×64,批归一化层后是LeakyRelu激活函数处理得到64×64×64的特征图;
步骤8:将步骤7中的特征图经过卷积和大小为3×3,步长为2的反卷积层,得到128×128×1的输出;
步骤9:将粗分类的结果,少量的标签数据,无标签的图像和生成器生成的图像送入鉴别器,进行半监督分类对粗分类结果进行细致分类;送入鉴别器的图像统一调整为128×128×1,然后经过卷积核为3×3,卷积步长为2的卷积层,批归一化层,LeakyRelu激活函数层得到64×64×32的特征图;再经过卷积核为3×3,卷积步长为2的卷积层,批归一化层,LeakyRelu激活函数层得到32×32×64的特征图;
步骤10:将步骤9的输出经过卷积核为3×3,卷积步长为2的卷积层,批归一化层,LeakyRelu激活函数层得到16×16×128的特征图;然后再经过全连接层flatten,池化层dropout,一维全连接层得到特征图;
步骤11:建立损失函数:
在生成对抗网络进行半监督分类用以对粗分类的结果进行细致分类时,设计三类损失函数分别为无标签损失,有标签损失,生成损失;将生成器G生成的图像发送到鉴别器标记为K+1类,输入生成的图像X,输出为K+1维逻辑向量{l1,l2......lk+1},由softmax计算得出归一化概率值;第一个K维度表示原始图像的类别,K+1表示生成的图像的类别,而p的最大值表示预测的类别标签;类别标签的概率可以通过以下方式获得:
监督分类器即有标记图像分类:监督分类器使用损失是分类交叉熵,因为要将训练后的标记图像具体分类为k个类别,它属于多分类;使用公式3获得分类交叉熵:
无监督分类器:无监督鉴别器使用二进制交叉熵将未标记图像和生成的图像划分为k个类别之一,或者确定它是否属于K+1类别,它属于两个类别,使用公式4获得二分类交叉熵;
在公式(3)中,m表示类别的数量,yi表示预测标签的概率值,(4)中yim表示预测标签的概率值,GAN训练的过程是最小化生成器损失和最小化鉴别器损失的过程;因为鉴别器中存在三种类型的图像:生成的图像,标记的图像和未标记的图像,所以相应地设计了三种类型的损失函数,分别标记为是llabel,lunlabel,lgen,在数学上由公式(5)-(7)定义:
llabel=-Ex,y-pdata[lnp(y|x),y<k+1] (5)
lulabel=-Ex-pdata[ln(1-p(y=k+1|x)),y=k+1] (6).
lgen=-Ex-G[lnp(y=k=1|x),y=k+1] (7)
在公式(5)-(7)中,x表示图像,y表示图像的标签,x-pdata表示不带标签的图像,x-G表示生成的图像,x,y-pdata表示带标签的图像.p(|)表示预测概;
标签样本损失是真实类别标签分布和预测类别标签的交叉熵损失,未标记样本的损失是指未标记样品被判定为真实样本,生成样本损失是指被判定为错误样本的生成样本的损失;鉴别器的损失函数是有标签损失,生成损失和无标签损失的总和;使用等式8得出ld,公式9和公式10分别是有监督的损失和无监督的损失,公式8和9中的α和β分别表示两种类型的损失函数的权重系数,在网络训练中不断调整α和β的值使网络达到很好的训练效果;
ld=llabel+αlunlabel+βlgen. (8)
lsupervised=llabel (9)
lunsupervised=αlunlabel+βlgen (10)
生成对抗网络训练的目的就是减少生成器与鉴别器的损失,使鉴别器的损失小于生成器的损失,网络达到纳什均衡,对于肺部X光图像取得精度可观的分类效果;
步骤12:训练网络:
模型具体训练步骤如下:完成网络参数的初始化设置;将样本按批次送入网络,固定鉴别器网络的参数,然后选择全连接的层的输出作为特征;在真实图像X和生成的图像G(X)之间执行特征匹配,并使用特征匹配的结果来优化生成器G的参数;固定生成器的参数,采用Adam梯度下降法调整鉴别器网络D的参数,Batch_size设置为16,选择数值16的原因是因为经过我们多次验证该数值下针对不同数量的样本可以取得好的分类效果;训练迭代次数为15000,通过实验验证在迭代次数为15000次时网络收敛性能最佳,在分类不同数量的样本时分类精度都较高;初始学习率设置为0.0001,设置该学习率数值能加快网络的训练速度;重复操作,直至达到迭代次数;
步骤13:测试网络:
为测试网络训练的效果,对网络分类性能好坏进行验证所以对训练好的网络模型,将测试样本作为输入,得到输出预测值,通过与样本真实值进行比较,计算网络的平均分类准确率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110645538.8A CN113222072A (zh) | 2021-06-10 | 2021-06-10 | 基于K-means聚类和GAN的肺部X光图像分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110645538.8A CN113222072A (zh) | 2021-06-10 | 2021-06-10 | 基于K-means聚类和GAN的肺部X光图像分类方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113222072A true CN113222072A (zh) | 2021-08-06 |
Family
ID=77083550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110645538.8A Withdrawn CN113222072A (zh) | 2021-06-10 | 2021-06-10 | 基于K-means聚类和GAN的肺部X光图像分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113222072A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116468746A (zh) * | 2023-03-27 | 2023-07-21 | 华东师范大学 | 一种双向复制粘贴的半监督医学图像分割方法 |
CN116933114A (zh) * | 2023-06-12 | 2023-10-24 | 浙江大学 | 一种基于cnn-lstm的直流微电网检测方法及装置 |
CN117095241A (zh) * | 2023-10-17 | 2023-11-21 | 四川大学 | 一种耐药性肺结核类别的筛查方法、系统、设备及介质 |
-
2021
- 2021-06-10 CN CN202110645538.8A patent/CN113222072A/zh not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116468746A (zh) * | 2023-03-27 | 2023-07-21 | 华东师范大学 | 一种双向复制粘贴的半监督医学图像分割方法 |
CN116468746B (zh) * | 2023-03-27 | 2023-12-26 | 华东师范大学 | 一种双向复制粘贴的半监督医学图像分割方法 |
CN116933114A (zh) * | 2023-06-12 | 2023-10-24 | 浙江大学 | 一种基于cnn-lstm的直流微电网检测方法及装置 |
CN117095241A (zh) * | 2023-10-17 | 2023-11-21 | 四川大学 | 一种耐药性肺结核类别的筛查方法、系统、设备及介质 |
CN117095241B (zh) * | 2023-10-17 | 2024-01-12 | 四川大学 | 一种耐药性肺结核类别的筛查方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112115995B (zh) | 一种基于半监督学习的图像多标签分类方法 | |
CN110689086B (zh) | 基于生成式对抗网络的半监督高分遥感图像场景分类方法 | |
CN111583263B (zh) | 一种基于联合动态图卷积的点云分割方法 | |
CN112765352A (zh) | 基于具有自注意力机制的图卷积神经网络文本分类方法 | |
CN113222072A (zh) | 基于K-means聚类和GAN的肺部X光图像分类方法 | |
CN111898736B (zh) | 基于属性感知的高效行人重识别方法 | |
CN113326731A (zh) | 一种基于动量网络指导的跨域行人重识别算法 | |
CN110097060B (zh) | 一种面向树干图像的开集识别方法 | |
CN103425996B (zh) | 一种并行分布式的大规模图像识别方法 | |
CN110188827B (zh) | 一种基于卷积神经网络和递归自动编码器模型的场景识别方法 | |
CN113408605A (zh) | 基于小样本学习的高光谱图像半监督分类方法 | |
CN113159066B (zh) | 基于类间相似度的分布式标签的细粒度图像识别算法 | |
CN112163114B (zh) | 一种基于特征融合的图像检索方法 | |
CN114255371A (zh) | 一种基于组件监督网络的小样本图像分类方法 | |
CN108388918B (zh) | 具有结构保持特性的数据特征选择方法 | |
CN112434686B (zh) | 针对ocr图片的端到端含错文本分类识别仪 | |
Ansari et al. | An optimized feature selection technique in diversified natural scene text for classification using genetic algorithm | |
CN115100509B (zh) | 基于多分支块级注意力增强网络的图像识别方法及系统 | |
Turtinen et al. | Contextual analysis of textured scene images. | |
CN112257787B (zh) | 基于生成式双重条件对抗网络结构的图像半监督分类方法 | |
CN113887509B (zh) | 一种基于图像集合的快速多模态视频人脸识别方法 | |
CN113642655B (zh) | 基于支持向量机和卷积神经网络的小样本图像分类方法 | |
CN115393631A (zh) | 基于贝叶斯层图卷积神经网络的高光谱图像分类方法 | |
CN114417938A (zh) | 一种利用知识向量嵌入的电磁目标分类方法 | |
CN113537339A (zh) | 一种基于多标签图像分类的识别共生或伴生矿物的方法与系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210806 |
|
WW01 | Invention patent application withdrawn after publication |