張 淼,歐幸福,唐雄民,陳文鳳
ZHANG Miao,OU Xingfu,TANG Xiongmin,CHEN Wenfeng
廣東工業大學 自動化學院,廣州 510006
School of Automation,Guangdong University of Technology,Guangzhou 510006,China
金屬拉鏈在生產過程中,常出現拉鏈鏈齒、拉頭和限位碼缺失等瑕疵。目前該產品的外觀質量檢測主要由人工方法完成。人工檢驗方法一方面,檢測效率低,成本高,工人勞動強度大;另一方面,人為因素影響很大,易造成員工疲勞,直接影響了產品檢驗的可靠性,產品品質的檢測穩定性較差、效率低,制約了拉鏈行業的發展。改進生產工藝,提高效率,降低產品的生產成本,實現產業技術的升級,成為行業發展的迫切需要。
目前數字圖像處理技術已被廣泛應用于生產過程中,將數字圖像處理技術應用到金屬拉鏈外觀質量檢測領域也得到國內外研究人員的廣泛關注。現今采用圖像處理對金屬拉鏈進行缺陷檢測的研究,主要集中在金屬拉鏈齒數檢測方面[1-2],對金屬拉鏈外觀質量檢測的研究較少。
如何提取拉鏈特征圖像是拉鏈外觀質量檢測系統的關鍵,傳統的圖像分割算法如OTSU法和直方圖法依賴于灰度統計,忽略像素的空間關系,容易造成圖像信息丟失,拉鏈特征圖像提取效果較差。PCNN網絡是一種模擬動物大腦視覺皮層的同步發放脈沖特性的人工神經元模型,具有良好的尺度、旋轉、變形和強度不變性的特征,因而被廣泛運用于圖像處理領域。如文獻[3]采用改進型PCNN實現對織物疵點檢測,文獻[4]運用改進型PCNN實現智能燈檢機的研制,文獻[5]將PCNN與最大相關準則結合運用于圖像分割的研究,文獻[6]應用PCNN實現對刀具磨損的檢測等,實踐證明運用PCNN實現圖像二值分割,明顯優于傳統方法。而國內外將PCNN運用于金屬拉鏈缺陷的外觀質量檢測的研究尚未見報道。
針對金屬拉鏈的特點和PCNN網絡的工作機理,本文在傳統神經網路的基礎上提出一種改進型PCNN模型和灰度躍變檢測相結合的圖像處理方法,實現對拉鏈外觀質量檢驗。利用PCNN的同步脈沖發放特性分割獲得鏈齒圖像,并結合PCNN的形態學運用提取拉頭和限位碼圖像,建立金屬拉鏈的判別模型,運用區域像素統計與灰度躍變檢測的方法實現對拉鏈外觀質量的鑒別。實驗結果表明該方法是可行的。
由Eckhorn提出的PCNN網絡模型是由若干神經元相互連接組成的單層反饋型網絡,單個神經元模型由接收域、耦合調制域和脈沖發生器三個功能單元構成[7-8],如圖1所示。

圖1 PCNN模型結構
PCNN數學模型為:

其中,i、j下標為神經元的標號,n為迭代次數,Iij為神經元的外部刺激,Fij[n]是第[i,j]個神經元的反饋輸入,Lij[n]為連接輸入項,Eij[n]為動態閾值函數,VF、VL、VE分別是 Fij[n]、Lij[n]、Eij[n]的放大系數,αF、αL、αE為相應的衰減時間常數,滿足αF<αE<αL,β為連接系數,W 和M 是鏈接權重矩陣,Yij[n]為神經元第n次輸出結果。
PCNN運用于圖像處理時,將PCNN網絡中的神經元與圖像像素分別對應,初始時刻將Fij[0]、Lij[0]、Eij[0]、Yij[0]均設置為0,所有神經元Nij沒有輸入,神經元之間未建立耦合關系,動態閾值為0。網絡進行迭代時,像素的灰度值 Iij作為神經元 Nij的反饋輸入Fij[1],Lij[1]仍然為0,Uij[1]=Iij>Eij[1]=0,輸出 Yij[1]=1,該神經元發生自然點火。一旦神經元點火,其動態閾值Eij[n]將急劇增大,并以時間指數衰減,脈沖產生器關閉,不發出脈沖。當閾值Eij[n]小于Uij[n]時,脈沖產生器啟動,神經元再次被點火,輸出結果Yij[n]為1[9]。
金屬拉鏈由布帶、鏈齒、拉頭、限位碼構成,其中鏈齒、拉頭和限位碼為金屬材料,金屬材料與拉鏈布帶、背景三者顏色反差較大。缺陷類型主要有鏈齒缺失、間隔不均,拉頭、左右限位碼缺失等,如圖2所示。

圖2 合格拉鏈產品圖
上述金屬拉鏈圖像不同材質之間灰度相差較大,金屬部分各像素之間灰度性質相近,運用PCNN的同步脈沖發放特性能很好地分割目標圖像。但傳統PCNN模型一方面過于復雜,需要設置的相關參數過多,另一方面計算量較大,速度慢,難以滿足拉鏈檢測過程的需要。針對上述特點,本文對PCNN模型進行簡化。簡化原則是減少模型參數且保持模型實現圖像分割的三個重要特性:(1)連接域特性,性質相近的神經元集群可輸出同步脈沖;(2)內部活動項由反饋輸入和鏈接輸入經過調制產生,調節連接強度可調節神經元與其領域內神經元的影響強度;(3)閾值函數具有動態衰減特性,是神經元產生動態脈沖的根本原因。
因此,在實際系統中,神經元的反饋輸入Fij[n]為拉鏈圖像像素的灰度值Iij,連接輸入Lij[n]為鄰近神經元的脈沖輸出值直接加權求和,忽略神經元上次迭代的連接輸入Lij[n-1]的影響,內部活動項Uij[n]保持不變,ξ為 -100至10的常數,可對神經元點火條件進行微調。改進型模型如圖3所示。

圖3 改進型PCNN模型圖
改進型PCNN數學模型如下:

PCNN分割圖像,通常灰度值較大的鏈齒部位像素對應的神經元先點火,發出脈沖信號。神經元的點火導致鄰近具有相似灰度值的像素相對應的神經元捕獲點火;鄰近神經元的點火又捕獲其周圍性質相似的神經元點火,通過這種捕獲點火的傳播,使該區域內像素點灰度值相似的神經元集群發出同步脈沖。利用PCNN脈沖的這種傳播特性即可實現圖像的分割[10]。
通常拉頭和左右限位碼的像素面積要遠大于普通鏈齒的像素面積,因而可運用PCNN的自動波特性模擬形態學的腐蝕膨脹操作,在纖細點分離拉鏈的鏈齒,腐蝕像素面積較小的普通鏈齒部分,保留面積較大的拉頭和左右限位碼,并去除干擾噪聲,最后運用膨脹操作還原拉頭和左右限位碼的原始大小和形狀。
將圖像進行灰度反轉運算,背景區域對應的神經元最先點火,通過捕獲點火使得目標區域的神經元點火,并保持點火狀態,發放出脈沖,隨著迭代持續脈沖在整幅圖像中依次并行向外傳播,目標不斷收縮。將僅保留拉頭和左右限位碼的結果圖像進行反轉運算,實現對鏈齒的腐蝕操作。在此基礎上,利用相似方法實現拉頭和限位碼的輪廓和面積還原[11-12]。
針對拉鏈特點,本文采用計算區域像素面積和形心來完成拉頭和限位碼缺失檢測和定位。根據拉頭、限位碼在視野區域中的位置在圖像中設置三個檢測區域,分別計算拉頭和左右限位碼相應區域內的像素面積,根據各個區域的像素面積是否大于預設閾值,判斷相應區域內是否存在相應部件。通過區域形心計算得到拉頭和左右限位碼的坐標。計算公式如下:

其中x、y分別為像素坐標值,A為圖像像素點的個數。
根據垂直于邊緣方向的像素值變化劇烈的原理,可通過檢測沿拉鏈水平方向的像素灰度值躍變程度來確定邊緣位置,進而確定每個鏈齒的準確坐標。
邊緣的灰度躍變程度可用變化梯度來描述,拉鏈圖像函數 f(x,y)的變化梯度可表示為:

針對鏈齒沿邊緣方向的圖像灰度變化較小和圖像離散性的特點,取Gy=0,式(12)可簡化為:

其中 Ii,j為 [i,j]處像素的灰度值。
根據上述拉頭和左限位碼的區域形心定位獲得的精確坐標,以左限位碼為起始點,拉頭為終止點設置掃描基準,沿掃描基準遍歷所有像素,用后一像素的灰度值減去前一像素的灰度值 ΔIi=Ii+1,j-Ii,j,得到灰度變化程度ΔIi,若ΔIi大于預設閾值T,則該像素[i,j]處發生灰度值躍變,該點為鏈齒邊緣,記錄其坐標值;計算兩個相鄰邊緣點的距離Di,通過判斷Di是否大于預設閾值T實現對鏈齒缺陷檢測。開叉部分的鏈齒缺陷方法類似。鏈齒灰度躍變檢測算法原理如圖4所示。

圖4 鏈齒缺陷檢測原理圖
其中i為掃描基準上各像素點的灰度,i′為灰度變化程度。
金屬拉鏈缺陷檢測算法包括對上述缺陷類型的檢測,算法流程圖如圖5所示。具體步驟如下:
(1)從圖像傳感器中獲取拉鏈圖像,進行預處理;
(2)運用改進型PCNN算法對圖像進行分割,提取鏈齒圖像并進行灰度線性轉換;
(3)利用PCNN對鏈齒圖像進行腐蝕膨脹操作,腐蝕普通鏈齒部分,去除干擾噪聲,保留拉頭和左右限位碼;
(4)分別統計計算拉頭、左右限位碼區域內的斑點面積和形心坐標;
(5)判斷三個區域的斑點面積是否小于預設閾值,若是則輸出相關部件的缺陷信號;
(6)由拉頭和左限位碼的坐標關系,將圖像旋轉至水平;
(7)設置檢測基準和方向,分別對鏈齒的拉合和開叉部分進行灰度躍變檢測,獲取鏈齒邊緣坐標,根據兩個相鄰鏈齒邊緣的間隔距離判斷是否存在缺陷。

圖5 檢測算法流程
針對上述拉鏈缺陷的檢測方法和拉鏈生產線的工作特點,本文設計了金屬拉鏈產品的在線缺陷檢測系統。運用CCD工業相機獲取生產線上每條拉鏈的灰度圖像,使用上述圖像處理技術和缺陷識別算法對產品進行檢驗,并向后續分揀機構輸出相應操作指令。
硬件平臺主要包括:定位傳感器、圖像傳感器、光源密閉箱、傳送皮帶、分揀裝置、PLC控制單元和工控機。其中圖像傳感器采用德國映美精公司的DMK21-AU04面陣式CCD工業相機,分辨率為640×480,配備9 mm的Computar鏡頭,背景光源裝置使用奧普特OPT-LI29026白色條形光源,PLC使用三菱公司的FX1S-10MT-001,顯示平臺為Visual Studio 2008。CCD工業相機通過USB2.0接口與工控機連接。金屬拉鏈缺陷檢測系統硬件設計構成框圖如圖6所示。

圖6 檢測系統結構
PCNN中神經元只與歐氏距離小于等于3的相鄰神經元鏈接,連接權由W 和M 決定,W、M 的大小和結構影響自動波的傳播速度、方向和波陣面的形態;參數β的大小決定神經元與其領域內神經元的影響強度,使用較小的β可分割獲取包含圖像細節的二值圖,而選取較大的β能得到圖像輪廓的二值圖;參數ξ能對閾值進行微調,較小的值能使分割的結果圖像細節更加豐富,鏈齒更加完整,但容易被背景環境噪聲干擾。顯然,網絡中的參數直接確定了系統的工作性能。
取曝光時間為920 μs,采用上述改進型PCNN對獲得拉鏈圖像進行二值分割。其中加權參數向量W=[0.707 1 0.707;1 0 1;0.707 1 0.707],迭代次數 n=2;PCNN的其他參數通過遺傳算法來獲取。遺傳算法采用8位二進制數編碼,參數設置如下:總代數為50,種群數為20,交叉率為0.65,變異率為0.01;適用度函數采用圖像信息熵函數法[13],表達式如下:

其中 p0、p1分別為輸出序列Yij[n]中灰度為0、1的概率。
在主頻2.59 GHz,內存2 GB的PC機上,運用Matlab7.0平臺對算法進行多次實驗,算法通常在進化到四至五代可獲取最佳分割效果圖。獲取的PCNN參數如下:β=0.2,αE=0.1,ξ=5。二值分割后的結果如圖7(b)所示。

圖7 原始圖像及二值分割圖
而采用傳統的直方圖法和OTSU法來分割金屬拉鏈圖,人工選擇灰度直方圖的雙峰之間的谷底灰度值作為最佳分割閾值,大小為161,OTSU算法自動獲取的閾值為0.481 2(即128),分割結果如圖8所示。

圖8 由傳統分割算法獲得的二值圖
使用傳統的直方圖分割法和采用計算類間方差的OTSU法,閾值的確定主要依賴于灰度直方圖,忽略像素的空間位置關系,容易受背景噪聲干擾,均不能準確分割出鏈齒部分;而基于改進型PCNN的二值分割算法能夠更好地區分圖像的背景和目標對象。由圖7和圖8對比可知,基于改進型PCNN的二值分割算法分割效果明顯優于傳統的閾值分割方法。
在圖7的基礎上,運用PCNN對圖像進行腐蝕膨脹運算,腐蝕掉普通鏈齒部分,去除干擾噪聲,結果如圖9(a)所示,然后進行膨脹運算,恢復拉頭和左右限位碼的原始形狀,提取得到拉頭和左右限位碼的目標圖像,結果如圖9(b)所示。具體參數如下:W=M=[1 1 1;1 1 1;1 1 1];VL=1;VF=0.01;VE=0.02;β=0.5;αE=0.1;αF=5;αL=2;迭代次數 n=3。

圖9 由PCNN腐蝕、膨脹后的圖像
使用半徑為3和4的平面圓盤形結構元素分別對鏈齒圖像進行腐蝕運算,提取拉頭和左右限位碼,處理結果如圖10所示。

圖10 由傳統數學形態學的腐蝕結果圖
由圖10(a)可知,拉鏈拉合部分鏈齒沒有被完全腐蝕,而圖10(b)中右限位碼被完全腐蝕。與PCNN處理結果相比,傳統數學形態學的腐蝕算法是以結構元素集合運算為基礎,處理結果取決于結構元素。結構元素選擇不合理會導致上述缺點,而利用PCNN的自動波特性模擬腐蝕運算能有效提取目標。
對上述運算結果圖9(b)進行區域像素面積和形心計算,分別統計三個目標區域內的像素數量,結果分別為157、725和34,均大于預設閾值100、400和10,得到左限位碼坐標為(188,262)、拉頭坐標為(359,252)和右限位碼坐標為(480,216),左限位碼、拉頭與水平軸的夾角為3.35°,以拉頭為旋轉中心將圖7(b)順時針旋轉3.35°至水平位置。若目標區域不存在拉頭或左右限位碼,則該產品為次品,如圖11所示。

圖11 限位碼、拉頭缺陷檢測圖
在限位碼和拉頭確認的基礎上,對圖7(b)運用灰度躍變的方法來獲取拉合部分的鏈齒邊緣坐標,記錄鏈齒個數為20個,并計算每兩個鏈齒的間隔距離,其中相鄰兩個鏈齒間隔距離為6、7和8個像素的數量分別為11、7和1,按照設計要求設定間隔距離閾值為10個像素,則說明該拉鏈拉合部分不存在缺陷情況。圖12下圖為沿掃描基準的灰度變化及灰度變化導數圖。

圖12 拉合部分鏈齒缺陷檢測
其中直線為閾值,淺色曲線為沿掃描線上像素灰度變化曲線,灰度值范圍是0至255,深色曲線為灰度導數曲線,導數范圍是0至1,其數值放大255倍后變化范圍為0至255,下同。
同理得到鏈齒開叉部分的檢測情況,檢測到鏈齒個數為16個,間隔距離為6、7和8的數量分別為8、6、1,則不存在缺陷情況,如圖13所示。使用相似方法完成其余鏈齒部分的檢測,根據全部檢測結果,判定該金屬拉鏈產品為合格產品。

圖13 開叉部分鏈齒缺陷檢測
拉合部分缺齒情況檢測如圖14所示,經上述算法檢測,拉頭和左右限位碼均存在,檢測到鏈齒個數為22個,兩個相鄰鏈齒最大間隔距離為13,大于預設閾值10,則該產品為次品。

圖14 拉鏈拉合部分鏈齒缺陷檢測
同理開叉部分缺齒檢測情況如圖15所示,圖中出現兩個相鄰鏈齒間隔距離為14,大于預設閾值10,因而認定該產品為次品。

圖15 拉鏈開叉部分鏈齒缺陷檢測
通過對2 000條金屬拉鏈進行檢驗,可得產品檢驗的出錯率為0.5%,所出現的錯判現象全部為合格產品被誤判為次品,系統可滿足生產的需要。
本文根據金屬拉鏈特點提出了一種基于改進型PCNN的金屬拉鏈缺陷檢測方法,利用改進型PCNN獲取金屬拉鏈的二值分割圖,提高系統速度,通過PCNN的數學形態學運用完成對拉頭和限位碼的提取,根據鏈齒灰度躍變的特性完成鏈齒缺陷檢測。并設計了金屬拉鏈自動檢測系統,解決了現有人工檢測方法存在的穩定性差、效率低和不能持久工作等問題,實現了金屬拉鏈缺陷的在線檢測。從實驗結果來看,該方法能有效實現對金屬拉鏈的檢測,滿足生產的需求。
[1]程西云,張婕敏.圖像處理技術在拉鏈齒數檢測中的研究[J].汕頭大學學報:自然科學版,2006,21(1):65-69.
[2]楊智勇,周琪云,周定康.基于PCNN的灰度圖像邊緣檢測方法[J].計算機工程與應用,2004,40(21):92-93.
[3]宋寅卯,袁端磊,盧易楓,等.基于最優PCNN模型的織物疵點自動檢測[J].儀器儀表學報,2008,29(4):888-891.
[4]葛繼,王耀南,張輝,等.基于改進型PCNN的智能燈檢測機研究[J].儀器儀表學報,2009,30(9):1866-1873.
[5]聶仁燦,李莎,聶彩仁.脈沖耦合神經網絡與最大相關準則的圖像分割[J].計算機工程與應用,2009,45(35):202-204.
[6]李鵬陽,郝重陽,祝雙武,等.基于脈沖耦合神經網絡的刀具磨損檢測[J].中國機械工程,2008,19(5):547-550.
[7]Eckhorn R,Reitboeck H J,Ardnt M.Feature linking via synchronization among distributed assemblies:simulation of results from cat visual cortex[J].Neural Computation,1990,2(3):293-307.
[8]Kuntimad G,Ranganath H S.Perfect image segmentation using Pulse Coupled Neural Networks[J].IEEE Transactions on Neural Networks,1999,10(3):591-598.
[9]黃傳明,方千山.脈沖耦合神經網絡在圖像處理中的應用[J].儀器儀表學報,2006,27(S3):2143-2144.
[10]Ma Yide,Dai Ruolang,Li Lian.A counting and segmentation method of blood cell image with logical and morphological feature of cell[J].Chinese Journal of Electronics,2002,11(1):53-55.
[11]Su Maojun,Wang Zhaobin,Zhang Hongjuan,et al.A new method for blood cell image segmentation and counting based on PCNN and its autowave[C]//2008 IEEE 3rd International Symposium on Communications,Control and Signal Processing,2008:6-9.
[12]Li Bailiang,Xu Dacheng.Binary fingerprint image thinning using template-based PCNN[J].IEEE Transactions on Systems,Man,and Cybernetics,2007,37(5):1407-1413.
[13]馬義德,戴若蘭,李廉.一種基于脈沖耦合神經網絡和圖像熵的自動圖像分割方法[J].通信學報,2002,23(1):1-4.