王宏松,李 杰
(上海常良智能科技有限公司,上海 201108)
?
基于FPGA的薄膜瑕疵檢測(cè)
王宏松,李杰
(上海常良智能科技有限公司,上海 201108)
針對(duì)現(xiàn)今工業(yè)薄膜生產(chǎn)過程中薄膜幅寬更大且生產(chǎn)更快的問題,提出一種基于FPGA的快速薄膜瑕疵檢測(cè)系統(tǒng)方案。系統(tǒng)首先采用相關(guān)系數(shù)法準(zhǔn)確求出薄膜灰度圖像的最小重復(fù)周期,根據(jù)最小重復(fù)周期確定兩個(gè)比對(duì)圖像塊并求出差值圖像,其次將差值圖像二值化再進(jìn)行形態(tài)學(xué)處理,最后經(jīng)過面積約束條件找出薄膜瑕疵所在位置。其中充分利用FPGA并行處理的優(yōu)勢(shì),提高了圖像處理的速度。實(shí)踐結(jié)果表明,該系統(tǒng)能夠在300 m/min的薄膜生產(chǎn)線上成功檢測(cè)出瑕疵面積僅10個(gè)像素的瑕疵,在滿足實(shí)時(shí)薄膜瑕疵檢測(cè)的需求方面具有實(shí)際應(yīng)用效果。
機(jī)器視覺;瑕疵檢測(cè);FPGA;相關(guān)系數(shù);圖像匹配
引用格式:王宏松,李杰. 基于FPGA的薄膜瑕疵檢測(cè)[J].微型機(jī)與應(yīng)用,2016,35(16):46-49.
現(xiàn)代薄膜被大量地用于生產(chǎn)生活。在薄膜的生產(chǎn)過程中,由于生產(chǎn)工藝及現(xiàn)場(chǎng)環(huán)境等因素影響,容易造成薄膜表面出現(xiàn)墨點(diǎn)、劃傷、破洞、褶皺、蚊蟲等瑕疵。為了在生產(chǎn)過程中及時(shí)檢出薄膜表面的各種瑕疵,控制和提高薄膜產(chǎn)品的質(zhì)量,企業(yè)從傳統(tǒng)的人工目視抽檢逐漸發(fā)展為使用基于計(jì)算機(jī)軟件的在線瑕疵檢測(cè)系統(tǒng)[1-2]。隨著薄膜表面檢測(cè)質(zhì)量要求的日益提高,以及幅寬更寬、生產(chǎn)速度更快等更為嚴(yán)格的工藝要求出現(xiàn),單純依靠軟件來實(shí)現(xiàn)瑕疵檢測(cè)已經(jīng)不能滿足實(shí)際工程的需要[3]。
本文采用現(xiàn)場(chǎng)可編程門陣列(Field-Programmable Gate Array,F(xiàn)PGA)作為瑕疵檢測(cè)的核心處理單元,設(shè)計(jì)并實(shí)現(xiàn)了一種實(shí)時(shí)的瑕疵檢測(cè)系統(tǒng)。該系統(tǒng)具有檢測(cè)速度快、穩(wěn)定性好并容易配置新瑕疵種類等優(yōu)點(diǎn),可大大提高生產(chǎn)效率和降低制造成本。
目前薄膜瑕疵檢測(cè)系統(tǒng)大多采用工業(yè)計(jì)算機(jī)、線掃描相機(jī)、旋轉(zhuǎn)編碼器和線型光源的方案。在生產(chǎn)時(shí),由高亮LED組成的線型聚光冷光源采用透射或反射的方式照射在薄膜表面,通過與薄膜運(yùn)行同步的旋轉(zhuǎn)編碼器觸發(fā),使架設(shè)在生產(chǎn)線上的線掃描相機(jī)同步掃描,將相機(jī)采集到的薄膜圖像通過工業(yè)計(jì)算機(jī)上的采集卡實(shí)時(shí)傳送給圖像處理系統(tǒng)軟件進(jìn)行瑕疵識(shí)別處理。由于瑕疵圖像的灰階分布與正常圖像的灰階分布存在明顯差異,從而使系統(tǒng)能夠發(fā)現(xiàn)瑕疵,同時(shí)對(duì)瑕疵進(jìn)行有效的判定、分類及后續(xù)處理。
在實(shí)際生產(chǎn)中,對(duì)于幅面較寬的薄膜,可以采用多個(gè)線掃描相機(jī)并行采集圖像,同時(shí)傳送給工業(yè)計(jì)算機(jī)的方式。然而隨著幅寬增寬,生產(chǎn)運(yùn)行速度更快,單位時(shí)間內(nèi)采集得到的圖像數(shù)據(jù)量更大,目前常見的基于軟件的圖像處理方式越來越不能滿足實(shí)時(shí)性的要求。本文設(shè)計(jì)了一種基于FPGA的薄膜瑕疵檢測(cè)系統(tǒng),將主要的圖像瑕疵識(shí)別和處理交給以FPGA為核心的圖像處理單元,處理結(jié)果傳送給工業(yè)計(jì)算機(jī),這樣可以更好地適應(yīng)高速、高質(zhì)量生產(chǎn)的要求。
圖3 FPGA及主要接口電路
系統(tǒng)硬件由光源單元和圖像處理單元兩部分組成。光源單元包括LED線型光源和光源控制器,圖像處理單元?jiǎng)t由線掃描相機(jī)、FPGA圖像處理板以及旋轉(zhuǎn)編碼器組成。總體框圖如圖1所示。
圖1 系統(tǒng)硬件總體框圖
2.1光源單元電路
光源采用高亮大功率LED組成線陣分布,由光源控制器產(chǎn)生PWM信號(hào),通過高速雙金屬氧化物場(chǎng)效應(yīng)三極管(Metal Oxide Semiconductor Field Effect Transistor,MOSFET)驅(qū)動(dòng)器芯片MC34151放大,驅(qū)動(dòng)線型光源發(fā)光。LED在電路結(jié)構(gòu)上采用串并式排列,每一路串聯(lián)LED電路由一路PWM信號(hào)驅(qū)動(dòng),光源控制器可以輸出多個(gè)獨(dú)立的PWM信號(hào),分別驅(qū)動(dòng)多路LED電路。當(dāng)需要調(diào)節(jié)線型光源不同位置的亮度時(shí),只需獨(dú)立調(diào)整相應(yīng)位置對(duì)應(yīng)的LED串聯(lián)電路的PWM信號(hào)即可。PWM信號(hào)驅(qū)動(dòng)電路如圖2所示。
圖2 PWM信號(hào)驅(qū)動(dòng)電路
2.2圖像處理單元電路
圖像處理單元的核心采用ALTERA公司的Cyclone III系列FPGA,該系列FPGA采用TSMC的65 nm低功耗(Low Power,LP)工藝,提供豐富的邏輯、存儲(chǔ)器和數(shù)字信號(hào)處理器(Digital Signal Processor,DSP)功能,含有5 K~120 K邏輯單元(Logical Element,LE),288個(gè)數(shù)字信號(hào)處理(DSP)乘法器,存儲(chǔ)器容量達(dá)到4 Mbit。Cyclone III器件針對(duì)圖像處理應(yīng)用進(jìn)行了優(yōu)化,采用專業(yè)顯示I/O接口低電壓差分信號(hào)[4](Low-Voltage Differential Signaling,LVDS),包括低擺幅差分信號(hào)和點(diǎn)對(duì)點(diǎn)差分信號(hào),每個(gè)鎖相環(huán)(Phase Locked Loop,PLL)可動(dòng)態(tài)配置,支持可變刷新率,以增強(qiáng)提高圖像處理功能和質(zhì)量。
圖像處理單元的主要電路包括FPGA集成電路、圖像數(shù)據(jù)輸入電路、DDR存儲(chǔ)器控制電路、圖像輸出接口電路等,其中Cyclone III FPGA及主要I/O接口電路如圖3所示。
薄膜瑕疵檢測(cè)算法流程如圖4所示。首先將采集到的長(zhǎng)L寬W的原始薄膜圖像進(jìn)行預(yù)處理,其中包括彩色圖像灰度化處理和對(duì)比度拉伸處理;其次,通過相關(guān)系數(shù)法求出薄膜圖片的最小重復(fù)周期t并獲得(L-t)×W參考圖像塊和相同大小的待檢測(cè)圖像塊,求出兩個(gè)圖像塊的差值圖像。之后將差值圖像轉(zhuǎn)為二值圖像并進(jìn)行形態(tài)學(xué)處理操作,獲得檢測(cè)結(jié)果圖像。最后,在檢測(cè)結(jié)果圖像中,當(dāng)其中有白色塊的面積大于所設(shè)定的閾值w時(shí),則該白色塊為薄膜瑕疵。
圖4 瑕疵檢測(cè)流程圖
3.1模塊劃分
根據(jù)上述檢測(cè)算法流程,F(xiàn)PGA中應(yīng)主要包含圖像預(yù)處理[5]、檢測(cè)核心算法、存儲(chǔ)控制器和主控制器等功能模塊,如表1所示。
表1 模塊劃分
根據(jù)前述瑕疵檢測(cè)處理流程,整個(gè)圖像處理采用并行加流水線結(jié)構(gòu),分為8個(gè)步驟,對(duì)應(yīng)8個(gè)子模塊,如圖5所示。其中圖像預(yù)處理包括灰度變換、對(duì)比度拉伸,分別采用并行處理結(jié)構(gòu),以保證實(shí)時(shí)性;瑕疵檢測(cè)在圖像分塊的基礎(chǔ)上采用6級(jí)流水線,包括相關(guān)系數(shù)計(jì)算、差值處理、形態(tài)學(xué)處理、面積約束、瑕疵標(biāo)記和圖像拼接顯示,在時(shí)間上重疊復(fù)用各級(jí)流水線模塊,進(jìn)一步增加了處理的并行度,大大縮短了圖像處理的時(shí)間。
圖5 圖像處理硬件架構(gòu)
3.2圖像預(yù)處理
在圖像的采集和預(yù)處理過程中,需要改善圖像的質(zhì)量,增強(qiáng)有用信息。本系統(tǒng)中用到了彩色圖像灰度化處理和對(duì)比度拉伸處理。其中,圖像灰度化處理能夠減少后續(xù)圖像處理的運(yùn)算量,減少FPGA硬件的面積,從而降低應(yīng)用成本。本系統(tǒng)采用加權(quán)平均法對(duì)圖像進(jìn)行灰度化處理[6],其原理較為簡(jiǎn)單,不再贅述。典型數(shù)學(xué)表達(dá)式及實(shí)際應(yīng)用公式如式(1)、(2)所示:
Gray=0.299r+0.587g+0.114b
(1)
Gray=(299r+587g+114b)/1 000
(2)
圖像對(duì)比度拉伸[8]是一種簡(jiǎn)單且非常有效的空域增強(qiáng)方法。通過實(shí)驗(yàn)發(fā)現(xiàn),在原始薄膜圖像的灰度圖像上進(jìn)行恰當(dāng)?shù)膶?duì)比度拉伸是一種很好的圖像增強(qiáng)方式,可有效地增強(qiáng)薄膜瑕疵圖像,提高薄膜瑕疵檢測(cè)的精度。該方法由兩個(gè)基本步驟組成:(1)直方圖統(tǒng)計(jì),通過設(shè)定直方圖兩端的像素個(gè)數(shù)和占整個(gè)圖像像素個(gè)數(shù)的百分比來確定兩個(gè)端點(diǎn)a1和a2,灰度值小于a1的更改為0,灰度值大于a2的更改為255,本系統(tǒng)將這里的占比設(shè)定為0.005。(2)灰度值映射,在直方圖中,兩個(gè)端點(diǎn)之前的像素灰度值根據(jù)式(3)進(jìn)行像素灰度值的映射。映射原理是將原圖的灰度函數(shù)由一個(gè)變換規(guī)則映射成新的圖像函數(shù),即:
g(x,y)=N[f(x,y)]
(3)
其中f(x,y)為原圖的灰度函數(shù),g(x,y)為增強(qiáng)后的灰度函數(shù),N為變換規(guī)則,即將a1~a2之間的像素灰度值按線性關(guān)系一一映射到0~255之間。
3.3核心檢測(cè)算法
核心檢測(cè)算法流程如圖6所示。
圖6 核心檢測(cè)算法流程圖
待檢測(cè)圖片經(jīng)預(yù)處理后獲得算法處理圖像。薄膜為固定周期的重復(fù)印刷制品。計(jì)算出薄膜的最小重復(fù)周期t。在L×W的算法處理圖像中,從首行開始選取T×W(其中T 本文采用去均值的歸一化相關(guān)函數(shù)(式(4))來判斷兩個(gè)模版的相似程度: r(x,y)= (4) 當(dāng)目標(biāo)模版T(a,b)和候選模版G(x+a,y+b)完全一樣時(shí),相關(guān)系數(shù)r(x,y)取最大值1。使r(x,y)取最大值的候選模版所在的行數(shù)即最小重復(fù)周期t。根據(jù)(L-t)×W參考圖像塊和相同大小的待檢測(cè)圖像塊,求出兩個(gè)圖像塊的差值圖像。 將差值圖像轉(zhuǎn)為二值圖像[9]并進(jìn)行形態(tài)學(xué)開操作。為了去除生產(chǎn)中左右偏移和拉伸的干擾,將差值圖像進(jìn)行固定閾值二值化。為了有效計(jì)算單獨(dú)的白色塊面積,對(duì)二值圖像進(jìn)行形態(tài)學(xué)開操作,即腐蝕和膨脹處理[10]。處理之后得到檢測(cè)結(jié)果圖像。 采用白色塊中白點(diǎn)(灰度值為255的像素)的個(gè)數(shù)等效描述白色塊的面積大小。如果白點(diǎn)的8鄰域中有其他白點(diǎn),則兩白點(diǎn)為同一白色塊。只要有白色塊的面積滿足瑕疵閾值,即為薄膜瑕疵。 3.4主控制器模塊 主控制器模塊負(fù)責(zé)控制圖像數(shù)據(jù)的輸入輸出、圖像在DDR中的暫存、流水線控制等過程,還包括了參數(shù)的配置控制。本模塊主要由有限狀態(tài)機(jī)構(gòu)成。三段式的狀態(tài)機(jī)由組合邏輯的狀態(tài)變化、時(shí)序邏輯的狀態(tài)切換及輸出邏輯組成。 為了提高瑕疵檢測(cè)處理流程中各個(gè)步驟的易控制性,將每個(gè)步驟都定義成3個(gè)狀態(tài),分別是“步驟x開始”、“步驟x等待”、“步驟x結(jié)束”。因此,主狀態(tài)機(jī)的狀態(tài)歸納為:空閑、初始化、圖像數(shù)據(jù)輸入輸出、圖像在DDR中的暫存、圖像瑕疵檢測(cè)流水線、顯示輸出等狀態(tài),主狀態(tài)圖如圖7所示。 圖7 主控制器狀態(tài)圖 為了驗(yàn)證系統(tǒng)的實(shí)時(shí)性以及檢測(cè)性能,采用3組不同花色的薄膜進(jìn)行實(shí)驗(yàn),每組2 000 m,其中分別有油污、蚊子、水印以及刀絲等瑕疵,為不合格薄膜產(chǎn)品。測(cè)試結(jié)果如圖8和圖9所示。 圖8 字跡污損和蚊子瑕疵 圖9 水印瑕疵和刀絲瑕疵 在3組薄膜產(chǎn)品的現(xiàn)場(chǎng)檢測(cè)實(shí)踐中,大于檢測(cè)閾值的瑕疵都能成功被檢測(cè)到。在薄膜瑕疵都能夠成功檢測(cè)出的條件下,薄膜瑕疵檢測(cè)速度達(dá)到300 m/min。因此,本文所設(shè)計(jì)的系統(tǒng)其檢測(cè)速度和檢測(cè)成功率都能夠滿足實(shí)際工業(yè)薄膜生產(chǎn)的需求。 本文通過分析薄膜瑕疵的圖像形態(tài),利用FPGA特有的高集成度、高速實(shí)時(shí)處理的特點(diǎn),設(shè)計(jì)了一種薄膜瑕疵檢測(cè)系統(tǒng)。設(shè)計(jì)了并行的圖像預(yù)處理功能以適應(yīng)更大幅寬的薄膜。將瑕疵檢測(cè)核心算法優(yōu)化為6級(jí)流水線結(jié)構(gòu),大大提高了資源利用率和并行度,在實(shí)踐中比傳統(tǒng)基于計(jì)算機(jī)的瑕疵檢測(cè)具有更低的硬件成本和更高的檢測(cè)速度,為大規(guī)模推廣提供了應(yīng)用參考。 [1] 樊向黨,林波,沈文和. 塑料薄膜表面疵點(diǎn)檢測(cè)及識(shí)別方法研究[J]. 工業(yè)控制計(jì)算機(jī), 2011, 24(5):74-75. [2] 鐘球盛,胡廣華,李靜蓉. 光學(xué)薄膜表面微細(xì)缺陷在線檢測(cè)方法研究[J]. 機(jī)械設(shè)計(jì)與制造, 2011(10):102-104. [3] 胡廣華,鐘球盛. 一種基于多目機(jī)器視覺的光學(xué)薄膜瑕疵檢測(cè)系統(tǒng)[J]. 機(jī)械設(shè)計(jì)與制造, 2012(4):162-164 [4] 焦文喆,翟正軍,任嵐昆.基于FPGA的圖像數(shù)據(jù)采集卡及其驅(qū)動(dòng)設(shè)計(jì) [J]. 國(guó)外電子測(cè)量技術(shù), 2010, 29(3):56-59. [5] 李長(zhǎng)莉,基于FPGA的CCD掃描缺陷檢測(cè)實(shí)時(shí)數(shù)據(jù)處理技術(shù)的研究[D]. 哈爾濱:哈爾濱理工大學(xué), 2008. [6] 溫杰,李錦明.基于FPGA的實(shí)時(shí)圖像邊沿檢測(cè)系統(tǒng)的實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用, 2015,41(10):65-67. [7] 許蓓蕾,莊奕琪,湯華蓮,等.基于對(duì)象的多級(jí)圖像增強(qiáng)法[J].計(jì)算機(jī)應(yīng)用, 2011,31(6):1556-1559. [8] 李杰,周浩,張晉,等.基于粒子群優(yōu)化的模版匹配跟蹤算法[J].計(jì)算機(jī)應(yīng)用, 2015, 35(9):2656-2660. [9] 陳強(qiáng),朱立新,夏德深.結(jié)合Canny算子的圖像二值化[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2005, 17(6):1302-1306. [10] 孫繼平,吳冰,劉曉陽.基于膨脹/腐蝕運(yùn)算的神經(jīng)網(wǎng)絡(luò)圖像預(yù)處理方法及其應(yīng)用研究[J].計(jì)算機(jī)學(xué)報(bào),2005,28(6):985-990. FPGA-based film defect detection Wang Hongsong,Li Jie (Shanghai Changliang Intelligent Technology Corporation Limited, Shanghai 201108, China) Focusing on problems that the breadth of film becomes longer and production rate becomes faster in the production of industrial film, a fast film defects inspection system design based on FPGA is proposed. Firstly, the minimum repetition period of film gray image is obtained by correlation coefficient method. Secondly, according to minimum repetition period, two images of contrast are worked out and then different image is figured out by these images. Lastly, in accordance with the area constraint, the positions of film defects are found out. The speed of image processing is developed dramatically by making the most of parallel processing of FPGA. The practical results show that this system can successfully detect the film defects that the area is only cover ten pixels in the production line which produces 300 meters of film per minutes. This system can meet the real-time requirements of film defects inspection, and the effect of inspection is better. machine vision; defect detection; FPGA; correlation coefficient; image matching TP391 A 10.19358/j.issn.1674- 7720.2016.16.014 2016-04-26) 王宏松(1975-),男,碩士,工程師,主要研究方向:機(jī)器視覺檢測(cè)技術(shù)、智能控制系統(tǒng)設(shè)計(jì)。 李杰(1989-),男,碩士研究生,主要研究方向:圖像處理、計(jì)算機(jī)視覺。4 實(shí)驗(yàn)結(jié)果與分析
5 結(jié)論