网络出版时间: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.