李靖宇, 沈丹峰, 王 玉, 李耀杰
(西安工程大學 機電工程學院, 陜西 西安 710600)
紡織生產(chǎn)中多道工序都存在筒子紗的使用,比如絡筒、整經(jīng)和織布。采用機械手+AGV模式的自動運紗車進行筒子紗的上下機和搬運,能夠降低勞動用工。課題組以無梭織機車間緯紗筒子的自動更換為背景,研究緯紗架上的紗筒采用機械手更換的方向。滿筒紗從運輸車輛裝載到緯紗架或空筒紗管從緯紗架卸載到運輸車輛是筒子紗搬運的2個過程。筒子紗的自動搬運涉及到的關鍵技術是筒子紗的視覺檢測。圖像紗筒的邊緣信息是紗筒的基本特征,通過邊緣信息的提取,可以判別紗筒的大小與朝向,從而驅(qū)動機械手完成紗筒抓取工作。圖像邊緣保留濾波算法主要有高斯雙邊濾波和均值遷移濾波,該方法本質(zhì)上是一種基于非參數(shù)概率密度梯度估計的迭代算法,在統(tǒng)計的特征空間內(nèi)實現(xiàn)了邊緣細節(jié)的平滑。
課題組采用改進的均值遷移濾波方法完成筒子紗邊緣信息檢測。對于均值遷移(mean-shift, MS)濾波算法,林俊杰等[1]將ANBF算法嵌入到了均值遷移算法中,提高了MS算法去除噪點的效率。張文忠等[2]在均值遷移的框架下結合卡爾曼濾波器,即使目標物被遮擋,仍可以穩(wěn)定地識別追蹤。溫宗周等[3]提出了一種改進粒子濾波與均值遷移特征融合的目標追蹤算法,在目標移動過程中受到光照或相似顏色的影響時,跟蹤的效果最佳。張曉磊等[4]基于均值漂移與空間信息的導向引入目標函數(shù),改善對圖像去噪能力的魯棒性,提高了分割精度。宋驪平等[5]提出了一種基于均值漂移和雙層結構模型為群目標的假設密度濾波算法,解決了群目標合并、交叉或分裂前后數(shù)目存在的漏估現(xiàn)象。王文勝等[6]設計了一種分塊加權模板改進頻率的檢測算法,提高了紗籠桿的自動化的檢測效率。金守峰等[7]將對抗式神經(jīng)網(wǎng)絡將筒子紗的數(shù)據(jù)擴充,采用訓練多次的神經(jīng)網(wǎng)絡定位筒子紗,可以實現(xiàn)多個筒子紗的抓取工作。張新建等[8]設計了基于機器視覺的筒子紗密度檢測系統(tǒng)。鄭軍等[9]開發(fā)了分布式筒子紗自動收集與輸送系統(tǒng)。劉秀平等[10]和范狄等[11]針對不同位姿的工件,提出了面向裝配機器人的識別和定位方法。Huang等[12]針對遙感高光譜圖像,采用自適應均值遷移算法對圖像進行區(qū)域分割和濾波,每個樣本點在基于圖像空間位置鄰域的異質(zhì)性自適應估計。Zhang等[13]提出了迭代滾動引導濾波器,在保持高對比度邊緣的同時,選擇性的過濾小尺度細節(jié)。Elad等[14]提出整合RGF和SIR的思路,并稱之為交替引導濾波,能夠有效地消除小尺度細節(jié),并保留圖像中的重要邊界。He等[15]系統(tǒng)地給出了引導濾波的定義、快速實現(xiàn)方法和多種應用案例,與之前各種濾波器相比,引導濾波建立在離散信號的局部線性假設之上,濾波結果綜合了引導圖像和輸入圖像的結構特點。
本研究針對的是紡織廠中的筒子紗識別,由于受到環(huán)境和紗線紋理等影響導致圖像易產(chǎn)生噪聲,因此傳統(tǒng)的方法對筒子紗的識別效果并不理想。課題組通過基于均值遷移濾波算法與邊緣檢測方法的結合,使得圖像降噪同時保留筒子紗的輪廓,并且得到筒子紗的外接輪廓與質(zhì)心,利用橫縱比的計算可對筒子紗的放置狀態(tài)做出判斷。課題組提出的組合方法雖在復雜多變的場合尚有一定的局限性,但在常見的環(huán)境中對于目標的識別檢測具有良好的效果。
筒子紗的圖像采集系統(tǒng),包括CMOS工業(yè)相機、LED光源、待測的筒子紗和PC機。其中工業(yè)相機的型號為MER-500-14GM,機械尺寸為29 mm×29 mm×29 mm,分辨率為(2 592×1 944) ppi,幀率為14幀/s,像素尺寸為2.2 μm×2.2 μm,鏡頭接口為C口,觸發(fā)模式為軟件觸發(fā),同時兼容opencv調(diào)用相機。相機和LED光源安裝在手眼一體抓紗機械手的上端,隨著機械手一起移動。抓紗機械手安裝在筒子紗運輸車輛上,在采集筒子紗的圖像信息時,采用單目成像。圖像質(zhì)量主要由抓紗機械手和紗筒兩者的相對關系來決定。根據(jù)兩者不同的相互位置和運動情況,可構成不同的成像結果,圖像采集系統(tǒng)如圖1所示。
圖1 圖像采集系統(tǒng)示意圖Figure 1 Schematic diagram of image collection system
課題組針對單一目標筒子紗的識別檢測流程如圖2所示。
圖2 筒子紗的識別檢測流程圖Figure 2 Flow chart of cheese identification and detection
首先對輸入的源圖像進行銳化處理,增強筒子紗的邊緣細節(jié),接著均值遷移濾波器實現(xiàn)去噪,Canny邊緣檢測檢驗去噪效果和邊緣等信息是否丟失,再通過目標的外接矩形找出筒子紗;這時若圖像僅存在1個矩形且為筒子紗輪廓的最小外接矩形,則繼續(xù)幾何矩計算輪廓中心和橫縱比過濾,找到筒子紗的質(zhì)心并判斷筒子紗的擺放姿態(tài)。若存在多個矩形或不是筒子紗輪廓的最小外接矩形,則要修改均值遷移濾波器pyrMeanShiftFiltering中的參數(shù)Rsp(色彩域半徑)和Rsr(空間域半徑),直至得到單一且準確的目標。
圖像銳化是利用擴大高頻分量來降低圖像的模糊程度,加強圖像輪廓和邊緣細節(jié)信息。灰度反差越明顯,越易于后期對目標的識別檢測。圖像銳化的本質(zhì)是原圖權重像素與拉普拉斯濾波相結合輸出效果。拉普拉斯算子是二次線性微分算子,具有旋轉不變性,能夠滿足在不同方向圖像邊緣的銳化要求,其獲得的邊界比較細,包含較多的細節(jié)信息。圖像銳化的Laplacian公式為:
(1)
式中:i,j分別為圖像中的像素點。
由式(1)可以看出,Laplacian算子是4倍中心元素值與其鄰域值和之差的絕對值,常用的3種Laplacian算子模板:
在圖像的預處理階段,為了提升銳化的效果,同樣可以脫離線性微分計算的規(guī)則,在原有的算子基礎上修改模板系數(shù),得到適合的Laplacian變形算子。
對于一定數(shù)量的像素點樣本,任選其中一個樣本,以該樣本為中心點劃定一個圓形區(qū)域,求取圓形區(qū)域中樣本密度最大處的點,即像素點的質(zhì)心。再以該質(zhì)心點為中心執(zhí)行迭代過程,直到最終收斂。在圖像開窗操作的時候,同時篩選在空間范圍分布的像素點,符合閾值要求的像素點參與迭代計算,基于不斷更新的均值位置遷移直到不再變化,且設置特定的遷移次數(shù)作為停止條件,最終的RGB均值將賦值給中心位置。如圖3(a)到3(b),圓心遷移至樣本區(qū)域的質(zhì)心,此過程完成了一次迭代運算,獲得了新的中心位置;圖3(c)到3(d),完成了整個迭代過程,此時找的中心位置到達最終位置,即該圖像中密度最大處的點。
圖3 空間域像素點均值遷移的迭代過程Figure 3 Iterative process of pixel mean migration in spatial domain
參數(shù)可調(diào)的均值遷移濾波算法的執(zhí)行過程:
1) 在原圖像上任取一點A0為圓心,構建色彩域半徑為Rsr和空間域半徑為Rsp的球形空間,色彩域和空間域的參數(shù)分別為RGB三通道和x,y坐標取值,其中空間域的范圍是圖像的分辨率大小,色彩域的范圍是在0~255。
2) 在1)中構建的迭代空間中,計算篩選后的像素點相對于中心點的色彩向量之和,迭代空間的中心點移動到該向量的終點,并再次計算所有新樣本點的向量之和,如此迭代,在最后一個樣本空間內(nèi)求得向量和的終點即該空間球體的中心點An,迭代結束。
3) 不斷更新圖像上初始中心點A0的色彩值為本輪迭代的終點An的色彩值,迭代過程形成了一個點的色彩均值漂移。對于輸入圖像上其他像素點,重復執(zhí)行1)、2)步驟覆蓋所有點位后,均值遷移色彩濾波完成。
4) Canny邊緣檢測計算圖像梯度并求出圖像邊緣的幅值與方向,再利用圖像邊緣的細化和雙閾值邊緣處理,輸出二值化圖像。
5) 通過輪廓外接矩形標記筒子紗,如果形成單一矩形則濾波算法完成;否則,修改參數(shù)Rsp和Rsr,返回1)。
在這個過程中,Rsp和Rsr參數(shù)值影響紗筒數(shù)目的準確性。由于這種方法是基于非參數(shù)概率密度梯度估計,并沒有一個設置準則。為了獲得合適的Rsp和Rsr參數(shù)值,以達到準確檢測紗筒數(shù)目的目的。通過多次實驗,對不同灰度圖像手動調(diào)整Rsp和Rsr,發(fā)現(xiàn)最佳的Rsp和Rsr參數(shù)與整幅圖像RGB三通道灰度均值之和的均值MRGB(Mean RGB)相關,選取MRGB為[50,200]對應參數(shù)的效果圖,通過MRGB與參數(shù)的對比做出實驗統(tǒng)計結果如表1所示。
表1 不同MRGB對比下Rsp和Rsr參數(shù)的參考值
通過最小二乘法將表1的數(shù)據(jù)擬合成曲線,并推導出MRGB與Rsp和Rsr參數(shù)的擬合曲線函數(shù)。
圖4中MRGB與Rsp參數(shù)的擬合曲線近似為一條直線,即擬合曲線函數(shù)為
yp=0.2xm-4.5。
(2)
同樣圖5推出MRGB與Rsr參數(shù)的關系式為
(3)
式中xm為橫坐標。
圖4 MRGB與Rsp參數(shù)值擬合曲線Figure 4 Fitting curve of MRGB and Rsp parameter values
圖5 MRGB與Rsr參數(shù)值擬合曲線Figure 5 Fitting curve of MRGB and Rsr parameter value
運用表1所列出的數(shù)據(jù)和擬合曲線函數(shù)作為參考,自適應調(diào)整Rsp與Rsr的參數(shù)值,減少流程中循環(huán)次數(shù),提高方案的執(zhí)行效率。
幾何矩可以計算筒子紗的中心位置。圖像所計算出的矩集表示的是圖像信息的總體特征,同樣包含大量圖像形狀的幾何特征信息,例如尺寸、方向和位置等。圖像中的幾何矩集包括中心矩、歸一化矩和空間矩。幾何矩具有良好的尺度和方位不變性,零階矩和一階矩計算圖像中某個目標的重心,二階矩則是計算目標的方向。對于二值化圖像的邊緣細節(jié)等信息,通過計算圖像的幾何矩與中心位置可以算出圖像的中心矩和Hu矩。OpenCV中利用API函數(shù)moments便可一次得出中心矩、歸一化矩和空間矩3種矩。
ic=R10/R00;jc=R01/R00。
(4)
式中:R00是零階矩;R10,R01是一階矩;ic和jc是圖像的重心坐標,i+j=n稱為n階矩。
當外部有噪聲干擾時,該方法的優(yōu)點是對噪聲不敏感,計算出的質(zhì)心不會有太大的偏離。
筒子紗形狀方向為:
(5)
通過外接輪廓的計算得到最小與最大外接輪廓的寬和高,由此可以判斷筒子紗的放置狀態(tài),橫縱比過濾的公式為
(6)
式中:w為外接輪廓的寬;h為外接輪廓的高。
當rratio>0.9時,圖像識別的形狀近似為圓形,筒子紗的姿態(tài)為豎直放置;當rratio<0.5時,圖像識別的形狀近似為矩形,即筒子紗的姿態(tài)即為水平放置。
實驗中算法運行環(huán)境為Windows 10和8 GB RAM內(nèi)存的PC機,使用intel(R) Core(TM)i7-8750H CPU@2.20HZ的處理器,在VS2015平臺上選用Opencv開源圖像處理數(shù)據(jù)庫進行實驗。實驗分為2部分:①對單一目標的筒子紗進行識別,按照流程圖中步驟得出實驗結果,同時將結果對比其他算法;②對多個紗筒進行識別,不同數(shù)量的目標對應不同數(shù)量的外接矩形,并做多組實驗,得出實驗的準確率。
首先是對于單一的筒子紗的識別,以實際紡織廠中的筒子紗為研究對象,結果如圖6所示。圖6(a)為工業(yè)相機拍到的筒子紗,經(jīng)過圖像銳化處理得到圖6(b),圖6(c)為Canny邊緣檢測的結果,可以清楚的看到圖像中的噪聲。圖6(d)~6(f)為改進算法結果,圖6(g)~6(k)為均值濾波算法結果,2種方法均基于圖像的銳化處理。
圖6 單一目標筒子紗的識別結果Figure 6 Recognition result of single target cheese
從圖6可看出:圖6(e)中外接矩形數(shù)目只有一個,黑色的點為外接輪廓的質(zhì)心;圖6(f)的Canny邊緣檢測中消除了噪聲,筒子紗的邊緣細節(jié)保留完整。圖6(h)與圖6(i)中的噪聲明顯產(chǎn)生了多個矩形,并且邊緣部分存在缺失。對比可以得出,課題組提出的均值遷移濾波算法具有良好的去噪和邊緣保留效果,得到的外接輪廓確定中心位置,且準確地完成了筒子紗的識別檢測。
均值遷移濾波算法同樣可以實現(xiàn)對于多目標的識別。以紗筒為研究對象,設置需要識別的外接矩形數(shù)目,其他采用與單一目標相同的流程步驟,結果如圖7所示。
圖7 多目標紗筒的識別結果Figure 7 Recognition result of multi-target yarn cheese
圖7(a)是將相機拍攝角度位于垂直放置紗筒的一側,經(jīng)過一系列流程算法的處理,得到圖7(d)。根據(jù)橫縱比的過濾,可以看出不同放置狀態(tài)的紗筒被準確地識別,同時運用不同顏色的外接輪廓矩形,其中淺色表示水平放置,深色為垂直放置,由此可以判斷紗筒的放置狀態(tài)。對于多目標的識別檢測,圖7(e)的Canny的邊緣檢測結果顯示去噪效果良好且邊緣沒有缺失。
為了驗證改進算法的識別效率,選取20個紗筒為檢測樣本進行10組實驗,并且保證紗筒水平與垂直狀態(tài)隨機擺放,實驗結果如表2所示。檢測目標矩形準確率公式為:
檢測準確率
該實驗選取的圖像背景為紗筒運輸車鍍鋅底盤和織布車間的水磨石地面。這2種背景顏色與紗筒紋理較為接近,從10組實驗的準確率數(shù)據(jù)可以得出改進算法在復雜多變的環(huán)境中對多個目標的識別仍存在一定的誤差。10組實驗的平均準確率達到了93.8%,證明改進算法仍具有較高的識別效率,可以滿足多數(shù)情況下對筒子紗或紗筒的識別檢測。
為了滿足對筒子紗的精確識別檢測,課題組提出了一套基于參數(shù)可調(diào)的均值遷移濾波算法的流程設計。
1) 通過獲取圖像的MRGB,自適應修改均值遷移濾波算法的Rsp與Rsr參數(shù)值,提高了方案的執(zhí)行效率,確保圖像中筒子紗識別檢測的魯棒性。
2) 采用幾何矩計算外接輪廓的中心位置與橫縱比的過濾可以實現(xiàn)質(zhì)心定位和放置狀態(tài)的判別。
3) 改進算法在復雜背景下的多紗筒識別準確率達到了93.8%,表明課題組提出的方案具有較高的準確性。在接下來的工作中,可以結合相機標定得到筒子紗的質(zhì)心坐標,利用機械手實現(xiàn)筒子紗的抓取工作。