訂閱
糾錯(cuò)
加入自媒體

使用Google的Tesseract和OpenCV構(gòu)建光學(xué)字符識別(OCR)系統(tǒng)


截至今天,Tesseract可以檢測100多種語言,甚至可以處理從右到左的文本,例如阿拉伯語或希伯來語!難怪Google會(huì)將其用于移動(dòng)設(shè)備,視頻和Gmail的圖像垃圾郵件檢測算法中的文本檢測。從版本4開始,Google對該OCR引擎進(jìn)行了重大改進(jìn)。Tesseract 4.0添加了新的OCR引擎,該引擎使用基于LSTM(長期短期記憶,https://www.a(chǎn)nalyticsvidhya.com/blog/2017/12/fundamentals-of-deep-learning-introduction-to-lstm/)  的神經(jīng)網(wǎng)絡(luò)系統(tǒng),這是解決序列預(yù)測問題的最有效解決方案之一。盡管它以前使用模式匹配的OCR引擎仍可作為舊代碼使用。將Tesseract下載(https://tesseract-ocr.github.io/tessdoc/Home.html) 到系統(tǒng)后,可以使用以下命令從命令行輕松運(yùn)行它(https://tesseract-ocr.github.io/tessdoc/Command-Line-Usage.html):tesseract <test_image> <o(jì)utput_file_name> -l <language(s)> --oem <mode> --psm <mode>

你可以更改Tesseract配置以獲得最適合你的圖像的結(jié)果:語言(-l) : 使用Tesseract可以檢測一種或多種語言O(shè)CR引擎模式(-oem): 如你所知,Tesseract 4具有LSTM和Legacy OCR引擎。根據(jù)它們的組合,有4種有效的操作模式

頁面分割(–psm) : 可以根據(jù)圖像中的文本進(jìn)行調(diào)整以獲得更好的結(jié)果

Pyteseract但是,除了命令行方法之外,你還可以使用Pytesseract(https://github.com/madmaze/pytesseract) :Tesseract的Python包裝器。使用此功能,你可以通過編寫簡單的Python腳本使用Tesseract OCR輕松實(shí)現(xiàn)自己的文本識別器。你可以使用pip install pytesseract命令下載Pytesseract  。Pytesseract的主要功能是image_to_text(),它將圖像和命令行選項(xiàng)作為其參數(shù):

Tesseract面臨的挑戰(zhàn)是什么?Tesseract并不完美,這不是什么秘密。當(dāng)圖像有很多噪聲或者語言的字體是Tesseract OCR沒有經(jīng)過訓(xùn)練的字體時(shí),它的性能很差。其他條件(如文本的亮度或傾斜度)也會(huì)影響Tesseract的性能。然而,它是文本識別的一個(gè)很好的起點(diǎn),具有低努力和高產(chǎn)出的特點(diǎn)。文本檢測的不同方法Tesseract假定輸入文本圖像是干凈的。不幸的是,許多輸入圖像將包含過多的對象,而不僅僅是干凈的預(yù)處理文本,因此,必須具有一個(gè)良好的文本檢測系統(tǒng),該系統(tǒng)可以檢測隨后可以輕松提取的文本。文本檢測有幾種方法:使用OpenCV的傳統(tǒng)方式使用當(dāng)代深度學(xué)習(xí)模型建立自己的自定義模型使用OpenCV進(jìn)行文本檢測使用OpenCV進(jìn)行文本檢測是經(jīng)典的處理方式。你可以應(yīng)用各種操作(https://www.a(chǎn)nalyticsvidhya.com/blog/2019/03/opencv-functions-computer-vision-python/) ,如圖像調(diào)整大小,模糊,閾值化,形態(tài)學(xué)操作等,以清理圖像。

在這里,我們有按灰度,模糊度和閾值順序排列的圖像。完成此操作后,可以使用OpenCV輪廓檢測來檢測輪廓以提取數(shù)據(jù)塊:最后,你可以在預(yù)測文本的輪廓上應(yīng)用文本識別:

上面圖像中的結(jié)果是通過最少的預(yù)處理和輪廓檢測以及隨后使用Pytesseract進(jìn)行文本識別實(shí)現(xiàn)的,顯然,輪廓并不是每次都檢測到文本。但是,使用OpenCV進(jìn)行文本檢測仍然是一項(xiàng)繁瑣的任務(wù),需要使用大量參數(shù)。同樣,它在泛化方面的表現(xiàn)也不好,更好的方法是使用EAST文本檢測模型。當(dāng)代深度學(xué)習(xí)模型– EASTEAST是一種高效、準(zhǔn)確的場景文本檢測器,是一種從自然場景圖像中檢測文本的深度學(xué)習(xí)模型,它非?焖俸蜏(zhǔn)確,因?yàn)樗軌蛞?3.2fps的速度檢測720p圖像,f值為0.7820。該模型由一個(gè)完全卷積網(wǎng)絡(luò)和一個(gè)非最大抑制階段組成,用于預(yù)測單詞或文本行。但是,該模型不包括其他先前模型所涉及的可以優(yōu)化模型的中間步驟,例如候選建議,文本區(qū)域形成和單詞劃分。你可以看一下作者在論文中提供的以下圖像,將EAST模型與其他先前模型進(jìn)行了比較:

<上一頁  1  2  3  下一頁>  
聲明: 本文由入駐維科號的作者撰寫,觀點(diǎn)僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報(bào)。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個(gè)字

您提交的評論過于頻繁,請輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無評論

暫無評論

人工智能 獵頭職位 更多
掃碼關(guān)注公眾號
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯(cuò)
x
*文字標(biāo)題:
*糾錯(cuò)內(nèi)容:
聯(lián)系郵箱:
*驗(yàn) 證 碼:

粵公網(wǎng)安備 44030502002758號