盧思童,劉讓同,2,李淑靜,2,李 亮,劉淑萍,2
(1.中原工學院 服裝學院,河南 鄭州 450007;2.河南省功能紡織材料重點實驗室,河南 鄭州 450007;3.中原工學院 紡織學院,河南 鄭州 450007)
圖像分割是圖像處理的關鍵技術,其目的是將目標區域與背景區域分離[1],圖像分割質量的好壞直接影響后續測量的有效性[2]。常見的圖像分割方法包括邊緣檢測[3]、閾值分割[4]和區域跟蹤[5],其中閾值分割簡單有效,最大類間方差法[6](Otsu)是閾值分割中最常用的方法,其核心是確定圖像分割的閾值。
近年來很多學者致力于將新方法運用于圖像分割。結合遺傳算法的Otsu算法在圖像分割中取得了較好的應用效果。在工業上,將遺傳算法與Otsu算法結合,可實現產品缺陷的精確檢測[7-9]。在醫學上,利用遺傳算法的自適應性和并行性的尋優特點,可實現對醫學圖像的精確分割[10-11]。在紡織服裝上,將遺傳算法運用于織物疵點檢測,進行最優的特征集搜索,可實現織物疵點特征的選擇[12]。
本文將遺傳算法與Otsu算法有機結合,提出了一種新的分割遺傳算法并運用于織物中液態水傳輸域圖像的分割,利用遺傳算法以及Otsu算法的適應度函數匹配不同織物中液態水傳輸域與背景區域的最佳分割閾值,并對算法有效性、種群大小、迭代次數方面進行了討論,得到了較為理想的液態水傳輸域分割效果。
Otsu算法是對圖像進行二值化分割的高效算法。該算法通過設定閾值將圖像分為目標區域和背景區域。閾值選取是通過計算二者之間的方差,當閾值T為某一個值時,類間方差最大,此時T就作為圖像分割的閾值[13]。Otsu算法需要遍歷所有灰度值,計算每個灰度值對應的類間方差,計算量大且步驟繁瑣。
遺傳算法(GA)是一種基于種群的算法,其基本原理如下:隨機生成N條序列作為初始種群,種群中不同的序列代表問題的不同解。采用二進制編碼將序列編碼成字符串的形式。將序列視作一條染色體,序列中的每個節點視為一個基因單位,每條染色體都由多個基因單位組成。染色體序列如圖1所示。

圖1 染色體序列Fig.1 Chromosome sequence
遺傳算法的核心是通過不斷的交叉、變異,挑選更優秀的染色體群,讓染色體的適應度值不斷收斂,從而得到全局或局部最優解。遺傳算法能夠自適應控制搜索過程以求得最佳分割閾值,有效彌補了傳統Otsu算法的不足。
交叉操作通常按照交叉概率大小從種群中選定2條染色體,以單點交叉的方式互換二者當中的部分基因,從而創建2條新的染色體。交叉操作是產生新個體的主要方法,它決定了遺傳算法的全局搜索能力。圖2是具體的基因交叉操作。

圖2 基因的交叉操作Fig.2 Gene crossover
變異操作通常按照變異概率大小從種群中選定1條染色體,隨機改變染色體的一位或多位基因,若原有的基因值為0,則將其變為1;反之,則將其變為0,從而創建1條新的染色體。變異操作決定了遺傳算法在迭代后期的局部搜索能力。圖3是具體的基因變異操作。

圖3 基因的變異操作Fig.3 Gene mutation
遺傳算法具有并行性和自適應全局搜索兩大優點,而Otsu算法尋找閾值的過程實質上是一種尋求最優解的過程,因此本文將遺傳算法與Otsu算法有機結合,提出了一種新的分割遺傳算法,利用遺傳算法快速尋優的特點,對Otsu算法進行優化,從而提高效率。分割遺傳算法的具體實現過程如圖4所示。
對采集的原始圖像進行預處理。預處理包括圖像減運算和濾波處理,以提高圖像的質量。
分割遺傳算法的主要步驟如下:
①種群初始化。產生第1代種群,種群大小和迭代次數是人為設定的,設定應當合理。
②編碼。圖像的灰度值在0~255之間,正好對應了一個8位二進制,將各個染色體編碼為8位二進制。

圖4 分割遺傳算法操作流程圖Fig.4 Operation flow chart of segmentation genetic algorithm
③適應度評估。采用Otsu算法中最大類間方差公式作為適應度函數,見式(1):
σ2(T)=Q0(μ0-μ)2+Q1(μ1-μ)2
(1)
式中:T為圖像分割的最優閾值;σ2(T)為最大類間方差;Q0為背景區域出現的概率;Q1為目標區域出現的概率;μ0為背景區域的灰度值;μ1為目標區域的灰度值;μ為圖像的總灰度平均值。
當目標區域與背景區域的類間方差最大時,T為最優閾值。該公式的推導過程如下:假設圖像的灰度級為L,圖像灰度的變化范圍為:(0~L-1),其中,灰度級為i的像素點的個數為ni。每個像素值在圖像中出現的概率pi為:
(2)
Otsu算法通過選取閾值T將圖像分為背景區域w0(灰度級從1~T)和目標區域w1(灰度級從T+1~L-1)。w0和w1的出現概率Q0、Q1分別為:
(3)
w0和w1的均值μ0、μ1分別為:
(4)
圖像的總灰度平均值μ為:
μ=Q0μ0+Q1μ1
(5)
④選擇個體。根據遺傳算法的收斂定理,計算每個個體的適應度值,適應度值按照升序排列。淘汰適應度低的個體,保存適應度高的個體。
⑤交叉和變異。按照變異和交叉的概率對群體內的染色體進行相關操作,實現新個體的生成。
⑥更新種群。比較得出的新個體和舊個體,按照適應度評估對種群進行更新處理,獲取新種群。
⑦算法終止。當算法進化到最大迭代次數時終止。
選取4種織物作為研究對象,織物的特征參數如表1所示。利用BASLER工業相機acA2500-14gm(深圳市杰智通科技有限公司)采集4種織物中液態水傳輸域圖像,圖像的水平/垂直分辨率為(2 592像素×1 944像素)。圖像存儲為bmp格式。

表1 織物特征參數Tab.1 Fabric characteristic parameters
液態水在織物中傳輸時會被織物吸收且在表面形成灰度明顯加深的水印。不同組織結構的織物會形成不同的液態水傳輸域,呈現不同的水印形狀[14],如圖5所示。圖5(a)傳輸域形狀近似橢圓;圖5(b)和圖5(c)液態水分別沿經向或緯向傳輸,呈現出單項傳輸特征;圖5(d)液態水呈現“十”字形狀傳輸??梢娨簯B水在織物中形成的傳輸域圖像明顯具有時變性和邊緣形態復雜性,具體有:①織物中液態水傳輸域的邊界比較模糊;②受到光照環境的影響,織物樣品背景區域會出現不同程度的亮度不均勻,光線在織物表面不同區域的反射存在差異,如果液態水未被織物完全吸收時,液態水表面會產生明顯的亮白反光;③織物表面細膩的紋理在圖像中清晰可見;④經緯密度小的織物樣品(W1)紗線間的孔隙相當明顯,這導致圖像在形態特征提取時難以確定分割時的合適閾值,影響算法的適應性。受到以上因素的影響,不能直接對織物表面液態水傳輸域圖像進行分割,需要通過預處理來提高圖像的質量。

圖5 液態水傳輸域的形狀Fig.5 Shapes of liquid water transport domains.(a)W1 oval;(b)W2 latitude;(c)W3 longitude;(d)W4 cross
減運算:將樣品W1潤濕前、后的圖像進行同一位置像素相減。減運算結果圖見圖6。

圖6 樣品W1減運算結果圖Fig.6 Sample W1 subtraction result graph.(a)Image before wetting;(b)Image after wetting;(c)Subtraction result
減運算處理能夠減少光照環境的影響,它通過計算2幅圖像的像素差,使圖像中液態水傳輸域區域突顯出來。
濾波處理:中值濾波公式如下:
g(x,y)=Med{f(x-i,y-i)},(i,j)∈S
(7)
式中:g(x,y)為輸出像素值;S為二維濾波窗口;i為橫軸所在位置,j為豎軸所在位置;f(x,y)為輸入圖像。
首先選擇(2n+1)×(2n+1)的窗口,讓窗口沿圖像數據從左往右、從上到下沿每個像素滑動;其次在每次滑動后,對窗口內的像素值進行排序;最后用序列的中值替換窗口中心位置的像素值。樣品W1的濾波處理結果見圖7。

圖7 樣品W1濾波處理結果Fig.7 Sample W1 filter processing result.(a)Original imagel;(b)Filtered image
中值濾波處理能夠平滑織物圖像中的紋理結構,同時能夠很好地保護織物中液態水傳輸域邊緣輪廓的細節,減少織物紋理對后續液態水傳輸域分割的干擾,提高圖像處理結果的準確性。
實驗內容具體分為3部分:
①分割遺傳算法對織物中液態水傳輸域圖像分割的有效性研究。分別利用傳統Otsu算法和分割遺傳算法對4種織物樣品中液態水傳輸域圖像進行對比實驗。將分割遺傳算法的參數設置為相同值。初始種群N=20,交叉概率Pc=0.7;變異概率Pm=0.1,最大迭代次數M=50。
②考察不同初始種群大小在分割遺傳算法中對織物中液態水傳輸域圖像分割效果的影響。保持其他參數相同對圖像進行分割實驗,主要對比不同種群大小下算法所得到的最佳閾值和算法運行時間。為了便于比較,參數設置為:交叉概率Pc=0.7,變異概率為Pm=0.1,迭代次數為M=50,每次只改變初始種群數的大小。
③考察不同迭代次數在分割遺傳算法中對織物中液態水傳輸域圖像分割效果的影響。實驗對象是4種不同組織結構的織物,采用不同參數組合對其進行分割實驗,主要對比不同迭代次數下分割遺傳算法所得到的最大適應度值。為了便于比較,參數設置為:初始種群N=20,交叉概率Pc=0.7,變異概率Pm=0.1,保持不變,每次只改變迭代次數的大小。
為驗證本文提出的分割遺傳算法的有效性,對傳統Otsu算法和本文算法的分割結果進行對比測試。
樣品W1、W2、W3和W4中液態水傳輸域圖像的分割結果如圖8所示。圖8(a)為原始圖像。圖8(b)是傳統Otsu算法得到的分割結果,液態水傳輸域周圍以及內部都散布著一些噪聲點,傳輸域輪廓模糊,圖像分割精度低。圖8(c)圖是分割遺傳算法得到的分割結果,可見織物表面的液態水傳輸域已經完全從背景區域中分割出來,傳輸域表面連貫,邊緣清晰,分割效果較好,能夠為后續圖像的測量提供有力幫助。

圖8 樣品W1、W2、W3和W4的分割結果圖Fig.8 Plot of segmentation results for samples W1, W2, W3 and W4.(a)Original imagel;(b)Otsu arithmetic;(c)Segmentation genetic algorithm
不同種群下的閾值和運行時間如圖9所示。種群設定過大,容易使算法的計算量增大,會增加算法運行時間,這是由遺傳算法采用迭代進化所造成的。種群設定過小,難以確保遺傳算法對種群多樣性的要求,算法可能找不到全局最優分割閾值,容易陷入局部最優。在4種織物中,種群大小變化會引起閾值的變化,但波動不大,在種群大小為20時,閾值基本趨于穩定。因此初始種群設置為20比較合適。

圖9 不同種群下的閾值和運行時間Fig.9 Thresholds and running times at different population
為分析不同迭代次數對遺傳算法處理結果的影響,實驗給出了分割遺傳算法進行50次迭代時,4種織物樣品中液態水傳輸域圖像的最大適應度值和閾值變化曲線。最大適應度值表示液態水傳輸域與背景區域的最大類間方差。最大適應度值和閾值變化曲線如圖10所示。

圖10 最佳適應度值和閾值變化曲線Fig.10 Optimal fitness value and threshold change curve
綜合分析4種織物的最大適應度值和閾值變化曲線,可知當分割遺傳算法迭代到20次左右時,最大適應度值已經趨于穩定,或者說算法已經收斂。迭代次數繼續增加不僅增加算法運行時間,反而增加最大適應度值的波動,使算法收斂困難。為減少算法計算時間,設置迭代次數為20次。最后確定圖像最大適應度值所對應的最佳閾值。
用分割遺傳算法和傳統Otsu算法對4種織物樣品中液態水傳輸域圖像進行分割實驗,對比實驗結果。將分割遺傳算法的參數設置為相同值,初始種群N=20,交叉概率Pc=0.7,變異概率Pm=0.1,最大迭代次數M=20,實驗結果如表2所示。

表2 實驗結果對比Tab.2 Comparison of experimental results
由表2可知,遺傳分割算法獲取的4種織物樣品的最佳閾值的運行時間均小于傳統的Otsu算法獲取閾值的時間??梢娺z傳分割算法彌補了傳統Otsu算法的計算量大,耗時長,分割精度低等不足,是一種較為理想的圖像分割方法。
通過將Otsu算法和遺傳算法進行分析和有機結合,提出了一種新的分割遺傳算法,從算法的有效性、種群大小和迭代次數對處理結果的影響方面進行研究,得出以下結論:
①通過考察不同種群數在分割遺傳算法中對織物中液態水傳輸域分割效果影響發現,分割遺傳算法存在一定的局限性。分割遺傳算法初始化種群規模過小,算法可能陷入局部最優解。種群規模越大,全局搜索能力越強,但是如果種群過大,每一代的適應度值的計算量也會變大,會使運行時間快速增加,致使算法運行時間延長。
②相比于傳統Otsu算法,分割遺傳算法處理獲得的織物樣品中液態水傳輸域圖像清晰連貫,具有較好的分割效果,有效提取了液態水在織物中傳輸的特征數據。分割遺傳算法獲取最佳閾值的時間明顯短于傳統Otsu算法獲取閾值的時間,能夠為后續圖像的測量提供有力幫助。
③分割遺傳算法能夠進行全局搜索、自適應能力強,能在最短時間獲得圖像分割的最佳閾值,得到較好的分割效果。將分割遺傳算法應用于織物吸濕快干性能評價,可以提供一種新的解決方案。