張偉業 趙群飛
據世界衛生組織報告,全世界有盲人近4500萬人,視力障礙患者達1.35億人。我國現有各類殘疾人8300萬,其中盲人、低視力和視力障礙的多重殘疾人有1691萬,大約占殘疾人總數的23%。對盲人及視力障礙者而言,法律上和經濟上的援助是必要的,工程技術上方面的支持也是非常重要的。近年來,作者所在的實驗室在助盲助殘方面,做了一些基礎性的研發工作,先后開發了自動翻頁機器人[1]、翻頁掃描機器人[2]和讀書機器人[3],目的是幫助盲人和其他有閱讀困難人的學習和工作,豐富他們的文化生活。

圖1 自動讀書機器人
眾所周知,隨著計算機信息技術高度發展,從文本文字轉換為聲音(TTS:Text To Sound)是輕而易舉的事情,可是把用傳統的印刷技術已經出版的書籍變成機器可識別的文檔確實是費力又費時的事情。利用光機電一體化技術的讀書機器人,可以實現翻書、版面文字圖像信息采集、版面分析與文字識別、文本文檔編輯與存儲、朗讀等自動化功能。
讀書機器人實現自動朗讀的關鍵在于對書面文字的識別,也就是說OCR(Optical Character Recognition,光學字符識別)識別率的高低決定了機器人閱讀工作的可靠性和穩定性。由于書本的厚度和裝訂線,自動翻頁機構和視覺系統可能導致版面文字圖像的幾何變形,直接影響機器人的文字識別能力。因此本文提出一種版面文字圖像的預處理算法,包括版面分析、圖像二值化,并通過建立數學模型矯正扭曲變形,改善獲取的版面圖像質量,提高OCR識別率,保證讀書機器人閱讀流暢和工作穩定。
版面文字圖像預處理流程算法將分為3個部分,依次為初步版面分析,圖像二值化和圖像扭曲矯正。
自動讀書機器人獲取的頁面圖像不僅包含了左右兩張頁面的信息,還包含了背景信息,所以需要通過初步的版面分析來定位頁面位置,來過濾背景信息,分割左右頁面。
如圖2所示,頁面圖像的背景為單一的深色托板,而目標物書本一般為白底或淺色底,其垂直和水平方向的投影直方圖的特征非常直觀,可以從水平和處置投影直方圖的一階導數示意圖中找出其邊界信息,如圖3中的白色標記所示,其中最大的波峰和波谷即對應了頁面的邊界處。

圖2 頁面圖像

圖3 垂直和水平投影直方圖一階導數示意圖
由此可以確定頁面的左右邊界和上下邊界,以及左右半頁的分界線,并得到分割后的頁面如圖4。

圖4 分割后的左右半頁圖像
圖像二值化是扭曲校正的基礎,也是OCR的基礎。一般而言,針對圖像像素的處理方式可以分為基于全局的閾值選取算法和基于局部的閾值選取算。由于讀書機器人獲取的頁面圖像所處的光線環境不確定,常常會有背景色漸變的情況出現,所以考慮在這種情況下適應能力更強的基于局部的閾值選取法。
最常見的基于局部的閾值方法是NiBlack算法[5]。它利用一個模板窗口不斷去尋找局部的最佳閾值,強調光線環境變化下的情況。但是,實際運用中,經常會出現整體光線環境比較暗的情況,此時,NiBlack方法不會很理想。我們參考中參考Sauvola的方法[7],采用如下的改進方法:

其中,m(x,y)為局部灰度均值,s(x,y)為局部標準差,R為歸一化參數,n為模板窗口的大小,與k一樣,為經驗參數。我們在本實驗中,選取n=7*7,k=0.5。得到實現結果如圖5和圖6所示。

圖5 全局方法和局域方法的二值化結果

圖6 較暗環境下的二值化結果
圖5中是我們對讀書機器人中實際抓取的圖像(即圖4中的右圖)進行二值化操作,左圖為全局化的 OSTU方法得到的結果,右圖為Sauvola方法得到的結果。在背景色漸變的情況出現,Sauvola方法這樣的基于局域的方法效果很好。
圖6中的左圖是從頁面圖像上截下來的光線較暗的一部分,中間和右邊的圖像分別為Niblack方法和Sauvola方法二值化的結果,可以明顯看出,在這樣的光線條件下,Sauvola方法比NiBlack方法適應力更強。
讀書機器人獲取的頁面圖像,由于書本身的厚度和視覺系統的視角限制,或多或少的存在著一些幾何形變。近年來,世界上很多學者針對這種情況提出了解決方法,主流方向是根據分析頁面圖像的內容來進行頁面扭曲校正[4][6][7][8][9]。本文中以這些文獻為基礎,并且結合實際的實驗環境,提出了以下的扭曲矯正流程,如圖7所示:

圖7 圖像扭曲矯正流程
頁面圖像經過二值化之后,首先對其進行膨脹操作為尋找連接點做準備,膨脹的模板大小為3×3。然后遍歷膨脹過后的圖片,尋找所有的在垂直方向上連續的區域(寬度為1),當該區域的長度 L符合一定條件時,就選取該區域的中點作為基準點,這些基準點就代表了大部分文字的中心點。經過試驗分析發現,2<=L<=6時,基準點選取的效果為最佳。既避免了噪聲干擾(2<=L),又保證了不受表格或者邊線等影響(L<=6)。
為了確定文字行的連線,需要以基準點為中心,分別向左和向右尋找最緊鄰點,尋找方法如公式(2)和公式(3)所示:



其中,S為當前的基準點,D為尋找的目標點,k為加權系數,因為中英文的排版基本都是橫向排版,文字行都是水平方向,所以此處選取k=10強調水平方向。選取具有最小的正數值的Wleft和Wright的目標點D,則此時D為S的左近鄰點或者右近鄰點。當兩個點D1和D2互為左右近鄰點時,則D1和D2組成了一個近鄰點對。連接所有的近鄰點對,并去掉長度過短的連線(實驗中選取近鄰點個數小于8個),則可得到的初始的文字行連線,如圖8所示。

圖8 定位的文字行
文字行的定位完成后,需要用二維曲線來擬合這些文字行。本試驗中采用的方法是三次樣條曲線擬合[10],保證擬合曲線通過所有的基準點,前后區間的一階和二階導數連續,精度較高。
初步的文字行構建完成之后,需要從中挑選出兩條最合適的文字行作為基準線來建模[9]。假設共有n條曲線,其中第i條和第j條是最合適的,這意味著利用這兩條曲線插值構建出的其余的n-2條曲線,與實際定位的曲線誤差累計最小。誤差的原理圖如圖9所示。

圖9 建模誤差示意圖
令左邊界為L,右邊界為R,第k條文字行曲線的表達式為Ck(*),則以第i條和第j條文字行為基準線,與第k條文字行曲線之間的誤差的計算方法如下:

最佳的i*和j*計算公式如下:

在我們確定了兩條基線之后,就可以構建數學模型來復原圖像。假定理想環境下的點位置為(x,y),實際在圖片上的反應為 (x0,y0),則有如下的對應關系[9]:

根據公式(8)即可求出原始圖像。截取了原始頁面圖像上變形比較嚴重的部分,測試效果如圖10所示。

圖10 (a)(c)為原始頁面圖像,(b)(d)分別為矯正結果
實驗環境:頁面圖像采集工具為佳能 A620,圖像大小設定為 1600×1200,pc的處理器為 Intel 1.5GHz,內存為1.25G,系統開發環境Visual Studio 2005。

表1 時間測試結果
由表1中可知,所有的圖像預處理的步驟需要時間2~3s左右,但是實際上可以在一邊朗讀這一頁文本的同時,處理下一個頁面圖像,所以時間角度來看是足夠的。

表2 識別率測試結果
由表2可以看出,扭曲矯正對識別率的改善還是很明顯的。進一步的實驗可以發現,當識別率達到85%左右時,讀書機器人基本上可以流暢的朗讀文本,而不會給人斷續感。
本文中提出了一套圖像預處理流程算法,包括了版面分析,二值化和頁面圖像的幾何形變扭曲矯正,應用于自動讀書機器人,并在試驗中獲得了良好的結果:顯著的提高了OCR的識別率,使得讀書機器人的閱讀更加流暢。但是,在獲取的版面圖像形變比較嚴重時,即使經過校正等預處理操作,OCR識別率也很難提高,讀書機器人將會讀得結結巴巴。通過改進自動翻頁機構及其展壓書部件,妥善的調整視覺系統及其安裝位置,這個問題可以得到極大地改善。
[1]趙群飛,吳心然,唐矯燕.自動翻書機[P].中華人民共和國.發明專利,授權專利: ZL 200410017692.7,2004.4.
[2]冶建科,趙群飛,周毅,張偉業.一種自動翻頁掃描機器人的研制[J],技術應用,2009,01: 27-31.
[3]唐矯燕,趙群飛,楊汝清,吳心然.讀書機器人機構設計[J],上海交通大學學報,2005,39(12): 2025-2028.
[4]張森,趙群飛,冶建科.一種數字圖像幾何畸變的自動矯正方法[J],機電一體化,2007,3:60-63.
[5]Niblack W.An Introduction to Digital Image Processing[J],Prentice-Hall,Englewood Cliffs,New Jersey,1986: 115-116.
[6]Zhang L,Tan C L.Wraped image restoration with applications to digital libraries[J].Proc.Eighth Int.Conf.on Document Analysis and Recognition,2005,8:192-196.
[7]Ulges A,C Lampert H,Breuel T M.Document image dewarping using robust estimation of curled text lines[J],In Proc.Eighth Int.Conf.on Document Analysis and Recognition,2005,8: 1001-1005.
[8]Liang J,DeMenthon D F,Doermann D.Flattening curved documents in images[J],In Proc.Computer Vision and Pattern Recognition.2005,6: 338-345.
[9]田學東,馬興杰,韓磊,劉海博.視覺文檔圖像的幾何校正[J],計算機應用,2007,12: 3045-3047.
[10]李慶揚,王能超,易大義.數值分析[M],清華大學出版社,2001.