丁 偕,崔浩阳,张敬谊
(万达信息股份有限公司 数据中心,上海 201112)
卷积神经网络(Convolutional Neural Network,CNN)已经成为图像分类的重要方法[1],并在医学影像领域得到了快速发展,具体包括甲状腺癌筛查、乳腺癌诊断、前列腺的Gleason 分级、眼底图像的异常筛查等方面.不断改进和创新的CNN 模型,已然成为提高准确率和效率的关键,其中池化层是CNN 最重要的组成部分之一.池化层目的在于减少图像尺寸和参数,提高计算效率,增大感受野以及提高模型的鲁棒性.目前最大值池化和平均值池化是在CNN 中被广泛使用,而这两种传统的池化方法虽然处理速度较快,但会引入边缘光晕、模糊和块效应.最大值池化是最常用的池化方式,由于其处理过程过于简单,使得在激活图上丢失了大量信息,而平均池化会对某些特征图产生模糊效果[2].虽然这些池化方法是高效简单的,但是阻碍了网络学习最优模型参数的潜力[3].
本文提出了一种基于小波分解卷积神经网络,利用小波分解中的下采样实现对特征图的池化,从而减少特征信息的丢失,并且通过小波分解能够获得特征图的频域信息,包括低频分量和高频分量[4].而传统的卷积神经网络擅长捕获空间域特征[5,6].因此,通过小波分解可将频域信息引入到CNN 框架中,使得模型能够同时学习空域特征和频域特征,其中小波分解得到的低频信息作为特征图池化的结果,而高频信息通过捷径连接方式添加到下一层[7].可弥补在池化过程中丢失的细节特征.最后在Camelyon16 数据集[8]上与最大值池化和平均值池化进行了对比验证,从而证明了本文方法的正确性.
目前组织病理学诊断是临床肿瘤诊断的金标准,但是不断更新的疾病谱系、肿瘤治疗手段,以及传统玻璃切片易损坏等多重因素导致单纯依靠病理医生已经无法满足临床需求.因此随着GPU和数字影像设备的快速发展,全视野数字切片(Whole Slide Image,WSI)在医学影像领域的快速应用,利用人工智能辅助病理医生对数字病理图像分析,提高病理诊断的效率和一致性,已经成为研究热点.
由于CNN在各种任务中出色表现[9],所以基本上替代了传统手工制作高维特征向量.从经典的AlexNet,VGG,ResNet 到DenseNet,原始的CNN 结构已经扩展到更深的体系结构,例如ResNet[7]它通过引入捷径连接的方法使得网络模型更深且更易训练.在受到ResNet的启发,相继提出了多种改进的CNN 网络[10-12]最近的研究工作中证明了CNN 与FV-CNN的组合比单独使用CNN 可以获得更高的准确率,Lin 等通过双线性池化代替全连接层,在视觉识别方面表现出色[13].而CNN 中的池化层是其重要的组成部分,最大值池化和平均值池化是常用的两种池化方法,虽然它们有效简单,但是不可避免的丢失了大量的特征信息[3,14].
在频域方面,利用小波变换处理数字图像已经得到了广泛的研究,并取得了很大的成果[15,16].Tian 等利用非向下采用小波变换实现了对微观物体的三维形貌重建,将物体的频域信息与三维空间建立关联,是小波变换在三维重构领域的突出应用[17].小波变换能轻松的获得图像的低频信息和高频信息,可将频域信息集成到CNN 模型中,使得CNN 能够同时学习空域和频域特征.Liu 等[18]提出多级小波的U-Net 模型,将小波分解和小波重构嵌入到U-Net 架构中,用于图像复原,但是它不仅对低频分量进行小波变换,同时也对高频分量进行小波变换,因此冗余的小波变换极大的增加了计算负担.
在病理图像的良恶性分类中,Garud 等[19]通过175 张WSI 训练测试CNN 模型鉴别乳腺癌良恶性的可靠性,研究结果显示,准确率可达到0.89.Lu 等[20]提出基于聚类约束的弱监督病理图像良恶性分类,通过计算每个图块的注意力得分,对不同得分的图块进行聚类操作,最后再训练一个有监督的能够区分正负样本的线性分类器,以提高整个WSI 分类准确率.Mercan等[21]研究证明以计算机为基础的病理诊断方法具有良好的应用前景,特别是在乳腺癌良恶性分类诊断上.目前,传统的CNN 网络对病理图像进行良恶性分类,主要是学习病理图像中空域信息,鲜有将频域信息引入到CNN 网络中,并且传统的池化层也不可避免的丢失了原特征图中的细节信息.
经典快速离散小波变换是二维离散小波变换一种高效实现方法[22],其分解与重构过程如图1所示,原始信号x={x0,x1,···,x2j-1}的长度为2j,可写为xj=x,Hd(z),Ld(z),Hr(z)和Lr(z)是根据理想重构条件设计的滤波器阵列.Hd(z)和Ld(z)称为分解滤波器,Hr(z)和Lr(z)称为重构滤波器,↓2和↑2 表示下采样和上采样.图像分解滤波器和下采样后,可以获得1 个低频分量LL和3 个高频分量LH,HL,HH.随后的分解在低频分量中进行,然后递归计算下一级分解.由于在分解的过程中,使用了下采样,因此实现了对图像的池化.而重构过程是分解过程的逆运算,对分解后的图像进行上采样,通过重构滤波器进行合并,再逐级递归恢复至原图像.此外小波变换具有快速,简单以及变换后无冗余信息的优点,已经在图像处理领域被广泛应用[23,24].
图1 离散小波变换结构框图
二维离散小波变换在给定尺度函数 φ(x)和小波函数 ψ (x) 下,可以得到一个二维尺度函数和三个二维小波函数:
其中,H,V,D分别表示水平高频分量,垂直高频分量和对角高频分量.
M×N的图像经小波变换后的低频系数和高频系数如下:
其中,j0是一个任意的开始尺度,Wφi(j0,m,n)系数定义了图像在尺度j0处的近似值,Wψi(j,m,n)系数对尺度j≥j0附加了水平、垂直和对角方向的细节.φj0,m,n(x,y)是尺度函数,ψij,m,n(x,y)是小波函数,其定义如下:
从式(5)中可以看出,图像经过小波变换后能够得到图像的近似表达,其作用与传统的最大值池化和均值池化相同,在式(6)中小波变换后仍保留了低频分量中丢失的高频分量.
传统的CNN 专注于学习空间域信息,并且被广泛使用的最大值池化和平均值池化存在丢失大量特征信息的现象,阻碍了网络学习最优参数的潜力.
从图2中可以看出,在最大值池化中,当重要特征幅度低于不重要特征时,重要特征信息就会丢失.而在平均值池化中则接收了幅值大的特征和幅值小的特征,因此会减小幅值大的特征.
图2 最大值池化和平均值池化的缺点
在给定具有n个输入分量x=(x0,x1,···,xn-1)∈Rn,卷积层输出相同分量y=(y0,y1,···,yn-1)∈Rn,卷积和池化可被简单定义为:
其中,*表示卷积运算符,w代表卷积核,P=(1/p,···,1/p)∈Rp表示均值滤波器,CNN 中平均池化是通过与P进行卷积,然后再以步长p进行下采样.
在平均值池化中,其本质就是将原图像进行均值滤波后再进行下采样,由于均值滤波属于低通滤波器并且进行了下采样,这不可避免的丢失了原图像中的细节信息.而利用小波分解后得到的高频分量则能够有效弥补这一信息.
以最简单的Haar 小波为例,4 个滤波器定义为:
显然,fLL,fLH,fHL,fHH彼此正交,形成4×4 可逆矩阵,DWT的运算被定义为:
其中,*表示卷积运算符,↓ 2表示步长为2的下采样.根据Harr 小波变换的理论[25],二维的Harr 小波变换后的值可写为:
从式(15)中可以看出Harr 小波变换后得到的低频分量是与传统CNN 中平均池化结果是一致的,此外还得到了在低频分量中丢失的高频分量.因此将小波变换的多尺度分析引入到神经网络架构中,以代替传统的池化方法,尽管这一想法很简单,但是其对模型性能的提升是明显的,正如本文的实验结果所示.
由3.1和3.2 节可知,二维小波变换会沿行列方向对图像进行下采样,因此经过一次尺度变换后,图像尺寸变为原来的四分之一,实现了与传统池化方法同样的作用.从式(6)中看出小波变换后保留了低频分量中丢失的高频分量,能弥补池化过程中丢失的细节特征.因此本文在此基础上提出一种基于小波分解卷积神经网络(WDCNN),利用小波分解具有多尺度分析的能力,实现对图像的池化,以此代替传统的最大值池化和平均值池化,并将小波分解后的高频分量引入到CNN中,使得CNN 能够同时学习空域特征和频域特征.图像经小波变换后分解为4 部分:LL 表示低频分量,它是图像的近似表示,HL是图像的高频水平分量,LH是图像的高频垂直分量,HH是图像的高频对角分量,如图3所示.
图3 小波变换示意图
在本文中只对特征图使用一级小波分解,以获得图像的低频和高频信息,低频分量作为特征图池化的结果,而3 个高频分量相加后通过捷径连接的方式,添加到下一层.在整个过程中不涉及小波重构.将小波分解引入到CNN 网络中,可构建小波分解模块,如图4所示.
图4 小波分解模块示意图
WD 模块的结构简单,主要可分为两部分:低频部分和高频部分,将小波分解后的低频部分作为池化的结果,然后通过一次常规的BN-ReLU-conv 操作,得到输出结果L;小波分解后的3 个高频分量的值相加,得到结果H;最后将L和H的值再次相加,并且通道数不变,得到WD 模块的输出结果.将WD 模块代替传统的池化层嵌入到CNN 中,即可得到小波分解卷积神经网络(WDCNN),如图5所示.
图5 WDCNN 结构示意图
图5中BN 表示批量标准化,Conv 表示卷积核大小为3×3,步距为1的卷积操作,FC 表示全连接层.
从图5中可以看出,引入WD 模块的CNN 网络中没有使用传统的池化层来减小特征图的大小,而是通过WD 模块中的小波分解实现对特征图大小的缩减.此外,为了充分利用小波分解后得到的图像信息,本文使用捷径连接[7]的方式,将小波分解得到的3 个高频分量添加到下一层中,通过这种方式可以弥补低频特征图中丢失的细节信息.
Camelyon16 数据集[8](https://camelyon16.grandchallenge.org/Data/)由Radboud University Medical Center和University Medical Center Utrecht 提供乳腺癌患者的前哨淋巴结全视野数字切片(Whole Slide Image,WSI),共计400 张,大多数在10 万×10 万的分辨率,包含医生标注肿瘤区域的轮廓信息,如图6所示.因此需要经过一系列的预处理操作将其裁剪为256×256大小的图像块作为训练数据.病理图像的裁剪过程示意图如图7所示[26].数据集分布情况如表1所示.
表1 数据集的分布
图6 全切片病理图像
图像预处理过程如下:
第1 步.将病理图像从RGB 转为HSV (Hue,Saturation,Value)表示色相,饱和度和亮度.
第2 步.利用阈值分割算法Otsu对病理图像进行背景与组织区域分割,以获得病理图像中的组织区域.使用Otsu 算法计算出每个通道的最佳分割阈值,通过实验表明使用H 通道和S 通道分割出来的组织区域的交集作为最终组织区域.
第3 步.利用病理医生标注的癌变区域的轮廓信息(如图6中的深色曲线)分割出正常组织区域和癌变组织区域.
第4 步.以随即撒点的方式,在正常区域和癌变区域进行图像块采样,图像块大小为256×256,如图7所示.
图7 数据集制作流程
为了全面评价WDCNN 模型在病理图像分类任务中的优势,本文采用准确率(Accuracy)、精确率(Precision)、召回率(Recall)和平衡分数(F1 值).具体公式如下:
其中,TP代表正样本被正确识别为正样本的数量;TN代表负样本被正确识别为负样本的数量;FP代表负样本被错误识别为正样本的数量;FN代表正样本被错误识别为负样本的数量.
为验证WD 模块对传统CNN 模型在病理图像分类性能上的提升,本文统一搭建一个五层CNN 网络,如图8所示,由于在CNN 中使用了全局平均池化,因此要求输入图像的大小一致均为256×256,为加快网络训练防止梯度爆炸,在激活函数之前使用了批量归一化[27].对于优化函数,我们使用Adam[28]代替SGD,并使用ReLU[29]作为激活函数.
图8(b)中可以看出包含5 个卷积层以及两个Max/Average 池化层.由于WD 模块在池化的同时也做了一次卷积操作,因此在图8(a)中只显示3 个卷积层,这样做的目的是保证了WDCNN 与传统CNN 模型的训练参数保持一致,从而充分验证WD 模块对网络性能的提升.经过计算两个模型的训练参数均为589 762.
图8 5 层CNN 结构框图
此外不同的小波基函数在小波分解后会得到不同的低、高频分量,因此为了选取最优的小波基函数,在WDCNN 中对经典的Haar、Biorthogonal和Daubechies小波基函数也进行了对比验证.
从表2的各项评价指标中可以看出,相比于最大值池化和平均值池化而言,在网络中引入WD 模块,能够明显提升CNN 模型的分类性能.从不同小波基函的对比结果来看,使用Biorthogonal 小波基函数对CNN分类性能提升最大.
表2 Camelyon16 数据集上不同方法的评估
为了进一步验证WD 模块在深度卷积神经网络中的性能,本文将WD 模块引入到经典的VGG16 中,将VGG16 中的最大值池化层全部替换为WD 模块,并在Camelyon16 数据集中进行对比验证,证明本文方法的有效性和通用性.
从表3中可以看出,将传统的最大值池化层替换为WD 模块后,WD-VGG16在准确率、召回率和F1 值上均优于传统的VGG16.从而说明了WD 模块的引入,能够显著提升传统CNN在病理图像分类任务中的性能.图9是WD-VGG16和VGG16的AUC-ROC曲线对比图,从图中可以看出WD-VGG16 具有更高的AUC 值,说明引入WD 模块能够提高分类器的稳定性和鲁棒性.
表3 WD-VGG16 与VGG16的评估结果
图9 WD-VGG16和VGG16的ROC 曲线
本文提出的小波分解卷积神经网络(WDCNN),利用小波变换多尺度分析的能力,将特征图分解为低频分量和高频分量,不仅实现了对特征图的池化,也将特征图中的细节特征信息通过捷径连接的方式引入到传统CNN 中,使得传统CNN 能够同时学习空域信息和频域信息,提高了模型的泛化能力,并在病理图像分类任务中表现优异.最后在Camelyon16 数据进行了充分的对比验证,并选取了最优的小波基函数,证明了本文方法在病理图像分类任务中的优势.但是,相比与最大值池化和平均值池化而言,引入小波分解模块会增加网络的计算负担,因此需要优化模型结构,在不影响网络性能的同时减少网络计算量.