李東潔, 郭 帥, 楊 柳
(1. 哈爾濱理工大學(xué) 自動(dòng)化學(xué)院, 黑龍江 哈爾濱 150080; 2. 哈爾濱理工大學(xué) 切削加工及制造智能化技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室, 黑龍江 哈爾濱 150080)
隨著物質(zhì)文化水平的提高,人們對(duì)紡織品的質(zhì)量要求也在逐步提高[1]。紗線作為紡織品最基本的原料,其疵點(diǎn)準(zhǔn)確、高效的檢測(cè)在紗線及紡織品生產(chǎn)中具有重要的意義,因此,要提高紗線的質(zhì)量首先需要改進(jìn)目前紗線的檢測(cè)方法[2]。
傳統(tǒng)的紗線檢測(cè)的方法主要包括基于電容傳感器的紗線檢測(cè)方法與人工觀察法?;陔娙輦鞲衅鞯姆椒ㄊ鞘辜喚€在電容極板間勻速運(yùn)動(dòng),從而引起極板間電荷量的變化,根據(jù)極板間的電荷量可以計(jì)算出紗線的直徑[3]。徐國(guó)香[4]采用Uster條干儀進(jìn)行紗線分析,由于使用的設(shè)備是基于電容極板,所以檢測(cè)要求環(huán)境的溫度和濕度是恒定的。盛國(guó)俊[5]通過(guò)電容傳感器檢測(cè)紗線段的缺陷總個(gè)數(shù),并對(duì)其進(jìn)行評(píng)級(jí)。此類檢測(cè)方法具有檢測(cè)精度好、檢測(cè)速度快和實(shí)時(shí)性好等優(yōu)點(diǎn),但由于設(shè)備維護(hù)成本高以及環(huán)境要求苛刻,無(wú)法大規(guī)模使用。人工觀察法是將紗線段人工選出后進(jìn)行放大投影分級(jí),在早期紗線生產(chǎn)中使用,但此方法對(duì)紗線疵點(diǎn)的判斷完全由人的主觀因素決定,并且投影放大的是小部分樣本,無(wú)法實(shí)現(xiàn)實(shí)時(shí)監(jiān)測(cè)。
針對(duì)目前上述紗線檢測(cè)方法存在的問(wèn)題,使用圖像處理的方法可以更快速、更準(zhǔn)確地實(shí)現(xiàn)紗線疵點(diǎn)的檢測(cè)。數(shù)字圖像處理使用相機(jī)采集紗線圖像,利用算法對(duì)圖像進(jìn)行處理,從而得出紗線質(zhì)量的相關(guān)信息。Ozkaya等[6]對(duì)不同光照條件下的紗線均勻度進(jìn)行了分析,實(shí)驗(yàn)得到了使用不同算法對(duì)紗線處理速度的影響結(jié)果。Guhu等[7]對(duì)紗線的毛羽缺陷進(jìn)行了分析,并且對(duì)紗線圖像實(shí)時(shí)采集的有效性進(jìn)行了分析。章國(guó)紅等[8]利用數(shù)字圖像處理實(shí)現(xiàn)了紗線圖像的校正。Fabijansko等[9]利用數(shù)字圖像處理證明了算法的普適性。Vladimir等[10]對(duì)紗線檢測(cè)算法進(jìn)行了改進(jìn)。數(shù)字圖像處理的優(yōu)點(diǎn)是可以有效地提高檢測(cè)精度和加快疵點(diǎn)判斷速度;但在采集紗線圖像時(shí),圖像中容易存在噪聲、抖動(dòng)、偶然的亮點(diǎn)等外界干擾因素,傳統(tǒng)濾波與閾值分割算法無(wú)法達(dá)到最佳分割效果,嚴(yán)重影響了后續(xù)紗線圖像的處理以及疵點(diǎn)的判斷,因此,紗線圖像處理算法的通用性和準(zhǔn)確性顯得尤為重要。
本文根據(jù)紗線疵點(diǎn)檢測(cè)對(duì)圖像處理的要求,對(duì)雙邊濾波算法和閾值分割算法進(jìn)行改進(jìn),并利用改進(jìn)的算法對(duì)常見紗線疵點(diǎn)進(jìn)行判斷,改進(jìn)的算法在保證處理穩(wěn)定性的前提下,提升了處理效果和處理速度。對(duì)于紗線疵點(diǎn)判斷精度方面,使用亞像素對(duì)紗線直徑進(jìn)行計(jì)算,從而使疵點(diǎn)判斷準(zhǔn)確率得到有效提高。
紗線圖像采集系統(tǒng)由表面有黑紙板的操作平臺(tái)、紗架、紗輪、導(dǎo)紗鉤、工業(yè)相機(jī)和計(jì)算機(jī)組成。紗線通過(guò)紗架和紗輪在操作平臺(tái)上勻速運(yùn)動(dòng),由安裝在操作平臺(tái)頂部的攝像頭采集圖像(采集時(shí)紗線方向與圖像行向一致。相機(jī)的采集幀率為30幀/s,采集到的圖像之間會(huì)有8個(gè)行像素點(diǎn)的重合),并將采集到的圖像傳輸?shù)接?jì)算機(jī)進(jìn)行處理。
由于紗線尺寸在0.1~0.3 mm范圍內(nèi),因此,采用徑向畸變系數(shù)為k1、k2、k3和去中心化畸變系數(shù)為p1、p2的高分辨率工業(yè)CCD相機(jī)采集紗線圖像。在紗線圖像采集平臺(tái)上放置黑色紙板,是為了減少紗線圖像獲取時(shí)外界其他顏色的干擾,從而獲得高質(zhì)量的原始圖像。對(duì)于相機(jī)的標(biāo)定,本文采用了文獻(xiàn)[11]中的標(biāo)定方法和MatLab輔助工具來(lái)改善圖像的失真。所采用的相機(jī)內(nèi)部參數(shù)如表1所示。通過(guò)攝像機(jī)標(biāo)定校準(zhǔn)鏡頭并改善相機(jī)畸變現(xiàn)象。
表1 CCD相機(jī)內(nèi)部參數(shù)Tab.1 Internal parameters of CCD camera
采集到紗線圖像后,首先對(duì)其進(jìn)行灰度處理以減少數(shù)據(jù)處理量,然后利用改進(jìn)的雙邊濾波對(duì)灰度圖像去噪,再通過(guò)改進(jìn)的Otsu閾值分割將圖像進(jìn)一步處理為二值圖像。最后用數(shù)學(xué)形態(tài)學(xué)方法對(duì)毛刺和其他殘紗進(jìn)行處理,得到了可用于疵點(diǎn)判定的圖像,即可對(duì)整幅圖像進(jìn)行檢測(cè)確定是否存在疵點(diǎn)。
由于彩色圖像數(shù)據(jù)量很大,對(duì)系統(tǒng)的處理時(shí)間有很大的影響,因此,通常需要對(duì)相機(jī)采集的紗線圖像進(jìn)行灰度化處理,以減少后續(xù)處理的數(shù)據(jù)量。
由于人眼對(duì)不同顏色的敏感度不同,本方案基于人眼對(duì)顏色敏感度的算法進(jìn)行模擬,并對(duì)不同的通道賦予不同的權(quán)值,見下式:
H=0.299R+0.587G+0.114B
(1)
式中:H為灰度值;R、G、B分別代表紅色、綠色、藍(lán)色通道信號(hào)強(qiáng)度值。利用該公式進(jìn)行灰度變換后,大大減少了圖像處理的運(yùn)算量。紗線原始圖像如圖1所示,處理后的紗線灰度圖像如圖2所示。
圖1 采集到的紗線圖像Fig.1 Collected yarn image.(a) Coarse yarn; (b) Fine yarn; (c) Normal yarn
圖2 紗線灰度圖像處理圖Fig.2 Gray image processing of yarn.(a) Coarse yarn; (b) Fine yarn; (c) Normal yarn
在圖像采集過(guò)程中,存在一些不可控的外界環(huán)境因素,使采集到的圖像含有噪聲。這些噪聲會(huì)使采集到的圖像模糊,影響后續(xù)圖像處理以及疵點(diǎn)的判斷,因此,需要對(duì)灰度變換后的圖像進(jìn)行濾波,盡可能多地去掉噪聲點(diǎn)。由于本系統(tǒng)檢測(cè)的是紗線疵點(diǎn),對(duì)去噪算法的要求是盡量保留圖像的邊緣,使紗線的邊緣區(qū)域更加平滑。傳統(tǒng)濾波方法僅考慮了像素空間的幾何距離,雙邊濾波是一種考慮圖像空間相似性的非線性濾波方法,具有良好的邊緣保持效果。由于雙邊濾波是基于高斯濾波的,距離處理的紗線像素點(diǎn)較遠(yuǎn)的紗線灰度值不影響紗線邊緣的灰度值[12],因此,雙邊濾波輸出像素的灰度值取決于周圍像素的灰度值,其灰度值計(jì)算公式為
(2)
式中:g(i,j)代表輸出點(diǎn)的像素灰度值;f(k,l)代表輸入點(diǎn)的像素灰度值;ω(i,j,k,l)取決于空間核和值域核的乘積,計(jì)算公式為
(3)
傳統(tǒng)雙邊濾波的權(quán)值是根據(jù)像素的空間位置信息和像素的灰度值信息來(lái)更新,更新速度比較慢且效果不是很理想。為了縮短雙邊濾波的處理時(shí)間以及增強(qiáng)濾波效果,采用正態(tài)分布99.7%的面積在平均值左右3個(gè)標(biāo)準(zhǔn)差的范圍內(nèi)的函數(shù)性質(zhì),并通過(guò)改進(jìn)雙邊濾波空間標(biāo)準(zhǔn)差σd的選擇可以增加處理精度,標(biāo)準(zhǔn)差σd選擇為濾波模板的半徑r的三分之一。
對(duì)于灰度標(biāo)準(zhǔn)差σr的計(jì)算,記錄濾波窗口像素的灰度值,利用樣本的概率分布函數(shù)法得到濾波窗口噪聲的標(biāo)準(zhǔn)差σn,其計(jì)算方法如式(4)所示。σn和σr之間的線性關(guān)系是σr=2σn。
(4)
式中:H和W為圖像g的長(zhǎng)和寬;D=(1,-2,1),是與拉普拉斯濾波器相關(guān)的高斯濾波器的參數(shù)。
實(shí)驗(yàn)中使用帕德逼近對(duì)輸出函數(shù)ω(i,j,k,l)進(jìn)行逼近,其中需要在函數(shù)范圍{βi,αi}中取2n個(gè)參數(shù),Ω(i,j)是以像素點(diǎn)f(i,j)為中心的窗口,采樣間隔為T。逼近后的輸出函數(shù)如式(5)所示。逼近效果圖證實(shí)改進(jìn)效果的準(zhǔn)確性,逼近效果圖如圖3所示。
(5)
圖3 范圍核逼近曲線Fig.3 Range kernel approximation curve
采用改進(jìn)的濾波算法對(duì)紗線圖像進(jìn)行濾波后的效果如圖4所示。
圖4 紗線濾波后圖像Fig.4 Yarn image after filtering.(a) Coarse yarn; (b) Fine yarn; (c) Normal yarn
為了能夠有效地凸顯紗線條干所在的區(qū)域以及消除噪聲點(diǎn)的干擾,對(duì)Otsu閾值分割算法進(jìn)行改進(jìn),從而對(duì)紗線圖像進(jìn)閾值分割。
Otsu閾值分割是灰度自適應(yīng)閾值分割算法,Otsu方法將圖像分為2部分:前景和背景。通過(guò)閾值區(qū)分前景與背景,當(dāng)類間方差最大時(shí),得到最佳分割閾值[13],類間方差最大,也意味著錯(cuò)誤率最小。但是此方法的缺點(diǎn)是需要計(jì)算每個(gè)閾值的類間方差,導(dǎo)致計(jì)算量過(guò)大[14]。
針對(duì)算法選擇最佳閾值時(shí)間過(guò)長(zhǎng)的缺點(diǎn),對(duì)閾值分割算法進(jìn)行改進(jìn)。將圖像分為4個(gè)區(qū)域:A代表紗線圖像區(qū)域;B代表背景區(qū)域;C代表紗線邊緣區(qū)域;D代表噪聲區(qū)域。s和t為區(qū)域的邊界,L為圖像中最大像素點(diǎn)灰度值。
改進(jìn)的閾值分割算法通過(guò)迭代閾值搜索圖像子區(qū)域進(jìn)行圖像分割,首先通過(guò)子區(qū)域的計(jì)算得到最佳分割閾值,計(jì)算公式為
(6)
式中:uAi和uAj代表紗線圖像區(qū)域的中心平均值;uBi和uBj代表背景和邊緣區(qū)域的中心平均值;uOi和uOj代表圖像總中心平均值;Pij為像素點(diǎn)出現(xiàn)在灰度值i和局部平均灰度值j之間的概率密度函數(shù)。
根據(jù)最佳分割閾值將圖像分為2類,計(jì)算2類的灰度均值。然后在第1次迭代時(shí)根據(jù)2個(gè)灰度均值將圖像分成3個(gè)區(qū)域:前景F、背景B、待處理區(qū)T。其中T是存在于前景灰度均值與背景灰度均值之間的像素區(qū)域。此時(shí)的圖像分布I為
I=F[1]∪B[1]∪T[1]
(7)
在第2次迭代及后續(xù)迭代時(shí)只針對(duì)T區(qū)域,選擇新的最佳分割閾值將T區(qū)域再次分為前景和背景2個(gè)區(qū)域,通過(guò)前景和背景的灰度均值再次進(jìn)行區(qū)域劃分得到新的F、B、T。
以此類推,在第N次迭代時(shí),圖像變?yōu)?類,即:
F=F[1]∪F[2]∪…F[n+1]
(8)
B=B[1]∪B[2]∪…B[n+1]
(9)
使用改進(jìn)后的閾值分割算法對(duì)紗線圖像進(jìn)行處理,結(jié)果如圖5所示。
圖5 紗線二值圖像處理圖Fig.5 Yarn binary image processing diagram.(a) Coarse yarn; (b) Fine yarn; (c) Normal yarn
改進(jìn)的閾值分割算法節(jié)約了大量運(yùn)行時(shí)間,保證了處理效果,平均運(yùn)算速度提升了20%以上。
考慮到紗線的形狀,采用方形算子對(duì)腐蝕和膨脹后的圖像細(xì)節(jié)進(jìn)行處理。通過(guò)膨脹和腐蝕的閉合操作,可以將紗線圖像中斷裂的纖維連接起來(lái),并且不改變紗線的邊緣信息[15]。然后使用腐蝕操作,可以將圖像中紗線的總體大小變?yōu)樵即笮。⑶胰コ喚€殘紗,如圖6所示。處理后的紗線適用于后續(xù)紗線疵點(diǎn)的判定。
圖6 紗線數(shù)學(xué)形態(tài)學(xué)處理圖Fig.6 Yarn mathematical morphology processing diagram.(a)Expansion diagram of coarse yarn; (b) Corrosion diagram of coarse yarn; (c)Expansion diagram of fine yarn; (d) Corrosion diagram of fine yarn; (e)Expansion diagram of normal yarn; (f) Corrosion diagram of normal yarn
針對(duì)處理好的紗線圖像,考慮紗線判斷準(zhǔn)確性的要求,本文設(shè)計(jì)了基于圖像的亞像素進(jìn)行紗線疵點(diǎn)判斷的方法。通過(guò)亞像素點(diǎn)的檢測(cè)計(jì)算來(lái)判斷紗線是否具有疵點(diǎn),可以很好地避免之前未去除掉的偶然光亮點(diǎn)的影響,具體步驟如下。
首先對(duì)處理完畢的圖像進(jìn)行亞像素角點(diǎn)檢測(cè),得到紗線邊緣的亞像素點(diǎn)信息;通過(guò)亞像素點(diǎn)信息計(jì)算,得到精確的紗線直徑信息。亞像素點(diǎn)角點(diǎn)采集如圖7所示。
圖7 亞像素邊緣檢測(cè)Fig.7 Subpixel edge detection.(a) Coarse yarn; (b) Fine yarn; (c) Normal yarn
其次,通過(guò)亞像素點(diǎn)角點(diǎn)檢測(cè)已經(jīng)得知紗線的邊緣位置,從紗線邊緣開始采集像素點(diǎn)個(gè)數(shù);記錄列像素點(diǎn)的位置信息,設(shè)置變量p為1,o為當(dāng)前的行像素點(diǎn)位置;如果像素點(diǎn)搜索完畢,則進(jìn)行下一步,如果沒(méi)有,則繼續(xù)收集紗線的列像素灰度值;列像素點(diǎn)搜索完畢后,判斷搜索的p列像素點(diǎn)的列像素點(diǎn)中第o個(gè)列像素點(diǎn)的灰度值是否大于閾值,如果大于閾值,執(zhí)行下一步操作,如果沒(méi)有,變量o的值+1。繼續(xù)判斷列像素點(diǎn)灰度值是否大于閾值,當(dāng)灰度值大于閾值后,從p列的o像素點(diǎn)記錄連續(xù)列像素點(diǎn)的個(gè)數(shù),判斷處理后的紗線圖像列中連續(xù)列像素點(diǎn)個(gè)數(shù)是否大于列像素點(diǎn)個(gè)數(shù)的四十分之一。若是,變量p的值+1并輸出紗線疵點(diǎn)類型;若否,輸出細(xì)節(jié),變量p的值+1,變量o重新賦值為紗線邊緣值。
最后,由于紗線疵點(diǎn)中細(xì)節(jié)是一段長(zhǎng)度為4 mm以上且直徑是此紗線型號(hào)標(biāo)準(zhǔn)直徑50%~80%的疵點(diǎn),粗節(jié)是一段長(zhǎng)度為4 mm以上且直徑超過(guò)此型號(hào)標(biāo)準(zhǔn)紗線直徑50%的疵點(diǎn),短粗節(jié)是一段直徑急劇增加的紗線,直徑為1~4 mm,因此,對(duì)于紗線直徑的計(jì)算需要統(tǒng)計(jì)符合條件的連續(xù)列像素點(diǎn)個(gè)數(shù),通過(guò)符合條件的列像素點(diǎn)個(gè)數(shù)與像素點(diǎn)所代表的實(shí)際尺寸的乘積計(jì)算紗線直徑。然后判斷符合條件的連續(xù)列像素點(diǎn)位置的灰度值連續(xù)的行像素點(diǎn)個(gè)數(shù)是否達(dá)到采集到的紗線圖像行像素點(diǎn)個(gè)數(shù)的三十分之一。若是,輸出紗線直徑;若否,變量p的值+1并搜索下一列像素點(diǎn)個(gè)數(shù)是否符合條件。定義直徑偏差率為該類型檢測(cè)直徑與正常紗線平均直徑的偏差,本文對(duì)3種線密度的紗線進(jìn)行了檢測(cè)。各種型號(hào)的紗線實(shí)測(cè)結(jié)果如圖8所示。
圖8 紗線檢測(cè)結(jié)果Fig.8 Yarn detection results.(a) 14.6 tex yarn;(b) 18.2 tex yarn;(c) 27.8 tex yarn
為了驗(yàn)證本文方法的有效性。將本文算法與Otsu檢測(cè)方法[16]、FCM方法[17]以及USTER檢測(cè)法結(jié)果進(jìn)行對(duì)比,檢測(cè)結(jié)果如圖9所示。采用傳統(tǒng)方法和亞像素方法對(duì)14.6 tex紗線疵點(diǎn)進(jìn)行檢測(cè)的結(jié)果如表2所示。
圖9 紗線直徑對(duì)比圖Fig.9 Comparison of yarn diameter
本文設(shè)計(jì)的基于改進(jìn)圖像閾值分割的紗線疵點(diǎn)檢測(cè)系統(tǒng)主要用于紗線疵點(diǎn)的判斷。比較表2數(shù)據(jù)發(fā)現(xiàn),該系統(tǒng)圖像平均處理時(shí)間提高了20%,實(shí)時(shí)性好,可以滿足低速紗線檢測(cè)的要求。此外,采用亞像素方法計(jì)算紗線直徑,對(duì)于14.6 tex的紗線邊緣平均定位精度可達(dá)0.12像素,紗線疵點(diǎn)的偏差率降低了1.4%以上,結(jié)果如表2所示。在實(shí)際的紗線檢測(cè)過(guò)程中,較高的檢測(cè)精度將使工業(yè)應(yīng)用生產(chǎn)成本降低。
表2 樣本測(cè)試結(jié)果Tab.2 Sample test results
針對(duì)紗線疵點(diǎn)的實(shí)時(shí)檢測(cè),設(shè)計(jì)了紗線檢測(cè)控制界面,如圖10所示。
圖10 紗線控制界面Fig.10 Yarn control interface. (a)Yarn qualification drawing interface; (b)Yarn unqualification drawing interface
在控制系統(tǒng)界面中對(duì)粗紗、細(xì)紗和普通紗進(jìn)行了結(jié)果輸出。由于粗、細(xì)紗屬于不合格紗,因此在人機(jī)交互界面輸出顯示為不合格紗。在人機(jī)交互界面上有用來(lái)顯示整個(gè)檢測(cè)系統(tǒng)的電源狀態(tài)、運(yùn)動(dòng)控制狀態(tài)、急停觸發(fā)狀態(tài)、伺服啟用、運(yùn)動(dòng)狀態(tài)是否正常的標(biāo)志,并且在人機(jī)界面上還可以調(diào)節(jié)紗線生產(chǎn)速度和系統(tǒng)亮度。
本文提出了基于改進(jìn)閾值分割圖像的紗線檢測(cè)方法,該方法在搭建的紗線圖像采集系統(tǒng)上,結(jié)合改進(jìn)的雙邊濾波算法、改進(jìn)的Otus閾值分割算法和數(shù)學(xué)形態(tài)學(xué)處理方法,實(shí)現(xiàn)了紗線圖像的快速處理和準(zhǔn)確識(shí)別。使用基于亞像素點(diǎn)個(gè)數(shù)的紗線疵點(diǎn)判斷方法,實(shí)現(xiàn)了對(duì)于粗節(jié)、細(xì)節(jié)、正常紗線的識(shí)別,并且在識(shí)別效率上提高了20%。該方法針對(duì)存在偶然亮點(diǎn)的圖像具有很好的抗干擾能力,為紗線疵點(diǎn)檢測(cè)系統(tǒng)提供了一種較為有效的處理方案。