直拉单晶硅直径测量方法
技术领域
本发明属于直拉单晶法中在线实时测量单晶直径技术领域。
背景技术
目前CCD摄像扫描系统是大直径直拉单晶直径检测的主流技术。采用普通镜头的非高清晰的双CCD摄像测量系统是目前使用最广泛的直拉单晶CCD摄像测量系统。双CCD摄像测量系统由于采用了低分辨率的图像传感器,对于图像检测算法要求很高,目前常用的算法流程主要包括图像预处理,边缘检测,圆弧拟合,直径测量。专利号为200610105331.7的中国发明专利于2007年8月1日公开了一种基于霍夫变换的直拉单晶硅棒直径的测量方法,首先对晶体生长过程中的图像进行同步采集,然后对图像信息进行预处理,再采用HOUGH变换对图像中的晶体生长信息进行检测,得到直径、圆心X坐标和圆心Y坐标三个参数,最后对参数空间曲线交点进行均值聚类操作,得到准确的直径测量值,具体包括以下步骤:A、在单晶炉的观察窗上设置单只分辨率大于1280×1024像素的高分辨率摄像头,采集晶体生长过程中的图像信息,采集过程中依据晶转速度确定采样间隔时间,确保晶转与图像采样同步;B、对采集到的图像信息使用SOBEL算子提取图像边缘,并对图像进行二值化处理,滤除干扰信息;C、对于上述处理后的图像根据光圈图像左右对称的特点滤除奇异像素点,求取光圈图像的中轴线作为光圈圆心的Y坐标;D、根据摄像头中轴线与晶体提拉轴之间的夹角,对图像做椭圆至圆的畸变校正;E、对有效像素点进行HOUGH变换,得到二维参数空间的参数曲线,求得圆的参数横坐标A和纵坐标R;F、对上述二维空间参数映射点进行二维聚类操作,求得光圈直径R和X坐标,根据上述参数值,最终得到晶体直径精确值。其中每一步的测量对后面一步的结果有很大的影响,主要存在以下几个问题:
1、由于单晶炉上观察窗口的镀膜玻璃经常会发生剥落和污点,会对图像预处理的结果造成干扰,尤其是出现在光圈附近的干扰点,对传统的测量算法造成很大的测量误差,很难进行剔除,只能通过经常清洗或者更换镀膜玻璃。
2、在晶体生长过程中的光圈图像为不规整的圆,由于摄像机位置和角度的问题,光圈图像为带有畸变的不完整的圆。传统的算法需要圆弧的最低点作为基准点测量直径,引晶和等径的过程中光圈的晃动和单晶硅的不规整导致基准点的不准确也会带来测量误差。
发明内容
本发明所要解决的技术问题就是提供一种单晶硅直径测量方法,提高单晶直径测量的准确性和适应性。
为解决上述技术问题,本发明采用如下技术方案:直拉单晶硅直径测量方法,其特征在于:首先使用摄像机同步采集单晶生长的图像,对采集到的每帧图像进行预处理和边缘检测,然后对每帧图像采用中点Bresenham画圆算法进行圆的亚像素最佳逼近和拟合,在拟合圆弧的基础上进行均值滤波,得到单晶的准确直径,具体步骤如下:
1)使用两个普通工业用模拟摄像头分别采集引晶和等径过程中的图像,引晶过程中采用长焦镜头,等径过程中采用短焦距镜头;
2)对采集到的每帧图像在指定区域内进行Canny边缘检测,指定区域为包含光圈图像的区域,并进行二值化操作,二值化的结果仅保留光圈图像;
3)经过Canny边缘检测和二值化后,所得到的为光圈图像的双边,通过横向扫描,滤除掉光圈图像的内边,保留光圈图像的外边;
4)通过摄像机光轴和单晶生长轴之间的夹角将椭圆光圈图像校正为圆光圈图像;
5)利用中点Bresenham画圆算法进行圆的亚像素最佳逼近,通过判断最佳逼近圆和光圈图像的重合程度来确定目标圆的几何参数和准确位置;
6)普通工业模拟摄像机的图像采样频率为24帧每秒,大于晶体转动的速度,通过平均值滤波法对每帧计算得到的直径进行滤波,排除干扰误差,得到更加准确的单晶生长的直径值。
优选的,所述普通工业用模拟摄像头的分辨率为720*576,引晶过程中采用长焦镜头的焦距为50mm,等径过程中短焦距镜头焦距为12mm。
进一步的,所述Canny边缘检测和二值化的具体过程为,
1)将单晶图像和高斯mask进行卷积,平滑图象,减弱噪声,
设单晶图像像素点(x,y)的灰度值为f(x,y),高斯平滑的模板大小为
高斯卷积的结果为
G(x,y)=f(x,y)*H(x,y);
2)单晶图像中的光圈边缘指向不同的方向,使用4个一阶偏导的有限差分检测水平、垂直以及对角线方向的边缘,原始图像与每个mask所作的卷积都存储起来,四个差分算子为
3)得到全局的梯度并不足以确定边缘,为确定边缘,必须保留局部梯度最大的点,利用梯度方向抑制非极大值(non-maxima suppression,NMS),在每一点上,邻域的中心像素M与沿着梯度线的两个像素相比,如果M的梯度值不比沿梯度线的两个相邻像素梯度值大,则令M=0;
4)用双阈值算法检测和连接边缘,设定两个阈值τ1和τ2,且2τ1≈τ2,从而可以得到两个阈值边缘图象N1[i,j]和N2[i,j],由于N2[i,j]使用高阈值得到,因而含有很少的假边缘,但有间断,在N2[i,j]中把边缘连接成轮廓,当到达轮廓的端点时,该算法就在N1[i,j]的8邻点位置寻找可以连接到轮廓上的边缘,这样,算法不断地在N1[i,j]中收集边缘,直到将N2[i,j]连接起来为止,由于单晶图像中的光圈部分亮度最高,设计合理的二值化阈值使得光圈图像的灰度值为255,其余部分均为0。
进一步的,将椭圆光圈图像校正为圆光圈图像的过程为设已知夹角为θ,对每个像素点的横坐标x进行畸变校正,校正后的坐标x′=x/cosθ。
进一步的,在采用Bresenham算法进行亚像素逼近之前需要粗略估计圆的中心和直径大小,设圆的圆心坐标为(x0,y0),直径为R,在经过Canny边缘检测、二值化畸变校正后的光圈图像上任取三点(x1,y1),(x2,y2),(x3,y3),则通过下面的方程式可以粗略计算出圆心位置和直径大小
考虑到能够对缺陷圆的进行检测圆,通过选择至少三组像素点,计算多个直径距离来获得平均值尺,在求平均值前,把获得到的多个直径数值中的几个最大值和最小值排除掉,然后再采用Bresenham方法进行画圆计算。
本发明和现有单晶直径图像测量技术相比有益效果是:
1、采用两个不同焦距的普通工业用模拟摄像头分别采集引晶和等径时单晶生长的图像,同时保证了引晶和等径的测量精度和测量速度,具有成本低,响应快等优点。
2、通过对采集到的单晶图像进行感兴趣区域(Region of Interest)ROI选择,只处理包含光圈图像的部分,减小了计算量,加快了计算速度。
3、采用Canny边缘检测得到光圈图像的两个明亮的边缘,选择合理的阈值进行二值化后只保留了光圈图像的两个明亮的边缘,相比较传统的sobel滤波,Canny边缘容易得到更细的边缘,易于去除杂点和干扰,尤其是出现在光圈附近的干扰点。
4、相比较传统的最小二乘法的拟合圆弧和基于Hough变换的圆弧拟合,中点Bresenham画圆算法可以进行圆的亚像素最佳逼近,使用普通模拟工业摄像机就可以精确的计算出单晶的直径,达到高分辨率工业相机的测量效果。
5、中点Bresenham画圆算法速度快,避免了Hough变换计算量大,消耗内存资源多的缺点,实际测量中摄像头相对于转轴的角度很难精确获得,同时光圈的抖动和单晶的晶棱使得光圈图像为带有畸变的不规整的圆,中点Bresenham画圆算法具有很强的鲁棒性和适应性,提高了测量算法的精确度。
附图说明
下面结合附图和具体实施方式对本发明作进一步描述:
图1为算法流程图;
图2为等径过程中单晶生长图像;
图3为单晶图像ROI区域的Canny边缘检测图像;
图4为二值化后的光圈单边图像;
图5为椭圆到圆的映射;
图6Bresenham亚像素检测圆的算法流程图。
具体实施方式
以下结合附图和具体实施方式对本发明详细说明。
图1是本发明实施的整体流程图,首先对图像进行采样,然后设置ROI感兴趣区域,对ROI区域进行边缘检测和二值化,得到单晶的单边图像,根据摄像机和单晶液面的夹角进行椭圆到圆的映射,将光圈点进行Bresenham的亚像素圆的拟合,对圆的直径进行均值滤波得到光圈图像的最佳直径。
具体步骤如下:
1、普通工业用模拟摄像头的分辨率为720*576,由于等径和引晶阶段晶体的大小差别很大,需要采用两个不同焦距的镜头分别采集引晶和等径时单晶生长的图像,采集引晶图像的镜头焦距为50mm,采集等径图像的镜头焦距为12mm,图2为等径时的单晶图像。
2、在采集到的图像上进行ROI区域设置,使得ROI区域尽量只包含光圈图像,减小单晶观察窗和污点对于后续图像处理的干扰,ROI区域的设置可以减小图像处理的工作量。
3、提取单晶光圈图像的内边,采用Canny边缘检测和二值化结合的方法,Canny边缘检测有很多参数可以调节,单晶图像的噪声很大,算法需要能有效地抑制噪声针对单晶图像采用如下步骤:
step1:将单晶图像和高斯mask进行卷积,平滑图象,减弱噪声,
设单晶图像像素点(x,y)的灰度值为f(x,y),高斯平滑的模板大小为
高斯卷积的结果为
G(x,y)=f(x,y)*H(x,y)
step2:单晶图像中的光圈边缘指向不同的方向,使用4个一阶偏导的有限差分检测水平、垂直以及对角线方向的边缘。原始图像与每个mask所作的卷积都存储起来,四个差分算子为
step3:得到全局的梯度并不足以确定边缘,为确定边缘,必须保留局部梯度最大的点,利用梯度方向抑制非极大值(non-maxima suppression,NMS)。在每一点上,邻域的中心像素M与沿着梯度线的两个像素相比。如果M的梯度值不比沿梯度线的两个相邻像素梯度值大,则令M=0。
step4:用双阈值算法检测和连接边缘。设定两个阈值τ1和τ2,且2τ1≈τ2,从而可以得到两个阈值边缘图象N1[i,j]和N2[i,j]。由于N2[i,j]使用高阈值得到,因而含有很少的假边缘,但有间断。在N2[i,j]中把边缘连接成轮廓,当到达轮廓的端点时,该算法就在N1[i,j]的8邻点位置寻找可以连接到轮廓上的边缘,这样,算法不断地在N1[i,j]中收集边缘,直到将N2[i,j]连接起来为止,如图3所示。
4、由于单晶图像中的光圈部分亮度最高,设计合理的二值化阈值使得光圈图像的灰度值为255,其余部分均为0,如图4所示。
5、根据摄像机光轴与单晶液面之间的夹角,对图像做椭圆至圆的畸变校正。设已知夹角为θ,对每个像素点的横坐标x进行畸变校正,校正后的坐标x′=x/cosθ,如图5所示。
6、在采用Bresenham算法进行亚像素逼近之前需要粗略估计圆的中心和直径大小,设圆的圆心坐标为(x0,y0),直径为R。在经过Canny边缘检测、二值化畸变校正后的光圈图像上任取三点(x1,y1),(x2,y2),(x3,y3),则通过下面的方程式可以粗略计算出圆心位置和直径大小
考虑到能够对缺陷圆的进行检测圆,通过选择多组像素点,计算多个直径距离来获得平均值尺,在求平均值前,把获得到的多个直径数值中的几个最大值和最小值排除掉。
Bresenham方法利用圆的函数方程x2+y2=R2,构造判别式函数d=F(x,y)=x2+y2-R2,对于圆上的点,有F(x,y)=0,对于圆外的点,F(x,y)>0,对于圆内的点,有F(x,y)<0。当目标圆的几何中心及圆的半径初步确定后,采用Bresenham进行圆检测的算法流程,如图6所示,将求的结果进行均值滤波得到最终的直径。