使用Google的Tesseract和OpenCV構(gòu)建光學(xué)字符識別(OCR)系統(tǒng)
截至今天,Tesseract可以檢測100多種語言,甚至可以處理從右到左的文本,例如阿拉伯語或希伯來語!難怪Google會將其用于移動設(shè)備,視頻和Gmail的圖像垃圾郵件檢測算法中的文本檢測。從版本4開始,Google對該OCR引擎進行了重大改進。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)后,可以使用以下命令從命令行輕松運行它(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ù)圖像中的文本進行調(diào)整以獲得更好的結(jié)果
Pyteseract但是,除了命令行方法之外,你還可以使用Pytesseract(https://github.com/madmaze/pytesseract) :Tesseract的Python包裝器。使用此功能,你可以通過編寫簡單的Python腳本使用Tesseract OCR輕松實現(xiàn)自己的文本識別器。你可以使用pip install pytesseract命令下載Pytesseract 。Pytesseract的主要功能是image_to_text(),它將圖像和命令行選項作為其參數(shù):
Tesseract面臨的挑戰(zhàn)是什么?Tesseract并不完美,這不是什么秘密。當(dāng)圖像有很多噪聲或者語言的字體是Tesseract OCR沒有經(jīng)過訓(xùn)練的字體時,它的性能很差。其他條件(如文本的亮度或傾斜度)也會影響Tesseract的性能。然而,它是文本識別的一個很好的起點,具有低努力和高產(chǎn)出的特點。文本檢測的不同方法Tesseract假定輸入文本圖像是干凈的。不幸的是,許多輸入圖像將包含過多的對象,而不僅僅是干凈的預(yù)處理文本,因此,必須具有一個良好的文本檢測系統(tǒng),該系統(tǒng)可以檢測隨后可以輕松提取的文本。文本檢測有幾種方法:使用OpenCV的傳統(tǒng)方式使用當(dāng)代深度學(xué)習(xí)模型建立自己的自定義模型使用OpenCV進行文本檢測使用OpenCV進行文本檢測是經(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進行文本識別實現(xiàn)的,顯然,輪廓并不是每次都檢測到文本。但是,使用OpenCV進行文本檢測仍然是一項繁瑣的任務(wù),需要使用大量參數(shù)。同樣,它在泛化方面的表現(xiàn)也不好,更好的方法是使用EAST文本檢測模型。當(dāng)代深度學(xué)習(xí)模型– EASTEAST是一種高效、準(zhǔn)確的場景文本檢測器,是一種從自然場景圖像中檢測文本的深度學(xué)習(xí)模型,它非?焖俸蜏(zhǔn)確,因為它能夠以13.2fps的速度檢測720p圖像,f值為0.7820。該模型由一個完全卷積網(wǎng)絡(luò)和一個非最大抑制階段組成,用于預(yù)測單詞或文本行。但是,該模型不包括其他先前模型所涉及的可以優(yōu)化模型的中間步驟,例如候選建議,文本區(qū)域形成和單詞劃分。你可以看一下作者在論文中提供的以下圖像,將EAST模型與其他先前模型進行了比較:

請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
推薦專題
- 1 UALink規(guī)范發(fā)布:挑戰(zhàn)英偉達AI統(tǒng)治的開始
- 2 北電數(shù)智主辦酒仙橋論壇,探索AI產(chǎn)業(yè)發(fā)展新路徑
- 3 降薪、加班、裁員三重暴擊,“AI四小龍”已折戟兩家
- 4 “AI寒武紀(jì)”爆發(fā)至今,五類新物種登上歷史舞臺
- 5 國產(chǎn)智駕迎戰(zhàn)特斯拉FSD,AI含量差幾何?
- 6 光計算迎來商業(yè)化突破,但落地仍需時間
- 7 東陽光:2024年扭虧、一季度凈利大增,液冷疊加具身智能打開成長空間
- 8 地平線自動駕駛方案解讀
- 9 封殺AI“照騙”,“淘寶們”終于不忍了?
- 10 優(yōu)必選:營收大增主靠小件,虧損繼續(xù)又逢關(guān)稅,能否乘機器人東風(fēng)翻身?