高宜琛,連宙輝,唐英敏,肖建國(guó)
一種新的矢量中文字庫(kù)自動(dòng)壓縮方法
高宜琛,連宙輝,唐英敏,肖建國(guó)
(北京大學(xué)王選計(jì)算機(jī)研究所,北京 100080)
針對(duì)中文矢量字庫(kù)體積較大,在嵌入式設(shè)備上使用不便的問(wèn)題,提出了一種新的矢量中文字庫(kù)自動(dòng)壓縮方法?;诓考唇雍蛷?fù)用的思想,首先使用一種傳統(tǒng)圖形學(xué)方法將字庫(kù)中的字形拆分成不同部件,之后計(jì)算每個(gè)字形的部件復(fù)用關(guān)系,最后使用模擬退火算法迭代優(yōu)化拼接字形,生成壓縮字庫(kù)。實(shí)驗(yàn)結(jié)果表明,該方法能夠在維持原始字庫(kù)風(fēng)格和字形不變的條件下,生成體積僅為原始字庫(kù)20%左右的壓縮字庫(kù),從而提升了矢量中文字庫(kù)在存儲(chǔ)空間相對(duì)受限的嵌入式設(shè)備上的可用性。
矢量中文字庫(kù)壓縮;部件提??;部件復(fù)用;智能優(yōu)化;模擬退火
隨著移動(dòng)信息化時(shí)代的到來(lái),人們?cè)谇度胧皆O(shè)備如智能手機(jī)、平板電腦上使用個(gè)性化中文字庫(kù)的需求也與日俱增。與個(gè)人電腦不同,嵌入式設(shè)備雖然具有體積小巧、移動(dòng)性好等特點(diǎn),但存儲(chǔ)空間也相對(duì)受限。龐大的漢字系統(tǒng)使得中文字庫(kù)的體積通常是英文字庫(kù)的幾十甚至上百倍,導(dǎo)致其在嵌入式設(shè)備上的應(yīng)用受到限制。為了解決這一問(wèn)題,本文基于“部件復(fù)用”這一核心思想,提出了一種矢量中文字庫(kù)的自動(dòng)壓縮方法,能夠在保留原始字形和風(fēng)格的條件下,生成體積只有原始字庫(kù)20%左右的壓縮字庫(kù),極大地提升了矢量中文字庫(kù)在嵌入式設(shè)備上的可用性和易用性。
矢量字庫(kù)壓縮,特別是矢量中文字庫(kù)的壓縮通常被建模成一個(gè)工程問(wèn)題,因此學(xué)術(shù)界的研究和討論也相對(duì)有限,一般有部件復(fù)用和曲線減點(diǎn)2種實(shí)現(xiàn)思路。FENG和JIN[1]提出使用仿射變換對(duì)中文字庫(kù)進(jìn)行壓縮,該方法是基于部件復(fù)用的思想,壓縮后的字庫(kù)中僅保存一個(gè)基本部件庫(kù),在拼接字形時(shí),通過(guò)計(jì)算一個(gè)部件庫(kù)中部件到目標(biāo)部件的仿射變換矩陣,并根據(jù)矩陣將部件庫(kù)中的部件變換為目標(biāo)部件,最后達(dá)到拼接成字的目的。雖然該方法可以直接操作字形外輪廓,但由于變換矩陣的計(jì)算需要在部件上選擇特定的關(guān)鍵點(diǎn),因此其在個(gè)性化字庫(kù)上會(huì)出現(xiàn)選點(diǎn)不當(dāng)?shù)那闆r,從而導(dǎo)致壓縮質(zhì)量下降。TANG等[2]通過(guò)對(duì)部件使用基礎(chǔ)的縮放平移實(shí)現(xiàn)了不錯(cuò)的拼字結(jié)果,同時(shí)還提出了一系列優(yōu)化筆畫粗細(xì)和對(duì)齊位置的方法,但該方法僅實(shí)現(xiàn)了對(duì)等線字體的壓縮,因?yàn)閷?duì)個(gè)性化字庫(kù)而言,精準(zhǔn)的筆畫拆分很難實(shí)現(xiàn)。同時(shí)個(gè)性化字庫(kù)的筆畫也更加不規(guī)則,因此筆畫級(jí)別的修正也很難得到實(shí)際應(yīng)用。
當(dāng)前大多數(shù)矢量字庫(kù)都采用貝齊爾(Bezier)曲線和直線段來(lái)描繪字形輪廓,如:TrueType格式的矢量字庫(kù)中的字形輪廓是采用二階貝齊爾曲線和直線段來(lái)繪制的;OpenType格式的字庫(kù)則引入了三次貝齊爾曲線來(lái)更精確地描繪字形輪廓。這些曲線和直線段均通過(guò)關(guān)鍵點(diǎn)來(lái)表達(dá),若能實(shí)現(xiàn)對(duì)關(guān)鍵點(diǎn)數(shù)量的壓縮,即能降低字庫(kù)本身的體積。PAN等[3]提出了基于骨架指導(dǎo)的漢字字符圖像矢量化算法,該方法采用動(dòng)態(tài)曲線擬合的思想,相比于自動(dòng)矢量化軟件可以生成更加平滑和點(diǎn)數(shù)更少的矢量字形。XIA等[4]則將生成對(duì)抗網(wǎng)絡(luò)模型[5]加入到了矢量化的流程之中,其使用生成對(duì)抗網(wǎng)絡(luò)來(lái)簡(jiǎn)化字形圖片,然后采用啟發(fā)式的矢量化方法得到最終的矢量關(guān)鍵點(diǎn)。但是該方法的訓(xùn)練需要人工對(duì)部分圖片進(jìn)行標(biāo)注和簡(jiǎn)化,這不僅帶來(lái)了較大的工作量而且還需要標(biāo)注者對(duì)矢量圖形具有一定的理解,提高了標(biāo)注的門檻,同時(shí)僅通過(guò)減點(diǎn)的方法無(wú)法顯著壓縮矢量中文字庫(kù)的體積。
相比之下,本文提出的壓縮方法不僅能夠?qū)崿F(xiàn)對(duì)任意矢量中文字庫(kù)的壓縮,而且無(wú)需變換矩陣或啟發(fā)式的對(duì)齊方法,其借助模擬退火算法[6]來(lái)自動(dòng)迭代優(yōu)化壓縮后字形,修復(fù)部件分割誤差導(dǎo)致的拼接錯(cuò)誤,使生成的壓縮字庫(kù)與原始字庫(kù)更加接近。
本文提出的矢量中文字庫(kù)壓縮方法的基本工作流程如圖1所示,主要包括:部件拆分、部件復(fù)用關(guān)系計(jì)算和拼接字形迭代優(yōu)化3個(gè)步驟。輸入一款未經(jīng)壓縮的矢量中文字庫(kù)后,系統(tǒng)首先對(duì)該字庫(kù)中所有的字形進(jìn)行部件級(jí)別的拆分,之后該系統(tǒng)需要維護(hù)一個(gè)部件庫(kù),并要求字庫(kù)中的所有字形均必須能且僅能通過(guò)部件庫(kù)中的部件拼接生成,因此這一步中系統(tǒng)需要不斷將拆分好的部件加入到部件庫(kù)中并計(jì)算字形與部件庫(kù)之間的復(fù)用關(guān)系。最后針對(duì)由此生成的拼接字形,還提出了一種迭代優(yōu)化的后處理方法,用于進(jìn)一步調(diào)整字形中部件的位置和大小,得到質(zhì)量更高的壓縮字庫(kù),作為系統(tǒng)最終的輸出結(jié)果。3個(gè)步驟中,第1步本文直接使用LIAN和XIAO[7]提出的基于圖形學(xué)的筆劃部件分割方法,這里不再贅述,而重點(diǎn)介紹其余2個(gè)步驟的內(nèi)容。
圖1 矢量中文字庫(kù)壓縮系統(tǒng)工作流程圖
部件復(fù)用關(guān)系是指字形中的部件具體應(yīng)該復(fù)用部件庫(kù)中的哪個(gè)部件,是字庫(kù)壓縮系統(tǒng)中最核心的部分,其本質(zhì)是計(jì)算字形部件與部件庫(kù)中同類別部件的相似程度,然后選擇部件庫(kù)中最相似的部件來(lái)代替字形部件。當(dāng)然,如果部件庫(kù)中不存在該類別的部件或者所有部件均不符合復(fù)用要求,則將該字形部件加入到部件庫(kù)中,并指定這一字形部件復(fù)用自己本身。
為了充分利用匹配對(duì)象的圖像信息實(shí)現(xiàn)更加精準(zhǔn)的匹配關(guān)系計(jì)算,本文提出了三特征匹配算法,用于更好地衡量2個(gè)部件的相似性。該算法顧名思義需要分別計(jì)算2個(gè)部件圖像的3個(gè)特征,并以此為依據(jù)得出二者的差異度。其中第1個(gè)特征為縮放特征,即
第2個(gè)特征為2張部件圖像縮放到同一尺寸后前景像素的IoU距離,計(jì)算方法為2=1-,不再贅述。
第3個(gè)特征為圖像的方向梯度直方圖(histogram of oriented gradient,HOG)特征[8],即在一張圖片中,局部目標(biāo)的一些特征能夠被邊緣的方向密度分布所描述,因此該特征通過(guò)統(tǒng)計(jì)局部區(qū)域內(nèi)圖像的梯度方向直方圖來(lái)生成圖像特征。在表征字形時(shí),由于字形一旦確定了邊緣的輪廓,內(nèi)部的區(qū)別一般不大,因此設(shè)置HOG特征是合理的。實(shí)際應(yīng)用時(shí),本文首先將部件庫(kù)部件縮放至與字形部件相同的尺寸,然后分別計(jì)算其HOG特征向量,最后再計(jì)算2組向量曼哈頓距離的平均值,作為最終的HOG特征,記為3。
最后3個(gè)特征匹配差異度為
其中,,和均為權(quán)重,實(shí)驗(yàn)中分別取0.4,0.6和5.0。得到的差異度值將被用于評(píng)判2個(gè)部件是否構(gòu)成復(fù)用關(guān)系,若小于用戶設(shè)定的差異度閾值,則認(rèn)為2個(gè)部件可以互相復(fù)用。此時(shí),可以通過(guò)調(diào)整差異度閾值來(lái)控制壓縮字庫(kù)的精度,例如更小的閾值會(huì)對(duì)復(fù)用部件提出更高的相似度要求,進(jìn)而提升壓縮字庫(kù)的質(zhì)量,同時(shí)也增大了字庫(kù)的部件數(shù)和體積??偠灾?,通過(guò)修改閾值,用戶可以方便地實(shí)現(xiàn)對(duì)壓縮字庫(kù)體積和質(zhì)量之間的平衡。
計(jì)算得到部件復(fù)用關(guān)系后,系統(tǒng)可生成一款完整的壓縮字庫(kù),但其中部分字形會(huì)存在一些結(jié)構(gòu)偏差,因此在該步中本文使用迭代優(yōu)化的方式修復(fù)該偏差。
壓縮字庫(kù)中存儲(chǔ)的信息包括2個(gè)部分,一部分是部件的輪廓信息,由二次貝齊爾曲線表示;另一部分則是字形的部件索引信息,包括字形復(fù)用的部件編號(hào)以及該部件在本字形中的位置和縮放比例。對(duì)前者的優(yōu)化主要是修復(fù)分割錯(cuò)誤的部件,但由于字形分割結(jié)果的自動(dòng)修復(fù)難度很大,目前的方法很難實(shí)現(xiàn)完全自動(dòng)的完美修復(fù),因此后者自然成為了本文關(guān)注的優(yōu)化對(duì)象。其中復(fù)用關(guān)系在2.1節(jié)中就已確定,而本節(jié)則針對(duì)部件位置和縮放比例的優(yōu)化方法。該方法適用于圖2中的情形,對(duì)一個(gè)目標(biāo)字形而言,圖2(a)是錯(cuò)誤的分割結(jié)果,在生成圖2(a)對(duì)應(yīng)的壓縮字形時(shí),復(fù)用部件將按照分割結(jié)果的包圍框進(jìn)行放置,如圖2(b)所示,即使使用了高質(zhì)量的部件,拼接字形中依然存在一些錯(cuò)誤。其目的是優(yōu)化圖2(b)中部件的位置和縮放比例,使字形達(dá)到圖2(c)與目標(biāo)字形圖2(d)較為一致的效果。因此本文方法優(yōu)化的對(duì)象其實(shí)是部件的位置和大小,相比于直接優(yōu)化貝齊爾曲線,參數(shù)少了很多,同時(shí)由于目標(biāo)字形的存在,本文使用智能優(yōu)化算法對(duì)參數(shù)進(jìn)行迭代式搜索。
圖2 本文提出的拼接字形優(yōu)化適用場(chǎng)景((a)目標(biāo)字形的分割結(jié)果;(b)根據(jù)分割結(jié)果拼接成的字形;(c)優(yōu)化可能達(dá)到的字形;(d)目標(biāo)字形)
令為壓縮字庫(kù)中的一個(gè)字形,則={1,2,···,p},其中為字形中部件的數(shù)量,p為字形中每個(gè)部件的信息,且p={,offset,offset,scale,scale},其中為該部件在部件庫(kù)中的索引;offset/y為該部件的左上角相對(duì)字形圖像左上角在橫/縱坐標(biāo)上的偏移量;scale/y則為該部件在這個(gè)字形中相對(duì)其原始尺寸在水平/豎直方向上的縮放比例。渲染一個(gè)拼接字形的過(guò)程可以描述為:對(duì)中的每個(gè)部件p,首先在部件庫(kù)中找到索引為的部件,然后將其水平和豎直方向分別縮放scale和scale倍,最后將其左上角移動(dòng)到圖像中(offset, offset)的位置即可。該方法優(yōu)化的對(duì)象為字形中每個(gè)部件的offset/y和scale/y,因此對(duì)于一個(gè)包含有個(gè)部件的字形而言,該方法需要優(yōu)化的參數(shù)個(gè)數(shù)為4。
由于無(wú)法直接根據(jù)2張字形圖像計(jì)算出上述參數(shù)的最優(yōu)解,因此本文使用了迭代優(yōu)化的思想來(lái)漸進(jìn)式地搜索各個(gè)參數(shù)。WONG和HSU[9]和PAK等[10]在其工作中使用了對(duì)中文字形各個(gè)部件的迭代優(yōu)化,其首先將部件按照字形的結(jié)構(gòu)信息拼接成字形,然后定義字形的美觀度評(píng)價(jià)指標(biāo)和不同的優(yōu)化操作,如將左右結(jié)構(gòu)的2個(gè)部件拉近或推遠(yuǎn)一定距離,這樣美觀度指標(biāo)就可以作為迭代中的適值函數(shù),判斷當(dāng)前字形是否符合要求,而優(yōu)化操作則可以對(duì)當(dāng)前字形的鄰域進(jìn)行采樣,生成其他字形,推動(dòng)迭代過(guò)程的進(jìn)行。雖然與本文方法思想類似,但這2類方法都需要字形的結(jié)構(gòu)信息作為指導(dǎo),因此無(wú)法直接應(yīng)用。另外PANG等[11]提出了通過(guò)優(yōu)化網(wǎng)頁(yè)元素屬性的方式來(lái)實(shí)現(xiàn)對(duì)用戶視線的引導(dǎo),即使用梅特羅波利斯-黑斯廷斯算法[12-13](Metropolis– Hastings algorithm)對(duì)網(wǎng)頁(yè)中元素的屬性如按鈕的大小、文本的顏色或圖片間的距離等進(jìn)行隨機(jī)采樣,然后通過(guò)設(shè)計(jì)好的適值函數(shù)來(lái)評(píng)判采樣的優(yōu)劣,并不斷迭代后就能得到一個(gè)相對(duì)更好的網(wǎng)頁(yè)設(shè)計(jì)。
本文借鑒了上述工作中的一些思想,通過(guò)對(duì)字形組成部件的位置和縮放比例的采樣來(lái)迭代優(yōu)化整個(gè)字形,同時(shí)由于目標(biāo)字形的存在以及參數(shù)個(gè)數(shù)較少,因此本文最終使用相對(duì)簡(jiǎn)單的模擬退火算法作為整個(gè)優(yōu)化的框架。
2.2.1 適值函數(shù)
與2.1節(jié)計(jì)算部件復(fù)用關(guān)系類似,這里的適值函數(shù)同樣主要用于衡量2張字形圖片的相似度,同時(shí)為了防止當(dāng)前字形在優(yōu)化過(guò)程中脫離本字符既定的結(jié)構(gòu),本文方法還在適值函數(shù)中加入了與標(biāo)準(zhǔn)字形結(jié)構(gòu)相似度的計(jì)算,因此最終的適值函數(shù)由2部分組成,一部分為與目標(biāo)字形圖像級(jí)別的相似度F,另一部分為與標(biāo)準(zhǔn)字形結(jié)構(gòu)級(jí)別的相似度F,最終的適值函數(shù)=F+wF,其中為權(quán)重,實(shí)驗(yàn)中取0.2。
與部件匹配類似,F包括了2張圖像的寬高相似度,記為size,計(jì)算式同式(1),包括圖像的前景和背景IoU,分別記為fore和back,計(jì)算過(guò)程不再贅述。此外受到SUN等[14]提出的字形美觀度評(píng)價(jià)方法的啟發(fā),為了衡量字形輪廓之間的相似性,F還包括了2張圖像凸包的IoU,記為hull。最終的圖像級(jí)別的適值函數(shù)為
其中,w為權(quán)重,實(shí)驗(yàn)中依次為0.2,0.4,0.3和0.2。
直接使用當(dāng)前字形與標(biāo)準(zhǔn)字形在圖像級(jí)別上的相似度作為適值函數(shù)是不合理的,因?yàn)樽煮w本身風(fēng)格各異,內(nèi)容差距大是正?,F(xiàn)象,所以在文獻(xiàn)[14]的啟發(fā)下,本文設(shè)計(jì)了一系列表征字形結(jié)構(gòu)的特征,并通過(guò)計(jì)算和比較標(biāo)準(zhǔn)字形和目標(biāo)字形特征值之間的距離,來(lái)衡量二者結(jié)構(gòu)上的相似性。具體地,結(jié)構(gòu)特征包含以下3個(gè)方面:
(1) 部件相對(duì)字形中心的偏移。本文定義每個(gè)部件的位置為其外接包圍框的中心,因此對(duì)每個(gè)部件都能計(jì)算出其相對(duì)字形中心的偏移量,之后再使用字形的寬高對(duì)偏移量的絕對(duì)值進(jìn)行歸一化,即可得到部件相對(duì)字形中心的位置特征。
最后本文將上述求出的特征首尾相連組成一個(gè)維的特征向量,2個(gè)特征的相似度為
其中,1?R,2?R分別為標(biāo)準(zhǔn)字形和當(dāng)前字形的結(jié)構(gòu)特征向量。
2.2.2 優(yōu)化器
本文使用模擬退火算法來(lái)優(yōu)化當(dāng)前字形,增加當(dāng)前的適值函數(shù)值,直到迭代次數(shù)達(dá)到閾值或適值函數(shù)的變化小于某個(gè)精度。下面按照模擬退火算法中的要素來(lái)介紹本問(wèn)題中使用的優(yōu)化器:
(1) 初始狀態(tài)。除了拼接生成的字形外,本文還加入了按照標(biāo)準(zhǔn)楷體的間架結(jié)構(gòu)拼接生成的字形作為另一個(gè)的初始狀態(tài),并對(duì)多個(gè)初始狀態(tài)獨(dú)立優(yōu)化,最終選擇適值函數(shù)最大的字形。
(2) 新?tīng)顟B(tài)采樣。通過(guò)對(duì)當(dāng)前狀態(tài)任意一個(gè)部件的偏移或縮放比例進(jìn)行隨機(jī)擾動(dòng)來(lái)得到新字形,其中對(duì)偏移參數(shù)和縮放比例參數(shù)隨機(jī)±1。
(3) 狀態(tài)接受和狀態(tài)拒絕。如果新?tīng)顟B(tài)導(dǎo)致適值函數(shù)下降且該下降在當(dāng)前溫度下沒(méi)有被接受,那么按照模擬退火框架,該狀態(tài)不應(yīng)作為新的當(dāng)前狀態(tài),而應(yīng)重新進(jìn)行采樣。同時(shí),如果參數(shù)本身不合法,如縮放比例不大于0或部件溢出邊框,同樣應(yīng)該拒絕該狀態(tài)。沒(méi)有被拒絕的狀態(tài)將會(huì)被接受為新的當(dāng)前狀態(tài)。
(4) 降溫。內(nèi)循環(huán)至一定次數(shù)后執(zhí)行降溫操作,降溫后對(duì)接受狀態(tài)的要求會(huì)更加苛刻,使整個(gè)搜索過(guò)程從廣域搜索逐步轉(zhuǎn)換為鄰域搜索。
為了論證壓縮方法的有效性,本文隨機(jī)挑選了若干套風(fēng)格各異的矢量中文字庫(kù),并對(duì)壓縮前后的文件體積和字形結(jié)果進(jìn)行了比較,結(jié)果如圖3所示。其中“方正爆米花體”壓縮前后體積分別為4 003 KB和987 KB,“方正嗶哩君體”分別為3 519 KB和970 KB,“方正羽怒體”分別為9 174 KB和1 963 KB,“方正有貓?jiān)隗w”分別為5 660 KB和1 995 KB。
圖3 經(jīng)過(guò)壓縮后的字形(子圖第一行)與原始字形(子圖第二行)的對(duì)比結(jié)果((a)方正爆米花體;(b)方正嗶哩君體;(c)方正羽怒體;(d)方正有貓?jiān)隗w)
從圖3可知,前3款字體的壓縮字庫(kù)在整體風(fēng)格和結(jié)構(gòu)上基本與原始字庫(kù)保持一致,并且體積均只有原始字庫(kù)的20%左右,實(shí)現(xiàn)了較好的字庫(kù)壓縮效果,但對(duì)最后一款“方正有貓?jiān)隗w”而言,其修飾紋理較多且與標(biāo)準(zhǔn)字形差距較大,因此部件分割方法通常會(huì)產(chǎn)生較大的分割誤差,導(dǎo)致最終壓縮字庫(kù)的質(zhì)量嚴(yán)重下降。
為了驗(yàn)證部件數(shù)與壓縮率 (壓縮字庫(kù)體積與原始字庫(kù)體積的比值) 的關(guān)系以及計(jì)算部件復(fù)用關(guān)系的方法有效性,本文對(duì)不同閾值下“方正羽怒體”的壓縮結(jié)果進(jìn)行了分析,并與僅考慮部件寬高的復(fù)用關(guān)系計(jì)算方法進(jìn)行了對(duì)比,結(jié)果如圖4所示。
圖4 不同閾值下本文方法與僅考慮部件寬高方法的對(duì)比((a)部件數(shù)量與壓縮率的關(guān)系;(b)壓縮率與字形IoU的關(guān)系)
從圖4(a)中可以看出,部件數(shù)與壓縮率基本呈線性正相關(guān)關(guān)系,更改部件匹配算法的閾值即可實(shí)現(xiàn)不同的壓縮率,同時(shí)不同的匹配算法對(duì)本結(jié)果影響不大。接著本文將2款字庫(kù)全部GB2312字符集[15]對(duì)應(yīng)的6 763個(gè)字形圖片之間的前景IoU的平均值定義為二者的相似度,并通過(guò)計(jì)算一款壓縮字庫(kù)與其原始字庫(kù)間的相似度來(lái)量化壓縮質(zhì)量,本實(shí)驗(yàn)結(jié)果如圖4(b)所示??梢钥吹剑?dāng)壓縮字庫(kù)的體積增大時(shí),其壓縮質(zhì)量也逐漸提升,說(shuō)明壓縮過(guò)程中丟失了更少的信息。此外,在壓縮率相同的條件下,本文提出的方法能夠獲得更高的壓縮質(zhì)量,從而說(shuō)明了其部件匹配方法能夠讓壓縮字形與原始字形更加接近。
最后為了論證字形迭代優(yōu)化方法的有效性,本文分別記錄和分析了“方正爆米花體”、“方正羽怒體”和之前壓縮質(zhì)量不佳的“方正有貓?jiān)隗w”中300個(gè)字形的IoU變化和迭代優(yōu)化過(guò)程。值得一提的是,實(shí)驗(yàn)時(shí)模擬退火算法的初始溫度設(shè)置為1,終止溫度為1e-9,降溫系數(shù)為0.98,內(nèi)循環(huán)次數(shù)為50次。
(1) 字形IoU。本文分別對(duì)3款字庫(kù)優(yōu)化前后的字形與目標(biāo)字形進(jìn)行了前景IoU的計(jì)算,由表1的結(jié)果可知,優(yōu)化后每款字庫(kù)中均有字形的IoU能夠提升0.15左右,同時(shí)也有部分字形的IoU會(huì)下降,但從平均角度來(lái)看,優(yōu)化后的3款字庫(kù)在IoU指標(biāo)上均比優(yōu)化前要高,這也說(shuō)明了本文方法的有效性。
(2) 迭代優(yōu)化過(guò)程。如圖5所示,圖中第1列為優(yōu)化前的字形,第2~5列為迭代過(guò)程中的部分中間狀態(tài),第6列為最終優(yōu)化的結(jié)果,第7列為目標(biāo)字形。可以看到迭代優(yōu)化過(guò)程總體趨于使當(dāng)前字形與目標(biāo)字形更接近,但部分字形的迭代過(guò)程也無(wú)法避免地可能進(jìn)入某些錯(cuò)誤的狀態(tài),如何高效地對(duì)優(yōu)化過(guò)程中的字形合法性進(jìn)行限制也是提升本方法性能的關(guān)鍵點(diǎn)之一。
表1 3款字庫(kù)字形優(yōu)化前后IoU變化的極值和平均值
圖5 迭代優(yōu)化算法的可視化過(guò)程
本文采用了一種新的矢量中文字庫(kù)自動(dòng)壓縮方法,基于部件拼接和復(fù)用的思想,該方法通過(guò)部件分割、復(fù)用關(guān)系計(jì)算和字形優(yōu)化3個(gè)步驟,實(shí)現(xiàn)了在保留原始字形風(fēng)格和結(jié)構(gòu)的條件下,生成體積僅為原始字庫(kù)20%左右的壓縮字庫(kù)的目的。實(shí)驗(yàn)結(jié)果也論證了本文方法的有效性和可行性,同時(shí)也展示了其在特定風(fēng)格的字庫(kù)上的局限性,采用更加精準(zhǔn)的部件分割方法將是未來(lái)提升壓縮字庫(kù)質(zhì)量的可行方向之一。
[1] FENG W R, JIN L W. Hierarchical Chinese character database based on radical reuse[J]. Journal of Computer Applications, 2006, 3.
[2] TANG Y M, ZHANG Y X, LU X Q. A truetype font compression method based on the structure of chinese characters[J]. Microelectronics & Computer, 2007, 24(6): 52-55.
[3] PAN W Q, LIAN Z H, TANG Y M, et al. Skeleton-guided vectorization of Chinese calligraphy images[C]//2014 IEEE 16th International Workshop on Multimedia Signal Processing (MMSP). New York: IEEE Press, 2014: 1-6.
[4] XIA Z Q, LIAN Z H, TANG Y M, et al. As-compact-as-possible vectorization for character images[M]//SIGGRAPH Asia 2018 Technical Briefs. New York: ACM Press, 2018: 1-4.
[5] GOODFELLOW I J, POUGET-ABADIE J, MIRZA M, et al. Generative adversarial nets[C]//The 27th International Conference on Neural Information. New York: ACM Press, New York: ACM Press, 2014: 2672-2680.
[6] KIRKPATRICK S, GELATT C D, VECCHI M P. Optimization by simulated annealing[J]. Science, 1983, 220(4598): 671-680.
[7] LIAN Z H, XIAO J G. Automatic shape morphing for chinese characters[M]//SIGGRAPH Asia 2012 Technical Briefs. New York: ACM Press, 2012: 1-4.
[8] DALAL N, TRIGGS B. Histograms of oriented gradients for human detection[C]//2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR’05). New York: IEEE Press, 2005, 1: 886-893.
[9] WONG P Y C, HSU S C. Designing Chinese typeface using components[C]//The 19th Annual International Computer Software and Applications Conference (COMPSAC’95). New York: IEEE Press, 1995: 416-421.
[10] PAK K L, YEUNG D Y, PONG M C. Chinese glyph generation by heuristic search[EB/OL]. [2021-10-20]. http://citeseerx.ist. psu.edu/viewdoc/summary?doi=10.1.1.30.5026.
[11] PANG X, CAO Y, LAU R W H, et al. Directing user attention via visual flow on web designs[J]. ACM Transactions on Graphics (TOG), 2016, 35(6): 1-11.
[12] METROPOLIS N, ROSENBLUTH A W, ROSENBLUTH M N, et al. Equation of state calculations by fast computing machines[J]. The Journal of Chemical Physics, 1953, 21(6): 1087-1092.
[13] HASTINGS W K. Monte Carlo sampling methods using Markov chains and their applications[J]. Biometrika, 1970, 57(1): 97-109.
[14] SUN R J, LIAN Z H, TANG Y M, et al. Aesthetic visual quality evaluation of Chinese handwritings[C]//The 24th International Joint Conference on Artificial Intelligence. Palo Alto: AAAI Press, 2015: 1867-1873.
[15] Wikipedia contributors. GB 2312[Z]. https://en.wikipedia.org/ w/index.php?title=GB_2312&oldid=887751871, 2019.
A new automatic compression method for Chinese vector fonts
GAO Yi-chen, LIAN Zhou-hui, TANG Ying-min, XIAO Jian-guo
(Wangxuan Institute of Computer Technology, Peking University, Beijing 100080, China)
To solve the inconvenient usage of large-size Chinese vector fonts in embedded devices, this paper proposes a new automatic font compression method. Based on the idea of reusing and assembling components, different parts were first extracted from the whole glyphs using a traditional computer graphics-based method and their reusing relationships were calculated. Then, they were assembled and their positions and scales were iteratively optimized using the simulated annealing algorithm to produce the final output. Experimental results demonstrate that the proposed method can generate a compressed font whose volume is only about 20% of the original font while maintaining the font style, thus improving the availability of Chinese vector fonts in embedded devices with limited storage spaces.
compression of Chinese vector fonts; components extraction; components reusing; intelligent optimization methods; simulated annealing algorithm
TP 391
10.11996/JG.j.2095-302X.2021030426
A
2095-302X(2021)03-0426-06
2020-12-23;
2021-01-12
23 December,2020;
12 January,2021
北京市科技新星計(jì)劃項(xiàng)目(Z191100001119077);國(guó)家自然科學(xué)基金面上資助項(xiàng)目(61672056)
Beijing Nova Program of Science and Technology (Z191100001119077); National Natural Science Foundation of China (61672056)
高宜琛(1995-),男,內(nèi)蒙古烏蘭察布人,碩士研究生。主要研究方向?yàn)橹形淖謳?kù)自動(dòng)生成與壓縮。E-mail:gaoyichen@pku.edu.cn
GAO Yi-chen (1995-), male, master student. His main research interests cover automatic generation and compression of Chinese vector fonts. E-mail:gaoyichen@pku.edu.cn
連宙輝(1985–),男,福建福州人,副教授,博士。主要研究方向?yàn)橛?jì)算機(jī)圖形學(xué)、計(jì)算機(jī)視覺(jué)等。E-mail:lianzhouhui@pku.edu.cn
LIAN Zhou-hui (1985-), male, associate professor, Ph.D. His main research interests include computer graphics and computer vision, etc. E-mail:lianzhouhui@pku.edu.cn