王文勝, 李天劍, 冉宇辰, 盧 影, 黃 民
(1. 北京信息科技大學(xué) 機(jī)電工程學(xué)院, 北京 100192;2. 北京機(jī)科國創(chuàng)輕量化科學(xué)研究院有限公司, 北京 100083)
筒子紗染色是紗線的主要染色方法[1]。目前,大多數(shù)的筒子紗染色企業(yè)采用人工裝卸紗的方式,這種作業(yè)方式用工量大,勞動(dòng)強(qiáng)度高,工作環(huán)境惡劣,而且效率低,已不能夠滿足印染行業(yè)實(shí)現(xiàn)智能化的需要,因此,裝卸紗過程的自動(dòng)化已經(jīng)成為一種趨勢(shì)。由于老舊紗籠沒有配合自動(dòng)裝卸紗的要求,所以紗籠上紗桿的剛性普遍較差,經(jīng)過長時(shí)間的人工裝卸紗,紗桿變形嚴(yán)重,紗桿與紗籠底座間的垂直度已無法滿足自動(dòng)裝卸紗的要求,并且更換現(xiàn)有紗籠紗桿的成本較高,此時(shí)需要對(duì)紗桿進(jìn)行校正。傳統(tǒng)方法采用人工判斷的方式來確定偏移紗桿是否需要調(diào)整校正,但這種方式效率低、準(zhǔn)確性不高、受人為因素影響嚴(yán)重。
本文采用機(jī)器視覺的方式進(jìn)行紗桿的定位檢測(cè),這種方式可以不再使用人力進(jìn)行測(cè)量,大大節(jié)約了人力資源;同時(shí)自動(dòng)化程度提高,機(jī)器代替人工大大加快了整個(gè)筒子紗染色行業(yè)的現(xiàn)代化步伐。但是由于現(xiàn)場(chǎng)環(huán)境光線并非穩(wěn)定不變,廠房窗戶和頂燈照明都會(huì)影響成像結(jié)果,加之生產(chǎn)工藝設(shè)置和材質(zhì)問題,隨著紗籠的使用,紗籠紗桿的桿頭會(huì)產(chǎn)生磨損、缺口、生銹等缺陷,導(dǎo)致攝像頭采集到的紗桿桿頭圖像不是均勻穩(wěn)定的圓形圖像,而是斷裂、缺陷等不規(guī)則形狀。此時(shí)無法通過傳統(tǒng)簡單方法準(zhǔn)確地提取紗桿桿頭的圖像,從而使檢測(cè)出的結(jié)果不準(zhǔn)確。同時(shí),由于工廠內(nèi)窗口為透明玻璃,白天自然光會(huì)透過窗戶照射形成干擾,導(dǎo)致檢測(cè)環(huán)境光線不是完成一致的,就需要算法具有一定的抗光學(xué)干擾能力。
針對(duì)筒子紗紗籠紗桿的定位檢測(cè)問題,吳士斌等[2]設(shè)計(jì)了一種紗桿定位裝置,但這是根據(jù)機(jī)械的方式,同時(shí)解決的是自動(dòng)裝卸紗時(shí)的紗桿定位問題,而非針對(duì)紗桿偏移的校正問題。由于本文采取機(jī)器視覺的方式,可以歸結(jié)到紗桿桿頭圖像的提取問題,但在視覺領(lǐng)域中目標(biāo)提取與缺陷檢測(cè)是一個(gè)比較復(fù)雜的問題,不同的物體的提取方式和方法差異也很大。由于筒子紗紗桿定位檢測(cè)方面的相關(guān)文獻(xiàn)較少,針對(duì)紗桿桿頭圖像的分割提取檢測(cè)方面的文獻(xiàn)更是無從查找。但是針對(duì)圓形物體的檢測(cè)識(shí)別提取,目前工業(yè)上常用方法主要是采用傳統(tǒng)圖像處理的方法,比如模板匹配法[3]、邊緣檢測(cè)法[4]等。圖像分割方法主要分為閾值分割法、區(qū)域分割法和邊緣分割法等。閾值分割方法計(jì)算簡單,運(yùn)算效率高,被廣泛應(yīng)用。最大類間方差法(OTSU)[5]是典型的自適應(yīng)閾值分割方法,該方法依據(jù)背景和目標(biāo)區(qū)域間最大類間方差來獲取門限值,將圖像背景和目標(biāo)區(qū)域分離,但紗桿與背景均為金屬材質(zhì),前景與背景對(duì)比并不明顯。為使紗桿桿頭區(qū)域和背景區(qū)域間的類間方差增大,需對(duì)圖像進(jìn)行顯著性檢測(cè)處理,提高紗桿桿頭和背景區(qū)域的對(duì)比度。
常用的圖像顯著性檢測(cè)方法有Itti等提出的快速場(chǎng)景分析顯著模型[6],譜殘差(SR)法[7],基于圖論的視覺顯著性(GBVS)方法[8],線性迭代聚類超像素分割(SLIC)法[9],頻率調(diào)諧顯著(FT)法[10]等方法。Itti法是根據(jù)圖像灰度信息,對(duì)輸入圖像首先進(jìn)行多個(gè)特征通道和多尺度分解,再進(jìn)行濾波得到特征圖,再對(duì)特征圖融合得到最終顯著圖,這是模擬生物體視覺注意機(jī)制的選擇性注意算法,比較適合處理自然圖像。SR方法則基于空間頻域分析的剩余譜算法,利用殘余譜進(jìn)行傅里葉逆變換,得到顯著圖。該方法對(duì)抑制背景穩(wěn)定或者紋理明顯的背景比較有效果。GBVS算法在特征提取的過程中類似Itti算法去模擬視覺原理,但在顯著圖生成的過程引入馬爾可夫鏈,用純數(shù)學(xué)計(jì)算得到顯著值。SLIC算法將彩色圖像RGB通道轉(zhuǎn)化到國際照明委員會(huì)(CIE)規(guī)定的顏色空間Lab空間(CIELab)和XY坐標(biāo)下的5維特征向量,然后對(duì)5維特征向量構(gòu)造距離度量標(biāo)準(zhǔn),對(duì)圖像像素進(jìn)行局部聚類的過程。與上述算法對(duì)比,F(xiàn)T算法具有計(jì)算量小,顯著圖與原圖分辨率相同的優(yōu)點(diǎn);但是該方法要求背景區(qū)域與目標(biāo)區(qū)域具有一定的對(duì)比度才能夠區(qū)分出來,需要進(jìn)行改進(jìn)才能應(yīng)用在紗桿定位檢測(cè)問題中。
本文針對(duì)紗桿桿頭與背景對(duì)比不明顯問題,采用分塊加權(quán)方法改進(jìn)FT顯著性檢測(cè)方法,增強(qiáng)其對(duì)紗桿定位檢測(cè)中目標(biāo)與背景混淆的處理能力。由于紗桿真實(shí)位置位于預(yù)設(shè)位置為中心的區(qū)域內(nèi),初始成像位置設(shè)置在原始預(yù)設(shè)位置,所以紗桿桿頭可能出現(xiàn)的位置的概率距離中心越近越高。增強(qiáng)中心位置權(quán)重能夠有效提高紗桿區(qū)域的顯著性。然后結(jié)合OTSU自適應(yīng)閾值分割方法對(duì)候選區(qū)域進(jìn)行提取,最后通過候選區(qū)域的幾何特征形態(tài)學(xué)篩選得到紗桿桿頭區(qū)域,并提取其質(zhì)心作為紗桿定位位置。為更好地提高紗桿桿頭的顯著性,提高軟件算法的檢測(cè)效率,在硬件方面采用環(huán)形光源局部照射的方法來配合軟件算法。因?yàn)榧啑U高約為2 m,使用環(huán)形弱光源照射紗桿桿頭,可使其圖像明亮,弱化背景區(qū)域干擾。
視覺檢測(cè)算法部分通過工業(yè)相機(jī)采集圖像后,通過改進(jìn)FT算法進(jìn)行顯著性檢測(cè),然后通過閾值分割和形態(tài)學(xué)處理以及霍夫圓擬合得到最終定位結(jié)果。利用先驗(yàn)知識(shí),紗桿在機(jī)械設(shè)計(jì)時(shí)會(huì)有一個(gè)原始真值位置坐標(biāo),工業(yè)相機(jī)首先移動(dòng)到初始位置后進(jìn)行成像,紗桿桿頭會(huì)位于中心位置附近。
設(shè)輸入圖像f大小為m×n,F(xiàn)T算法的實(shí)現(xiàn)過程如下。
首先,將圖像f從RGB空間轉(zhuǎn)換到CIELab顏色空間,并計(jì)算3個(gè)特征分量的平均值Iμ=[Lμ,aμ,bμ]T。
(1)
然后,對(duì)圖像f進(jìn)行高斯濾波,得到新的圖像:
fg=f?G
(2)
式中,G為3×3的高斯濾波器。將高斯濾波后的圖像fg也轉(zhuǎn)換到CIELab顏色空間,得到Ig。
定義圖像f在像素點(diǎn)(x,y)處的顯著值:
S(x,y)=‖Ig(x,y)-Iμ‖
(3)
式中,‖·‖表示向量的空間距離。
針對(duì)紗籠紗桿的定位檢測(cè)問題,使用紗桿的標(biāo)準(zhǔn)位置進(jìn)行初始化,工業(yè)相機(jī)會(huì)先移動(dòng)到初始位置為相機(jī)坐標(biāo)中心;而紗桿存在偏離時(shí),會(huì)以相機(jī)視場(chǎng)為中心向周圍偏離,所以紗桿桿頭可能出現(xiàn)的位置大概率在整個(gè)視場(chǎng)的中央附近區(qū)域,該區(qū)域即為顯著性區(qū)域?;谏鲜霰尘笆聦?shí),本文提出假設(shè):圖像中央附近區(qū)域的顯著值應(yīng)該高于邊緣區(qū)域。
本文對(duì)位于圖像不同位置的區(qū)域進(jìn)行了劃分,將圖像分為A、B、C、D 4個(gè)等級(jí)區(qū)域,如圖1所示。分別求取不同區(qū)域各自的顯著性,并根據(jù)與圖像中心的距離定義每個(gè)區(qū)域顯著性對(duì)應(yīng)著一個(gè)權(quán)重值,距離中心越近,權(quán)重越大。在圖1中,A區(qū)域離圖像中心最近,權(quán)重也最大,D區(qū)域離圖像中心最遠(yuǎn),其權(quán)重最小。
圖1 圖像區(qū)域等級(jí)劃分示意圖Fig.1 Image area level division diagram
首先,將輸入圖像進(jìn)行裁剪,得到以圖像中心坐標(biāo)為中心,短邊長為邊長的正方形圖像f。
然后,計(jì)算圖像f高斯濾波后圖像fg,計(jì)算方法同式(2),fg也轉(zhuǎn)換到CIELab顏色空間,得到Ig。對(duì)Ig不同區(qū)域分別變換到CIELab顏色空間,并分別計(jì)算每個(gè)區(qū)域變換后的3個(gè)特征分量的平均值Ikμ=[Lkμ,akμ,bkμ]T,如式(4)所示:
(4)
式中:k表示不同區(qū)域代號(hào)角標(biāo);n為劃分后區(qū)域的邊長。
同時(shí),為了更加凸顯距離中心位置點(diǎn)的顯著性,本文對(duì)位于圖像不同位置的顯著值進(jìn)行了加權(quán)處理。為了權(quán)衡計(jì)算量問題,本文將整個(gè)圖像分了9大塊,劃分了4個(gè)區(qū)域等級(jí),分別是A、B、C和D,各個(gè)小區(qū)域塊邊長取圖像邊長的1/6。定義圖像f第k塊的顯著性權(quán)值系數(shù):
(5)
式中:Dk為不同區(qū)域?qū)?yīng)的中心距離的權(quán)值,離中心越近的區(qū)域Dk越大,分別定義A、B、C、D區(qū)域?yàn)?、3、2、1;σ為控制系數(shù),本文取區(qū)域塊邊長n。通過ωk進(jìn)行不同區(qū)域顯著性的調(diào)節(jié),距離中心區(qū)域塊越近,顯著性權(quán)值大,計(jì)算后的區(qū)域圖像越顯著。
此時(shí)第k塊圖像顯著值為
SkL(x,y)+Ska(x,y)+Skb(x,y)
(6)
式中:SkL(x,y)、Ska(x,y)和Skb(x,y)分別表示圖像第k區(qū)域的3個(gè)特征分量的顯著值,將每個(gè)區(qū)域拼合起來就是整幅圖像的顯著圖S。
由于顯著值S一般都大于255,所以需要進(jìn)行歸一化處理后才能用來作為圖像顯示[11]。由于3個(gè)分量取值范圍和變化速度均不相同,為了使3個(gè)特征分量都起到作用,消除由于某個(gè)分量過大而淹沒其他2個(gè)分量,本文采取對(duì)3個(gè)分量分別歸一化,然后再累加得到最終顯著值。3個(gè)分量分別歸一化后得到SL(x,y)、Sa(x,y)和Sb(x,y),最終顯著值S(x,y)計(jì)算公式為
S(x,y)=SL(x,y)+Sa(x,y)+Sb(x,y)
(7)
求得顯著圖后,利用OTSU自動(dòng)閾值分割法對(duì)顯著圖進(jìn)行二值化處理,并進(jìn)行形態(tài)學(xué)濾波,去除形狀明顯不是目標(biāo)的區(qū)域,得到結(jié)果圖。通過得到的二值圖像進(jìn)行霍夫變換圓擬合,并提取圓心坐標(biāo)得到紗桿桿頭的圖像坐標(biāo)值,通過坐標(biāo)變換將坐標(biāo)變換到世界坐標(biāo)系中,得到最終的紗桿定位坐標(biāo)。其算法流程如圖2所示。
圖2 紗桿定位檢測(cè)算法流程圖Fig.2 Flow chart of yarn rods positioning detection algorithm
為了驗(yàn)證算法的有效性,采用實(shí)際工廠車間工作環(huán)境現(xiàn)場(chǎng)測(cè)試的方法進(jìn)行實(shí)驗(yàn)分析。實(shí)驗(yàn)場(chǎng)地為山東康平納機(jī)械公司第三裝配車間紗籠,筒子紗染整紗籠紗桿定位檢測(cè)系統(tǒng)主要由門架結(jié)構(gòu)、運(yùn)動(dòng)控制系統(tǒng)和視覺系統(tǒng)組成,如圖3所示。
圖3 紗桿定位檢測(cè)系統(tǒng)整體結(jié)構(gòu)圖Fig.3 Overall structure diagram of yarn rods positioning detection system
染整車間紗籠、紗桿均采用標(biāo)準(zhǔn)化生產(chǎn),每個(gè)紗籠上有120根紗桿,按順序作好標(biāo)記:1號(hào)桿到120號(hào)桿,紗桿頂端平面圓直徑為7 mm,有直徑為5 mm的螺紋孔。紗桿桿長為1 700 mm,背景有波浪形狀圓形底盤。視覺系統(tǒng)采用大恒圖像水星系列GigE數(shù)字?jǐn)z像機(jī),是一款工業(yè)相機(jī),焦距為8 mm。相機(jī)配有一個(gè)環(huán)形光源,可增強(qiáng)檢測(cè)平面的亮度,同時(shí)弱化其他背景的干擾程度。為了獲得更高的分辨率,相機(jī)鏡頭會(huì)盡可能地靠近所檢測(cè)的物體,但距離過近也會(huì)導(dǎo)致透視失真,相機(jī)鏡頭畸變導(dǎo)致像差。綜合考慮,檢測(cè)對(duì)象到相機(jī)鏡頭距離為200~300 mm,相機(jī)與機(jī)械運(yùn)動(dòng)系統(tǒng)Z軸桁架平行安裝保證相機(jī)視場(chǎng)坐標(biāo)系與運(yùn)動(dòng)坐標(biāo)系重合,角度誤差應(yīng)不大于1°??灯郊{車間現(xiàn)場(chǎng)測(cè)試環(huán)境如圖4所示。
實(shí)驗(yàn)過程包括了2種工藝動(dòng)作:視覺定位校準(zhǔn)程序和視覺檢測(cè)程序。首先對(duì)一個(gè)新紗籠進(jìn)行視覺定位校準(zhǔn),將視覺相機(jī)對(duì)中紗籠坐標(biāo),校準(zhǔn)和記錄每個(gè)紗桿的數(shù)據(jù)。當(dāng)需要對(duì)已校準(zhǔn)記錄原始對(duì)中坐標(biāo)的紗籠進(jìn)行檢測(cè)時(shí),運(yùn)行視覺檢測(cè)程序,配合視覺系統(tǒng)進(jìn)行逐桿檢測(cè),使其完成檢測(cè)結(jié)果的記錄和輸出。定位程序邏輯框圖和檢測(cè)程序邏輯框圖分別如圖5、6所示。
圖4 工廠紗桿定位檢測(cè)現(xiàn)場(chǎng)照片F(xiàn)ig.4 Live picture of yarn rods positioning detection in factory
圖5 定位程序邏輯框圖Fig.5 Positioning program logic block diagram
圖6 檢測(cè)程序邏輯框圖Fig.6 Detection program logic block diagram
圖像采集取300×300的視覺中心圖像,改進(jìn)FT算法加權(quán)模板的各區(qū)域塊邊長為50像素。
將改進(jìn)FT算法的分割結(jié)果與OTSU算法[5]、最大熵方法[12]、超像素分割算法[9]以及傳統(tǒng)FT算法[10]的分割結(jié)果進(jìn)行實(shí)驗(yàn)對(duì)比,結(jié)果如圖7~9所示。其中:圖7為選取的正常紗桿成像代表圖片;圖8為紗桿桿頭存在一定缺陷的紗桿圖片;圖9為曝光強(qiáng)一些的圖片,模擬白天工廠光學(xué)變化場(chǎng)景。
由圖7~9中的(b)和(c)圖可看出,由于紗桿底板波浪底盤的反光含有高亮區(qū)域,造成單純基于像素閾值地分割結(jié)果中含有大量底盤區(qū)域信息,無法找到某個(gè)閾值將目標(biāo)和背景分割開來,說明OTSU和最大熵算法不能正確區(qū)分紗桿桿頭和背景區(qū)域。
圖7~9中的(d)圖使用超像素分割方法,灰度值越亮說明越顯著。從結(jié)果中可以看到,采用超像素分割算法會(huì)造成目標(biāo)斷裂,目標(biāo)不在同一級(jí)別的顯著性,尤其是圖8這種存在缺陷的目標(biāo),更難將目標(biāo)完整地分割出來。無法將目標(biāo)分割出來后續(xù)就無法提取目標(biāo)的坐標(biāo)位置。如果降低顯著級(jí),就會(huì)造成大量虛假區(qū)域進(jìn)入,不能滿足要求,而曝光參數(shù)較高的圖9中,目標(biāo)被淹沒在背景的高亮反光區(qū)域中,無法提取出來。
由圖7~9中(e)圖可看出:FT算法在圖7這種無缺陷曝光正常的圖像中的分割結(jié)果較好;但在圖8這種存在缺陷的圖像中會(huì)造成目標(biāo)的斷裂;在圖9這種曝光參數(shù)較高的圖像中會(huì)造成背景區(qū)域過多。這是由于沒有進(jìn)行區(qū)域劃分,均采用全局變換的方式?jīng)]有使用先驗(yàn)知識(shí)對(duì)目標(biāo)區(qū)域進(jìn)行預(yù)判,同時(shí)在全局內(nèi)進(jìn)行同等地位的顯著變換導(dǎo)致目標(biāo)不能突出,所以傳統(tǒng)FT算法無法滿足多場(chǎng)景需求。
圖7 正常標(biāo)準(zhǔn)圖對(duì)應(yīng)的不同分割方法檢測(cè)結(jié)果Fig.7 Different segmentation methods for normal standard images detection results. (a) Original; (b) OTSU algorithm; (c) Maximum entropy method; (d) SLIC algorithm; (e) FT algorithm; (f) Improved FT algorithm; (g) Improved FT algorithm morphology processing; (h) Improved FT final results
圖8 缺陷紗桿圖對(duì)應(yīng)的不同分割方法檢測(cè)結(jié)果Fig.8 Different segmentation methods for defective yarn rods images detection results. (a) Original; (b) OTSU algorithm;(c) Maximum entropy method; (d) SLIC algorithm; (e) FT algorithm; (f) Improved FT algorithm; (g) Improved FT algorithm morphology processing; (h) Improved FT final results
圖9 高曝光參數(shù)圖對(duì)應(yīng)的不同分割方法檢測(cè)結(jié)果Fig.9 Different segmentation methods for high exposure parameter images detection results. (a) Original; (b) OTSU algorithm; (c) Maximum entropy method; (d) SLIC algorithm; (e) FT algorithm; (f) Improved FT algorithm; (g) Improved FT algorithm morphology processing; (h) Improved FT final results
由圖7~9中(f)圖可看出,與其他方法相比使用改進(jìn)FT法對(duì)圖像進(jìn)行處理可以基本準(zhǔn)確地將目標(biāo)分割出來。再使用形態(tài)學(xué)濾波去除小區(qū)域的噪聲可以得到完整的目標(biāo)區(qū)域,如圖7~9中(g)圖所示。通過對(duì)得到的圖像進(jìn)行霍夫圓擬合,最終得到目標(biāo)區(qū)域與目標(biāo)質(zhì)心,即為紗桿所在圖像位置坐標(biāo),如圖7~9中(h)圖所示,這是圖7~9原始圖片的最終檢測(cè)結(jié)果圖。
從最終檢測(cè)結(jié)果可以看出,改進(jìn)FT算法對(duì)筒子紗紗籠紗桿定位檢測(cè)具有良好的效果,可以適應(yīng)不同的工作環(huán)境,對(duì)具有缺陷的紗桿有很好的魯棒性,同時(shí)在光線較強(qiáng)的白天環(huán)境下也能正常工作。
紗桿的頂端圓面直徑為7 mm,紗桿偏移的許用誤差為±10 mm,要求檢測(cè)坐標(biāo)誤差在1 mm以內(nèi)。
對(duì)檢測(cè)數(shù)據(jù)精度進(jìn)行分析,隨機(jī)抽取10個(gè)紗籠,對(duì)每個(gè)紗籠進(jìn)行定位檢測(cè),計(jì)算每個(gè)紗籠120根紗桿的坐標(biāo)與標(biāo)準(zhǔn)值的偏離度數(shù)據(jù),得出每個(gè)紗籠檢測(cè)坐標(biāo)的均值、方差值和最大值,如圖10所示。可以看出:均值較為穩(wěn)定,誤差均在0.21 mm以內(nèi);每個(gè)紗籠方差都較小,說明算法對(duì)不同紗籠能很好地適應(yīng);每個(gè)紗籠誤差的最大值反映了紗籠120根桿中誤差最大桿的誤差量,從而反映了算法的魯棒性,最大誤差不超過1 mm,符合工程應(yīng)用要求。
圖10 紗桿定位檢測(cè)誤差分析圖Fig.10 Yarn rod positioning detection error analysis chart
為解決筒子紗紗籠紗桿長時(shí)間使用發(fā)生歪斜無法裝紗的問題,本文提出了一種改進(jìn)FT顯著性檢測(cè)算法對(duì)紗桿進(jìn)行視覺定位檢測(cè)。此方法利用紗桿桿頭金屬反光特征,通過環(huán)形光源的照射采用機(jī)器視覺的方式對(duì)紗桿桿頭進(jìn)行成像,在圖像中檢測(cè)紗桿桿頭的中心點(diǎn)坐標(biāo)來判斷當(dāng)前紗桿的坐標(biāo)位置。
在圖像內(nèi)檢測(cè)紗桿桿頭坐標(biāo)位置的過程中,通過先驗(yàn)知識(shí)的分析,將目標(biāo)區(qū)域進(jìn)行區(qū)域劃分,將目標(biāo)出現(xiàn)概率大的區(qū)域進(jìn)行權(quán)重加大,再利用改進(jìn)的FT顯著性檢測(cè)算法排除背景反光帶來的干擾,再利用OTSU算法對(duì)處理后的顯著圖進(jìn)行二值化處理并剔除小面積區(qū)域,得到正確的紗桿區(qū)域,最后采用霍夫圓擬合得到紗桿位置坐標(biāo)。在實(shí)驗(yàn)過程中,對(duì)比了當(dāng)前比較經(jīng)典的顯著性檢測(cè)算法,并在工廠中進(jìn)行了現(xiàn)場(chǎng)實(shí)際檢測(cè)實(shí)驗(yàn),發(fā)現(xiàn)本文方法具有一定的抗干擾能力和適應(yīng)不同環(huán)境光的能力,誤差范圍滿足實(shí)際需求,有效解決了筒子紗紗籠紗桿定位自動(dòng)化問題,具有重要的工程應(yīng)用價(jià)值。