APP下载

改进EfficientNet的表皮细胞图像识别研究

2022-06-09王一丁李耀利蔡少青

计算机工程与应用 2022年11期
关键词:表皮中药材准确率

王一丁,姚 毅,李耀利,蔡少青,袁 媛

1.北方工业大学 信息学院,北京 100144

2.北京大学 药学院,北京 100191

3.中国中医科学院 中药资源中心,北京 100700

利用中药材粉末显微鉴定的方法对中药样品进行鉴别是其质量监控的一项关键技术,显微特征包括组织、细胞及其内含物,如木栓组织、结晶、纤维、淀粉粒、花粉粒、导管、表皮细胞等。目前,关于中药材粉末的显微特征,有文字描述、墨线图描绘及彩色照片三种常用的方法,但是这些特征描述和图像在使用时多有不便,并且在比较和判断过程中常常需要依据专家的经验,主观因素过多,作为非专家的一般药学人员很难胜任利用这些显微鉴定资料进行显微鉴定的工作。因此,显微鉴定的应用受到了很大的限制。

近年来,随着计算机视觉技术的不断发展以及人工智能的兴起,运用图像处理算法、模式识别技术进行中药材显微特征图像的自动识别的方法和应用不断产生。目前国内已经有了一些初步的工作,王亚杰[1]等人运用分形分析、小波分析、灰度梯度共生矩阵三种方法来进行特征提取,然后用K-近邻分类方法,得到较高准确率;李辉等人[2]采用扫描电镜法和X-射线衍射法获得了药用珍珠、混淆品及浙产珍珠粉的扫描电镜图,进而鉴别真伪;王耐等人[3]提取了牛膝和川牛膝两种中药材拼接横切面显微图像的颜色、纹理等特征,Zscore标准化后进行主成分分析,最后识别采用BP神经网络。此外,还有研究者运用改进型双通道SqueezeNet[4]、RGB-HSV+TAM+MBAM[5]等深度学习的方法进行了显微图像识别研究,取得了不错的效果。

值得注意的是,目前的中药材显微图像识别方法都是在相同场景下进行研究的,其中训练样本和测试样本都属于同一个中药材显微图像数据库。在这种情况下,可以认为测试集和训练集样本的特征分布相似。但在实际应用中,中药材粉末显微图像往往是在不同的环境或不同的设备下采集的,在这种场景下,训练和测试的显微图像样本在颜色、形态和大小等方面会有一定的不同,这就导致了它们的特征分布会有差异,识别方法的效果可能会大大降低。因此,对训练样本和测试样本属于两个不同的中药材粉末显微图像数据库的识别问题进行研究是非常值得的。针对以上问题,本文将进行3个方面的工作:(1)在所有中药材粉末显微图像特征中表皮细胞具有的纹理特征最明显,视觉上最容易区分,因此选用其作为本次实验的数据集进行研究;(2)将局部二值模式图(local binary patterns,LBP)和Canny边缘检测特征图与RGB图像进行合并为5通道作为网络的输入,扩充网络输入端的数据宽度,使得网络可以学习与表达的东西更加丰富,有利于提高精确度;(3)改进了SPP结构并把其嵌入到轻量并且高效的EfficientNet网络模型中,增大神经网络的深度同时去除冗余信息,通过更深的神经网络实现特征提取。

1 卷积神经网络与EfficientNet网络

1.1 卷积神经网络

卷积神经网络是一种前馈神经网络,尤其是在图像识别方面卷积神经网络的表现十分出色。它主要是由输入层、卷积层、池化层、全连接层和softmax层组成。卷积神经网络最早于1989年LeCun等人[6]提出,并用于计算机识别手写数字图像;2012年,Krizhevsky与Hinton提出了AlexNet[7],成功采用ReLU作为网络激活函数,提出局部响应归一化(local response normalization,LRN)并且首次使用了Dropout层,目的是使一部分神经元失活,避免模型过拟合;2015年,He等人提出了具有残差连接的ResNet[8]网络,有效解决了当深层神经网络的深度到达一定深度后,拟合能力反而更差的问题;2017年,谷歌提出了深度可分离卷积(depthwise separable convolution),以此为基础搭建了轻量化网络MobileNet[9],同时允许用户修改网络宽度与输入分辨率这两个参数,从而适配到不同的应用环境中;2019年,谷歌提出了EfficientNet[10],即用一种新的模型缩放方法对网络深度(depth)、网络宽度(width)和输入图像分辨率(resolution)三个维度进行合理并高效的搭配,不仅比别的网络快很多,而且精度也更高。

1.2 EfficientNet网络

考虑到不同批次,不同环境下采集到的中药材粉末表皮细胞显微图像本身在形态上会有不同,以及其本身具有复杂纹理的特点,选择特征提取能力强和对跨库数据识别精度高的网络作为基础网络,同时也考虑到网络的识别速度以及后续部署等问题,需要模型的参数量不能过大。综上本文使用EfficientNet作为对跨库中药材粉末显微图像的基础分类网络,其运用网络搜索技术来对网络的图像分辨率、深度以及宽度三个参数进行搜索,进而得出最平衡的搭配,这样高效的网络不仅参数量小而且可以很好地学习到图像的深层语义信息,因此对于分类任务来讲更具有鲁棒性。

EfficentNet是由多个MBConv模块构成的,MBConv中包含深度可分离卷积、Swish激活函数以及Dropout层,并将注意力机制嵌入到模块中,其结构如图1所示。

图1 MBConv结构图Fig.1 MBConv schematic diagram

EfficientNet-B0的网络框架总共分成了9个模块,第1个模块就是一个卷积核大小为3×3步距为2的普通卷积层,第2~8个模块都是在重复堆叠MBConv结构,而第9个模块由普通的1×1的卷积层、平均池化层和全连接层组成。B1~B7的网络结构就是在B0的基础上修改图像的输入分辨率、特征层的通道数以及卷积层数。由于EfficientNet共有8种结构,为了选出最优结构作为跨库中药材粉末显微图像的基础网络,以RGB原图作为输入图像做8组实验,实验结果如表1所示。经对比后发现,EfficientNet-B2分类效果最好,因此选用其作为基础网络进行下一步的工作。

表1 EfficientNet B0~B7网络对比实验结果Table 1 EfficientNet B0~B7 network comparison experiment results

2 基于多通道融合的Efficientnet模型改进

在跨库图像识别任务中,由于图像的分辨率、亮度、颜色等差异的干扰,单纯的RGB图像不能充分地让网络学习到两个库中同种中药材显微图像所具有的共同特征。经过分析发现,不同库中同种中药材显微特征图像的纹理分布是相同的,利用这个特点可以帮助网络更好地对数据进行识别。因此本文首先将RGB图像与不同的特征图进行融合,形成大于三通道的图像数据送入分类网络中,目的是在训练过程中扩充输入数据的宽度来提供更丰富的数据信息,进而提升跨库数据分类效果;其次,网络对于增加的特征信息会出现处理瓶颈的问题,因而会丢失部分信息,而SPP结构具有的从不同角度进行特征提取,之后再聚合的特点可以很好地解决瓶颈问题,因此将SPP结构进行改进(D-SPP)嵌入到网络结构中增加网络的深度进而应对增加的特征纹理信息。改进后的模型结构如图2所示,由于增加了卷积操作,会使得网络的参数量有所上升,改进前后的模型参数量如表2所示。

图2 改进后的EfficientNet-B2结构Fig.2 Improved EfficientNet-B2 network architecture

表2 改进前后网络参数量对比Table 2 Comparison of network parameters before and after improvement

2.1 扩充输入端的数据宽度

为了更好地研究多通道融合的方法,本文选取了多种特征图作为备选,所选取的特征有:LBP、Canny、HOG以及Gabor。首先将每一个特征图分别与RGB图像融合形成四通道图像送入网络训练,实验结果如表3所示。

表3 四通道图像实验对比结果Table 3 Four-channel image experiment comparison results

由表3可知,相较于原始分类网络采用的单一的RGB图像作为输入,融合了特征图的数据由于拥有更丰富的语义信息,因此使得网络识别率更高。通过实验结果可以看出,结合了Gabor特征图的效果最好准确率达到了79.5%。接下来选取四种特征图中的两种与原图进行融合形成五通道图像输入网络,实验结果如表4所示。

表4 五通道图像实验对比结果Table 4 Five-channel image experiment comparison results

由表4可知,相较于四通道图像,五通道图像由于融合了更多的信息,识别效果也有所提高,而RGB+LBP+Canny这种组合方式准确率最高,达到了79.8%。接下来在四种特征图中选取三种与原图进行融合形成六通道图像输入网络,之后再将四种特征全部与原图进行融合形成七通道图像输入网络进行实验,实验结果如表5所示。

表5 六通道和七通道图像实验对比结果Table 5 Comparison results of six-channel and seven-channel image experiments

由表5可知,相较于五通道图像,六通道和七通道图像并没有在识别效果上有所提高,反而准确率有所降低,是因为随着通道数的增加虽然会使得语义信息越来越丰富,但是也会使得噪声、冗余信息越来越多,减弱神经网络对有用信息的判断能力。通过以上三个实验结果可以看出,当特征图组合方式为RGB+LBP+Canny的效果是最好的,说明LBP特征图和Canny边缘检测两种特征图的组合更有助于丰富并且突出图像的纹理信息,从而提升网络跨库识别能力。

2.1.1 局部二值模式(LBP image)

局部二值模式是计算机视觉领域中一个非常有效的纹理描述特征,具有很多优点,比如旋转不变性、平移不变性以及可以消除光照变化的问题等,具体原理是,以3×3为窗口单位,若周围像素值大于中心像素值,则该像素点标记为1,否则标记为0,之后对邻域像素进行二进制化,将所得的值与二值序列对应相乘后相加即可得到中心像素的LBP值,具体过程是:

式中,s0为中心点像素的灰度值,s i(i=1,2,…,8)为领域像素的灰度值,K为将中心像素与邻域像素的灰度值进行比较得到的二值序列。中药材粉末表皮细胞显微图像不同数据库之间的原图样本和对应的LBP特征图如图3和图4所示,其中(a)和(b)分别代表丁香表皮细胞和砂仁表皮细胞,且每一个种类左边为库1右边为库2。

通过图3和图4可以看出,丁香的表皮细胞具有块状的纹理特点,而砂仁的表皮细胞具有条纹状的纹理特点,这些都能在LBP特征图上很好地显示出来,因此可以作为区分不同种类表皮细胞的依据使得网络更能充分学习到不同类的纹理信息。

图3 表皮细胞显微图像1库和2库样本1的示例Fig.3 Examples of sample 1 in library 1 and library 2 of epidermal cell microscopic images

图4 表皮细胞显微图像1库和2库样本的LBP特征图Fig.4 LBP feature maps of samples in epidermal cell microscopic image in library 1 and library 2

2.1.2 Canny边缘检测(Canny image)

1986年Canny提出了Canny算子,Canny算子有三个规范,即边缘点被误报的概率低、检测到的边缘点尽可能位于真实边缘的中心和单边只有一个响应。具体步骤是:

(1)高斯滤波:对图像进行降噪处理,增大边缘的宽度。

式中,f(m,n)为原图经过灰度化之后位置在(m,n)像素点的灰度值,g(m,n)为经过高斯滤波之后位置在(m,n)像素点的灰度值。

(2)计算梯度值和梯度方向:图像梯度可以用来表示灰度值的变化程度和方向,因此可以看出来哪些像素点灰度值变化是最大的。

式中,g x(m,n)表示像素点在X方向上的梯度值,g y(m,n)表示像素点在Y方向上的梯度值。

(3)非极大值抑制:过滤不是边缘的点,使边缘的宽度尽可能为1个像素点。原则是如果像素点在梯度方向上的梯度值是最大的,则为边缘点,否则不是边缘,将灰度值设为0。

(4)双阈值检测:通过第三步之后,仍然有很多可能的边缘点,进一步设置像素的两个阈值,即低阈值和高阈值,灰度变化大于高阈值的,设置为强边缘,低于低阈值的,剔除掉。对于中间的像素点,如果与确定为边缘的像素点邻接,则判定为边缘;否则为非边缘。

中药材粉末表皮细胞显微图像不同数据库之间的原图样本和对应的Canny边缘检测特征图如图5和6所示,其中(a)和(b)分别代表丁香表皮细胞和砂仁表皮细胞,且每一个种类左边为库1右边为库2。

图5 表皮细胞显微图像1库和2库样本2的示例Fig.5 Examples of sample 2 in library 1 and library 2 of epidermal cell microscopic images

图6 表皮细胞显微图像库1和库2样本的Canny特征图Fig.6 Canny feature maps of samples in epidermal cell microscopic image in library 1 and library 2

通过以上两幅图可以看出,Canny边缘检测方法能够很好地检测出丁香表皮细胞的块状纹理和砂仁表皮细胞的条纹状纹理,因此可以和LBP特征图一起辅助网络充分学习到图像的纹理信息,进而更好地区分不同种类表皮细胞。

2.2 增加网络的深度(D-SPP)

SPP-Net[11]是一种可以不用考虑图像大小,输出图像固定长度网络结构,并且可以做到在图像变形情况下表现稳定,在图像分类和检测领域有着非常广泛的应用。YOLOv4[12]目标检测算法在特征提取网络后加入了SPP模块,结构如图7所示,其主要是通过使用不同大小内核的最大池化层得到特征图局部区域感受野和接近全局的感受野信息,并进行特征融合。这种融合不同尺度感受野的操作能有效丰富特征图的表达能力,增加网络的深度进而增强网络输出特征的接受范围,能够更有效地应对由于增加的特征信息网络所出现的处理瓶颈问题。

图7 YOLOv4算法中SPP模块结构图Fig.7 SPP module structure diagram in YOLOv4

具体操作是:输入的特征图通过一个卷积层后,分别经过5×5、9×9、13×13三个不同尺寸的池化核做最大池化处理,再通过concat操作将得到的特征图进行通道的拼接,输出的通道数变为原通道数的2倍,上述过程可表示为:

式中,E0∈R(N,W,H,C)为输入特征图,E1∈R(N,W,H,1/2C)为原特征图经过1×1卷积之后的结果,E2,E3,E4∈R(N,W,H,1/2C)为E1分别经过5×5、9×9、13×13三个不同尺寸内核做最大池化处理之后的特征图,E5∈R(N,W,H,2C)为将E1、E2、E3、E4四个特征图拼接的结果。

经过分析,虽然上述结构可以有效地提取图像特征,但是由于其最后输出的通道数是原特征图的2倍,之后还需要进行通道数调整操作,对于计算机来说有不小的计算压力,而且由于通道数增多特征图的冗余信息也会增多。因此本文对SPP结构进行改进,将经过三个不同的池化核之后的特征图先进行连接,然后通过1×1卷积恢复为原通道数,再与输入特征图相加,改进后的SPP结构(D-SPP)如图8所示。

图8 改进后的SPP模块结构图Fig.8 Structure diagram of improved SPP module

这样的结构输出通道数与原特征图通道数相同,对于网络的后续操作既减小了计算量又没有破坏掉原特征图的信息,而且还可以起到去除冗余信息的作用。上述过程可表示为:

式中,D0∈R(N,W,H,C)为输入特征图,D1∈R(N,W,H,1/2C)为原特征图经过1×1卷积之后的结果,D2,D3,D4∈R(N,W,H,1/2C)为D1分别经过n1、n2、n3三个不同尺寸池化核处理之后的特征图,D5∈R(N,W,H,C)为先将D2、D3、D4四个特征图拼接,经过1×1卷积调整通道数之后再与原特征图相加的结果。

为了选取D-SPP结构中的三种池化核大小的最优搭配,将大小分别为3、5、7、9、13的池化核作为备选项,进行十组对比实验。实验结果如表6所示。经实验对比后发现,池化核n1大小为3,池化核n2大小为7,池化核n3大小为9时分类效果最好,因此D-SPP结构采用最优的池化核组合方式。

表6 不同池化核大小对比实验结果Table 6 Results of different pooling kernel size comparison experiments

将SPP结构和D-SPP结构分别嵌入到网络中进行对比实验,输入为RGB+LBP+Canny五通道图像,并记录训练过程总共100个epoch中的平均单epoch所用的时间,结果如表7所示。

表7 SPP模块对比实验结果Table 7 Comparison experiment results of SPP module

从结果可以看出,将改进的SPP模块加入到网络中虽然比原始EfficientnetB2增加了一部分训练时间,但是相比于改进之前SPP结构由于去除掉了冗余信息,单epoch训练时间缩短了13 s,这极大提升了训练的效率,而在准确率方面,改进后的SPP结构相较于原始结构准确率提升了1.7个百分点,比加入改进前的SPP结构准确率提升了0.6个百分点。

3 实验及结果分析

3.1 实验环境

实验的训练和测试环境为Windows操作系统,使用Pytorch深度学习框架实现模型算法。实验电脑CPU型号为intel至强E5,Nvidia GTX1080Ti显卡,16 GB内存,在集成开发环境PyCharm中使用Python3.7语言来开发。

3.2 数据集与实验设置

实验使用的中药材粉末显微表皮细胞特征图像数据集一共有1 198张图片,其中1库有809张图片,2库有389张图片,两个库中数据均为26种,类别均相同且为不同时间和环境下采集的中药材显微图像。图9和图10展示了一些样本数据,可以看到,1库和2库种属于同一类别的数据在形态,亮度,颜色等方面均有差异。选用1库数据集中90%(728张)的图片作为训练集,剩下10%(81张)作为验证集,2库数据集中的图片均作为测试集,来对模型进行最后的验证。

图9 表皮细胞1库样本图Fig.9 Sample maps of epidermal cell in library 1

图10 表皮细胞2库样本图Fig.10 Sample maps of epidermal cell in library 2

为了网络能够更好地训练图片,首先将输入图像统一调整到260×260大小,然后再将图片所有的像素值除以255,归一化到0~1之间,将训练集进行随机打乱,验证集和测试集均保持不变。选择Adam作为模型参数优化器,每一个批次训练16张图片,损失函数采用softmax交叉熵损失函数;训练周期为100轮;学习率的更新采用随epoch增大阶段性减小的策略,如图11所示,初始学习率设置为0.01,此后每经过20个epoch学习率缩减为原来的0.5,以此类推。为了防止在训练过程中出现过拟合现象,将使用图像增强方法,即对训练图像进行水平翻转和随机角度旋转。原始训练集一共有728张图片,在通过过数据增强进行数据扩充后,训练集数量达到1 529张,是原始训练集的2.1倍。

图11 学习率函数Fig.11 Learning rate function

3.3 实验结果及分析

为了验证所提模型的有效性,以及对跨库中药材粉末表皮细胞显微图像识别的鲁棒性,将此模型与目前一些比较常用的分类网络模型做对比实验,输入为RGB+LBP+Canny五通道图像,模型训练方法均与3.2节中所描述的方法相同,实验结果如表8所示。

从表8可以看出,本文所提出的方法针对26种不同库的中药材粉末表皮细胞显微图像数据集上取得了良好的效果,相比较于Xception网络准确率提高了3.1个百分点,损失值减少了0.17,根据最开始表1的数据可以看出相较于改进之前的EfficientNet-B2准确率提升了2.7个百分点,损失值减少了0.17。为了进一步说明本文方法相较于其他图像分类方法的优势,将使用ROC曲线来对模型的性能进行可视化,ROC曲线可以很容易地查出一个分类器在某个阈值时对样本的识别能力,曲线越靠近左上角,即灵敏度越高,误判率越低,分类性能越好。如图12所示,本文提出的方法其灵敏度和特异度之和最大,因此在实验中能够取得优于其他方法的效果。

表8 不同卷积神经网络的对比实验结果Table 8 Comparative experimental results of different convolutional neural networks

图12 不同模型在测试集上的ROC曲线和AUC值Fig.12 Performance of each CNN model on test set

通过对比六组实验的训练准确率折线图,可以发现RGB-LBP-Canny+D-SPP的方法在训练过程中收敛速度最快,70轮之后准确率逐渐达到平稳状态,最后的准确率也是最高的。从曲线来看整个训练过程相比于其他方法更加的稳定,没有大幅度的波动状态,训练准确率折线图如图13所示。

图13 训练准确率折线图Fig.13 Training accuracy line chart

并且为了充分验证所提出算法的有效性,本文将采用控制变量法与文献[4]和文献[5]所提出的方法进行对比实验,即采用文献中所使用的导管显微特征图像分类数据集进行实验,结果与对应文献方法的结果进行对比。文献[4]采用15种中药材导管显微图像,数据集包含4 568张图片,其中训练集共3 928张图片,测试集共640张图片,实验结果如表9所示。

表9 不同分类网络对比实验结果1Table 9 Comparison experimental resultsⅠof different classification networks

文献[5]采用34种中药材导管显微图像,数据集包含8 774张图片,其中训练集包含7 986张图片,验证集包含798张图片,测试集包含788张图片;实验结果如表10所示。

表10 不同分类网络对比实验结果2Table 10 Comparison experimental resultsⅡof different classification networks

由表9和表10得出,本文所提出算法在使用导管显微图像数据集的情况下识别效果也比较不错,可以看到相较于文献[4],本文方法在其测试集准确率上提高了5.2个百分点;相较于文献[5],本文方法在其测试集准确率上提高了0.8个百分点,结果证明了本文方法不仅适合解决跨库中药材粉末表皮细胞显微图像的分类问题,还可以解决类似中药材粉末显微特征细胞的识别问题。

4 结束语

经过分析,针对中药材粉末表皮细胞显微图像跨库识别问题提出了一种改进型EfficientNet模型,首先将局部二值模式图和Canny边缘检测特征图与原RGB图像合并,形成5通道图像送入网络丰富纹理信息,其次将改进的SPP模块嵌入到网络中增强特征提取的同时去除冗余信息。经实验证实,所提方法对于跨库识别问题具有一定的有效性,识别率达到了81.5%,相比较于改进之前提升了2.7个百分点。接下来的工作本文将考虑如何在不增加参数量的情况下也能获得比较高的识别率,对网络结构进行进一步优化,在保证精度的同时加快模型的识别速度。

猜你喜欢

表皮中药材准确率
科研人员揭示油桃果实表皮不长毛的奥秘
夏季中药材田间管理做好这五点
中药材促农增收
河滩地建起中药材示范区
建筑表皮中超薄基材的应用分析
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
宋四清:种植中药材 托起致富梦
人也会“蜕皮”,周期为一个月