OCR開源項目對比總結(jié)

OCR是什么?

光學(xué)字符識別(Optical Character Recognition, OCR)是指對文本資料的圖像文件進行分析識別處理,獲取文字及版面信息的過程。亦即將圖像中的文字進行識別,并以文本的形式返回。

目前發(fā)展現(xiàn)狀

ocr的發(fā)展已經(jīng)有了非常多的積累,一般人或者企業(yè)使用, 都是直接使用第三方的服務(wù),目前提供第三方服務(wù)的大企業(yè)也非常多,百度,阿里云,騰訊等等,都提供了非常方便的api接口,可以進行調(diào)用,識別的速度、精確度和效果也都是非常不錯的。唯一的缺點就是api的調(diào)用是需要收費的,對于調(diào)用頻次不高的個人和企業(yè),這個費用還是非常低的。

為什么企業(yè)要使用開源的而不是直接使用api服務(wù)?

目前因為公司的現(xiàn)狀,使用開源的有幾個目的

  1. 每天調(diào)用的頻次比較高 , 以后可能越來越高, 所以基于費用的考慮是最主要的。
  2. 目前ocr的算法研究基本趨于成熟,并且目前對識別的精度要求不是太高,目前開源項目基本能夠滿足
  3. 對于cv和深度學(xué)習(xí)進行一定程度的積累和了解,為后續(xù)工作做一些鋪墊
  4. 學(xué)習(xí)開源ocr的模型構(gòu)建,方便后續(xù)對于模型的更新

目前開源的項目現(xiàn)狀

目前針對ocr的相關(guān)開源項目也還是有不少的,作者正好是公司也需要類似的功能,所以做了一些簡單的調(diào)研,在這里進行記錄。

對于調(diào)研不準確的希望大家指出

  1. Tesseract
  2. PaddleOCR
  3. EasyOCR
  4. chineseocr
  5. chineseocr_lite
  6. TrWebOCR
  7. cnocr

tesseract

Tesseract 是谷歌開發(fā)并開源的圖像文字識別引擎,使用python開發(fā)。

優(yōu)勢

  1. github上面star非常多,項目非?;钴S
  2. 識別的語言和文字非常多
  3. 后面做背書的公司非常強(google)

劣勢

  1. 不是專門針對中文場景
  2. 相關(guān)文檔主要是英文,對于閱讀和理解起來有一定困難
  3. 學(xué)習(xí)成本比較高
  4. 源碼較多,并且部分源碼是c++,學(xué)習(xí)起來難度比較大

所以針對目前公司的現(xiàn)狀,放棄了這個項目的學(xué)習(xí)和調(diào)研

PaddleOCR

PaddleOCR 是百度開源的中文識別的ocr開源軟件

優(yōu)勢

  1. github上面star非常多,項目非?;钴S
  2. 模型只針對中文進行訓(xùn)練
  3. 后面做背書的公司非常強(baidu)
  4. 相關(guān)的中文文檔非常齊全
  5. 識別的精確度比較高

劣勢

  1. 目前使用的訓(xùn)練模型是基于百度公司自己的PaddlePaddle框架,對于小公司來說并不主流(對比于ts或者pytorch),所使用深度學(xué)習(xí)框架為后續(xù)其他深度學(xué)習(xí)無法做很好的鋪墊
  2. 項目整體比較復(fù)雜,學(xué)習(xí)成本較高

EasyOCR

EasyOCR 是一個用 Python 編寫的 OCR 庫,用于識別圖像中的文字并輸出為文本,支持 80 多種語言。

優(yōu)勢

  1. github上面的star也是比較多,但是最近不是特別活躍
  2. 支持的語言也是非常多的,多達80多種
  3. 識別的精確度尚可

劣勢

  1. 從官方的頁面體驗來說識別的速度較慢
  2. 識別的文字種類多,學(xué)習(xí)難度較高
  3. 相關(guān)的官方文檔是基于英文的,學(xué)習(xí)難度較高,對于新手不太友好

chineseocr

chineseocr

優(yōu)勢

  1. github上面的star也是比較多
  2. 專門針對中文進行學(xué)習(xí)和訓(xùn)練的模型
  3. 相關(guān)的文檔比較多,上手相對比較容易

劣勢

  1. 因為沒有大廠和公司的背書, 所以存在一些bug
  2. 對于復(fù)雜場景下的效果不佳
  3. 模型都是現(xiàn)成的,如果要新訓(xùn)練模型難度比較高

chineseocr_lite

chineseocr_lite

優(yōu)勢

  1. github上面的star也是比較多
  2. 專門針對中文進行學(xué)習(xí)和訓(xùn)練的模型
  3. 相關(guān)的文檔比較多,上手相對比較容易
  4. 比較輕量級,部署也比較方便

TrWebOCR

TrWebOCR

優(yōu)勢

  1. 部署簡單
  2. 使用簡單
  3. 有對應(yīng)的web頁面,測試方便
  4. 有對應(yīng)的web接口,方便調(diào)用

劣勢

  1. 核心模型不開源,無法進行再次學(xué)習(xí)
  2. 無法進行后續(xù)訓(xùn)練
  3. 必須要聯(lián)網(wǎng)才能使用
  4. 精度識別一般
  5. 項目不是很活躍

cnocr

cnocr

優(yōu)勢

  1. 使用簡單
  2. 文檔齊全
  3. 代碼全部開源,可以進行修改
  4. 預(yù)定義的模型較多
  5. 便于學(xué)習(xí)和模型重新訓(xùn)練

劣勢

  1. 精確度不高
  2. 沒有對應(yīng)的web界面和接口
  3. 需要配合cnstd進行使用

結(jié)論

針對上面的比較討論,同時根據(jù)現(xiàn)在的公司的情況和之前既定的一些目標,暫時選擇最簡單的cnocr進行學(xué)習(xí)和內(nèi)部學(xué)習(xí)和使用。同時也針對目前cnocr僅僅是一個python包,而且無法通過接口進行調(diào)用的情況,做了一個補充項目hn_ocr。

目前放到github上面,歡迎大家一起學(xué)習(xí)和完善。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容