基於智慧型手機之自動偵測贓車系統
全文
(2) 摘要 對於層出不窮的汽機車偷竊案件已成現今重要的議題,警方也針對這些議題 提出了相關處理辦法,為了使警方能更有效率及便利性來偵辦失竊問題,本研究 提出基於影像處理及電腦視覺技術的自動贓車偵測系統,其結合了智慧型手機應 用、車牌辨識系統以及智慧查詢贓車資料庫等等,這將改善警方目前以人力手動 輸入車牌號碼的方式,減輕人力的負擔及減少操作時的疏失,並結合現有網路系 統,提供即時更新的能力。 本研究利用搭載 Android 系統的智慧型手機取代利用行動電腦手動輸入車牌 的方式,由於現在的智慧型手機相當地普及且方便又多功能,使用者不須再手動 一台一台輸入車牌號碼,只需要將手機掃過停在停車場的靜態汽機車車牌,便能 將所擷取到的影像透過無線網路傳回伺服器端做贓車偵測。伺服器端首先對傳來 的影像進行車牌辨識,接著再利用具有容錯功能的智慧查詢系統進行贓車資料庫 的比對,此智慧查詢系統是基於馬可夫編輯距離計算出與車牌辨識結果最相似的 贓車號碼,經使用者確認兩者號碼相符後,再將贓車資訊包含贓車影像、贓車號 碼、時間、地點以及贓車所在地之 Google Map 傳送至偵辦中心以利警員處理。 本研究是架構於 Model-View-Controller(MVC)的設計模式上,使整個系統 更有效率與效能,除此之外民眾也可以從 Google Play 商店免費下載本研究之 APP, 達到全民抓贓車之精神。. 關鍵字:自動贓車偵測系統、智慧型手機、Android、車牌辨識系統、馬可夫編輯 距離、MVC model。.
(3) Abstract Stolen vehicle detection has become an important task for police officers in many countries. In order to make investigating and seizing the stolen vehicles more convenient and efficient, we propose a smartphone-based automatic stolen vehicle detection system based on image processing and computer vision technologies, combining with license plate recognition (LPR) and fault-tolerant retrieval techniques. The proposed system will improve efficiency of investigation and reduce the burden of human operation. In this study, we utilize the smartphone equipped with Android operating system instead of personal digital assistant (PDA) because the smartphones are more and more popular and powerful. We just scan and capture images of the static vehicles on the roadside by using cell phone camera instead of manually inputting the license numbers one by one. Next, the captured images are sending to the server via wireless network, and then the license plate numbers can be obtained based on the LPR procedure. After finishing this procedure, the system will use the fault-tolerant retrieval technique based on Markov edit distance to retrieve the license numbers of stolen vehicles in database even though the LPR result are imperfect. Finally, the server will send the stolen vehicle information to the smartphone for user confirmation. If the matching is correct, the user can press “Confirm” button to send the image, license number, time, location.
(4) and Google Map to the police center. The proposed system is developed based on Model-View-Controller (MVC) design pattern. It will make system more efficiency and better performance. In addition, people can download the APP to help the police with stolen vehicle detection.. Keywords: automatic stolen vehicle detection system, smartphone, license plate recognition, Markov edit distance, MVC model..
(5) 誌謝 本論文的完成首先要感謝我的指導老師梁祐銘教授以及陳世旺教授,在我求 學過程中老師們細心的教誨以及督促,讓我的研究可以更具方向性,除此之外我 能學習到各種不同的專業知識,非常充實。在口試期間也特別感謝吳炳飛教授仔 細地叮嚀與建議,使我受益良多。 再來感謝跟我一起奮鬥的好夥伴胡碩宸、林育誠以及呂佳儒,再苦悶的生活 有你們一起打拼就不會這麼累了,也非常高興我們一起嚐到最後甜美的果實。接 著還要謝謝 IPCV 實驗室學弟妹在口試期間分擔工作以及許之凡學長、王俊明學 長還有李俊億學長在我課業與論文上的幫忙,也謝謝徐瑋鴻同學協助我實驗影片 的拍攝。除此之外亦要感謝我大學同學郭彥佑、劉于誠及黃渝新同學在我程式上 的解惑及幫助,有你們便能使我進度突飛猛進,問題迎刃而解。 最後要感謝是我的家人,尤其是爸爸媽媽,謝謝你們能讓我無憂無慮,專心 面對課業好好奮鬥。要感謝的人實在太多了,有你們大家真好,在這些日子所面 對到的人事物,無論好壞,皆能銘記在我心。. 石翊辰 2013/07/12.
(6) 目錄 第一章 1.1 1.2. 簡介............................................................................................................. 1 研究背景與目的......................................................................................... 1 文獻探討..................................................................................................... 7 1.2.1 車牌定位的文獻探討..................................................................... 7 1.2.2 字元辨識的文獻探討..................................................................... 8 1.2.3 字串比對文獻探討......................................................................... 9. 第二章 2.1 2.2 第三章 3.1. 系統架構與流程 ..................................................................................... 10 系統架構................................................................................................... 10 系統流程................................................................................................... 11 系統方法與實作....................................................................................... 14 視圖(View) .......................................................................................... 15. 3.2 3.3 第四章 4.1. 控制器(Controller) ............................................................................. 23 模型(Model) ........................................................................................ 26 車牌辨識系統........................................................................................... 27 車牌定位系統........................................................................................... 28. 4.1.1 色彩邊緣偵測............................................................................... 30 4.1.2 模糊地圖....................................................................................... 31 4.1.3 模糊聚合....................................................................................... 34 4.2 字元辨識系統........................................................................................... 35 4.2.1 基本概念....................................................................................... 35 4.2.2 光學字元辨識............................................................................... 38 第五章 智慧查詢車牌資料庫............................................................................... 48 5.1 車牌的編輯距離....................................................................................... 48 5.2 馬可夫編輯距離....................................................................................... 58 第六章 6.1 6.2 6.3. 實驗結果................................................................................................... 67 作業環境................................................................................................... 67 系統測試實驗........................................................................................... 67 贓車偵測實驗結果................................................................................... 72 6.3.1 設定閥值....................................................................................... 72 6.3.2 贓車偵測命中率........................................................................... 74 6.4 實驗比較................................................................................................... 76 第七章 結論........................................................................................................... 78 7.1 系統總結................................................................................................... 78 7.2 未來工作................................................................................................... 79 參考文獻....................................................................................................................... 80 I.
(7) 圖目錄 圖 1-1、警政署車輛盜竊案資料查詢網站(來源:內政部警政署) ......... 2 圖 1-2、警用手持式電腦 M-police(來源:政府機關資訊通報) ............. 3 圖 1-3、歷年全球智慧型手機銷售統計(來源:StreamComputing)........ 4 圖 1-4、全球手機作業系統市占率(來源: wikipedia) ............................ 5 圖 2-1、系統架構示意圖 ............................................................................ 11 圖 2-2、系統流程圖 .................................................................................... 13 圖 2-3、HTC Incredible S ............................................................................ 13 圖 3-1、MVC 模式圖(來源:Rachel Appel) ........................................... 15 圖 3-2、手機預覽模式 ................................................................................ 16 圖 3-3、一個行程含有兩個執行緒的執行示意圖(來源:wikipedia) ... 16 圖 3-4、執行緒存取佇列示意圖(來源:Jenkov.com) ............................ 18 圖 3-5、使用者判斷贓車資訊是否相符 .................................................... 19 圖 3-6、AlertDialog 呈現示意圖 ................................................................ 19 圖 3-7、贓車相關資訊呈現 ........................................................................ 21 圖 3-8、GCM 的基本流程(來源: HKCERT) ........................................ 22 圖 3-9、Java EE 軟體架構圖(來源:oracle.com)................................. 24 圖 3-10、控制器基於 Tomcat 容器與 Servlet 之系統流程圖 ................... 26 圖 4-1、車牌辨識系統流程圖 .................................................................... 28 圖 4-2、車牌定位流程圖 ............................................................................ 29 圖 4-3、字元辨識流程圖 ............................................................................ 36 圖 4-4、文字節點類型 ................................................................................ 39 圖 4-5、Kohonen SO 神經模型 .................................................................. 40 圖 4-6、SO 階層:(a) 0 個洞 (b) 1 個洞 (c) 2 個洞................ 42 圖 4-7、SO 字元辨識範例 .......................................................................... 43 圖 4-8、彈簧模型 ........................................................................................ 44 圖 4-9、一些外型轉換之中間過程(a) 第一次迭代 (b) 第五次迭代 (c) 第 10 次迭代 (d) 第 42 次迭代 ......................................... 46 圖 4-10、相似字元之特徵區塊 .................................................................. 47 圖 5-1、車牌“BAT803”與“AT8003”的編輯距離為 0.42 .................. 56 圖 5-2、“ATB*03”與“ATB003”的編輯距離 .............................................. 58 圖 5-3、動態規劃的狀態 ............................................................................ 58 圖 5-4、F 的鄰居系統 ................................................................................. 60 圖 5-5、未考慮子字串的洗牌關係之編輯距離 ........................................ 63 圖 5-6、 D(" ABCDE "," RDBCF ") 1.26 ....................................................... 64 圖 5-7、 DrM (" ABCDE "," RDBCF ") 1.11 .................................................... 64 II.
(8) 圖 5-8、 D(" ABCDE "," RDBCF ") 1.26 ....................................................... 66 圖 5-9、 DrM (" ABCDE "," RDBCF ") 1.11 .................................................... 66 圖 5-10、 DcM (" ABCDE "," RDBCF ") 0.87 ................................................. 66 圖 6-1、手機擷取之影像(一) ................................................................ 68 圖 6-2、車牌辨識結果為:ASG602(無誤) .......................................... 68 圖 6-3、手機擷取之影像(二) ................................................................ 68 圖 6-4、車牌辨識結果為:HYH121(字元辨識錯誤).......................... 69 圖 6-5、手機擷取之影像(三) ................................................................ 69 圖 6-6、車牌辨識結果為:3R619(字元缺失)...................................... 69 圖 6-7、提供使用者肉眼判斷之介面 ........................................................ 70 圖 6-8、其他贓車相關資訊 ........................................................................ 71 圖 6-9、偵辦中心所收到的贓車資訊 ........................................................ 72 圖 6-10、設定閥值 ...................................................................................... 74. III.
(9) 表目錄 表 1-1、汽機車竊盜案統計(來源:內政部警政署) ................................. 1 表 1-2、智慧型手機與 M-police 比較.......................................................... 4 表 3-1、各種 Java EE 伺服器比較 ............................................................. 25 表 4-1、台灣常見的車牌類型 .................................................................... 29 表 5-1、車牌字元樣板 ................................................................................ 51 表 5-2(a)、replace 字元的代價(0~9) .................................................. 52 表 5-2(b)、replace 字元的代價(A~M) ............................................... 53 表 5-2(c)、replace 字元的代價(N~Z) ................................................ 54 表 5-3、insert 與 delete 字元的代價 ........................................................... 55 表 5-4、資料庫中與“ATB03”最接近的二十筆車牌 ............................. 57 表 5-5、字串“CDE”與“DBC”之間所有參與比對的子字串 ............ 65 表 6-1、陰天環境下的贓車命中率 ............................................................ 75 表 6-2、晴天環境下的贓車命中率 ............................................................ 75 表 6-3、自動贓車偵測系統比較 ................................................................ 77. IV.
(10) 第一章 簡介. 1.1 研究背景與目的 隨著時代進步與經濟發展,民眾消費力提升,在交通方面對於汽機車的 需求量也隨之提高,現今汽機車已是普羅大眾的代步工具了,也是民眾的重 要資產,然而這些汽機車的普及也伴隨著被偷竊的問題。根據內政部警政署 統計,歷年皆有汽機車遭竊的案例(表 1-1) ,這之中還不包括未申請的案件, 根據統計顯示,機車竊盜數目皆大於汽車竊盜數,故機車竊盜佔大多數。. 表 1-1、汽機車竊盜案統計(來源:內政部警政署). 現今警方在查緝贓車方式可分為三種: (一) 民眾可以透過警政署提供的網頁做查詢(圖 1-1),若發現贓車即可就近 向分駐所、派出所通報舉發,運用民間力量來共同查緝汽機車竊盜,然 而這方法往往只能算是輔助警方。 1.
(11) 圖 1-1、警政署車輛盜竊案資料查詢網站(來源:內政部警政署). (二) 在路口設置閘道臨檢,針對過往的車輛進行盤檢,或在全國各縣市重要路口 與交通流量大的要道建置車牌辨識系統,用以比對內政部警政署失(贓)車 與通緝車資料庫,優點是對於即時或重大刑事案件能有效幫助,但往往這些 只能針對動態車輛以及重點道路進行查緝,對於靜態車輛或非重點地區便無 法妥善追查。 (三 ) 警員每人配置一台 PDA(Personal Digital Assistant)手持式電腦,如行動警 察 M-police(圖 1-2),針對停放在路邊靜態的車輛,逐一輸入車牌號碼,再 與資料庫的贓車號碼比對。然而這方法有些缺點,其一是耗時間於持續輸入 車牌號碼,且手持式電腦按鍵比較小,長時間的操作容易導致使用者疲累以 及輸入錯誤而導致誤判的風險會提高。 2.
(12) 圖 1-2、警用手持式電腦 M-police(來源:政府機關資訊通報). 綜合以上缺點,本研究提出更方便且有效率的方法來查緝贓車,近年來由於 CPU 的進步、硬體體積的縮小化,以及行動網路的發展,使得智慧型手機 (Smartphone)掀起一片熱潮(圖 1-3),從 2005 年至 2008 年是智慧型手機的起 步階段,而 2009 年到 2012 年可說是爆炸性的成長,經統計在 2009 年智慧型手 機全球出貨量成長了 27.9%達到 1.82 億支,後續 2010 年出貨量約為 2.97 億支以 及 2011 年的 4.68 億支,如今到 2012 年的統計已經輕鬆超越了 6 億支大關,由此 可見隨著產品價格下降,未來智慧型手機的市占率以及重要性越來越高,而且智 慧型手機的功能更是不在話下,像是具備高像素攝影機、高畫素的感光元件及高 倍數的光學變焦鏡頭,使得拍攝到的畫面清楚不易模糊,可提高辨識率,故在這 種種的因素下,本研究以智慧型手機作為使用者端(Client)的開發,表 1-2 歸納 出智慧型手機以及 M-police 的比較。 3.
(13) 圖 1-3、歷年全球智慧型手機銷售統計(來源:StreamComputing) 表 1-2、智慧型手機與 M-police 比較 智慧型手機. M-police. 外型. 小且輕薄. 大且略重. 行動網路. 內建 3G/3.5G. 內建 3G/3.5G. GPS 衛星定位. 有. 有. 攝影機. 有. 有. 通話功能. 有. 有. 單台價格. 約新台幣 2 萬多. 約新台幣 4 萬多. 贓車偵測方式. 自動擷取影像偵測. 手動輸入車號偵測. 4.
(14) 現今智慧型手機在手持式行動作業平台分佈上以 Google 基於 Linux 核心的 Android 作業系統以及 Apple Darwin 推出的 iOS 作業系統為龍頭(圖 1-4),由圖 可知,2012 年 Q4 這兩種作業系統市占率就達到了 92%,其中 Android 作業系統 占了 69%,而其他作業系統諸如 BlackBerry OS、Symbian、Bada OS、微軟(Microsoft) 的 Windows Phone 以及最新推出的 Firefox OS 等等市占率相對的較低。Android 之所以會迅速竄紅原因於在它是開放原始碼與完整的 Software Development Kit (SDK) ,並提供跨平台的開發環境(Mac、Linux、Windows)以及模擬器(Android Virtual Devices)供使用者開發,未來預估 Android 作業系統還會有所成長,此重 要性不容小覷,所以本研究使用者端選擇在目前熱門的 Android 作業系統上開發, 民眾也可以免費下載此 APP 一起來查緝贓車。. 圖 1-4、全球手機作業系統市占率(來源: wikipedia) 5.
(15) 直至最近幾年網路蓬勃發展,已是不可或缺的工具之一,它提供了即時且高 容量的傳輸,在網路技術進步以及異業合作之下,行動網路從以往的 2G/2.5G (GPRS)演變至今的 3G 通用移動通訊系統(Universal Mobile Telecommunications System)或是 3.5G 高速下行封包接入(High Speed Downlink Packet Access),甚 至未來若政府推動 4G Long Term Evolution (LTE) ,行動網路將更趨向穩定且快 速。除此之外,基地台涵蓋率的增加將使得無線網路(Wireless Network)也快速 發展,使用者只須將手機連續擷取到的圖片透過網路傳輸到伺服器端做處理,包 括車牌辨識系統以及具容錯功能的字串比對方法來搜尋贓車資料庫,最後再使用 Google Map API(Application Programming Interface)結合手機上的 GPS(Global Position System)定位技術,把贓車的地理環境以及其他詳細的贓車資訊提供給 警方來追查贓車下落。 整個研究實作了三層架構模式中的 Model-View-Controller(MVC) model[Ree 09],並且運用到雲端運算(Cloud Computing)的概念。隨著電腦運算能力以及 網路的發達,使得雲端運算也備受注視,早在 2006 年由亞馬遜(Amazon)所推 出雲端服務軟體技術,是為了因應網路購物平台,隔年 Google 以及 IBM 也向世 界各大學校推行雲端運算概念,而學生可以透過網路開發各項大規模運算為基礎 的程式,由此可見雲端運算已為現今趨勢。雲端的好處很多,除了可以解決跨平 台的問題,也可降低成本,使用者不必使用昂貴且耗能的儀器或是電腦來執行應 6.
(16) 用程式,大多的程式都能透過網路連結伺服器(雲)來進行運算處理,最後還能 改善效能。由於計算是在雲端上執行,可以讓使用者的電腦設備負載降低,藉由 雲端強大的計算能力使用者可以快速得到計算結果,因此透過雲端概念,本研究 在查緝贓車的方面,有了更完善更有效率的幫助,可提高贓車破案率。. 1.2 文獻探討 近年來手機與網路蓬勃發展,利用這兩種工具來開發的贓車偵測系統也越來 越多,目前國內有許多相關研究,例如[Lai 11]以智慧型手機具備的可攜性以及類 似個人電腦的資訊處理能力當作是使用者端,並實作一個贓車查緝系統。[Zhe 11] 也是利用搭配 Android 的手機作為前端,並經由 WeOCR 辨識系統[Ref 01]識出車 牌號碼後,再把號碼透過警政署贓車查詢系統來偵測是否為贓車,諸如此類的系 統發展也越來越多,越來越受重視。 本研究使用者端部分也是因智慧型手機的多功能性和便利性來做開發,至於 伺服器端的部分,主要有兩個任務,第一是以應用電腦視覺技術的車牌辨識系統, 而這部份又可細分為車牌定位以及字元辨識,接續的兩小節會提出相關的文獻探 討。第二部分是智慧查詢贓車資料庫,所具備的容錯功能是基於馬可夫編輯距離 計算方式來取決於最佳的結果,相關文獻會在本章最後一小節提出。. 1.2.1. 車牌定位的文獻探討. 目前大部分車牌定位的方法是基於車牌形狀與特徵,在影像中尋找這些特性 的位置,找到的位置我們便可視為候選區域,之後再進一步分析是否為車牌,例 7.
(17) 如[Zhe 05]利用 Sobel 邊緣偵測的影像處理技術,先對原影像處理過後找出邊界部 分,再移除背景以及雜訊邊緣,最後再利用到四邊形 window 去尋找出可能的車 牌位置。[Guo 08]的研究也是對影像作邊緣偵測後,再利用 Hough transform 計算 這些 edge 所構成的直線方程式,在得到所有的直線方程式後,便可知道影像中是 否有兩條平行線所構成的區塊,再把這區塊視為候選區塊,最後再利用文字辨識 技術分析是否為車牌。上述方法是尋找車牌區塊邊界,我們亦可利用車牌上的特 徵尋找車牌位置,以[Qin 06]的研究得知,車牌內文字部分會產生許多 corner,也 就是邊緣的轉折處,而這些 corner 會密集分佈在車牌區塊內,故先對原影像作 corner detection 之後,在找出一些 corner 密集的所在區塊,以判斷是否為車牌。 除了以 corner 當作特徵外,[Zha 06]研究以 haar-like 的遮罩來計算出影像中這一 類的特徵點,遮罩大小可依據車牌樣式決定,最後再配合 Adaboost 分類器決定這 些特徵點是否為車牌的特徵。. 1.2.2. 字元辨識的文獻探討. 經過車牌定位的過程後,接著是要對車牌進行字元辨識,大致上可分為兩種, 其一是利用分類器(Classifiers)做分類,首先找出大量的車牌影像,從中切割出 文字影像當作訓練樣本,分類方法可以用 Support Vector Machine (SVM)或是 [Gao 07]所用的類神經網路系統,最後便可辨識出字元。另一種方法是樣板比對 法(Template match) ,例如[Tan 05],主要作法第一步驟是要建立標準字元圖庫, 以其作為樣版,並將欲比對的字元,縮放至跟樣板大小相同,以點對點方式做比 8.
(18) 對,從字元圖庫中找出最相似的字元樣版即為該辨識結果。. 1.2.3. 字串比對文獻探討. 字串比對已經是非常重要且基本的議題,以本研究來說,經過車牌辨識系統 出來的結果要與資料庫車牌號碼作比對,這當中的字串比對,必須要具備容錯的 功能,主要是因為車牌辨識系統的結果並非完美,如果沒有容錯功能,可能會導 致應找到而未找到的可能性,故我們利用字串之間的編輯距離(edit distance)來 代表字串間的相似程度。傳統上,編輯距離代表的是將一個字串編輯為另一個字 串所需的最小編輯動作數,而編輯動作包含『插入字元(insert)』,『刪除字元 (delete)』 , 『取代字元(replace)』三種動作,然而傳統的方法是每一個編輯動作 之編輯代價均為 1,故傳統的編輯距離真正所代表的是兩字串間結構上的差異[Gar 03],而非兩字串間真正的相似程度。 因此我們必須重新自訂字元間編輯動作所需的代價,可依照字元形狀、輪廓 比對時要考慮的線段長度與方向[Tsa 85]來定義,當定義好後,計算字串之間差異 最常用的是動態規劃(Dynamic Programming),而動態規劃表格中字串的轉換過 程,可以視為一個馬可夫隨機場[Wei 04],並依據特定性質定義的派系(Clique) 能量函數,計算出該特性的編輯距離,如此便能反映出兩字串之間的編輯距離 了。. 9.
(19) 第二章 系統架構與流程. 本章節首先介紹本研究『基於智慧型手機之自動贓車偵測系統』的架構,接 著再介紹本研究系統流程。. 2.1 系統架構 本研究的系統架構,主要是結合了攝影機、無線網路通訊、車牌辨識系統、 不完整內容檢索技術以及衛星定位技術,使用者利用現今熱門且多功能的智慧型 手機拍攝路邊靜態的汽機車,只要按下『Start』鍵後,手機便會開始自動做連續 拍照的動作。使用者只需將手機鏡頭掃過停在路邊的汽機車牌照即可,有別以往 需要人工手動一台接著一台地輸入車牌號碼,如此便能大幅降低作業時間及使用 者疲勞程度,接著再運用雲端服務的概念,將剛剛使用者擷取到的畫面透過無線 網路傳輸傳送到伺服器端進行車牌辨識與贓車資料庫比對,若在贓車資料庫中比 對到符合的贓車號碼後,手機便會發出警示音及震動來告知使用者進行人工最後 的判斷,以降低誤判率。若資料完全符合時,便會將拍攝時間、地點、拍攝照片 以及贓車車號傳給員警以利辦案,整個架構示意圖如圖 2-1 所示。. 10.
(20) 圖 2-1、系統架構示意圖. 2.2 系統流程 圖 2-2 顯示本研究的系統流程圖,首先本系統開發所使用的智慧型手機為搭 配 Android 作業系統 HTC Incredible S(圖 2-3) ,使用者按下『Start』鍵之後,系 統會將擷取到的車牌影像(Capture the image)依據超文本傳輸協定(HyperText Transfer Protocol)透過網路傳輸(Send the image)到伺服器端(Server) ,接著伺 服器電腦便會透過 Web 容器選擇對應的 Servlet,並利用該 Servlet(Using servlet to service request)進行車牌辨識(Vehicle license plate number recognition),經過影 像處理及電腦視覺技術所計算出來的最後結果便是該圖片的車牌號碼,然而由於 辨識結果並非完美,可能會發生字元辨識錯誤或是缺字的情況,此時再利用不完 整內容檢索技術來智慧查尋(Matching the numbers)贓車資料庫(Stolen vehicle 11.
(21) plate numbers)裡所有的贓車車牌號碼,若在這當中發生車牌辨識結果與贓車車 牌號碼比對結果之值符合閥值(Threshold)範圍以內時(Whether the stolen vehicle or not),手機便會發出警示音及震動來提醒使用者注意,並等待使用者進行人工 最後的判斷(Whether the correct number according to user),以降低誤判率。如果 是誤判,使用者便可按下『Continue』鍵繼續偵測;反之,按下『確認』鍵,系 統便會利用手機內建 GPS/AGPS 衛星定位技術得知贓車位置,並且結合 Google Map,讓員警更能精確明瞭掌握到地理位置,除此之外,上述的贓車地理資訊跟 拍攝時間、贓車圖片以及贓車車牌號碼全部亦是用網路傳送到相關處理單位 (Send the image, license number, time, location, and Google Map to the center)。. 12.
(22) 圖 2-2、系統流程圖. 圖 2-3、HTC Incredible S. 13.
(23) 第三章 系統方法與實作. 軟體設計是思維具體化的一種方式,當中會思考到如何處理問題,進而找出 答案與方法並且累積經驗。然而相似的經驗可能會一再出現,只是應用層面不同, 所以我們可以把這些類似的經驗稱為『模式(Pattern)』 ,也就是說設計模式(Design Pattern)是在解決問題過程中,一些良好思路以及經驗的集成,故若是一個系統 基於適合的設計模式之上做開發,其效率與效能也會相對的提高,因此本研究『基 於智慧型手機之自動贓車偵測系統』便架構於 MVC 設計模式之上。MVC 模式(圖 3-1)是由全錄帕羅奧多研究中心(Xerox PARC)在 20 世紀 80 年代為程式語言 Smalltalk 發明的一種軟體設計模式,運用其設計模式主要目的是利於本研究開發 以及增強程式的可維護性與效率。除此之外,此模式透過對複雜度的簡化,使程 式結構更加直覺,故整個系統可以依照 MVC 模式分成三大核心元件來看,每一 個邏輯元件都有各自的任務且彼此之間關聯性低,因此若更改其中之一元件,其 餘元件並不會受到影響,如此一來便能實現開發中的分工,在接下來的每個小節 裡面會分別介紹這些邏輯元件的實作方法。. 14.
(24) 圖 3-1、MVC 模式圖(來源:Rachel Appel). 3.1 視圖(View) 關於視圖的部分,顧名思義就是使用者可以透過顯示層 User Interface(UI) 介面做溝通,所有使用者請求與結果皆由視圖來呈現與處理,而本研究是基於智 慧型手機進行開發,故視圖的部分便是利用搭配 Android 作業系統的智慧型手機。 使用者開啟本研究的 APP 後,手機便會自動開啟相機並呈現預覽模式(圖 3-2), 接著按下『Start』鍵後手機便開始執行連續拍照並傳送圖片的動作,本研究是利 用執行緒(Thread)的概念去執行工作任務。行程(Process)中一段程式碼(或 者說是指令)的執行軌跡(trace)便稱為執行緒,是電腦中最小的執行單位,且 作業系統會配置每一個執行緒一部份的中央處理器(CPU)暫存器(register)空 間以及執行指令過程中相關資料所需存取的記憶體空間,然而執行緒是在行程上 15.
(25) 以時間作為分割來執行多種事件的方式,亦即同一時間只能執行一個執行緒,但 執行緒快速在不同事件中切換執行,由於時間間格很小,會讓我們看似同時進行 多個執行緒(圖 3-3)。. 圖 3-2、手機預覽模式. 圖 3-3、一個行程含有兩個執行緒的執行示意圖(來源:wikipedia) 16.
(26) 依工作任務可分為兩種不同工作內容(事件)的執行緒: (一) 拍照執行緒:每當手機要開始拍一張照片時即會啟動一個執行緒(Thread) 來處理拍照時必要的工作,其中包括將圖片檔案轉換成 Byte 矩陣以利傳送, 轉換完畢後便將 Byte 矩陣存入佇列(Queue)裡等待執行傳送任務的執行緒 來取出(圖 3-4) ,若佇列空間已滿便停住(Blocked)存入資料,而當此執行 緒執行完上述的工作後,生命週期(Lifecycle)便來到結束(Dead)的狀態, 此時 Java Virtual Machine(JVM)裡的 Garbage Collection(GC)功能便回收 此執行緒的記憶體,以減輕記憶體的負擔,以上動作會一直重複直到使用者 關閉此 APP 或是按下『Pause』鍵。 (二) 傳送執行緒:生命週期與流程都跟上述的拍照執行緒相同,不同之處只在於 工作內容而已,當負責傳送任務的執行緒發現佇列不為空便開始取出圖檔資 料(圖 3-4)做傳輸,而此傳輸是透過網路並且遵循 HTTP 通訊協定,如此 一來,使用者端便是發出了請求(Request) ,要求伺服器端(Server)進行處 理。 利用執行緒的概念可以使得系統更有效率,不會因為等待而浪費時間,避免出現 Application Not Responding(ANR)強制關閉此 APP 的情況發生。. 17.
(27) 圖 3-4、執行緒存取佇列示意圖(來源:Jenkov.com). 然而伺服器端的車牌辨識系統之辨識結果不一定百分之百正確,故本研究加 入使用者再確認的機制,倘若伺服器在處理過程中發現疑似有贓車的存在,伺服 器端會發出請求到使用者端,此請求內容包含了利用 JavaScript Object Notation (JSON)輕量級交換語言格式所包裝的贓車圖片資訊以及贓車車牌號碼,透過網 路傳送至使用者端。 此時手機便會自動暫停偵測,所有上述的拍照、傳送任務之執行緒都變成停 住的狀態,唯獨主執行緒(Main-Thread)例外,主執行緒是讓一支 APP 程式運 作的執行緒,此時主執行緒會產生一個新的執行緒來呈現 AlertDialog,其目的是 為了避免主執行緒處理繁瑣的工作而導致 ANR 發生,而 AlertDialog 內容就是伺 服器端傳送過來的 JSON 所解析出來的贓車車牌號碼和贓車圖片,提供使用者肉 眼來判斷是否相符(圖 3-5) ,當 AlertDialog 準備完畢時,便會發送訊息(Message) 通知 Android 的 Handler 工具來呈現 AlertDialog 畫面給使用者,整個 AlertDialog 呈現流程如圖 3-6 所示。 18.
(28) 圖 3-5、使用者判斷贓車資訊是否相符. 圖 3-6、AlertDialog 呈現示意圖. 由圖 3-5 可知,使用者會有兩種選項: (一) 『Continue』 :此種情況即為贓車圖片與贓車號碼不相符,代表圖片在車牌辨 識系統辨識過後的結果與圖片中車牌真正的號碼不同,但又剛好贓車資料庫 恰巧有一筆贓車號碼與誤判的結果相同,甚至是相近,才會導致這種情況發 19.
(29) 生。使用者按下『Continue』鍵之後,系統會恢復拍照與傳送工作的執行緒 繼續偵測。 (二) 『Confirm』:經過使用者肉眼判斷確實相符後按下『Confirm』鍵,Android 系統利用 Intent 工具從 AlertDialog 畫面切換至另一個顯示此贓車相關的訊息 畫面,裡面包含了利用衛星定位技術所定位出來的經緯度、Google Map 以及 拍攝時間(圖 3-7),其中 Google Map 的開發是使用 Google Map API 與 MapView 元件所撰寫出來,而 Google Map API 的作用是將 Google Map 服務 器上的地圖圖片以及數據資料包含地標點、劃線等等內嵌到使用者端的應用 程式上,開發者只要向 Google 申請私人開發金鑰便能開始利用 Google 所提 供的服務做開發,Google Map 中圖釘即為贓車所在位置,如圖 3-7 所示。最 後以上資訊再加上贓車圖片和贓車車牌號碼一併傳送到處理中心,提供給員 警調查處理,發送後一樣是恢復拍照與傳送工作的執行緒繼續偵測。. 20.
(30) 圖 3-7、贓車相關資訊呈現. 假設今天並非只有單一使用者在使用本系統查緝贓車,此時伺服器端發現疑 似贓車的存在,則伺服器該如何把贓車訊息推送到正確的使用者端上,要解決這 個問題有多種方法可以使用,例如 eXtensible Messaging and Presence Protocol (XMPP)、Message Queue Telemetry Transport(MQTT)以及 Google cloud Messaging(GCM)等等,這些多種的通訊協定都可以幫助我們把資料傳送至正 確對應的使用者,但以 XMPP 來說,它是以 eXtensible Markup Language(XML) 為基礎的通訊協定,目前主要應用在許多聊天系統中,其缺點為協議較複雜、冗 餘且佈署硬體成本較高。至於 MQTT 即為機器之間輕量級消息或數據的傳輸協議, 但是此協議不夠成熟且實現較為複雜,因此本研究是利用 GCM 來達成贓車資訊 傳送至正確對應使用者手機之目的。GCM 好處為簡單、訊息推送速度快以及由 21.
(31) 於是 Google 所提供的服務,所以無須實現以及佈署伺服器端,圖 3-8 顯示整個 GCM 推送訊息之過程。. 圖 3-8、GCM 的基本流程(來源: HKCERT). Google 所發佈的 GCM 前身是 Cloud to Device Messaging(C2DM) ,GCM 的 用處即為開發人員可透過該服務將伺服器中的資料傳送給 Android 應用程式使用, 而且這也是一項免費的服務,開發人員只要取得永久憑證(simple API 金鑰)即 可運用此服務。從圖 3-8 當中可以看出,當使用者開啟本研究 APP 時,系統便會 自動向 GCM 伺服器進行註冊動作,而 GCM 會根據用戶帳號分配一組登記編號 (Registration ID)給該使用者,接著當使用者請求於伺服器時便一併把登記編號 與用戶帳號傳送到伺服器端,在伺服器處理資料的過程中若有符合且完成使用者 22.
(32) 的需求下,便把資料數據以及登記編號再傳送至 GCM 伺服器中,最後 GCM 伺 服器再依據登記編號把資料數據發送到該名使用者上了,如此一來便能達到資料 給予正確對應的用戶的目的,解決多使用者(multi-client)之資料推送問題。. 3.2 控制器(Controller) 控制器接受使用者的輸入及調用模型(Model)處理,並將執行結果回應視 圖(View)去完成使用者的需求,也就是說控制器可以當作是視圖與模型的溝通 橋樑,它們不必親自相互去做存取。控制器只需接收使用者操作視圖的請求並決 定調用哪一個模型元件去做處理,模型再依據商業邏輯(Business Logic)做完處 理後把結果經由控制器再回傳給視圖介面做更新,如此一來三個核心元件互相獨 立,改變其中一個並不會影響其他兩個,故系統可以有好的維護性以及程式碼再 利用性(Code Reuse)。 本研究在控制器的方面是實作了 Servlet 的概念[Ref 02],Servlet 是指用 Java 編寫在伺服器中的程序,然而 Servlet 必須是由 Java Platform Enterprise Edition (Java EE)規範下的 Web 容器(container)所管理,其中 Java EE 是由昇陽(Sun) 公司所推出的企業級應用標準平台,除此之外,Java EE 代表的也是一種軟體架 構與設計思想,而 Java EE 軟體架構為如圖 3-9 所示。. 23.
(33) 圖 3-9、Java EE 軟體架構圖(來源:oracle.com). 符合 Java EE 規範下的容器有很多種,國際上許多大公司均有開發 Java EE 伺服器且包含不同類型的容器,例如 Redhat 公司所屬的 Jboss、甲骨文公司所屬 的 WebLogic 以及 Apache 軟體基金會所屬的 Tomcat 等等。每一種 Java EE 伺服器 都有它的功能以及用處(表 3-1),以 Jboss 來說,它的功能很多並且除了能處理 本研究會利用到的 Servlet 之 Web 容器之外還包括 Enterprise JavaBean(EJB)容 器,因此整體來說運行速度會變慢,至於 WebLogic 是三個 Java EE 伺服器當中最 穩定的一個,但由於本研究不會利用到 EJB 容器的部份且開發者需要付費,故我 們選擇了最適合本研究開發的 Tomcat 當作我們的 Web 容器,而 Tomcat 的額外的 優點是有擴展性以及安全性,現今也被廣泛運用在許多商用系統中,它提供了一 系列的物件管理,諸如生命週期管理,安全(Security)或甚至交易(Transaction) 24.
(34) 等服務,而 Apache Tomcat 本身也內含一個 HTTP 伺服器,它也可以被視作一個 單獨的 Web 伺服器,也含有一個配置管理工具,使用者可以通過編輯 XML 格式 的配置文件進行配置,環境設定常用的元素如主機名稱(Hostname) 、端口(Port)、 路徑(Path)、通訊協定(Protocol)等等配置好且開啟後,就可等待使用者端的 請求了。. 表 2-1、各種 Java EE 伺服器比較. 特性. 所包含的容器. Tomcat. Jboss. WebLogic. 輕量級且運行速. 重量級且運行速. 重量級且運行速. 度較快. 度較慢. 度較慢. Web 容器. Web 容器. Web 容器. EJB 容器. EJB 容器. 開放原始碼. 是. 是. 否. 收費與否. 否. 否. 是. 整個流程(圖 3-10)是當使用者對介面有了操作動作,此請求(Request)就 會從視圖元件發出,而控制器元件中的 Web container 由請求中的 URL(Uniform Resource Locator)決定出使用哪一個 Servlet 來處理(由開發人員事先定義好), 接著 Servlet 根據使用者請求資訊找出相對應的服務(Service)做邏輯運算處理, 25.
(35) 最後再把處理完畢的結果再經由控制器回應(Response)給視圖,並呈現給使用 者。. 圖 3-10、控制器基於 Tomcat 容器與 Servlet 之系統流程圖. 3.3 模型(Model) 模型的元件最主要是封裝商業邏輯相關資料與應用程式應有的功能,如實作 演算法或進行資料庫管理與設計。本研究模型元件包含『車牌辨識系統』及『不 完整內容檢索技術』兩大部分,會在以下兩個章節分別作介紹。. 26.
(36) 第四章 車牌辨識系統. 車牌辨識系統是參考張祥利學長的研究[Cha 09],而車牌辨識系統在許多應 用上扮演著重要的角色,但是這些應用往往必須在限制的條件下運行,例如固定 的光源、固定的車輛速度或是固定的背景,在本研究當中,我們盡可能少遷就於 工作環境之限制。本車牌辨識系統主要可分成兩大部分,第一部分為車牌定位系 統,主要是利用模糊理論之技術從影像中找出車牌的候選區塊;第二部分為字元 辨識系統,其概念是利用類神經網路對於車牌候選區塊辨識出其字元。整個系統 流程如圖 4-1 所示。. 27.
(37) 圖 4-1、車牌辨識系統流程圖. 4.1 車牌定位系統 車牌定位系統的流程圖如圖 4-2 所示,系統首先針對輸入進來的影像之 RGB 色彩影像,利用色彩邊緣偵測(color edge detection)計算出邊緣地圖(edge map), 此邊緣偵測只會偵測三種色彩邊緣:黑白、紅白以及綠白,這也對應到目前常見 的車牌種類(表 4-1) ,接著忽略掉其他種類的邊緣,但由於背景可能會過於雜亂, 因此會保留一些跟車牌邊緣無關的邊緣,我們將此邊緣地圖稱之為 E。. 28.
(38) 圖 4-2、車牌定位流程圖 表 3-1、台灣常見的車牌類型 車牌底色. 文字顏色. 白色. 黑色. 綠色. 白色. 紅色. 白色. 白色. 紅色. 圖例. 29.
(39) 接著,將 RGB 色彩影像轉換至 HSI 色彩模型影像,主要原因是因為在此色 彩空間中有一些特徵是利於本研究,例如色相頻道(hue channel)對於光影變化 保有不變性以及飽和度(saturation)對觀察方向(viewing direction)和表面定向 (surface orientation)也是保有不變性的好處。本研究令 H、S 以及 I 地圖分別為 轉換後的色相、飽和度以及亮度之影像。 然而上述這些資訊可能會被雜訊等因素所影響,因此本研究利用模糊(Fuzzy) 技術來補償這些缺點,則我們令 H 、 S 、 I 以及 E 分別為 H、S、I 以及 E 運用模 糊技術所得到的地圖,而模糊地圖中的項目(entry)所代表的是屬於車牌的程度。 在本研究中,由於 H 、 S 和 I 的本質特性與 E 有所不同,因此採用到兩級模糊聚 合(two-stage fuzzy aggregator) ,在第一階段時, H 、 S 以及 I 聚合,接著在第二 階段時再將 E 跟先前第一階段的結果作聚合且稱此為 M ,最後基於 M 地圖,找 出最有可能的區域(即含有最大的 m 值)當作是車牌候選區塊。. 4.1.1. 色彩邊緣偵測. 色彩邊緣偵測只會注重在三種類型的邊緣(黑白,紅白,綠白),若以黑白 的邊緣來說,前提假設 RGB 影像已經正規化到值為 0 到 1 的 rgb 影像,理想上, 白色像素以及黑色像素的(r,g,b)值應分別為(1,1,1)和(0,0,0) ,而它們之間的 差異值 (r , g , b) 應為(1,1,1)或(0,0,0),因此所有在白色像素與黑色像素之 間的差異向量之元素(component)皆有相同的符號(sign),故基於此特性,影 像中的某一像素若是與自己附近任一鄰居之差異向量的所有元素之符號皆相同 30.
(40) 時,我們可以稱此像素為黑白邊緣類型的點(point) ,亦即 sign( ri )=sign( gi ) =sign( bi ), i N ,其中 N 為影像像素之鄰居集合。除此之外,我們也記錄此 邊緣強度(edge magnitude) ,即為 min{ ri , gi , bi },而邊緣強度可為後續利用 來導出模糊邊緣地圖(fuzzy edge map)。 同理,若影像像素為紅白邊緣類型的點,則此像素找得到與鄰居之差異向量. (ri , gi , bi ) 需滿足以下條件: (一) sign( ri )=sign( gi )=sign( bi ) (二) ri gi 且 ri bi 而邊緣像素的強度(magnitude)可定義為 min{ gi , bi } 。同理,若影像像素為 綠白邊緣類型的點,則此像素找得到與鄰居之差異向量 (ri , gi , bi ) 需滿足以下 條件: (一) sign( ri )=sign( gi )=sign( bi ) (二) gi ri 且 gi bi 邊緣像素的強度可定義為 min{ ri , bi } ,最後,其餘非邊緣像素之邊緣強度值設 為 0。. 4.1.2. 模糊地圖. H、S、I 或 E 地圖要產生出模糊地圖的基本概念如下,當每一個地圖都隱含 著拍攝場景的某些特徵,地圖裡單元(cell)的項目代表著此單元持有該特性的程 度。為了強調單元符合到感興趣的物體(如車牌),我們給予大的項目(entry) 31.
(41) 於那些單元符合已知特徵之物體,亦即大的項目能表示高程度存在感興趣的物體, 我們稱最後的結果為特徵地圖(characteristic map)。 由於資訊(地圖及物體的特徵)的不完美或不確定性,這些因素必須在計算 特徵地圖時考慮進來,模糊集合提供了簡練確切的工具來處理這些不確定性因素 [Kel 94],故本研究利用模糊性(fuzziness)套用到特徵地圖的項目且此結果可視 為是模糊地圖。我們分別在色相、飽和度、亮度以及邊緣強度之集合上定義一個 廣義的模糊集合稱之為“相似一個車牌”來實現模糊性,在這四組集合中每一組 皆可當作是模糊集合的全集合(universal set)。 (一) H 地圖:考慮到色相值的全集合,假設感興趣的物體之相對應的色相值為 hc , 給予一個 H 地圖的項目稱之為 h ,則項目屬於“相似物體”之模糊集合的隸 屬程度(membership degree) c 可以表示為:. c (h) exp(a h hc ). (4.1). 其中 a 為一個正數,若項目 h 等於感興趣物體之色相 hc ,隸屬程度則為 1。 然而本研究車牌中會存在四種不同顏色(黑、白、紅、綠),亦是我們所感 興趣的部份,令 hr 以及 hg 分別為紅色以及綠色的色相值,值得注意的是無色 彩色相(hue of achromatic) ,也就是所有的灰階以及黑與白在色相公式當中, 分母為 0 是無意義的,因此我們在 H 地圖中只會強調紅色跟綠色,故我們定 義 H 模糊地圖的隸屬函數(membership function)為:. H (h) u(r (h), g (h)) 32. (4.2).
(42) 其中 u 可以是任何的模糊聯集操作(union operator)。 (二) S 地圖:由於 H 模糊地圖只能表達紅色與綠色,故我們必須用其他方法來處 理黑色與白色。根據飽和度 S 的公式,得知所有的無色彩的飽和度 S 都相同, 除此之外,無色彩的飽和度值會小於有色彩(chromatic)的飽和度值,基於 以上兩點因素,我們從 S 地圖產生出 S 模糊地圖來區分無色彩與有色彩,而 S 的隸屬函數之定義如下:. s (s) exp(as). (4.3). 上式說明了越小的飽和度值,越有可能是屬於無色彩。 (三) I 地圖:當區分出有色彩以及無色彩之後,黑色與白色必須再進一步區別出 來,故我們利用強度地圖 I。由於黑色與白色的強度值對應到 HSI 座標系統 上的強度軸之兩個極值,接下來的函式(4.4)突顯出顏色的強度值是否靠近 兩個極值:. f (i) 1 exp[a(i 0.5)]. (4.4). 但前提是假設工作環境為平均強度值為 0.5,然而黑色與白色會在某些情況 下造成扭曲,例如白色可能會在陰暗的環境下出現灰色,同理黑色可能會在 明亮的環境下出現灰色,因此為了補償扭曲因素,(4.4)式中的常數 0.5 被 取代成地圖 I 中的平均強度值 i ,我們便可定義出模糊地圖 I 之隸屬函數:. I (i) 1 exp(a(i i )). (4.5). (四) E 地圖:基於 H 、 S 和 I ,影像可分成黑、白、紅和綠色區域,然而這些區 33.
(43) 域裡大部分都與車牌無關,故 E 地圖扮演著一個關鍵的角色用來區別這些區 域中不恰當的部份,然而車牌附近會散佈著許多邊緣,若一個影像像素的周 圍持有較大的邊緣強度的話,則此影像像素有高可能性是屬於車牌,因此我 們定義模糊地圖 E 的隸屬函數為:. E (e p ) . e. kN p. k. exp(ad pk ). (4.6). 其中 N p 為影像中某一像素 p 之水平鄰居, ek 為在 N p 中像素 k 的邊緣強度, ,而在上式中我們 d pk 為像素 p 與 k 之間的歐幾里德距離(Euclidean distance) 不理會像素 p 本身自己的邊緣強度 e p 。. 4.1.3. 模糊聚合. 每一個模糊地圖都會提供原始影像中定位車牌的資訊,為了降低計算量,本 研究採用兩級模糊聚合,在第一階段聚合時, H 、 S 和 I 單元與單元之間結合 (integrate) ,令 h 、 s 以及 i 為在 H 、 S 和 I 模糊地圖中相對應之單元的項目,則 項目的接合為:. g u(wh h, ws s , wii ). (4.7). 其中 u 為聯集操作, wh 、 ws 以及 wi 為權重且反映出在 H 、 S 和 I 之間的重要關 係程度,此權重會在接下來討論。 由於定義在模糊地圖中,大的項目代表的是此項目屬於車牌的機率較大,然 而假設在模糊地圖中大多數單元之項目為均勻分佈時,地圖較無法有效地找出車 牌。因此考慮在傍晚或是下雨天拍到的照片,大體上來說,影像會看起來較為暗 34.
(44) 淡,導致整體影像像素之強度值會較小,這也使得產生較大的飽和度值,因此強 度與飽和度地圖在找出車牌的貢獻度會較小是因為它們的項目較為均勻。在所有 的模糊地圖當中,較樂於看見一張地圖裡存在相當小的區塊卻持有大的項目,其 餘剩下的部份有較小的值,如此的地圖就會擁有較大的權重來反映出此地圖的重 要性,令 A [aij ] 為任一 M N 的模糊地圖,此權重可定義為下: M. wa 1 . b i 1 j 1. ij. MN 1 ,if. t ij a. 0 ,. otherwise. bij {. 其中. N. (4.8). t 為一閥值 t (amax amin ) / 2 且 amax 與 amin 分別為 A 中極大值與極小值。 當合併完 H 、 S 和 I 模糊地圖且稱此結果地圖為 G 之後,接著第二階段聚合 把 G 以及模糊地圖 E 利用線性組合成 M = [m] :. m wg g wee. (4.9). 其中 wg 與 we 為 G 與 E 的權重,權重之決定方法與(4.8)式相似。. 4.2 字元辨識系統 4.2.1. 基本概念. 當決定出候選車牌區塊後,接著便是辨識其文字內容,圖 4-3 顯示文字辨識 系統的流程圖。文字辨識系統可分為兩個主要的部份,前處理以及辨識,其中前 處理的部份可由三個任務組成:二值化(binarization)處理、連通區域標記 (connected component labeling)以及雜訊的消除;辨識的部份則由兩個主要程序 所構成:字元切割及辨識。 35.
(45) 圖 4-3、字元辨識流程圖. 在考慮一個候選車牌下,首先將其作二值化,但在這過程中可能會遺失某些 資訊,故我們採用可變閥值(variable thresholding)技術[Nak 79],此技術可以決 定出每一個影像像素之最佳局部(local)閥值,目的是為了避免來自不均勻光線 所產生的問題。雖然可變閥值不能完全地補償遺失資訊的問題,但至少保存了利 用固定閥值方法所會遺失的資訊。二值化步驟有兩個目的:強調字元及壓抑背景, 36.
(46) 然而我們想要的部份(字元)以及不想要的部份(雜訊)在二值化後仍可能會出 現。 為了要消除不想要的部分,我們利用連通區域演算法,由於長寬比(aspect ratio)可以被計算出來,若有構件(component)超過長寬比即可被刪除。接著在 剩餘的構件之重心點中運用到霍夫轉換(Hough transform)導出一直線,若有構 件與直線不一致的話就把它移除,假設最後剩下的構件數量依舊大於規定的數量 (八個)的話,則一次刪除一個最小的連通區域。在本研究中,所規定的構件數 量設定為八個是因為車牌號碼可能是由五或六個字元組成且字元可能會裂壞,而 移除多餘的構件之程序會一直持續到兩個條件之一成立為止,第一是剩餘的構件 數量等於規定的數量,第二是前一個所刪除的構件大小與現在所考慮的構件大小 有誇張性的改變。 在上述的程序中,無法保證最後所剩下的每一個構件都符合完整字元,因為 構件可能因雜訊關係而導致不完整字元或是扭曲的字元,為了區別清楚字元,我 們運用到車牌的屬性包含個別字元的長寬比、字元之間的間隔以及車牌號碼的組 成個數,而這些屬性我們可視為車牌結構上的限制。除此之外,我們在字元切割 程序上運用到刪除、合併、分割(split)以及復原(recover)等操作,其中復原 操作目的是為了回復車牌在二值化以及車牌定位所遺失的字元。 在切割的程序中首先運用到三種操作(刪除、合併、分割)來決定出分割出 來的構件是否滿足車牌的結構限制,若此構件滿足條件則會開始辨識其文字內容, 37.
(47) 以上動作會持續到沒有字元可從構件集合裡擷取出來。假設擷取出來的字數少於 車牌號碼的字數,則復原操作開始從已偵測到的文字最外側並沿著已知的文字直 線尋找字元,此搜尋一直持續到在字元的平均寬度與字元間的間隔距離之範圍內 沒有再找到字元為止。接著,我們利用車牌號碼的組合語意學(compositional semantics)來確認被識別的字元,若合乎組合語意學的話,則這些字元可被合法 地視作形成此車牌之字元。. 4.2.2. 光學字元辨識. 在這小節要討論的是字元辨識程序,如先前所提,攝影機拍攝的角度可能使 得車牌產生歪斜等情況,則辨識出來的字元可能會變形或是仍有雜訊存在,因此, 字元辨識的部分必須能容忍這些缺失。本研究在字元辨識所採用的方法包含三個 步驟:字元分類、拓樸排序(topological sorting)以及 self-organizing(SO)辨識。 第一個步驟,先把輸入的字元分類成數字或字母,此步驟可參考車牌的組合語意 學,接著計算出輸入的字元之拓樸性質且與文字樣板(template)做比對,若有合 適的文字樣板則可成為一組測試集合,此集合所代表的即為與輸入的字元最佳相 配的文字樣板,而樣板測試會在 SO 字元辨識程序中所執行。 (一) 拓樸分類:文字的拓樸特性包括洞口(hole)數量、端點(endpoint,一個節 點) 、T 型節點(三個節點)以及 X 型節點(四個節點) (圖 4-4) ,這些特性 在空間轉換(旋轉、轉化等等)中保有不變性,然而輸入的字元往往都是不 完整的,故可能會遺失某些拓樸特性。以下規則是利用來拓樸排序:當一個 38.
(48) 字元樣板適合某一輸入字元其滿足兩條件,第一是它們之間的洞口數差異數 在[1,-1]範圍之內,第二是它們之間任何類型的節點差異數在[2,-2]範圍之內, 而拓樸分類可以大量減少在測試集合中的字元樣板,因此可以降低字元辨識 的時間複雜度。. (a) 端點. (b) T 型節點. (c) X 型節點. 圖 4-4、文字節點類型. (二) 樣板測試:在樣板測試中,主要是利用 SO 字元辨識方法來完成,此方法是 基於 Kohonen 所提出的 SO 神經網路[Koh 89]。其方法概念如下:給予一個 未知字元與一個字元樣板,輸入(input)字元則視為在神經網路中階層(layer) 之間的連結之突觸權重(synaptic weight),而文字樣板在這可視為一個刺激 物(stimulus)且使得神經網路中的神經元被激發,導致神經網路中的突觸權 重逐步地改變,而這些過程會持續到權重穩定下來為止。在這些過程中我們 將突觸權重的改變加總起來,這些改變的總和可以反映出未知字元與字元樣 板之間的相異程度。 39.
(49) 令 C {c1 ,..., cL } 為一個未知的輸入字元其經過拓樸排序後的文字樣板 集 合 , 且 令 d1 , . . .d, L 代 表 計 算 出 未 知 字 元 與 字 元 樣 板 之 間 的 差 異 性 (dissimilarity),而其字元樣板擁有最小的差異性即將之歸類與未知字元為 同一類。 甲、SO 神經模型(Neural Model) :由圖 4-5 可知,SO 神經網路系統是由兩 個階層所組成,即為輸入層與 SO 層。. 圖 4-5、Kohonen SO 神經模型. 其中 wij 為 SO 神經元 ni 與輸入神經元 n j 之間連結的權重,而 ni 的權重向量為. wi (wi1 , wi 2 ,..., wim ) ,m 為輸入神經元的數量,令 v (v1 , v2 ,..., vm ) 表示為一 個外部刺激物,刺激物之輸入至 ni 可表示為: m. I is wi v wik vk. (4.10). k 1. 在 SO 神經元之中的橫向互動(lateral interaction)可由墨西哥帽(Mexican-hat) 40.
(50) 方程式來描繪,其表示為 h(r ) ,其中 r 為一個位置向量。令 uik 為連接分別在 位置 ri 以及 rk 的 SO 神經元 ni 以及 nk 之權重,則橫向互動之輸入至 ni 可表示 為:. I l i. m. . nk N ,k i. ak uik h(rk ri ). (4.11). 其中 N 為 SO 神經元集合以及 ak (netk ) 為 nk 的活化(activation) ,而 netk 定義為網(net)輸入至 nk ,最後 則為一個輸出函數。 當一個刺激物被移除時便會利用一個洩漏項目(leakage term)e(a) 來驅 散 SO 神經元的活化,最後網輸入至 ni 則加總刺激物、橫向互動以及洩漏項 目此三項輸入:. neti I is I il e(ai ). (4.12). 在 SO 神經元之競爭過程中,由 netc max1in{neti } 決定出優勝神經元. nc ,接著此優勝者以及它的鄰居將其稱之為 N c 集合,開始進行團體學習 (group learning)的程序,在這程序中較接近優勝者的神經元會得到較高的 學習率;反之,離優勝者較遠的神經元會有較低的學習率,而此學習率是由 高斯函數 g 所控制,我們定義出在 N c 集合中的學習規則為:. wk (v wk ) g (rk rc ),. k Nc. (4.13). 最後,SO 神經元 nk 的更新式則為:. wkt 1 wkt (t )wkt ,. k Nc. 其中 (t ) 為迭代次數學習率,當 t 遞增時, (t ) 便會單調遞減。 41. (4.14).
(51) 乙、實際實作:一開始,根據字元所擁有的洞數量我們把字元分類成 0 個洞、 1 個洞以及 2 個洞三類,每一類當中都會有各自相關的 SO 神經網路,其中 包含 40 個 SO 神經元與兩個輸入神經元,在這三類神經網路中最主要的差異 在於它們的 SO 階層結構,如圖 4-6 所示。. 圖 4-6、SO 階層:(a) 0 個洞 (b) 1 個洞 (c) 2 個洞. 參考圖 4-7 之範例,假設我們給予一個未知的字元(以“C”舉例) ,首 先將字元做正規化(16 16 像素)目的是為了要與文字樣板大小一樣,接著 計算出字元中的洞數量。在此,輸入的字元(“C”)並沒有洞,所以便把 此字元歸類為 0 個洞的 SO 階層,此未知字元的輪廓(contour)以及文字長 度便可以得知,將文字長度分成近似等長的 40 個區間,接著從任一點開始 沿著輪廓得出二維的位置向量。從圖 4-7 的右半部可知,我們選擇 40 個點數 是因為此數字大約是所有字元樣板的平均輪廓點數之一半,而 40 個輪廓點 的位置向量依擷取順序分配 40 個 SO 神經元的權重向量。. 42.
(52) 圖 4-7、SO 字元辨識範例. 考慮一個二維空間座標且座標軸對應到 SO 神經元的權重向量的兩個構 件,而每一個 SO 神經元的權重向量可在空間中當作一個點,此空間被稱為 神經網路的權重空間。在輸入字元之輪廓點的位置向量分配了 SO 神經元的 權重向量之後,若我們把 SO 神經元的權重向量表示成權重空間中的一個點, 輪廓將會在權重空間中重新建立。 假設從輸入字元之測試集合中所選出的樣板(以“L”舉例)要與字元 做比對,我們以字元的輪廓作為刺激樣本(stimulating pattern)而非整個字 元樣板,而此字元輪廓再三地使神經網路中的神經元被激發直到此突觸權重 穩定下來。在本研究當中,輪廓點一個一個注入到神經網路的輸入階層中。 43.
(53) 考慮一個輸入輪廓刺激(stimulus)點 v,與 SO 神經元競爭之下,優勝神經 元 nc 由 nc arg(max1i40{wi v}) 來決定出,其中 wi 為 40 個 SO 神經元的權 重向量。優勝神經元的第一階(first-order)與第二階(second-order)鄰居稱 之為 nc 集合都必須加入學習過程:. wk dk g (rk rc ),. k Nc. (4.15). 而在(4.13)式中的( v wk )被(4.15)式中的 d k 所取代。 d k 的計算方式 是利用彈簧模型(spring model)[Che 96],也就是 SO 神經元被假設成彈簧, 彈簧的彈性係數也被假設成神經元之間的突觸權重。參考圖 4-8,其表示出 SO 神經元以及它們的權重向量,權重 wk 1 、 wk 以及 wk 1 分別代表的是 SO. nk 1 、 nk 以及 nk 1 ,其中 nk 為 N c 中的任何一個學習者, nk 1 與 nk 1 為兩個 nk 的第一階鄰居,而此學習者與自己兩個鄰居用係數為 uk 1,k 以及 uk ,k 1 的彈簧 相連,最後刺激點在圖中用 v 來表示。. 圖 4-8、彈簧模型 44.
(54) v 可視為一個有吸引力的來源,在學習過程中嚐試運用 f v 力來牽引 wk 朝 往自己,然而彈簧也會在 wk 上施加 f k 1 與 f k 1 力朝往鄰居 wk 1 與 wk 1 ,除此 之外,還會存在一個組尼力(damping force) f d 用來驅散彈簧模型的能量使 得整個系統最終可以趨於平衡狀態且為一個外部力 f e :. fv f k 1 f k 1 f d fe. (4.16). 其中. fv . ka v wk 2 ( v wk ) v wk wk wk 1 wk wk 1. f k 1 uk ,k 1 ( wk wk 1 l ). w wk f k 1 uk 1,k ( wk 1 wk l ) k 1 wk 1 wk f d kd f v f k 1 f k 1. 1/2. (4.17). f v f k 1 f k 1 f v f k 1 f k 1. 而 k a 為重力係數(gravitational coefficient) , k d 為阻尼係數,l 為彈簧的自然 長度, 為一小值防止 wk 隨著靠近 v 使得 f v 變成無窮大。把(4.17)式中所 有的力代入(4.16)式當中,神經元 nk 的位移(displacement)為:. d k v0 k . fe 2 t m. (4.18). 為了簡化,我們將神經元 nk 的初始速率 v0k 設為 0,神經質量 m 以及 t 等於 1,故結果為:. dk fe fv f k 1 f k 1 f d. (4.19). 在計算位移 d k 時會因神經元 nk、g (rk rc ) 以及 (t ) 的學習程度而有所修改, 45.
(55) 因此真正在權重空間中的神經元 nk 之位移為 (t )dk g (rk rc ) 。 累積在 N c 中所有神經元的位移,達到刺激點 v 的神經分佈,對於所有 輸入刺激樣本的刺激點都重複上述過程,便能完成樣本的一次迭代,而迭代 會持續至沒有觀察到 SO 神經元有顯著的位移為止,所有 SO 神經元的位移 可視為一個未知字元與字元樣板之間的差異性之評估,圖 4-9 闡述了一些在 迭代過程中從字元“C”外型轉換至字元“L”的中間過程,在這個範例當中 全部的神經元位移總計為 147 個像素,根據實驗,正確文字樣板被選為測試 集合之位移分佈在[23,67]區間。. 圖 4-9、一些外型轉換之中間過程(a) 第一次迭代 (b) 第五次迭代 (c) 第 10 次迭代 (d) 第 42 次迭代. 丙、備註:本研究的字元辨識方法對於(8,B)以及(0,D)字元組較難以區 分,為了克服此困難,我們事先定義一個不確定性(ambiguity)集合包含了 字元 0、8、B 與 D,在集合中的每一個字元,差異性較大的區域可當作是特 徵區塊(圖 4-10),圖中紅色區域即為特徵區塊。在字元辨識過程中,只要 46.
(56) 一個未知字元被分類至不確定性集合中的任一字元,就會額外開始更詳細的 文字比對,且只會針對特徵區塊來做區分。. (a) 數字 0 與字母 D. (b) 數字 8 與字母 B. 圖 4-10、相似字元之特徵區塊. 47.
(57) 第五章 智慧查詢車牌資料庫. 當我們完成車牌辨識之後,會得到一組車牌號碼數字,接著便以此號碼來自 動查詢贓車資料庫,由於車牌辨識系統之結果不可能 100%完美,若以傳統方式 查詢贓車資料庫勢必會有遺漏掉贓車的情況發生,故必須具有容錯功能的智慧查 詢贓車資料庫。此部分的方法與步驟是參考董致平學長的研究[Don 04];簡而言 之,這個議題可視作是兩字串之間比對的問題,一個是車牌辨識的結果,另一個 是贓車資料庫裡的車牌號碼,目的要搜尋且比對資料庫裡所有的贓車車牌號碼, 進而找出最符合的贓車車牌。. 5.1 車牌的編輯距離 兩個車牌號碼之間的編輯距離(edit distance)所代表的意義,是透過編輯動 作,將兩個車牌號碼變成完全相同所需的代價,若編輯距離越小,表示車牌號碼 越相似,因此編輯距離能反映出兩字串之間的相似程度。在車牌資料庫中搜尋時, 當輸入車牌與資料庫中某一車牌的編輯距離最小時,我們即認為該車牌與輸入車 牌最相近。 編輯動作包括『插入字元』、『刪除字元』 、『取代字元』等三種動作,然而兩 字串藉由編輯動作轉換至相同的字串方式很多且每一個編輯動作都有編輯代價, 因此,我們必須選擇代價最小的作為兩字串間的編輯距離。若函數 D(m, n) 代表字 串 A a1a2. am 與字串 B b1b2. bn 的編輯距離,則 D(m, n) 依據編輯距離的定義可表. 48.
(58) 示為:. D(m, n 1) insert (bn ), D(m, n) min D(m 1, n) delete(am ), D(m 1, n 1) replace(a , b ) m n . (5.1). 其中 ai 、 b j 分別代表為字串 A 與 B 的第 i 、 j 字元, insert (c) 代表的意義是插入字 元 c 所需花費的代價,以此類推 delete(c) 及 replace(ci , c j ) 為刪除字元 c 及字元 ci 取 代為字元 c j 所需花費的代價。 本研究採用動態規劃法(dynamic programming)去計算遞迴式(5.1),以節 省計算所需的時間,由於傳統的編輯動作代價皆為一,計算出來的編輯距離只能 夠反應出字串間結構的差異,若能應用影像視覺基於字串之文字外型比對,將更 能反應出彼此之間的細微差異,故為了使編輯距離能反應字元的形狀,本研究採 用[Fou 03]所提出的 Chamfer distance 來定義字元的『插入』、『刪除』 、『取代』等 編輯動作的代價。 編輯代價的定義依編輯動作的不同,分為下列二大類: (一) 『插入』與『刪除』:本研究定義這兩個編輯動作代價方法是利用該字元樣 板的 Chamfer distance map 上所有 Chamfer distance 的值總合,即為該編輯動 作之代價,且同一字元的『插入』與『刪除』編輯代價都相同。 (二) 『取代』 :當定義此編輯動作代價時,要注意避免將計算的兩字元大小不同, 而有所影響結果,因此,我們必須先將兩字元調整到同樣大小。令 ci 為一車 牌字元, c {0, 1, i. 9, A ,. , Z } ,假設字元 ci 的大小為 ai ,而 vij 代表字. 元 c j 相對於字元 ci 的 Chamfer distance,故則將字元 ci 『取代』為字元 c j 的 49.
(59) 代價定義為 (. vij v ji )。 ai a j. 至於編輯動作的代價 insert [ i ]、delete[ i ] 以及 replace[ i , j ] 為了能夠互相協調, 因此要有正規化動作,也就是將它們的值正規化到 0 到 1 之間。令 I i = insert [ i ] 、. Di = delete[ i ] 以及 Ri , j = replace[ i , j ] : Ii Ia. Ii . (5.2). a. Di . Di. (5.3). D. a. a. Ri , j . Ri , j. R. (5.4). i, j. j. 而本研究所採用的字元樣板(表 5-1) ,依據上述方法計算它們的 insert、delete 、. replace 代價值(表 5-2(a)~(c),表 5-3)。. 50.
(60) 表 4-1、車牌字元樣板. 51.
(61) 表 5-2(a)、replace 字元的代價(0~9) 字元 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z. 0 0.00 0.40 0.37 0.19 0.45 0.22 0.13 0.71 0.16 0.12 0.61 0.18 0.04 0.07 0.34 0.49 0.06 0.32 0.57 0.45 0.56 0.79 0.35 0.32 0.01 0.39 0.07 0.33 0.26 1.00 0.14 0.59 0.33 0.71 0.91 0.62. 1 0.40 0.00 0.26 0.21 0.22 0.33 0.34 0.20 0.31 0.28 0.36 0.43 0.47 0.48 0.52 0.57 0.38 0.42 0.17 0.46 0.50 1.00 0.37 0.40 0.42 0.57 0.38 0.50 0.37 0.27 0.43 0.26 0.21 0.27 0.28 0.33. 2 0.37 0.26 0.00 0.17 0.56 0.41 0.37 0.38 0.24 0.22 0.49 0.32 0.40 0.39 0.30 0.57 0.30 0.48 0.24 0.72 0.52 1.00 0.35 0.43 0.40 0.48 0.34 0.34 0.29 0.60 0.48 0.47 0.35 0.35 0.52 0.20. 3 0.19 0.21 0.17 0.00 0.40 0.21 0.17 0.42 0.08 0.15 0.45 0.18 0.22 0.23 0.34 0.54 0.17 0.35 0.35 0.45 0.50 1.00 0.37 0.33 0.21 0.47 0.25 0.32 0.11 0.68 0.31 0.54 0.30 0.38 0.62 0.31. 4 0.45 0.22 0.56 0.40 0.00 0.51 0.39 0.53 0.43 0.44 0.23 0.66 0.52 0.63 0.77 0.65 0.46 0.54 0.34 0.42 0.46 1.00 0.55 0.55 0.49 0.65 0.47 0.61 0.59 0.54 0.59 0.42 0.36 0.45 0.49 0.66. 52. 5 0.22 0.33 0.41 0.21 0.51 0.00 0.10 0.74 0.16 0.21 0.61 0.17 0.28 0.26 0.23 0.53 0.26 0.43 0.34 0.82 0.53 1.00 0.36 0.37 0.26 0.61 0.30 0.37 0.20 0.85 0.32 0.64 0.29 0.59 0.84 0.57. 6 0.13 0.34 0.37 0.17 0.39 0.10 0.00 0.87 0.07 0.14 0.53 0.12 0.18 0.23 0.24 0.53 0.14 0.35 0.37 0.65 0.51 0.98 0.32 0.33 0.17 0.53 0.22 0.29 0.14 1.00 0.30 0.66 0.27 0.62 0.91 0.58. 7 0.71 0.20 0.38 0.42 0.53 0.74 0.87 0.00 0.74 0.60 0.84 0.79 0.81 0.69 0.85 0.62 0.75 0.80 0.39 0.58 0.83 1.00 0.76 0.85 0.72 0.59 0.70 0.80 0.78 0.15 0.71 0.28 0.52 0.51 0.22 0.41. 8 0.16 0.31 0.24 0.08 0.43 0.16 0.07 0.74 0.00 0.08 0.50 0.08 0.20 0.23 0.23 0.52 0.14 0.31 0.34 0.65 0.48 1.00 0.29 0.31 0.20 0.45 0.23 0.21 0.07 0.95 0.31 0.62 0.29 0.51 0.81 0.44. 9 0.12 0.28 0.22 0.15 0.44 0.21 0.14 0.60 0.08 0.00 0.51 0.13 0.19 0.16 0.27 0.48 0.14 0.33 0.34 0.65 0.52 1.00 0.25 0.30 0.15 0.34 0.14 0.22 0.16 0.88 0.27 0.49 0.27 0.57 0.74 0.54.
(62) 表 5-2(b)、replace 字元的代價(A~M) 字元 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z. A 0.61 0.36 0.49 0.45 0.23 0.61 0.53 0.84 0.50 0.51 0.00 0.72 0.68 0.71 0.72 0.71 0.59 0.63 0.30 0.82 0.44 1.00 0.70 0.61 0.66 0.68 0.64 0.56 0.63 0.81 0.84 0.79 0.39 0.33 0.85 0.58. B 0.18 0.43 0.32 0.18 0.66 0.17 0.12 0.79 0.08 0.13 0.72 0.00 0.22 0.14 0.14 0.41 0.17 0.22 0.44 0.77 0.45 0.89 0.24 0.26 0.22 0.37 0.28 0.16 0.13 1.00 0.22 0.72 0.33 0.68 0.93 0.47. C 0.04 0.47 0.40 0.22 0.52 0.28 0.18 0.81 0.20 0.19 0.68 0.22 0.00 0.11 0.38 0.59 0.06 0.41 0.60 0.53 0.54 0.68 0.42 0.38 0.04 0.51 0.11 0.40 0.26 1.00 0.19 0.70 0.39 0.74 0.98 0.57. D 0.07 0.48 0.39 0.23 0.63 0.26 0.23 0.69 0.23 0.16 0.71 0.14 0.11 0.00 0.29 0.44 0.14 0.32 0.59 0.61 0.50 0.66 0.31 0.30 0.08 0.33 0.15 0.28 0.31 1.00 0.14 0.67 0.36 0.76 0.99 0.56. E 0.34 0.52 0.30 0.34 0.77 0.23 0.24 0.85 0.23 0.27 0.72 0.14 0.38 0.29 0.00 0.31 0.29 0.32 0.36 1.00 0.34 0.55 0.32 0.35 0.37 0.42 0.40 0.22 0.28 0.83 0.35 0.71 0.38 0.62 0.84 0.38. F 0.49 0.57 0.57 0.54 0.65 0.53 0.53 0.62 0.52 0.48 0.71 0.41 0.59 0.44 0.31 0.00 0.60 0.33 0.64 1.00 0.38 0.73 0.57 0.47 0.54 0.09 0.69 0.33 0.61 0.61 0.49 0.54 0.46 0.67 0.65 0.67. 53. G 0.06 0.38 0.30 0.17 0.46 0.26 0.14 0.75 0.14 0.14 0.59 0.17 0.06 0.14 0.29 0.60 0.00 0.33 0.51 0.49 0.52 0.76 0.33 0.30 0.06 0.51 0.08 0.30 0.17 1.00 0.19 0.68 0.35 0.68 0.96 0.56. H 0.32 0.42 0.48 0.35 0.54 0.43 0.35 0.80 0.31 0.33 0.63 0.22 0.41 0.32 0.32 0.33 0.33 0.00 0.69 0.54 0.32 0.76 0.18 0.08 0.38 0.29 0.44 0.20 0.42 1.00 0.16 0.58 0.34 0.51 0.77 0.63. I 0.57 0.17 0.24 0.35 0.34 0.34 0.37 0.39 0.34 0.34 0.30 0.44 0.60 0.59 0.36 0.64 0.51 0.69 0.00 0.98 0.38 1.00 0.46 0.54 0.62 0.68 0.51 0.45 0.40 0.32 0.75 0.38 0.27 0.19 0.35 0.26. J 0.45 0.46 0.72 0.45 0.42 0.82 0.65 0.58 0.65 0.65 0.82 0.77 0.53 0.61 1.00 1.00 0.49 0.54 0.98 0.00 1.00 1.00 0.72 0.71 0.46 0.96 0.56 1.00 0.87 0.98 0.38 0.79 0.70 0.95 0.95 0.79. K 0.56 0.50 0.52 0.50 0.46 0.53 0.51 0.83 0.48 0.52 0.44 0.45 0.54 0.50 0.34 0.38 0.52 0.32 0.38 1.00 0.00 0.53 0.40 0.26 0.60 0.45 0.59 0.28 0.50 0.68 0.48 0.57 0.33 0.27 0.60 0.49. L 0.79 1.00 1.00 1.00 1.00 1.00 0.98 1.00 1.00 1.00 1.00 0.89 0.68 0.66 0.55 0.73 0.76 0.76 1.00 1.00 0.53 0.00 0.99 0.84 0.79 1.00 0.95 1.00 1.00 1.00 0.63 1.00 1.00 1.00 1.00 1.00. M 0.35 0.37 0.35 0.37 0.55 0.36 0.32 0.76 0.29 0.25 0.70 0.24 0.42 0.31 0.32 0.57 0.33 0.18 0.46 0.72 0.40 0.99 0.00 0.16 0.40 0.46 0.32 0.29 0.39 1.00 0.21 0.42 0.38 0.52 0.65 0.61.
相關文件
To enhance availability of composite services, we propose a discovery-based service com- position framework to better integrate component services in both static and dynamic
智慧型手機的 Android
We also propose a Unified Code Management Schemes to eliminate code blocking completely and the reassignment cost will be reduced as far as possible based on CIDP.. Our schemes
[3] Haosong Gou, Hyo-cheol Jeong, and Younghwan Yoo, “A Bit collision detection based Query Tree protocol for anti-collision in RFID system,” Proceedings of the IEEE
In order to detect each individual target in the crowded scenes and analyze the crowd moving trajectories, we propose two methods to detect and track the individual target in
In this thesis, we propose a novel image-based facial expression recognition method called “expression transition” to identify six kinds of facial expressions (anger, fear,
Investigating the effect of learning method and motivation on learning performance in a business simulation system context: An experimental study. Four steps to
Shinar, "Effects of an in-vehicle collision avoidance warning system on short- and long-term driving performance," Human Factors, vol. Abdel-Aty Mohamed, “Investigating