曹國政林富生劉泠杉宋志峰余聯慶
(1.武漢紡織大學,湖北武漢,430200;2.湖北省數字化紡織裝備重點實驗室,湖北武漢,430200;3.三維紡織湖北省工程研究中心,湖北武漢,430200)
我國是紡織產品的主要生產和消費國,紡織產業(yè)的發(fā)展與大眾的日常生活息息相關。據統計,存在缺陷的織物價值將會在完好織物價值基礎上削減45%~65%[1],因此織物缺陷檢測就顯得尤為重要。目前,織物缺陷檢測主要通過人工進行識別,優(yōu)點是可以檢測出所有種類的缺陷,但是人工檢測效率低。一位熟練的質檢工人檢測速度也只有15 m/min~20 m/min[2],并且工人會受到天氣、環(huán)境、心情等一些因素的影響而出現漏檢和誤檢等情況。利用機器視覺技術對織物進行缺陷檢測就成為了學者們研究的方向。MALEK A S等人[3]利用傅里葉變換對織物紋理規(guī)律特征進行匹配,然后通過形態(tài)學分析對缺陷進行檢測,但檢測結果不夠穩(wěn)定。狄嵐等人[4]利用Gabor濾波器對織物圖像進行濾波處理并融合,通過特征提取出疵點,提取準確率提高,但是該算法增加了許多不必要的計算,因此檢測速度較慢。沈晶等人[5]先對織物紋理進行增強然后通過分水嶺算法進行圖像分割得到疵點,但是存在過度分割的情況,檢測結果不穩(wěn)定并且時間較長,無法滿足織物在線檢測。深度學習在織物疵點檢測實時性上有較大的提升,但檢測準確性極大依賴于訓練數據集的大小和多樣性[6]。
本研究在現有檢測算法的基礎上提出了一種新的檢測方法(以下簡稱改進算法),既保證了檢測的精度又提高了檢測速度,滿足了織物在線檢測的需求。該檢測方法具體過程:首先搭建在線檢測的試驗平臺,并且對織物圖像進行采集,然后通過預處理提高織物紋理與缺陷的對比度;再對圖像進行分割得到大小相同的一系列子圖,然后對每張子圖的灰度進行累計,通過累計灰度與平均灰度的差值快速尋找出存在缺陷的子圖;其次,對存在缺陷的子圖單獨使用快速傅里葉變換,在頻域內創(chuàng)建合適的濾波器進行卷積,接著利用傅里葉逆變換將頻域信號轉變到空域,同時消除噪聲并且獲得缺陷特征;最后經過閾值分割和特征提取得到缺陷區(qū)域。改進算法流程具體如圖1所示。
圖1 本研究改進算法檢測流程圖
織物缺陷的在線檢測可以分為織物圖像的采集和缺陷識別處理兩部分。
將采集試驗平臺搭建在織機與卷曲軸之間,采集試驗平臺包括包膠輥、張緊機構、光源、攝像頭、電控柜和計算機,如圖2所示。通過張緊機構與包膠輥將織物完全展開放置在試驗臺上,將光源設置在攝像頭的兩側,可以更好地展現出織物的紋理結構[7],并且在織機處安裝速度傳感器,根據傳感器的信號調整卷曲以及攝像頭采集圖片的速度,經采集好的圖片傳輸到計算機上進行缺陷檢測,記錄疵點位置,并及時反饋給電控柜控制停車補救或打標處理,減少織物下線后的二次檢測過程。
由于車間環(huán)境復雜,采集到的圖像往往伴隨著大量的噪聲,直接對圖像進行缺陷識別很容易出現誤檢和漏檢的情況,因此在進行缺陷識別前先對圖片進行反轉和圖像增強等預處理。
由于在黑色的織物中缺陷不夠明顯,如圖3(a)所示,在識別時不容易分辨,為此將原圖像上每個像素點的灰度值進行反轉,得到新圖像的灰度值,如圖3(b)所示。
圖3 缺陷圖像預處理對比圖
圖像增強的優(yōu)勢在于舍棄一些不感興趣的信息,而強調感興趣的特征,使處理后的圖片缺陷與背景更加分明?;叶茸儞Q可以很好地調整圖像的對比度,是常用的圖像增強手段之一。采用分段線性變換的方法抑制不感興趣的區(qū)域,使感興趣的區(qū)域更加突出,圖像增強后的效果如圖3(c)所示??梢钥闯鋈毕葸吘壿喞兊酶忧逦?,從而為后面的濾波卷積做準備。
織物具有紋理相似性,圖像的背景具有相同的紋理并且占據整張圖片的絕大部分,構建濾波器對整張圖像進行卷積處理,大量的背景將會極大地增加卷積的計算量從而導致運算速度減慢,因此對圖像進行切割得到大小相同的子圖,僅僅對存在缺陷的子圖進行運算,可極大減少計算量,節(jié)約時間。
本試驗采用MZ2710型工業(yè)攝像頭,分辨率1 920 pixel×1 080 pixel,檢測速度30幀/s,并 且使用90°鏡頭。首先,攝像頭采集圖像,然后將圖像間重疊的部分進行裁剪得到兩張像素為900 pixel×900 pixel的圖像,最后對每張圖像進行圖像切割處理。疵點所占像素點數量和圖像切割方式是影響檢測結果的兩個重要因素。通過控制攝像頭與織物的距離來控制圖像上疵點所占的像素比例。將不同距離拍攝的圖像進行識別并分析,當距離為5 cm時,疵點所占像素占圖像總像素的10%~20%,可以較好反映出疵點。通過子圖切割分離疵點和背景,切割規(guī)律和數量是圖像切割的重點。分別對缺陷圖像進行塊狀切割、條狀切割、異形切割,圖像效果分析如圖4所示??梢钥闯?,異形切割復雜,并且像素點數量難以控制;條紋切割雖簡單,但條紋過長,背景占比過大;而塊狀切割簡單,缺陷與背景占比均衡。因此,塊狀切割最適宜,能滿足實際需求。接著,將圖像切割成不同大小的n×n塊子圖,然后進行判斷分析。當n<3時,疵點所占比例小分離閾值無法確定;當n>3時,子圖過多運算時間增加,綜合考慮運算時間和分離閾值選取難易程度,取n=3較為合適。
圖4 不同切割方法
圖像上每個像素都有一個特定的灰度值,灰度值的大小表示該像素點的亮暗程度。由于織物具有相同的紋理,完好的織物具有較為穩(wěn)定的灰度值,因此背景子圖總灰度值維持在一個較小的波動范圍內,但是當織物出現疵點時,灰度會發(fā)生較大的突變,將切割后的每張子圖的所有像素點灰度值進行累計,并計算出灰度值方差,將灰度值方差設置為閾值,將灰度值與均值之差超過該閾值的子圖設為懷疑子圖,最后通過傅里葉變換對懷疑子圖進行二次識別,最終得到準確的織物疵點信息。
經過預處理后,缺陷相對背景更加明顯,但是噪聲還沒有完全消除。在保證缺陷特征信息不被消除的前提下,將圖像變換到頻域的范圍內,使用正弦形狀的疊加帶阻濾波器對圖像進行去噪處理,進一步減小噪聲以及背景紋理對缺陷檢測的干擾。
首先通過快速傅里葉變換將懷疑子圖的數字圖像信號進行空域到頻域的變換,如式(1)所示。
式中:h(r,c)為懷疑子圖的數值矩陣;r、c為數值矩陣的行、列坐標;H(u,v)為懷疑子圖頻譜。
其次,在頻域范圍內構造兩個阻帶半徑不同的巴特沃斯高通濾波器[8-11],如式(2)所示。
式中:D為濾波器的阻帶半徑;D(u,v)為點到濾波器中心的距離;B(u,v)為巴特沃斯高通濾波器;n為濾波器階數。
將兩個高通濾波器進行差分形成帶阻濾波器,n越大,出現振鈴現象越明顯[12-15];n越小,卷積運算小,過渡性差,細小的干擾細節(jié)會被檢測到。根據試驗,選擇n=3。與傳統傅里葉變換使用的高斯濾波器相比,巴特沃斯濾波器的濾波介于尖銳與平滑之間,既保證了濾波的平滑度又沒有失去邊緣性。
將構建的濾波器在頻域內進行卷積運算,如式(3)所示。其中G(u,v)為傅里葉卷積函數。
最后,進行傅里葉逆變換,將圖像的頻域信號轉變到空間域中,見式(4)。
3.2.1 閾值分割
圖像經過快速傅里葉變換和卷積后,缺陷特征已經被保留,但是缺陷特征仍然與背景混合在一起,經過閾值分割可以很簡單地將背景與缺陷特征分離出來。閾值分割原理是將占據不同灰度級范圍的像素點分成若干類,極大壓縮了數據量,簡化了分析與處理步驟,因此運算速度快,實現簡單。
首先通過Halcon軟件自帶的灰度直方圖觀察圖5中的灰度值分布,可以發(fā)現缺陷集中于波峰中,而背景相對平坦。使用binary_threshold算子即可由Halcon軟件自動計算出合適的閾值將缺陷和背景分割出來,如圖6所示。
圖5 灰度直方圖
圖6 閾值分割圖
3.2.2 形態(tài)學變換
經過閾值分割后,背景與缺陷特征被分割出來,但分割的區(qū)域與缺陷區(qū)域還存在著較大的形態(tài)誤差,將分割后的區(qū)域進行形態(tài)學變換,使兩區(qū)域更加吻合。對區(qū)域進行閉運算即先膨脹運算后腐蝕運算,將較大的區(qū)域聯合在一起,并且利用填充運算將區(qū)域中間的空洞進行填補,形成一塊完整的區(qū)域,如圖7所示。
圖7 形態(tài)學變換
3.2.3 缺陷提取
織物在生產過程中主要會形成破洞、棉粒等缺陷,缺陷的形狀、長、寬以及灰度特征都不具備一定的規(guī)律性,因此選擇面積作為篩選條件,在Halcon軟件中使用select_shape算子,將條件為area參數在30~9 999范圍內的缺陷特征提取出來。
3.2.4 子圖合并
當缺陷檢測完成后,為了更加直觀地顯示原圖像缺陷位置,因此將所有子圖按照原排列順序進行合并,恢復原來的圖像,再顯示檢測結果,如圖8所示。
圖8 檢測結果顯示
為了驗證改進算法在準確率和檢測速度上的優(yōu)勢,將同一批織物缺陷分別使用傳統傅里葉變換算法(以下簡稱傳統算法)和改進算法進行檢測,對兩者的檢測結果和時間進行比較分析。
圖9展示了兩組具有代表性的結果對比圖??梢钥闯觯趯ふ胰毕輩^(qū)域上,改進算法尋找到的區(qū)域輪廓與缺陷區(qū)域輪廓更加貼合;在檢測結果上,傳統傅里葉變換算法會受到噪聲的干擾,從而引起誤判和漏判等情況的發(fā)生。
表1是將檢測試驗重復進行10組,分別記錄兩種檢測算法的檢測準確率和檢測時間??梢钥闯觯瑐鹘y算法的平均準確率為92.89%,平均檢測時間為219.01 ms;改進算法的平均準確率為97.66%,平均檢測時間為178.15 ms。改進算法在準確率和平均用時上都有明顯提高。
圖9 檢測結果對比
表1 檢測結果對比
為了進一步分析改進算法的檢測準確率,利用相機在現場隨機采集500張圖像,其中帶有缺陷圖像和合格圖像各占250張,再將這500張圖像隨機等分成10組并進行準確率檢測,檢測結果如表2所示。可以看出,改進算法的檢測準確率較好,平均準確率可達98.2%。
表2 試驗圖像準確率
在實際生產的過程中,由于工作現場的環(huán)境過于復雜,并且影響檢測結果的因素易于變化,因此算法的穩(wěn)定性是判別算法好壞的重要參數。將能夠準確檢測的缺陷圖片和合格圖片各選50張并分成合格組與不合格組,再將試驗環(huán)境進行不同程度的改變,對兩組圖像進行30次重復性試驗,統計準確率結果如表3所示??梢钥闯?,改進算法對不同環(huán)境的適應性良好,具有較高的穩(wěn)定性。在不同環(huán)境下,合格組的檢測準確率達到了98.80%,不合格組的準確率也達到了98.93%。再將每組的平均檢測時間繪制成折線圖,如圖10所示??梢钥闯?,合格圖像的平均檢測時間為105.91 ms,不合格圖像平均檢測時間為178.84 ms,滿足實時檢測的需求。
表3 穩(wěn)定性試驗準確性結果
圖10 試驗檢測時間統計結果
為了驗證改進算法所適應的疵點類型,分別對破洞、油污、棉球、粗結、霉斑、雜物、缺經、缺緯、雙經、雙緯、經縮、緯縮等10種常見織物缺陷進行檢測,數據匯總如表4所示。
由表4可知,改進算法對區(qū)域型缺陷如破洞、油污、霉斑和離散型缺陷如棉球、粗結、雜物的檢測準確率較高,均在90%以上,但是在紋理型缺陷如缺經、缺緯、經縮、緯縮的檢測準確率僅有50%~60%。
表4 缺陷檢測適應性結果
為了減輕質檢工人的勞動強度,提高檢測準確性與效率,本研究基于機器視覺的傳統傅里葉變換檢測算法提出改進,將完整的織物圖像進行切割得到多張子圖,并對子圖進行灰度累計并判斷,將灰度值相近的背景首先剔除,再對懷疑子圖使用巴特沃斯高通濾波器在頻域內進行卷積處理,并通過閾值分割和特征提取進行缺陷識別。與傳統算法相比,改進算法經過兩次判斷首先剔除大量背景減少運算時間,然后使用巴特沃斯高通濾波器進行濾波,邊緣信息更加準確明顯,因此檢測的準確性和時效性得到較大提高。通過對實際生產過程中產生的區(qū)域型缺陷和離散型缺陷進行檢測和結果分析,改進算法的平均檢測時間為178.15 ms、平均準確率為97.66%,而傳統算法平均檢測時間為219.01 ms、平均準確率為92.89%。本研究改進算法在檢測準確率和檢測時間上都有明顯的改善,具備實時檢測的條件,且魯棒性良好。但是在紋理型缺陷的檢測上,與傳統算法相比,改進算法的準確率略有提高,仍有提升空間。