李 亮, 倪俊芳
(蘇州大學 機電工程學院, 江蘇 蘇州 215021)
花型樣條加工代碼通常是由花樣設計者以直線、圓弧、樣條曲線等基本線條通過移動、復制、鏡像、旋轉等操作繪制出圖形輪廓,再通過逼近、插補等算法的轉化,得到的可用于絎縫機或特定數(shù)控系統(tǒng)的加工代碼[1-2],可直接用于床墊、床罩、棉被等織物的絎縫加工?;用柚扑惴╗3]即通過上述操作對目標絎縫圖像進行描摹繪制,從而使圖像輪廓作為加工路徑,將面料、填充料、底料縫制在一起,實現(xiàn)外層布料與填充料之間的相對固定,同時增加絎縫制品的立體感與美感。該方法可大大降低花樣設計的難度,減少人工成本,且可保存花樣以便后續(xù)使用;但其也存在因描制圖樣尺寸過大、形狀不規(guī)則、花樣過復雜的缺點,導致描制速度過慢,且受操作者的經驗影響較大,常常難以加工出高質量花樣。為了解決上述方法的不足,基于圖形矢量化方法的花樣自動生成算法應運而生,其核心思想是提取目標圖像的圖元,以基本線條進行分段擬合,從而得出相應花樣及加工代碼。Bezier、NURBS、B樣條等復雜曲線被提出以精確表達高次曲線[4-5],然而目前大多數(shù)的數(shù)控系統(tǒng)仍不支持上述曲線插補,故絎縫加工系統(tǒng)仍采用將加工路徑離散為微段直線和圓弧的插補方法[6-7]。
國內學者[8-9]研究了在保證圖像不失真的條件下,提取圖像基本圖元進行曲線擬合,實現(xiàn)圖形的矢量化,并取得了一定進展。其方法通常分為2類:1)先獲取輪廓上的基元,即優(yōu)先恢復的方法;2)先抽取基元間的分界點,即優(yōu)先分割的方法。前者注重分割質量,但擬合速度慢;后者則更注重效率。分界點即角點,在保留圖像重要特征的同時,可以有效地減少數(shù)據(jù)量,提高計算速度,使圖像的實時處理成為可能,同時角點在加工時,可視為加工微段基元的起末端點?,F(xiàn)有多種角點檢測方法[10],如:基于曲率計算的方法,其計算量小,但易受到噪聲影響,產生假角點;基于小波變換的角點檢測方法,其抗干擾能力強,但計算量大且復雜;基于灰度圖像的角點檢測方法,如Harris角點檢測方法,在檢測時,設置閾值過大會導致偽角點的產生,閾值過小則導致遺失角點。為此,本文基于遺傳算法(GA)[11],獲取絎縫圖像輪廓信息以生成對應二進制數(shù)組作為初始種群,其中每行二進制數(shù)列都是對加工路徑的表達;設定微段基元上各坐標點的位移偏差之和為誤差函數(shù),并將擬合總誤差和擬合段數(shù)作為每條加工路徑的適應度函數(shù)的參量;通過選取合適的選擇、交叉、變異算子,在初始種群的不斷進化下得到最優(yōu)染色體,即為角點的分布與角點間的微段基元屬性,也即絎縫花樣的最優(yōu)加工路徑;并將各微段基元直接轉化為G代碼,從而將采集的圖像轉化生成加工代碼,加工出復雜花樣,以滿足絎縫領域的自動化加工需求。
采集到的圖像無法直接被用于遺傳算法以進行輪廓擬合,因此,首先需要對圖像進行輪廓追蹤以獲取關鍵信息。
在圖像采集過程中,由于光照等因素影響會降低圖像質量,即需要對所采集的圖像進行預處理。將任選攝影類圖像經過濾波、形態(tài)學操作和Canny算子處理后,得到邊緣點陣圖像,如圖1所示。采用Freeman鏈碼[12]的方法檢索邊緣輪廓,將其追蹤為若干條攜帶坐標信息的有序數(shù)據(jù)點鏈,但其邊緣輪廓存在孤立點、毛刺點、斷點的問題(見圖2),且在絎縫加工中,奇異點會被認作邊界點,從而執(zhí)行剪線和跳針操作,不但增加了加工的復雜性,同時影響產品的美觀性,因而需要對細節(jié)及冗余信息處理以優(yōu)化絎縫織物質量。
圖1 圖像預處理Fig.1 Image preprocessing
圖2 奇異點Fig.2 Singular points
本文所改進的輪廓追蹤算法是:被尋訪過的點不會被立即取為背景色,而是在整條輪廓都被尋訪到后執(zhí)行,因而單個像素點可以被不止1次地訪問。為避免如2個像素點間的來回尋訪,規(guī)定下一次尋訪方向是使得本次尋訪點為最末尋訪方向的相反方向,且使用的Freeman鏈碼方法為8鄰域方法。圖3示出輪廓追4條點鏈:外閉合輪廓1、短分支輪廓2、長分支輪廓3和內閉合輪廓4,避免了因拓撲關系過復雜而造成的錯誤分割。算法流程圖如圖4所示。
圖3 輪廓追蹤算法實例Fig.3 Example of contour tracking algorithm.(a) Test bitmap image;(b) Segmentation results
圖4 輪廓追蹤算法流程圖Fig.4 Flow chart of contour tracking algorithm
針對提取出的點鏈輪廓,以直線和圓弧作為微段加工基元進行擬合,確定遺傳算法方案,通過進化的思想迭代出最優(yōu)染色體,即為最優(yōu)的絎縫花樣曲線加工路徑。
設N為通過輪廓追蹤算法從目標絎縫圖像中得到的一條待擬合點鏈,并定義為
N={p1(x1,y1),p2(x2,y2),…,
pn-1(xn-1,yn-1),pn(xn,yn)}
其中(x1,y1),(x2,y2),…,(xn-1,yn-1),(xn,yn)是該絎縫圖像上對應點的坐標。點鏈中的點可分為微段加工直線或加工圓弧的端點和端點之間的連續(xù)點2種,采用二進制編碼表達染色體,當染色體基因為1時,該坐標點為微段基元端點;否則該點為端點間連續(xù)點。此時,每條二進制染色體數(shù)列就是對應加工路徑的描述。
染色體長度L:染色體的長度為點鏈的長度n。種群規(guī)模M:取L/4作為加工路徑總數(shù)。隨機生成長度為L,寬度為M的二進制數(shù)組為初始加工路徑組。
2.2.1 微段加工基元誤差函數(shù)
設Pi,Pm(1≤i 對于直線加工擬合,確定直線函數(shù)為 Y=kX+b (1) 式中,k和b為待求參數(shù)。 添加2個約束: (2) 式中,xi、yi,xm、ym分別為點pi,pm的橫縱坐標。解出k,b,可得直線方程: (3) 則直線位移誤差: (4) 式中,yj、Yj分別為擬合前、后點pj的縱坐標。 對于曲線加工擬合,確定誤差函數(shù)Ec為 Ec=X2+Y2+AX+BY+C (5) 式中,A、B、C為待求參數(shù)。 添加2個約束: (6) 此時,求解圓弧加工位移誤差的參數(shù)問題,變?yōu)榱饲蠼釧、B、C的最優(yōu)值的問題?;喓蟮玫剑?/p> (7) 其中,λ1和λ2為常數(shù),從而可得A、B、C的值,并得出圓弧擬合的位移誤差Ec。 比較El和aEc(其中a為經驗參數(shù),當a大于1時,趨向于擬合為直線;反之則趨向于擬合為圓弧,預設值為1.2),從而將最小誤差作為該微段的最終位移誤差S(i),并同時將線條屬性state.flag和微段基元的其他相關屬性保存。輸入測試點鏈數(shù)據(jù) [0,0;1,1;1,2;1,3;2,4;3,5;4,5;5,5],擬合結果如圖5所示。 圖5 微段加工基元擬合結果Fig.5 Base processing element fitting result 2.2.2 加工路徑適應度函數(shù) 第i條加工路徑的適應度值F(i),與加工路徑中微段基元的總段數(shù)d及該路徑的總誤差T(i)成反比,則確定其適應度函數(shù)為 (8) (9) 式中,b為調整系數(shù),預設值為1.5。 2.2.3 遺傳算子 選擇概率Ps:選擇操作可以保證優(yōu)秀的加工路徑能被保留至子代中,則由輪盤賭的思想,第i條路徑的選擇概率Ps定義為 (10) 交叉概率Pc:交叉操作可以將2條不同的加工路徑從某點交換,從而生產新的路徑,取定值為0.3。 變異概率Pm:變異操作通過改變加工路徑中部分微段加工基元屬性從而保證多樣性,取定值為0.1。 2.2.4 終止條件 最優(yōu)適應度值連續(xù)10代不改變時,迭代結束。此時,適應度最高的個體即為最優(yōu)染色體,也就是目標絎縫花樣的最優(yōu)加工路徑。在最優(yōu)染色體中,值為1的點對應為微段加工基元的端點,端點之間的微段為加工直線或加工圓弧,其具體類型由該微段的各點對應坐標信息決定。 基于MatLab平臺編程,對改進輪廓追蹤算法得出的圖1(b)中的最外層輪廓圖樣使用遺傳算法擬合驗證。該輪廓共有1 431個像素點,一共運行到96代,運行時間為51 s,最優(yōu)加工路徑見圖6,各代路徑的最優(yōu)適應度見圖7。 圖6 最優(yōu)加工路徑Fig.6 Optimal processing path 圖7 各代最優(yōu)適應度Fig.7 Optimal fitness of each generation 采用誤差函數(shù)對對應點鏈處理后,將代表線條屬性的state.flag輸出,同時若判定該微段基元為圓弧時,將代表圓弧加工半徑大小的state.R輸出。根據(jù)已有信息,可將直線微段轉化為相應的G代碼,但仍不能判定圓弧加工的加工方向,即G02與G03的判定。 當起點、終點、圓弧加工半徑已知時,圓弧加工的方向問題也即判定圓弧加工路徑的優(yōu)劣弧問題。獲取微段基元中點pz(xz,yz),連接起點、中點、終點,通過矢量點積的方法求得矢量夾角,從而判定優(yōu)劣弧,進而轉化為G代碼語句。 (11) 將G代碼文件導入,采用絎縫機控制器進行模擬加工,加工路徑如圖8所示。結果表明,圖像還原度高,質量高,加工效果好。 圖8 絎縫機模擬加工Fig.8 Quilting machine simulation processing 花樣自動生成算法相比花樣描制算法具有智能化、自動化高的優(yōu)點,是絎縫機花樣制版領域的發(fā)展趨勢。本文提出了將圖像輪廓直接轉化為絎縫加工路徑的方法,有效地彌補了絎縫加工領域普遍存在的效率低、人工成本高、受經驗影響大的不足;改進了輪廓追蹤算法,減少了奇異點造成的影響,并將點陣圖像分割為若干段有序點鏈輪廓;通過帶約束的最小二乘法作為誤差函數(shù),確保了花樣的一階連續(xù),避免了剪線和跳針的影響;使用遺傳算法,在選擇、交叉、變異算子的作用下,基于適應度函數(shù)的指導,經過96代迭代進化,最終代染色體所代表的絎縫加工路徑適應度高,擬合段數(shù)少。文中對任選攝影類圖像進行處理,結果較好,在處理卡通類圖像時效果更佳,但處理部分復雜紋理圖像時,所取經驗參數(shù)仍需改進。該算法為圖像實時轉化為加工代碼提供了參考,并在絎縫機上進行了相關實驗,結果滿足絎縫加工的要求,為刺繡機加工代碼的生成提供了依據(jù)。3 實例應用分析
3.1 實驗驗證
3.2 絎縫機控制器模擬加工
4 結 論