第二章 相關研究
2.2 中文書法美感評估工具
2.2.2 筆畫寬度分析
國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
2.2.2 筆畫寬度分析
中文書法是漢字的書寫藝術,其擁有一套完整的筆法──點、橫、撇、豎、
鉤,書寫的人技巧性地控制按筆或提筆,方能達到粗細輕重變化,這些都歸功於 書寫人的功力以及柔軟而有彈性的毛筆。然而每個人書寫的風格不盡相同,有些 人喜好細瘦的筆跡,有人喜歡豐潤的字體,無論何種都稱得上是風格。
若要分析筆畫的風格就需要計算文字的筆畫粗細,而 Epshtein 等學者[16]在 2010 年提出了 Stroke Width Transform (SWT)演算法,可用來找尋筆畫寬度值 (stroke width value)。SWT 原用於偵測場景中的文字,使用 Canny 偵測邊緣後計 算每個像素之筆畫寬度值,接著組合筆畫寬度相近的像素點形成元件(候補文字),
如圖 2.4(b)和(c),再利用一些書寫規則或文字結構特性合成這些元件進而找出真 正的字串,區隔文字與場景,如圖 2.4(d)所示。
圖 2.4 SWT 演算法將存有灰階值的影像(a)轉換成近似筆畫寬度值(b),(c)則呈 現每個擁有相似筆畫寬度的元件,再利用經驗法則排除形狀與文字不相符者,(d) 為最後文字偵測結果。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
Epshtein 所定義的筆畫(stroke)是個寬度相似的連續帶狀區域。為測量筆畫寬 度,首先使用 canny 偵測影像的邊緣,接著計算影像的梯度方向,以坐落在邊緣 的像素為起點,沿著其梯度方向延伸直到碰到另一個邊緣像素為止,並且記錄此 過程經過的像素數量,作為該邊緣點的筆畫寬度值;反之若無法找到另一個邊緣 點,則代表該邊緣像素所在處並非筆畫。在這其中,若起點邊緣像素的方向角度 與終點的方向角度差距超過 6
π ,亦代表起點邊緣像素並非筆畫。
圖 2.5 SWT 之演算法流程。(a)筆畫的其中一小部分 (b)黑點為偵測出來的邊緣 部分,p 是邊緣上某一像素,沿著其梯度方向尋找亦為邊緣的 q 點,而 p 與 q 之 間的距離為 w (c)更新 p 到 q 路徑的筆畫寬度值。
SWT 的每個像素起始值皆設定為 ∞,測量筆畫寬度過程如圖 2.5 所示,每 找到一對 p 和 q,就會沿路更新像素的筆畫寬度值,若 w 的值比原值還小,原值 將被 w 取代否則維持原樣。在經過第一次造訪所有邊緣像素後,發現有些像素 的 SWT 值不太合理,這些例外狀況如圖 2.6(b)所示。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
圖 2.6 (a)圖以紅點為例,它會前後接受垂直與水平方向的造訪,而 SWT 值為 之其中的最小值,因此紅點的 SWT 是正確的。(b)圖的紅點同樣地存有接受垂直 與水平方向造訪後得到的值,但實際上該值並非它真實的寬度,因此第二次的造 訪更新是必要的。
圖 2.6(b)的狀況並非每個像素都能得到真實的 SWT 值,因此需要第二次的 造訪更新。第二次的處理大致相同,不同的地方在於更新時,必須先得出 p 和 q 路徑上的 SWT 中位數的值,再以這個值沿路取代比中位數大的像素,即可完成 整個取得筆畫寬度的過程。
本論文將會採用 SWT 演算法來計算書法文字的筆畫寬度,然而此方法受限 於影像的解析度,若解析度不夠好,邊緣資訊會因為不完整而遺失筆畫寬度資訊。
此外,由於 SWT 在 Epshtein 的研究中主要用於偵測場景中文字,因此並未講求 筆畫寬度的精準度,而我們為求 SWT 值更接近真實的值,將會在求值過程作些 許改變和後續處理。
圖 2.7 解析度不佳的書法影像使用 SWT 取得筆畫寬度過程。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
第三章
視覺元素特徵擷取
當我們觀賞一幅書法作品時,是以什麼樣的觀點來賞析的呢?我們訪問一般 大眾對「好的書法作品」的想法,當他們在欣賞時,在意的不外乎是整幅作品的 排版、字體風格一致性、整潔度,以及個別字體的美觀程度等等。從全貌到局部,
由第一直覺至細細品味後的感受,在這之中仍有許多無法具體說明為何「喜愛」
的理由,例如:力道、氣勢等等。
雖然氣勢與力道能使書法作品更有生氣,但這些特質較難具體陳述,不在本 論文的討論範圍內。相對地,我們將從書法賞析與創作的基本標準切入,例如:
平衡度、整體結構、 排版整齊程度等等。
陳仕侗先生所撰寫的教材中[17],對於書法美感有此一說:「書法美感是由 線條成字、由字成行、由行成篇,展現出個體與整體搭配出來的視覺效果和心靈 感動。」因此透過評估個體和整體,是可以間接影響我們的視覺感受的。由這樣 的觀察,我們嘗試許多評估方式,最後歸納出六項視覺元素特徵,以描述整體作 品美感;個體部分則由 2.2.1 所探討之 APB 平衡度測量,作為擷取個別字美感特 徵的方法。在此章節,我們將一一詳述特徵的意義以及其量化方式。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
3.1 整體作品
大多數的書法作品是成行的,只要兩字以上便可稱作爲行,然而一行、兩行、
甚至三行以上的長篇作品都有。如此作品的結構空間必須審慎考量,已不只有單 字空間的架構須考慮,字與字之間的關係,以及行與行的之間的關係同等重要。
在此小節會以下面幾點作分析:排版工整度、字距掌握度、文字偏移程度、文字 書寫大小穩定度、筆畫風格一致度和筆畫平滑程度。
3.1.1 排版工整度
真正的書法是寫在無格線、空白的宣紙上的,因此對於還不習慣書法空間感 的人來說,會借用摺紙後的摺痕作為提示線,以免亂了章法。為了判斷一幅書法 作品是否工整,我們參考摺線的作法,試著將書法作品套上最合適、等距的格線,
我們稱此方法為「格線切割法」。我們藉由分析格線的切割狀況,判斷作品的工 整程度,倘若找出來的格線無法分隔出所有的文字,或是找不出任何格線,代表 排版不甚理想。
圖 3.1 格線示意圖
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
我們可將書法作品視為白底黑字的二值化影像,若談論到空間結構,比起黑 色文字往往更在意布白的部分,也就是行與行、列與列之間的空白區域。首先,
我們統計所有直行與縱行的黑色像素數量,如圖 3.2 所示,其中投影圖的山谷處 為布白,也就是分隔出行與列的地方,將是我們畫格線的所在。
圖 3.2 書法作品投影圖
我們所提出的方法不僅可用於找分隔列的格線,亦能用來分隔行的格線,在 此以找分隔列的格線來說明方法。首先統計完所有橫列的黑色像素數量後,抽出 所有符合判斷空白列條件的橫列編號,組成集合 𝑆 :
𝑆 = ⋃ 𝑖
𝑖 𝑠.𝑡. 𝐵𝑖<𝑇
(式 3-1)
其中 𝐵𝑖 為作品影像第 𝑖 個橫列的黑色像素總數,只要 𝐵𝑖 小於門檻值 𝑇 ,皆 視第 𝑖 個橫排為空白列,而 𝑆 為所有 𝐵𝑖 小於 𝑇 的編號 𝑖 之集合。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
𝐺 = {𝑔1, 𝑔2, … , 𝑔𝑚} = { 𝑆𝑡𝑎𝑟𝑡 + 𝑑 (𝑗 − 1) | 𝑔𝑗 ≤ 𝐼𝑚𝑎𝑔𝑒𝑆𝑖𝑧𝑒}
𝑗 = 1,2, … , 𝑚 (式 3-2)
其中 𝑔𝑗 為第 𝑗 個格線位址,共有 𝑚 個格線, 𝑆𝑡𝑎𝑟𝑡 為起始格線編號,𝑑 為 格線間的距離,𝐼𝑚𝑎𝑔𝑒𝑆𝑖𝑧𝑒 為作品影像的高度,格線示意圖如圖 3.3。
圖 3.3 找分隔「列」的格線示意圖
我們按照式子(3-1)與(3-2)分別找出集合 𝑆 與集合 𝐺 ,若集合 𝐺 為集合 𝑆 的子集(𝐺 ⊂ 𝑆),則集合 𝐺 就是我們要找的格線。然而符合 𝐺 ⊂ 𝑆 條件的集合
G 可能不只有一個,因此我們定義「切割出的區塊最多者」
,也就是格線數量最多、格線距離最近的組合為「最佳格線」。
為了找到「最佳格線」,可能需要測試各種大小的 𝑑 才會達成目標,然而如 何快速找到最佳格線,亦為處理解析度大之書法作品的課題。若 𝑑 的值從大漸 漸往小的方向測試的話,需要花費的時間複雜度為 O(ImageSize3),因為不到最 後無法確定目前為止找到的格線是否符合最佳格線的標準,因此不如讓 𝑑 的值
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
由小到大找起,只要一找到符合標準的,就可判定 𝑑 為最佳格線的間距。
若想再加快執行速度,甚至可事先過濾絕對不可能是最佳間距的值。由於集 合 𝐺 為集合 𝑆 的子集,因此格線數量必小於等於空白列數,如此一來就可以 利用此附加條件設定尋找最佳格線的新起點,讓解析度大的影像也能有效運算。
(a) (b) (c) (d)
圖 3.4 使用格線切割法判斷排版工整度的實作結果。(a)排版非常工整的書法作品 (b)行排版佳 (c)列的排版雖然不完美,但整體作品還算整齊 (d)行與列的排版都 不甚理想,整體作品有些許凌亂。
圖 3.4 呈現的是整幅書法作品利用格線切割法找尋格線的結果,其中(a)的排 版是最理想的狀況,其行與列格線皆精準地縱橫在字與字之間。(b)和(c)找格線 的狀況雖然沒有(a)完美,但整體看起來不會令人感到不舒服,而(d)的排版就稍 嫌凌亂了。由此不難發現如(a)一般完美切割的作品,其格內僅包含一個文字;反 之諸如(b)、(c)與(d)的作品,則由兩個以上文字分享一個格子的空間。為了評估 書法作品的排版好壞,定義僅含一個字的格子為「理想格子」,非理想格子的部
‧
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
圖 3.5 為一些畫面過滿的作品,可以發現這些作品的文字間並未保留太多空 白區域,而且若將中文字看成獨立的四方形,文字也彼此進入各自區域了。利用 這個概念,我們試著框出每個文字,若無法順利框對文字的話,就代表該作品的 文字太過擁擠。
圖 3.5 過滿的作品
首先我們標示出書法作品影像的相連通區域(connected-component labeling),
再將每個不連通區域框上邊界外框(bounding box),框出來的結果如圖 3.7 的(c) 和(g),可以發現擁有多部件的文字會分成許多小框。為了讓所有小框有所歸屬,
我們檢查所有邊界框之間的關係,若兩兩相互交錯就融合成剛好包含兩個框的大 外框,如圖 3.6 所示。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
(a) (b) (c)
圖 3.6 圖示三種融合為一個框的狀況 (a)交疊 (b)包圍 (c)相連。判斷為可融合 之後,將轉變為可容納兩個框的新外框,如下半部的紅色框所示。
要判定是否相互交錯可以用一個簡單的方式作確認:假設現在要確認 A 框 與 B 框是否相互交錯,檢查 B 框的四個角是否落在 A 框的區域內,只要有一個 角符合這個條件就代表兩個框相互交錯;反之再反過來檢查 A 框的四個角有無 落在 B 框內,即可確認兩框是否能夠融合。整幅作品可能需要經過好幾次的框 融合處理作業,每處理一次框數漸漸減少,直到框數趨於穩定就完成了,演算的 過程如圖 3.7。
(a) (b) (c) (d)
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
(e) (f) (g) (h)
圖 3.7 (a)字距拿捏較佳的書法作品 (b)相連通區域圖,不相連的區域標上不同 的顏色 (c)每個不相連的區域各自框上個別的邊界框,共 48 個框 (d)融合所有相 互交錯的邊框結果圖,共 28 個框 (e)字距拿捏不佳的作品 (f)相連通區域圖 (g) 不相連的區域所有邊框圖,共 68 個框 (h)經過六次融合相互交錯的邊框作業之
圖 3.7 (a)字距拿捏較佳的書法作品 (b)相連通區域圖,不相連的區域標上不同 的顏色 (c)每個不相連的區域各自框上個別的邊界框,共 48 個框 (d)融合所有相 互交錯的邊框結果圖,共 28 個框 (e)字距拿捏不佳的作品 (f)相連通區域圖 (g) 不相連的區域所有邊框圖,共 68 個框 (h)經過六次融合相互交錯的邊框作業之