楊玉婷,呂 菠,李 順,史宗岳,李夢(mèng)瑤
(蘇州市職業(yè)大學(xué)計(jì)算機(jī)工程學(xué)院,江蘇 蘇州 215000)
隨著互聯(lián)網(wǎng)的高速發(fā)展,人們的時(shí)間碎片化趨勢(shì)越來越明顯。在繁忙的工作中,對(duì)于一些簡(jiǎn)單、需要快速處理的文件,人們往往希望能在做其他事情的同時(shí)也能順便處理,而文字識(shí)別與語(yǔ)音播報(bào)系統(tǒng)(Character Recognition and Language Broadcasting System, CR&LB)可以為人們的工作和學(xué)習(xí)提供更加便捷的方式。通過CR&LB系統(tǒng)的文字識(shí)別模塊可以快速識(shí)別文件中的內(nèi)容,而語(yǔ)音播報(bào)系統(tǒng)則可以快速將識(shí)別的內(nèi)容播報(bào)出來,使用戶在不需要閱讀或者不方便閱讀的情況下也可以快速了解文件內(nèi)容,提高文件處理效率。
實(shí)際上,語(yǔ)音播報(bào)系統(tǒng)早已存在于我們的日常生活中。例如,人們經(jīng)常通過“喜馬拉雅”、“蜻蜓FM”等在線音頻軟件收聽有聲書[1-2],通過“百度地圖”、“高德地圖”等語(yǔ)音導(dǎo)航軟件辨別方向、更加快捷的到達(dá)目的地[3],通過“微信”、“QQ”等即時(shí)通訊工具的語(yǔ)音功能進(jìn)行語(yǔ)音通話等。但是,這些語(yǔ)音播報(bào)系統(tǒng)只能針對(duì)特定內(nèi)容或指定內(nèi)容的語(yǔ)音播報(bào),無法修改,也無法指定個(gè)性化的播報(bào)內(nèi)容,而通用的CR&LB系統(tǒng)除了可以完成常見文字的語(yǔ)音播報(bào)功能之外,還可以播報(bào)用戶指定的個(gè)性化文字或圖片文字的內(nèi)容,同時(shí)也可用于視力具有殘障疾病的弱勢(shì)群體用戶[4],使他們也可以通過CR&LB系統(tǒng)輕松實(shí)現(xiàn)個(gè)性化閱讀及對(duì)外界事物的認(rèn)識(shí)。
CR&LB系統(tǒng)能夠完成文檔圖像中漢字、數(shù)字和英文等不同類型文字的自動(dòng)識(shí)別及語(yǔ)音播報(bào)。整個(gè)系統(tǒng)由圖像的預(yù)處理、文檔圖像的分割、文字識(shí)別和文字閱讀等4個(gè)模塊組成,具體結(jié)構(gòu)如圖1所示。其中,圖像預(yù)處理模塊完成輸入圖像的預(yù)處理工作,實(shí)現(xiàn)圖像的灰度和二值化、圖像的傾斜校正等;文檔圖像分割模塊實(shí)現(xiàn)了對(duì)文檔整體結(jié)構(gòu)的分析與處理,完成了文檔中單個(gè)文本行和單個(gè)文字的分割;文字識(shí)別模塊完成了對(duì)單個(gè)文字的識(shí)別及數(shù)字化轉(zhuǎn)換;文字閱讀模塊能夠根據(jù)文字識(shí)別模塊得到的內(nèi)容進(jìn)行語(yǔ)音播報(bào)。
圖1 系統(tǒng)結(jié)構(gòu)
由于圖像采集設(shè)備的質(zhì)量參差不齊,文字在采集過程中容易造成形態(tài)畸變、斷筆、粘連和污點(diǎn)等問題。因此,在進(jìn)行文檔分割和文字識(shí)別之前,需要使用圖像預(yù)處理模塊對(duì)帶有噪聲的文檔圖像進(jìn)行預(yù)處理。預(yù)處理的內(nèi)容包括文檔圖像的灰度化、二值化,傾斜檢測(cè)與校正等。對(duì)文檔圖像的處理效果如圖2所示。經(jīng)過圖像的預(yù)處理,原始文檔圖像中的色彩和背景得到了較好的去除,文字本身的特征更加顯著,從而降低了文檔圖像分割和識(shí)別的復(fù)雜度。
圖2 文檔圖像的預(yù)處理
計(jì)算機(jī)中的圖像都是由像素構(gòu)成的,若假設(shè)圖像的背景像素是白點(diǎn),文字、圖形、圖像等所對(duì)應(yīng)的像素是黑點(diǎn),那么一個(gè)像素行(列)的黑點(diǎn)數(shù)的總和,就是這一像素行(列)的投影值,而所有像素行(列)的投影值就是整個(gè)圖像的水平(垂直)投影[5]。因此,為了更好地保留字符中有利于分割的信息,減少其他噪聲因素對(duì)分割過程產(chǎn)生的影響,首先判斷文檔圖像的排列方向,然后采用投影算法對(duì)二值化圖像重復(fù)執(zhí)行水平或垂直投影分割,直到分割結(jié)果為單個(gè)文字塊為止。文檔圖像分割算法的處理流程如圖3所示。
圖3 文字圖像分割流程
由于文檔圖像的排版方向具有一定的規(guī)律性,當(dāng)以錯(cuò)誤的方向?qū)υ紙D像進(jìn)行投影分割時(shí),得到的文字塊一般較少,且大小不規(guī)則;而以正確的方向?qū)υ紙D像進(jìn)行投影分割時(shí),得到的文字塊一般都較多且大小均勻。因此,為了能夠快速判斷文字的排版方向,直接使用水平投影和垂直投影兩種分割算法對(duì)文檔圖像進(jìn)行分割,并得到對(duì)應(yīng)的字塊數(shù)量n1和n2。若n1>n2,說明文檔是按照水平方向排版的,則首先進(jìn)行水平投影,然后再進(jìn)行垂直投影;若n1 圖4 文檔圖像的文本行分割和字符分割 為了提高開發(fā)效率,充分利用已有資源,基于Tesseract實(shí)現(xiàn)了CR&LB系統(tǒng)的文字識(shí)別模塊。Tesseract是惠普布里斯托實(shí)驗(yàn)室在1985到1995年間開發(fā)的一個(gè)開源的OCR引擎,曾經(jīng)在1995 UNLV精確度測(cè)試中名列前茅。2005年,惠普將其對(duì)外開源,2006由Google對(duì)Tesseract進(jìn)行改進(jìn)、消除Bug、優(yōu)化工作。2006年時(shí),Tesseract就被認(rèn)為是最精準(zhǔn)的開源光學(xué)字符識(shí)別引擎之一。 Tesseract與Leptonica圖片處理庫(kù)結(jié)合,可以讀取各種格式的圖像并將它們轉(zhuǎn)化成超過60種語(yǔ)言的文本。同時(shí),它也支持使用用戶自定義的文字庫(kù)來強(qiáng)化訓(xùn)練,使圖像轉(zhuǎn)換為文本的能力不斷增強(qiáng)。 文字閱讀模塊實(shí)現(xiàn)了將一段文字轉(zhuǎn)換為語(yǔ)音的功能。為了讓聲音聽起來更加自然,使機(jī)器能夠像人一樣開口說話,需要合成不同音色、語(yǔ)速和語(yǔ)調(diào)的聲音。因此,選擇Kaldi來實(shí)現(xiàn)文字閱讀模塊。Kaldi是當(dāng)前非常流行的開源語(yǔ)音識(shí)別工具(Toolkit),提供了基于有限狀態(tài)變換器(finite-state transducers)的語(yǔ)音識(shí)別系統(tǒng)、詳細(xì)的文件和腳本來輔助我們構(gòu)建完整的文字閱讀模塊。Kaldi使用C++編寫,其核心庫(kù)支持所有語(yǔ)音上下文的建模、子空間的高斯混合模型(SGMM)和標(biāo)準(zhǔn)高斯混合模型的聲學(xué)模型建模,以及線性變換和仿射變換等,具有便于理解和擴(kuò)展的特點(diǎn)?;贙aldi的文字閱讀模塊的實(shí)現(xiàn)流程如圖5所示。 圖5 文字閱讀模塊的實(shí)現(xiàn)流程 用戶界面是連接用戶與軟件的窗口,是軟件與用戶交互的主要方式。好的用戶界面能夠幫助用戶快速了解軟件功能并能較快理解、學(xué)會(huì)軟件的使用。因此,在CR&LB系統(tǒng)的界面設(shè)計(jì)過程中,采用VisualC#窗體應(yīng)用程序設(shè)計(jì)并實(shí)現(xiàn)了面向用戶的界面。VisualC#提供了多種不同功能的插件以方便開發(fā)人員使用,在突出“所見即所得”、界面簡(jiǎn)潔、風(fēng)格一致、顯示直觀形象等特點(diǎn)的同時(shí),也與用戶所使用的操作系統(tǒng)UI風(fēng)格保持一致。同時(shí),用戶也可以根據(jù)自身需要對(duì)用戶界面的風(fēng)格進(jìn)行修改,如圖6所示。 圖6 CR&LB系統(tǒng)的用戶界面 CR&LB系統(tǒng)具有良好的用戶交互界面,能夠?qū)崿F(xiàn)隨機(jī)文檔圖像的輸入、識(shí)別和語(yǔ)音播報(bào)。首先,用戶通過點(diǎn)擊“導(dǎo)入圖片”按鈕加入指定的單一文檔圖像,也可以批量選擇需要語(yǔ)音播報(bào)的多個(gè)文檔圖像,如圖7(a)所示。其次,圖像導(dǎo)入后,點(diǎn)擊“讀取”按鈕,系統(tǒng)將自動(dòng)調(diào)用文字識(shí)別模塊對(duì)圖像中的文字進(jìn)行識(shí)別,并將識(shí)別結(jié)果顯示在文本框中,以滿足用戶閱讀的需求,如圖7(b)所示;再次,點(diǎn)擊“文字轉(zhuǎn)語(yǔ)音”按鈕,則系統(tǒng)會(huì)調(diào)用“文字閱讀”模塊讀出圖像中的文字內(nèi)容。 整個(gè)系統(tǒng)界面簡(jiǎn)單,指向明確,用戶非常容易上手使用。同時(shí),通過測(cè)試也可以看出,系統(tǒng)對(duì)文檔圖像的處理、識(shí)別和語(yǔ)音播報(bào)的準(zhǔn)確性較高、效果較好。 圖7 CR&LB系統(tǒng)測(cè)試效果 具有通用性的CR&LB系統(tǒng)可以滿足用戶更多個(gè)性化的需要,但是對(duì)系統(tǒng)的準(zhǔn)確性、效率和可擴(kuò)展性也提出了更高的要求。相信隨著技術(shù)的不斷進(jìn)步,CR&LB可以在更多的領(lǐng)域發(fā)揮它的優(yōu)勢(shì)。1.3 文字識(shí)別模塊
1.4 文字閱讀模塊
2 用戶界面設(shè)計(jì)
3 實(shí)驗(yàn)
4 小結(jié)