• 沒有找到結果。

第三章 統一發票對獎系統演算法

3.6 數字辨識

3.6.3 圖片分類

在經過一連串的前處理後,發票數字只剩少許的傾斜,加上原本就有的固定 字型與只有十種變化的特性,因此,本文的圖片分類使用系統複雜度低,速度較 快的樣版比對,但是畢竟是透過光學鏡頭所取得的圖片,少許的扭曲與傾斜,甚 至是字元破碎都會令前處理完的圖片與樣本有部份的差異,所以單一種的樣版比 對正確率相當有限,因此本文使用最小距離法、最大相似度法與區域比對法,組 合成一個階段式的分類器來分類10 種類型的圖片,先用一個方法做第一層分類

,再將容易錯誤的字元進行第二階段的檢查。

3.6.3.1 樣版取樣法

有效的樣版會直接影響辨識的正確率,所以如何取一個有效的樣版是樣版比 對的第一個重要工作,為了增加單一樣版的可靠度,所以取樣版的方式是採用統 計的方法,先手動將樣版的素材進行分類,每個數字各取 Numpattern張人眼可清 楚辨識的正規化二值化數字圖片,對一系列的同樣數字的圖片進行統計(i,j) 位置黑點出現的機率,接著將黑點的張數除以總數 Numpattern得到指定位置黑點 出現的機率Pblack n, ( , )i j (會在之後的最大相似度中使用),越接近 1 表示為黑點的 機率越高,越接近0 表白點的機率越高,將 0~1,轉換為圖片的強度值 0~255 可 以得到如圖3-49 等 10 張灰度值樣版,放大八倍的灰階圖像如圖 3-50。

圖3-49 原始大小的灰階樣版

圖3-50 放大 8 倍的灰階圖像

圖中顏色越深的表示越可能為黑色,顏色越淺的表示越可能為白色,使用 150 進行二值化可以得到圖 3-51,放大八倍的結果圖 3-52。

圖3-51 原始大小的二值化樣版

圖3-52 放大 8 倍的二值化樣版

不同的樣版比對法使用的樣版也會有所不同,依此類推,如果使用的特徵為 Distance Transform,就必需先將取樣圖像轉為 distance Transform 的表示方法,

如圖3-53 所示。

圖 3-53 數字圖片 7 的 distance transform 轉換結果

每一個數字取Numpattern張樣本計算出每個位置的distance transform 平均,

就可以得到十個distance transform 的樣版。

3.6.3.2 最小距離法

最小距離法[51]為比較樣本與測試圖片每個位置的差異,如果差異越小,表 示兩張圖片越接近,其演算法為計算出樣版圖片與測試圖片相同位置的強度差,

如圖3-54 所示,然後將所有位置差值進行加總得到 dn式(3.41)。

=

測試 樣版 相異點數=24

圖3-54 樣版圖片與測試圖片相異情形分佈示意圖

1 1 0 0

( , ) ( , )

M N

n n

x y

d f x y g x y

= =

=

∑∑

(3.41)

對應到數字辨識,其中 f 為測試圖片,g 為樣版圖片,x、y 為圖像座標(原 點在左上角),n 為樣版數字的號碼 0-9,共有 10 個,M 為寬,N 為高。每張圖 片對應到一個樣版會有一個dn,對十個數字進行比對,可得到10 個 dn,dn最小

的圖片就是比對的結果(式 3.42)。

arg(min( ))resultmatch = di (3.42)

最小距離法原本使用強度差來當做差異的比較參數,可是強度差容易受到數 字傾斜或是不同粗細的字體所帶來的影響,在此之前我們有提到使用不同的特徵 會影響辨識的結果,所以本文改用包含較完整資訊的 distance transform 圖像做 為比較的參數,如此一來就可以大幅增加辨識可靠度。

black n black n

i j

white n black n

P = −P (3.44)

white n white n

i j

SimilaritySimilaritySimilarity (3.46) 換句話說就是如果在測試樣本在指定位置為黑點時,就將黑點的相似度放大

α 倍,為白點時,將白點的相似度放大 β 倍,最後將所有的位置加總起來,就可 以得到相似度的值,如果相似度越大,十個數字樣版共可得到十個相似度,其比 對出來的相似度越大,就表示與該樣版越接近,比對的結果就是最大相似度的樣 版,越有可能是對應的英文字器或數字(式 3.47)。

arg(max(resultmatch = Similarityn)),..n=0~ 9 (3.47)

3.6.3.4 階段式樣版比對法

文獻常用搭配不同比對方法來提升正確率的方式[51],來改善單一方法的樣 版比對法正確率有限的缺限(見 4.7 節),為了提升辨識的效果,本文使用前兩節 的技術,實作出一套適用於統一發票自動對獎的階段式樣版比對法,用以達到系 統高辨識率的目標。發票的數字除了1 以外皆有一定的寬度,正規化後的 1 會產 生嚴重的形變套到分類器反而會造成誤判,所以系統一開始先將正規化前寬高比 小於1/3 數字過濾出來,並直接將辨識結果指定為數字 1,雖然此舉可以過濾出 大部份的數字1,但是仍有少數的 1 寬度較寬,仍需透過分類器分類,接下來使 用最大相似度法將測試圖像分為十類,並將容易混淆數字進行分類,進行二次分 類,流程圖如圖3-55。

最大相似度法

distance 區域性 transform 最小距離法

單一數字圖像 第一次 錯別字清單 辨識結果

比對結果

圖3-55 階段式樣版比對法流程圖

因為容易混淆的數字必定有一些部份的相似度相當高,所以在第二次的辨識 裡使用distance transform 的最小距離法進行二次辨識,這裡只取有鑑別度的區塊 樣版進行處理,容易混淆的數字與關鍵區塊如表3-4。

表3-4 易混淆字與關鍵樣版對應

數字 1 2 3 4 5 6 7 8 9 0 容易錯誤的數

X X X X 3,6 5 2,3 0,6,9 3,8 6,8 比對的樣版 X X X X

輸出 1 2 3 4 區域distance transform 特徵比對最小值