APP下载

ED-NAS:基于神经网络架构搜索的陶瓷晶粒SEM图像分割方法

2022-04-18蔡超丽李纯纯杨铁军

电子学报 2022年2期
关键词:链式分支晶粒

蔡超丽,李纯纯,黄 琳,杨铁军

(1. 桂林理工大学广西嵌入式技术与智能系统重点实验室,广西桂林 541006;2. 桂林理工大学材料科学与工程学院,广西桂林 541006)

1 引言

陶瓷材料是一种多晶体材料,可以广泛应用于生物医疗、民生和军工等多个领域[1,2]. 研究人员通常利用扫描电子显微镜(Scanning Electron Microscope,SEM)对陶瓷样品扫描成像,通过分析图像中晶粒的尺寸分布来估计陶瓷样品的性能[3]. 图1展示了一种陶瓷材料SEM 图像,由晶粒和晶界(晶粒间的空隙)组成,其中晶粒根据形状可分为圆柱状晶粒(实线标注)和板条状晶粒(虚线标注). 晶粒的形状、大小、数量和分布对陶瓷材料性能有着直接的影响[4],因此统计分析SEM图像中晶粒尺寸和分布对陶瓷材料的研究有重要的意义.

图1 陶瓷晶粒SEM图像

当前对陶瓷材料的SEM 图像中的晶粒分析主要依靠人工手段,统计结果具有明显的局限性. 首先,一幅SEM 图像包含大量的陶瓷晶粒,人工统计耗时耗力,效率低难度大;其次,晶粒形状不规则,对比度较低,人工统计易受到主观影响而导致统计结果出现偏差[5],因此,研究晶粒尺寸分布的自动分析方法很有必要. 起初,基于边缘检测的算法[6]被用于分割晶粒,但对于不清晰晶粒轮廓的提取并不理想;为了更好地提取晶粒的封闭轮廓,Qing 等[7]先对边缘信息进行增强,然后使用分水岭算法[8]进行晶粒分割,但存在“过度分割”问题;因此,Heilbronner 等[9]提出了一种基于梯度滤波的自动晶界检测方法,但输入图像的质量和数量对结果影响较大. 这些方法采用传统的图像处理技术对晶粒进行分割,但是陶瓷晶粒SEM 图像中的晶粒内部灰度不均匀,晶粒大小不一致且形状不规则,分割准确性并不高且无法区分不同的晶粒类型.

受到卷积神经网络(Convolutional Neural Network,CNN)[10]在医学图像分割[11]、遥感图像分割[12]中的应用的启发,Jiang F 等[13]提出了一种基于神经网络和模糊聚类算法的砂岩晶粒分割方法;Boyuan 等[14]提出了一种改进的U-Net[11]神经网络架构和加权损失函数,提高了晶粒边界检测结果且适用于多晶材料分割;雷涛等人[4]将富卷积特征网络[15]与分水岭算法结合实现了较准确的晶粒分割,但图像质量对分割结果影响较大. 这些方法在设计CNN 模型时,需要进行大量的参数调优(如调整CNN 的网络层数、拓扑结构和每层的卷积核大小、数量等).

神经网络架构搜索(Neural Architecture Search,NAS)[16]促进了CNN 架构设计的自动化. 该方法能针对分割任务自动构建高性能的CNN 架构[17,18]. NAS 的关键过程包括搜索空间定义,制定搜索策略和性能评估策略[19]. 搜索策略定义了使用怎样的算法可以快速准确地找到最优的网络结构和参数配置,如基于强化学习[20,21]和进化算法[22]搜索最优架构. 性能评估策略定义了如何评估候选结构的性能以更高效地找到最佳网络架构,如网络映射[23]等.

搜索空间用于定义可搜索的网络结构[19],最终产生的网络体系结构的性能与搜索空间的定义密切相关. 早期NAS 的搜索空间采用链式结构[24],每一层的输出作为下一层的输入. 受到ResNet[25]中跳跃连接的启发,多分支结构被提出以增加网络连接的多样性和融合不同尺度的特征.NAS 可以直接搜索整个网络,但这种方式往往需要耗费巨大的计算资源[16]. 为了提高搜索效率,NAS 可以先搜索有效且可重复的子网络结构(如Cell 或Block),再堆叠最佳Cell 或Block 构成整体的CNN[26,27]. 目前,基于NAS 自动构建的CNN 在基础图像分类性能指标上已经超过人工设计的CNN[21,27].

在陶瓷晶粒分割这样的图像分割任务中,由于晶粒的特征提取与空间定位是两种不同的任务,无法将图像分类的CNN方法直接迁移至图像分割. 基于编码-解码神经网络架构(Encoding and Decoding Neural Architecture,EDNA)的CNN 考虑到了图像分割的特殊性,例如具有对称编码-解码结构的U-Net[11]将深层语义特征与细粒度浅层信息融合,生成更准确的分割图像;使用多层转置卷积网络改善解码器的DeconvNet[28]能更好的确定目标的粗略信息和细节信息;SegNet[29]在编码阶段保留池化操作的空间位置信息,即池化索引(Pooling indices),然后在解码阶段利用Pooling indices恢复更加准确的目标位置. 这些手工设计的图像分割神经网络为基于NAS的图像分割模型提供了一定的神经网络架构基础.

为了提高CNN 设计的自动化程度并进一步提高陶瓷晶粒图像分割的准确性,一种改进的基于编码-解码神经网络架构的NAS 方法被提出. 本文的主要贡献如下:

(1)提出了一种针对陶瓷晶粒分割的NAS方法. 该方法基于EDNA定义搜索空间,将搜索空间分为编码空间和解码空间并且同时进行搜索. 其中,编码空间采用融合深层和浅层特征的多分支式结构,解码空间则采用精细捕获特征映射的简单链式结构. 然后,将搜索到的最佳Cell堆叠形成EDNA的CNN并应用于陶瓷晶粒分割. 我们将其命名为编码解码-神经网络架构搜索(Encoding and Decoding-Neural Architecture Search,ED-NAS).

(2)构建了一个陶瓷晶粒数据集,并且ED-NAS 方法在该数据集上与一些人工设计的SOTA 图像分割方法相比能够实现更好的CNN 架构设计效率和具有竞争力的模型评估精度.

2 方法

该方法主要包括三个步骤:搜索空间定义,搜索最佳Cell 和Cell 堆叠与测试(如图2 所示). 首先,为了能够更好地在图像分割任务中融合多尺度信息并恢复空间信息,基于EDNA 定义搜索空间,其中编码Cell(Encoding cell,E-cell)采用多分支结构,解码Cell(Decoding cell,D-cell)采用链式结构;然后,采用强化学习[30]方法分别搜索最佳的E-cell和D-cell;最后,将搜索到的最佳Cell 堆叠起来形成EDNA 的CNN,进行陶瓷晶粒分割测试.

图2 ED-NAS方法总体流程图

2.1 定义搜索空间

基于EDNA 的CNN 主要由编码器和解码器组成,编码器提取不同尺度的图像特征,解码器将编码器中的抽象特征恢复为原始图像大小并逐步修复图像细节,实现像素级分类. 受到U-Net[11]、SegNet[29]等的启发,ED-NAS的候选网络也采用了EDNA.

首先,多尺度信息的充分融合对分割准确性有较大的影响[31]. 为了充分提取到图像的多尺度特征,可采用具有跳跃连接的多分支结构[25]. 因此,在NAS中搜索具有多分支结构的子网络作为E-cell.

解码器主要捕获特征映射中的多尺度信息并分层逐级实现每个像素的类别标注[11],因此,在解码阶段,预期使用简单的链式结构更好地恢复空间位置信息.与其它NAS 的搜索空间不同的是,我们的候选网络不仅仅使用一种空间结构(只有链式结构[16]或者只有多分支结构[17]),而是搜索两种类型的Cell. 在编码阶段,采用多分支结构的搜索空间,即搜索E-cell;在解码阶段,采用链式结构的搜索空间,即搜索D-cell.

一个E-cell 中通常包含多个Block,每个Block 是一个双分支结构,将来自前面Cell的两个输入张量映射为一个输出张量.Block 的输入和操作的选择由控制器决定. 如图3(a)所示,E-cell 中的Block 可以使用一个四元 组 编 码{I1,OP1,I2,OP2}表 示,其 中I1,I2代 表 一 个Block 的两个分支输入;OP1,OP2∈O代表Block 两个分支的操作,O代表候选操作集合.

图3 Cell空间的表示

一个D-cell 中也包含多个Block,但一个Block 仅接受来自前面一个Cell 的输入,呈链式结构(如图3(b)所示). D-cell 中的Block 使用二元组编码{I1,OP1}表示,其中I1代表Block的输入,OP1∈O代表Block的操作.

候选操作除了使用普通卷积(conv)之外,还包括能够降低参数数量和运算成本的深度可分离卷积(depthwise separable convolution,dw conv)以及能够增大感受野的空洞卷积(dilated convolution,dl conv)以及最大池化操作(如表1所示).

表1 候选操作集合

2.2 搜索最佳Cell

采用与ENAS[30]中相似的搜索策略搜索最佳E-cell和D-cell. 首先,基于循环神经网络[32]的控制器包含两个采样器,分别对四元组编码的E-cell和二元组编码的D-cell 同时进行采样. 1 个E-cell 四元组编码对应1 个Block,包含2 个操作码(见表1),1 个D-cell 二元组编码仅包含1 个操作码. 控制器采样N个Block 编码构建1个E-cell 或D-cell,通过堆叠多个E-cell 和D-cell 构建基于EDNA的候选网络,使用随机梯度下降算法来进行训练,并在验证集上进行验证. 根据候选网络的分割精度(Mean Intersection over Union,mIoU),采用基于策略梯度[33]的强化学习算法更新控制器的参数(如候选操作的采样概率等). 之后,进行新一轮的采样,直到获得最优分割准确性的候选网络.

2.3 Cell堆叠与测试

将搜索到的最佳E-cell和D-cell堆叠起来构建用于陶瓷晶粒分割的CNN. 如图4 所示,我们分别堆叠L个E-cell 和D-cell 构建基于EDNA 的神经网络. 为了不在搜索时引入更大的参数量,我们将下采样(Max-pooling)操作固定在每个E-cell 后面,上采样(Upsampling)操作固定在每个D-cell 前面. 为了保留编码阶段的空间位置信息,在解码阶段的上采样中融合池化索引[29]来恢复目标的空间位置,即将解码器生成的特征映射与池化索引相融合生成更准确的分割图像. 在神经网络的最后使用Softmax对最后一个解码器产生的高维特征映射进行类别转换得到最终的分割结果.

图4 堆叠Cell 构建基于EDNA 的神经网络(编码器采用多个E-cell 堆叠构成,解码器采用相同数量的D-cell 堆叠构成,每个E-cell 紧跟一个Maxpooling层,并且将Pooling indices复制给解码器对应的D-cell供其使用)

3 实验

实验采用PyTorch 1.4.0 实现,系统环境为Win10,

CPU Intel i7,DDR4 RAM 16 GB,GPU GTX1070 Ti 8 GB.

实验包括搜索和测试两个阶段. 在搜索阶段,分别对比了不同Block 数量(N)的候选网络分割准确性,以确定最佳Cell 包含的Block 数量;进一步,对比了D-cell 采用多分支和链式结构的候选网络分割准确性,以验证Dcell 的链式结构的优越性. 在测试阶段,采用搜索到的最佳Cell 构造基于EDNA 的神经网络,对比了不同Cell堆叠个数(L)的神经网络分割准确性,并与ERFNet[34]、U-Net[11]、ENet[35]、FCN-16[12]、DeepLabv3[36]和SegNet[29]等6种SOTA方法进行了比较.

3.1 数据集

陶瓷晶粒图像采用日立S-4800 冷场发射扫描电子显微镜拍摄,采集的图像分辨率从1 280×960 像素到2 560×1 920像素,如图5左侧所示.

采集的SEM 图像主要包括板条状和圆柱状2 种形态的陶瓷晶粒. 由于单张图像中晶粒数目较多,若直接在原始图像中标记,那么一个样本需要手工标记几十个同类型的晶粒,工作量很大. 为了提高手工标记的效率和减少同一样本中同类型对象的重复标记,采用随机选择裁剪区域的方式,且控制一个区域内的晶体数量为2~3 个. 这样做还能增加样本数量的规模,减少单个样本的数据量,有利于后续的神经网络训练. 裁剪后的图像如图5 右侧所示,其中3 张裁剪后的图像样本都包含完整的板条状和圆柱状晶粒,每个样本包含的晶粒总数为2~3.

图5 原始图像(左侧)和裁剪后的图像(右侧)

接下来,使用js-segment-annotator-master 对图像样本进行标注(https://github.com/kyamagu/js-segment-annotator). 板条状晶粒区域标记为1,圆柱状晶粒区域标记为2,其他区域(背景)标注为0. 图6展示了可视化后的标注结果示例. 标注后的数据集包含629 个图像样本和对应的标注结果(Ground Truth,GT). 该数据集进一步按照7:1:2的比例被随机划分为训练集、验证集和测试集. 表2显示了数据集的数量分布及类别标签.

图6 可视化后的标注结果示例

表2 数据集数量分布及标签

3.2 参数设置

在搜索阶段,控制器的学习率为0.003 5,训练epochs 为50,优化算法采用Adam;候选神经网络使用SGD 进行训练,batch size 为1,epochs 为300,学习率为0.05(指数型衰减),其它参数与ENAS[30]相同. 在测试阶段,堆叠的神经网络采用Adam 进行训练,batch size为2,学习率为0.000 04,共训练150 个epochs. 搜索阶段采用训练集进行训练,采用验证集评估候选网络分割准确性. 测试阶段同样采用训练集进行训练,采用测试集评估搜索到的神经网络. 评估指标均采用mIoU.

3.3 搜索最佳Cell

首先,对比在不同N值下,D-cell 采用链式结构或多分支结构时候选网络分割准确性. 分别设置N=3,4,对应的L=4,3(保证在不同N值下候选网络的Block 总数相当),D-cell 分别采用链式和多分支结构,多分支结构D-cell 的编码形式与E-cell 相同.N=3,4 时搜索到的最佳Cell分别命名为Best-cellN=3和Best-cellN=4.

表3列举了这4种候选网络的最佳验证准确性. 由表3 可知,当N=4,L=3,D-cell 采用提出的链式结构时,mIoU 最高(56.6%). 当N,L值相同,D-cell 采用链式结构时均比多分支结构更高. 在相同的Block 总数条件下,N=4比N=3时更高.

表3 候选网络最佳验证准确性比较

这4 种候选网络的最佳Cell 结构分别如图7、图8所示. 图7 展示了D-cell 采用链式结构时Best-cellN=3和Best-cellN=4的 结 构,Best-cellN=4的E-cell 和D-cell 均 多1个Block,D-cell 的一个Block 的输入仅来自前一个Block 的输出,结构相对简单;N=4 时,连接和操作的更多选择使结构更丰富的E-cell 能够捕获更全面的特征映射,对应的D-cell 恢复更精细的特征信息,由表3 可知,其对应候选网络获得了更好的准确性. 图8 展示了D-cell 采用多分支式结构时Best-cellN=3和Best-cellN=4的结构,与图7 相比,其D-cell 与E-cell 均采用多分支结构,综合表3 分析,具有较为复杂的多分支结构D-cell候选网络获得的分割精度比链式结构的更低. 搜索多分支结构最佳Cell 约耗费87 GPU-时,远高于搜索简单链式结构最佳Cell(约61 GPU-时).

图7 D-cell采用链式结构,不同N值时的最佳Cell结构

图8 D-cell采用多分支结构,不同N值时的最佳Cell结构

因此,将采用多分支结构E-cell 和链式结构D-Cell的EDNA神经网络在陶瓷晶粒数据集上进行测试.

3.4 陶瓷晶粒分割结果

测试阶段,堆叠更深的神经网络以获得最佳的分割准确性. 测试时,分别设置L=3,4,5,6 并采用图7 中两种最佳Cell(Best-cellN=3,Best-cellN=4)进行堆叠实验.

图9 展示了两种最佳Cell 在不同L值时构建的EDNA 神经网络在陶瓷晶粒测试集上的分割准确性比较.总体来看,L从3 增加为5 时,mIoU 随着L的增大而增加,但当L继续增大到6 时,mIoU 均有所下降. 当L=3时,Best-cellN=3和Best-cellN=4构建的神经网络分割准确性很接近(mIoU≈0.5);当L增加至4,5 和6 时,BestcellN=4的分割准确性均比Best-cellN=3高. 当L=5,N=4时,获得最优的分割准确性,该神经网络将被选择在陶瓷晶粒数据集上进行测试并与其它方法进行比较.

图9 不同N值下堆叠L个最佳Cell的EDNA神经网络的准确性比较

表4展示了ED-NAS、ERFNet[34]、U-Net[11]、ENet[35]、FCN-16[12]、DeepLabv3[36]和SegNet[29]在陶瓷晶粒数据集上的分割准确性比较. 由表4 可见,ED-NAS 的分割准确性最高(mIoU=68.9%). SegNet 略低于ED-NAS 分割准确性(mIoU=68.0%),它和ED-NAS 均采用了EDNA和Pooling indices,但ED-NAS 中的E-cell 使用跳跃连接融合了浅层和深层特征,特征提取更加丰富精细,从而整体分割准确性比SegNet 更好. 虽然采用EDNA 的UNet 在边界信息模糊的医学图像中表现出色,但在陶瓷晶粒图像分割中其mIoU 约为47.7%. 采用级联模块和金字塔池化框架的DeepLabv3 能够扩大感受野提取多尺度信息,但与ED-NAS 相比,对晶粒分割的整体准确性仍有欠缺.ERFNet和ENet的体系结构在神经网络深度或者宽度方面均有所欠缺,导致网络性能不高,其mIoU也都低于50%.

表4 不同方法在陶瓷晶粒数据集上的分割准确性

图10 展示了ED-NAS 和其它几种方法在陶瓷晶粒上分割结果的示例. 第1 列为原始图像,第2 列为GT,随后几列为各种方法的分割结果. RFNet、U-Net 和FCN-16 的分割结果与GT 有很大偏差;ENet 和Deep-Labv3 对有些图像的预测结果有较高的准确度,但对只有一种晶粒类别图像的预测有较大偏差;SegNet 的结果相对比较准确,但在有些图像的边界像素点的预测上仍存在一定误差,而ED-NAS在一定程度上消除了这种误差,取得了更好的分割准确性.

图10 几种方法在陶瓷晶粒数据集上的分割结果示例

4 总结

本文提出了一种基于NAS的陶瓷晶粒SEM 图像分割方法. 该方法能够根据陶瓷晶粒数据集,自动搜索多分支结构的E-cell 和链式结构的D-cell,并采用堆叠方式构建基于EDNA 的神经网络取得了较高的分割准确度. 此外,该方法在实验结果上表明多分支结构E-cell和链式结构D-Cell 的候选网络准确度更高于多分支结构的E-cell 和D-cell 候选网络. 所提出的方法能够为陶瓷晶粒数据集自动设计有效的CNN 模型,与先进的手工设计的神经网络相比,表现出了具有竞争力的结果.为进一步提高陶瓷晶粒分割准确率,下一步研究将考虑添加能够捕获更多上下文信息的操作模块(如注意力模块)来改善搜索空间,并改进搜索策略以获得更好分割性能的神经网络架构.

猜你喜欢

链式分支晶粒
学步期焦虑影响5岁幼儿创造力:一般认知和掌握动机的链式中介作用*
体育锻炼赋能大学生主观幸福感提升:认知重评与心理韧性的链式中介作用
一类离散时间反馈控制系统Hopf分支研究
软件多分支开发代码漏合问题及解决途径①
家庭—医院链式管理在婴幼儿湿疹患儿中的应用价值
Y2O3–CeO2双相弥散强化对Mo合金晶粒度及拉伸性能的影响
双晶粒尺度7075铝合金的制备及微观组织特性
循环应变- 高温退火制备Al-Cu-Li 合金单晶
甘草次酸球晶粒径与体外溶出行为的关系
巧分支与枝