?

基于移動智能終端的車票管理軟件設計

2014-10-21 19:57李建尹項博李佳俊王海瑞
計算機光盤軟件與應用 2014年24期

李建 尹項博 李佳俊 王海瑞

摘要:該文基于數字圖像處理技術及OCR文字識別引擎,在基于Android的智能終端上設計了一個列車車票管理軟件,簡化列車員的管理工作。文中重點研究了如何通過預處理過程來加快OCR引擎的速度,提高正確率。

關鍵詞:圖像預處理;開源OCR引擎;二維條碼;Android開發

中圖分類號:TP391.44

在旅客列車開行過程中,列車員的一項重要而繁瑣的重復性工作是核驗乘客的車票,防止旅客上錯車;在即將到站時提醒相應鋪位的乘客,以防旅客坐過站。在平板電腦、智能手機等移動智能終端廣泛應用的大背景下,可利用攝像頭采集車票圖像,再通過圖像處理技術提取出車票信息,實現車票管理的信息化。

從車票提取乘客信息有兩種渠道,一是通過車票右下方的二維條形碼(QR碼);二是直接通過文字識別技術,讀取車票上的文字信息。第一種渠道中,需要破解QR碼的加密算法才能獲得車票信息,這是一種不合適的行為。對于基層列車乘務員而言,是沒有權限接入鐵路部門的票務系統的。因此,應該考慮使用第二種方案來提取車票信息。這種方案的優點是避免了破解加密算法及帶來的法律糾紛;缺點是需要進行圖像處理及文字識別,運算量相對大一些。由于現有的移動智能終端大都配備4核1.2GHz以上的ARM處理器,1G Bytes以上的內存,及高分辨率攝像頭,使得實時采集車票圖像并提取車票信息成為可能。

1 系統概況

基于智能終端的驗票軟件,其圖像采集設備采用終端自帶的攝像頭,通過終端自帶的LCD屏、喇叭輸出結果,充分利用智能終端的資源,大大降低系統部署成本。

為便于大量旅客信息的保存及查詢,采用Sqlite數據庫存儲車票數據。此外,還有一些有關列車的設置信息,比如車次、車廂號、各站點的到站發站時間等。列車員可以通過觸摸屏手動輸入這些設置信息,也可以通過鐵路網站直接下載。

軟件的主要處理過程如圖1所示:

預處理過程主要包括顏色空間轉換、去噪、圖像校正等過程。文字識別過程主要基于OCR(Optical character recognition)識別引擎完成文字提取。識別結果存入數據庫后,軟件根據到站時間設置提醒鬧鐘,確定何時發出旅客到站的提醒信號。下面重點對預處理和識別部分的原理及過程進行敘述。

2 詳細處理過程

2.1 預處理過程

本設計中的預處理過程主要包括以下兩個方面:基于QR碼圖形的幾何調整,以及基于固定位置的文本區域分割。

2.1.1 基于QR碼圖形的幾何調整

由于采集距離遠近及拍攝角度的不同,采集的車票圖像尺寸和系統中標準車票圖像尺寸間存在較大的差別,為便于后續處理,在預處理階段除了進行顏色空間轉換、去噪外,重點進行圖像的幾何調整。盡管OCR引擎在一定程度上能夠自動處理諸如圖像旋轉、縮放、圖像顛倒等問題,但會引入更多的計算量,同時增加出錯的概率。為了提高識別性能,我們根據車票的特殊標志對車票圖像進行幾何調整。由于新一代的火車票票面上均印有二維QR碼,我們可以通過二維QR碼的形狀及位置信息來對車票的幾何參數加以判斷。典型的火車票圖片如圖2所示:

從中可以看到,由于拍攝時不可避免地會產生圖像旋轉現象,在進行后續處理之前,需要先將圖片旋轉復原到正常位置。旋轉復原的前提是確定圖像拍攝時被旋轉的角度,方法如下:

首先提取車票QR碼圖像的灰度邊緣。常用的邊緣提取算法有Sobel[1]、Canny[2]算子等,其中Canny算子的性能最好,但是復雜度較高;而Sobel算子具有計算過程簡單的特點,適合在嵌入式設備上運行。這里使用Sobel算子的垂直模板來提取邊緣,并對邊緣圖像進行二值化,得到的結果如圖3所示。

接著對圖中的線條進行骨骼化[1]處理。為了防止大量短線條的干擾,可以在進行骨骼化之前,使用膨脹腐蝕算法來濾除圖中的大量小區域。骨骼化后的結果如圖4所示。

可以使用直線擬合方法來提取圖4中的各條直線,但更常用的是使用Hough變換[3]。Hough變換把圖像空間中的直線檢測問題轉換為參數空間中的點檢測問題,再在參數空間中通過簡單的累加計算完成檢測。完成Hough變換檢測直線的結果如圖5所示。利用圖中直線的斜率,就可以判斷QR碼的旋轉角度(即車票圖像的旋轉角度);通過對車票圖像執行一個旋轉變換,便可得標準角度的車票圖像。

另外一個問題是判斷車票的縮放比例以及判斷車票是否顛倒。在本設計中,我們通過QR碼中的位置探測圖形來實現檢測。

在QR碼中,位置探測圖形是指QR碼中位于左上、右上、左下三個區域的方塊狀圖形。如圖6所示。每個位置探測圖形的模塊序列由一個深色-淺色-深色-淺色的次序構成,各元素的相對寬度的比例是1:1:3:1:1。檢測位置探測圖形的方法有很多[4],這里不詳細敘述。找到三個位置探測圖形以后,根據三者中心坐標之間的關系,可以判斷出圖像是正立還是倒立的,方法如下:

假設圖像的坐標原點位于左上角,三個位置探測圖形中心處的坐標分別為:(x1,y1),(x2,y2),(x3,y3)。由三個點連接的三條線段中,尋找夾角接近90°的兩條線段,如果90°夾角的內部指向右下角,則圖像是正立的;否則圖像是倒立的。

對于車票的縮放比例,在圖片的角度已經旋轉復原的情況下,根據測量三個位置探測圖形的距離WX,WY,對比標準參考圖像中的位置探測圖像間的距離WX_ref,WY_ref,便可計算出圖片在水平和垂直方向上的大致縮放比例。

2.1.2 文本區域分割

調整完角度和方向的圖片可以直接輸入到OCR引擎進行文字識別。但由于車票上很多區域都沒有文字信息,且有一部分文字不是我們所關注的,沒有必要進行識別。另外,開源OCR識別引擎的處理速度比較慢,處理太大的圖片時難以滿足實時性的要求。比如,經測試,一張分辨率為1280x960的車票圖片,在MTK6589處理器上利用tesseract引擎進行文字識別時,大概需要10秒鐘左右的時間,實時性較差。在本設計中,考慮到關注的文字信息只出現在一些固定的區域,一旦火車票的角度和尺寸被復原后,文字區域的位置是固定的??梢砸虼藢⑽淖謪^域分割出來,加快OCR的處理速度。圖7中,方框部分為由程序根據預先設置的坐標標識出來的關注區域。從中可以看到,車票上關注的區域只有6個,所含文字數量非常有限,有利于加快OCR的識別速度。

2.2 文字識別

關于光學字符設別OCR的研究已經非常多,尤其是商用的OCR引擎已經能夠達到比較好的識別效果,如漢王[5]、ABBYY[6],等,但是由于涉及版權及成本問題,沒有在本設計中采用。開源OCR也比較多,比較流行的比如tesseract[7]。與專業OCR識別引擎相比,開源OCR的識別正確率較低,速度較慢。但如果針對某個具體的問題來加以優化,則可大大改善其性能。

為了提高tesseract識別的速度和準確率,我們先按照位置來對車票圖像進行分割;接著對不同區域的分割圖片采用不同的訓練和識別策略:

(1)對于車次、座號、席別、日期時間等區域,由于其格式是完全固定的,所含字符的種類也十分有限,因此,我們有針對地訓練比較小的模板庫進行識別,加快識別的過程,提高識別的準確性。

(2)對于起點站、終到站區域。由于車次識別完成后,其??空军c的選項就已經確定,因此,我們讓識別引擎有針對地比對與該次車各個候選站點的相似性,從而提高準確率。

測試表明,采用上面的方法后,識別單張車票圖像的時間從10余秒減少到1秒左右,能夠滿足實用的需求。

2.3 后續處理

一旦識別出車票,則首先判斷該旅客是否屬于本次列車、本車廂。如果不是,不允許旅客上車;如果是,則將旅客數據記錄進數據庫,并啟動定時器,周期性的檢查旅客是否即將到站,一旦即將到站,則發出提示信息。檢查的準則是根據當前時間與軟件中預置的列車到站時刻表。如果發生列車晚點,則在列車到達中間站后,乘務員可根據到站時間人為修正一個時間偏移。

3 結束語

本設計基于OCR文字識別引擎,在移動智能終端上設計了一個車票管理軟件,基于該軟件可以簡化列車員的工作量,提高工作效率。本設計的特點是在預處理階段,通過QR碼的特征來對車票進行幾何校正;在OCR識別的過程中,通過分割車票的感興趣區域,加快識別速度。

參考文獻:

[1]R. Gonzalez, R. Woods. Digital Image Processing, Addison Wesley, 1992,pp 414-428.

[2]J. Canny. A Computational Approach To Edge Detection, IEEE Trans. Pattern Analysis and Machine Intelligence, 8:679-714,1986.

[3]R. O. Duda, P. E. Hart. Use of the Hough Transformation to Detect Lines and Curves in Pictures.Comm. ACM, Vol.15, pp.11-15.

[4]劉宏偉,苗東,李志剛等.二維條碼的識別方法[J].微計算機信息(測控自動化),2004(04).

[5]漢王文本識別技術.http://ka.hanwang.com.cn/OCR技術/index.htm.

[6]泰比移動OCR引擎.http://www.abbyy.cn/mobileocr/.

[7]tesseract.https://code.google.com/p/tesseract-android-tools/.

作者信息:李建(1994-),男,吉林四平人,本科在讀,電子信息工程專業。

作者單位:北方工業大學 電子信息工程學院,北京 100041

基金項目:北京市大學生科學研究與創業行動計劃項目。

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合