罗 姗,邵艳华,李 伟,蔡 静,陈德强
(贵州民族大学 数据科学与信息工程学院,贵阳 550025)
随着信息化的迅速发展,医疗机构也在大量的使用医疗设备来采集医疗数据.医疗机构每天能获取的海量信息及医疗图像.并将其不同结构、不同类型的数据信息存储在服务器中[1].利用机器学习及深度学习中的算法组合处理并挖掘医学数据的潜在价值,从而提高实际的工作效率.而对于实际的医疗机构的医学影像数据有着数据规模大、图像种类繁多等特点[2],传统的医疗影像诊断花费放射科医生大量的时间和精力对图像进行鉴别分析.然而构建智能的医学影像分类系统将很大程度上减少放射科医疗人员的工作量[3].而图像分类的方法大部分都是基于人工智能,Wang Q等[4]采取不同的机器学习和图像处理技术,对医学图像进行目标识别及图像鉴别分类.医学图像的处理流程一般包括预处理、医学图像特征的提取、图像特征选择、特征类别的判定等[5].现阶段医学图像分类算法:图像空间和特征空间,对各样的医疗影像图像进行鉴别分类[6].针对医学图像具有较大的相似性和交叉性,目前的一些图像分类方法会造成较大的类别归属混乱[7].Sun L L等[8]提出了基于多视角卷积神经网络的乳腺图像分类,提出了MVMDCNN架构,并修正了损失函数来增加错分样本的贡献权重;提出的新分类方法对乳腺图像DDSM和MIAS数据集的分类精度分别达到了82.02%和63.06%.Bajaj等[9]提出了基于模糊C均值和区域生长的混合纹理特征肿瘤的分类,该文的混合方法对乳腺图像DDSM和MIAS数据集二类别分类达到了一个很好的准确率.Ramirez等[10]将人工神经网络应用在脑部图像,对几个感兴趣的冠状切片特征,用不同分类器K-近邻、分类树、支持向量机与模板结合前馈神经网络进行研究,提高了老年痴呆识别率.Cong H等[11]提出了对支持向量机的多类分类器(Multi-TWSVM)算法,利用支持向量机分类算法实现多类别分类,并取得了不错的分类效果.邹丽等[12]提出基于决策树对支持向量机的医学图像分类新方法,采用遗传算法建立决策树,融合对支持向量机分类算法,分类精度相比对支持向量机分类算法和决策树对支持向量机分类算法分别提高了10.97%和8.31%.基于上述分析,医学图像分类准确率及精度还比较低,针对MIAS乳腺图像数据集目前大多研究是二分类问题,且分类精度达到了较高的准确率,而在MIAS乳腺图像数据集中多类别研究分类精度还很低,因此本文提出混合粒子群算法选择性集成分类器对乳腺图像进行三类别分类.
图1 SVM分类示意图Fig.1 SVM classification diagram
粒子群(particle swarm optimization,PSO)算法是一种智能优化算法[13],该算法在1995年由美国的Eberhart和Kennedy通过分析模拟鸟群寻找食物路径规划行为的研究而共同提出的.在粒子群算法中,该群体中个体被称为粒子.
PSO的数学模型是:假设在一个D维搜索空间中,设粒子i的位置表示为xi=(xi1,xi2,…,xid),设粒子i的速率表示为vi=(vi1,vi2,…,vid),每一个粒子通过跟踪此刻的个体极值pbest和群体极值gbest来更新自身的速度及位置.个体极值pbest即粒子目前自身找到的最优解,pk=(pk1,pk2,…,pkd);群体极值gbest即是整个种群中寻找到的最优解,pg=(pg1,pg2,…,pgd);而粒子更新自身的位置及速度公式为:
(1)
(2)
上式中:w为惯性权重;vid表示粒子的速率;xid表示粒子所处的位置;m为迭代次数;pi为粒子个体最优;pg为种群最优;r1、r2是分布在0到1之间的随机值;c1、c2表示加速因子,分别表示个体极值与种群极值对粒子移动方向影响程度.PSO算法使用速度-位移模型,该算法参数少,容易实现,由于该算法是根据自身的速度来决定搜索,具有很强的全局搜索能力.
支持向量机(support vector machine,SVM)算法是Vapnik首先提出的,一种机器学习中常用的二分类算法,该算法在医学图像分类中具有较高的分类精度,比起传统的神经网络,具有很好的性能.SVM分类示意图如图1所示,样本的支持向量为H1、H2线上的特征向量,因此寻找最优分类超平面的问题就可以转化成智能优化模型问题.
(3)
K最邻近(K-nearest neighbor,KNN) 算法是分类算法中简单而有效的算法,精度高,对异常值不敏感.训练代价相对较小,在图像处理和模式识别等各个不同的领域被广泛应用.KNN的基本思想类似于生活中的“物以聚类,人以群分”,KNN通过找到离待测样本最近的K个样本,计算最近邻居样本的距离公式如式(4),通过已知K个邻居来判定未知样本的类别.
(4)
图2 AdaBoost算法框架图Fig.2 Block diagram of AdaBoost algorithm
图3 粒子种群更新流图Fig.3 Update flow diagram of particle population
Adaptive Boosting(AdaBoost)分类器由Yoav F和Robert S在1995年提出,该分类器是通过一系列训练过的弱分类器按照权重组合成强分类器从而提升医学图像分类精度,AdaBoost方法不需要进行特征筛选.该算法的基本框架,如图2所示.
为了融合PSO和遗传算法(GA)[14]两个优化算法的优势 ,本文提出了以权重自适应粒子群算法为基础,引入交叉算子的一种混合优化算法,在该文中惯性权重w的值会随着目标函数值的改变而产生改变,以此来提高粒子群算法的搜索性能.
1)改进标准粒子群算法中的惯性权重.为了更好均衡控制粒子群算法的全局和局部搜索能力,本文使用一种非线性的动态惯性权重系数公式[15].
(5)
式中f为粒子此刻的目标函数值,此刻粒子的平均值和最小值分别为favg和fmin;w是表示各个粒子此刻速度受上一次速度影响的程度,改变惯性权重是更有效平衡控制粒子群算法的全局和局部搜索能力的方法.本文算法中当w取值相对较大时,粒子受上一次的速度影响是相对大的,对全局搜索有优势;如果w取值相对较小,则此时粒子受上一次速度影响也较小,对后期局部搜索是更有利的.
2)引入交叉算子.在遗传算法(GA)中,交叉和变异操作[16-17]是很重要的过程,它们是完成粒子信息传递的有效操作,为了增加粒子的多样性和确保粒子相对最优,本文将交叉算子和自适应惯性权重粒子群算法相融合.在本文算法中粒子更新的交叉算子具体思想是:在迭代过程中计算粒子的适应度值,并将其按降序进行排序,适应度值越大则其适应性就越好;首先将适应度值高的前一半直接作为下次迭代粒子,确保下次迭代粒子较优;与此同时将其适应度值较高粒子的信息给予适应度值低的粒子,再将其该部分粒子进行两两随机交叉,产生子代粒子去替换适应度值低的父代粒子,迭代中种群大小始终保持数量一致.
粒子更新流图如图3所示.
其中子代粒子的位置、速度的计算为:
child(x)=q.p1(x)+(1-q).p2(x),
(6)
(7)
其中q是0和1之间的随机数;p1(v)、p2(v)表示上一代两个不同粒子的速度,p1(x)、p2(x)是前一次迭代两个不同粒子的位置;通过交叉算子产生新粒子,从而来增加粒子的多样性和确保每一代粒子较优.
改进的粒子群算法流程图如图4所示,具体步骤如下.
步骤1相关参数初始化,并计算粒子的开始适应度值,从而来确定个体极值pbest与群体极值gbest.
步骤2根据式(5)去计算更新粒子的权重.根据式(1)、(2)计算获取粒子新的速度和位置.
步骤3计算这一刻各个粒子的适应度值.对粒子的适应度值做排序,按降序排序方法,适应度高的前一部分直接作为下一次迭代的粒子,并将其适应度值高粒子的信息给予适应度值低粒子,然后将这些粒子随机交叉,产生子代粒子替换父代粒子.
步骤4根据最新粒子适应度值的比较,从而更新个体极值pbest和群体极值gbest.
步骤5如果满足了停止条件或者达到了迭代次数,则输出;否则跳转至步骤2.
图4 改进粒子群算法流程图Fig.4 Flow chart of improved particle swarm optimization algorithm
(1)原始图像 (2)剪切去噪图像 (3)增强图像图5 预处理后图像效果对比图Fig.5 Image effect comparison after preprocessing
图6 医学图像分类基本框架图Fig.6 Basic framework of medical image classification
由于本文医学图像使用的数据集是MIAS(the mammographic image analysis society).322幅图像在不同外部条件下获取的,存在大量的噪声的背景,为了保证分类结果的准确性,通过试验,本文中最终将MIAS 数据集图像裁剪为600×750,利用中值滤波方法对图像进行去噪,去噪后图像如图5(2)所示,再使用直方图均衡法对去噪后图像进行增强,图5(3)为增强后图像.
基于改进的混合粒子群算法的分类器选择性集成的具体计算步骤如下.
步骤1初始化.用数据集MIAS图像特征训练不同参数的分类器,并初始化粒子群算法的加速度常数C1、C2和惯性常数w.
步骤2使用式(8)和验证集来评估各个基分类器的分类准确度,然后用式(9)来计算分类器间的多样性指标.
(8)
(9)
步骤3比较计算出来的粒子适应度函数值,当适应度函数值比极值大则更新极值并记录这个粒子信息.
步骤4将这一次迭代较优粒子计算获取到适应度值与全局极值做比较,并取出最优值作为新的全局极值.
步骤5更新并且归一化这一次迭代粒子的运动速度及位置.图6为本文医学图像分类基本框架.
为了验证本文改进混合粒子群选择性集成算法的分类性能,分别在数据集Iris和医学图像MIAS数据集上进行试验,试验运行环境:Windows10操作系统,CPU主频3.40 GHz,内存为8 GB,Matlab R2018a软件.
首先验证本文使用的特征提取方法是有效的.本文分别对MIAS数据集预处理后的图像进行直接特征提取和SIFT特征提取.首先使用KNN分类器进行特征分类来验证特征提取方法是可行的.图7中无论k值取什么值,SIFT特征提取方法的分类准确率相对于直接特征提取方法都有4%~11%的提升.
其次采用有三种类别共150个样本的Iris数据集,该数据集是源于UCI数据库,对本文的算法进行验证.分别用PSO-SVM和本文改进的算法进行试验,得到结果如表1所示.
图7 特征提取方法比较图Fig.7 Comparison diagram of feature extraction methods
图8 改进粒子群选择性集成分类器Fig.8 Improved particle swarm selective integration classifier
表1 本文算法在Iris数据集上的分类效果Tab.1 Classification effect of the algorithm in this paper on Iris dataset
最后验证本文算法在医学图像上的分类性能.本文试验医学图像为MIAS数据集,通过对去噪增强后的图像进行特征提取,输入该算法的系统模型进行训练,由于对于MIAS数据集现有的文章大多都是正常、异常二分类,而本文进行的是三类别分类,则测试后得到的分类效果比较如表2所示.表2中可以看出本文算法模型相对于决策树对支持向量机和引入遗传算法的决策树对支持向量机准确了分类分别提升了10.45%和2.14%.
表2 本文算法在MIAS数据集上的分类效果Tab.2 Classification effect of this algorithm on MIAS dataset
在图8中,显示表明了各基分类器KNN、SVM、AdaBoost以及本文混合粒子群选择性集成强分类器的分类准确率对比.本文集成的分类器无论是在直接提取特征,还是尺度不变特征转换提取特征,相对于其它分类器分类精度都有明显的提升.
针对医学图像具有很高的特征维度、很大的相似性及交叉性,采用基础的类方法进行医学图像分类容易造成图像类别归属混乱,提出了自适应权重融合交叉算子更新粒子的混合式算法.本文运用该混合粒子群算法选择性集成分类器的新方法对医学图像进行分类.在MIAS数据集的训练阶段先训练不同参数的 SVM、KNN 和AdaBoost分类器,然后集成更好的分类器组合进行医学图像的特征分类.试验结果表明,本文改进混合粒子群算法选择性集成分类器的三类别分类结果,相对于决策树对支持向量机和改进的决策树对支持向量机准确率分别提升了10.45%和2.14%;无论图像特征是直接提取还是使用其他特征提取方法提取,本文选择性集成的分类效果都比传统的分类器分类准确率都有所提升.