一种基于深度学习的移动端胆石病智能诊断系统*

2021-09-15 08:35李丕宝
计算机与数字工程 2021年8期
关键词:诊断系统直方图轻量化

王 硕 李丕宝

(1.中国石油大学(华东)计算机科学与技术学院 青岛 266580)(2.山东省立第三医院急救中心 济南 250000)

1 引言

深度学习已经在诸多领域得到了广泛应用,比如语义分割、计算机视觉,自然语言处理等,特别是在智慧医疗[1]上的创新性进展。目前的市场上,已经不少的医疗图像识别[3~4]产品,如浙江大学第一附属医院的甲状腺结节良恶性辅助诊断系统。此类产品已经达到了工业化应用的标准,但也存在一定的局限性。例如在实际应用中,患者只能够在医院进行诊疗,不可能随时携带大型的医疗图像识别设备;同时调查到,目前市场上还未发现与医院合作自主研发的胆石病相关的智能诊断系统。

本文研发了一种基于深度学习的胆石病智能诊断系统,可部署于离线移动端。高性能计算芯片技术[5]的发展具有了多核并行计算能力,可以实现在苛刻环境下的实时图片处理;以及近几年轻量化卷积神经网络[6~9]和移动端神经网络模型加速框架[10~11]的快速发展,使得轻量化神经网络部署在移动端设备上成为了可能。实验表明,该系统在医院采集的胆石病医疗图像验证集上进行胆石病识别验证达到了94.8%的准确率;在运行速度方面,可将进行一次完整的胆石病识别流程控制在2s以内,能够满足工业化应用的需求。

2 系统框架

一次完整的胆石病CT医疗图像识别具体工作流程图如图1所示,主要包括以下过程:1)获取用户的基本身份信息和原始的胆石病CT医疗图像;2)判断数据库是否存有该患者用户的诊断记录;3)用直方图均衡化方法对图像进行预处理,增加图像的对比度;4)对预处理之后的图像进行感兴趣区域进行标记;5)将图像输入到轻量化卷积神经网络当中进行识别;6)胆石病CT医疗图像的识别结果;7)生成一份电子版的医疗报告;8)将该用户的诊断结果与电子医疗包括存入到数据库。

图1 胆石病识别工作流程

3 算法介绍

胆石病CT图像识别是胆石病智能诊断系统的关键部分,通常分为胆石病图像预处理、胆石病ROI标记和胆石病的结石识别三个部分。

3.1 胆石病图像预处理

作为胆石病智能诊断系统的首要步骤,胆石病图像的结果直接决定了接下来的步骤能否顺利进行。本系统考虑到胆石病图像智能识别的精度和速度,在这一环节采用了直方图均衡化算法。

直方图均衡化算法[12]步骤如下。

1)给出原始图像的所有灰度级Sk(k=0,1,…,L-1)。

2)统计原始图像各灰度级的像素数nk。

3)根据原图像,计算灰度直方图:

式中,n为总像素数,nk为灰度级Sk的像素数。

4)计算原始图像的累积直方图:

(0≤Sk≤1,k=0,1,…,L-1)

5)取整计算:

6)确定映射关系:

Sk→Uk

7)统计新直方图各灰度级Uk的像素数目nk。

8)计算新的直方图:

在图2中清晰地观察到胆结石呈现出白色,与胆囊有明显的颜色差异,以及各种人体组织和器官,如肾脏、胆囊、脊柱等。在图3中是经过直方图均衡化算法处理的胆石病CT医疗图像。

图2 胆石病患者的CT医疗图像

图3 对比度增强之后的图像

3.2 胆石病ROI标记

胆石病感兴趣区域(Region of Interest,ROI)的标记指的是对于经过预处理的图像,选取部分感兴趣的区域,并对其进行标记,作为输入信息输入到神经网络当中,只需要对ROI进行处理。经过这样的处理之后,图像大量的无胆石病病灶区域就会被过滤掉,包含有胆石病病灶的标记区域在像素数量上要小于只经过处理之后的胆石病图像。

在前期的轻量化卷积神经网络训练过程中,经过大量的人为手工操作对胆石病图像进行病灶位置的标记,最终确定ROI标记区域由上到下、由左到右四个坐标值为A(90,148)、B(90,276)、C(230,148)、D(230,276)。

3.3 胆石病的结石识别

胆石病的病灶识别是胆石病智能诊断系统的最关键部分,胆石病识别结果的准确率与病灶特征提取的好坏有着直接的影响。基于局部二值模式算法[13]、向梯度直方图算法[14]等,都是机器学习领域中一些传统的特征提取方法。随着深度学习在近几年的迅猛发展,在世界的重大比赛中受到了各界的关注。在2012年Krizhevsky[15]使用经典的卷积神经网络在Imagenet图像分类大赛上斩获冠军,自此之后神经网络提取特征的方式就得到了学术界的广泛关注。本系统采用了改进的轻量化的深度卷积神经网络进行胆石病图像的特征提取。

4 轻量化卷积神经网络

卷积神经网络作为深度学习领域中的经典之作,在图像分类、语义分割、目标检测等领域已经得到了广泛应用。人们通过传统的不断叠加网络层数来提高CNN的性能。卷积神经网络从十层发展到上百层,甚至更有上千层的神经网络,比如ResNet和DenseNet。神经网络处理能力与泛化性得到了提高,但随之而来的就是模型的存储问题以及速度问题。

近几年来,轻量化卷积神经网络和移动端神经网络加速框架快速发展,通过创造出新的神经网络计算方式来减少网络参数,使得轻量化卷积神经网络更好地在移动终端设备上部署。本文使用的轻量化模型是MobileNetsV2。

4.1 深度可分离卷积

深度可分离卷积是许多高效神经网络体系结构的关键组成部分,我们将它应用到轻量化卷积神经网络当中以此来提高网络运行的效率。深度可分离卷积由两部分组成Depthwise convolution和Pointwise convolution。Depthwise convolution通过对每个输入通道应用一个卷积核来执行轻量化卷积,得到新的输出特征图。Pointwise convolution实际上是一个1×1的卷积,它将Depthwise convolution输出的特征图进行线性计算组合得到新的特征图。

4.2 逆残差

线性瓶颈块看起来类似于残差块,其中每个块包含一个输入,经过线性瓶颈的处理,最后是展开输出处理的结果。

如图4(a)的传统的残差块,先用1×1卷积将输入的特征图的维度降低,然后进行3×3的卷积操作,最后再用1×1的卷积将维度变大。图4(b)即为本文提出的结构,先用1×1卷积将输入的特征图维度变大,然后用3×3深度可分离卷积(depthwise convolution)方式做卷积运算,最后使用1×1的卷积运算将其维度缩小。注意,此时的1×1卷积运算后,使用的是线性激活函数,而不是ReLU激活函数,可保留更多特征信息。

图4 残差(a)与逆残差(b)

4.3 MobileNetsV2

我们使用的轻量化卷积神经网络的基本构建块是一个深度可分离残差卷积。此块的详细结构如表1所示。模型体系结构包含32个卷积核的完全卷积层。由于ReLU6在计算精度较低的情况下具有较强的鲁棒性,所以我们采用ReLU6作为非线性。在轻量化卷积神经网络中的所有卷积核,我们采用核大小为3×3,以此来提高整个神经网络框架的计算效率与性能。

表1 MobileNetsV2结构

5 数据实验

胆石症的类型和形式多样,部分胆石症的病变也十分相似,这极大地阻碍了胆石症的正确诊断和治疗。为了测试本系统的胆石病智能识别系统的准确性,本文选用了合作医院——山东省立第三医院的胆石病医疗图像数据。山东省立第三医院是一家公立医院,平均每年约有1万人次的肝胆就医病例,有着大量丰富的胆石病医疗图像数据。在具体的实验过程中,选取了100例胆石病患者的胆石病医疗CT图像数据,作为系统的验证数据集,一共有673张胆石病医疗CT图像。

6 实验结果

我们的系统可以检测CT图像中胆结石的存在,确定并标记其位置和大小,并可以辨别不同类型的胆结石,如颗粒状结石和泥沙状结石以及一些重要的器官,如图5所示。我们评估并比较了MobileNetV2和MobileNetV1作为用于对象检测的特征提取器的性能,同时表2中给出了YOLOv2,原始SSD以及SSDLite的正确率比较。

图5 诊断结果

表2 不同网络之间的性能比较

胆石病智能诊断系统的实验主要验证系统的胆石病病灶诊断准确率和测试系统的适用性,包括模型运行时间与能耗。在安卓虚拟机测试的同时,我们将系统部署在小米7、HTC One M8等安卓手机上,来测试该系统在实际应用中的准确率和用户体验。

在具体的实验过程中,重新采集了45例共216张胆石病患者的医疗CT图像,包括一人不同形状大小以及密度的胆结石病灶等图像。然后将其拷贝到手机内存中,更改接口为调用手机相册,进行胆石病验证,具体实验结果如表3所示。

表3 在不同安卓系统手机上的实验结果

实验结果相较于系统安装在工作台上的准确率较低,经分析是因为工作台上的系统运行环境与安卓系统手机上的系统运行环境有较大的差别。当系统运行在工作台时,有充足的内存资源以及高效的GPU等硬件设备,使得其识别准确率更高一些。最终实验结果表明,胆石病智能诊断系统在实际应用中,能够高准确率、高速地完成胆石病病灶识别工作,可辅助医师提高临床诊断效率。

7 结语

本文研发的胆石病智能诊断系统在数据特征提取环节采用了规模小、速度快、准确率高的轻量化卷积神经网络,可以使整体系统准确率和运行效率得到提高。在国内外的整个医学研究领域,还未曾出现过与胆石病相关的智能诊断系统。整个系统可以离线部署在搭载安卓系统的移动终端设备上,并且可在本地完成医疗图像识别任务,体积小,可以在需要便携、移动的环境下能够很好地完成胆石病智能诊断的应用需求,缓解胆石病临床医学领域的疑难问题。

猜你喜欢
诊断系统直方图轻量化
基于ABAQUS的某轻卡车蓄电池支架轻量化
中低速磁浮直线感应电机轻量化研究
重卡车架轻量化设计
一种轻量化自卸半挂车结构设计
一种轻量化自卸半挂车结构设计
用直方图控制画面影调
例析频率分布直方图
基于故障树分析的液压挖掘机的故障诊断探索
中考频数分布直方图题型展示
断路器检测系统与诊断系统研究