本節將介紹改善中文相似字辨識的方法。第一階段:首先將一中文字首 先將中文字分割為 N*N 個區塊,從每一區塊中擷取特徵,每一中文字將有 固定不變的特徵向量,維度 M。接著從工研院中文字形資料庫中[64],每個 中文字選取 I 個樣本字,並計算每一個樣本特徵向量
Trainj
V ,且加總平均作 為訓練向量
meanj
Train
V (Train Vectors)。當測試字輸入,其先取得特徵向量
Testi
V ,利用
meanj
Train
V 和VTesti最小平方差法決定相似字形,以 Top Z作為該字的 相似字集合,其中i和 j為中文字的 label(i, j1,2,..,5401)。並進入第二階段: 首先從相似字集合中,每一中文相似字,仍選取I 個樣本字,並抽取特徵向 量。最後將所有相似字的訓練樣本特徵向量(Z*I instances)輸入 SVM 作訓 練,將VTesti當測試資料,輸入已訓練好的SVM 作分類。
5-1 手寫中文字的特徵抽取
在這章節將介紹如何擷取中文字行的特徵向量,將使用[63]所提到的 304維度向量,當成特徵向量來使用。
304維度特徵向量可分為兩個部分:第一部分為256維度的邊緣方向特徵 (Contour Direct Features) 向量,第二部分為48 維度的輔助特徵向量。首先 說明的是 256 維度的方向特徵向量。將影像使用水平線和垂直線分割成網
狀(Mesh Partition),並非均等的分割,中文字形被分割成無論是水平或垂直
都有平均的像素(Averaged pixels)點。其中分割成水平8等份和垂直8等份,
共 64 個區塊,水平線和垂直線數目 N-1=8-1=7,其座標 ,..., 1 , 2
1 x xk
x 和
,..., 1 , 2
1 y yk
y 如下公式(5.1),W為影像的寬,H為影像的高。
1 angle x
透過公式(5.3)轉換,每一個區塊可以得到4個維度特徵向量,故64 個區塊 共可得 256維度特徵向量。
304 維度特徵向量,第二部分 48 維度的輔助特徵向量[54-55],可分為 三組16維度的特徵向量,分別為Crossing Count、Peripheral Background Area 和 Contour Line Length。
1. Crossing Count
水平 Matching Pattern( MP )由連續的一白一黑組成,我們定義#MPi為 每一列的 Matching Pattern個數,#MPavg為在影像中的Matching Pattern 平均 數。圖 5-2為使用Matching Pattern 的範例,可算出該影像的
8
#MPavg 10。
2 1 1 2 0 2 1 1 matching pattern:
row i 1 2 3 4
1
5 6 7 8
MPi
# 8 10 8
#
#
8
1
i
i avg
MP MP
圖 5- 2 計算每一列的 Matching Pattern 個數和平均數
將影像切成水平 8塊和垂直 8塊兩種。每一水平區段(Interest Strip,IS )Hi 可計算出 Matching Pattern 平均數IS .Hi MPavg。公式定義如下
row IS
MP MP
IS
Hi row IS
row IS
j j
avg Hi
end Hi
start Hi
.#
# .#
.#
.#
(5.4)
在公式ISHi.#row的範圍介於且ISHi.#rowISHi.#rowendISHi.#rowstart1。故在 水平區段可得 8 維度由IS .HiMPavg組成特徵向量。同理每一垂直區段(Interest
Strip,IS ) Vi 可計算出 Matching Pattern 平均數IS .Vi MPavg。公式定義如下
2. Peripheral Background Area
周圍背景面積(PBA)。一樣將影像切成水平 8塊和垂直8塊兩種。每一
圖 5- 3 Peripheral Background Area 平均值
圖 5-3 為 一 影 像 的 Peripheral Background Area 平 均 值 , 其
row Peripheral Background Area 的16維度特徵向量。
3. Contour Line Length
邊 緣 線 段 長 度(CLL)。 第 三 組 的 16 維 度 特 徵 向 量 為 Peripheral
Background Area 的特徵延伸。其在水平區段和垂直區段,首先計算每一列
或 每 一 行 , 第i列(行)與 第i1列(行)之 間 相 差 絕 對 值 , 並 取 平 均 值
col IS
y B y
B y
B y B CLL
IS
Vi col
IS
col IS j
j RL j
LR j
RL j LR
avg Vi
end Vi
start Vi
. 2
) . .
( . .
.#
. 1
.
1
1
(5.9)
故在垂直區段也可得 8 維度由IS .#Vi CLLavg組成特徵向量。最後共可組成 Contour Line Length 的16 維度特徵向量。
透過 Crossing Cont、Peripheral Background Area和Contour Line Length 取得剩下的 48維度特徵向量加上原256維度特徵向量,共可得到304維度 的特徵向量。
5-2 手寫中文字辨識演算法
這一節將說明一個中文字如何抽取特徵,並經由 SVM 辨識分類中文 字。第一階段:首先將一中文字首先將中文字分割為N*N 個區塊,從每一區 塊中擷取特徵,每一中文字將有固定不變的特徵向量,維度 M。接著從工 研院中文字形資料庫中[64],每個中文字選取I 個樣本字,並計算每一個樣 本特徵向量
Trainj
V ,且加總平均作為訓練向量
meanj
Train
V (Train Vectors。當測試 字輸入,其先取得特徵向量
Testi
V ,利用
meanj
Train
V 和
Testi
V 最小平方差法決定相似 字 形 , 以 Top Z 作 為 該 字 的 相 似 字 集 合 , 其 中 i 和 j 為 中 文 字 的 label(i, j1,2,...,5401)。並進入第二階段:首先從相似字集合中,每一中文相 似字,仍選取 I個樣本字,並抽取特徵向量。最後將所有相似字的訓練樣本 特徵向量(Z*I instances)輸入SVM 作訓練,將
Testi
V 當測試資料,輸入已訓練 好的 SVM作分類。
演算法 1:
Trainj
I 都有 I個樣本字
Output:中文字辨識結果 Begin
(抽取特徵向量) 將ITesti 和
Trainj
I 切成N*N 區塊
在ITesti 和
Trainj
I 中的每個區塊 Ki
取得由 4個Angle groupi組成特徵向量 將ITesti和
Trainj
I 依水平線和垂直線分割成 8等份區段ISHi和IS Vi 在ITesti和
Trainj
I 每一區段ISHi和IS Vi
取得 Crossing Count特徵向量IS .#Hi MPavg和IS .#Vi MPavg
取得 Peripheral Background Area 特徵向量IS .#Hi PBAavg和IS .#Vi PBAavg 取得 Contour Line Length特徵向量IS .#Hi CLLavg和IS .#Vi CLLavg
每張ITesti和
Trainj
I 影像取得 304維度的特徵向量
Testi
V 和
Trainj
V (辨識第一階段)
將每ITrainj樣本的
Trainj
V 加總平均取得每一訓練字平均向量
meanj
Train
V 利用
Trainj
V 和
Testi
V 最小平方差法決定相似字形,並取其top Z 個中文字label (辨識第二階段)
將 top Z 個的 label 取出相對映的中文字當成訓練樣本特徵向量(Z*I
instances),並且輸入 SVM 作訓練。將
Testi
V 當測試資料,輸入已訓練好 的 SVM作分類,之後輸出中文字所屬 label
End
演算法 2與演算法 1大部都相同只差在後面的辨識階段。其原理為從第 一階段中的 top Z個中文字依排序每次選取兩個輸入SVM 做訓練,從SVM 分類出的第一名與後續排序取一個共兩個做訓練,總共回執行 Z-1 次。例 如假設目前 Z=5,其順序為大、犬、太、夭、天。首先依top Z 的排序取前 兩個『大、犬』輸入 SVM 做訓練,假設SVM 分類出來第一名為『大』,
則由『大』與後續排序『太』輸入 SVM做訓練,若該次又是為『大』,則 繼續『大、夭』,最後若『大、天』認出來還是『大』,則以『大』為輸
出,否則為『天』;相反的若第一次分類『大、犬』出來結果為『犬』,
則第二次為『犬、太』繼續訓練分類,如上依此類推到最後。
演算法 2:
Input:一個中文測試字影像
Testi
I 和中文訓練字影像
Trainj
I 共 5401 個,且每一
Trainj
I 都有 I個樣本字
Output:中文字辨識結果 Begin
……
……
(辨識第一階段)
……
(辨識第二階段)
依 top Z的排序取出前兩名輸入SVM 做訓練
將VTesti當測試資料,輸入已訓練好的SVM 作分類 For i=3 to Z
上一次 SVM分類第一名與第 i個輸入SVM 做訓練 將VTesti當測試資料,輸入已訓練好的SVM 作分類 End
依 SVM最後一次輸出中文字所屬 label做為輸出結果 End
第六章 實驗結果
這章節將顯示第三章、第四章和第五章的實驗結果,經實驗果顯示本 研究提出的方法都有不錯的效果。
6-1 以 SVM 為基礎之影像二值化法之
實驗結果基於 SVM 的二值化的實驗,考慮的一些參數才去執行。為了讓 SVM 的訓練有效率,所有實驗結果的 SVM 訓練樣本數量 N=2048,即將灰階影 像分割成1024(32*32)區塊,依實驗顯示平均執行時間為 10~25 分鐘。
使用圖 3-1(a)灰階影像。圖6-1(a)為使用 Otsu方法,它的超平面和全域 門檻值 131 和二值化的影像。值得注意的是它只有使用灰階分佈的資訊。
linear SVM-based 二值化方法,可以計算出向量 W和純量b,並且能描繪出
具有傾斜性的門檻超平面(Threshold Hyperplane)。首先linear SVM-based 方 法只用了三個特徵,分別為像素中的 x、y 座標和灰階值。圖 6-1(b)為三種 特徵 linear SVM-based 方法,其中在訓練階段W [0.0054,0.1142,1]、
1631 .
171
b 。因為門檻超平面是傾斜的,跟圖 6-1(a)超平面互相比較,這 方法的二值化保留了更多物件。這個效果不錯是由於 linear SVM-based方法 使用了像素中的 x、y座標和灰階值,而這正是Otsu[12]所忽略的。圖6-1(c)
為 nonlinear SVM-based二值化方法,核心函數為 RBF,且使用三種特徵的
結果。因為它是一個可適應門檻曲面(More Adaptive Threshold Surface) ,因 此 產 生 的 二 值 影 像 擁 有 更 多 的 全 域 輪 廓 的 資 訊 (Global Contour Information)。在圖4-3(d)為 YB方法[16],門檻曲面比較不歪斜,以至於二
值化影像中底下部分效果不佳。在圖 6-1(e)為 Blayvas 方法[17],門檻曲面 類似於 linear SVM-based方法。如果linear SVM-based 方法加入一個額外的 特徵,如 Gradient,產生的二值化影像圖 6-1(f)跟圖 6-1(b)相比,更加清楚 保留了輪廓的資訊。同樣地,如果 nonlinear SVM-based方法也加入第四種 特徵,產生的二值化影像圖 6-1(g),再一次清楚保留了輪廓的資訊。因此 nonlinear SVM 比linear SVM更能清楚描述二值化影像。
圖 6-2 show 出 更 多 的 實 驗 結 果 。 前 景 中 的 物 件 是 較 偏 暗 , 使 用 SVM-based 方 法 能 將 這 些 偏 暗 的 物 件 保 留 住 。 更 多 種 的 特 徵 運 用 在
SVM-based 方法,可以獲得更多輪廓的資訊。值得注意的是,nonlinear
SVM-based 方法使用了核心函數更能提升二值化的效果。顯然 SVM-based
方法效果優於 Otsu、 YB 和 Blayvas 方法。
為了進一步證明,SVM-based 方法有效保留了全域輪廓的資訊,進行 以下實驗。邊緣偵測運算(Edge detection operation)是將二值化影像轉換成邊 緣偵測二值化影像(Edge-Detected Binary Image)。圖 6-3(a) Edge-Detected Binary Image為圖3-1(b)Contour Binary Image 作邊緣偵測得到的影像。圖 6-3(b)~(h)為 各 種 的 二 值 化 方 法 的 邊 緣 偵 測 二 值 化 影 像 。 每 一 張 Edge-Detected Binary Image,會與Edge-Detected Contour Binary Image計算 平均命中比率(Average Hit Rate)。在Edge-Detected Binary Image的黑點,如 果與相對映 Edge-Detected Contour Binary Image中的像素點都為黑點,則累 加 1.0。但如果相對映Edge-Detected Contour Binary Image 中的像素點都為 白點,但它周圍附近相連的八點有一點是黑點的情況下,則累加 0.5。最後
中值表示它門之間像素的相似度。圖 6-3(a) Edge-Detected Contour Binary Image 和作了Edge-Detected Contour Binary Image的圖6-3(b)、圖6-3(g)和 圖 6-3(h),分別是 Otsu、YB 和Blayvas平均命中值 0.47、0.52 和0.63。然 而圖 6-3(c)~(f)為 SVM 各種因素和參數的平均命中值 0.61、0.72、0.72 和 0.82。因為平均命中值最高值是 0.82,而且又是 SVM-based 方法,故它的 效果優於其它種的二值化方法。
(a)
(b)
(c)
(d)
(e)
(f) (g)
圖 6- 1平滑曲面和二值影像(a) Otsu 方法(b)our linear SVM-based method 使用三種特徵, x 和 y 座標 和灰階值(c)our nonlinear SVM-based method 使用三種特徵(d)YB 方法 (e)Blayvas 方法(f)our linear SVM-based method 使用四種特徵,x 和 y 座標、灰階值和
(a) (b)
(c) (d)
(e) (f)
(g) (h)
圖 6- 2(a)原本灰階影像(b)Otsu 方法(c)三種特徵 linear SVM-based method(d)三種特徵 nonlinear SVM-based method, (e) 四 種 特 徵 linear SVM-based method, (f) 四 種 特 徵
(a) (b)
(c) (d)
(e) (f)
(g) (h)
圖 6- 3(a)Edge-detected binary image of the contour binary image in 圖 4-1(b)Edge-detected binary images of (b)Otsu 方法平均命中值 0.47(c)三種特徵 linear SVM-based method 平 均命中值 0.61 (d) 三種特徵 nonlinear SVM-based method 平均命中值 0.72(e)四種特徵 linear SVM-based method 平均命中值 0.72(f)四種特徵 nonlinear SVM-based method 平均
6-2 以 SVM 為基礎之影像多階層化法之實驗結果
基於 SVM為基礎之影像多值化的實驗,須考慮一些參數才去執行。為 了讓 SVM的訓練有效率,所有實驗結果的SVM 訓練樣本數量N=2048,即 將 灰 階 影 像 分 割 成1024(32*32)區 塊 , 演 算 法 2 中 用 的 參 數0.01 和
05 .
0
。其中表6-1 為2~5階層平均執行時間。 表 6- 1 2~5 階層平均執行時間
階層 兩階層 三階層 四階層 五階層
平均執行時間(分鐘) 20 33 45 56
給定一灰階影像如圖 4-3(a),以蜜蜂配對最佳化(honey bee mating optimization ,HBMO)演算法[17]定義多個門檻去趨近它。圖6-4(a)-(d)為使用 HBMO 演算法的結果影像,依序為二值影像、三階層影像、四階層影像和
給定一灰階影像如圖 4-3(a),以蜜蜂配對最佳化(honey bee mating optimization ,HBMO)演算法[17]定義多個門檻去趨近它。圖6-4(a)-(d)為使用 HBMO 演算法的結果影像,依序為二值影像、三階層影像、四階層影像和