肺炎X光图像增强分类识别技术:基于改进Retinex算法

2021-10-23 02:16刘海龙
分子影像学杂志 2021年5期
关键词:X光像素点准确率

刘海龙,马 波

西安石油大学电子工程学院,陕西 西安710065

肺炎在婴幼儿与老人的呼吸道疾病中极为常见[1]。肺炎X光影像诊断主要依赖专业医生的识别,不能快速获得诊断结果,且经验误差使识别准确率无法得到保证。神经网络的发展使医学图像的识别逐渐成为图像识别的主流[2-7]。虽然众多学者在卷积神经网络优化上对肺炎分类上取得了不多的识别效果[2-5],但对X光图像预处理依旧停留在简单的局部二值模式[6],滤波去噪、对比度增强等操作[7-8],未考虑到正常肺部图像与患病肺部图像区别并不明显,传统方法导致的原细小特征的缺失的问题。为了进一步提升肺炎识别的准确率,本研究引入并改进了Retinex算法增强肺图像特征,并通过实验证明了算法的可行性。

1 基于改进Retinex算法的肺炎X光特征增强

1.1 Retinex算法

Retinex算法[9]是1963年提出的建立在科学实验与分析上的图像增强方法,其算法是建立在人眼看到的图像是由光线在物体上反射的理论上,将图像分解为入射图像与反射图像,即:

其中为反射图像,为亮度图像。Retinex的理论就是通过降低入射分量对原始图像的影响来获得图像中物体的反射属性[10],从而对图像进行增强。

1.2 改进Retinex算法

由于Retinex算法最早是为了去雾以及消除阴影,对于图像能够进行视觉感官特征增强,一定程度上增强了图像的特征,降低了图像的光反射影响因素,但是对于神经网络的学习,经过Retinex算法处理过的图像并不能对神经网络训练产生好的效果,因此需要对算法进行改进,进一步的提取出适合神经网络训练的特征。改进后的算法步骤可总结如下:

(1)利用边缘中心化矩阵对原图像进行卷积操作,使用原像素点的边缘像素的平均值来代替原像素点进行图像重建;

(2)将重建后的图像利用Retinex算法进行特征增强;

(3)将特征增强后的图像按照一定的比例与原图像进行图像融合,进一步的将特征细化。

1.2.1 图像重建 通常人类通过计算机显示器看到的图像都是由一个个像素点构成的。对于灰度图像,一张图像由一个个紧密结合的像素点构成,而对于彩色图像,其存在一个由RBG三通道构成的彩色空间,每个通道同样由一个个紧密结合的像素点构成。

然而,简单的像素点并不能准确描述物体的性质。物体之间具有紧密的空间联系性,单独的像素数字描述不能体现出物体之间的紧密联系性。提出了边缘中心化矩阵,使用围绕中心像素点的8个周围像素来代替中心像素,对图像进行重建,图像的每个像素点由其周围的像素构成,失去的原有的特征但同时获得周围像素特征,同样,周围的像素会获得该像素点的特征,最终使图像像素全局化,具有整体联系性,边缘中心化矩阵如下:

使用边缘中心化矩阵遍历所有的像素点位置,即使用边缘中心化矩阵对初始图像进行滤波重建操作,对肺炎图像进行操作,目的是将原像素点周围8个像素点计算平均值来代替原像素点进行图像重建,图像重建后效果(图1)。

图1 图像重建对比结果Fig.1 Image reconstruction contrast results.A:正常肺部初始图像;B:患肺炎肺部初始图像;C:正常肺部重建图像;

1.2.2 Retinex 算法原理 使用最原始的单尺度SSR(Single Scale Retinex)对重建后的图像进行特征增强图像处理流程(图2)。

图2 Retinex算法处理流程图Fig.2 The flowchart of Retinex algorithm processe.

原始图像为,亮度图像反射图像为,可推导出单尺度Retinex算法的公式为:

令式(5)中L(x,y)=F(x,y)×S(x,y),其中中心环绕函数为F(x,y)=λe,c为高斯环绕尺度,λ为尺度。c=300,对图1重建后的图像进行Retinex特征强化处理,结果所示(图3)。

图3 Retinex算法特征强化结果Fig.3 Retinex algorithm feature-enhanced results.

1.2.3 图像融合重建 Retinex算法后图像已经能够获得优于原图像的效果,但是图像特征增强或多或少会损失原有图像的特征,为了进一步提升肺炎X光图像识别准确率,加入了图像融合理论[11]:将特征增强后图像以及初始图像赋予相应权重并融合为一个图像,对图像特征进行增强同时也最大程度保留了原有图像的特征,实验证明,取改进Retinex算法特征增强后图像以及初始图像的权值分别为0.5,阈值默认为0进行图像融合,训练效果最好(图4)。

图4 图像融合效果图Fig.4 Image fusion effect map.

2 结果

2.1 实验环境

实验在Windows 10专业版下进行:处理器:Intel(R)Core(TM)i5-8500 CPU@3.00 GHz;内存:8.00 GB(7.83 GB可用);系统类型:64位操作系统,基于x64的处理器;框架:Windows版的Tensorflow框架。

2.2 数据集与处理

训练采用了2018年一项公开的肺炎数据集:Chest X-Ray Images[12]。采用数据集包括5216张训练集以及624张测试集,其中训练集包含1341张正常肺部X光图片以及3875张肺炎X光图片,测试集包含234张正常肺部X光图片以及390张肺炎X光图片。为提高泛化能力将训练集图片混合打乱后按照4∶1的比例分为训练集和验证集,其数据分布(表1)。

表1 Chest X-Ray Images 数据集分布Tab.1 Distribution of chest X-ray images dataset

2.3 网络模型

选取了Google开源的Inception V3[13]作为测试网络,其拥有更深的网络层数以及更大的宽度,不仅计算量比以往VGG网络[14]要少,还拥有着更高的性能。该网络使用两个3×3的网络来代替5×5的网络,使用一个1×3的网络和一个3×1的网络来代替3×3的网络,在感受野保持不变的情况下,大大增强了网络非线性能力,也降低了计算量,使得网络处理速度大大提升。网络架构(表2)。

表2 Inception V3网络架构Tab.2 Network architecture of Inception V3

2.4 实验结果

分别对原始图像进行Retinex以及改进Retinex算法处理(图5)。为了防止图像打乱对训练结果产生的随机性,保证训练结果的稳定性,在同一个CPU环境下同一时间对Inception V3网络的后20层网络进行3次训练对比,并取其平均值作为最终训练结果对比。其中准确率为总测试样本中预测准确的比例,敏感性为患有肺炎病例中预测准确的比例,特异性为未患肺炎病例中预测准确的比例。训练结果(表3~6)。从结果来看,Retinex算法不管是在视觉上还是在网络训练中都不能对X 光图像的特征增强有着更好的效果,改进后的Retinex算法将初始图像重建后进行数据增强,赋以权重与初始图像相结合,一定程度上对X光图像进行了增强,也保留了原始图像的特征,在视觉效果上虽然不尽如人意,但是在神经网络训练学习中却能表现出更为优异的效果。从准确率上,改进后Retinex算法比原图像准确率平均提升了2.57个百分点,在敏感性降低0.17个百分点上,使特异性提升了7.15个百分点,大大提升了预测结果的准确度,降低了误诊几率。

表3 Inception V3 网络第1次训练结果对比Tab.3 Comparison of the first training results of Inception V3 network

图5 算法图像处理对比图Fig.5 Algorithmic image processing comparison diagram.

3 讨论

表4 Inception V3 网络第2次训练结果对比Tab.4 Comparison of the second training results of Inception V3 network

表5 Inception V3 网络第3次训练结果对比Tab.5 Comparison of the third training results of Inception V3 network

表6 Inception V3 网络训练结果平均值Tab.6 Average value of network training results of perception V3

当前的肺炎识别优化策略基本都是建立在网络的优化上,如卷积神经网络[15]以及知识蒸馏法[2,16]对训练模型的改进,得到的准确率明显高于传统的机器学习算法;有学者在Inception V3模型上增加了特征提取层[5],使用随机森林分类器[17]代替传统的Softmax[18]分类,但由于未考虑到卷积过程中的图像细小特征缺失问题,识别准确率难以再次提升。部分学者预先进行了局部二值处理,但仅在机器学习中进行了实验,需要在卷积网络中进一步验证[7-8]。

通过理论分析,研究确定了肺炎分类在深度学习中的难点:肺部细小特征的缺失。通常卷积神经网络在Conv、Pooling[19]层中会提取图像特征,但同时也会损失更多特征;在Dropout层中,随机失活神经单元也会造成大量的特征缺失,由于肺炎与正常肺部X光图像差异特征在全图中占据比例很小,肺炎分类的准确率难以随着网络优化而进一步的提升。研究使用了Inception V3[13]的后20层浅层网络来进行证明,相对于既往研究验证的深度分类模型AlexNet[20]而言,本研究算法使用了更浅层的特征提取网络,损失了0.02的敏感度却提升了0.07的特异性,在准确率上也提升了0.02。

本研究说明算法处理后的特征图像即便是在提取特征较弱的网络上也能得到很好的识别。图像处理方面,有研究将肺炎X光图像的局部二值模式[6]特征信息进行提取[7],利用带有反向传播的BP神经网络[21]实现了肺炎影像自诊断,但准确率不高,易过拟合。有学者使用了支持向量机[22]算法对相同的特征进行了建模,虽然提高了准确率,却降低了整体效率[8]。虽然卷积神经网络[23]能够很好的提取图片的特征,但实验证明,二值化后图像虽然在一定程度上能够提高一些肺炎与正常肺部的特征对比,但由于肺部图像各异,局部二值特征很难把握,难以用到肺部X光中,且由于细节缺失,在深度学习分类中效果并不显著。既往文献中也提到了高斯滤波、中值滤波、对比度增强、图像锐化等简单的图像处理操作,但经过实验证明在相同的神经网络下得不到比原始图像分类识别更好的效果[24-25]。

综上所述,研究创新性地提出了新的算法,在简单的Retinex特征增强上进行了图像重建,得到了新的特征结果,将新的特征图像与初始图像按一定权重比进行图像融合,大大增强的图像的特征,在深度学习的分类识别中与肺炎分类识别的准确率提高中有着重大意义。

猜你喜欢
X光像素点准确率
仿生武器大揭秘
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
基于局部相似性的特征匹配筛选算法
给动物拍张X光片
人眼X光
基于5×5邻域像素点相关性的划痕修复算法
高速公路车牌识别标识站准确率验证法
基于canvas的前端数据加密