文献标识码:A
DOI:10.16157/j.issn.0258-7998.2017.05.015
中文引用格式:高正中,赵晨晖,薛寒,等. 基于图像处理的产品表面缺陷检测系统研究[J].电子技术应用,2017,43(5):64-66.
英文引用格式:Gao Zhengzhong,Zhao Chenhui,Xue Han,et al. Research of product surface defects detection system based on image processing[J].Application of Electronic Technique,2017,43(5):64-66.
0 引言
流水线产品的缺陷检测目前仍靠人工来完成,对于微小的、区别不明显的缺陷,人眼无法精确识别,这极大地影响了产品的生产效率[1]。基于STM32F405和CMOS OV7610的产品表面图像处理系统,以其完全脱离计算机且运行速度快、设计成本低、性价比高等优点,更好地满足了图像处理在产品表面的图像采集与智能检测方面的工作要求。
1 系统硬件设计
系统主要由STM32F405微处理器、CMOS图像采集模块、LCD显示模块、存储器模块、通信模块等组成,系统框图如图1所示。在光源的配合下通过图像采集模块获取产品表面的图像信息,由DMA将图像数据传输到STM32F405微处理器,处理器调用图像处理算法对产品表面图像数据进行处理,利用控制终端的图像处理软件匹配、识别产品表面是否存在缺陷,并在LCD显示屏上实时显示结果,实现对产品表面图像的采集和处理。
2 主要模块设计
2.1 主控模块
基于图像处理的产品表面图像采集和处理系统选用STM32F405作为主处理器,该芯片具有高性能的信号处理和浮点运算能力,同时带有8~14 bit并行照相机接口、DMA控制器、2路I2C接口,图像数据的传输可以通过DMA直接传输,在I2C总线读取数据到缓冲区,提高了图像数据的采样和处理速度,完成包括数据处理、检测算法实现、结果提取和分析等工作[2]。主控芯片获得处理结果后,将数据传输到执行机构,执行机构根据最终获取的控制信号进行相应操作。
2.2 图像采集模块
图像采集模块采用Omnivision公司的OV7610,这是一种自带图像敏感阵列、能直接采集图像信息的低功耗CMOS型彩色数字摄像芯片[3]。采集图像时最高速度可达30帧/s,最大图像阵列为640×480,通过I2C总线对有关存储器赋值,可灵活改变窗口大小、A/D转换速度、帧/场模式等工作参数。
图像采集芯片OV7610既可以帧模式扫描也可以场模式扫描,为提高图像存储质量、简化图像采集控制电路,本系统设置OV7610图像采集方式为帧模式扫描[4]。OV7610的输出信号主要有:垂直同步信号(Vs)、水平同步信号(Hs)及像素同步信号(Ps),其理论波形如图2所示。
完整的一帧产品表面图像在垂直同步信号的两个正脉冲之间扫描完成,水平同步信号高电平时为扫描一行像素的有效时间,像素同步信号高电平输出的图像数据有效[5]。若一个图像的阵列为160×120,则在垂直同步信号两个脉冲之间有120个水平同步信号的正脉冲,在每个水平同步信号正脉冲期间有160个像素同步信号正脉冲。为获取完整帧图像,将上述3个同步信号组合成一个输出信号(OUT)。
3 系统软件设计
系统选用KeilμVision5 软件开发平台和Visual C++可视化编程软件协同工作[6]。系统运行时,启动采集信号发送到STM32F405主控制器,控制器接收指令后立即进行初始化,初始化成功后响应DMA中断,根据图像采集时序来控制CMOS OV7610启动图像采集,采集的图像数据将通过DMA先进先出传送到STM32F405的外部存储器中[7]。在采集完成后,STM32F405将进行点阵采样、量化处理和二值化等过程完成产品表面图像处理工作。系统流程图如图3所示。
产品表面的图像采样是选取图像的采样点在空间坐标上作离散化的过程。本系统设计使用二维采样函数对产品表面的图像进行采样,获得图像预处理采样点阵。
设f(x,y)为一个有限带宽的二维连续图像,f(x,y)的傅里叶变化对为:
对图像f(x,y)采样,就是将f(x,y)乘以采样函数s(x,y)。采样后的图像可以用式(3)表示:
由卷积与脉冲函数可得采样图像fs(x,y)的频谱是连续图像在(u,v)方向上以Δx、Δy间隔分布,间隔选择合适,采样就不会重叠,可获得期望的采样点阵。由于经过采样的图像是连续点阵,各个像素的值有无穷多个,为了方便主控制器处理,需将无穷多个离散值简化为有限个离散值,即量化处理后才能将每个互异的离散值编码处理[8]。
为了加快处理速度,系统将16 bit RGB彩色图像转化成8 bit灰度图像,由此不但可以提高主控制器的处理速率,而且减小了图像的冗余量。图像灰度化后,利用Canny边缘检测算子提取图像边缘,将边缘二值化。在选定一个阈值时,将灰度直方图中大于该阈值的像素点变成1,小于该阈值的像素点变成0:
其中,f(x,y)为输入图像像素的灰度值,g(x,y)为输出图像,θ为阈值。
将处理后的产品表面图像与预存模板匹配,由对比结果得出该产品是否存在缺陷。图像匹配过程就是在基准图像和待处理图像之间寻找两幅图像差异最小的相对位置,通常将其描述为求距离度量:
式中,k为灰度变化幅度。
4 调试及实验结果分析
系统测试主要针对硬件和软件进行测试。硬件测试主要针对核心处理器的外围电路,其中包括电源模块、I/O输入输出模块及通信接口等电路。软件测试分别对STM32F405和CMOS OV7610的各个功能的子程序进行测试。
为了验证本系统表面缺陷检测的准确性和可靠性,对金属产品表面进行缺陷检测实验。缺陷检测部分的灰度图像大小为160×120像素。图4为裂缝缺陷和污点缺陷的检测结果。
5 结论
本系统旨在将图像采集与处理技术应用于产品表面缺陷检测,以及识别复杂、模糊的产品表面图像[9]。利用STM32F405超强的计算性能和低功耗优势,提出了CMOS图像采集与STM32图像处理结合的平台架构,设计了处理能力强、接口可靠稳定的产品表面图像采集与检测系统,在系统中实现了点阵采样、灰度转化和二值化等算法设计,并对平台应用的处理性能、实时性和可靠性进行了实验测试,取得了一定的阶段性成果。
参考文献
[1] 彭向前.产品表面缺陷在线检测方法研究及系统实现[D].武汉:华中科技大学,2008.
[2] 曾浩.基于STM32F407的嵌入式及其视觉装置研发[D].广州:广东工业大学,2015.
[3] 汪丽华,吴维嘉.基于CMOS图像传感器的嵌入式机器视觉系统设计[J].黄山学院学报,2010,12(3):25-27.
[4] 吴小平,刘万春,朱玉文,等.基于TMS320C32的视觉图像处理系统[J].探测与控制学报,2000,22(1):18-22.
[5] 仲林国.基于机器视觉技术的嵌入式系统研究[D].杭州:浙江大学,2006.
[6] SING N,DELWICHE M.Machine vision methods for defect sorting stonefruit[J].Trans of ASAE,1994,37(6):1989-1997.
[7] 魏丽玲,朱平,石永亮.基于FPGA的图像采集与存储系统设计[J].电子技术应用,2015,41(11):67-69,73.
[8] 谭林秋.基于VC++的数字图像处理系统的开发及算法研究[D].西安:西安理工大学,2008.
[9] SONKA M,HLAVAC V,BOYLE R.Image processing[M].London:Analysis and Machine Vision,1993.
作者信息:
高正中,赵晨晖,薛 寒,商春雷
(山东科技大学 电气与自动化工程学院,山东 青岛266590)