王宏松,李杰
?。ㄉ虾3A贾悄芸萍加邢薰?,上海 201108)
摘要:針對現(xiàn)今工業(yè)薄膜生產(chǎn)過程中薄膜幅寬更大且生產(chǎn)更快的問題,提出一種基于FPGA的快速薄膜瑕疵檢測系統(tǒng)方案。系統(tǒng)首先采用相關(guān)系數(shù)法準確求出薄膜灰度圖像的最小重復周期,根據(jù)最小重復周期確定兩個比對圖像塊并求出差值圖像,其次將差值圖像二值化再進行形態(tài)學處理,最后經(jīng)過面積約束條件找出薄膜瑕疵所在位置。其中充分利用FPGA并行處理的優(yōu)勢,提高了圖像處理的速度。實踐結(jié)果表明,該系統(tǒng)能夠在300 m/min的薄膜生產(chǎn)線上成功檢測出瑕疵面積僅10個像素的瑕疵,在滿足實時薄膜瑕疵檢測的需求方面具有實際應(yīng)用效果。
關(guān)鍵詞:機器視覺;瑕疵檢測;FPGA;相關(guān)系數(shù);圖像匹配
0引言
現(xiàn)代薄膜被大量地用于生產(chǎn)生活。在薄膜的生產(chǎn)過程中,由于生產(chǎn)工藝及現(xiàn)場環(huán)境等因素影響,容易造成薄膜表面出現(xiàn)墨點、劃傷、破洞、褶皺、蚊蟲等瑕疵。為了在生產(chǎn)過程中及時檢出薄膜表面的各種瑕疵,控制和提高薄膜產(chǎn)品的質(zhì)量,企業(yè)從傳統(tǒng)的人工目視抽檢逐漸發(fā)展為使用基于計算機軟件的在線瑕疵檢測系統(tǒng)[12]。隨著薄膜表面檢測質(zhì)量要求的日益提高,以及幅寬更寬、生產(chǎn)速度更快等更為嚴格的工藝要求出現(xiàn),單純依靠軟件來實現(xiàn)瑕疵檢測已經(jīng)不能滿足實際工程的需要[3]。
本文采用現(xiàn)場可編程門陣列(Field-Programmable Gate Array,F(xiàn)PGA)作為瑕疵檢測的核心處理單元,設(shè)計并實現(xiàn)了一種實時的瑕疵檢測系統(tǒng)。該系統(tǒng)具有檢測速度快、穩(wěn)定性好并容易配置新瑕疵種類等優(yōu)點,可大大提高生產(chǎn)效率和降低制造成本。
1薄膜瑕疵檢測系統(tǒng)
目前薄膜瑕疵檢測系統(tǒng)大多采用工業(yè)計算機、線掃描相機、旋轉(zhuǎn)編碼器和線型光源的方案。在生產(chǎn)時,由高亮LED組成的線型聚光冷光源采用透射或反射的方式照射在薄膜表面,通過與薄膜運行同步的旋轉(zhuǎn)編碼器觸發(fā),使架設(shè)在生產(chǎn)線上的線掃描相機同步掃描,將相機采集到的薄膜圖像通過工業(yè)計算機上的采集卡實時傳送給圖像處理系統(tǒng)軟件進行瑕疵識別處理。由于瑕疵圖像的灰階分布與正常圖像的灰階分布存在明顯差異,從而使系統(tǒng)能夠發(fā)現(xiàn)瑕疵,同時對瑕疵進行有效的判定、分類及后續(xù)處理。
在實際生產(chǎn)中,對于幅面較寬的薄膜,可以采用多個線掃描相機并行采集圖像,同時傳送給工業(yè)計算機的方式。然而隨著幅寬增寬,生產(chǎn)運行速度更快,單位時間內(nèi)采集得到的圖像數(shù)據(jù)量更大,目前常見的基于軟件的圖像處理方式越來越不能滿足實時性的要求。本文設(shè)計了一種基于FPGA的薄膜瑕疵檢測系統(tǒng),將主要的圖像瑕疵識別和處理交給以FPGA為核心的圖像處理單元,處理結(jié)果傳送給工業(yè)計算機,這樣可以更好地適應(yīng)高速、高質(zhì)量生產(chǎn)的要求。圖3FPGA及主要接口電路
2系統(tǒng)硬件設(shè)計
系統(tǒng)硬件由光源單元和圖像處理單元兩部分組成。光源單元包括LED線型光源和光源控制器,圖像處理單元則由線掃描相機、FPGA圖像處理板以及旋轉(zhuǎn)編碼器組成??傮w框圖如圖1所示。
2.1光源單元電路
光源采用高亮大功率LED組成線陣分布,由光源控制器產(chǎn)生PWM信號,通過高速雙金屬氧化物場效應(yīng)三極管(Metal Oxide Semiconductor Field Effect Transistor,MOSFET)驅(qū)動器芯片MC34151放大,驅(qū)動線型光源發(fā)光。LED在電路結(jié)構(gòu)上采用串并式排列,每一路串聯(lián)LED電路由一路PWM信號驅(qū)動,光源控制器可以輸出多個獨立的PWM信號,分別驅(qū)動多路LED電路。當需要調(diào)節(jié)線型光源不同位置的亮度時,只需獨立調(diào)整相應(yīng)位置對應(yīng)的LED串聯(lián)電路的PWM信號即可。PWM信號驅(qū)動電路如圖2所示。
2.2圖像處理單元電路
圖像處理單元的核心采用ALTERA公司的Cyclone III系列FPGA,該系列FPGA采用TSMC的65 nm低功耗(Low Power,LP)工藝,提供豐富的邏輯、存儲器和數(shù)字信號處理器(Digital Signal Processor,DSP)功能,含有5 K~120 K邏輯單元(Logical Element,LE),288個數(shù)字信號處理(DSP)乘法器,存儲器容量達到4 Mbit。Cyclone III器件針對圖像處理應(yīng)用進行了優(yōu)化,采用專業(yè)顯示I/O接口低電壓差分信號[4](LowVoltage Differential Signaling,LVDS),包括低擺幅差分信號和點對點差分信號,每個鎖相環(huán)(Phase Locked Loop,PLL)可動態(tài)配置,支持可變刷新率,以增強提高圖像處理功能和質(zhì)量。
圖像處理單元的主要電路包括FPGA集成電路、圖像數(shù)據(jù)輸入電路、DDR存儲器控制電路、圖像輸出接口電路等,其中Cyclone III FPGA及主要I/O接口電路如圖3所示。
3瑕疵檢測算法
薄膜瑕疵檢測算法流程如圖4所示。首先將采集到的長L寬W的原始薄膜圖像進行預(yù)處理,其中包括彩色圖像灰度化處理和對比度拉伸處理;其次,通過相關(guān)系數(shù)法求出薄膜圖片的最小重復周期t并獲得(L-t)×W參考圖像塊和相同大小的待檢測圖像塊,求出兩個圖像塊的差值圖像。之后將差值圖像轉(zhuǎn)為二值圖像并進行形態(tài)學處理操作,獲得檢測結(jié)果圖像。最后,在檢測結(jié)果圖像中,當其中有白色塊的面積大于所設(shè)定的閾值w時,則該白色塊為薄膜瑕疵。
3.1模塊劃分
根據(jù)上述檢測算法流程,F(xiàn)PGA中應(yīng)主要包含圖像預(yù)處理[5]、檢測核心算法、存儲控制器和主控制器等功能模塊,如表1所示。表1模塊劃分模塊名稱功能主控制器負責器件整體功能的控制圖像預(yù)處理包括圖像格式轉(zhuǎn)換、對比度拉伸檢測核心算法對圖像計算相關(guān)系數(shù)、形態(tài)學處理等存儲控制器對存儲器進行讀寫控制,以實現(xiàn)圖像數(shù)據(jù)的暫存和更新其他模塊I/O接口(數(shù)據(jù)、控制信號等)、顯示輸出等
根據(jù)前述瑕疵檢測處理流程,整個圖像處理采用并行加流水線結(jié)構(gòu),分為8個步驟,對應(yīng)8個子模塊,如圖5所示。其中圖像預(yù)處理包括灰度變換、對比度拉伸,分別采用并行處理結(jié)構(gòu),以保證實時性;瑕疵檢測在圖像分塊的基礎(chǔ)上采用6級流水線,包括相關(guān)系數(shù)計算、差值處理、形態(tài)學處理、面積約束、瑕疵標記和圖像拼接顯示,在時間上重疊復用各級流水線模塊,進一步增加了處理的并行度,大大縮短了圖像處理的時間。
3.2圖像預(yù)處理
在圖像的采集和預(yù)處理過程中,需要改善圖像的質(zhì)量,增強有用信息。本系統(tǒng)中用到了彩色圖像灰度化處理和對比度拉伸處理。其中,圖像灰度化處理能夠減少后續(xù)圖像處理的運算量,減少FPGA硬件的面積,從而降低應(yīng)用成本。本系統(tǒng)采用加權(quán)平均法對圖像進行灰度化處理[6],其原理較為簡單,不再贅述。典型數(shù)學表達式及實際應(yīng)用公式如式(1)、(2)所示:
圖像對比度拉伸[8]是一種簡單且非常有效的空域增強方法。通過實驗發(fā)現(xiàn),在原始薄膜圖像的灰度圖像上進行恰當?shù)膶Ρ榷壤焓且环N很好的圖像增強方式,可有效地增強薄膜瑕疵圖像,提高薄膜瑕疵檢測的精度。該方法由兩個基本步驟組成:(1)直方圖統(tǒng)計,通過設(shè)定直方圖兩端的像素個數(shù)和占整個圖像像素個數(shù)的百分比來確定兩個端點a1和a2,灰度值小于a1的更改為0,灰度值大于a2的更改為255,本系統(tǒng)將這里的占比設(shè)定為0.005。(2)灰度值映射,在直方圖中,兩個端點之前的像素灰度值根據(jù)式(3)進行像素灰度值的映射。映射原理是將原圖的灰度函數(shù)由一個變換規(guī)則映射成新的圖像函數(shù),即:
其中f(x, y)為原圖的灰度函數(shù),g(x, y)為增強后的灰度函數(shù),N為變換規(guī)則,即將a1~a2之間的像素灰度值按線性關(guān)系一一映射到0~255之間。
3.3核心檢測算法
核心檢測算法流程如圖6所示。
待檢測圖片經(jīng)預(yù)處理后獲得算法處理圖像。薄膜為固定周期的重復印刷制品。計算出薄膜的最小重復周期t。在L×W的算法處理圖像中,從首行開始選取T×W(其中T<L)的感興趣區(qū)域作為目標模版T(a, b),再從第二行開始每隔一行確定一個T×W的感興趣區(qū)域作為候選模版G(x+a,y+b),選取若干個候選模版。
本文采用去均值的歸一化相關(guān)函數(shù)(式(4))來判斷兩個模版的相似程度:
r(x,y)=
當目標模版T(a,b)和候選模版G(x+a,y+b)完全一樣時,相關(guān)系數(shù)r(x,y)取最大值1。使r(x,y)取最大值的候選模版所在的行數(shù)即最小重復周期t。根據(jù)(L-t)×W參考圖像塊和相同大小的待檢測圖像塊,求出兩個圖像塊的差值圖像。
將差值圖像轉(zhuǎn)為二值圖像[9]并進行形態(tài)學開操作。為了去除生產(chǎn)中左右偏移和拉伸的干擾,將差值圖像進行固定閾值二值化。為了有效計算單獨的白色塊面積,對二值圖像進行形態(tài)學開操作,即腐蝕和膨脹處理[10]。處理之后得到檢測結(jié)果圖像。
采用白色塊中白點(灰度值為255的像素)的個數(shù)等效描述白色塊的面積大小。如果白點的8鄰域中有其他白點,則兩白點為同一白色塊。只要有白色塊的面積滿足瑕疵閾值,即為薄膜瑕疵。
3.4主控制器模塊
主控制器模塊負責控制圖像數(shù)據(jù)的輸入輸出、圖像在DDR中的暫存、流水線控制等過程,還包括了參數(shù)的配置控制。本模塊主要由有限狀態(tài)機構(gòu)成。三段式的狀態(tài)機由組合邏輯的狀態(tài)變化、時序邏輯的狀態(tài)切換及輸出邏輯組成。
為了提高瑕疵檢測處理流程中各個步驟的易控制性,將每個步驟都定義成3個狀態(tài),分別是“步驟x開始”、“步驟x等待”、“步驟x結(jié)束”。因此,主狀態(tài)機的狀態(tài)歸納為:空閑、初始化、圖像數(shù)據(jù)輸入輸出、圖像在DDR中的暫存、圖像瑕疵檢測流水線、顯示輸出等狀態(tài),主狀態(tài)圖如圖7所示。
4實驗結(jié)果與分析
為了驗證系統(tǒng)的實時性以及檢測性能,采用3組不同花色的薄膜進行實驗,每組2 000 m,其中分別有油污、蚊子、水印以及刀絲等瑕疵,為不合格薄膜產(chǎn)品。測試結(jié)果如圖8和圖9所示。
在3組薄膜產(chǎn)品的現(xiàn)場檢測實踐中,大于檢測閾值的瑕疵都能成功被檢測到。在薄膜瑕疵都能夠成功檢測出的條件下,薄膜瑕疵檢測速度達到300 m/min。因此,本文所設(shè)計的系統(tǒng)其檢測速度和檢測成功率都能夠滿足實際工業(yè)薄膜生產(chǎn)的需求。
5結(jié)論
本文通過分析薄膜瑕疵的圖像形態(tài),利用FPGA特有的高集成度、高速實時處理的特點,設(shè)計了一種薄膜瑕疵檢測系統(tǒng)。設(shè)計了并行的圖像預(yù)處理功能以適應(yīng)更大幅寬的薄膜。將瑕疵檢測核心算法優(yōu)化為6級流水線結(jié)構(gòu),大大提高了資源利用率和并行度,在實踐中比傳統(tǒng)基于計算機的瑕疵檢測具有更低的硬件成本和更高的檢測速度,為大規(guī)模推廣提供了應(yīng)用參考。
參考文獻
?。?] 樊向黨,林波,沈文和. 塑料薄膜表面疵點檢測及識別方法研究[J]. 工業(yè)控制計算機, 2011, 24(5):7475.
?。?] 鐘球盛,胡廣華,李靜蓉. 光學薄膜表面微細缺陷在線檢測方法研究[J]. 機械設(shè)計與制造, 2011(10):102104.
[3] 胡廣華,鐘球盛. 一種基于多目機器視覺的光學薄膜瑕疵檢測系統(tǒng)[J]. 機械設(shè)計與制造, 2012(4):162164
[4] 焦文喆,翟正軍,任嵐昆.基于FPGA的圖像數(shù)據(jù)采集卡及其驅(qū)動設(shè)計 [J]. 國外電子測量技術(shù), 2010, 29(3):5659.
[5] 李長莉,基于FPGA的CCD掃描缺陷檢測實時數(shù)據(jù)處理技術(shù)的研究[D]. 哈爾濱:哈爾濱理工大學, 2008.
?。?] 溫杰,李錦明.基于FPGA的實時圖像邊沿檢測系統(tǒng)的實現(xiàn)[J].電子技術(shù)應(yīng)用, 2015,41(10):6567.
?。?] 許蓓蕾,莊奕琪,湯華蓮,等.基于對象的多級圖像增強法[J].計算機應(yīng)用, 2011,31(6):15561559.
?。?] 李杰,周浩,張晉,等.基于粒子群優(yōu)化的模版匹配跟蹤算法[J].計算機應(yīng)用, 2015, 35(9):26562660.
?。?] 陳強,朱立新,夏德深.結(jié)合Canny算子的圖像二值化[J].計算機輔助設(shè)計與圖形學學報,2005, 17(6):13021306.
?。?0] 孫繼平,吳冰,劉曉陽.基于膨脹/腐蝕運算的神經(jīng)網(wǎng)絡(luò)圖像預(yù)處理方法及其應(yīng)用研究[J].計算機學報,2005,28(6):985990.