□ 邢淑敏 □ 梁冬泰 □ 梁 丹 □ 魏玉鋒
寧波大學(xué)機(jī)械工程與力學(xué)學(xué)院 浙江寧波 315211
加強(qiáng)毛筆書(shū)法的教育,有助于提升青少年的傳統(tǒng)文化素養(yǎng),然而具有相應(yīng)教學(xué)能力教師的稀缺,是目前書(shū)法教育亟待解決的問(wèn)題。工業(yè)機(jī)器人作為一種能夠進(jìn)行編程且在自動(dòng)控制下完成特定任務(wù)的機(jī)械裝置,能模仿人做各種動(dòng)作,在近十幾年中已大量應(yīng)用于生產(chǎn)和生活中[1],如在危險(xiǎn)環(huán)境中實(shí)現(xiàn)復(fù)雜雕刻、噴涂與焊接等工作,具有廣泛的應(yīng)用前景,完全有潛力應(yīng)用于毛筆書(shū)法的教學(xué)。通過(guò)對(duì)書(shū)法的書(shū)寫(xiě)技巧進(jìn)行適當(dāng)?shù)臄?shù)字化處理,便可以將傳統(tǒng)的書(shū)法藝術(shù)與機(jī)器人結(jié)合,利用機(jī)器人控制毛筆的空間運(yùn)動(dòng)來(lái)實(shí)現(xiàn)機(jī)器人書(shū)法臨摹。
目前,機(jī)器人寫(xiě)字技術(shù)已有諸多研究。徐揚(yáng)生等[2]通過(guò)記錄書(shū)寫(xiě)演示過(guò)程中的節(jié)點(diǎn)位置,用機(jī)器人演示書(shū)寫(xiě)動(dòng)作,達(dá)到重復(fù)書(shū)寫(xiě)過(guò)程。滿永奎等[3]采用插值算法,通過(guò)控制伺服電機(jī)的參數(shù)實(shí)現(xiàn)了毛筆字的書(shū)寫(xiě)動(dòng)作。Matsui Ayaka等[4]推出了一款書(shū)法機(jī)器人,利用機(jī)器人在直角坐標(biāo)系平面內(nèi)方便、迅速定位的原理成功臨摹了書(shū)法。何薇等[5]用六自由度工業(yè)機(jī)器人,通過(guò)標(biāo)準(zhǔn)接口ORiN2進(jìn)行控制,并使用工業(yè)攝像頭獲取文字信息,設(shè)計(jì)了一種基于機(jī)器視覺(jué)的機(jī)器人寫(xiě)字平臺(tái)。宮曉博[6]分別使用普通插補(bǔ)算法和結(jié)合三維坐標(biāo)系旋轉(zhuǎn)變化的插補(bǔ)算法在給定平面和曲面上實(shí)現(xiàn)漢字繪制。薛環(huán)振[7]設(shè)計(jì)了機(jī)械臂夾持毛筆的方法,并提出了回筆的方法,獲得了較好的書(shū)寫(xiě)效果。楊廣卿等[8]將力反饋技術(shù)引入虛擬繪制過(guò)程,提出一種基于力反饋技術(shù)的筆道仿真方法。
已有的研究都是基于現(xiàn)有的書(shū)法風(fēng)格字體進(jìn)行模仿,并且對(duì)還原書(shū)法字體的風(fēng)格及準(zhǔn)確性也達(dá)不到理想效果。
風(fēng)格遷移作為深度學(xué)習(xí)領(lǐng)域一個(gè)新的研究方向,近年來(lái)在機(jī)器視覺(jué)應(yīng)用中取得了突破性進(jìn)展[9-11],可將普通的漢字遷移成具有書(shū)法風(fēng)格的字體。
筆者提出一種基于風(fēng)格遷移與圖像處理技術(shù)的機(jī)器人書(shū)寫(xiě)方法,這一方法不僅有效規(guī)劃了機(jī)器人臨摹新風(fēng)格字體的軌跡,而且提高了機(jī)器人書(shū)寫(xiě)毛筆字的準(zhǔn)確性。同時(shí),這一技術(shù)在工業(yè)機(jī)器人拋光、打磨、焊接、噴涂及雕刻等軌跡規(guī)劃中有廣泛的應(yīng)用前景。
筆者設(shè)計(jì)的機(jī)器人書(shū)法系統(tǒng)由七部分組成:機(jī)器人操作系統(tǒng) ROS[12-14]平臺(tái)、ABB 控制器、ABB 機(jī)械臂、風(fēng)格遷移模塊[15]、OpenCV 圖像處理模塊[16]、毛筆及三維打印圓柱形夾具。根據(jù)提供的源字體與目標(biāo)風(fēng)格,在Ubuntu操作系統(tǒng)環(huán)境下將源字體遷移成具有目標(biāo)風(fēng)格特征的書(shū)法漢字?;贑++,使用OpenCV庫(kù)對(duì)漢字圖像進(jìn)行處理,獲取漢字筆畫(huà)的描述參數(shù),并對(duì)漢字筆畫(huà)的描述參數(shù)與機(jī)器人的控制參數(shù)建立聯(lián)系。對(duì)機(jī)器人的目標(biāo)軌跡進(jìn)行運(yùn)動(dòng)學(xué)分析,通過(guò)ROS平臺(tái)編寫(xiě)機(jī)械臂的控制程序進(jìn)行仿真,并將參數(shù)傳輸給實(shí)體機(jī)械臂控制器。機(jī)械臂末端由夾具夾持毛筆按照參數(shù)設(shè)置進(jìn)行移動(dòng),在平臺(tái)上臨摹出風(fēng)格遷移后得到的新字體。與此同時(shí),可以將實(shí)際書(shū)寫(xiě)的漢字與參考圖像進(jìn)行相似度對(duì)比。機(jī)器人書(shū)法系統(tǒng)結(jié)構(gòu)如圖1所示。
▲圖1 機(jī)器人書(shū)法系統(tǒng)結(jié)構(gòu)
創(chuàng)建漢字字體需要較大的工作量,要做一個(gè)兼容GBK的漢字字體,需要為超過(guò)26 000個(gè)不同的漢字設(shè)計(jì)外形,可能需要多年時(shí)間才能完成。但是,漢字都是由偏旁構(gòu)成的,不同的漢字中相同的偏旁也都相似。筆者根據(jù)kaonashi-tyc[17]提出的生成式對(duì)抗網(wǎng)絡(luò)進(jìn)行漢字風(fēng)格遷移,將標(biāo)準(zhǔn)樣式字體轉(zhuǎn)換為目標(biāo)風(fēng)格字體。這一方法將兩種不同風(fēng)格的字體作為數(shù)據(jù)源來(lái)對(duì)生成式對(duì)抗網(wǎng)絡(luò)進(jìn)行訓(xùn)練,再通過(guò)生成式對(duì)抗網(wǎng)絡(luò)對(duì)輸入的漢字風(fēng)格進(jìn)行轉(zhuǎn)換,所采用的生成式對(duì)抗網(wǎng)絡(luò)模型可表示為:
式中:G為生成器生成結(jié)果;D為判別器生成結(jié)果;x為真實(shí)樣本;z 為噪聲;G(z)為假樣本;D(x)為判別器對(duì)真實(shí)樣本的判斷結(jié)果;D[G(z)]為判別器對(duì)假樣本的判斷結(jié)果;E為樣本x或z服從某一分布p的數(shù)學(xué)期望值;pdata(x)為真實(shí)樣本 x 服從某一分布 p;pz(z)為噪聲z服從某一分布p。
在生成式對(duì)抗網(wǎng)絡(luò)中,同時(shí)訓(xùn)練生成器和判別器,式(1)等號(hào)左側(cè)代表對(duì)G和D優(yōu)化的結(jié)果,等號(hào)右側(cè)為判別器D對(duì)真實(shí)樣本x的預(yù)測(cè)結(jié)果和對(duì)假樣本G(z)的預(yù)測(cè)結(jié)果。生成器主要用來(lái)模仿真實(shí)樣本生成數(shù)據(jù),判別器負(fù)責(zé)區(qū)分出真實(shí)樣本和生成器生成的數(shù)據(jù),在訓(xùn)練過(guò)程中,兩個(gè)模型的分類能力越來(lái)越強(qiáng),最終達(dá)到穩(wěn)態(tài)。
筆者搜集了漢字的多種書(shū)寫(xiě)風(fēng)格,通過(guò)向生成式對(duì)抗網(wǎng)絡(luò)提供一對(duì)樣本的子集來(lái)訓(xùn)練該生成式對(duì)抗網(wǎng)絡(luò)學(xué)會(huì)兩種字體間的相互轉(zhuǎn)換,圖2所示為生成式對(duì)抗網(wǎng)絡(luò)在訓(xùn)練5 000對(duì)漢字樣本從宋體遷移到行楷時(shí)的200次迭代部分結(jié)果。
由圖2可以看出,迭代次數(shù)較少時(shí),生成器生成的模仿樣本與真實(shí)樣本的效果相差很大,隨著訓(xùn)練次數(shù)的增加,生成的樣本越來(lái)越接近真實(shí)樣本。訓(xùn)練完成后,就可以推理其它未被訓(xùn)練漢字的字符外形,圖3所示為生成式對(duì)抗網(wǎng)絡(luò)的結(jié)構(gòu)模型,其中a~e展示了利用一個(gè)已訓(xùn)練完成的從粗體到楷體風(fēng)格學(xué)習(xí)的模型對(duì)未訓(xùn)練字體“永”字進(jìn)行測(cè)試的過(guò)程,風(fēng)格特征權(quán)重比依次為 0、0.25、0.5、0.75、1。
▲圖2 訓(xùn)練結(jié)果
通過(guò)深度學(xué)習(xí)生成式對(duì)抗網(wǎng)絡(luò)的方法,可以獲得各種風(fēng)格化的漢字。為了將圖像中的漢字轉(zhuǎn)換為現(xiàn)實(shí)中具有藝術(shù)氣息的書(shū)法,筆者通過(guò)控制機(jī)器人來(lái)實(shí)現(xiàn)這一過(guò)程。
為了使機(jī)器人更好地還原風(fēng)格遷移得到的圖像中的新風(fēng)格漢字,需要對(duì)圖像中的漢字進(jìn)行特征分析與提取,主要包括軌跡特征與風(fēng)格特征。文字是由筆畫(huà)組合而成的,文字的基本筆畫(huà)有“橫”“豎”“撇”“捺”“點(diǎn)”“折”等,如圖4所示。通過(guò)筆畫(huà)的形狀參數(shù)和相應(yīng)筆畫(huà)的位置信息可以確定一個(gè)文字,基于筆畫(huà)參數(shù)的描述也能夠更多地保留漢字的細(xì)節(jié)內(nèi)容,因此對(duì)漢字的特征提取可以轉(zhuǎn)換為對(duì)筆畫(huà)的特征提取。
▲圖3 生成式對(duì)抗網(wǎng)格結(jié)構(gòu)模型
▲圖4 漢字基本筆畫(huà)
漢字筆畫(huà)的特征描述參數(shù)不是唯一的,主要包括筆畫(huà)的骨架、起始點(diǎn)、長(zhǎng)度、寬度、關(guān)鍵點(diǎn)等。
式中:Fi為一個(gè)漢字中第i個(gè)筆畫(huà)的特征集合;N為一個(gè)漢字中總的筆畫(huà)數(shù)目;pi為第i個(gè)筆畫(huà)每個(gè)骨架點(diǎn)的特征集合;si、ei分別為第i個(gè)筆畫(huà)的骨架起點(diǎn)和終點(diǎn);li為第i個(gè)筆畫(huà)的骨架長(zhǎng)度;θi為第i個(gè)筆畫(huà)的傾斜角度;wi為第i個(gè)筆畫(huà)的平均寬度。
通常評(píng)價(jià)兩個(gè)書(shū)法字體的相似度都是憑個(gè)人感知,結(jié)果會(huì)因?yàn)楦兄煌胁町?。筆者提出一種對(duì)評(píng)估書(shū)法字體相似度進(jìn)行量化的方法,主要包括兩方面。
(1)傾斜度。書(shū)法的筆畫(huà)不像打印字體那樣橫平豎直,為了整體的風(fēng)格效果,書(shū)法中的筆畫(huà)往往會(huì)有一
式中:li′為參考圖像中漢字第i個(gè)筆畫(huà)的骨架長(zhǎng)度;li為實(shí)際書(shū)寫(xiě)漢字第i個(gè)筆畫(huà)的骨架長(zhǎng)度。
平衡度的范圍也是0~1,實(shí)際書(shū)寫(xiě)筆畫(huà)與參考筆畫(huà)平衡度越接近,平衡度指標(biāo)就越接近1。
漢字筆畫(huà)一般由很多像素點(diǎn)組成,需要對(duì)圖像進(jìn)行細(xì)化處理,得到漢字的骨架特征。筆尖沿著筆畫(huà)路徑進(jìn)行移動(dòng),也即沿著骨架點(diǎn)坐標(biāo)進(jìn)行移動(dòng),用骨架點(diǎn)處筆畫(huà)的寬度表示筆畫(huà)的粗細(xì)。圖像處理流程如圖5所示。
由于風(fēng)格遷移獲些傾斜,如“一”字,筆畫(huà)會(huì)略微向右上方傾斜。筆畫(huà)的傾斜度在書(shū)法的整體風(fēng)格效果中有重要影響,傾斜度過(guò)大或過(guò)小都會(huì)影響書(shū)法的整體效果。傾斜度指標(biāo)可以表示為:
式中:θi′為參考圖像中筆畫(huà)的傾斜度;θi為實(shí)際書(shū)寫(xiě)字體中筆畫(huà)的傾斜度。
傾斜度指標(biāo)的變化范圍為0~1,實(shí)際書(shū)寫(xiě)的漢字筆畫(huà)與參考筆畫(huà)的傾斜度越接近,傾斜度指標(biāo)就越接近1。
▲圖5 圖像處理流程
(2)平衡度。書(shū)法字體放大或縮小都不會(huì)影響書(shū)法的整體風(fēng)格效果,但字體內(nèi)部筆畫(huà)間的相對(duì)大小對(duì)書(shū)法的整體效果會(huì)有很大影響。平衡度指標(biāo)可以表示為:得的圖像受到一些條件的影響,如模型大小和設(shè)備的性能等,獲得的圖像通常會(huì)存在噪聲等缺點(diǎn),因此在提取筆畫(huà)骨架之前需要對(duì)圖像進(jìn)行預(yù)處理。在試驗(yàn)中,使用歸一化法將風(fēng)格遷移后的每個(gè)字體尺寸大小改為200像素×200像素的圖像。由于風(fēng)格遷移后獲得的漢字字體邊緣可能會(huì)有輕微模糊,圖像不是完全的黑白圖像,因此筆者對(duì)漢字圖像采用二值化處理和結(jié)構(gòu)元素為3像素×3像素的先開(kāi)后閉運(yùn)算去噪處理。圖像處理效果如圖6所示。
▲圖6 圖像處理效果
骨架描述了圖像的幾何形狀與拓?fù)浣Y(jié)構(gòu),漢字骨架的提取可通過(guò)細(xì)化法實(shí)現(xiàn)。圖像的細(xì)化可將原本臃腫的筆畫(huà)縮減為單像素連接的二值圖像。
對(duì)于無(wú)筆畫(huà)交叉的字體,如上下結(jié)構(gòu)的 “二”字,采取先從上到下,再?gòu)淖蟮接业捻樞蛱崛〔⒈4婀P畫(huà)的像素坐標(biāo)。如左右結(jié)構(gòu)的 “川”字,采取先從左到右,再?gòu)纳系较碌捻樞蛱崛〔⒈4婀P畫(huà)的像系坐標(biāo)。
對(duì)于有筆畫(huà)交叉的字體,如圖 7所示“機(jī)”字,先對(duì)字體進(jìn)行連通區(qū)域的劃分,分為“木”與 “幾”兩部分。對(duì)于“木”,遍歷1處的八鄰域像素來(lái)判斷下一點(diǎn)的走勢(shì),當(dāng)遇到第一個(gè)交叉點(diǎn)P時(shí),分為三個(gè)路線, 分別為 P→2、P→3、P→5,提取每個(gè)路線的10個(gè)像素點(diǎn)并計(jì)算該路線的平均走勢(shì),與路線1→P走勢(shì)最相似的即為下一筆畫(huà)的路線,也就是P→2。
▲圖7 “機(jī)”字筆畫(huà)順序
筆畫(huà)的關(guān)鍵點(diǎn)主要包括筆畫(huà)的端點(diǎn)與筆畫(huà)的拐點(diǎn)。筆畫(huà)的端點(diǎn)即骨架的端點(diǎn),可以根據(jù)八鄰域查找法進(jìn)行判斷。當(dāng)某一個(gè)骨架點(diǎn)的八鄰域中只有一個(gè)點(diǎn)是黑色時(shí),則認(rèn)為該點(diǎn)是骨架端點(diǎn),否則為非端點(diǎn),兩個(gè)端點(diǎn)之間骨架點(diǎn)的個(gè)數(shù)即為該筆畫(huà)的長(zhǎng)度。
拐點(diǎn)是筆畫(huà)中曲率最大的點(diǎn)??梢愿鶕?jù)計(jì)算曲率法提取筆畫(huà)的拐點(diǎn),即依次計(jì)算相鄰骨架點(diǎn)的曲率,當(dāng)曲率突然變化較大時(shí),認(rèn)為該點(diǎn)是筆畫(huà)的拐點(diǎn)。
在書(shū)寫(xiě)時(shí),毛筆下壓力度的大小是書(shū)法風(fēng)格的重要特征。在線書(shū)寫(xiě)的字符可以通過(guò)特殊筆實(shí)時(shí)記錄筆壓的大小,離線書(shū)法字體雖然沒(méi)有筆壓記錄,但可以用筆畫(huà)的寬度特征間接表示筆壓的大小。在書(shū)寫(xiě)時(shí),對(duì)毛筆下壓力度越大,筆畫(huà)就越粗。筆畫(huà)的寬度特征是書(shū)法的重要特征,寬度的變化即筆畫(huà)粗細(xì)的變化,代表了筆刷沿Z軸的上下運(yùn)動(dòng),同時(shí)也是書(shū)寫(xiě)時(shí)垂直于紙面方向的提筆、頓筆等動(dòng)作。細(xì)化處理后的筆畫(huà)骨架只顯示了筆畫(huà)的方向信息,對(duì)于筆畫(huà)的粗細(xì)則需要通過(guò)寬度特征來(lái)表示。計(jì)算筆畫(huà)寬度特征信息時(shí),沿著骨架線計(jì)算每個(gè)骨架點(diǎn)處筆畫(huà)的寬度。以初始骨架點(diǎn)像素坐標(biāo)為圓心,初始半徑為R畫(huà)圓,檢測(cè)圓內(nèi)各像素點(diǎn)是否在筆畫(huà)范圍內(nèi)。由于在二值圖像中筆畫(huà)像素值為0,背景像素值為255,因此只需檢測(cè)圓內(nèi)是否有白色點(diǎn),無(wú)白色點(diǎn)則R+1繼續(xù)判斷,直到圓內(nèi)有白色點(diǎn),則證明圓已超過(guò)筆畫(huà)范圍,結(jié)束判斷進(jìn)行下一步。取R-1為當(dāng)前骨架點(diǎn)處筆畫(huà)半徑,即當(dāng)前骨架點(diǎn)處筆畫(huà)的寬度為2R,然后以下一骨架點(diǎn)為圓心重復(fù)上述步驟。圖8所示為對(duì)橫筆畫(huà)寬度信息進(jìn)行提取。
▲圖8 筆畫(huà)寬度信息提取
機(jī)器人運(yùn)動(dòng)學(xué)分為正運(yùn)動(dòng)學(xué)與逆運(yùn)動(dòng)學(xué),正運(yùn)動(dòng)學(xué)主要解決機(jī)器人運(yùn)動(dòng)方程的建立與末端位姿的求解問(wèn)題,它將關(guān)節(jié)坐標(biāo)系內(nèi)的角度轉(zhuǎn)化為笛卡爾坐標(biāo)系中的末端位姿矩陣。在控制機(jī)器人寫(xiě)字的過(guò)程中,需要根據(jù)寫(xiě)字的位置和姿態(tài)計(jì)算機(jī)器人各關(guān)節(jié)的位置與姿態(tài),即在已知機(jī)械臂末端在笛卡爾坐標(biāo)系要到達(dá)的目標(biāo)位姿的情況下求出關(guān)節(jié)變量,來(lái)驅(qū)動(dòng)各關(guān)節(jié)的電機(jī),使末端位姿得到滿足,這就是反向運(yùn)動(dòng)學(xué)問(wèn)題,也稱為求運(yùn)動(dòng)學(xué)逆解。
對(duì)機(jī)器人的每一個(gè)連桿建立一個(gè)坐標(biāo)系,用齊次變換來(lái)描述坐標(biāo)系之間的相對(duì)關(guān)系,將描述一個(gè)連桿坐標(biāo)系與下一個(gè)連桿坐標(biāo)系間相對(duì)關(guān)系的齊次變換矩陣稱為A矩陣。用0A1矩陣表示第一連桿坐標(biāo)系相對(duì)于固定坐標(biāo)系的齊次變換,依次類推。對(duì)于筆者試驗(yàn)中使用的ABB 120型六連桿機(jī)器人,機(jī)械臂末端執(zhí)行器相對(duì)于固定坐標(biāo)系的位姿為:
式(8)中,矩陣前三列表示末端的姿態(tài),第四列表示機(jī)械臂末端的位姿。式(7)、式(8)是運(yùn)動(dòng)學(xué)求正解的過(guò)程,即根據(jù)各個(gè)關(guān)節(jié)變量來(lái)求末端執(zhí)行器的位姿。機(jī)器人運(yùn)動(dòng)學(xué)逆解為已知0T6矩陣的參數(shù),將A矩陣分別左乘,求得各關(guān)節(jié)變量值的過(guò)程,然后根據(jù)各關(guān)節(jié)變量值對(duì)機(jī)械臂進(jìn)行控制,其中m為機(jī)械臂的關(guān)節(jié)值:
位姿中兩個(gè)重要的參數(shù)為位置和四元數(shù),分別代表末端執(zhí)行器在三維空間中沿X、Y、Z軸的移動(dòng)和旋轉(zhuǎn)。在機(jī)械臂關(guān)節(jié)空間位姿的描述中,常用的旋轉(zhuǎn)表示法是歐拉角,而在笛卡爾坐標(biāo)系內(nèi)常用四元數(shù)來(lái)表示。在ROS平臺(tái)控制機(jī)械臂的位姿時(shí),需要將歐拉角轉(zhuǎn)換為四元數(shù),歐拉角到四元數(shù)的轉(zhuǎn)換q為[18]:
式中:ψ、θ、φ 依次為繞 Z、Y、X 軸的旋轉(zhuǎn)角度。
漢字的外形主要由筆畫(huà)的寬度與筆畫(huà)的軌跡決定,為了控制機(jī)器人書(shū)寫(xiě)出目標(biāo)文字,需要控制機(jī)器人從這兩方面對(duì)目標(biāo)文字進(jìn)行重現(xiàn)。筆畫(huà)的寬度信息可由機(jī)器人的運(yùn)筆深度來(lái)代替,將圖像處理中獲取的筆畫(huà)寬度信息與機(jī)器人坐標(biāo)互相轉(zhuǎn)換,當(dāng)筆畫(huà)寬度為時(shí)的機(jī)器人Z軸坐標(biāo)為:
式中:Zmax為毛筆剛接觸紙面時(shí)機(jī)械臂的Z軸坐標(biāo);Zmin為毛筆完全接觸紙面時(shí)的Z軸坐標(biāo);W為毛筆與紙面完全接觸時(shí)的寬度。
筆者所使用的ABB機(jī)械臂中,Zmax=220 mm,Zmin=214 mm,W=13 mm。通過(guò)控制機(jī)械臂在Z軸方向上下運(yùn)動(dòng)來(lái)實(shí)現(xiàn)對(duì)毛筆字筆畫(huà)寬度的控制。
機(jī)器人書(shū)法系統(tǒng)操作平臺(tái)如圖9所示,試驗(yàn)流程如下:①利用生成式對(duì)抗網(wǎng)絡(luò)對(duì)源字體進(jìn)行風(fēng)格遷移,產(chǎn)生新風(fēng)格字體;②對(duì)生成的新字體進(jìn)行圖像處理,得到筆畫(huà)的描述參數(shù),即筆畫(huà)的骨架坐標(biāo)與寬度信息等;③將筆畫(huà)的描述參數(shù)轉(zhuǎn)換為機(jī)器人的控制參數(shù),骨架坐標(biāo)轉(zhuǎn)換為ABB機(jī)械臂的XOY平面軌跡坐標(biāo),寬度信息轉(zhuǎn)換為機(jī)器人的運(yùn)筆深度,即機(jī)械臂末端的Z軸坐標(biāo);④ 通過(guò)C++編寫(xiě)程序,在ROS平臺(tái)中發(fā)送指令,控制實(shí)體機(jī)器人沿著筆畫(huà)軌跡運(yùn)動(dòng),同時(shí)包括筆畫(huà)的提筆與頓筆。
以往機(jī)器人書(shū)寫(xiě)毛筆字大多數(shù)都在二維平面內(nèi)進(jìn)行,丟失了筆畫(huà)的寬度等信息,缺少了書(shū)法的藝術(shù)風(fēng)格。加入筆畫(huà)寬度等信息之后,機(jī)器人書(shū)寫(xiě)的毛筆字具有了書(shū)法的風(fēng)格美。為了全面評(píng)估不同結(jié)構(gòu)漢字的書(shū)寫(xiě)效果,對(duì)左右結(jié)構(gòu)、上下結(jié)構(gòu)、半包圍結(jié)構(gòu)和全包圍結(jié)構(gòu)的典型字體進(jìn)行書(shū)寫(xiě)試驗(yàn),試驗(yàn)結(jié)果見(jiàn)表1??梢?jiàn),利用筆者提出的方法書(shū)寫(xiě)漢字,顯示出較好的風(fēng)格遷移效果。
▲圖9 機(jī)器人書(shū)法系統(tǒng)操作平臺(tái)
表1 書(shū)寫(xiě)效果
為了對(duì)筆者方法的臨摹效果進(jìn)行定量分析,采用包含傾斜度與平衡度兩個(gè)指標(biāo)的評(píng)價(jià)方法進(jìn)行相似度評(píng)估。由于“永”字是書(shū)法的代表性字體,因此選用“永”字。利用筆者提出的漢字相似度評(píng)估的方法,將實(shí)際書(shū)寫(xiě)效果與參考圖像進(jìn)行對(duì)比,結(jié)果見(jiàn)表2??梢?jiàn),傾斜度和平衡度兩個(gè)指標(biāo)基本都達(dá)到了0.9,筆者所述方法對(duì)漢字臨摹效果較佳。
由實(shí)際書(shū)寫(xiě)效果和傾斜度與平衡度的評(píng)估結(jié)果可知,筆者提出的將書(shū)法風(fēng)格特征與機(jī)器人運(yùn)筆深度相結(jié)合的方法對(duì)于風(fēng)格遷移而言效果良好。
生成式對(duì)抗網(wǎng)絡(luò)作為典型的深度學(xué)習(xí)模型,在圖像識(shí)別中的應(yīng)用中已取得了突破性進(jìn)展。筆者基于生成式對(duì)抗網(wǎng)絡(luò)與圖像處理技術(shù),提出一種將漢字特征參數(shù)與機(jī)器人控制參數(shù)相結(jié)合的機(jī)器人臨摹書(shū)法的方法。為了實(shí)現(xiàn)以上目的,首先將源字體進(jìn)行風(fēng)格遷移,生成新風(fēng)格字體;然后提出一系列漢字特征描述參數(shù),以及將漢字相似度評(píng)估量化的方法,將漢字特征描述參數(shù)轉(zhuǎn)換為機(jī)器人控制參數(shù);在對(duì)機(jī)器人進(jìn)行運(yùn)動(dòng)學(xué)分析的基礎(chǔ)上,利用ROS平臺(tái)實(shí)現(xiàn)機(jī)器人繪制書(shū)法的功能,將實(shí)際書(shū)寫(xiě)的字體與源字體進(jìn)行傾斜度與平衡度兩方面的相似度對(duì)比評(píng)估;最后用試驗(yàn)驗(yàn)證了這一方法的準(zhǔn)確性與可行性。這一方法能較好地還原字體形狀與書(shū)寫(xiě)風(fēng)格,而且書(shū)法機(jī)器人還適用于其它復(fù)雜環(huán)境的應(yīng)用,如在危險(xiǎn)環(huán)境中可較好地實(shí)現(xiàn)雕刻、噴涂及焊接等工作。另外,在醫(yī)療方面也可控制機(jī)械臂在較小的空間中進(jìn)行精確定位及運(yùn)動(dòng),具有較為廣泛的應(yīng)用前景。
表2 “永”字相似度評(píng)估