具体实施方式
以下结合附图和具体实施方式对本发明详细说明。
图1是本发明硬件框图,两路视频通过模数转换芯片TVP5146的转换,使用OMAP3530的ARM核将转换后的数字视频放入外部SDRAM存储器中。OMAP3530的DSP核对数字视频进行ROI感兴趣区域设置,边缘检测,二值化,圆弧拟合和均值滤波处理得到最终的直径数值。ARM核再将原始视频和直径数据显示到LCD触摸屏上,并在LCD触摸屏上实现人机界面,图像保存,曲线绘制等功能,程序固化在FLASH中,直径数据通过串口发送到单晶控制柜,电源接口为系统供电。
下面首先对单晶测量的具体步骤说明如下:
1、采集图像
由于等径和引晶阶段晶体的大小差别很大,引晶时的直径在2-3mm左右,等径时直径在200mm左右,普通工业用模拟摄像头的分辨率为640*480,采用两个不同焦距的镜头分别采集引晶和等径时单晶生长的图像,采集引晶图像的镜头焦距为30mm,采集等径图像的镜头焦距为10mm。
2、ROI设置
在采集到的图像上进行ROI区域设置,在外部SDRAM中设置x和y方向上的门限,使得ROI区域尽量只包含光圈图像ROI区域的设置可以减小DSP的工作量。
3、边缘检测
采用Canny边缘检测的方法,Canny边缘检测有很多参数可以调节,单晶图像的噪声很大,Canny边缘检测算法能有效地抑制噪声,针对单晶图像采用如下步骤:
step1:将单晶图像的ROI区域和高斯算子进行卷积,平滑图象,减弱噪声,设单晶图像像素点(x,y)的灰度值为f(x,y),高斯平滑的模板大小为
高斯卷积的结果为
G(x,y)=f(x,y)*H(x,y)
step2:单晶图像中的光圈边缘指向不同的方向,使用4个一阶偏导的有限差分检测水平、垂直以及对角线方向的边缘。原始图像与每个算子所作的卷积都存储起来,
step3:在光圈图像的边缘中局部梯度最大的点为边缘点,利用梯度方向抑制非极大值。在每一点上,邻域的中心像素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]连接起来为止。
4、二值化
由于单晶图像中的光圈部分亮度最高,通过经验值选择二值化的阈值使得光圈图像的灰度值为255,其余部分均为0。
5、畸变校正
根据摄像机光轴与单晶液面之间的夹角,对图像做椭圆至圆的畸变校正。设已知夹角为θ,对每个像素点的横坐标x进行畸变校正,校正后的坐标x′=x/cosθ。
6、圆弧拟合
圆弧拟合是求得单晶直径的关键算法,圆弧拟合的效果直接影响到直径的准确度,按照下面的步骤拟合圆弧:
step1:首先粗略估计圆的中心和直径大小,设圆的圆心坐标为(x0,y0),直径为R。在经过Canny边缘检测、二值化畸变校正后的光圈图像上任取三点(x1,y1),(x2,y2),(x3,y3),则通过下面的方程式可以粗略计算出圆心位置和直径大小
考虑到能够对缺陷圆的进行检测圆,通过选择多组像素点,计算多个直径距离来获得平均值尺,在求平均值前,把获得到的多个直径数值中的几个最大值和最小值排除掉。
Step2:利用遗传算法逼近光圈的最佳圆,设圆的函数方程(x-x0)2+(y-y0)2=R2,则偏差函数d=F(x,y)=(x-x0)2+(y-y0)2-R2,对于圆上的点,有F(x,y)=0,对于圆外的点,F(x,y)>0,对于圆内的点,有F(x,y)<0。设边缘点的集合为{(xi,yi)},其中i=1,2,3...N,N为边缘点的个数,任一边缘点的偏差di=F(xi,yi)=(xi-x0)2+(yi-y0)2-R2,代表边缘点到最佳圆的距离。所有边缘上的点距离最佳圆的偏差之和记为S,则S是遗传算法需要优化的目标函数。
优化参数为x0,y0,R,点的个数越多,优化的参数精度越高,通过遗传算法使得目标函数S的值越小,则半径值越准确。
7、均值滤波
由于晶体转动的晶线引起测量的误差,需要将得到的直径测量结果进行均值滤波,设计了等间隔均值滤波算法,具体的方法是根据晶体的提拉速度,以小于晶体时间的间隔保存最新的直径测量值,在测量值中去掉最大的和最小的值,其它值求和后取平均值即是最后的直径数值。
下面结合图1硬件框图对本发明的硬件设计进行详细说明:
1、核心处理器
核心处理器选用TI推出的OMAP3530,它是低功耗高性能的多核处理器,具有超过1200 Dhrystone MIPS的性能,集成ARM Cortex-A8、DSP(TMS320C64x+TM 430MHz)、POWERVR SGTM 2D/3D图形加速引擎,以及丰富的外设资源。可以实现人脸识别监控系统、便携式设备、高端工业设备、医疗设备、2D/3D游戏机产品,以及其他适合用OMAP3530处理器实现的产品。
2、图像采集电路
从摄像头采集的模拟信号通过编码芯片TVP5146转化为BT.656格式,同步信号发送到OMAP3530的VP口。TVP5146是一款超低功耗的解码芯片,可以对PAL/NTSC/SECAM各制式自动识别、切换、置对应寄存器位。作为视频输入口时,视频数据的行/场同步又包含在BT.656数字视频数据流中。OMAP3530对TVP5150内部寄存器的访问通过I2C总线实现,
3、电源电路
本系统需要12V,5V,3.3V,1.8V的电源,12V电源给摄像机供电,5V给外部接口电路供电,3.3V为OMAP3530芯片及其外围接口供电,系统采用12V外部输入电源,TPS54620和TPS54286PWP降压芯片芯来完成降压电路。由于OMAP3530对外可以输出1.8V电源,为了保证个模块之间不互相干扰,对系统+3.3V经过LC滤波后产生本地十3.3V电压。
4、触摸屏电路
选用群创公司的AT070TN83V1的10寸LCD,触摸屏与OMAP接口板连接的信号包含LCD_D0-LCD_D23,PCLK,DE,VS,HS,X+,X-,Y+,Y-,NDISABLE,BKLIGHT,RESET,I2C。LCD芯片采用两片74ALVC164245DGG芯片与OMAP处理器相连接;触摸屏控制芯片使用单片TSC2046EIPW芯片,此芯片通过X+/X-/Y+/Y-四个信号实现触摸功能,并通过一个GPIO信号与处理器相连接。
5、串口电路
串口电路RS232通过标准的3.81mm的接口向单晶硅提供必要的RX/TX/GND信号。内部通过一个232芯片SP3203ECY-L连接至OMAP3530,UART1_TX,UART1_RTS,UART1_CTS和UART1_RX信号分别接到OMAP上,RS232_UART1_TX和RS232_UART1_RX至外部RS232接口。
6、存储电路
OMAP3530程序执行过程中,代码和数据存储在FLASH和SDRAM中,SDRAM的大小是256MByte,FLASH的大小也是256MByte。