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