基于ARM+FPGA的微小陶瓷管缺陷检测系统设计

2018-03-27 06:29,,,,
计算机测量与控制 2018年3期
关键词:分块局部陶瓷

,,,,

(1.长沙理工大学 物理与电子科学学院,长沙 410114; 2.近地空间电磁环境监测与建模湖南省普通高校重点实验室,长沙 410114; 3.长沙亿旭智能科技有限公司,长沙 410000)

0 引言

陶瓷材料是除金属和高聚物以外的一类无机非金属材料,采用天然或人工合成化合物经过严格的成形和高温烧结而成,是现代三大支柱材料之一,其主要成分包括氮化硅,陶瓷的断裂韧性一般很低,是典型的脆性材料,即使是微小的缺陷,也容易在该处造成应力集中而破坏[1]。传统人工检测方法只能检测微小陶瓷管表面缺陷破损、气孔、裂纹等缺陷,而且人工检测稳定性差、没有统一的标准等缺点,基于PC平台的机器视觉系统多通道缺陷检实现难度大、成本高、且体积大不易安装[3]。本文中针对5.5*2.1*2.1 mm左右方形微小陶瓷管尺寸,探索一种微小陶瓷管缺陷检测方法,设计实现成本相对低、漏检率低、体积小、稳定性高的微小陶瓷管缺陷检测系统,采用FPGA+STM32F429的平台并且结合图像处理算法来完成陶瓷管缺陷检测系统的设计,通过结合局部分块+面积的思想的方法,简化了方形陶瓷管的检测过程,同时也保证了检测正确率。

1 陶瓷管缺陷检测系统结构及原理

陶瓷管缺陷检测系统结构如图1所示。系统包括陶瓷管传送、检测和分选、剔除4个部分。传送部分由振动盘和传送带组成,检测和分选部分由转盘、红外传感器、CMOS工业相机、图像处理单元等组成,剔除部分由定位控制模块和气泵组成。工作流程为振动盘中的待检测陶瓷管,经过一定速度的匀速振动和转动,使陶瓷管沿着振动盘的内壁滑动到传送带,传送带将陶瓷管逐个送到转盘,通过单相交流串励电机带动陶瓷管在转盘上转动[4],安装在转盘旁边的红外传感器检测到白色方形陶瓷管时,开启高亮的白色LED灯进行曝光,同时触发CMOS工业相机AR0134获取陶瓷管图像,经过图像处理单元判断是否有缺陷,并将结果输送到PLC执行机构,实现对陶瓷管进行分选,如果是正品则直接送入到收集箱,碰到有缺陷的陶瓷管则开启气泵剔除。

图1 陶瓷管缺陷检测系统结构示意图

整个系统主控制模块执行,要求速度快,体积小。根据ARM和FPGA的特点,采用ARM+FPGA组成[5],由FPGA采集陶瓷管图像,并存储到DDR中,进行图像的预处理,预处理后的数据通过SPI总线传递给ARM,ARM对陶瓷管图像进行二值化以及形态学处理后,采用局部分块+面积的方法完成陶瓷管图像的缺陷检测[6]。

根据系统要求,采用CMOS工业摄像头捕捉陶瓷管图像,经过FPGA进行膨胀、腐蚀、开运算、 闭运算等形态学的预处理,通过SPI将陶瓷管图像传送给STM32F429ZIT6,对陶瓷管图像进行识别与处理,达到识别缺陷的目的。检测结果通过LAN8742发送到上位机显示。

2 硬件设计

基于ARM+FPGA的陶瓷管缺陷检测系统主要由以下几个部分组成,电源电路、图像数据采集电路、ARM主控制电路、FPGA主控制电路、SDRAM数据缓冲电路等。

1)电源电路。

电源电路设计如图2所示,由于陶瓷管缺陷检测系统芯片正常工作时需要供电,我们提供的是+24 V的输入电压,然后经过设计电源转换电路。电源转换电路的作用就是电平转换,把输入电压转换成系统正常工作时需要的电压。本设计中输入电压为+24 V,输出电压的+5 V给AR0134摄像头模块提供电压、+3.3 V电压输出给STM32供电和+2.5 V和+1.2 V给FPGA内核提供供电电压等,并且让输入电源经过流和过压保护电路[7],当输入电压超过压敏电阻36 V的极限值时瞬间烧毁,当电流超过500 mA时保险丝瞬间熔断,降至500 mA以下时保险丝恢复功能,从而使电路实现了正常供电和异常保护功能,提高在工业的生产需求过程中对外界环境的抗干扰能力。

图2 电源电路设计

2)图像数据采集电路。

图像数据采集电路采用具有LVDS接口与并行数据接口的全局CMOS工业摄像头来完成,能够使采集到的陶瓷管图像在传输的过程中具有高噪声抑制能力、保证可靠的信号传输等特点。这里选用1 280*960@45 fps或者1 280*720@60 fps的全局CMOS工业摄像头AR0134来采集陶瓷管缺陷系统图像,它通过全局快门的方式高速的获取图像,灵敏度为:6.1 V/lux-sex,意思就是单位光强照在传感器上一秒钟的话,传感器可以输出6.1 V的电压,能够在很暗的光线下获取清晰的图像。

3)ARM主控制电路。

如图3所示,本缺陷检测系统选用ARM STM32F429ZIT6作为主处理器,在整个控制系统中处于核心地位,主要实现系统程序模块间的调度与协调,完成对通过DMA传送过来的陶瓷管预处理图像的采集,以及对陶瓷管图像进行特征的提取和识别等等,在系统的整体性能上起到了至关重要的作用。它具有低功耗、体积小、低成本、高可靠能,内部集成了SDRAM控制器和以太网控制器等等,能够很好的满足工业需求[8]。

图3 STM32F429控制电路

4)FPGA主控制电路。

采用FPGA EP4CE22F17C8N控制电路,灵活性很好,性能可靠,逻辑单元多大20 000多个,提供 RAM存储块,这些存储块一般可以配置成单口RAM、双口RAM、FIFO、ROM甚至移位寄存器等,拥有硬件乘法器,支持 LVDS I/O,兼容的LVDS通道达120多个,支持多种类型的IP核,如串口IP核、SPI核、SDRAM IP核等等[9],在整个控制系统中FPGA将陶瓷管数据缓存到DDR中,以及完成陶瓷管图像的预处理,如二值化、形态学运算等等。

5)SDRAM数据缓冲电路。

陶瓷管缺陷检测数据存储电路如图3所示,通过使用STM32F429内部集成的FMC控制器来控制SDRAM,FMC连接好外部的存储器并初始化后,就可以直接通过访问地址来读写数据,使用FMC外接存储器时,其存储单元是映射到STM32的内部寻址空间的;在程序里,定义一个指向这些地址的指针,然后就可以通过指针直接修改该存储单元的内容,FMC外设会自动完成数据访问过程,读写命令之类的操作不需要程序控制[10]。

图4 陶瓷管缺陷检测数据存储电路

3 基于局部分块的陶瓷管缺陷识别算法

通过局部分块的思想来确定陶瓷管的缺陷所在的位置。局部分块的思路就是对陶瓷管图像进行目标区域的确定后,对目标区域按照一定的比例进行分块,把它们分成若干块,即直接在空间上将这些区域分成若干块,这种局部分块的思想能够使我们更好的寻找到缺陷的位置,达到缩小处理范围的目的,候志强、黄安奇等人针对目标跟踪过程中的目标表现变化等问题,采取了局部分块和模型更新的视觉跟踪算法,运用该算法在目标表现、遮挡情况等的处理能力都有所增强,余旺盛、田孝华等人在处理视觉运动过程中目标出现鲁棒性的问题[11],运用了基于局部分块的加权算法来处理,使跟踪的精度更高、成功率更高,田孝华、查宇飞等人利用局部分块的模型,并结合贝叶斯理论框架进行视觉跟踪,达到了目标变化时的适应性大大增强,结果更加稳定的效果[12]。

针对长方形的目标区域来说,进行局部分块的块数可以用多种多样的,可以分为两块、四块、六块、八块等等,如图5所示,为八块局部分块示意图,即将目标区域分为两行四列,分块的大小可以按照自己的需求来设定。

如图所示的八块分法的思想一般用均匀分块,这样操作方便,但是这样分块会出现分块不必要的现象,从而达不到很好的分块效果,所以,可以采用把目标区域分成九块的方法来分块,九块的分块不需要均匀,可以大小不一,可根据具体需要来分块,即把它分成3行3列的块,这里把它分成了长方形块的四角、四边、中间一个块,4个角组成了4个块,四条边组成了4个块,然后中间的一个区域分成一块。对于中间的块来说,如果中间区域出现了前景色的像素,那么该陶瓷管就存在缺陷;对于4个角构成的四块来说,如果它们不构成字母"L"形状就判断为有缺陷;对于四条边构成的4个块来说,如果不在同一条直线上就表示图像存在缺陷。

图5 长方形轮廓分块示意图

4 基于面积思想的陶瓷管缺陷识别算法

通过处理后的陶瓷管缺陷边缘相对突出,可以较快计算出目标的面积,可以通过求出连通区域的面积来作为检测缺陷的重要指标,面积可以很方便的衡量一个物体的总尺寸,采取的最简单和有效的计算面积的方法就是计算连通区域包括边界在内的所有像素的总和,在整幅陶瓷管图像中,陶瓷管本身的大小相对整体图像占比很小,因为其中包括了背景图像,若要对缺陷面积检测需要开始找到其所在的位置,对分割的图像确定目标区域的思路是,首先从上往下开始扫描,遇到像素点时停止扫描,记录这个时候的行数L1,然后对图像从下面到上面做扫描,当有像素点的时候记录此时的行数L2,按照同样的方法,分别进行由左至右以及由右至左的像素点的扫描,找到这个时候的列号分别为C1,C2。这个时候由(L1,C1),(L2,C2)这两点确定的区域就是所找到的目标区域,在目标区域内,采用基于区域的统计方法来计算面积,具体的思路如下:

1)先进行从左到右,从上到下对目标区域进行扫描。算出相同行不连通的行程然后对它们进行标号;

2)然后从左上到右下对目标区域进行扫描,相邻的行若出现像素值相同的情况,那么就将下面行的标号修改成与上面的行的标号相同;

3)最后从右下到左上对目标区域进行像素点的扫描,相邻的行中若有像素值相同的情况,那么就将上面行的标号修改成与下面的行的标号相同;

4)最后对标过的号进行排序。在将目标区域标号后,能达到检测不同连通区域面积的目的,把相同点相加,最后得到的总的像素点就是所求的连通区域的面积,可以通过这种方法来计算缺陷的面积,即使缺陷是没有规律的也可以通过用这种方法来识别陶瓷管图像缺陷,通过计算多个不连通区域的面积,按照面积的大小来区分缺陷和噪声,所以这个方法可以对陶瓷管图像去噪,通过对目标区域图像进行标号后,获取不同检测目标的面积实现测量。

5 系统软件设计

本系统ARM采用的是STM32F429ZIT6芯片。ARM芯片开发使用的是Keil公司开发的ARM开发工具MDK。整个ARM 芯片软件的开发过程可以分为3个步骤:编写C语言源程序,编译源程序,固化程序(烧制Flash)[13]。ARM芯片STM32F429的软件程序主要有4个任务:①通过SPI接受从FPGA传送过来的陶瓷管图像数据;②对陶瓷管图像进行数字图像处理运算;③将检测结果通过以太网发送到上位机进行显示,同时也可以通过OLED进行显示;

本系统FPGA采用的是EP4CE22F17C8N芯片。FPGA芯片开发使用的是Altera公司开发的Quartus II,主要有3个任务:①通过工业摄像头AR0134采集陶瓷管图像数据;②将陶瓷管图像缓存到DDR MT46V32M16;③通过SPI将数据传送给STM32F429进行处理;

该系统的软件设计如图6所示,ARM芯片STM32F429ZIT6首先进行初始化,包括串口、SDRAM、OLED模块、定时器模块、以太网LAN8742模块等等[14], 当传感器检测到陶瓷管时,触发工业摄像头AR0134捕获陶瓷管图像,然后经过FPGA的预处理后,通过SPI将陶瓷管图像传送给STM32F429ZIT6,它对陶瓷管图像进行识别与处理后,将检测结果通过LAN8742发送到上位机进行显示,同时也可以通过OLED进行显示[15];

图6 系统软件设计示意图

6 实验结果分析

实验结果如表1所示,通过检测从5 000到50 000之间间隔5 000的10种数量的陶瓷管,经过ARM+FPGA的陶瓷管缺陷检测系统检测后,相对于传统陶瓷管缺陷检测漏检率10%来说,要远远低于它,漏检率一般低于1%。由此可以看出,此系统代替传统陶瓷管缺陷检测,漏检率低。并且在检测的过程中,检测速度快,系统稳定性高,抗干扰能力强,从而提高了生产效率,有效的满足工业生产的需要。

表1 陶瓷管缺陷检测结果表

7 结论

采用ARM+FPGA来实现微小陶瓷管缺陷检测,利用FPGA来采集陶瓷管图像数据以及预处理,通过STM32进行图像处理运算,实现对陶瓷管缺陷在线检测系统检测算法的研究,包括对采集到实物图像做预处理,如进行灰度直方图,进行形态学的运算,如膨胀、腐蚀、开运算、闭运算等等,通过提取图像的感兴趣区域来对陶瓷管图像目标进行提取,利用局部分块和面积法结合的思想来确定陶瓷管的缺陷。实验结果表明,该微小陶瓷管缺陷检测系统检测速度快,稳定性高,抗干扰能力强,漏检率低,而且体积小、可靠性强、成本低,适用于批量微小陶瓷检测。

[1] 余文勇,石 绘. 机器视觉自动检测技术[M]. 北京:化学工业出版社,2013.

[2]沙翠翠. 基于机器视觉的陶瓷管缺陷识别技术研究[D].西安:西安科技大学,2010.

[3]程 佩,房海华,黄 蓝. 基于FPGA+DSP的数据采集系统设计与实现[J]. 计算机测量与控制,2016(11):148-150.

[4]陈 浩,吴定祥,康志远,等.单相交流串励电机调速系统设计[J]. 机电工程,2016,(12):1483-1487.

[5]李 涛. 剑杆织机送经卷取运动的双控法研究,测控技术[J].2015,34(4):67-70.

[6]余旺盛,田孝华,侯志强,等. 基于局部分块学习的在线视觉跟踪[J]. 电子学报, 2015, 43(1): 74-68.

[7]李艳丽. 开关电源中保护电路的研究与设计[D].成都:西南交通大学,2015.

[8]葛文庆,赖 华,靳振宇,等. 基于Cortex-M3内核的STM32微控制器研究与电路设计[J]. 大庆师范学院学报,2013(6):44-47.

[9]张永军. 基于FPGA的图像处理系统设计与算法实现研究[D].重庆:重庆大学,2006.

[10]李天旭,陈广大,王腾腾,等. 基于STM32的恒温水浴温度检测与控制系统设计[J]. 计算机测量与控制,2017(6):41-44.

[11]杨小明,胡文军,楼俊钢,等. 局部分块的一类支持向量数据描述[J]. 计算机应用, 2015, 35(4): 1026-1029.

[12]王 锋,殷珍珍,李 彬. 基于分块局部二值模式的图像检索研究[J]. 微电子学与计算机, 2014, 31(5): 21-23.

[13]龚 涛. 基于FPGA的图像采集处理系统[D].武汉:华中科技大学,2005.

[14]韦喜波. DDR SDRAM控制器的设计与验证[D].哈尔滨:哈尔滨工业大学,2009.

[15]杨凯斌,吴定祥,龚金成,等. 圆环陶瓷检测算法研究[J].中国陶瓷,2017(3):39-44.

猜你喜欢
分块局部陶瓷
面向量化分块压缩感知的区域层次化预测编码
钢结构工程分块滑移安装施工方法探讨
爨体兰亭集序(局部)
凡·高《夜晚露天咖啡座》局部[荷兰]
一种面向不等尺寸分块海量数据集的并行体绘制算法
分块矩阵初等变换的妙用
载歌载舞话陶瓷——瓷之舞
陶瓷艺术作品
丁学军作品
局部遮光器