APP下载

基于MobileNetV2优化的DeeplabV3+目像分割方法研究

2022-02-12丁万坤周作建李红岩战丽彬王世东

中医药信息 2022年1期
关键词:特征提取卷积像素

丁万坤,周作建✉,李红岩,战丽彬,王世东

(1. 南京中医药大学,江苏 南京 210046;2. 辽宁中医药大学,辽宁 沈阳 100847;3. 北京中医药大学东直门医院,北京 100700)

中医学认为目与人体脏腑经络紧密相连,通过目诊不仅能够了解脏腑盛衰,还可以预测将要发生的疾病,体现了中医“治未病”的思想。具体来看,中医目诊即通过观察患者眼睛各方面的变化诊断疾病,是中医望诊的重要组成部分,其历史悠久,简单易行,诊断明确。中医目诊早已用于癌症、糖尿病、高血压等多种疾病的诊断[1−2],而现代中医目诊则进一步融合了不断发展的目诊理论与技术,并借助多种现代化医学设备进行眼部检查和全身疾病诊断,如虹膜诊断法、眼底诊断法等。不仅如此,朱会明等[3]研究的中医肝病目诊系统,完成了从目像采集、目像处理到目像分类的全过程,并基于中医“五轮”理论完成各部分的识别提取,再利用特征增强算法去除背景,最终通过设定目表血管纹理描述符完成了目部特征提取。

然而目前中医目诊研究多集中于临床诊断方面,对目像的自动化分割研究较少,对中医目诊的智能化研究相对欠缺。在医学其他领域,深度学习算法早已被广泛应用于医学图像分割任务中[4−9]。例如王亚刚等[10]提出了一种基于改进DeeplabV3 + 的肠道息肉分割算法,编码部分采用最优DPC 架构获取多尺度特征,解码部分采用3 层深度可分离卷积代替原有卷积,从而减少了上采样中的信息丢失,有效提高了息肉分割精度。为有效实现中医目诊的标准化和智能化,针对捕获的图像进行精准的目像区域分割是智能目诊的保障和基础。本文提出的轻量化目像分割模型能够快速识别并分割目像区域,且轻量化模型也可以嵌入微信小程序使用,从而保证模型在移动设备中也能快速部署和实现,为现代化中医目诊提供了有效的目像分割方法,推动了中医目诊智能化诊断的发展。

1 相关知识

1.1 MobileNetV2

MobileNetV2 是2018年由谷歌团队提出的轻量级网络模型[11],核心是深度可分离卷积模块,大大减少了模型的参数量,从而使得网络收敛速度加快。深度可分离卷积网络包括深度卷积和逐点卷积,计算量如公式(1)~(3)所示。

其中,DK*DK代表标准卷积,M和N分别代表输入通道数和输出通道数,DH代表特征图的宽度和高度。C1代表深度卷积计算量,C2代表逐点卷积计算量,C代表深度可分离卷积计算量。

相比MobileNetV1,MobileNetV2 引入了线性瓶颈模块和倒置残差结构[12],线性瓶颈模块可有效防止ReLu 函数在低维空间破坏信息,经过逐点卷积层之后直接输出;倒置残差结构则与ResNet 结构相反,先运用1*1 卷积进行升维,然后采用3*3 卷积进行特征提取,最后使用1*1 卷积作降维处理,保证在高维空间进行特征提取。见图1。

1.2 DeeplabV3+

DeeplabV3+是在DeeplabV3基础上添加简单的解码模块[13],构建了一个带空洞的空间金字塔池化(ASPP)的编解码结构[14−15],可以通过控制空洞卷积率的大小确定编码模块输出特征图分辨率的大小。DeeplabV3取消条件随机场(CRF)结构后,DeeplabV3+利用编解码结构增强边缘分割效果,提高图像分割精度。

DeeplabV3+的编码模块对输入图像进行下采样,空间金字塔池化模块可实现多尺度特征提取,DeeplabV3+编码结构将空洞卷积与金字塔池化模块相连接,并将改进后的Xception 卷积应用到解码层,且在每次3*3卷积后加入批归一化层(BN层)和ReLu激活函数。解码模块首先将底层特征进行1*1 卷积降维,与4倍双线性插值上采样操作的高级特征图进行多尺度特征融合,通过3*3卷积和上采样后输出完整预测图像。

1.3 评价指标

精确度Dice[16−17]、平均交并比(MIoU)[18]是图像分割中常用的评价指标。模型参数量是深度学习中衡量模型大小的常用指标。本文采用Dice、MIoU 和模型参数量作为评价指标分析目像分割结果。Dice是一种集合相似度度量函数,常用于计算两个样本之间的相似度,Dice取值为[0,1]。MIoU是一种语义分割的度量标准,计算预测值和真实值的交集与并集比值的平均值。

Dice和MIoU系数计算公式如下:

公式(4)代表Dice 计算过程,其中X代表预测像素,Y代表真实像素,|X∩Y|代表预测像素和真实像素的交集,|X|和|Y|分别代表预测像素和真实像素数量。

公式(5)中k代表分割类别数(不包含背景),TP代表真正例,FN代表假反例,FP代表假正例。

1.4 模型参数量

卷积神经网络的模型参数量代表模型的空间复杂度,由卷积层参数量和全连接层参数量组成,池化层不含参数。模型参数量计算如公式(6)所示。

公式(6)中,kw*kh代表卷积核大小,nin代表卷积层输入通道数,nout代表卷积层输出通道数,kw*kh*nin*nout代表模型卷积层参数量;min代表全连接层输入通道数,mout代表全连接层输出通道数,min*mout代表模型全连接层参数量,二者之和即为模型参数量P。

2 方法

本文提出了基于MobileNetV2优化的DeeplabV3+模型实现目像分割的方法,具体实现主要包括目像数据集准备和目像分割模型构建两个部分。其中,目像数据集准备阶段进行数据增强和目像标注等图像预处理操作,目像分割模型构建部分则设计了模型的整体架构。

2.1 目像数据集准备

本实验中目像数据通过MyEyeD-10 白睛无影照相机进行采集,分别采集双目左、右、上、下和正视五个角度的目像数据,每个数据的图像分辨率为960*640。

2.1.1 数据增强

神经网络模型通常包括大量参数,模型训练时需要输入海量数据。当获取的目像数据较少时,往往难以满足模型训练需要,极易产生过拟合现象。本实验将通过缩放、旋转、镜像、平移以及调节亮度、色度、对比度等方法进行数据增强操作[19],将目像数据集扩充至310张,并按26∶4∶1比例分为训练集、测试集和验证集。

2.1.2 目像标注

Lableme是跨平台的标注工具,可根据任务的需要进行多边形、多线段、矩形、圆形等不同形式的标注。本文在进行训练数据的准备工作中即采用Labelme 进行目像区域的标注,同时标注信息生成json 文件。为便于卷积神经网络读取标签文件,将json 文件转换成png 文件,包括Labelme 标注图像和标签可视化图像。见图2。

2.2 目像分割模型构建

本实验采用基于MobileNetV2 优化的DeeplabV3+网络模型(以下简称DeeplabV3+_MobileNetV2),整体架构如图3 所示。利用MobileNetV2 代替Xception 网络作为主干特征提取网络,优化现有的DeeplabV3 + 算法,既能大大减少模型参数量,实现模型的轻量化设计,又可以保证深度卷积在高维度完成特征提取,提升模型计算性能。

在编码层中,通过MobileNetV2网络和空洞率为6、12和18的ASPP模块进行目像特征提取,对并行卷积后产生的特征信息进行特征融合(concatenate),送入1*1卷积层压缩,输出高级语义特征信息;在解码层中,将编码层产生的低级语义信息通过1*1卷积降维,与经过4倍上采样之后的高级语义信息进行特征融合(concatenate),最终将融合后的特征图进行3*3卷积和4倍上采样操作,恢复图像空间分辨率,经过SoftMax层后输出目像分割结果图。SoftMax分类器输出如公式(7)所示。

公式(7)中,k代表类别个数,本实验中将图像分为眼球和背景两类,因此k=2,x代表像素位置,αk(x)代表输出像素x对应的第k个通道的值,Pk(x)代表像素x属于第k类的概率。

模型输入为目像数据,首先通过resize 操作将目像大小转换成(416*416*3),对输入数据进行np.random. shuffle 处理,模型训练过程中批处理尺寸batch_size 设定为2,采用Adam 算法进行优化,共进行50 轮训练(Epoch = 50)。实验目标是将初步采集的目像分为眼球和背景两类,为衡量预测值与真实值之间的概率分布差异,损失函数采用二值交叉熵损失函数(binary_crossentropy),如公式(8)所示。

公式(8)中,N代表样本数,yi代表标签0 或1,pi代表预测值。

由于原始目像数据集数量有限,难以满足模型训练的需求,导致模型准确率下降。针对上述问题,在小样本数据集上采用在ImageNet 上训练好的MobileNetV2模型预训练权重进行迁移学习,并在此基础上进行微调,不仅可以提高模型的泛化能力,减轻过拟合现象,还可以减少模型训练时间,同时提高目像分割算法的精度和效率。

2.3 实验环境

本文实验硬件环境为Intel(R)Core(TM)i5-9400F CPU @ 2.90 GHz、RAM 为16 G DDR4、显存为6 G 的NVIDIA GeForce GTX 1660,实验软件环境为Windows 10专业版、python3.6 版本的 Anaconda3-5.2.0、tensorflow-gpu1.13.1、keras2.2.4,基于tensorflow 和keras混合编码搭建模型。

3 实验结果与分析

为评价目像分割结果,选用Dice、MIoU 和模型参数量等指标综合评价本文方法,在测试集上计算Dice、MIoU 的平均值,DeeplabV3 + _MobileNetV2 模型的Dice 和MIoU 分别为96.31%和95.85%。为进一步验证本文方法的有效性,实验与DeeplabV3 + 模型和基于MobileNetV2 的PSPNet 模型(以下简称PSPNet_MobileNetV2)进行了对比。PSPNet核心结构是金字塔池化模块(PPM),与ASPP 模块有相似之处,但是PPM缺少空洞卷积和空间池化层。

几种不同方法的结果经比较,DeeplabV3+的Dice和MIoU 分别为93.89%和93.24%,PSPNet_MobileNetV2 的Dice和MIoU分别为96.02%和95.54%,两个模型的分割精度均低于DeeplabV3+_MobileNetV2模型。在参数量方面,DeeplabV3+_MobileNetV2优势更加明显,其参数量不足DeeplabV3 + 的1/15、PSPNet_MobileNetV2 的1/4。见表1。

表1 目像分割评价指标

DeeplabV3 + _MobileNetV2 模型训练准确率和损失曲线见图4。训练集和验证集准确率随Epoch 增加而升高,Loss 随Epoch 增加逐渐下降,最终趋于0 且稳定,训练集Loss 趋近于0.008,验证集Loss 趋近于0.018,训练集和验证集Loss 均将低于0.1,表明DeeplabV3+_MobileNetV2模型最终收敛。

此外,笔者还对目像分割结果进行了定性分析。为使其可视化,随机展示一张测试集图片分割结果,同时,为更好地显示边缘分割效果,图中将放大局部区域进行展示,见图5。 结果显示,DeeplabV3 + _MobileNetV2 模型分割结果最好,边缘分割最为平滑;其次是PSPNet_MobileNetV2模型,边缘分割不平滑,呈现锯齿状;分割结果最差的是DeeplabV3+模型,边缘分割不够准确。

4 结论

中医目诊作为望诊的组成部分之一,在中医诊病和疾病预测中起到了重要作用,然而目前中医目诊智能化发展仍处于起步阶段,依然存在很多问题。本文提出了基于MobileNetV2与DeeplabV3+相结合的目像智能化分割算法,实现了轻量化的目像分割模型设计。将MobileNetV2作为目像特征提取网络,大大减少了模型参数量;通过DeeplabV3+解码层实现特征融合,有效提升特征利用率,实现目像区域精准分割,模型分割精度可达96.31%。表明实验提出的基于MobileNetV2 优化的DeeplabV3+模型能够实现中医目像的自动化、智能化分割,从而为中医目诊智能化发展提供了新方法和新思路。

猜你喜欢

特征提取卷积像素
像素前线之“幻影”2000
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
空间目标的ISAR成像及轮廓特征提取
“像素”仙人掌
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于特征提取的绘本阅读机器人设计方案
从滤波器理解卷积
微动目标雷达特征提取、成像与识别研究进展
基于傅里叶域卷积表示的目标跟踪算法