APP下载

铸体薄片图像孔隙自动分割方法优选

2023-04-06李天平李功权

电脑知识与技术 2023年5期
关键词:迁移学习孔隙

李天平 李功权

关键词:铸体薄片;迁移学习;孔隙;语义分割

铸体薄片中孔隙分析是分析储层孔隙结构的重要方法,薄片中孔隙分割是进行孔隙分析的关键一步。传统做法是利用目测法、计数法和图像处理算法对孔隙进行分割。但是目测法和计数法不仅要求研究人员具有专业的地质知识而且效率低下分割结果受主观因素影响。

传统的图像处理技术中用于孔隙分割的方法有阈值法、边缘检测法、区域生长算法、分裂合并法和聚类分割法[1]。但这些传统方法只依赖颜色特征且需要大量的人工交互,无法实现自动化分割孔隙。

人工神经网络的快速发展,为解决铸体薄片孔隙分割问题提供了新方法。蔡宇恒等人基于Unet模型完成孔隙分割任务,但不足在于模型单一数据量少[2]。

铸体薄片图像孔隙结构形态各异,空间分布复杂,如何获取更高级的孔隙抽象特征;受采样的影响,铸体薄片图像数量并不多,如何提高模型精度;如何缩短深度学习模型的训练周期。针对以上问题,本研究对比主要的语义分割模型用于铸体薄片图像孔隙分割的效果,采取迁移学习方法减少训练所需的铸体薄片数据量,并采取召回率、准确率、精确度和F1值对各个模型进行评价,以优选铸体薄片孔隙分割模型。

1 深度学习图像分割原理对比

1.1 经典语义分割模型分析

在语义分割领域内常用的卷积网络模型是全卷积神经网络(FCN)、Unet模型、特征金字塔模型(FPN)和SegNet模型。因此本文选择这四种经典的语义分割模型作为孔隙分割模型的基本网络结构。

1.1.1 全卷积神经网络模型

全卷积神经网络是卷积神经网络的一种扩展,是首个用于语义分割任务中的模型,广泛用于语义分割,特别是用于医学图像分割[3],该网络分为编码器和解码器两部分。编码器主要用于特征提取,编码器后扩展了一个解码器部分,该解码器采用上采样层恢复图像尺寸得到最后的分割图。关于全卷积神经网络的编码层和解码层的示意图如图1所示。全卷积网络的编码层用于收集图像中的各种特征,而解码层实现精确定位。为了避免空间信息的丢失,使用跳跃连接保证解码层可以从编码层获得这些空间信息。

1.1.2 Unet 网络模型

Unet作为全卷积网络的一种重要扩展结构如图2所示,在全卷积层的基础上增加了上采用层和跳跃连接的数量,保证模型将特征信息整合到具有更高分辨率的网络层[4]。模型的解码器部分与编码器部分形成对称结构,产生了一个U型结构。Unet的编码器是多个卷积块组成,每个卷积块由两个3×3卷积层接着进行RuLU进行非线性化,最后一个2×2的最大池化层。Unet的解码器部分,每个卷积块后面跟着一个反卷积层。这个反卷积层对图像进行上采样,这意味着图像的大小加倍,特征通道的数量减半。最后一个反卷积层可以将图像恢复到原始图像的大小。最后,一个1×1的卷积层并使用sigmoid激活函数产生图像每个像素的最终预测。Unet网络一共有23个卷积层,编码器和解码器之间的同等级卷积块通过跳跃连接合并。

1.1.3 FPN 网络模型

另一类重要分割模型特征金字塔网络模型(FPN) 是2017年提出来的一种网络如图3所示,FPN主要是用来解决物体分割多尺度问题[5]。其主要特征是既不增加模型计算量又提高小物体分割正确率。FPN构建了一个从下到上模块、从上到下模块和横向连接模块的特征金字塔。从下到上模块主要作用是产生一个由几个不同尺度特征图组成的特征层次结构。从上到下模块对特征金字塔更高层的特征图进行反卷积得到分辨率特征图,特征金字塔越高层的特征图分辨率越低,语义特征强。这些特征图与从下到上模块的特征图进行融合,来自从下到上的特征图都经过1×1的卷积操作以减少特征通道。最后,在横向连接路径上对每个特征图进行3×3的卷积操作,最后这些特征图都将进行融合产生最后的预测图,FPN的结构图如图3所示。但是FPN在解码器中每一阶段都会独立产生预测并且在最后合并这些预测,Unet只在最后阶段产生预测。

1.1.4 SegNet 网络模型

SegNet另一类非常重要的语义分割模型,在模型结构上与Unet非常相似,只是在解码器部分中的上采样不同[6]。SegNet的特点是对解码器部分的低分辨率特征图上采样方式做了改进。具体做法是编码器中每一个最大池化过程中保存其池化索引即最大值的索引,在解码器部分利用这些索引做非线性上采样。这些经过上采样的特征图是稀疏的,再对其做可训练的卷积操作产生密集的特征图。采用这种方法的上采样可以避免FCN中学习上采样带来的消耗,再使用卷积操作特征图,避免保存特征图产生的额外空间消耗。

1.2 模型融合

为提高孔隙分割效果,要求孔隙分割模型能提取到更抽象的特征用于孔隙分割。为提高孔隙分割模型的特征提取能力,将经典的分类模型与语义分割模型进行融合。本文选取经典的分类模型有Vgg、Mo?bilenet 和ResNet50,这些模型在图像分类上表现优秀,证明了这些模型的特征提取能力很强。各种主流语义分割网络模型中的编码器与分类模型类似,只需将分类模型中的全连接层替换成卷积层就可以作为编码器使用。这些优秀分类模型与经典的语义分割模型相结合,孔隙分割模型的編码器更容易抽取特征。结合后的语义分割模型命名就使用下连接线将两部分模型名称连接起来,比如VGG_FCN表示FCN 的编码器部分采用VGG模型。通过分类模型与语义分割模型结合,得到孔隙分割模型,分别是Vgg_FCN_8、Vgg_FCN_32、Mobilenet_FCN_8、Mobilenet_FCN_32、Vgg_Unet、Resnet50_Unet、Mobilenet_Unet、Vgg_SegNet 和Resnet50_SegNet。

1.3 模型初始化

从零开始训练一个语义分割模型,需要大量的图像数据和对应的标签数据。铸体薄片中孔隙遍布全图而且形状不规则,在这种情况下进行孔隙标注效率低下,很难完成大规模数据标记工作。迁移学习为解决孔隙标注提供了一种有效的方法。

迁移学习是将已训练的模型运用到相关联问题的一种新的机器学习方法,目的是迁移已训练模型来解决目标领域中仅有少量甚至没有标签样本数据的学习问题[7]。相对于随机赋值权重训练模型,利用迁移学习微调模型效率更快。张军军等人利用迁移学习完成道路提取模型的训练,先在开源大型数据库ImageNet上预训练模型并保存最优模型,再迁移预训练保存的模型利用道路数据集对模型,进行微调加速模型训练[8]。祝一诺等人利用迁移学习方法训练了Inception-V3 模型,用来识别遥感图像中的建筑垃圾[9]。上述研究说明,迁移学习的可行性和高效性。

使用迁移学习的方法将已经在ImageNet上完成图像分类的VGG16、Resnet50和Mobilenet的权重,作为本文中语义分割模型编码器参数的初始化,然后在训练中微调模型参数[10]。

2 实验过程及结果

2.1 实验前的准备工作

2.1.1 模型参数及孔隙标注

模型损失函数采用分类交叉熵函数(categori?cal_crossentropy loss) 。模型优化函数采用Adam,经过大量的实践证明,Adam的工作表现良好,并优于其他随机优化算法[11]。表1是其参数设置,模型训练过程中利用tensorflow提供的数据增强方法增加数据量。

孔隙标注采取半人工手段对铸体薄片中孔隙进行分割。标签数据的制作借助ImageJ完成,ImageJ是一款专业的、开源的图像处理软件。利用ImageJ提供的阈值法完成对大部分孔隙的分割,再利用ImageJ提供的Paintbrush Tool 手动选择阈值法无法识别的孔隙。将所有的标签数据分割成224×224×3作为模型输入数据,分割后一共得到图像1403张。

2.1.2 模型评价指标

利用准确率(Accuracy)、精确度(Precision)、召回率(Recall)和F1 分数(F1-score)评价分割网络模型的优劣。有部分铸体薄片中岩石占了绝大部分,在这种情况下,即使把图中所有孔隙全部分类为岩石颗粒,此时的模型准确率依然会很高。因此只用准确率无法客观评价模型的优劣,又引入精确度、召回率和F1分数。精确度和召回率是一对矛盾的性能度量指标,精确度越高时召回率往往会很低。F1-score综合了Re?call和Precision,对模型优劣进行更客观的评价。

2.2 孔隙分割结果

表2将展示在测试集上表现最优的各类模型。在表2 中,F1 分数最高的是由Mobilenet_unet 所获96.2%,紧随其后的是Resnet50_unet获得的96.19%,两种模型的性能几乎一样。在召回率上的表现,Mo?bilenet_uent 达到了96.87%,认为该模型正确预测了96.87% 的孔隙。在精确度上的表现,Resnet50_unet 达到了96.02%,认为所有被模型预测为孔隙的像素中有96.02% 的像素是孔隙。在准确率上的表现,Mo?bilenet_unet 达到了97.95%,认为模型的预测中有97.95%的像素被正确分类。Mobilenet_Segnet的模型文件是所有模型中最小的,只有63.3M,模型文件小,意味对计算机存储要求低,模型的加载速度快。模型训练时间最短的模型是Mobilenet_unet,模型训练时间越短,对计算机的计算压力就越小。

3 讨论

由表2可知,Mobilenet_unet 的F1分数最高达到了96.20%,紧随其后的便是Resnet50_unet的96.19%。在本部分需要讨论Resnet50_unet和Mobilenet_unet这两种模型哪个更适合用于对铸体薄片孔隙进行语义分割。图4 和图5 分别展示了Mobilenet_unet 和Resnet50_unet 在验证集上的F1分数、召回率、精确度和准确率。两种模型在测试集中各张图片的分割效果相差不大,Mobilenet_unet在验证集中有14张图片的F1分数达到了0.95以上,而Resnet50_unet有15张图片的F1分数达到了0.95以上。图6展示了验证集中几张图片、真实分割图片以及Mobilenet_unetResnet50_unet两种模型的预測图。图6可以说明这两种模型对铸体薄片中的大部分孔隙实现了有效的分割,但是对于图6的图d中粒间孔隙的分割效果不好。从图6 可以得出一个结论:Mobilenet_unet 和Resnet50_unet两种模型对粒间孔隙以及溶蚀孔隙分割效果不好,其他类型的孔隙都可以进行有效分割。通过对以上几种模型预测结果的分析,认为Mo?bilenet_unet和Resnet50_unet两种模型对铸体薄片孔隙分割的效果几乎一样,没有发现明显的差距。但是在模型大小方面,Mobilenet_unet的一个模型参数文件才72.1MB,Resnet50_unet 的一个模型参数文件已经达到了187MB。在模型参数文件大小方面,Mo?bilenet_unet相对Resnet50_unet具有很大的优势。模型越小,在训练过程中对计算机的GPU要求就越低,模型较小不会占用过多的内存资源。一般认为,在模型的分割性能差不多的情况下,模型越小越好。Mo?bilenet_unet不仅在模型文件大小方面具有优势,而且在模型训练时间方面,也比Resnet50_unet更短,Mo?bilenet_unet和Resnet50_unet的模型训练时间分别是1.6h和6.32h。不管是从模型预测性能、模型参数文件大小还是模型训练时间,Mobilenet_unet是最适合进行铸体薄片孔隙分割的模型。从图4 观察,Mo?bilenet_unet对测试集图片进行预测,大部分预测图的F1值达到0.95以上,与表1中模型在验证集中平均F1 为0.9620非常接近,证明Mobilenet_unet泛化能力强。

4 结论

为了实现铸体薄片图像孔隙自动分割的目标,本文对比了经典语义分割模型,利用迁移学习解决铸体薄片数据量少,而影响孔隙分割准确率的问题。实验结果表明,Mobilenet_unet和Resnet50_unet两种模型在准确率、召回率、精确率和F1分数表现上非常接近,因此认为两个模型在孔隙分割效果几乎一样。但是Mo?bilenet_unet在训练时间和模型大小上占据优势,所以Mobilenet_unet更适合用于铸体薄片孔隙分割。

猜你喜欢

迁移学习孔隙
多孔可变临界孔隙度模型及储层孔隙结构表征
二氧化碳在高岭石孔隙中吸附的分子模拟
Preparation of bimodal grain size 7075 aviation aluminum alloys and the ir corrosion properties
从认知角度探讨大学英语网络教学模式
奇异值分解与移移学习在电机故障诊断中的应用
页岩孔隙结构研究进展
大数据环境下基于迁移学习的人体检测性能提升方法
煤焦孔隙结构的表征及分析方法的构建
苏北盆地金湖凹陷碳酸盐岩孔隙类型及孔隙结构特征