• 沒有找到結果。

統一發票影像辨識即時自動對獎系統

N/A
N/A
Protected

Academic year: 2021

Share "統一發票影像辨識即時自動對獎系統"

Copied!
110
0
0

加載中.... (立即查看全文)

全文

(1)國立高雄大學電機工程學系暨研究所 計算機組 碩士論文. 統一發票影像辨識即時自動對獎系統 Image-Based Invoice Real-Time Recognition and Winning System. 研究生:塗孟秋 撰 指導教授:蕭培墉 博士. 中華民國 100 年 3 月.

(2)

(3) 誌謝 研究所的是我人生一個很大的轉捩點,這兩年裡,我學習著在有限的資源裡創造出 有價值的事物,學習著在一個人的環境不斷的激勵自己,學習著在各種事物裡做取捨, 無論課業方面或是精神的成長都有了長足的進步,這個過程中有許多的困難與挫折,除 了個人的努力外,家人、老師和朋友的幫助更是不可或缺的,這裡特別感謝我的父母, 這麼多年來不辭辛勞地用一籃一籃的菜,換來我的學費,在我遇到問題時,想盡辦法去 幫我問人,也感謝各位親戚這麼多年的幫助,讓我們在金錢上頭沒有後顧之憂,在踏入 職場後,一定不會辜負大家的期盼,努力的賺錢改善現在的情況,並且成為一個對社會 有貢獻的人。 除了最最感謝的家人以外,也特別謝謝蕭培墉老師在這兩年的指導和磨練,除了課 業上的指導以外,還願意耐心溝通各種事務上的想法,讓我在三月時辦理口試,悉心指 導研究的問題和花時間修改我的文章,達到最初準時畢業的目標,真是非常的感謝。 孟哲學長和大毛學長在剛踏入研究所時,在課業方面和研究所的生態給了很多的幫 助,讓我能更快的進入研究生這個角色,也間接加速了決定了研究方向的時間,是論文 完成的兩大功臣,還有其他研究室的朋友們,麗雯、宜陞在這個我情緖低落時的打氣, 還在研究室收留了我一陣子,感謝佳男三不五時陪我聊天,感謝高義陪我聊聊夢想…讓 一個人的研究所顯得有生氣許多,有更多的勇氣面對接下來的挑戰,也感謝和泰接下了 後續的研究,讓我能走的更放心。 謝謝宇峰在我被論文整的焦頭爛額的時候幫忙校稿和搞定格式,這兩年裡,要不是 有他的陪伴和支持,我還真不知道除了上課以外,這種白天晚上都是一個人的日子該怎 麼自己度過,最後,再次謝謝所有幫助過我的老師、家人和朋友們,能這麼順利的準時 畢業你們功不可沒,有你們真好。. ii.

(4) 統一發票影像辨識即時自動對獎系統 指導教授:蕭培墉 博士(教授) 國立高雄大學電機工程學研究所 學生:塗孟秋 國立高雄大學電機工程學研究所 摘要 財政部為了防止逃漏稅,於民國 77 年 11 月開始施行統一發票給獎辦法,鼓勵民眾 拿取發票來增加額外的收入,許多的慈善團體也將募集發票視為一個重要的財源,但人 工逐一目視對獎發票的動作相當單調。將兩個月所累積下來的發票總量與多組中獎數字 進行交叉比對,耗時又耗力。如果透過電腦能將對獎的流程一貫化,則可大幅的降低使 用者的負擔。本論文所研究之統一發票自動對獎系統(automatic invoice winning system ) 使用階層式模組化 C 語言搭配 OpenCV 函式庫(Open Source Computer Vision Library), 實現於一般的家用個人電腦。針對各種不同的角度、光線,還有各種不同深淺樣式浮水 印的發票情形,利用一般家用的 USB 個人電腦攝影機(PC Camera),搭配簡單的背景, 以影像處理的方式自動偵測目標發票,並辨識出發票上的對獎數字,將對獎的動作變成 由電腦執行影像辨識的一貫化的流程。實驗結果顯示系統可以每秒 27 偵的速度進行即 時發票自動偵測,並容許 360 度的任意歪斜角度,98.63%的高精準度能正確的篩選出各 種顏色與紋路的浮水印背景下的中獎發票,每一張發票由取像到辨識出數字平均運算時 間為 114ms,達到提升對獎的效率與降低人力消耗的目標。 關鍵字:影像處理、統一發票、樣版比對、影像增強、數字辨識、OpenCV. iii.

(5) Image-Based Invoice Real-Time Recognition and Winning System Advisor(s): Dr.(Professor) Pei-Yung Hsiao Institute of Electrical Engineering National University of Kaohsiung Student: Meng-Qui Tu Institute of Electrical Engineering National University of Kaohsiung. ABSTRACT In order to prevent the tax invasion problem for the Ministry of finance, they encouraged people to receive the invoice to established extra incomes from the beginning of the rewarding method of uniform invoice a in November, 77 in Republic of China. That is also one of the most important financial resources for many charitable organizations. However, check the award-winning list one by one in artificial was pretty monotone. It’s not only time-consuming but also tedious for the cross match between the totally invoice accumulated in two months and many pair of award-winning numbers. If we can make the procedure consistent in checking number through computers, that could lower the user’s burden in speed step. The automatic invoice winning system in this theory with Open Source Computer Vision Library was used in personal computer. To every kinds of counters, including angles, lights, and different types of watermarks, it make good used of computer USB and PC Camera of personal computer with simple background. The way of using image-processing to auto-detect the target receipt, and distinguish the compared number on the receipt has made the reward-checking become a constant process of visual distinguishing done by computer. The experiment has showed out that the system can processing the receipt immediately at the speed of 27 frames per second, 360 degree of willful angle allowed, and with the 98.63 percent of high precision can select any kind of color and vein under the watermark’s background of the winning ticket; each of the receipt’s average time of calculation from vision-selection to distinguish the number is 114 ms, achieving the goal of lifting efficiency while checking ticket and lower the consumption of personal. Keywords: Image Processing, Invoice, Template matching, Image Enhance, OpenCV. iv.

(6) 目錄 口試委員審定書 .................................................................................................................... i 誌謝........................................................................................................................................ ii 中文摘要 .............................................................................................................................. iii 英文摘要 .............................................................................................................................. iv 第一章 緒論 ..........................................................................................................................1 1.1 研究背景與動機.....................................................................................................1 1.2 文獻回顧.................................................................................................................4 1.3 章節組織.................................................................................................................10 第二章 系統與場景環境 .....................................................................................................11 2.1 問題與挑戰.............................................................................................................11 2.2 開發環境.................................................................................................................13 2.3 操作情境設計.........................................................................................................15 2.3.1 物距範圍......................................................................................................15 2.3.2 背景樣式選定...............................................................................................17 2.3.3 發票放置方式..............................................................................................19 2.4 模組化程式設計......................................................................................................20 2.4.1 影像座標系統..............................................................................................20 2.4.2 資料結構訂定...............................................................................................21 2.4.3 專案檔案階層化模組結構圖.......................................................................23 第三章 統一發票對獎系統演算法 .....................................................................................25 3.1 影像處理背景知識.................................................................................................25 3.1.1 灰階圖像.......................................................................................................25 3.1.2 邊緣偵測.......................................................................................................26 3.2 移動發票的目標物自動偵測...............................................................................27 3.2.1 背景影像相減法...........................................................................................29 3.2.2 時序影像差值計算法...................................................................................30 3.2.3 背景差與前景差混合偵測法.......................................................................32 3.2.4 整體移動發票自動目標物偵測演算法.......................................................35 3.3 前處理模組.............................................................................................................37 3.3.1 旋轉發票.......................................................................................................38 3.3.1.1 平行線偵測法...................................................................................38 3.3.1.2 角度校正...........................................................................................41 3.3.1.3 旋轉...................................................................................................42 3.3.3 影像增強......................................................................................................44 3.3.3.1 Otsu 淡化 ...........................................................................................44 3.3.3.2 sin 影像增強......................................................................................46 v.

(7) 3.3.4 二值化..........................................................................................................47 3.3.4.1 Otsu 二值化 .......................................................................................48 3.3.4.2 適應性發票二值化...........................................................................49 3.4 數字切割.................................................................................................................52 3.5 錯誤校正.................................................................................................................56 3.5.1 前處理校正...................................................................................................56 3.5.2 旋轉校正.......................................................................................................57 3.6 數字辨識.................................................................................................................58 3.6.1 正規化..........................................................................................................59 3.6.2 辨識特徵擷取...............................................................................................60 3.6.3 圖片分類.......................................................................................................62 3.6.3.1 樣版取樣法........................................................................................62 3.6.3.2 最小距離法........................................................................................64 3.6.3.3 最大相似法........................................................................................65 3.6.3.4 階段式樣版比對法...........................................................................66 3.7 發票對獎方法.........................................................................................................68 3.7.1 對獎清單格式...............................................................................................71 第四章 實驗結果與分析 .....................................................................................................72 4.1 不同角度..................................................................................................................73 4.2 不同公司行號..........................................................................................................74 4.3 不同高度..................................................................................................................74 4.4 不同顏色與樣式發票.............................................................................................76 4.5 不同深淺浮水印變化..............................................................................................77 4.6 不同程度的光線......................................................................................................81 4.7 辨識率......................................................................................................................83 4.8 皺折與特殊發票的效果..........................................................................................86 4.9 效能分析..................................................................................................................88 4.10 近年發票辨識論文比較.......................................................................................90 第五章 結論與未來展望 ...................................................................................................92 5.1 結論..........................................................................................................................92 5.2 未來展望.................................................................................................................93 參考文獻 ...............................................................................................................................95. vi.

(8) 圖目錄 圖 1-1 黃君的影像前處理方法 ............................................................................................7 圖 2-1 統一發票自動對獎系統設備器材與操作流程示意圖 ..........................................15 圖 2-2 物距示意圖 ..............................................................................................................16 圖 2-3 四種不同物距下所擷取的發票圖範例 ..................................................................17 圖 2-4 使用藍綠色作為背景,發票因此會偏橘色調。 ..................................................18 圖 2-5、後續實驗皆選用土黃色背景,”X”符號可更換為其他符號。..........................18 圖 2-6 系統操作時擺設位置關係圖 ..................................................................................19 圖 2-7 本研究所使用的影像座標系統 ..............................................................................20 圖 2-8 掃描方式示意圖 ......................................................................................................21 圖 2-9 發票的資料結構成員(members)範例.....................................................................22 圖 2-10 single_num_region[3][4]範例 .................................................................................22 圖 3-1 本論文所提出一個回合的整體發票對獎演算法流程 ..........................................25 圖 3-2 (a)原始彩色圖片(b)轉換為灰階圖像的結果範例 ..................................................26 圖 3-3 將圖 3-2(a)進行 Canny 邊緣偵測後所獲得的結果(a)3*3(b)5*5...........................27 圖 3-4 不同物距發票 ..........................................................................................................29 圖 3-5 同樣背景在不同時間取像,相機自動白平衡會影響成像結果 ..........................30 圖 3-6 (a)背景圖邊緣(b)使用背景影像相減法所獲得的結果 .......................................30 圖 3-7 移動中的發票圖像與其擷取邊緣特徵後的圖像 ..................................................31 圖 3-8 時序影像差值計算法所獲得的結果 ......................................................................32 圖 3-9 所提出的前景差與背景差混合式移動目標物偵測流程圖 ..................................33 圖 3-10 本文所訂定的中央偵測區圖解 ............................................................................34 圖 3-11 紅色部份為左上角邊框像素群,寬度只有一個 pixel .......................................35 圖 3-12 本論文所提出的整體移動發票自動偵測流程圖 ................................................36 圖 3-13 前處理模組流程圖 ................................................................................................37 圖 3-14 旋轉流程圖 ............................................................................................................38 圖 3-15 水平的平行掃描法掃描路徑 ................................................................................39 圖 3-16 (a)(b)水平的平行掃描法所獲得旋轉角度示意圖 ................................................40 圖 3-17 垂直的平行掃描法掃描路徑 ................................................................................40 圖 3-18 垂直的平行掃描法所獲得旋轉角度示意圖 ........................................................41 圖 3-19 不同方向的角度轉換對應 ....................................................................................42 圖 3-20 Invoice.width 示意圖 ..............................................................................................42 圖 3-21 實際發票大小示意圖 .............................................................................................43 圖 3-22 發票比例與縮小範圍後得到的浮水印區域 ........................................................44 圖 3-23 ROI 區域內色彩直方圖與三個色區塊分佈 .........................................................45 圖 3-24 Otsu 淡化流程圖.....................................................................................................45 圖 3-25 Otsu light 與原始明度之轉換曲線 ........................................................................46 vii.

(9) 圖 3-26 Otsu light 調整完後的直方圖 ................................................................................46 圖 3-27 Otsu light 的轉換效果範例 ....................................................................................46 圖 3-28 Sin 與原始色彩之轉換曲線...................................................................................47 圖 3-29 sin 影像加強的轉換效果範例................................................................................47 圖 3-30 Otsu 灰階區域示意圖.............................................................................................48 圖 3-31 Otsu 二值化轉換效果範例.....................................................................................49 圖 3-32 所提出的適應性二階段發票二值化流程圖 ........................................................50 圖 3-33 (a)未經前處理的浮水印區域(b)每列加總直方圖 ................................................50 圖 3-34 有效列數圖片流程圖 ............................................................................................51 圖 3-35 圖片類型分析流程圖 ............................................................................................51 圖 3-36 不同類型(Type)的發票閥值設定與影像增強處理方法 .....................................52 圖 3-37 數字切割流程圖 ....................................................................................................53 圖 3-38 清除雜點效果 ........................................................................................................53 圖 3-39 上下緣參考線流程圖 ............................................................................................54 圖 3-40 行邊緣變化直方圖與數字區域上下緣參考線 ....................................................55 圖 3-41 圖 3-40 的切割效果...............................................................................................56 圖 3-42 (a)兩色區發票(b)三色區發票(c)四色區發票........................................................57 圖 3-43 前處理校正效果 ....................................................................................................57 圖 3-44 旋轉校正示意圖 ....................................................................................................58 圖 3-45 數字辨識流程圖 ....................................................................................................58 圖 3-46 正規化對應示意圖 ................................................................................................60 圖 3-47 Da、Db、Dc 示意圖 ..............................................................................................60 圖 3-48 distance transform 轉換流程圖..............................................................................61 圖 3-49 原始大小的灰階樣版 ............................................................................................62 圖 3-50 放大 8 倍的灰階圖像 ............................................................................................63 圖 3-51 原始大小的二值化樣版 ........................................................................................63 圖 3-52 放大 8 倍的二值化樣版 ........................................................................................63 圖 3-53 數字圖片 7 的 distance transform 轉換結果.........................................................64 圖 3-54 樣版圖片與測試圖片相異情形分佈示意圖 ........................................................64 圖 3-55 階段式樣版比對法流程圖 .....................................................................................66 圖 3-56 特獎對獎流程圖 ....................................................................................................69 圖 3-57 增開六獎對獎流程圖 ............................................................................................69 圖 3-58 頭獎至六獎對獎流程圖 ........................................................................................70 圖 3-59 對獎系統流程圖 ....................................................................................................70 圖 3-60 對獎號碼檔案 ........................................................................................................71 圖 4-1 各階段實驗結果 ......................................................................................................72 圖 4-2 發票旋轉後的對應情形 ..........................................................................................73 圖 4-3 不同公司行號的前處理效果 ..................................................................................74 viii.

(10) 圖 4-4 發票數字區離頂高 ..................................................................................................74 圖 4-5 離頂高 16 到 23mm 設定 ROI 後的對應圖像 .......................................................75 圖 4-6 離頂高 25 到 31mm 設定 ROI 後的對應圖像 .......................................................75 圖 4-7 不同顏色與樣式的浮水印前處理與二值化效果 ..................................................76 圖 4-8 最低限度光線切割效果 ..........................................................................................81 圖 4-9 不同亮度(a)一盞燈(b)兩盞燈(c)三盞燈.................................................................82 圖 4-10 不同光源方向(a)光源在右半邊(b)光源在右下角(c)光源在右上角...................82 圖 4-12 強烈光源照在底紙的效果 ....................................................................................83 圖 4-13 不同背景的取像結果(a)黑色(b)深藍綠色(c)草綠色...........................................83 圖 4-14 錯誤個數分佈折線圖 ............................................................................................84 圖 4-15 輕微皺折與泛黃發票辨識結果 ............................................................................87 圖 4-16 特殊發票的辨識結果(a)(b)(c)...............................................................................88 圖 4-17 系統執行時間圓餅圖 ............................................................................................89. ix.

(11) 表目錄 表 1-1 兩年來創世基金會發票募集狀況 ...........................................................................1 表 2-1 本研究所使用的個人電腦軟硬體規格 ..................................................................14 表 2-2 本研究所使用的攝影機實物圖片及其規格 ..........................................................14 表 2-3 檔案與演算法章節對應表 ......................................................................................24 表 3-1 發票進入方向與平行掃描法選用對應表 ..............................................................41 表 3-2 不同類型(Type)的發票的處理結果範例 ...............................................................52 表 3-3 對應不同大小方陣的歐基理德距離 ......................................................................61 表 3-4 易混淆字與關鍵樣版對應 ......................................................................................67 表 3-5 統一發票獎金與規定 ..............................................................................................68 表 3-6 對獎代號表 ...............................................................................................................71 表 4-1 發票浮水印均勻與否說明 ......................................................................................77 表 4-2 發票浮水印顏色深淺說明 ......................................................................................77 表 4-3 淺色浮水印不同前處理二值化效果 ......................................................................78 表 4-4 中間色浮水印不同前處理二值化效果 ..................................................................79 表 4-5 深色浮水印不同前處理二值化效果 ......................................................................79 表 4-6 不均勻浮水印不同前處理二值化效果 ..................................................................80 表 4-7 二值化效果計分表 ..................................................................................................81 表 4-8 最大相似度法不同權重之辨識率 ..........................................................................84 表 4-9 不同方法的辨識率 ..................................................................................................84 表 4-10 使用二次比對後的錯誤分佈 ................................................................................85 表 4-11 系統各模組執行時間 ............................................................................................88 表 4-12 系統各模組執行時間 ............................................................................................89 表 4-13 近年發票對獎論文規格比較表 ............................................................................91 表 4-14 近年發票對獎論文子模組功能比較表 ................................................................91 表 5-1 電子統一發票實施情形 .........................................................................................94. x.

(12) 第一章 緒論 1.1 研究背景與動機 統一發票對獎制度自民國77年11月起,施行迄今已過了22個年頭,對 獎不但可以增加民眾領取發票的意願,達到政府避免逃漏稅的目的外,也 可額外的提供了對獎本身的樂趣與增加民眾荷包的收入。另一方面,對慈 善機構來說,募取發票相較起募取現金簡單許多,統一發票對獎所得占募 款取得相當大的比例,以創世基金會為例,2009年的整年所募得的發票共 有99,238,439張,獎金為92,694,400元,期望值為每張發票0.93元,如表1-1 所示。將近1億張的發票,可以換取約9270萬的獎金,占創世基金會總收 入約1成五左右,比例相當高。 表 1-1、兩年來創世基金會發票募集狀況 年份. 張數. 中獎金額. 期望值. 2008. 111,605,889. 99,238,439. 0.93元. 2009. 104,199,000. 92,694,400. 0.93元. 而個人收集的為數不多的發票,以一個人兩個月 100 張期望值 0.93 元來算的話只有 93 元,平均要 4.5 個月才會對到一張 200 元的六獎,使 得個人對獎的誘因不大。有鑑於此,財政部 2011 年發票獎金的預算大幅 增加了約 50%,從 52 億 6000 萬元增加到 79 億元。目前草擬增加新的獎 項包括—獎金 1000 萬的超級特獎,及新增兩組六獎。預計可將六獎的中 獎機率由千分之三提高至千分之五,每期增加 136 萬個中獎機會。屆時無 論個人或是慈善團體的中獎機率都會有所提升,但是兌獎的過程相當的單 調繁瑣,光是準備與整理的動作就耗去相當多的時間。數量龐大的發票, 採人工對獎的方式,既耗時又耗眼力與腦力。不少發票無法在限定的時間 內(開獎後三個月內)兌獎,是納稅人的一筆重要損失。而簡化對獎的流程 1.

(13) 可以讓對獎變成一件輕鬆又愉快而不費腦力的事情。為此,本研究將使用 一般家用的 USB 個人電腦攝影機(PC Camera),簡單的背景搭配,以影像 處理的方式自動偵測目標發票,進行統一發票對獎程式的開發,讓兌獎的 工作變成由電腦執行影像辨識的一貫化流程。使用者只要在電腦上就可以 達成輕鬆對獎的目的,達到提升對獎的效率、保留對獎樂趣與降低腦力及 眼力消耗的目標。 由於每個國家發行的發票格式與對獎規則都不一樣,統一發票對獎的 研究論文只適用於國內,所以學術論文發表相當少。而為了較便利的進行 對獎,民眾搭配科技技術想出了許多法子。其中最低成本的是統一發票對 獎網[1],將每天拿到的發票號碼輸到網站上,開獎時間到網站就會自動 提醒民眾是否中獎,目的是將處理對獎工作與時間分散,避免忘記對獎。 另一種則是搭配筆形的掃描對獎器[2],使用者需先設定中獎的數字號 碼,在沿著每張發票上數字號碼的位置,將字元掃描進該掃瞄筆內,筆內 的嵌入式系統就會進行字元辨識的處理,然後提示使用者是否中獎,使用 者不需判斷數字,達到減少人為錯誤的目的。此外也有人利用網路攝影機 來拍照,拍到符合格式的部份發票後,在搭配嵌入式系統平台來做字元定 位與辨識處理。最後,近兩三年國內專利也出現如印表機般,可以將發票 自動捲進去的裝置,再加上內含小型的嵌入式系統平台所構成的手握式設 計構想[3]。但上述所題的方法中,使用嵌入式系統平台的設計,往往因 運算能力受限使得前置處理的時間太長,無法滿足使用者的期待;同時, 這種專用機的成本也太高,無法實用化。第一種方法雖只要有電腦就可以 實施,但曠日費時且需人工逐一輸入待對獎號碼,無法發揮自動化的效率 性,對加速對獎流程的貢獻相當有限。 本研究所提出的發票對獎系統,其操作情境考量與實質效果具有下列 三個特性,第一,操作流暢度佳。使用者可以不耗眼力與腦力,流暢而直 覺的進行操作,也不需要為了辨識圖像的限制而很困難地調整發票的位 2.

(14) 置。第二,精準度高。機器對獎有一個很重要的目的就是為了減少人為的 失誤,開發優良的演算法達到高度精準度是不可或缺的要素。第三,處理 速度快。為了減少對發票圖像擺置位置與方式的限制,勢必會加重處理的 負擔,使用一般個人電腦的運算能力到即達時的要求,也是本研究的一項 特色。. 3.

(15) 1.2 文獻回顧 針對系統的使用流暢度與可靠度為核心考慮要素,我們將系統分為五 個子項目來討論,分別為自動移動物體偵測、影像前處理(含旋轉與影像 增強)、數字定位與切割、字元辨識及發票對獎系統。 (一) 自動移動物體偵測(Auto Motion Object Detection) 運動物體偵測的目的在於從連續串流的影像中獲取移動的目標物,常 用的方法分為影像相減法[4,5]和光流法(optic flow)[6]兩大類,其中影像相 減法依照相減畫面的取樣,又分為背景影像相減法(background subtraction method) [7]和時序影像相減法(temporal differencing method)[8]兩種。背景 影像相減法將當前影像與背景進行相減,可以提取出完整的顏色均勻前景 物體,但缺點為對運動中的物體與光線的變化適應力較差;而時序影像相 減法則是利用相鄰影像相減的結果取出變化中的特徵,對於光線與運動中 的物體適應能力較強,但是沒辦法提取物體靜止的部份。除此之外,透過 不同的取樣特徵進行相減會有不同的效果,如文獻[9]的方法使用HSV相 減 來 抑 制 陰 影 對 物 件 的 影 響 , 而 文 獻 [10] 的 方 法 則 使 用 邊 緣 相 減 法 (Edge-based Background Subtraction)來改善光線變化的影響與快速移動時 前景物破碎的問題。光流法反映了圖像上每一點的灰度的變化趨勢,考慮 時間與空間的變化來計算物體的位置,相較於影像相減法,進一步的包含 了物體追蹤的功能,缺點是大部份的光流法運算相當複雜且運算量大,一 般用於複雜且光影變化大的開放環境。. (二) 影像前處理(Preprocessing) 在影像前處理的部份,目的是簡化圖像的資訊,來幫助後續的演算法進 行處理,讓圖像達到去蕪存菁的效果,舉凡邊緣萃取、角度校正、去雜訊、 影像增強與二值化都屬於前處理的範圍。邊緣萃取的處理方式,常見的有 Roberts、Sobel、Prewitt、Laplacian、Canny[11]、Local Global Threshold 4.

(16) (LGT)[12]、Adaptive Threshold[13]…等演算法,其中Roberts使用2*2的遮 罩,Sobel與Prewitt分別使用一3*3遮罩來做摺積,屬於一階的微分方法, 而Laplacian使用3*3遮罩,屬於二階的微分方法,計算出來的圖片均為灰 階影像。Adaptive Threshold是一種常用於區域性的演算法,使用較小的 mask可以得到所有的邊緣,但雜訊較多,而若使用較大的mask則容易造 成資訊的流失。LTG的方法就是搭配了全域與區域兩者的方法來改進他們 的缺點。Canny是另一種有名但較複雜的方法,其設定了兩個門檻值,所 得到的邊緣較為精準,雜訊也比較少。 圖像依照灰階度的不同,可分為灰階(一般為256階)與二值化(兩階)影像 圖,雖然字元辨識也有適用於灰階圖像的方法,可是二值化圖片相較於灰 階圖片的處理,有較低的錯誤率與演算法複雜度,在此考量下,一般的水 文圖也都是以二值化圖片為準。最簡單的二值化方法就是定值二值化,但 並不是所有圖片的門檻值都適用固定不變的值,多數需要視圖片的需要而 進行調整。為此Otsu[14]提出了一項有名的演算法,Otsu演算法預先設定 一個門檻值,加總門檻值兩端的變異數,在進一步的調整門檻值,使之加 總的變異數為最小值。如果圖片是兩個明顯的群集,Otsu演算法可以得到 不錯的處理結果,但是在光線不均勻的情況下,可能會造成分析的錯誤。 由此Yibing[15]進一步提出的適應性邏輯二值化則可以避免這種情形,適 應性邏輯二值化是一種區域的二值化方法,先求出一個區域的最大、最小 與平均值,利用最大與最小值相對於平均值的差,還有圖像的品質來決定 門檻值取用最大與最小值的比例。為了克服光線和陰影的影響,除了上述 兩種常用的全域二值化以外,後來還進一步衍生出區域二值化。亦即,依 演算法的不同,將畫面切割為N部份,分別計算各區域的門檻值,再利用 他們分別對每個區域進行二值化。例如Pai等[16]的方法,分析水平方向總 和的直方圖,利用行與行中間強度值較高的特性,得到每行文字的高。再 將文件切割成一個一個的小方塊,引入Otsu的方法完成二值化。此外, 5.

(17) Niblack[17]也提出使用固定大小的方塊,計算平均值m(x,y)和變異數V(x,y) 後,求出每個區域的門檻值,式(1.1)所示。後來Sauvola[18]又提出一種改 進Niblack的進階演算法,加入了正規化的概念,改善了字與字之間容易 產生雜訊的問題。相較於全域性二值化,區域性二值化的確有效的克服了 陰影的問題,但是相對的卻犧牲了運算的速度,無法應用於需要及時運算 的程式。 T ( x, y ) = m( x, y ) + k V ( x, y ) ,k為定值. (0.1). 本研究的前處理除了將目標影像單純化外,還包括了旋轉的動作。旋轉 的方法除了最傳統的點斜式,找出線段的兩端點,求出線段的斜率外,還 有利用統計的方法。例如由Hough所提出的霍式轉換法[19],在極座標的 系統裡,對影像中的某一特徵點,計算出其可能的所有直線的r與θ,並對 圖像內的所有點進行統計,得票率最高的就是最有可能屬於直線的一部 份。利用這個方法統計出現最多次的角度,即是所得到的發票傾斜的角度。 前處理的工作還包括去除發票浮水印的部份,這方面的技術作者參考 了兩篇使用到影像增強步驟的參考文獻。張君等的方法[20]以調高亮度跟 對比的方式分離數字與背景,使亮度較大的浮水印與背景融為一體,並加 強文字與背景的強度差,減少誤判的可能性。黃君等的方法[21]則先使用 乘冪律(Power law)轉換來平滑化淺色區域,並加強深色區的對比,再使用 log轉換平滑化深色區域並突顯淺色區的差異,達到加強文字與背景的目 的,如圖1-1所示。但以上兩種方法都沒有對大量發票進行統計分析的動 作,而是直接以灰階值強度128為中心將強度進行轉換。對於如果受到光 線或是發票樣式的影響,使得圖像色域集中在深色或淺色區域時,這個方 法反而容易造成反效果,在使用上仍有相當大的限制。. 6.

(18) 乘冪律轉換. Log 轉換. 圖 1-1 黃君的影像前處理方法 (三) 數字定位與切割(Numeral Pattern Locating and Segmentation) 有關數字標型定位方面的研究,採用類空間頻率法[22-24]可利用數字 與背景的劇烈變化來找出符合條件的區域;若佐以顏色的分析[25],則可 利用數字顏色固定的特性,進一步過濾出符合的條件的區域。另有一種連 通物件法(Connected Component Method)[26],先將圖片的4鄰點或8鄰 點以同樣的編號標示出來,再分析經合併完(merge)的群聚特性後,可以 過濾出有數字的區域,這個方法同時還完成了字元切割的動作。小波轉換 法(Wavelet Transformation,WT) [27],則將圖像進行水平與垂直的小波掃 描,利用高頻的資訊來做定位。此外。採用離散傅立葉轉換(DFT)[28], 根據水平方向的數字區較一般區的DFT大的特性,而垂直方向則會有規率 改變的特性,藉由這兩種特性來做定位,也是一種常見的方法。 前述提到的連通物件法可以達到字元切割(Character Segmentation)的 目的外,在非連續數字的情況下,投影量統計法(Projection Histogram Statistics) [29,30]也是字元切割常用到的方法之一。透過統計字元上的點 投影至水平軸上的累積量,可切割出字元的左右邊界;統計投影至垂直軸 上的累積量則可以切割出字元的上下邊界,切割完的物件再視其後端使用 的比對方法來決定是否進行正規化的動作。 (四) 字元辨識 (Character Recognition) 光學字元辨識(Optical Character Recognition,OCR),約1950年中期就 有相關的研究出現[31],一直到約1990年趨於成熟。但不同的新的應用面 對的不同光線環場、標的物汙損老化、….等等雜訊干擾,則不斷的有新. 7.

(19) 的研究空間。完成前述的完整影像前處理工作後,研究的方向主要分為特 徵擷取與數字字元分類兩大部份,特徵擷取的部份依數字有效資料的保留 方式,則可在細分成水文圖(Hydrographic Map)、骨骼圖(Skeletons)、輪廓 圖(Contours)與向量圖(Vector)四大類。水文圖指的就是一般線條有粗有細 的點陣圖,原始發票數字就是屬於這個類型,其前處理較簡單,是一種最 常見的辨識特徵。骨骼圖指的是細線化過後的水文圖,它將字的筆畫簡化 為寬度為一個像素的線條,再分析出線條長度、轉折與交會點,做為分類 器的素材。輪廓圖只保留水文圖的邊緣,將每條粗線段簡化為兩條細線 段,以提供後續處理。向量圖則保留了線條的方向性與強度值,每一點與 周遭像素的關係最為緊密。特徵擷取的目的是取出有效的特徵以提供後續 分類器使用,區域方向特徵[32]使用邊緣圖像,找出每點的上下、左右、 左斜與右斜到邊緣黑點所連成的四條直線距離,再計算出每個方向的百分 比作為特徵。距離轉換(Distance Transform)的方法[33]可使用黑白的二值 化圖像,計算每個點離黑點最近的距離,如果為黑點,則距離為0;如果 是白點,則掃描四周找出最接近的黑點,對鄰邊、對角與象棋走馬可設不 同的距離。由此可以得到不同的特徵結果。 字元分類依字元類型不同難度也大不相同,相較於國字和英文字母, 阿拉伯數字只有10個,辨識最為容易。圖像辨識裡分類器主要分成五大 類,亦即,類神經網路法(Artificial Neural Networks)、結構法(Syntactic or Structural)、統計法(Statistical)、樣板比對法(Template Matching) 及其他演 算法。其中,樣板比對法[34],是一種透過比較樣版與資源相似度的辨識 方法。優點是速度快,最適合用來辨識單一字型、固定大小及同一角度的 字體,是車牌辨識常用的方法之一;缺點是缺乏適應性,待辨識的資源得 先做正規化(Normalization)的動作,故一般不建議使用於灰階影像。針對 這個方法,Ko[35]的改進作為是加入權重(Synaptic Weight)的概念,使得 辨識效果有更加的強健性。結構法[36,37]則以分析字元結構(Structural 8.

(20) Feature)的特性來進行分類,如端點、轉折、線段…都是其考量的特點。 優點是旋轉不變、縮放不變及抗雜訊;缺點是演算法對於字元結構的分解 較為困難,不同的結構法分析出來的效果相差甚大。類神經網路法[38]使 用大量簡單的相連人工神經元(Artificial Neuron)來模仿生物神經網路,常 用在大量資料運算上。有適應性、抗雜訊、非線性處理、平行運算與容錯 率等優點;缺點是輸入可供辨識的特徵後,還需要提供大量圖片,並以大 量的時間來進行訓綀。統計法[39,40,41]常搭配使用分類方法來做辨識, 利用機率密度函式(PDF)將圖像空間分割成各個區塊。其中可以使用 Adaboosting演算法[42]做為二分類器,而再透過二元樹的分支,可以將其 推廣到多層次的多元分類器來使用。其他演算法,有的透過結合上述提到 的任兩類方法或特性來進行融合或整合辨識,以適應各種不同的應用環境 情況。 (五) 發票對獎系統 (Invoice Winning System) 由於發票有地區性的限制,所以在國內發表的碩士論文中,作者僅找 到近期有三篇研究統一發票自動對獎的相關論文。其中兩篇來自義守大學 的碩士論文,內容採用嵌入式系統平台應用於發票對獎。2006年賴君[43] 使用勤研科技QT2410的平台搭配Linux-2.4.18-rmk7-pxal的作業系統,著 重於硬體化的實作,演算法的部份較為簡易淺顯。其每張發票的對獎時間 為36.9ms,缺點是需要手動擷取端正的發票,缺乏操作的流暢度,沒有前 處理的有效過濾步驟,有部份形態的發票,如背景複雜、低對比、顏色深 淡皆會造成錯誤的定位。2010年邱君[44]將上述賴君的ELIRS(Embedded Linux Invoice Recognition System)重新建置於勤研科技的QT2440E平台, 搭配較新的Linux Kernel 2.6.28-19- generic Ubuntu 9.04的作業系統,將系 統圖形介面化,數字辨識改為區塊性多樣版比對,遠到減少運算量與增加 系統可靠度的目的。此外,台科大黃君[21]的論文所使用影像處理運用於 發票號碼的自動辨識方法,可在有限制的距離中容許對旋轉角度+70~-70 9.

(21) 左右的發票進行辨識,但無法處理浮水印較深的發票。其文中使用40個發 票數字進行所提出的類神經網路辨識的測試,單一數字的正確率為 87.5%,系統使用連續50張圖像中擷取其中10張進行辨識,該10張統計的 結果即為最終的辨識結果。. 1.3 章節組織. 本論文總共分為五章,其組織架構如下: 第二章為「系統與場景環境」,本章講述統一發票對獎的相關背景知 識與開發環境,和系統所使用的硬體環境及軟體基本設定。 第三章為「統一發票對獎系統演算法」,本章介紹系統的整體流程, 並將統一發票對獎系統依功能分為六個模組,分別介紹每個模組所提出或 應用的演算法。 第四章為「實驗結果與分析」,本章根據實際操作時的情境,對不同 的環境變數進行實驗,並比較近年來相關的發票對獎文獻,分析其優劣。 第五章為「結論與未來展望」,對前面四章的研究做出結論,並討論 未來可以加強或發展的方向。. 10.

(22) 第二章 系統與場景環境 本論文中的統一發票對獎機,採用一般家用的USB個人電腦彩色攝影機(PC Camera或稱Webcam)做為影像取像設備。只要將發票放在簡易的預設場景中,系 統就會自動將圖像傳送到家用電腦、自動分析是否有發票需要辨識、發出Bee聲 ,並依選定的中獎號碼群組進行自動對獎及輸出中獎與否的訊息。本章將說明本 論文所提出的統一發票對獎系統的硬體環境與軟體基本設定。. 2.1 問題與挑戰. 在思考使用場景與環境設定議題時,一開始我們先分析發票對獎過程中的各 種困難點,並依解決需要克服的挑戰處來設計本系統的使用場景與環境。目前市 面上所使用的統一發票其尺寸與規格種類繁多,發行與收受發票的買賣兩方身份 可分為政府、企業及個人消費者三種;若依開立發票的工具不同來區分可分成手 寫發票、電子計算機發票與收銀機發票。本論文提出的統一發票對獎機是針對企 業開立給消費者(Business to Customer,B2C)的收銀機統一發票,這一類型的發 票數量佔發票總量的九成以上。其特徵為長條形等寬的紙張,尺寸約為 4.4cm * 19cm,內容除了印有購物的資訊外,每張發票有八碼黑色的對獎數字。本論文 所研究的統一發票對獎系統,其目標就是快速且流暢的判斷出這八碼是否符合中 獎條件,以下為使用電腦進行自動發票對獎時,所常面臨的困難與挑戰。 1.. 自動追蹤目標物:一般以人的雙眼與頭腦對獎時,不需要另外準備工 具,人眼與頭腦的組合可以輕易的將發票本身(目標物)或發票上的數 字碼與背景分離開來。採用電腦自動追蹤目標物時,由於所擷取的影 像畫面(取代人眼)為二維空間影像圖,據此要順利將發票與各種複雜 而不同變化的背景分離開來(頭腦的一部份工作)是一項有難度的挑戰 。 11.

(23) 2.. 數字碼定位:發票圖像是由一個一個的不同色塊所組成的點陣圖檔, 如何自動圈劃出欲被拿來對獎的各個數字碼所在的區域位置(頭腦的 一部份工作)是另一項困難點。. 3.. 目標物旋轉:一般以人工對獎時人們會用手將發票轉正,且即使有一 點旋轉角度偏差,人眼與頭腦互動仍可正確辨識出發票號碼。但是使 用攝影機取像的同時,若要求採用自動對獎系統的使用者必須一邊看 螢幕一邊以手動旋轉至發票經攝影機取像後為正向角度,則對使用者 而言很不方便,也會另使用者感到相當的厭煩。所以電腦自動發票對 獎系統必需能取像後,自動將目標物旋轉到(手與眼配合的工作)適合 自動辨識的正向角度範圍內。. 4.. 目標物大小調適:影像圖中發票的大小會影響辨識的處理效果,而即 時取像所得的發票大小,通常會因為鏡頭的視角或發票目標物的遠近 而造成目標物大小隨著即時取像不斷在動態變化。故需要發展出好的 演算法(頭腦的一部份工作),以達到目標物大小只要落在某種範圍, 便能自動適應而獲得良好辨識效果。. 5.. 紙張皺折扭曲調適:發票經兩個月收集下來累積成堆,常會有各種複 雜而零亂的皺折產生;或使用者拿取時因發票紙張太軟也會造成發票 扭曲問題。這些情況都會造成自動辨識方法(頭腦的一部份工作)的研 究更加困難。. 6.. 分離浮水印:發票上的浮水印樣式會隨著不同的雙月份而有所不同, 且不同的店家使用的發票其浮水印的彩度深淺也有所差異,要如何完 整的將數字碼與浮水印自動分離開來(頭腦的一部份工作),也是一項 有難度的挑戰。. 7.. 環場光線變異:人眼是最高級的鏡頭,除了完美的自動白平衡之外, 還有自動對焦與自動忽略雜訊的功能,她是各種人造攝影機鏡頭遠遠 不及的。統一發票自動對獎系統的操作環境,只要不同的光線或是陰 12.

(24) 影變化,都會對取像攝影鏡頭(取代人眼)產生影響,形成雜訊或取像 不良,進而造成辨識失敗或辨識率不穩定。 8.. 辨識率調控:取像攝影鏡頭所看到的數字碼往往不如我們人眼所看到 的那麼清晰,整體系統最後如何正確的判斷出數字是多少。亦即如何 提升辨識率與降低誤判率是本系統的核心問題。. 9.. 快速運算:一般人眼與頭腦合作下閱讀與辨識發票號碼的速度相當的 快,整理好的發票,在很專心的情況下,一分鐘就可以對完 50 張左 右,所以發票機對獎速度不能慢於人工對獎是非常重要的基本要求。. 10.. 降低成本:一張發票的中獎期望值只有不到新台幣壹元,較常對中的 普獎金額也只有新台幣兩佰元,本研究所需求的專用裝置或設備如果 成本太高,則研究成果將不具實用價值。所以本研究的挑戰包括必須 只能使用簡單的低成本設備便能達成自動對獎的目的。. 11.. 操作簡易:本系統的目的就是減少對獎發票時的人工(手的動作)與心 力(含眼力與腦力)的負擔,若需配合太複雜的操作程序或動作,會使 系統的實用價值大打折扣,這也是本研究的一項人因工程的挑戰。. 綜合上述各點問題,我們決定使用一般家庭或個人普遍擁有的 Webcam/ PC Camera 做為低成本取像工具,搭配單純色系背景以掌控自動追蹤困難度的降低 。扣除破損、髒汙或是嚴重模糊等人眼都難以辨識的發票,本研究旨在設計出 一套可以容忍 360 度旋轉,低成本而具有效環場適應性及高辨識率的統一發票 自動對獎系統。. 2.2 開發環境. 本系統的軟體開發採用符合 C99 標準的 C 語言,搭配盡可能少部分使用的 OpenCV 1.1 函式庫,所使用的個人電腦其配備規格如表 2-1 所示。. 13.

(25) 表 2-1 本研究所使用的個人電腦軟硬體規格 CPU. Intel Core 2 CPU 6400@2.13GHz 2.13GHz. RAM. 2GB. 作業系統 Microsoft Windows XP 開發語言 C99 Standard C Language (GNU C) 資料庫. OpenCV 1.1. OpenCV 全名是 Open Source Computer Vision Library,是一個跨平台的計算 機視覺資料庫,由 Intel 發起並主導開發,以 BSD 許可證授權發行,可以在商業 和研究領域中免費使用。本系統採用 OpenCV 的目的只用來進行讀取圖片檔與簡 易影像的處理,整體的演算法與其所對應的模組化 C 程式設計都是本研究自行 開發。攝影機使用一般家用的彩色 Webcam/PC Camera,與電腦間的傳輸經由 USB 連接埠。該攝影機內建自動白平衡、自動曝光,球面校正,解析度需求只 要 320x240,取像速度可達到 30fps 以上,以一般場景均可清楚的取得發票照片 為原則。亦即,本研究所使用攝影機規格如表 2-2 所示。. 表 2-2 本研究所使用的攝影機實物圖片及其規格 視訊奇蹟規格 圖像傳感器. 500 萬像素光學感應器. 傳輸速率. 35 張/秒. 傳輸裝置. USB 2.0 自動補光白平衡 可隨意彎曲軟管 全方位角度拍攝. 其他. 本研究所提出的整體系統流程示意圖如圖 2-1 所示,攝影機用來拍攝擬對獎 的標的物素材,隨之以 USB 傳送所拍攝影像串流至個人電腦,透過統一發票自. 14.

(26) 動前處理、特徵萃取與數碼比對後,以多媒體文字、畫面與音效呈現對獎結果。. 圖 2-1 統一發票自動對獎系統設備器材與操作流程示意圖. 2.3 操作情境設計. 本系統使用單純色系做為發票的取像背景環境,相較於黃君[21]所提出將發 票以垂直方向擺置進行取像,更符合使用者以手流暢的擺置發票的理想操作情境 ,亦即,本文採用水平方向放置發票於桌面的取像法,較符合人體工學的自然與 方便的訴求。以下是操作時本研究的場景環境設計的詳細內容。. 2.3.1 物距範圍. 放置發票的單純色系桌面背景與鏡頭間的距離,我們稱為物距,如圖 2-2 所 示。物距有一定的範圍限制,如果距離太近,雖然發票及其內的數字碼都會變大 ,但對應到實際標的物的被取像面積範圍大小會因此變得太小,放置發票動作可 容忍的範圍也因此會變小。使得使用者擺放發票的動作變得不流暢,容易超出範 15.

(27) 圍;且攝影機的陰影可能會投影在發票上,使得球面扭曲會變得更明顯。反之, 如果距離太遠,動作的彈性變大,球面扭曲影響也會變小。但個別數字的影像資 訊量因而太少,代表發票的像素點也因此太少,數字辨識將會變得較不準確,進 而影響對獎的準確度。. 圖 2-2 物距示意圖 經實驗觀察發現在物距為 10.5cm 時,所擷取的發票影像如圖 2-3(b)所示。 此時,若取像解析度為 320 * 240,則對應到取像平面的實景總大小為 12cm x 8.5cm。本論文中,如果沒特別指定,即選用物距為 10.5cm 來擷取發票圖像。另 設訂容許的誤差範圍約為±2.5cm。圖 2-4 所示為原始取像圖片大小縮小到 80%後 列印出來的圖片,圖中顯示採用不同物距與其所對應的被擷取圖像平面的實景大 小關係。. 16.

(28) 圖 2-3 四種不同物距下所擷取的發票圖範例,每個圖下方顯示物距(所取像實景 面積範圍)值. 2.3.2 背景樣式選定. 發票影像擷取裝置需配合個人電腦運作,為了避免發票邊緣與背景融為一體 ,選用背景底紙時,需注意顏色必需為可明顯與發票白色底紙區分出來的單純色 系色彩。再者為避免光線不穩定所造成的雜訊,背景不能有花紋且需不會反光, 以免過度干擾演算法因而造成錯誤。 人眼由暗處適應到亮處時都會有一段反應時間,如果亮度的反差越大,反應 的時間也會越久。Webcam 的自動白平衡沒有人眼的靈敏快速,即使是少許的光 線變化也會讓畫面產生不連貫的現象。因此考慮受限於硬體速度,作者建議不要 使用太深(黑色)、太淺或彩度太高 (紅色、綠色…)等等會嚴重影響白平衡的色彩. 17.

(29) 作為取像背景顏色,以免色彩補償產生色偏的同時,如圖 2-4 所示,還拖累了對 獎速度。本論文後續處理使用灰階圖片,所以色偏的現象不會對辨識結果產生影 響,只會影響取像速度而已。經多次測試後本研究選用接近一般牛皮紙的顏色當 做背景色。. 圖 2-4 使用藍綠色作為背景,發票因此會偏橘色調。 鏡頭擷取發票的過程與結果必需透過顯示器操作,才能知道發票是否放在正 確的位置上。為了降低眼睛要看實體發票也要看顯示器的忙碌感,本論文設計使 用一個標誌(mark)置於牛皮紙色的背景中央,來標示視窗的中心點。mark 只是在 紙上畫上一個約定的記號,用以提醒使用者哪裡可以對應到視窗中心,也提醒他 們將數字碼的區域盡可能對應到 mark 或其附近的位置上。mark 顏色的選用需注 意不能太接近背景色,其代表符號為何則沒有特別限制,作者挑選”X”當作 mark 的符號,如圖 2-5 所示。. 圖 2-5、後續實驗皆選用土黃色背景,”X”符號可更換為其他符號。. 18.

(30) 背景的設定操作是初始化時以手動操作滑鼠與鍵盤處理的,只要設定一次就 可以了,之後的取像畫面全部自動引用這張背景做為參考。所以,無論光源環境 為何,只要光線充足且不是光線變化劇烈的環境,都不會影響到演算法的運作。. 2.3.3 發票放置方式. 本研究所提出的演算法,可允許發票以 360 度的任意旋轉角度放置入背景 mark 附近的位置上。擷取發票影像圖採用由上往下拍照的方式,其優點包括: 一來發票是薄紙張,所使用的背景底紙與水平桌面可以當支撐,克服一部份發票 扭曲現象,並藉以產生固定的效果,免於拍攝出飄動模糊圖像的發生;二來水平 擺置發票再予取像較垂直擺置取像自然而順手,可提升使用者拿取發票的操作順 暢度。放置時需注意發票的數字碼需盡可能出現在視窗中心區域,讓發票可以覆 蓋掉 mark。但要注意發票的上緣需完整的保留在取像視窗內,否則自動偵測模 組會判定抓不到圖片。如圖 2-6 所示,攝影機、發票與背景底紙的擺置位置關係 為 : 底 紙 在 下 , 發 票 放 在 底 紙 上 , 攝 影 機 離 底 紙 約 10.5cm 高 。. 圖 2-6 系統操作時擺設位置關係圖. 19.

(31) 2.4 模組化程式設計. 為了方便程式設計的進行,作者定義了一個發票資料結構。一張發票會對應 到一個結構,以下介紹本研究程式設計所使用的影像座標系、發票的資料結構、 以及整個演算法以 C 語言模組化程式設計的專案、檔案與函式的階層化關係。. 2.4.1 影像座標系統 圖片解析度越高包含的資訊越多,但是完成處理一張圖片的速度就會越慢, 越難以達到即時的要求。所以,我們將圖片解析度大小設定為 320x240,單一數 字碼正規化後的解析度大小則設定為 8x14。本文使用的圖像座標系不同於數學 上常用的笛卡爾座標系,它的原點在左上角,如圖 2-7 所示,屬於只能有正整數 的離散座標系統。圖片的資料就是基植於一個圖像座標系統,而由不同顏色的像 素所組成的一個二維陣列,其中 x 表示行(column),y 則表示列(row) 。本論文 中如果沒特別提及的話,圖片中像素的處理順序就是由上而下,再由左到右水平 掃描排列而成的二維陣列,如圖 2-8 所示。. 圖 2-7 本研究所使用的影像座標系統. 20.

(32) 圖 2-8 掃描方式示意圖. 2.4.2 資料結構訂定. 發票資料結構是針對存放旋轉完後的影像圖片中所包含的目標物圖像資訊 而訂定,每一個結構包括發票的像素寬(width)、浮水印區域邊界(num_top_y, num_buttom_y,. num_left_x,. num_right_x) 、 各 個 單 一 數 字 邊 界 (. single_num_region[8][4] )。其中,浮水印區域邊界指的是 8 碼的數字群相對於 320x240 圖片的位置,而單一數字邊界指的是相對於數字區域的位置,其所宣告 的陣列名稱 single_num_region[8][4]的第一層陣列大小為 8,代表 8 個對獎數字碼 。由於對獎時是先看號碼的後三碼,所以陣列內成員(members)的排列順序是從 最右邊的數字開始,因此若由左到右來看,分別為第 7 碼(single_num_region[7][*]) 到第 0 碼(single_num_region [0][*])。換句話說,對中可獲得 200 元的陸獎(普獎) ,其所對應的號碼就是第 0~2 個數字(single_num_region [0-2][*])。每個數字碼都 可以用一個長方形包圍起來,single_num_region [8][4]的第二層陣列存放的就是 每個數字碼的邊界相對於數字區域的座標值(single_num_region [*][0-3]),陣列大 小為 4。其中 0 到 3 分別代表每個數字的上下左右緣的座標值,如圖 2-9 所示。. typedef struct Invoice _Data{ int width; //發票寬(pixel) 21.

(33) int num_top_y; //浮水印區域上緣 y 座標 int num_buttom_y; //浮水印區域下緣 y 座標 int num_left_x; //浮水印區域左緣 x 座標 int num_right_x; //浮水印區域右緣 x 座標 int single_num_region[8][4]; //第一層陣列由左到右分別為 76543210 //第二層陣列為每個數字碼的上下左右緣位置 } Invoice;. single_num_region. width. (num_left_x, num_top_y) X. AB 12345678 X. (num_right _x, num_buttom_y). 圖 2-9 發票的資料結構成員(members)範例 “浮水印區域”指的是以 num_left_x 及 num_top_y 代表左上角的 x 與 y 的座標 值;而以 num_right_x 及 num_buttom_y 則代表右下角的 x 與 y 的座標值,亦即 ,8 個碼的整個浮水印區域所圍起來的長方形區域。該區域中,第 bit 個數字碼 所在的位置就是由 single_num_region[bit][2]與 single_num_region[bit][0]兩個值代 表 左 上 角 的. x. 與. y. 的 座 標 值 ; single_num_region[bit][3]. 與. single_num_region[bit][1]兩個值代表右下角的 x 與 y 的座標值,亦即,第 bit 個 數字碼所圍成的”單一數字邊界”的長方形區域,如圖 2-10 所示。 (single_num_region[3][2], single_num_region[3][0]). 12345678 (single_num_region[3][3], single_num_region[3][1]). 圖 2-10 single_num_region[3][4]範例. 22.

(34) 2.4.3 專案檔案階層化模組結構圖. 本系統使用 C 語言,在 Dev-C++的環境進行開發。為了提高程式的可讀性 與後續維護管理的方便性,在程式設計與編寫方面依循文件工程導向的嚴謹要求 進行模組化撰寫,將系統分為六個功能模組與一個通用函式模組。系統的完整架 構位於 Invoice_system.c,main.c 為其測試範例,總共 23 個檔案,如圖 2-11 所示 。每個功能模組再依模組的複雜程度,分別對應到不同的子模組,每個子模組的 主程式對應到一個.c 檔案,其詳細演算法對應到各個.c 檔案模組的關係,詳如表 2-3 所示。 checkCenter.c 目標物 自動偵測. autoDetect.c. checkRigin.c creatDir.c. Rotate.c checkAngle.c. rotateInvoice.c getAngle.c. 影像前處理 模組. 統一發票 自動對獎系統. Right2left.c anaAllNum.c Binary AllNumber.c preEnhance.c. Main.c. Invoice_ system.c. 數字切割. divNumber.c. 錯誤校正. errorCheck.c. Header.h Normalize.c 數字辨識. getPicBit.c. patternMatch.c simMatch.c. 對獎. readReward Num.c. 其他. Function.c. 圖 2-12 專案與.c檔案的階層化關係的功能模組結構圖. 23.

(35) 表 2-3 檔案與演算法章節對應表 檔案. 章節. Function.c. 3.1 節. autoDetect.c. 3.2 節. rotateInvoice.c. 3.3.1 節. BinaryAllNumber.c. 3.3.4 節. divNumber.c. 3.4 節. errorCheck.c. 3.5 節. getPicBit.c. 3.6 節. readRewardNum.c. 3.7 節. 24.

(36) 第三章 統一發票對獎系統演算法. 本章節依各功能模組的先後順序將本論文的統一發票對獎系統分為「目標物 自動偵測」、「影像前處理模組」、「數字切割」、「精煉與校正」、「數字辨 識」與「對獎」等六個區塊模組。一張發票對應一個回合的演算處理,而每一回 合的演算法流程圖如圖 3-1 所示,其中目標物自動偵測模組會反覆擷取影像圖, 直到找到合格的一張影像圖,再往下傳給其他區塊模組進一步處理。. 圖 3-1 本論文所提出一個回合的整體發票對獎演算法流程. 3.1 影像處理背景知識 在進行說明圖 3-1 所示流程圖的各模組演算法細部技術之前,有關攝影機取 得的彩色影像如何轉為灰階影像,以及某些模組必須使用到的基本影像邊緣偵測 的方法,本節中先做一些相關技術背景知識的介紹。. 3.1.1 灰階圖像 灰階(Gray Level)意指使用單一色版強度,而非使用紅(Red)、綠(Green)、藍 (Blue)三種色版,此處單一色版的強度值(Intensity)介於 0-255 之間,0 代表黑色 ,255 代表白色。利用影像圖中每個像素位置(Pixel)明暗度(Brightness)的不同可 以構成一張灰階圖像,一般攝影機取得的圖像為三種色版組成的 RGB 彩色圖像 。為了簡化整個發票自動對獎的運算量,本論文使用灰階圖像進行影像處理、偵 測與辨識運算,所使用 RGB 轉灰階的公式為[45]: 25.

(37) gray = 0.299 R + 0.587G + 0.144 B. (3.1). 其中,gray 代表灰階的強度值,R 為彩色圖片中紅色的強度分量值,G 為綠色的 強度分量值,B 為藍色的強度分量值。圖 3-2 為使用上述公式(3.1)進行灰階轉換 的實際範例。本論文採用 BMP 檔案格式來儲存上述影像圖像。. 圖 3-2 (a)原始彩色圖片(b)轉換為灰階圖像的結果範例. 3.1.2 邊緣偵測. 影像邊緣偵測(Edge Detection)的技術,早期(1965-1973)便已有 Roberts 邊緣偵 測器及 Sobel 邊緣偵測器被提出來[46,47],本論文使用是 John F.Canny 於 1986 年開發出來的多級邊緣偵測器[11],該技術使用兩個閥值來進行邊緣像素點的過 濾,輸出的邊緣圖像雜訊少,邊緣像素點定位佳且最後結果為二值化圖像是相當 有效與常用的邊緣偵測器。以下為 Canny 邊緣偵測器的演算步驟介紹: z. 步驟(一):去雜訊. Canny 邊緣偵測器使用高斯遮罩(Mask)來做褶積(Convolution),並進行畫面 平滑化 (Smoothing) 以減少畫面的雜訊。由於本論文發票圖像大小解析度只有. 320*240,採用較精簡的 3*3 的遮罩即可。 z. 步驟(二):計算圖像中每個像素的方向性 所獲得的圖像邊緣圖,其內的邊緣(Edges)會指向不同的方向,這裡使用 4. 個不同遮罩來檢測水平、垂直以及兩個對角線方向的邊緣,比較四個方向的邊緣 26.

(38) 強度,其邊緣強度最大的邊緣方向就訂為該像素的方向(Orientation),這個方向 的邊緣強度就是該像素的邊緣強度。 z. 步驟(三):確定是否為邊緣 設定一個高閥值(Threshold)及一個低閥值,將像素強度以這兩個閥值分為三. 大類。如果生成的邊緣強度值大於高閥值,則輸出該像素為邊緣像素;小於低閥 值則不為邊緣像素,且將之視為雜訊;介於高閥值與低閥值中間的像素,則透過 檢視相鄰相素是否有相同的方向性來決定該像素是邊緣還是雜訊。 如圖 3-3 所示,Canny 邊緣偵測輸出結果為二值化圖像,只有邊緣像素和非 邊緣像素兩種灰階值(255 或 0)的可能。本方法比起一般的透過單一閥值計算所 獲得的邊緣圖像有更高的可靠度。5*5 的遮罩運算時間比 3*3 來得多,且 3*3 比 起 5*5 保留的邊緣較多,針對本研究之標的物,兩者皆可得到清楚的發票與背景 相交的四邊形邊緣,雖然對獎數字邊緣的清晰程度是 5*5 稍高,但兩者數字本身 的清晰程度差異,透過實驗發現,其對發票自動偵測與旋轉角度的結果並沒有影 響,因此,權衡考量速度與取像品質,本研究選擇使用 3*3 遮罩的 canny 圖像。. (a) (b) 圖 3-3 將圖 3-2(a)進行 Canny 邊緣偵測後所獲得的結果(a)3*3(b)5*5. 3.2. 移 動 發 票 的 目 標 物 自 動 偵 測 (Object Detection for Moving. Invoice) 27.

(39) 本論文研究過程中我們發現如果用手將發票放置在某定點範圍內,再以另一 隻手手動按鍵控制攝影機進行擷圖,則往往會取到模糊(如圖 3-4(左下))、不符合 預定格式或超出範圍的發票影像圖片(如圖 3-4(右上)(右下))。因此,若採用一手 拿發票,一手按鍵控制擷圖的方式,在進行切換下一張發票取像時,也往往會產 生不連慣的拍攝結果。同時,為了進一步達到擴增實境(Augmented Reality,簡 稱 AR)[48]的效果,亦即,在不使用鍵盤滑鼠的情況即可現實生活進行直接的互 動。本研究發展出一個移動發票自動目標物偵測的功能,作為發票對獎機的第一 個子系統。上述擴增實境這門技術,是在螢幕上把虛擬世界套在現實世界並進行 互動的一門科學,這種技術約在 1990 年提出,其透過與現實生活的互動,讓我. 們得到現實生活中無法直接獲取的信息。 本論文透過所提出的目標物自動偵測模組功能,使用者只需要移動發票就某 預定範圍內,本系統便自動完成偵測移動中的發票並擷取適當的可供辨識的一張 有效發票影像圖片。過程中,不需要使用者的心力分神去下判斷攝影機是否能取 得有效的發票的時機;也不用特別空出一隻手來進行手工按鍵擷圖操作。由此, 本系統可達到簡化操作與提高使用流暢度的目的。自動偵測目標物模組猶如本系 統的自動掃描眼睛,透過攝影機的鏡頭,所取得的每張發票圖像會經由本模組先 進行有效性分析與計算,該演算法引用背景影像相減法[10]、時序影像差值計算 法及目標物偵測方法[8]做為基礎。. 28.

(40) 圖 3-4 不同物距發票 (左上)物距 10.5cm 時由上往下成功取像的圖片,發票角度可任意擺置 (左下)發票模糊為失敗圖片範例,本模組功能會自動過濾並捨棄之 (右上)發票太靠近邊緣,後續數字定位與切割時會發生錯誤,本模組會 自動過濾並捨棄之 (右下)發票同時交接於視窗上緣和下緣,可能會發生旋轉或是數字定位 的 錯誤,本模組會自動過濾並捨棄之. 3.2.1 背景影像相減法(Background Subtraction Method) 本模組使用背景影像相減法[10]來判斷物體的移動情形,亦即,利用其背景 不隨時間改變的特性,來區別前景和背景。首先令 b(x,y)為背景的強度值,f(x,y) 表示當前影像每個像素的強度值,將該影像與背景相減可以得到影像與背景的強 度差 dfb(x,y),如式(3.2)所示。如果強度差等於 0 表示圖片強度沒變化,屬於背景 ;大於 0 則表示當前圖片的像素與背景不相等,屬於前景。 d fb ( x, y ) = f ( x, y ) − b( x, y ). (3.2). 由於在實體環境下,影像畫面會隨著光線產生不同的各式各樣的變化,如圖 29.

(41) 3-5 所示,為了克服光線的影響,我們選用 Canny 邊緣圖像取代原始灰階圖像做 為所需的輸入影像。如果 dfb(x,y) 大於 0 ,代表像素屬於發票的一部份,將. maskfb(x,y)設為 1;反之,若 dfb(x,y)等於 0,則代表像素屬於背景的一部份, maskfb(x,y)應設為 0,如式(3.3)所示。圖 3-6 為背景相減法計算出的結果 ⎧ 1..if .d fb ( x, y ) > 0 mask fb ( x, y ) = ⎨ ⎩0....otherwise......... (3.3). 圖 3-5 同樣背景在不同時間取像,相機自動白平衡會影響成像結果. (a) (b) 圖 3-6 (a)背景圖邊緣(b)使用背景影像相減法所獲得的結果. 3.2.2 時序影像差值計算法(Temporal Differencing Method). 上一小節的背景影像相減法只能過濾出畫面中有明確發票的圖像,卻沒辦法 過濾出因移動而造成失焦的畫面,若利用移動的物件前後影像不同的特性,採用 時序影像相減法[8]則可以進一步解決這個問題。當前影像與前一張影像的相減 得到 dk-1 ,如式(3.4)所示,由於在快速移動中的發票會擷取不到邊緣,導致前後 30.

(42) 兩張圖像的邊緣特徵因而遺失,如圖 3-7 所示,所以不能使用邊緣特徵做為時序 影像相減法的輸入。 d k −1 ( x, y ) = f k ( x, y ) − f k −1 ( x, y ). (3.4). 圖 3-7 移動中的發票圖像與其擷取邊緣特徵後的圖像 由於兩相鄰取像時刻之間的時間間隔相當短暫,時序影像相減法因此受環境 光線變化影響較小。在此我們將光線可能變化的範圍設為一個臨界值 Td,讓圖 像不會因為光線很微小的改變,就對畫面產生影響。令 maskk-1(x,y)是移動物的 遮罩,如式(3.5)所示,如果 dk-1(x,y)大於 Td,代表該像素是屬於移動的部份,此 時我們將 maskk-1(x,y)設為 1;若 dk-1(x,y)小於或等於 Td,則代表該像素所受光線 影響的變動較小,屬於靜止或是平滑區的一部份, 我們將 maskk-1(x,y)設為 0。 根據上述原理,我們可以利用靜止中的圖像,其整張圖 maskk-1 為 0 的特性,進 一步將失焦的圖片過濾並捨棄之。圖 3-8 所示,為移動中的發票經時序影像差值 計算後,所獲得的結果範例。 ⎧1..if .d k −1 ( x, y ) > Td mask k −1 ( x, y ) = ⎨ ⎩ 0....otherwise......... 31. (3.5).

(43) 圖 3-8 時序影像差值計算法所獲得的結果. 3.2.3 背景差與前景差混合偵測法. 結合背景影像相減法與時序影像差值計算法[10,49],便可以有效偵測出當前 影像是否存在一張符合條件的發票。在這裡目標物分為背景(“X”符號與土黃色靜 態平面)和發票本身兩種,目標物是發票的條件為數字碼在視窗中心區域且是非 模糊的圖片;其他區域則為圖片的背景。圖 3-9 為本論文所提出的針對此兩種目 標物,它們如何被偵測出來的流程圖。. 32.

參考文獻

相關文件

D.Wilcox, “A hidden Markov model framework for video segmentation using audio and image features,” in Proceedings of the 1998 IEEE Internation Conference on Acoustics, Speech,

[16] Goto, M., “A Robust Predominant-F0 Estimation Method for Real-time Detection of Melody and Bass Lines in CD Recordings,” Proceedings of the 2000 IEEE International Conference

Jones, "Rapid Object Detection Using a Boosted Cascade of Simple Features," IEEE Computer Society Conference on Computer Vision and Pattern Recognition,

Harma, “Automatic identification of bird species based on sinusoidal modeling of syllables,” in Proceedings of IEEE International Conference on Acoustics, Speech,

Kalker, “Speed-Change Resistant Audio Fingerprinting Using Auto-Correlation,” in IEEE International Conference on Acoustics, Speech, and Signal Processing, vol. Kalker,

Plumbley, “Beat Tracking with a Two State Model,” IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP 2005), vol. Honing, “Computational

(1996), “Real-time recognition of activity using temporal templates,” Proceedings IEEE Computer Society Workshop on Computer vision, Sarasota Florida 96. (1998), “ A

Sun, “The Application of Role-Based Access Control in Workflow Management Systems”, Proceedings of IEEE International Conference on System, Man and Cybemetics, vol.6, pp.