基于对比学习与多尺度结合的陶瓷显微图像分类方法

2021-10-29 06:15耿国华薛米妍周蓬勃拓东成马星锐刘晓宁
关键词:直方图特征提取尺度

耿国华,薛米妍,周蓬勃,拓东成,马星锐,刘晓宁

(1.西北大学 文化遗产数字化国家地方联合工程研究中心,陕西 西安 710127;2.西北大学 信息科学与技术学院,陕西 西安 710127;3.北京师范大学 艺术与传媒学院,北京 100875)

陶瓷文物是古代遗留下来的具有历史、艺术与科学价值的遗物,它是人类宝贵的历史文化遗产,从不同的侧面反映了当时人类社会发展状况。因此,对陶瓷文物进行保护与管理是一项重要工作[1]。由于陶瓷文物易碎,发掘出土过程会有破损,在实现复原前对碎片进行分类可减少人为二次损坏,现有的古陶瓷的分类方法包括:成分鉴定法[2]、热释光鉴定法[3]、结合机器学习的光谱分析法[4-7]。成分鉴定法通过提取陶瓷中的化学元素组成进行分类,但对于同一地域的陶瓷窑系,胎土化学成分也会有所不同,因此,该类方法容易受技术和样本采集标定的影响;热释光鉴定法虽然不需要依靠标准器进行比较,但它是有损检测技术,对古陶瓷文物的修复将造成损害;光谱分析法因其简单无损得到广泛应用,但环境及样本状态都可能产生异常光谱,从而影响分类准确率。

随着显微仪器的出现,显微图像的研究也如火如荼:文献[8]提出了一种利用小波分析对陶瓷显微图像去噪处理后进行分水岭分割的方法,结果表明去噪后的图像分割效果较好;文献[9]提出了一种新型的陶瓷显微图像自动拼接算法,解决了匹配质量不高、效率差的问题;文献[10]对陶瓷显微图像数据曲线分析,分析不同年代耀州瓷显微图像的气泡区别,对耀州瓷显微鉴定提供了依据。

近年来,深度学习在图像分类领域[11-13]取得了重大突破。深度学习分为有监督学习和无监督学习,有监督学习虽然准确率高,但需要大量的标注数据进行学习。为避免该问题,本文采用无监督学习方式对陶瓷显微图像进行分类。在无监督图像分类的研究中,Hadsel等人首次提出了对比损失的概念,将高维数据点映射到低维空间中,通过对比正对和负对使输入中相似的点在流形上相距较近[14],沿着这个思路,Dosovitskiy等人建议将每个实例经过旋转、平移等增强操作后的结果视为一个由特征向量表示的类,利用CNN将不同的数据集合区分出来,但学习到的特征较简单,对不同数据集和网络鲁棒性差[15]。Pan等人提出一种构建affinity矩阵的方法,提升了聚类效果,但计算affinity矩阵要用到整个数据集,导致效率慢[16]。Chang等人将聚类问题映射成为一个二元成对分类框架来判断图像对是否属于同一个类,解决了构建affinity矩阵效率慢的问题[17]。Wu等人建议使用内存库向量来存储实例类特征,提高样本数和效率,但不能保证特征一致性[18]。Ye等人采用了孪生的网络去训练,就可以对两个网络的实例特征实时地进行比较和学习,但随着迭代次数越深也不能保证一致性[19]。Zhuang、Tian、Maesra等人对内存库向量存储进行了扩展[20-22]。Wu等人提出了最大化同一样本深层特征和浅层特征之间的互信息[23]。He等人采用了动量模型来替换了内存库,保证了大规模数据下也可以取得很好的效果,但对实例类特征没有进行处理[24]。Chen等人提出SimCLR在特征提取网络后加入多层感知机,解决了特征向量维度高、计算慢的问题,取得了较好的结果[25]。

本文提出一种基于SimCLR与多尺度结合的陶瓷显微图像分类算法,该算法针对SimCLR不能精准提取陶瓷显微图像细节问题,对特征提取网络重新设计,引入了Res2Net[26]多尺度卷积,替代标准卷积,提升网络在更细粒度级别的表达能力。将多尺度特征提取模块与SimCLR结合,实现对陶瓷显微特征的精细提取。最后,本文通过大量实验,对改进后的网络在显微图像上的分类效果进行分析。

1 数据采集与预处理

本文用放大600倍的文物碎片显微图像作为实验数据。如图1所示,分别对5种不同的陶瓷碎片进行数据采集,从175个文物碎片中采集到3 500张图片,按5∶1的比例随机划分为训练集和测试集。图2为每类数据采集到的显微图像。

图1 实验设备与陶瓷碎片图Fig.1 Diagram of experimental equipment and ceramic fragments

图2 陶瓷碎片显微图像Fig.2 Microscopic image of ceramic fragments

本文采用了限制对比度自适应直方图均衡化(contrast limited adaptive histgram equalization,CLAHE)[27]的方法对采集到的显微图像进行预处理,消除采集光线对图像分类的影响。首先,将图像划分为不重叠的小区域,然后,对每一个小区域进行直方图均衡化(histogram equalization,HE)[28]。直方图均衡化时,划分的区域越小,噪声对结果影响越大,为避免这种情况,采用限制对比度的方法,将直方图中超出预设值的部分进行裁剪,并将裁减部分均匀分到其他像素中。图3为预处理结果及对应的直方图,可以看出,CLAHE处理后的直方图分布与原图整体分布大体较像,且更加均匀,而HE分布比较离散,图像会发生失真现象。

2 陶瓷显微图像分类方法

本文在当前先进的对比学习算法框架SimCLR基础上改进特征提取网络模块,使得网络具有更大的感受野,提取显微特征更准确。本文算法的结构如图4所示,该算法框架主要包括4个部分:①随机数据增强模块,它将任意一个图像采用不同的增强方式转换成两个相关的视图;②特征提取模块,采用ResNet50与多尺度特征提取的卷积块结合的方式提取特征;③多层感知机模块,将特征提取模块提取到的特征向量通过非线性激活函数随机丢弃一些点,并加强剩余的点,提高模型泛化性;④对比损失函数模块,采用余弦相似度计算每对特征之间的距离,通过归一化温度标度的交叉熵损耗进行优化。

2.1 随机数据增强

一张输入的图片增强方式可以分为两种:一种增强涉及到空间几何变换,如裁剪(Crop)、水平翻转(HorizontalFlip)、旋转(Rotation),另一种增强涉及到外观变换,如颜色抖动(Colorjitter),灰度化(Crayscale)。

设{x1,x2,…,xn}∈X为输入的图像集合,对图像集合X进行t1,t2变换

t1=rand(Crop,Colorjitter,Rotation),

t2=rand(Crop,HorizontalFlip,Grayscale)。

(1)

2.2 特征提取

SimCLR在特征提取网络中采用的是ResNet50结构,为有效提取陶瓷显微图像的局部与全局特征,本文将ResNet50中的残差块改为一种多尺度处理的方式Res2Net,可以使网络在更细粒度级别表达能力更强。

如图4特征提取模块所示,首先,经过1×1卷积操作得到的结果,以保持其尺度不变为条件,以通道为基准均分得到特征图I1,I2,I3,I4。其次,将特征图I1不经过变换得到y1,I2经过3×3卷积操作后得到y2(k2),将k2与I3拼接后的特征图经过3×3的卷积的到结果y3(k3),同样将k3与I4拼接后的特征图经过3×3的卷积得到结果y4,得到不同尺度的特征后,将y1,y2,y3,y4拼接后经过1×1的卷积进行不同维度的特征融合。图6A为加入了多尺度提取方式经过一个Layer得到的热力图,图6B为原始网络经过一层Layer得到的热力图,从图6可以直观地看出,加入多尺度的方式对陶瓷显微气泡特征更敏感,提取到的特征轮廓更清晰。

A 原图及直方图 B HE图及直方图 C CLAHE图及直方图图3 预处理结果及直方图Fig.3 Pretreatment results and histograms

图4 本文算法框架Fig.4 The algorithm framework of this paper

2.3 多层感知机与损失函数

如图4所示,本文用于投影的多层感知器Multi-Layer Perceptron(MLP),采用两个线性层,在每个线性层之后使用批处理归一化。在第一个线性层归一化处理后使用ReLU激活函数,能够更好地挖掘相关特征,加快拟合训练数据。通过多层感知机将2.2节中提取到的1×1×2 048维特征向量减少至1×1×128维度,在损失计算中可以减少计算量,提高计算效率。

本文使用的损失函数是归一化温度标度的交叉熵损耗,我们规定一个Batch size的大小N,对这一批次的N张图像经过图像扩增得到的图像记为N1和N2,分别经过特征提取和多层感知机得到特征为Z1和Z2,令

Z=[Z1;Z2]∈R2N×128。

(2)

其中,[Z1;Z2]表示将Z1,Z2拼接。则矩阵

M=[Z·ZT]∈R2N×2N。

(3)

对于矩阵M中每两个元素计算余弦相似度

(4)

其中,zi,zj表示M中任意两个元素,‖.‖表示该矢量的模,τ是可调参数,本文取值为0.5。将余弦相似度带入到交叉熵损失函数中,得到

(5)

最后,计算N个批次中所有的损耗并取平均值,得到最终的损失L

(6)

其中,N为Batch size大小,l为式(5)中的交叉熵损失函数。

图5 图像增强示意图Fig.5 Image augment diagram

图6 特征提取结果对比Fig.6 Feature extraction results comparison

3 实验与分析

在网络模型训练中,本文使用的数据集有CIFAR10、Flowers以及陶瓷碎片显微图像。CIFAR10数据集由10类32×32像素的彩色图像组成,每类有6 000张图像,Flowers由5类不同像素的彩色图像组成,每类800张图像,本文使用的陶瓷显微图像经数据增强后共5 000张图像,由5类组成。

3.1 预处理结果对比

对比不同预处理方式下的分类准确率,设置Batch size为64,采用2.1节的随机增强方式。如图7所示,HE表示采用彩色直方图处理,Origin表示原图,CLAHE表示采用自适应限制对比度直方图处理。由于HE会带来颜色失真,最终得到的分类准确率会低于原图,CLAHE会弥补这一缺点,达到最高的分类准确率,在之后的实验中都采用CLAHE的处理结果。

图7 预处理对分类准确率的影响Fig.7 The influence of pretreatment on classification accuracy

3.2 Batch size对比

在对比学习中,Batch size的大小与包含的负样本数量有关,进而影响到学习结果。在本文的实验中,数据集含有5个类别,分别将Batch size设置为18,32,46,64,如表1所示,可以观察到在epoch较少的情况下,Batch size大的效果好,随着迭代次数的增加,学习到的特征越多,不同批次之间差距会减小甚至消失。

3.3 数据增强函数对比

本节对比了2.1节中不同的增强函数对分类准确率的影响。实验结果表明,空间与外观增强组合起来效果要好于只采用一种变换,灰度化和随机裁剪效果的加入使分类效果更好,因此,在增强函数设计时,将空间与外观结合,且将灰度化和随机裁剪触发概率调高,从而得到更好的效果。表2为采用随机图片增强得到的实验结果,其中,“√”表示采取此增强方式,t1,t2为图5中两种增强变换,取Train epoch为1 000,Batch size为64。

表1 Batch size大小对分类准确率影响Tab.1 The effect of Batch size on classification accuracy %

表2 不同增强方式对分类准确率影响Tab.2 The effect of augmentation functions on classification accuracy

3.4 网络框架对比

本节分别对比了5种对比学习网络对陶瓷显微图像分类的结果,网络分别为:NPID[19]、UEL[20]、MoCo[25]、SimCLR[26],结果如图8所示,可以看出,MoCo网络虽然准确率一直在提高,但收敛速度较慢,本文加入多尺度模块的网络,在训练轮数达到300次的时已取得了最高的准确率。

图8 网络框架对比图Fig.8 Network framework comparison chart

3.5 公共数据集结果对比

分别将SimCLR和改进后的网络在显微图像数据集以及公共数据集CIFAR10与Flowers中进行对比,设置Batch size为64,Train epoch为1 000,结果如表3所示,表明改进后的网络在公共数据集上也有较好的提升。

表3 数据集分类准确率对比Tab.3 Comparison of data set accuracy %

4 结语

本文针对陶瓷文物显微图像分类问题,提出了一种基于对比学习与多尺度结合的图像分类网络。该网络在SimCLR学习框架上加入Res2Net模块,使提取的陶瓷显微特征更精细。最后,使用归一化温度标度交叉熵函数对模型进行优化。实验结果表明,本文改进的对比学习分类模型较SimCLR有提升,在CIFAR10上与Flowers数据集上准确率分别提高了3.1和4.4个百分比,在显微图像数据集上分类准确率最大可达到 98.6%,能够有效地对陶瓷碎片进行分类。

猜你喜欢
直方图特征提取尺度
同步定位与建图特征提取和匹配算法研究
环境史衰败论叙事的正误及其评判尺度
空间目标的ISAR成像及轮廓特征提取
用直方图控制画面影调
基于MED—MOMEDA的风电齿轮箱复合故障特征提取研究
基于曲率局部二值模式的深度图像手势特征提取
例析频率分布直方图
中考频数分布直方图题型展示
以长时间尺度看世界
9