网络出版时间:2017-09-07 14:50:59
网络出版地址:http://kns.cnki.net/kcms/detail/31.1289.TP.20170907.1450.006.html
第 xx 卷 第 xx 期
Vol.xx No.xx
· ·
计 算 机 工 程
Computer Engineering
文章编号:1000—3428(201x)00—00—0
201x 年 xx 月
文献标识码:A
中图分类号:
晶圆缺陷检测与分类的卷积神经网络
邡 鑫,史 峥
(浙江大学 超大规模集成电路设计研究所,浙江 杭州 310027)
摘 要:针对晶圆检验时扫描电镜图像的缺陷检测和缺陷分类两问题,本文采用了一种名为“ZFNet”的卷积神经网络来分
类晶圆缺陷,并基于该分类器实现了一种“基于块的卷积神经网络”缺陷检测算法。为了提高准确率和加快速度,本文又改
动“更快的区域卷积神经网络”实现了另一种检测算法。两种检测算法都能通过学习标记好位置和类型的缺陷数据,从扫描
电镜图像中检测并分类多种类型缺陷。
关键词:晶圆检验; 缺陷检测; 缺陷分类; 更快的区域卷积神经网络
Convolutional Neural Networks for Wafer Defect Detection and
Classification
FANG Xin, SHI Zheng
(Institute of VLSI Design, Zhejiang University, Hangzhou 310027, China)
【Abstract】For defect detection and defect classification problems of scanning electron microscope (SEM) images during wafer
inspection, we applied a Convolutional Neural Network(CNN) called “ZFNet” to classify wafer defects, based on which, a “patch-based
CNN” defect detection algorithm was proposed. For better accuracy and higher speed, another detection algorithm was proposed by
modifying “Faster Region-CNN”. By learning from the defects data marked with locations and types, the two detection algorithms can both
detect and classify defects of multiple types on SEM images.
【Key words】wafer inspection; defect detection; defect classification; Faster RCNN
DOI: 10.3969/j.issn.1000-3428.201x.00.000
0 概述
现代半导体制造过程中大量使用扫描电子显微镜
(Scanning Electron Microscope,SEM)对晶圆进行扫描从
而成像,然后通过查找并分析扫描图像上异常的图形来查
找晶圆上可能造成电路无法正常工作的缺陷。晶圆上的缺
陷类型繁多,为了提高芯片良率,研发部门要对大量分类
后的缺陷作系统性分析,挖掘特定类型缺陷的成因,为进
一步的改进提供方向。而系统性分析的基础是大量分类好
的缺陷数据,所以如何从大量 SEM 图像中检测出缺陷并且
分 类 一 直 以 来 是 半 导 体 晶 圆 缺 陷 检 测 ( Wafer Defect
Inspection ) 和 自 动 缺 陷 分 类 ( Automatic Defect
Classification,ADC)研究领域的热点[1]。
晶圆检验(Wafer Inspection)通常分为缺陷检测和缺
陷分类两步。传统缺陷检测算法是通过将 SEM 图像和参考
图像进行对比,取差异较大的区域作为缺陷[2],其关键在于
如何得到准确的参考图像。传统的缺陷分类算法是基于缺
陷区域提取特定特征,再由此设计分类器进行分类[3],其关
键在于提取的特征是否能有效表达特定问题中不同缺陷类
型的差异。传统缺陷检测和缺陷分类算法的适应性较差,
通常需要针对特定问题重新设计。
近 年 来 , 卷 积 神 经 网 络 ( Convolutional Neural
Networks,CNN)被成功地用于解决不同领域的图像分类
和目标识别的问题[4-7],例如基于 AlexNet 改进的 ZFNet 应
用于图像分类[4],应用 Patch-based CNN 进行图像分割[5],
应用 Faster RCNN 进行目标探测[6-8]。因为强大的特征学习
(Feature Learning)能力,CNN 针对不同问题都能对应学
习合适的特征,具有非常强的适应能力[9-11]。国内也提出很
多将 CNN 应用到传统图像识别和检测的工程问题,并取得
了不错的效果[12-15]。
本文提出几种CNN算法来解决晶圆缺陷的检测和分类
问题,下面第二章介绍如何训练 ZFNet 用于 SEM 图像缺陷
分类;第三章介绍基于 patch-based ZFNet 如何同时实现缺
陷检测与分类;第四章介绍如何基于 Faster RCNN 改进得
————————————
作者简介:邡 鑫(1994-),男,研究生在读,主研方向为晶圆缺陷自动检测与分类算法;史 峥,副教授。
收稿日期: 修回日期: E-mail:153614495@qq.com
2 计 算 机 工 程 201x 年 xx 月 xx 日
到更好更快的缺陷检测与分类算法;第五章是结论。
1 ZFNet 缺陷分类器
1.1 晶圆缺陷数据
芯片制造的工艺流程及其复杂,而在不同阶段都要进
行晶圆检验,所以 SEM 图像上的晶圆缺陷类型繁多,而缺
陷类型都需要工程师结合实际情况来定义。根据某晶圆厂
提供的数据,本文模拟生成了一批尺寸为 500*500,包含九
种不同类型缺陷的 SEM 图像,并且给出缺陷的具体位置和
类型。晶圆缺陷示例参见文末图 5,类型依次为 open、short、
brighter、darker、impurity、hump1、bite1、hump2、hite2,
其中图像为彩色是因为将 SEM 图像和对应版图各自作为一
个通道进行合并,从而使图像包含更多信息便于检测与分
类。
由于缺陷区域在原尺寸的 SEM 图像只占小部分,无法
将其直接送入 CNN 进行分类,所以对原尺寸图像进行随机
剪裁产生图像,其中包含缺陷的图像标记为对应缺陷类型,
而不包含缺陷的图像标记为无缺陷,使用这样数据训练出
来的 CNN 分类器能够同时判断是否有缺陷与缺陷具体类
型。实际算法是首先使用多种尺寸比例的滑动窗口对原尺
寸图像进行滑动剪裁(本文取面积分别为 322、642、1282,
长宽比分别为 2:1、1:1、1:2 的 9 种滑动框,滑动步幅为 16),
然后分别计算该框与缺陷区域的 overlap(IoU 评价函数),
从 中 随 机 挑 选 overlap>0.4 的 20 张 图 作 为 正 例 ,
overlap<0.001 的 200 张图作为负例,再通过水平、垂直翻
转和对比度随机变化等方法对数据集进行扩张,最终得到
约 9 万组数据。随机挑选其中 70%作为训练集,30%作为
测试集。
1.2 ZFNet 结构
基于 AlexNet 微调的 ZFNet 是 2013ILSVRC 的冠军[5],
拥有较快的分类速度和强大的学习适应能力,是目前图像
分类较为常用的一种卷积神经网络。如图 1,该网络总共 5
层卷积层、2 层全连接层、1 层 softmax 分类层,其中前两
层 卷 积 层 连 接 有 局 部 响 应 归 一 化 层 ( Local Response
Normalization LRN)。另外该网络采用 ReLU 激活函数替代
了 Tanh 以加速收敛,在全连接层采用 dropout 技术减小过
拟合。如图 1,本文 ZFNet 将输入图像尺寸统一调整为
96*96,删去了全连接层 5 的次采样层,将 softmax 分类层
的输出数改为 10(无缺陷加上 9 类缺陷)。本文 ZFNet 基于
Caffe 架构可以较容易的实现[8],并采用 SGD(Stochastic
Gradient Descent)算法进行迭代训练,学习率 lr=0.0001。
图 1 ZFNet 结构示意图
1.3 测试结果
采用训练好的 ZFNet 分类模型对测试集分类,得到结
果如表 1。因为测试数据中无缺陷图像占比超过 90%,所以
准确率(accuracy)无法用来衡量算法有效性,故采用精确
率(precision)和召回率(recall)的调和平均值 F1-score 来综合
衡量分类结果,计算得:
精确率 P=2519/(2519+12)=99.5%
召回率 R=2519/(2519+139)=94.8%
F1-score=2/(1/P+1/R)=97.1%
正确
2519
25330
表 1 ZFNet 分类器测试结果
错误
12
139
数量
有缺陷(正类)
无缺陷(负类)
过结果可看出将 ZFNet 应用于 SEM 图像缺陷分类是有
效的,而且其还能同时判断图像中是否有缺陷,所以借助
ZFNet 和有效的剪裁方法,就能够同时实现缺陷检测与分类
的功能。下面介绍按此思路设计的 patch-based ZFNet 检测
器,其不同于传统的晶圆缺陷检测器只能找出缺陷的位置,
而是同时检测缺陷并且分类。
2 Patch-based ZFNet 检测器
2.1 检测算法
patch-based CNN 通过用滑动窗口对原图剪裁再送入
CNN 来判断该位置类型,最终将原尺寸图像分割成不同类
型的子图[5]。如图 2,参照该算法,本文在已经训练好的
ZFNet 分类器基础上,用 48*48 的滑动框将 500*500 的原尺
寸图像分割成一块块 patch 图像(步幅为 16),依次送入
ZFNet,通过 softmax 层分别计算出各个 patch 属于各类型
的概率,忽略掉没有缺陷的概率,按 patch 的顺序排列可以
组成 9 张不同类型缺陷的概率分布图。接下来对概率图取
阈值进行二值化,再过滤掉面积较小的连通区域,最后用
最小矩形分别框覆盖剩下连通区域,即可确定检测到的缺
陷的位置和类型。从图 2 中可以发现只有 open 概率分布图
中有明显一块较亮的区域,即为检测到的 open 缺陷。
第 xx 卷 第 xx 期 1
邡 鑫,史 峥:晶圆缺陷检测与分类的卷积神经网络
图 2 patch-based ZFNet 检测算法示意图
在训练 patch-based ZFNet 检测器时,数据集是 500*500
原始尺寸的图像,且包含标记好的缺陷区域和类型。我们
通过一系列数据扩张操作,得到 1576 组数据,随机选取 60%
作为训练集,40%作为测试集。
算法中需要优化的参数有滑动窗口尺寸 patch-size、滑
动步幅 stride、概率阈值 Pth、面积阈值 Sth,由于无法求出
各参数与检测结果的明确关系式,所以采用遍历法优化参
数。因为检测到的缺陷尽量正确和尽量检测到所有缺陷是
矛盾的,故以精确率和召回率的调和平均值 F1-score 作为优
化目标,也可根据实际需要调整两者权重满足不同侧重。
2.2 测试结果
用训练好的 patch-based ZFNet 检测模型对测试集检
测,CPU 计算模式下每张图大概耗时 37s。如果检测到的缺
陷与标准答案的 overlap>0.1 且类型相同,则判为正确,否
则判为错误。得到结果如表 2,计算得:
精确率 P=346/(346+108)=76.2%
召回率 R=346/(346+89)=79.5%
F1-score=2/(1/P+1/R)=77.8%
其中正确缺陷的平均 overlap=0.41
表 2 patch-based ZFNet 检测器测试结果
错误
108
数量
有缺陷(正类)
从检测结果来看该算法基本实现了对 SEM 图像上晶圆
缺陷的检测和分类,但是 F1-score 值较低,缺陷检测位置不
准确,检测耗时较长,分析其原因如下:
正确
346
(1)检测出错的数据中,缺陷较大的类型易判断错,
缺陷较小的容易被漏掉,说明只使用一种尺寸的滑动框很
难适应尺寸变化范围较大的缺陷。
(2)滑动框步幅减小则算法耗时平方倍增加,而步幅
过长造成缺陷概率分布图分辨率较差,从而检测到缺陷位
置准确度较差。
(3)相邻滑动框都有大量重叠,所以每个区域都被多
次重复送入 ZFNet 计算卷积,导致算法耗时较长。
在与上述检测算法相似的图像目标检测领域,近来出
现的 Faster RCNN 很好的克服了以上缺点并取得了很好的
效果,所以下面介绍如何通过改动 Faster RCNN 实现晶圆
缺陷的检测与分类。
3 Faster RCNN 检测器
3.1 Faster RCNN 结构
相比于 patch-based ZFNet 检测算法,Faster RCNN 主
要从以下三方面进行了针对性的改进:
(1)针对重复计算卷积的缺点,Faster RCNN 采用先
统一计算特征图,再按 ROI(Region of Interest)进行映射
截取的办法[6]。如图 3,先通过卷积网络(Convolutional
Network)对输入图像计算得到其特征图,因为在输入图像
上的 ROI 都能映射到特征图上,所以从输入图像上按 ROI
割取图像进行卷积运算可以替代为直接从特征图上按 ROI
映射后的范围割取,从而避免多次重复计算卷积。由于 ROI
的大小形状不一,而全连接层的神经元连接数是固定的,
所以对割取得到的子特征图,通过 ROIpool 层次采样到统
一尺寸以连接到全连接层。
图 3 ROI 映射示意图
(2)针对滑动窗口尺寸单一的缺点,Faster RCNN 增
加了滑动窗口的尺寸类型,并且增加由一个全卷积网络
(Fully Convolutional Networks)组成的 RPN(Region
Proposal Network)来预判断是否有缺陷[6]。本文采用面积
分别为 322、642、1282,长宽比分别为 2:1、1:1、1:2 共 9
种尺寸的滑动窗口,依次计算其中有缺陷的概率,再从中
筛选出一定数量最有可能有缺陷的区域,进行非极大值抑
制(Non-Maximum Suppression,NMS),最后得到一定数
量的候选区域。
(3)针对缺陷检测位置准确度差的缺点,Faster RCNN
在全连接层后连接一个边界回归层(Boundary Regression)
用来修正缺陷位置[6],该回归层与 softmax 分类层并列。
针对本文的缺陷检测问题,直接套用标准 Faster
RCNN 并不能解决问题。因为判断晶圆的缺陷类型通常需
要结合缺陷区域周围的图形信息,而 RPN 在预判断是否有
2 计 算 机 工 程 201x 年 xx 月 xx 日
缺陷时还进行了边界回归。虽然更加准确的给出缺陷的位
置,但送入检测网络的特征几乎不包含缺陷周围图形信息,
导致缺陷分类不准。故本文对标准 Faster RCNN 做了一些
改动:
(1)将 RPN 改为只判断滑动窗口内是否有缺陷,而
不进行边界回归,也就是只计算所有滑动窗口有缺陷的概
率,选取可能性最大的 1000 个,做非极大值抑制,再选出
可能性最大的 100 个进行检测。
(2)将 RPN 卷积层的尺寸加大为 7*7,加大感受野
(Receptive Field),从而在判断滑动框内是否有缺陷时能参
考更多的周围信息。
(3)将原尺寸为 500*500 的图像调整为 1024*1024,
使得滑动窗口尺寸能够适应缺陷大小的变化范围,也可以
根据实际情况来具体调整。
得到缺陷检测算法如图 4,卷积网络(Convolutional
Network,CN)将输入图像转换成多种特征图;RPN 根据
特征图从滑动窗口中选出最有可能存在缺陷的 ROI;
RoIPooling 层根据 ROI 从特征图中抽取出对应特征组成特
征向量;检测网络(Detection Network,DN)根据特征向
量判断缺陷类型,并进行边界回归;最后通过 NMS 和概率
阈值对候选缺陷进行过滤即可得到最终缺陷。
图 4 Faster RCNN 检测算法示意图
和平均值 F1-score 作为优化目标,并且使用相同的训练集和
测试集。
3.3 测试结果
用训练好的 Faster RCNN 检测模型对测试集检测,
CPU 计算模式下每张图大概耗时 2s,采用相同判定标准,
得到检测结果如表 3(其中负类总数与表 2 中总数不同是因
为同一张图中可能检测到多个缺陷),计算得:
精确率 P=418/(418+36)=92.1%
召回率 R=418/(418+29)=93.5%
F1-score=2/(1/P+1/R)=92.8%
其中正确缺陷的平均 overlap=0.78
表 3 Faster RCNN 检测器测试结果
错误
36
29
数量
有缺陷(正类)
无缺陷(负类)
正确
418
157
从结果来看该算法各方面都优于 patch-based 检测算
法,F1-score 和 overlap 值更高说明检测检测缺陷类型正确
且位置准确,而且速度也大大提高(检测一张图像耗时从
37s 缩小到 2s)。如图 5 为检测缺陷示例,其中标注了缺陷
位置、类型和对应概率。
3.2 模型训练
图 4 中的检测算法也是基于 Caffe 架构实现,因为卷
积网络提取的特征类型对相似普遍有效,故其卷积网络的
参数是直接迁移第 2 章 ZFNet 分类器的卷积层参数。但是
RPN 和 DN 的参数则需要通过 SGD 方法进行训练,标准
Faster RCNN 提供了分开和联合两种训练方式[6]。为了节约
时间,本文采用联合训练方式,并结合缺陷检测问题的实
际情况调整超参数。
在训练 RPN 时,对每张输入图像,要计算的滑动窗口
数量庞大(9 种尺寸的滑动窗口,滑动步幅 16)。所以从中
随机抽取 256 个作为训练集,其中正例 overlap(IoU)>0.35,
负例 overlap <0.001,且正例占比不超过 20%。分类器采用
softmax 损失函数。
在训练 DN 时,设置 RPN 提供 1000 个 ROI,从中随
机选取 256 个作为训练集,其中正例 overlap(IoU)>0.3,
负例 overlap <0.001,且正例占比不超过 5%。另外设置学
习率 lr=0.00005。分类器采用 softmax 损失函数,而边界回
归采用 SmoothL1Loss 函数。
为了与 patch-based 检测算法对比,在最后通过遍历法
优化 NMS 和概率阈值 Pth 时,同样以精确率和召回率的调
第 xx 卷 第 xx 期 1
邡 鑫,史 峥:晶圆缺陷检测与分类的卷积神经网络
4 结束语
图 5 检测结果示例图
面对 SEM 图像上的缺陷检测和缺陷分类这两个问题,
本文提出的改动后的 Faster RCNN 检测算法能够精准、快
速地从 SEM 图像中检测出缺陷并同时进行分类。得益于卷
积神经网络良好的特征学习能力,该检测算法能够根据标
记好缺陷位置和类型的数据自动学习特征,从而尽量避免
人工干预,使算法具有较强的适应能力。
参考文献
[1] Ho B, Inokuchi M. SEM ADC (Auto Defect Classification): How it
improves the Cost of Ownership without Risk of Yield Loss[C]//
Advanced Semiconductor Manufacturing Conference, 2007. ASMC
2007. IEEE/SEMI. 2007:293-298.
Shankar N G, Zhong Z W. Defect detection on semiconductor wafer
surfaces[J]. Microelectronic Engineering, 2005, 77(3–4):337-346.
[2]
[3] Koo H I, Cho N I. New automatic defect classification algorithm
based on a classification-after-segmentation framework[J]. Journal of
Electronic Imaging, 2010, 19(2):334-343.
Zeiler M D, Fergus R. Visualizing and Understanding Convolutional
Networks[J]. Lecture Notes
in Computer Science, 2014,
8689:818-833.
[4]
[5] Maggiori E, Tarabalka Y, Charpiat G, et al. Fully convolutional neural
networks for remote sensing image classification[C]// IGARSS 2016
- 2016 IEEE International Geoscience and Remote Sensing
Symposium. IEEE, 2016:5071-5074.
[6] Ren S, He K, Girshick R, et al. Faster R-CNN: Towards Real-Time
IEEE
Object Detection with Region Proposal Networks[J].
Transactions on Pattern Analysis & Machine Intelligence, 2015,
PP(99):1-1.
[7] Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with
deep convolutional neural networks[C]// International Conference on
Neural Information Processing Systems. Curran Associates Inc.
2012:1097-1105.
Jia, Yangqing, Shelhamer, et al. Caffe: Convolutional Architecture for
Fast Feature Embedding[J]. Eprint Arxiv, 2014:675-678.
[8]
[9] Y. Liu, Y. Zhong, F. Fei and L. Zhang, Scene semantic classification
based on random-scale stretched convolutional neural network for
high-spatial resolution remote sensing imagery[C]// 2016 IEEE
International Geoscience and Remote Sensing Symposium (IGARSS).
2016: 763-766.
[10] Lawrence S, Giles C L, Tsoi A C, et al. Face recognition: a
convolutional neural-network approach[J]. IEEE Transactions on
Neural Networks, 1997, 8(1):98-113.
[11] Chen X, Wei P, Ke W, et al. Pedestrian Detection with Deep
Convolutional Neural Network[M]// Computer Vision - ACCV 2014
Workshops. Springer International Publishing, 2014:354-365.
[12] Soukup D, Huber-Mörk R. Convolutional Neural Networks for Steel
Surface Defect Detection from Photometric Stereo Images[M]//
Advances in Visual Computing. Springer International Publishing,
2014:176-8.
[13] 徐姗姗, 刘应安, 徐昇. 基于卷积神经网络的木材缺陷识别[J].
山东大学学报(工学版), 2013, 43(2):23-28.
[14] 刘云, 杨建滨, 王传旭. 基于卷积神经网络的苹果缺陷检测算法
[J]. 电子测量技术, 2017, 40(3):108-112.
[15] 江帆, 刘辉, 王彬,等. 基于CNN-GRNN模型的图像识别[J]. 计算
机工程, 2017, 43(4):257-262.