劉建寶, 李平
(華僑大學(xué) 信息科學(xué)與工程學(xué)院, 福建 廈門 361021)
織物在染色、印花、掛漿及定型等加工過程中不可避免地會產(chǎn)生緯紗歪斜或者彎曲的情況,這種現(xiàn)象叫做緯斜[1].如果織物緯斜不及時糾正,將嚴重影響最終的產(chǎn)品質(zhì)量.緯斜的糾正必須通過整緯器完成,而整緯器動作幅度的大小需要根據(jù)緯斜的程度而定.因此,織物緯斜的檢測是保證整緯器整緯動作準確的重要前提.緯斜的檢測方法主要有光電法和圖像法兩種[2].相較于光電法,圖像法具有檢測精度高、可以適應(yīng)厚織物的檢測等優(yōu)勢.
近年來,國內(nèi)學(xué)者們提出了一些利用圖像法的緯斜檢測方法.吉慶高[3]提出一種基于大津法和像素搜索算法的緯斜檢測方法;金守峰[4]提出一種基于霍夫變換的織物緯斜檢測方法;董燕等[5]提出一種將圖像進行傅立葉變換后進行投影映射的方法.這些方法都能很好地檢測出光照均勻情況下織物的緯斜,但是當光照不均勻時,采用這些方法檢測的誤差較大,甚至無法檢測出緯斜角度.為了降低檢測誤差,必須對光照不均勻的織物圖像加以處理.處理方法有局部二值化方法和先校正后使用全局二值化的方法.利用這些方法可以得到接近光照均勻的二值化圖像,使用光照均勻情況下的緯斜檢測方法就能檢測出織物的緯斜.
目前,常見的全局二值化的方法有Otsu法[6]、雙峰法[7]、迭代法[8].這些方法主要用于對光照均勻的圖像進行處理,獲得光照均勻情況下的二值圖像,無法在光照不均勻情況下得到良好的二值化效果.局部二值化的方法包括分塊二值化法和自適應(yīng)二值化法.分塊二值化法[9]主要針對光照不均勻程度有明顯的分界的圖像,把圖像分為不同光照程度的塊;然后,對每一塊分別使用全局閾值化的方法進行處理,得到二值化圖像.該方法對光照程度分塊不明顯等復(fù)雜情況的分塊具有較大的難度.常見的自適應(yīng)二值化法有White法[10]、Bernsen法[11]、Niblack法[12]、Sauvola法[13].自適應(yīng)二值化法可以提高光照不均勻圖像的二值化效果,使二值化圖像接近光照均勻的情況,但是該方法對于每個像素點的閾值都要進行計算,耗時較多.常見的校正方法有直方圖均衡化[14-16]、Retimex方法[17-19]等.直方圖均衡化法實現(xiàn)了圖像的亮度增強和對比度改善,但是,在有局部陰影等光照強度有明顯變化邊界的情況下,容易丟失圖像細節(jié),不適用于織物圖像的處理.Retimex方法可以提高圖像的對比度,突出圖像的細節(jié),但是,在有局部陰影和光照復(fù)雜情況下,處理效果較差.
本文提出一種織物緯斜檢測過程中光照不均勻的校正方法.通過處理使同一緯向的像素值恢復(fù)到同一灰度級別,從而將光照不均勻的圖像校正.將校正過圖像進行二值化,首先,與其他二值化方法進行對比;然后,用基于像素搜索的緯斜檢測方法[3]進行測試;最后,說明該方法能夠在光照不均勻的情況下降低緯斜檢測誤差.
由于織物的緯線平行排列,緯線部分凸起受到的光照較強,形成較亮的條紋;兩根緯線中間部分凹下受到的光線弱,形成較暗的條紋.利用攝像機采集到的理想的織物圖像為一條條明暗相間的條紋,如圖1所示.
圖1 織物圖像 圖2 織物緯斜情況 Fig.1 Fabric image Fig.2 Fabric weft condition
織物緯斜情況,如圖2所示.假設(shè)AC(AD)為根據(jù)圖像得到的緯線方向,AB為標準緯線方向,BC或BD的距離為d,AB的距離為h,則織物的緯斜率(s)為
(1)
此外,緯斜角度(θW)為AC(AD)與AB的夾角.
對于光照均勻的織物圖像,提取圖像垂直于標準緯線方向的一列,隨著行號的增加,該列像素的灰度值將周期性地出現(xiàn)波峰和波谷.光照均勻時織物圖像的灰度變化,如圖3所示.圖3中:N為行號.
圖3 光照均勻時織物圖像的灰度值變化 圖4 光照不均勻時的織物圖像 Fig.3 Gray value change of fabric image Fig.4 Fabric image under under uniform illumination uneven illumination
光照不均勻時的織物圖像,如圖4所示.將圖4中光照不均勻的織物圖像提取1列,隨著行號的增大,該列像素的灰度值變化,如圖5所示.
由圖3可知:當光照均勻時,灰度值周期性地出現(xiàn)波峰和波谷,波峰和波谷附近分別代表明條紋像素點和暗條紋像素點,每兩個相鄰的波峰和波谷中心基本處于同一灰度水平,所以,可以找到一個閾值,分割出明條紋像素和暗條紋像素.由圖5可知:在光照不均勻的情況下,灰度值仍周期性地出現(xiàn)波峰和波谷,但是相鄰兩個波峰和波谷的中心不處于同一灰度水平,所以,無法使用同一個閾值分割,需要在每個波峰和波谷之間尋找一個閾值才能二值化.
在光照不均勻的情況下,每一列的灰度值仍然不斷由小變大,再由大變小,且每次變化周期基本不變.對于每個像素點,統(tǒng)計1個變化周期內(nèi),灰度值小于等于該像素點灰度值的像素個數(shù),把統(tǒng)計結(jié)果作為該像素點的值,就可以把每條緯線同一位置點的像素值統(tǒng)一到同一個灰度水平,只考慮織物灰度的變化情況,濾除光照對灰度的影響.根據(jù)這個變化情況,按比例對織物圖像進行校正,每個變化周期的閾值就能恢復(fù)到同一灰度水平,得到灰度校正圖像.校正后的灰度值變化曲線,如圖6所示.
圖5 光照不均勻情況下灰度值變化曲線 圖6 校正后的灰度值變化曲線 Fig.5 Gray value curve under uneven illumination Fig.6 Corrected gray value change curve
步驟1計算織物圖像能容納的不重疊的窗口數(shù)m為
m=[c/w].
(2)
式(2)中:c為圖像縱向長度;w為窗口的寬度;[]表示取整.
步驟2計算每個窗口的縱坐標范圍,第k個窗口的縱坐標的最大值和最小值分別為
(3)
步驟3對每一個窗口,計算縱向每一個點的灰度值,即
(4)
步驟4根據(jù)比例對原圖進行還原,將正常光照下圖像灰度最小值轉(zhuǎn)換為0,即
f2(x,y)=f(x,y)-fmin.
計算該圖像灰度平均值和經(jīng)過處理后的圖像灰度平均值的比例(b)為
b=avg(f2)/avg(f1).
將圖像轉(zhuǎn)換到對應(yīng)的灰度范圍,得到校正后的圖像,即f′=f1b+fmin.
將幾個織物銷售商提供的實際織物照片進行篩選后,從中挑選200張作為實驗數(shù)據(jù).對采集的一張光照均勻的樣本圖像進行處理,得到4種光照不均勻的織物圖像,如圖7所示.
(a) 有陰影 (b) 縱向光照不均勻 (c) 橫向光照不均勻 (d) 前3種情況的復(fù)合圖7 4種光照不均勻的織物圖像Fig.7 Four kinds of fabric images with uneven illumination
由于光照均勻的織物圖像經(jīng)過二值化處理后仍可保留緯斜信息,為了能更直觀地比較不同方法對光照不均勻織物圖像的處理效果,文中實驗對3種方法的處理結(jié)果都經(jīng)過二值化后,再進行比較.
根據(jù)文獻[3]的分析可知,對于織物緯斜的檢測,使用Otsu法進行全局二值化的效果較好.對于圖7中光照不均勻的情況,使用Retimex法校正后,再經(jīng)過Otsu法的二值化效果圖,如圖8所示.當鄰域大小與織物寬度相同,且修正參數(shù)為1時,使用Sauvola法的二值化效果圖,如圖9所示.使用文中方法校正后,再經(jīng)過Otsu法得到的二值化效果圖,如圖10所示.
(a) 有陰影 (b) 縱向光照不均勻 (c) 橫向光照不均勻 (d) 前3種情況的復(fù)合 圖8 使用Retimex法+Otsu法的二值化效果圖Fig.8 Rendering of binarization by Retimex method + Otsu method
(a) 有陰影 (b) 縱向光照不均勻 (c) 橫向光照不均勻 (d) 前3種情況的復(fù)合 圖9 使用Sauvola法的二值化效果圖Fig.9 Effect pictures of binary processing with Sauvola method
(a) 有陰影 (b) 縱向光照不均勻 (c) 橫向光照不均勻 (d) 前3種情況的復(fù)合 圖10 使用文中方法+Otsu法的二值化效果圖Fig.10 Effect pictures of binarization by using the method in the paper + Otsu method
由圖8~10可知:使用Retimex法+Otsu法對不含局部陰影圖像的二值化效果較好,對光照過亮或者過暗部分的二值化效果較差;使用Sauvola法可以較好地分出前景和背景,但是暗條紋部分出現(xiàn)較多的斷裂,且對有局部陰影、光照復(fù)雜的圖像,其二值化效果較差;文中方法+Otsu法可以使織物圖像在4種光照不均勻的情況下都保持良好的二值化效果.
誤分類誤差指數(shù)(Me)[20]反映了錯誤地將背景像素分配給前景的百分比和錯誤地將前景像素分配給背景的百分比.采用誤分類誤差指數(shù),比較光照不均勻情況下,Retimex法+Otsu法、Sauvola法、文中方法+Otsu法的二值化效果.對于二值化問題,Me可以簡單表示為
(5)
式(5)中:Bo和Fo表示原始圖像用Otsu法二值化得到的背景和前景;BT和FT表示光照不均勻圖像使用二值化方法得到的背景和前景區(qū)域像素.對于完全沒有錯誤的二值化圖像,Me值為0;對于完全分類
表1 3種方法的誤分類誤差指數(shù)對比Tab.1 Misclassification error index comparison of three methods
錯誤的圖像,Me值為1.
對4種光照不均勻的情況進行編號:“1”為有陰影;“2”為縱向光照不均勻;“3”為橫向光照不均勻;“4”為前3種情況的復(fù)合.3種方法的誤分類誤差指數(shù)對比,如表1所示.由表1可知:Retimex法+Otsu法對只有局部陰影的情況處理效果最好;Sauvola法對沒有陰影的情況處理效果最好;文中方法+Otsu法在4種情況下的Me值均最小,說明文中方法處理的結(jié)果最接近光照均勻情況下的二值化效果,與觀察結(jié)果一致.
對上述4種情況首先直接使用文獻[3]的方法進行緯斜角度的測量;然后,使用文中方法代替文獻[3]中的二值化方法再次進行測量.使用文中方法前、后的檢測結(jié)果對比,如表2所示.表2中:θW為緯斜角度;θ1為僅使用文獻[3]方法二值化后的緯斜角度;θ2為先采用文中方法進行校正,再使用文獻[3]方法二值化后的緯斜角度.
表2 使用文中方法前、后的檢測結(jié)果對比Tab.2 Comparison of test results before and after using the proposed method
由表2可知:對于4幅角度一致但是光照不均勻類型不同的圖片,未使用文中方法時,測得的平均誤差較大,方差較大;使用文中方法后,測得的平均誤差較小,方差較小.說明未使用文中方法時,在光照不均勻的情況下,無法保證檢測結(jié)果的精度,且對于不同光照條件,檢測結(jié)果波動較大;而文中方法能夠降低光照不均勻條件下的檢測誤差,且對于不同的光照不均勻類型也有很好的適應(yīng)能力.
將200張圖像進行處理后,得到800張光照不均勻的樣本圖像,首先,使用像素搜索的方法進行緯斜角度檢測;然后,使用文中方法代替文獻[3]中的二值化方法再次進行檢測,觀察使用文中方法前、后檢測誤差的變化情況.結(jié)果表明:樣本數(shù)為800,誤差提高和誤差不變的數(shù)目為0,誤差降低的數(shù)目為800.由此可知,文中方法能夠降低不同光照不均勻織物的檢測誤差.
通過分析光照不均勻情況下的織物在垂直于標準緯線方向上的變化規(guī)律,提出一種光照不均勻校正方法.對4種常見的光照不均勻類型進行分析,通過實驗證明文中方法能夠減小光照不均勻帶來的影響,降低光照不均勻情況下的檢測誤差,并且對這些光照不均勻類型有很好的適應(yīng)能力.