鄭新濤,蘇道玉
(河北地質(zhì)大學(xué),河北 石家莊 050031)
手繪草圖作為一種人體內(nèi)在思想的外化表達(dá)方式,可通過抽象和隱喻的方式實(shí)現(xiàn)思想情緒的傳遞和交流,相較于傳統(tǒng)的圖形工具,具備形象、直觀、簡潔、清晰地描述模糊概念等特點(diǎn),有助于人們開展創(chuàng)造性強(qiáng)的活動(dòng)[1?3]。傳統(tǒng)的智能手繪草圖識(shí)別模式是按照傳統(tǒng)分類,在抽象的智能手繪草圖內(nèi)容識(shí)別中存在許多問題,發(fā)展至今這些問題依舊沒有得到解決。因?yàn)椴僮髡咴诶L圖中的水平能力不一,以至于同一類別草圖的外形具有高度抽象性,且草圖沒有顏色和紋理[4]。但是它卻擁有自然圖像不具備的筆畫順序信息,這種筆畫順序信息的存在可以有效提升智能手繪草圖的識(shí)別效果。
小波矩是一種新型不變矩,由具備平移、旋轉(zhuǎn)、縮放不變形的不變矩和小波變換共同組成,能夠清晰地展現(xiàn)不同尺度下圖像的整體信息和局部細(xì)節(jié)信息,在圖像處理方面應(yīng)用較為廣泛[5?6]。為此,本文設(shè)計(jì)一種基于小波矩的智能手繪草圖識(shí)別系統(tǒng)。該系統(tǒng)充分利用小波矩可同時(shí)提供時(shí)域、頻域,更好地采集智能手繪草圖的特征優(yōu)勢,實(shí)現(xiàn)智能手繪草圖的有效、精準(zhǔn)識(shí)別。
圖1 描述了在MVC(Model View Controller)模式下劃分的基于小波矩的智能草圖識(shí)別系統(tǒng)的框架結(jié)構(gòu)圖,此系統(tǒng)應(yīng)用Javax.swing 等類庫和Java 程序語言設(shè)計(jì)。
圖1 系統(tǒng)結(jié)構(gòu)圖
草圖控制模塊可為編寫多種圖形操作提供了有力支撐,是MVC 模式中的控制,可實(shí)現(xiàn)草圖界面模塊和草圖數(shù)據(jù)模塊的有效控制[7]。草圖界面模塊和草圖數(shù)據(jù)模塊執(zhí)行接收到來自草圖控制模塊的操作指令,對(duì)繪圖處理流程進(jìn)行調(diào)控,對(duì)筆劃種類進(jìn)行有效辨識(shí),同時(shí)完成草圖存儲(chǔ)的有效控制。草圖控制模塊通過預(yù)處理子模塊對(duì)手繪草圖進(jìn)行預(yù)處理后,通過草圖識(shí)別子模塊進(jìn)行草圖圖形識(shí)別和草圖內(nèi)容識(shí)別,并利用操作控制子模塊和手勢命令識(shí)別子模塊完成草圖的控制和繪圖筆劃識(shí)別。操作者可以利用各種輸入設(shè)備在手勢書寫界面中繪制草圖并勾畫筆劃作為操作指令,利用手勢命令識(shí)別子模塊進(jìn)行操作指令識(shí)別。草圖數(shù)據(jù)模塊的作用是存儲(chǔ)系統(tǒng)中的各項(xiàng)數(shù)據(jù),其中包括兩種數(shù)據(jù)文件,分別為草圖數(shù)據(jù)文件和XML 數(shù)據(jù)文件。草圖數(shù)據(jù)文件保存草圖信息,XML 數(shù)據(jù)文件保存已經(jīng)定義好的手勢命令規(guī)范數(shù)據(jù)。
系統(tǒng)的草圖界面模塊是系統(tǒng)的操作界面,結(jié)構(gòu)非常簡單,通過按鈕觸發(fā)動(dòng)態(tài)訓(xùn)練調(diào)整指令,其他所有命令都需利用筆劃控制。系統(tǒng)功能有筆式交互方式、筆劃類型的識(shí)別和處理、訓(xùn)練并獲取用戶習(xí)慣以及筆劃作為命令執(zhí)行對(duì)應(yīng)操作。
系統(tǒng)草圖控制模塊中的預(yù)處理子模塊實(shí)現(xiàn)手繪草圖的預(yù)處理。受輸入條件限制及輸入習(xí)慣不同影響,手繪草圖中包含噪聲,所以需要對(duì)草圖進(jìn)行預(yù)處理。同時(shí)預(yù)處理還可以得到分割筆劃的結(jié)果,為手繪草圖圖形的有效識(shí)別奠定基礎(chǔ)[8?10]。為了去除筆劃冗余點(diǎn)和曲線閉合誤差等噪聲,需要對(duì)筆劃進(jìn)行預(yù)處理:清除冗余點(diǎn)和聚點(diǎn)、修正端點(diǎn)以及對(duì)閉包進(jìn)行計(jì)算。筆劃分割器則是以筆劃預(yù)處理為前提,選擇筆劃特征判斷最佳分點(diǎn)并以最佳分點(diǎn)為基準(zhǔn)完成筆劃的分割。以上的筆劃預(yù)處理與筆劃分割器兩部分構(gòu)成了整個(gè)預(yù)處理子模塊的預(yù)處理過程。
由基本圖元識(shí)別器與組合圖元識(shí)別器兩部分共同實(shí)現(xiàn)草圖圖形識(shí)別,草圖圖形識(shí)別是系統(tǒng)的核心技術(shù)。草圖圖形識(shí)別流程如圖2 所示。用戶通過草圖界面模塊的手勢書寫界面輸入手繪草圖的繪制結(jié)果后,通過第1.2 節(jié)分析的預(yù)處理子模塊中的筆劃預(yù)處理以及筆劃分割器得到手繪草圖的預(yù)處理結(jié)果后;使用基本圖元識(shí)別器通過形狀擬合筆劃,得到筆劃的直線段基本圖元、弧段基本圖元以及橢圓基本圖元;再通過組合圖元識(shí)別器組合這些基本圖元獲取組合圖元,將其存儲(chǔ)在模板庫,實(shí)現(xiàn)草圖圖形識(shí)別。
圖2 手繪草圖圖形識(shí)別過程
草圖控制子模塊中采用基于小波矩的手繪草圖識(shí)別方法完成草圖內(nèi)容識(shí)別。識(shí)別草圖內(nèi)容時(shí),草圖本身會(huì)發(fā)生一些改變,導(dǎo)致采集的草圖特征發(fā)生改變,該現(xiàn)象不會(huì)影響人體視覺對(duì)草圖的識(shí)別[11]。小波矩能夠較好的抗噪并擁有目標(biāo)旋轉(zhuǎn)不變性的特點(diǎn),為了使手繪草圖圖像在操作中發(fā)生平移旋轉(zhuǎn)和縮放等改變時(shí)草圖圖像本身特征不變[12],系統(tǒng)選擇小波矩實(shí)現(xiàn)對(duì)草圖內(nèi)容的有效識(shí)別。
用二維亮度分布f(x,y)表示1 幅草圖,函數(shù)值f(x,y)表示點(diǎn)(x,y)處草圖像素的亮度值。
設(shè)f(x,y)為草圖的亮度函數(shù),定義其(a+b)階矩函數(shù)如下:
式中:υ為x?y平面上草圖的區(qū)域,用于表示f(x,y)函數(shù)的定義域區(qū)間;rab(x,y)(矩的權(quán)核)表示與υ內(nèi)(x,y)相關(guān)的連續(xù)函數(shù);a,b是整數(shù)。
小波變換可實(shí)現(xiàn)草圖圖像局部特征的有效提取,因?yàn)槔闷涮崛D像特征過程中可在提供時(shí)域窗口的同時(shí)提供頻域窗口[13]。設(shè)ja(m)為基函數(shù),子波函數(shù)表示為:
式中p和q分別為伸縮因子和平移因子。
通過替換基函數(shù)ja(m)為小波基函數(shù)rp,q(m)獲取小波不變矩。將3 次B 樣條小波函數(shù)作為母小波r(m),將其描述為:
式中:B樣條的階次i為3;尺度因子p、調(diào)制系數(shù)f0和離差量分別為0.706 569,0.397 917 和0.605 412。
在小波基函數(shù)中選取3 次樣條小波進(jìn)行特征提取,因?yàn)樗鼡碛杏邢薮纹交浴?duì)稱性以及高斯逼近性等特點(diǎn),在時(shí)域和頻域上的局部信息優(yōu)勢較大,形式與Zernike 多項(xiàng)式矩相似,可以讓相似形狀形體的識(shí)別和圖像局部特征的提取更穩(wěn)定、更有效[14]。
子波函數(shù)的離散化過程為:
式中參數(shù)p,q一般選擇離散值。
控制圖像的大小在m≤1 范圍內(nèi),設(shè)參數(shù)p0,q0為0.5,則p,q分別是:
式中:u=0,1,2,…;v=0,1,2,…,uv+1。
則小波函數(shù)基為:
草圖全局信息、局部信息的提取,可通過選取不同的u值、v值實(shí)現(xiàn)。為了對(duì)草圖目標(biāo)進(jìn)行分類,需要加入一組小波不變矩,通過式(7)描述:
式中,將基函數(shù)ja(m)替換為ru,v(m),u=0,1,2,…,v=0,1,2,…,2u+1,b=0,1,2,…。通過式(7)描述發(fā)現(xiàn)Hu,v,b為Zb(m)的小波變換,在某一固定m值處,Zb(m)=描述草圖f(m,?)在相位域0 ≤?≤2π的范圍內(nèi)第b個(gè)頻域特征。取不同的尺度因子p、平移因子q,保證小波函數(shù)ru,v(m)遍及整個(gè)徑向空間,從而小波不變矩就可以反映圖像f(m,?)在不同尺度上的特征。
圖3 描述了基于小波矩的手繪草圖內(nèi)容識(shí)別流程:創(chuàng)建目標(biāo)草圖庫;歸一化預(yù)處理草圖庫中的草圖;歸一化草圖后采集其小波矩特征,將其保存到與草圖庫連接的特征數(shù)據(jù)庫[15];利用適宜小波基函數(shù)計(jì)算草圖的小波矩特征值;計(jì)算樣本草圖和草圖庫中草圖小波矩特征值的歐氏距離D(x,y)=,設(shè)2 幅草圖對(duì)應(yīng)的特征向量為x,y,設(shè)特征分量為xi,yi。通過樣本草圖歐氏距離的順序大小排列草圖庫中的草圖,識(shí)別目標(biāo)草圖內(nèi)容。
圖3 手繪草圖內(nèi)容識(shí)別流程
本文選取Microsoft Windows XP 的實(shí)驗(yàn)平臺(tái),利用小波工具箱進(jìn)行實(shí)驗(yàn)分析,對(duì)基于小波矩的智能手繪草圖系統(tǒng)的有效性和優(yōu)越性進(jìn)行檢驗(yàn)。
實(shí)驗(yàn)選取一張手繪草圖,如圖4a)所示,利用本文系統(tǒng)對(duì)該手繪草圖中的圖像內(nèi)容進(jìn)行識(shí)別。通過本文系統(tǒng)預(yù)處理子模塊去除草圖的曲線閉合誤差以及筆劃冗余點(diǎn)聚點(diǎn)等噪聲,完成筆劃的分割及形狀擬合筆劃。利用草圖識(shí)別子模塊的圖元識(shí)別器識(shí)別筆劃,最終得到清晰草圖,如圖4b)所示。說明本文系統(tǒng)可有效去掉原圖像的噪聲,使得手繪草圖更加清晰完整,為圖像的有效識(shí)別提供良好基礎(chǔ)。
圖4 手繪草圖
為了檢驗(yàn)本文系統(tǒng)在草圖發(fā)生變化時(shí)小波矩能夠保證其特征不發(fā)生變換,選取一張手繪企鵝草圖如圖5a)進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)分別對(duì)樣本草圖進(jìn)行90°旋轉(zhuǎn)、180°旋轉(zhuǎn)、2 倍放大、2 倍放大并旋轉(zhuǎn)90°的操 作,如圖5b)~圖5e)所示。本文系統(tǒng)采用小波矩對(duì)小波不變矩?cái)?shù)值進(jìn)行采集,并對(duì)發(fā)生比例和位置尺度變換的草圖進(jìn)行歸一化處理。
圖5 實(shí)驗(yàn)草圖樣本
實(shí)驗(yàn)樣本草圖特征值(小波不變矩?cái)?shù)值)對(duì)比結(jié)果如表1 所示。
表1 經(jīng)過旋轉(zhuǎn)比例變換下的小波不變矩?cái)?shù)值
分析表1 數(shù)據(jù)可得到,圖5a)~圖5c)的小波不變矩?cái)?shù)值驗(yàn)證了本文系統(tǒng)小波不變矩的旋轉(zhuǎn)不變性。圖5d)、圖5e)驗(yàn)證了本文系統(tǒng)小波不變矩尺度變換和旋轉(zhuǎn)尺度變換的不變性。草圖在發(fā)生旋轉(zhuǎn)、比例變換、位置尺度變換時(shí),本文系統(tǒng)的小波不變矩較為穩(wěn)定,每組草圖之間的差距較小,驗(yàn)證了小波不變矩?fù)碛形恢贸叨茸儞Q、比例變換和旋轉(zhuǎn)不變性的特點(diǎn),本文系統(tǒng)能夠滿足智能手繪草圖的精準(zhǔn)、穩(wěn)定識(shí)別。利用本文系統(tǒng)對(duì)發(fā)生過比例、位置尺度變換和旋轉(zhuǎn)的草圖樣本進(jìn)行識(shí)別,識(shí)別結(jié)果見圖6。其中,圖6 左側(cè)為識(shí)別前圖像,圖6右側(cè)為識(shí)別后圖像。分析圖6 發(fā)現(xiàn),識(shí)別后的圖像與樣本草圖圖5a)一致,證明了本文系統(tǒng)在手繪草圖識(shí)別過程中,可有效確保識(shí)別內(nèi)容的有效和穩(wěn)定。
圖6 識(shí)別圖像
本文利用小波矩的位置尺度變換和旋轉(zhuǎn)不變性設(shè)計(jì)基于小波矩的智能手繪草圖識(shí)別系統(tǒng),實(shí)現(xiàn)智能手繪草圖圖形和內(nèi)容的穩(wěn)定、有效識(shí)別。并以企鵝的草圖樣本為例,對(duì)其進(jìn)行旋轉(zhuǎn)、放大,采集其小波不變矩?cái)?shù)值,檢驗(yàn)本文系統(tǒng)可有效利用小波矩在草圖發(fā)生位置尺度變換、比例變換和旋轉(zhuǎn)時(shí)具備的不變性實(shí)現(xiàn)手繪草圖識(shí)別。實(shí)驗(yàn)結(jié)果表明,本文系統(tǒng)的應(yīng)用能夠有效提升對(duì)草圖內(nèi)容的識(shí)別穩(wěn)定性和有效性,對(duì)智能手繪草圖內(nèi)容的識(shí)別提供強(qiáng)有力的支持。