周 軍,廖曉波,朱建公
(西南科技大學制造過程測試技術省部共建教育部重點實驗室,四川 綿陽 621010)
當前縫制行業的縫制軌跡是由工程師通過游標卡尺等測量工具測量縫料的邊緣尺寸,再利用CAD 等繪圖軟件繪制出縫制軌跡,最后再利用專用的圖案生成軟件生成可直接供工業縫紉機使用的花樣文件[2]。但是,有許多待縫制的圖案路徑并不規則,各種曲線線條錯綜復雜,這給繪制CAD 的工程師增添了不少麻煩。因此,針對這一問題我們提出了一個基于機器視覺的縫制軌跡自動提取的算法。
對圖案的縫制軌跡進行提取,已經有很多比較成熟的方法。像最簡單的圖像邊緣提取、圖像輪廓提取等。但是傳統的圖像邊緣原理基本都是圖片里面像素值變化最大的地方的梯度,這就意味著使用這些方法提取出的線條包含太多噪聲,同時也包含太多“斷線條”。“斷線條”在縫制過程中會出現不停剪線和跳針的情況,所以不適合用在縫制軌跡提取上。所以針對這一問題,很多學者研究一些算法是專門用來提取物體輪廓的,這大大減少了物體內的不必要的噪聲線條的出現。這也為花樣機的縫制軌跡提取提供了不少方便。比如文獻[3]根據待提取目標的先驗知識,提出了一種基于幾何活動的輪廓提取方法,這種方法對目標提取比較有針對性,對于不同的目標識別性能不太好。文獻[4]利用傳統圖像邊緣提取的弱點,提出了一種基于灰度閾值的圖像輪廓提取方法,這種方法抗干擾能力比較強,但是由于其是對單像素進行操作,對于縫制軌跡的提取會加入太多噪聲。針對這一問題文獻[5]以粒子濾波作為切入點,建立圖像二維空間,以次來增加圖像的信息利用率,提出了一種新的圖像輪廓提取方法。這種方法確實有效緩解了輪廓提取中的絕大多數噪聲,也比較適用于工程應用,但是算法復雜度較大,不太適合于實時領域。為了增強實時效果,文獻[6]在圖像的頻域進行研究,針對城市道路中的綠燈進行優化,提出了基于頻域的圖像輪廓提取方法,這種方法實時性很好,但是算法運用比較局限。文獻[7]針對實時視頻監控領域,利用Douglas-Peucker 算法作為基礎,采用圖像目標輪廓質心的方式來提取目標輪廓,這在很大程度上消除了噪聲的影響,并且也能達到實時性能要求。但是這種方法提取出的輪廓跟目標實際輪廓相差太大,不適用于縫制路徑的提取。同時,國外也有許多輪廓提取的算法,如文獻[8]提出了一種基于圖像像素分類的輪廓提取方式,這向圖像智能識別、智能提取方向邁進了一大步,但是這種算法由于需要事先進行訓練,因此對于縫制軌跡提取不太實用。文獻[9]為了快速準確的提取出圖像目標輪廓,利用康普頓窗重新確定凸輪廓,這主要用于在醫學圖像方面,對于自然圖像的輪廓提取也不是太好。針對自然圖像的輪廓提取中,文獻[10]利用Matting 原理提出了一種基于隨機步長的圖像分割方法,此方法能夠很好地從自然圖像中分割出所需要的目標邊緣,但是由于采用的是步長的方式,輪廓邊緣有非常明顯的“階梯”狀,并且該算法耗時巨大,不適合利用在花樣軌跡提取。
上述描述的方法在確實能夠很好地提取出圖像的輪廓,并且一些算法的實時性能也算良好。但是在縫制路徑的提取中,要求圖像是自然圖像,這就意味著圖像里面背景和目標相互交錯,一般算法無法正確去除目標和背景。導致在自然圖像輪廓提取中出現較大噪聲,甚至根本無法提取其目標輪廓。針對這一問題,利用圖像摳圖理論[11]提出并實現了一種基于自然圖像輪廓提取的算法。
在數字圖像處理領域和計算機圖像學中,背景與目標用以下式子表達:

式中:Ii—獲取的圖像的像素值;Fi—獲取圖像中的目標像素(前景像素);Bi—獲取圖像中的背景像素;α—目標像素的不透明度。在一張普通的自然圖像中,上式右邊全是未知量,而我們的任務則是要求出上式中的目標像素Fi,這也就意味著我們要將上式右邊中的不透明度α 先求出。將上式變形得:



式中:W—在第j 個窗口中像素的總個數。于是有:


將式(6)回帶入式(5)中,可以得到:

上式中的最后一項簡化了所有矩陣,其中L(N×N)稱為Matting Laplacian[11](后文簡稱ML 矩陣)矩陣。經計算,它的通項為:

式中:μk、Σk—窗口 k 像素的均值和方差;δij—克羅內克函數。
通過定義我們可以知道,式(7)中的 L(i,j)是一個比較稀疏的矩陣。如果沒有其他約束,要想從(7)求得唯一解,幾乎不太可能。因此,我們必須依靠用戶手工標注來表示已知的前景和背景像素,以此來約束(7)式的解。這樣,問題就變成了:

將上式變形為:

式中:αK—N×1 的向量,其值在前景像素位置為1,在其他位置為0;D—一個對角矩陣,他的對角元素在用戶輸入的位置為1,其他位置為1。λ—一個非常大的數,它主要是用來將用戶輸入強制與最終的解拉近。于是(10)式的求解就可以等效為:

從式(11)中我們便可求得唯一解。
通過式(7)可以知道,ML 矩陣L的特征向量其實就是不透明α 度的解,由于矩陣L有若干個特征向量,而且這其中大部分特征向量對于不透明度α 來說是沒有意義的。由文獻[12]可以知道,矩陣L 的最小特征值所對應的特征向量所包含的Matting 信息最為豐富,不同的特征向量代表不同的Matting 組分。因此我們可以將式(7)中的求最小值問題轉換為如下約束優化問題:


其中E=[e1,…,eK],分別對應ML 矩陣最小特征值所對應的K 個特征向量;式(14)表示在每個像素的所有Matte 組分之和必須為1。在式(12)中,由于我們最終得到的Matte 只有唯一的一個,因此其中的k=1,而ρ 的值定為0.9,因此式(12)可以變為:

式(15)便是最終選擇的CRF 特征函數,其表示了在各個像素點α 的值對總的損失函數的貢獻。
要使用條件隨機場[12]來智能獲取目標輪廓,將圖像模型抽象,如圖1 所示。

圖1 基于Matting 的隨機步長Fig.1 Random Step Based on Matting
從圖1 中可以看出,輪廓線出現的位置只能是在背景和目標之間的位置,也就是0<α<1 的位置。輪廓提取的目標就是在0<α<1 之間眾多的序列中尋找一條閉合的路徑,并且這條路徑必須要滿足以下條件[2]:
(1)相應的錨點位置不能處于背景或者目標像素,并且錨點之間的連線不能與B 和F 有交集;
(2)路徑的方向只能沿著B 和F 之間的區域,不能回旋;
(3)路徑的選取要以包容目標像素為主,這樣得到的路徑才是準確的;
(4)盡可能的減少錨點數量,減少輪廓線的毛刺。
從上述條件中可以知道,這條路徑并不唯一,但是在實現本算法的時候只要找到一條符合要求的路徑就可以結束程序。于是針對某一條序列可以得到下式:

其中,p(l|s)定義為:

式中:l—具體某條序列(軌跡),而s 則代表在F 和B 之間所有的所帶來的α 總的損失值。這樣一來,通過極大似然估計法就可以求得最終的一條比較準確的軌跡。上式(16)跟logistic回歸[13]的表達式基本一致,不過CRF 模型注重的是序列,換句話說式(16)其實就是邏輯回歸的序列號版本。
實際上僅憑式(16)、式(17)是無法完成整個的輪廓的提取的。其中還有2 個未知量:帶評定的序列(軌跡)和軌跡步長。
從式(8)所代表的矩陣中可以定以如下標記方向矩陣:

這其中的eij采用默認的方向進行初始化,vk則代表圖像中邊緣處的頂點。于是ML 矩陣L 可以利用矩陣A 來進行表示:

于是邊緣處的狄利克雷積分表示為:

這個積分表示的是目標邊緣向A 方向的所有像素點的集合。也就是式(16)中的序列。
算法的實現已經在Matlab 下完成,運行環境為windows 10企業版64 位操作系統。處理器為i7-7700HQ,4 核2.8GHz 主頻。

圖2 算法結果Fig.2 Algorithm Results in this Paper

圖3 邊緣算子結果Fig.3 Edge Operator Result
從圖2 和圖3 中可以很明顯看到,算法提取的自然圖像中的目標輪廓相比使用常規的算子邊緣提取方法要光滑很多,這使得工業縫制設備可以很大程度上加快縫制的速度。并且使用其他邊緣提取算法所得到的目標輪廓中有許多孤立的點和孤島存在,這是在縫制過程中不容許出現的。其中,利用文獻[10]提取的輪廓,如圖4 所示。

圖4 文獻結果Fig.4 Paper’s Results
從圖4 中可以看出,利用文獻[10]得出的結果中仍然具有孤島存在,并且其中在圖中牛的脖子部位有明顯的梯度線條出現,如圖5、圖6 所示。

圖5 算法結果Fig.5 Algorithm Results in this Paper

圖6 左:文獻;右:這里算法Fig.6 Left:Paper;Right:this Paper
梯度線條的出現會導致軌跡在縫制過程中方向突變,降低縫制效率。而這里算法在這些地方有明顯改進,并且上圖算法的運行只花了1.33s,而文獻[10]卻需要2.14s,速度提升了近40%。
為了體現這里算法速度的提升,在測試的時候分別利用大小為 300×300、400×400、500×500、600×600 以及 720×600 的圖片分別運行5 次進行測試,結果如表1 所示。

表1 算法時間對比 單位(s)Tab.1 Algorithm Time Comparison
從上面中可以看出,這里算法在經過優化后與文獻[10]相比能夠整體提高31%左右。
算法的一些其他例子:

圖7 這里算法示例2Fig.7 Example 2 of this Algorithm

圖8 這里算法示例3Fig.8 Example 3 of this Algorithm
從上面示例中可以看出,這里算法在處理自然圖像縫制軌跡(輪廓)的提取上具有良好的作用效果,相比目前成熟的邊緣提取算法、輪廓提取算法而言具有較強的專一性。另外,自然圖像由于背景復雜,因此在目標的選取中需要有人工參與,即采用大致標注的方式將目標像素和背景像素區分,這樣使得這里算法具有較強的適應性。并且這里算法運行速度大大提升,使得算法的應用范圍更加廣泛。
基于自然圖像的Matting,構建CRF 模型,提取出自然圖像中目標的輪廓線。由于工業縫紉機對于縫制軌跡的要求較高,所以傳統的邊緣提取算法和輪廓提取算法顯得無能為力。其主要原因是傳統的邊緣提取和輪廓提取算法幾乎都是依賴于像素與像素之間的差異而開發的算法,因此所提取出的輪廓過于“精確”,導致提取出的輪廓線噪聲太多,不滿足工業縫紉機的縫制要求。因此提出的這種算法專門用于解決這種問題的出現。實驗結果表明,提出的算法對于自然圖像的目標輪廓提取方面具有較強的適應性,并且提取出的輪廓較為光滑,無“孤點”、“孤島”的現象存在,非常適用于工業縫紉機的縫制軌跡。但是這里算法也有一定不足,就是由于算法計算量大,導致算法運行時間依然很長,如需應用到實時領域,還需要對算法進行優化。