金順楠,周迪斌,朱江萍
(杭州師范大學 信息科學與工程學院,杭州 311121)
多孔材料,一種由相互交疊貫通的密集孔洞網絡所構成的新型材料,隨著制備方法研究的深入,它成為了近年來新材料的研究熱點.因其表面特殊的密集孔洞結構,使其具有高比表面積、高空隙率、高透過性、高吸附性、可組裝性等諸多優(yōu)異的物理化學性能,因此被廣泛應用于化工、生物醫(yī)學、環(huán)保、功能材料等領域[1].當多孔材料應用于工程結構上時,需對其構件本身的缺陷、強度、剛度等性能進行研究,以便能更好地應用.由于加工工藝以及生產過程中各種不確定因素的影響,多孔材料會存在多種缺陷,例如:孔洞阻塞、孔洞缺失、裂紋和凹痕等,這些缺陷會對多孔材料的性能產生很大的影響,出廠前必須將這些存在缺陷的廢品進行識別挑揀.
目前大多數的生產流水線仍在采用人工目測的方法來進行缺陷品的檢測,人工檢測需要消耗大量勞動力、檢測效率低,且易出現(xiàn)漏檢、誤檢等問題,材料的一致性標準難以保證.漏檢的不合格產品若流入市場,不僅會給企業(yè)帶來經濟損失,還會給用戶的使用帶來影響.隨著現(xiàn)代自動化制造業(yè)的發(fā)展,如何快速高效且準確地檢測到多孔材料的缺陷,成為企業(yè)品質提升急需解決的問題.
機器視覺是人工智能飛速發(fā)展的一個分支,被廣泛應用于生產制造檢測等工業(yè)領域.該技術利用機器來模擬生物的視覺功能,并通過計算機的高速運算來實現(xiàn)圖像的識別處理.在大批量且重復性強的工業(yè)生產過程中,相對于傳統(tǒng)人工檢測的方法,利用機器視覺來進行檢測,不僅能有效提高檢測的效率,且檢測精度、穩(wěn)定性也更高.
近年來,研究者們提出了許多利用機器視覺對工業(yè)產品進行缺陷檢測的方案[2].閾值法運行速度快,是工業(yè)上常用的缺陷分割方法,但應用在紋理背景復雜的多孔材料圖像上,很難將目標區(qū)域從背景中完整提取,檢測結果的可靠性低.文獻[3]采用最大類間方差法進行缺陷分割,并利用歐式距離聚類實現(xiàn)了缺陷的定位.在實際運用中,大量的聚類計算會降低算法的運算效率,難以滿足工業(yè)生產實時檢測的需求.文獻[4]提出一種基于傅里葉重構法的缺陷檢測方法,通過分離并保留圖像中的低頻傅里葉分量實現(xiàn)了缺陷的定位.該方法不依賴于紋理的局部特征,對于規(guī)則紋理表面的缺陷檢測有較好的效果,而多孔材料的孔洞貫通交疊,低頻傅里葉分量也會對應著孔洞區(qū)域,此方法并不能有效區(qū)分孔洞與缺陷區(qū)域.面向不同的檢測目標,應當設計快速且有效的算法,以滿足工業(yè)生產中缺陷檢測的準確率和實時性.
本文提出一種基于機器視覺的缺陷檢測算法,能有效針對多孔材料表面孔洞阻塞、缺角缺陷進行檢測.檢測過程主要包括基于機器視覺的圖像采集、圖像預處理、缺陷檢測3 部分.
在多孔材料的制備過程中,缺陷是普遍存在的.根據多孔材料質量評價標準以及材料生產工藝特點,綜合考慮不同缺陷的特征,可將多孔材料的表面缺陷大體分為以下兩大類,即:
(1)孔洞阻塞.多孔材料是網絡結構的材料,孔洞是材料的主要特征之一.由于生產工藝等問題,材料表面的孔洞在澆筑時易被凝結阻塞.
(2)材料缺角.由于材料的多孔性質,材料在生產中易出現(xiàn)劃傷、邊角缺塊、孔結構損傷等缺陷.
多孔材料表面缺陷檢測需要滿足:檢測出缺陷是否存在以及對缺陷部位進行準確定位.首先利用工業(yè)相機對待檢測的多孔材料進行圖像采集,并對該圖像進行適當的預處理來去除圖像噪聲及其它干擾,然后根據材料的特性分別設計算法對材料是否存在阻塞、缺角問題進行確定,最后對缺陷進行標點定位.流程如圖1.
圖1 多孔材料缺陷檢測流程圖
觀察檢測目標多孔材料可知,本文所要檢測的對象并不是一個簡單的平面物體,而是一個空間三維的結構體,因此需要從6 個外表面進行檢測.
圖像整體的外部信息可以由圖像的形狀、顏色和紋理等特征反映,但這些特征卻無法體現(xiàn)出圖像所包含的對象的空間信息.事實上,圖像中對象所在的位置和對象與對象或對象本體的空間關系同樣是圖像處理中非常重要的特征.
多孔材料是由相互貫通的大量多面體孔洞在空間聚集形成的三維結構.要想對多孔材料進行研究,就必須考慮到它獨特的結構特征.
為了更好地分析其空間結構特征,本實驗同時采用6 個相機進行材料表面圖像的采集.如圖2.
將材料放置于清潔且透明的玻璃板上,使用相機在固定距離內對材料的每個表面進行圖像采集.檢測平臺上的多孔材料經物鏡成像,再經相機將光學信號轉換為電信號,通過圖像采集卡送至計算機進行缺陷的分析和檢測.
在圖像采集的過程中,需要根據檢測目標的特性適當調節(jié)相機鏡頭與檢測臺的距離才能保證材料表面正好投影到相機的成像表面上,以便獲得清晰的材料成像,采集到的圖像細節(jié)信息也會更為豐富.采集到的圖像如圖3所示.
圖2 圖像采集系統(tǒng)
圖3 材料采集圖像
采集到的圖像中會有影響檢測的干擾信息,為了優(yōu)化檢測目標的特征提取并提高識別的可靠性,需要對粗采集的圖像進行預處理.通常,圖像灰度化可以在不消除有用信息的前提下,最大限度地簡化數據信息,提高后續(xù)運算的速度.
工業(yè)現(xiàn)場采集的圖像由于各種電器信號的干擾,存在一定的噪聲,使得圖像的質量下降.為了降低噪聲的干擾,改善圖像質量,使之更適合機器的處理,通常會采用基于空域或頻域的各種濾波算法對圖像進行處理.高斯濾波是一種常用的濾波算法,用模板掃描圖像中的每一個像素,再用鄰域內像素的加權平均灰度值去替代模板中心像素點的值,可以起到平滑圖像、降低噪聲的效果.本文采用高斯濾波實現(xiàn)圖像的濾波去噪.
多孔材料的孔洞分布,指的是多孔材料中孔洞所占面積與材料表面的分布狀況,是多孔材料的關鍵指標之一,是決定材料的導電性、拉壓強度等物理、力學性能的關鍵因素.若出現(xiàn)孔洞堵塞的情況,則會對材料后續(xù)應用產生極大影響.如圖4.
圖4 多孔材料塊阻塞缺陷
孔洞阻塞的檢測,即為對多孔材料孔洞分布情況的檢測.觀察多孔材料表面的孔洞可發(fā)現(xiàn),材料表面的單個孔洞雖為橢圓形狀,但鄰近孔洞相互貫通,導致材料表面孔的形狀不一,且因材料本身的立體結構,上下層孔洞有交疊現(xiàn)象,也會對孔洞分布檢測造成影響.針對多孔材料的特殊特征,本文提出一種基于形態(tài)學處理的檢測算法.與傳統(tǒng)的孔洞分布檢測算法不同,本算法不需對孔洞進行提取與描繪,只需對孔洞邊緣進行形態(tài)學腐蝕,若在一定范圍內孔洞腐蝕后存在余下的實塊,即為孔洞阻塞點.針對多孔材料阻塞檢測算法流程主要步驟如圖5所示.
圖5 阻塞檢測流程圖
(1)首先對圖像中的材料部分進行定位,分離出背景從而得到材料圖像.
(2)圖像二值化,獲取材料表面孔洞的輪廓.根據圖像的灰度特征,被分割的孔洞和孔洞間隙區(qū)域存在顯著的灰度差,故采用閾值分割法進行圖像分割,閾值分割的定義為:
該步驟中多孔材料表面的孔洞交疊會對分割后的二值化圖像產生一定影響,研究后發(fā)現(xiàn),由于上層表面陰影遮擋,下層孔洞較表面灰度值低,通過設置較高的灰度級閾值可以減小下層交疊孔洞對特征分析的影響.
(3)對閾值分割后的圖像進行形態(tài)學處理,提取阻塞區(qū)域.腐蝕是圖像形態(tài)學處理的基礎之一,能夠消融物體的邊界.定義一個3×3 大小的結構元素S掃描圖像中的像素,用S中的每一個像素與其覆蓋的像素做“與”操作,如果都為1,則該像素為1,否則為0,最終得到S平移某像素距離后仍在x中的像素的集合.
在孔徑范圍內對孔洞進行腐蝕,若孔洞存在堵塞,則腐蝕后圖像會出現(xiàn)大面積連通區(qū)域,即為孔洞阻塞部位.
(4)提取出孔洞阻塞連通區(qū)域,標記連通區(qū)域輪廓,定位阻塞存在點.
通過上述算法,即可實現(xiàn)對多孔材料阻塞缺陷的檢測,實驗效果圖如圖6所示.
由于多孔材料是一種立體的三維材料,需要考慮其空間關系特征,若材料某部位出現(xiàn)缺角,相機與缺角部位的距離較遠,相機鏡頭就不能正確對焦到該部位,則采集到的該部位圖像會較無缺角表面模糊.
對于局部失焦模糊的圖像,比較直觀的是模糊區(qū)域灰度變化比較緩慢,邊緣平滑而銳度比清晰區(qū)域的要小[5],因此,已有的模糊檢測方法主要是基于對邊界清晰度的分析或不同方向梯度信息的統(tǒng)計.例如,文獻[6]使用圖像邊緣梯度分布的擬合標準差與梯度幅度來判斷圖像邊緣的模糊度.文獻[7]對失焦模糊的圖像進行再模糊,以再模糊前后圖像邊緣位置的梯度比來判斷邊緣的模糊程度.基于邊緣清晰度的模糊檢測容易實現(xiàn),但是在本實驗中,由于多孔材料表面孔洞多且密集,孔洞堆疊處模糊度難以估計,因此很難通過對比邊緣清晰度來實現(xiàn)缺角部位的準確定位.
文獻[8]對圖像進行多次分塊,通過對比局部的標準差判斷圖像塊的模糊與否.圖像的模糊區(qū)域由于灰度變化緩慢通常具有較小的標準差,而有清晰邊緣的區(qū)域一般具有較大的標準差,因此可以將標準差作為評價模糊的一個指標.該方法能有效過濾孔洞部位對缺角定位的影響,但單獨使用局部標準差來定位模糊對象具有一定的局限性.
圖6 實驗效果圖
相關性系數是描述兩個變量之間的線性相關程度,局部模糊圖像由于像點的重疊,使得模糊區(qū)域內的像素會有較大的相關性系數,因此也可以作為圖像模糊的一個評價標準[9].
本文提出了一種局部模糊區(qū)域提取的方法,首先利用局部標準差來進行圖像模糊塊的粗糙定位[10],再結合頻域相關性系數實現(xiàn)模糊區(qū)域的分割提取.實驗結果表明,該方法能有效檢測出失焦模糊圖像中的模糊區(qū)域.實驗流程如圖7.
圖7 缺角檢測流程圖
(1)圖像分塊.
圖像中的模糊或非模糊部分在一些區(qū)域內連續(xù),首先采用簡單線性迭代聚類(SLIC)的方法將圖像分割為若干規(guī)則子塊.相較于逐像素檢測的方法,以每個圖像塊為基準進行模糊度計算,不僅能加快模糊檢測的速度,還能明確區(qū)分出圖像中的粗糙塊和清晰塊,為進一步的缺角提取提供一個種子區(qū)域.假設圖像中存在局部模糊的區(qū)域,整個圖像中的像素點將被劃分為兩類:(i,j)∈P1為 模糊部分,(i,j)∈P2為清晰部分.
(2)采用圖像局部標準差作為模糊評價閾值,對圖像子塊依次進行模糊度檢測.
首先用拉普拉斯算子對圖像進行處理,通過增強圖像中灰度突變的區(qū)域,減弱灰度的緩慢變化區(qū)域來強調圖像中的突變細節(jié).
拉普拉斯算子是各向同性的微分算子,具有旋轉不變形,其定義為:
將拉普拉斯算子表示為3×3 的模板形式,對圖像進行卷積,經過處理后的圖像邊緣更為清晰,而模糊區(qū)域的邊緣信息少增強效果不明顯,因此與清晰區(qū)域的模糊度差異增大.
以子塊內某像素 (i,j) 為中心,則像素(i,j)的標準差為:
其中,K2為子塊內像素總數,f(i,j) 為像素灰度值,μ為子塊的像素灰度平均值.判斷塊的模糊與否不能簡單的依賴一個塊的 σ,而應由局部塊和全局圖像的 σ對比決定.首先計算整幅圖像的 σ值,然后計算每一個局部塊的 σp值,并與 σ 進行對比,如果 σp比 σ小很多,則該子塊很有可能為模糊塊,從而得到模糊測度:
當將每個子塊的標準差值與閾值T 進行比較時,可能出現(xiàn)以下情況:若q1≥T1,表示此子塊中存在灰度變化明顯的強邊界,因此標記為清晰子塊.若T1>q1,表示該子塊中存在大量灰度變化不明顯的模糊像素,標記為模糊子塊并再分割為4 個較小的窗口,進行下一輪模糊判定.圖像模糊塊粗糙定位如圖8,子塊標準差值如圖9.
圖8 圖像模糊塊粗糙定位
圖9 子塊標準差值
(3)使用相關性系數作為模糊評價閾值,對模糊塊進行優(yōu)化分割.
局部標準差實現(xiàn)了模糊塊的粗糙定位,但因為噪聲和重疊孔洞的影響,對某些區(qū)域的判斷不會非常的準確.為更好地分割圖像中的模糊區(qū)域,可使用相關性系數來進一步對圖像進行模糊檢測.取已標記為模糊塊的子塊中某像素點為中心,將周圍領域劃分為4 個N×N(N遠小于圖像尺寸)大小領域的子塊,如圖10.
圖10 像素領域劃分
由此獲得像素點(i,j)所在區(qū)域的相關性:
將corr(i,j) 與預設的圖像相關性閾值CORR比較,若corr(i,j)>CORR,則像素點(i,j)∈P1,屬于模糊區(qū)域;反之,屬于清晰區(qū)域.
(4)模糊區(qū)域提取
在執(zhí)行圖像分塊及模糊判定后,可獲得圖像的二進制掩碼,該掩碼在標記為清晰的像素處為零,在標記為模糊的像素處為一.然后應用形態(tài)學的一系列操作去除孤立的像素點.最后,提取每個檢測區(qū)域,并將其視為一個單獨的區(qū)域,即為多孔材料的缺角部位.實驗結果如圖11.
為驗證缺陷檢測算法的穩(wěn)定性,本實驗共采集多孔材料清晰無缺陷表面圖像300 張,并隨機打亂放入100 張存在阻塞缺陷的圖像,100 張存在缺角缺陷的圖像,以便后續(xù)系統(tǒng)檢測對比分析.檢測結果如表1所示.
將誤檢圖像篩選并分析可知.多孔材料無缺陷表面會有部分孔隙過大且孔洞疊加密集的區(qū)域,會被系統(tǒng)檢測認定為缺角,該問題與材料鑄造工藝有關.不同規(guī)格的多孔材料其孔隙大小及孔洞密度不同,在本實驗中,可根據材料屬性將缺角檢測算法中圖像分塊適度縮放,可有效減少掉該區(qū)域的誤檢.
為測試算法缺陷定位的準確度,將本文算法與文獻[8]所用算法進行對比分析.將5 張存在缺角缺陷的圖像進行人工檢測,標記出缺角的長度并與兩種算法所提取的ROI 區(qū)域長度進行對比.算法對比結果如表2.
圖11 實驗結果圖
表1 檢測結果
表2 缺陷定位準確度結果
經測試分析可知,本文所采用的缺角定位算法相較于先前的算法能對缺角模糊區(qū)域的邊緣進行更有效地分割,由此便能夠更精準地定位到缺陷的位置.但因過于追求缺陷提取的準確度,本文算法的時間消耗較大,在后續(xù)研究中應著重于時間的優(yōu)化以便該算法能在工業(yè)生產中更好地應用.
本文研究了一種基于機器視覺的方法來實現(xiàn)對多孔材料的表面缺陷檢測.在對圖像特征提取的過程中,采用了圖像腐蝕、圖像分塊、局部標準差及相關性系數計算等方法,實現(xiàn)了圖像的變換及圖像模糊度的檢測,再利用對連通區(qū)域的分析處理最終實現(xiàn)了目標特征的提取.
通過機器視覺來檢測多孔材料的缺陷,能避免人工檢測的主觀性,極大地提高檢測效率和準確性,并且能根據材料質量評價標準,在實際生產中靈活、方便地調整參數.