郭 棟,李會(huì)艷,王 琳
(天津職業(yè)技術(shù)師范大學(xué)天津市信息傳感與智能控制重點(diǎn)實(shí)驗(yàn)室,天津 300222)
隨著人民生活水平的提高,地毯已經(jīng)廣泛地用于家庭、酒店、展覽廳等場(chǎng)合,擁有巨大的市場(chǎng)潛力。根據(jù)地毯制作方法的不同可以分為手工地毯和機(jī)制地毯。手工地毯的制作需要經(jīng)過圖案設(shè)計(jì)、配色、染紗、掛布、手工編織、涂膠、平毯、剪花、絞邊、后整理等十幾道工序加工制作而成[1],其中大部分生產(chǎn)工序由人力完成,勞動(dòng)強(qiáng)度大,生產(chǎn)效率低,質(zhì)量難以保證。機(jī)制地毯是利用運(yùn)動(dòng)控制系統(tǒng)并根據(jù)事先設(shè)計(jì)好的圖案運(yùn)動(dòng)軌跡來控制地毯機(jī)的運(yùn)動(dòng),縫制各種圖案。隨著市場(chǎng)個(gè)性化需求的增加,人工描繪和填充的地毯機(jī)運(yùn)動(dòng)軌跡勞動(dòng)強(qiáng)度大、描繪軌跡效率低,延長(zhǎng)了地毯生產(chǎn)周期的同時(shí)還增加了其制作成本,使得機(jī)制地毯的競(jìng)爭(zhēng)力降低。國外一些企業(yè)開發(fā)了地毯機(jī)軌跡規(guī)劃系統(tǒng),直接對(duì)彩色圖像進(jìn)行分割,對(duì)分割后的圖像進(jìn)行槍刺植絨,但是由于沒有考慮到人眼對(duì)不同顏色的敏感度不同,因此人眼對(duì)分割后的圖像顏色感知不均衡[2]。國內(nèi)在這方面的研究起步較晚,如山東某地毯廠研發(fā)的地毯織機(jī)雖然可以實(shí)現(xiàn)槍刺機(jī)器人的作業(yè),但生產(chǎn)過程穩(wěn)定性不高,產(chǎn)品質(zhì)量欠佳,手工規(guī)劃軌跡費(fèi)時(shí)費(fèi)力,效率低[3];上海某公司研發(fā)的槍刺植絨軌跡規(guī)劃系統(tǒng)能實(shí)現(xiàn)計(jì)算機(jī)控制的地毯紡織,但填充的行距和槍刺轉(zhuǎn)彎速度不均勻,導(dǎo)致地毯品質(zhì)下降。因此,運(yùn)用現(xiàn)有的圖像處理技術(shù)對(duì)客戶給定的圖像進(jìn)行較好的解析處理,并自動(dòng)生成地毯機(jī)運(yùn)動(dòng)軌跡來代替人工繪圖具有很重要的研究?jī)r(jià)值和研究意義。本文提出一種基于圖像識(shí)別的快速自動(dòng)生成地毯機(jī)運(yùn)動(dòng)軌跡的算法,該算法較好地實(shí)現(xiàn)了圖像軌跡的自動(dòng)規(guī)劃,具有較好的規(guī)劃效果和運(yùn)行效率。
軌跡規(guī)劃算法能夠很好地從客戶給定的原始圖像中規(guī)劃出地毯機(jī)的運(yùn)動(dòng)軌跡。算法的主要流程包括顏色量化、顏色聚類、邊緣檢測(cè)、輪廓跟蹤以及區(qū)域填充5 個(gè)部分。原始圖像一般含有成百上千種顏色,利用人眼對(duì)顏色的惰性,通過顏色量化從一幅圖像中找出能夠代表整幅圖像的N 種顏色,得到量化圖像。聚類時(shí)使用一種自適應(yīng)K 均值聚類算法,能夠自動(dòng)地確定聚類中心和聚類數(shù)目。經(jīng)過邊緣檢測(cè)和輪廓跟蹤得到區(qū)域的輪廓,并在輪廓內(nèi)采用掃描線填充算法進(jìn)行區(qū)域填充,生成由一系列輪廓點(diǎn)和填充點(diǎn)坐標(biāo)組成的地毯機(jī)加工文件,從而形成地毯機(jī)的運(yùn)動(dòng)軌跡。算法的主要步驟如圖1所示。
圖1 算法的主要步驟
2.1.1 顏色空間轉(zhuǎn)換
選取合適的色彩空間可以有效地量化和分割圖像,關(guān)系到最后圖像軌跡的準(zhǔn)確性。常用的RGB 顏色空間模型是三基色表示所有顏色的基礎(chǔ),然而人眼對(duì)R、G、B 3 個(gè)分量的敏感度不同,導(dǎo)致人眼對(duì)RGB 空間模型顏色的感知不均衡,色差區(qū)分不明顯[4]。但可利用各種變換,把RGB 顏色空間轉(zhuǎn)換到其他顏色空間。CIELAB 顏色空間模型是基于人眼的生理特征設(shè)計(jì)的,亮度、色調(diào)以及飽和度3 種特性能夠很好地反映人體視覺上的感受,是目前最均勻的顏色空間,它是用數(shù)字化的方式來描述人的視覺感應(yīng),與設(shè)備無關(guān)。在CIELAB 顏色空間進(jìn)行顏色量化,能夠更準(zhǔn)確地檢測(cè)顏色之間的區(qū)別。RGB 到CIELAB 顏色空間的轉(zhuǎn)換步驟為:
(1)把RGB 類型轉(zhuǎn)換為XYZ
由于RGB 顏色空間不能直接轉(zhuǎn)化到CIELAB 顏色空間,故需先轉(zhuǎn)換到CIEXYZ 顏色空間,再由CIEXYZ顏色空間轉(zhuǎn)回到 CIELAB 顏色空間,X、Y、Z 分別表示XYZ 空間的3 個(gè)標(biāo)準(zhǔn)基色。
(2)求出LAB
式中:L、a 和 b 分別為 CIELAB 顏色空間的亮度、色調(diào)以及飽和度的值;Xn、Yn、Zn分別為標(biāo)準(zhǔn)照明體照射在完全漫反射體上,經(jīng)由完全漫反射反射到人眼中3 個(gè)分量的值,一般默認(rèn)是 95.047、100.000、108.883。
2.1.2 顏色量化
顏色量化是利用人眼對(duì)顏色的惰性,將圖像中色差相差不大的顏色合并為一種顏色,從而得到能夠代表整幅圖像的有限顏色數(shù),減少圖像中的顏色,最終組成新的調(diào)色板,根據(jù)新的調(diào)色板信息重構(gòu)圖像,得到量化圖像,盡可能完美再現(xiàn)原始圖像的色彩效果[5-6]。目前使用最多的量化方法是分割法和聚類法。分割法的算法有統(tǒng)一量化法、中位切分法、八叉樹算法、頻度序列法[7]等。聚類法有K 均值聚類算法、SCA 算法、FCM算法[8]等。本文采用基于CIELAB 顏色空間的K 均值聚類算法對(duì)圖像進(jìn)行顏色量化,計(jì)算色差時(shí)可以使結(jié)果更加準(zhǔn)確,色差計(jì)算公式為:
完成顏色聚類后,再將圖像由LAB 顏色空間轉(zhuǎn)換到RGB 顏色空間,最終的聚類中心為圖像的最佳調(diào)色板。
聚類是指通過一定的規(guī)則將數(shù)據(jù)集合劃分成若干個(gè)相似特征的樣本組成的子集合的過程。K 均值聚類算法是給定數(shù)據(jù)集合的聚類數(shù)目K,以K 個(gè)點(diǎn)為初始聚類中心對(duì)其他數(shù)據(jù)進(jìn)行聚類。聚類結(jié)果與初始聚類中心的選取有很大關(guān)系[9]。自適應(yīng)K 均值聚類能夠很好地解決聚類中心和數(shù)目需要提前給定的問題,減少了人為干擾,提高了準(zhǔn)確性。具體流程如下:
(1)將量化圖像的調(diào)色板信息和每種顏色所含像素?cái)?shù)存儲(chǔ)到顏色列表中。
(2)2 種顏色之間的色差用CIEDE2000 表示。
式中:ΔL′為 2 種顏色的亮度差;ΔC′為 2 種顏色的彩度差;ΔH′為 2 種顏色的色調(diào)差;SL、SC、SH分別為加權(quán)函數(shù),允許在CIELAB 顏色空間中根據(jù)區(qū)域的不同進(jìn)行調(diào)整,以校正該空間的均勻性;RT為色調(diào)差和色差的交叉項(xiàng)修正系數(shù);KL、KC、KH均為影響色差感覺的校正系數(shù),可根據(jù)不同的評(píng)估條件來調(diào)整系數(shù),一般地,在CIE 給定的標(biāo)準(zhǔn)觀測(cè)條件下,KL=KC=KH=1。
(3)將顏色列表中的顏色像素?cái)?shù)最少的顏色作為第1 個(gè)聚類中心,將剩余顏色與第1 個(gè)聚類中心CIEDE2000 色差值最大并且大于1.15[10-11]的顏色作為第2 個(gè)聚類中心,之后依次選出與聚類中心CIEDE2000 色差值不小于1.15 的顏色,直到所有顏色都計(jì)算完畢。顏色數(shù)即為初始聚類數(shù)目,選出的顏色即為初始聚類中心的顏色。
(4)計(jì)算量化圖像中的各個(gè)像素點(diǎn)與各個(gè)聚類中心的歐氏距離,把像素點(diǎn)劃分到距離最近聚類中心族中,然后對(duì)聚類中心族中的所有像素顏色求取平均值,作為新的聚類中心,之后用聚類中心顏色代替該聚類族中所有的像素點(diǎn),得到聚類圖像。
圖像的邊緣是視覺系統(tǒng)中最敏感的地方,包含著圖像的大部分信息,是圖像灰度變化最劇烈的地方。邊緣檢測(cè)是通過對(duì)圖像邊緣附近像素灰度值求一階導(dǎo)數(shù)的極大值或二階導(dǎo)數(shù)的過零點(diǎn)來反映圖像的灰度變化情況[12-13],從而提取圖像的邊界。本文使用的Sobel 邊緣檢測(cè)算子是通過聚類圖像像素灰度的小領(lǐng)域內(nèi)水平方向和垂直方向逼近導(dǎo)數(shù)來進(jìn)行邊緣的檢測(cè)[14]。對(duì)聚類圖像進(jìn)行基于Sobel 算子的邊緣檢測(cè),得到聚類圖像的邊緣圖像。
2.4.1 輪廓跟蹤
輪廓跟蹤是通過尋找將邊緣圖像的邊緣點(diǎn)跟蹤成一條連續(xù)的邊界。本文提出使用一種簡(jiǎn)易的輪廓跟蹤算法:通過從上到下、從左到右依次按照步進(jìn)值為1的順序掃描圖像,找出一個(gè)邊界點(diǎn)作為跟蹤起始點(diǎn),沿掃描方向在它的右、右下、下、左下的方向循環(huán)搜索下一個(gè)邊界點(diǎn),在下一個(gè)邊界點(diǎn)的右、右下、下、左下的方向繼續(xù)搜索,直到下一個(gè)邊界點(diǎn)為起始點(diǎn)且搜索點(diǎn)已經(jīng)遍歷邊緣圖像的最后一個(gè)點(diǎn)的時(shí)候搜索結(jié)束,否則繼續(xù)尋找邊界點(diǎn)或遍歷圖像中的其他點(diǎn),直到找到起始點(diǎn)且遍歷完圖像的最后一個(gè)點(diǎn)為止。
2.4.2 Freeman鏈碼
Freeman 鏈碼是指用曲線起始點(diǎn)的坐標(biāo)和邊界點(diǎn)方向代碼來描述曲線或邊界的方法,它是一種邊界的編碼表示法,用邊界方向作為編碼依據(jù),簡(jiǎn)化邊界的描述,一般描述的是邊界點(diǎn)集[15]。
將輪廓跟蹤得到的完整邊界點(diǎn)集以數(shù)字的形式保存在Freeman 鏈碼表中,數(shù)字化的邊界曲線可以用八方向的Freeman 鏈碼表示成n 條鏈,八方向鏈碼取值如圖2所示,每條鏈指向八方向中的一個(gè),最后根據(jù)鏈碼表繪制輪廓曲線。鏈碼偏移向量表如表1所示[16]。
圖2 Freeman 八方向鏈碼取值
表1 鏈碼偏移向量表
2.5.1 區(qū)域填充內(nèi)部點(diǎn)的生成
區(qū)域填充指的是在邊界區(qū)域內(nèi)用制定的顏色賦予所有邊界范圍內(nèi)所有的坐標(biāo)點(diǎn)。區(qū)域填充算法有種子填充算法和掃描線填充算法2 大類。種子填充算法需要進(jìn)行大量的出入棧操作,占用內(nèi)存大并且效率低,采用掃描線填充算法填充簡(jiǎn)單的多邊形區(qū)域,利用了掃描線上像素的連貫性,因此具有較高的效率[17]。掃描線填充算法的原理是水平掃描線與多邊形輪廓的交點(diǎn)按照橫坐標(biāo)從小到大排序,交點(diǎn)兩兩成對(duì),組成水平線段對(duì)區(qū)域進(jìn)行填充。具體步驟為:
(1)用水平掃描線從上到下(或從下到上)掃描由多條首尾相連的線段構(gòu)成的多邊形輪廓,每根掃描線與多邊形輪廓的某些邊產(chǎn)生一系列交點(diǎn)。
(2)將這些交點(diǎn)按照橫坐標(biāo)從小到大的原則進(jìn)行排序,之后將橫坐標(biāo)相同的點(diǎn)按從小到大的原則進(jìn)行排序,將排序后的坐標(biāo)點(diǎn)兩兩成對(duì),作為多邊形和掃描線相交區(qū)間的兩個(gè)端點(diǎn)。
(3)對(duì)排序后的交點(diǎn)兩兩組成一個(gè)水平線段,以畫線段的方式進(jìn)行顏色填充,多邊形被掃描完畢后,顏色填充也即完成。
2.5.2 軌跡坐標(biāo)生成
對(duì)于填充好的輪廓組,當(dāng)仿真結(jié)果沒有錯(cuò)誤時(shí),把邊界點(diǎn)坐標(biāo)和填充點(diǎn)坐標(biāo)儲(chǔ)存到加工列表中。把聚類圖像中的每一種顏色的聚類圖像進(jìn)行邊緣檢測(cè)、輪廓提取和區(qū)域填充,可以得到其邊界點(diǎn)坐標(biāo)和填充點(diǎn)坐標(biāo),依次存儲(chǔ)到加工列表中,得到圖像的加工文件代碼,即地毯機(jī)圖像的運(yùn)動(dòng)軌跡。
地毯廠縫制的一幅地毯的原始圖像如圖3所示。該圖像顏色簡(jiǎn)單、輪廓分明,能夠很好地驗(yàn)證算法的可行性,故選該圖像作為原始圖像進(jìn)行軌跡規(guī)劃。
圖3 原始圖像
原始圖像通常為RGB 圖像類型,通過顏色空間的轉(zhuǎn)換將人眼感知不均衡的RGB 類型圖像轉(zhuǎn)換到人體視覺敏感的LAB 類型圖像上,通過事先確定好的聚類中心和聚類數(shù)目將原始圖像量化,得到的量化圖像通過自適應(yīng)K 均值聚類算法,自動(dòng)分割CIE2000 色差值不小于1.15 的顏色,得到顏色不同的聚類圖像如圖4所示。
圖4 聚類圖像
將得到的聚類圖像進(jìn)行邊緣檢測(cè),通過對(duì)聚類圖像像素灰度的小領(lǐng)域內(nèi)水平方向和垂直方向求導(dǎo)來進(jìn)行圖像邊緣的檢測(cè),得到聚類圖像的邊緣圖像,由于存在誤差致使邊緣曲線并不完全連通,存在一些小的間斷點(diǎn),通過八方向Freeman 鏈碼跟蹤圖像的邊緣點(diǎn)得到邊界點(diǎn)鏈碼,根據(jù)鏈碼重新繪制輪廓曲線,得到一條連續(xù)的邊界曲線,輪廓跟蹤圖像如圖5所示。
圖5 輪廓跟蹤圖像
對(duì)得到的輪廓跟蹤圖像進(jìn)行掃描線填充,將水平掃描線與輪廓交點(diǎn)的橫坐標(biāo)從小到大進(jìn)行排序,交點(diǎn)兩兩成對(duì),組成水平線段對(duì)區(qū)域內(nèi)部進(jìn)行填充,直到輪廓圖像掃描完畢,得到邊界輪廓的填充軌跡如圖6所示。按照以上的方法完成圖像中所有顏色的軌跡規(guī)劃,最終得到圖像完整的軌跡,軌跡規(guī)劃如圖7所示。
圖6 邊界輪廓的填充軌跡
圖7 軌跡規(guī)劃
本文提出了一種基于圖像識(shí)別的軌跡規(guī)劃算法,該算法由RGB 顏色空間轉(zhuǎn)換到LAB 顏色空間進(jìn)行顏色量化,減少了顏色數(shù)目,降低了聚類階段的難度,縮短了聚類階段的時(shí)間。提出的自適應(yīng)的K 均值聚類算法,實(shí)現(xiàn)了圖像的自動(dòng)聚類,得到一個(gè)一個(gè)的色塊圖像。經(jīng)跟蹤邊緣檢測(cè)得到色塊的邊界點(diǎn)集,將邊界點(diǎn)集以數(shù)字的形式保存到鏈碼表中,從而繪制輪廓曲線,最后通過掃描線填充算法實(shí)現(xiàn)了輪廓內(nèi)部的區(qū)域點(diǎn)填充,依次把輪廓點(diǎn)坐標(biāo)和區(qū)域填充點(diǎn)坐標(biāo)保存到加工文件中,根據(jù)輪廓點(diǎn)坐標(biāo)和填充點(diǎn)坐標(biāo)組成地毯機(jī)的運(yùn)動(dòng)軌跡。實(shí)驗(yàn)結(jié)果驗(yàn)證了算法的正確性。
天津職業(yè)技術(shù)師范大學(xué)學(xué)報(bào)2019年2期