17個超級實用OCR開源項目
大家好,我是Echa。
光學字符識別(Optical Character Recognition, OCR)是指對文本資料的圖像文件進行分析識別處理,獲取文字及版面信息的過程。亦即將圖像中的文字進行識別,并以文本的形式返回。
光學字符識(OCR)別技術應用
OCR技術的特點
提高效率:OCR技術相比傳統的人工方式,能夠更快實現信息錄入。
降低成本:以機器代替人工,能夠節省人力成本的開銷。
適用性強:OCR技術能夠實現多場景和多語言的識別,還能通過提取圖像中的文本分析其所包含的語義信息,為機器理解圖像提供高層語義線索。
OCR技術的特點
OCR的應用場景
- 卡片證件識別類:身份證識別、銀行卡識別、駕駛證識別、行駛證識別、港澳通行證識別、護照識別、戶口簿識別、營業執照識別;
- 票據類識別:增值稅發票識別、支票識別、承兌匯票識別、銀行票據識別、營業執照識別、物流快遞識別;
- 文字信息結構化視頻類識別:主要有字幕識別和文字跟蹤;
- 其他識別:二維碼識別、一維碼識別、車牌識別、數學公式識別、物理化學符號識別、音樂符號識別、工程圖識別、流程圖識別、古跡文獻識別、手寫輸入識別;
- 除了以上列舉的之外,還有自然場景下的文字識別、菜單識別、橫幅檢測識別、圖章檢測識別、廣告類圖文識別等圍繞審核相關的業務應用。
OCR的應用場景
借此機會,小編今天又給大家好物分享17個超級實用OCR開源項目,涉及各個應用場景,覆蓋人、車、OCR等9大經典識別場景、在CPU上可3毫秒實現急速識別、一行代碼就可實現迭代訓練的項目。希望對大家對OCR有新的認識和幫助。同時祝愿每一個粉絲都能擁有一份健康的身體,每天都能有充沛的精力去實現自己的夢想。
全文大綱
- yx-image-recognition - 圖像識別管理系統
- EasyPR - 是一個中文的開源車牌識別系統
- meihu-meiyan - 美狐直播美顏系統
- dface - 是個開源的深度學習人臉檢測和人臉識別系統
- HyperLPR - 高性能中文車牌識別管理系統
- idCardCv - 證件識別管理系統
- verification-decoder - 驗證碼CNN識別庫
- medicine-identification - 中藥圖像識別系統
- face-search - 人臉搜索采集管理系統
- PaddleDetection - 目標檢測管理系統
- red5-rtmp-push - 天網人臉識別系統
- open-anpr - 智能車牌識別管理系統,支持14種中文車牌類型。
- Free Offline OCR - 離線的中文文本檢測+識別SDK
- car- 車輛檢測計數+車牌定位+車牌識別的融合技術
- document-ocr - 一個相對完整的文檔分析和識別項目
- gradio_yolov5_det - 通用目標檢測系統
- mobile-lpr - 是一個面向移動端的準商業級車牌識別庫
yx-image-recognition - 圖像識別管理系統
Gitee:https://gitee.com/admin_yu/yx-image-recognition
介紹
基于spring boot + maven + opencv 實現的圖像深度學習Demo項目,包含車牌識別、人臉識別、證件識別等功能,貫穿樣本處理、模型訓練、圖像處理、對象檢測、對象識別等技術點
功能特點
- 藍、綠、黃車牌檢測及車牌號碼識別
- 網上常見的輪廓提取車牌算法JAVA實現
- hsv色彩分割提取車牌算法JAVA實現
- harrcascade特征識別算法 JAVA實現
- 基于svm算法的車牌檢測訓練JAVA實現
- 基于ann算法的車牌號碼識別訓練JAVA實現
- 人臉檢測 接下來將實現人臉識別
- 圖片工具: 目前實現了HSV色彩切割,后續將添加更多使用的圖片處理工具,用于輔助算法優化
- 證件文字識別
系統截圖
EasyPR - 是一個中文的開源車牌識別系統
Gitee:https://gitee.com/liuruoze/EasyPR
介紹
EasyPR是一個開源的中文車牌識別系統,其目標是成為一個簡單、高效、準確的非限制場景(unconstrained situation)下的車牌識別庫。
相比于其他的車牌識別系統,EasyPR有如下特點:
- 它基于openCV這個開源庫。這意味著你可以獲取全部源代碼,并且移植到opencv支持的所有平臺。
- 它能夠識別中文。例如車牌為蘇EUK722的圖片,它可以準確地輸出std:string類型的"蘇EUK722"的結果。
- 它的識別率較高。圖片清晰情況下,車牌檢測與字符識別可以達到80%以上的精度。
例子
假設我們有如下的原始圖片,需要識別出中間的車牌字符與顏色:
經過EasyPR的第一步處理車牌檢測(PlateDetect)以后,我們獲得了原始圖片中僅包含車牌的圖塊:
接著,我們對圖塊進行OCR過程,在EasyPR中,叫做字符識別(CharsRecognize)。我們得到了一個包含車牌顏色與字符的字符串:
“藍牌:蘇EUK722”
截圖:
meihu-meiyan - 美狐直播美顏系統
Gitee:https://gitee.com/MeiHuSDK/meihu-meiyan
介紹
美狐美顏sdk,滿足客戶在直播平臺實現美顏效果、短視頻系統自帶美顏特效等眾多音視頻軟件業務場景的美化需求的第三方美顏api,是以人臉識別、人臉關鍵點技術為核心,提供專業級實時美顏、大眼瘦臉、美顏濾鏡、動態貼紙、美白磨皮、美型、萌顏等特效的接口,以打造多功能視頻美顏軟件為目標。
截圖
dface - 是個開源的深度學習人臉檢測和人臉識別系統
Gitee:https://gitee.com/kuaikuaikim/dface
介紹
基于多任務卷積網絡(MTCNN)和Center-Loss的多人實時人臉檢測和人臉識別系統。
DFace 是個開源的深度學習人臉檢測和人臉識別系統。所有功能都采用 pytorch 框架開發。pytorch是一個由facebook開發的深度學習框架,它包含了一些比較有趣的高級特性,例如自動求導,動態構圖等。DFace天然的繼承了這些優點,使得它的訓練過程可以更加簡單方便,并且實現的代碼可以更加清晰易懂。 DFace可以利用CUDA來支持GPU加速模式。
HyperLPR - 高性能中文車牌識別管理系統
Gitee:https://gitee.com/zeusees/HyperLPR
介紹
HyperLRP是一個開源的、基于深度學習高性能中文車牌識別庫,支持PHP、C/C++、Python語言,Windows/Mac/Linux/Android/IOS 平臺。
特性
- 速度快 720p,單核 Intel 2.2G CPU (MaBook Pro 2015)平均識別時間低于100ms
- 基于端到端的車牌識別無需進行字符分割
- 識別率高,卡口場景準確率在95%-97%左右
- 輕量,總代碼量不超1k行
可識別和待支持的車牌的類型
- 單行藍牌
- 單行黃牌
- 新能源車牌
- 白色警用車牌
- 使館/港澳車牌
- 教練車牌
- 武警車牌
- 民航車牌
- 雙層黃牌
- 雙層武警
- 雙層軍牌
- 雙層農用車牌
- 雙層個性化車牌
截圖
idCardCv - 證件識別管理系統
Gitee:https://gitee.com/endlesshh/idCardCv
介紹
idCardCv 身份證號碼識別,適用于web端身份證識別服務器,前端進行身份證號碼定位,后端精準處理識別,準確率在96左右,對于自治區的身份證前面有其他文字的一樣可以識別。
verification-decoder - 驗證碼CNN識別庫
Gitee:https://gitee.com/kdldbq/verification-decoder
介紹
通過訓練CNN(卷積神經網絡)對4位驗證碼識別,其中字符有0-9a-zA-Z共計62種,但是預測結果不區分大小寫,所以最終預測結果為36種。驗證碼由多個字體、顏色、干擾線隨機生成。
使用TensorFlow,CNN識別4位字符驗證碼,60萬次訓練,90.02%正確率
結果
以下是對100萬張訓練驗證碼進行訓練,20萬張不參與訓練的測試驗證碼測試出的結果
一般的驗證碼系統都會去掉類似的字符(例如:i, l, o, 1, 0...),為了更全面的測試,所以我選擇將這些難以識別的字符也添加進去測試,可以看出有這些難以辨別的字符時,連人類也很難去完全預測正確(下圖,第一行為預測值,第二行為真實值)
訓練60萬次時的結果:
medicine-identification - 中藥圖像識別系統
Gitee:https://gitee.com/xiaohaoo/medicine-identification
介紹
中藥識別系統主要采用APP端拍照上傳的方式,構建卷積神經網絡(CNN)對圖像進行識別,具有識別效率高,準確度高的特點。APP端的功能包括但不限于拍照識別、中藥問答(付費咨詢)、檢索查詢、中藥性狀以及功效查看、方劑智能推薦【開發中】等;本系統包含APP端以及服務器端。
系統截圖
face-search - 人臉搜索采集管理系統
Gitee:https://gitee.com/open-visual/face-search
介紹
本項目是阿里云視覺智能開放平臺的人臉搜索M:N的開源替代,項目中使用的模型均為開源模型,項目支持opensearch、milvus和proxima向量存儲庫,并具有較高的自定義能力。
系統架構圖
截圖
PaddleDetection - 目標檢測管理系統
Gitee:https://gitee.com/paddlepaddle/PaddleDetection
介紹
PaddleDetection是一個基于PaddlePaddle的目標檢測端到端開發套件,在提供豐富的模型組件和測試基準的同時,注重端到端的產業落地應用,通過打造產業級特色模型|工具、建設產業應用范例等手段,幫助開發者實現數據準備、模型選型、模型訓練、模型部署的全流程打通,快速進行落地應用。
截圖
red5-rtmp-push - 天網人臉識別系統
Gitee:https://gitee.com/endlesshh/red5-rtmp-push
介紹
天網人臉識別系統,獲取視頻流 進行人臉識別后推送到流媒體服務器實時展示
整個系統共有兩個項目組成
- red5_hls 流媒體服務器是對red5服務器進行springboot構建,同時支持hls,rtsp等流的播放支持
- red5-rtmp-push 接受視頻流并推送到服務器
系統截圖
open-anpr - 智能車牌識別管理系統,支持14種中文車牌類型。
Gitee:https://gitee.com/open-visual/open-anpr
最全車牌識別
- 最全車牌識別算法,支持14種中文車牌類型。
- 項目使用純Java開發,免去使用Python帶來的服務不穩定性。
- 歡迎大家貢獻代碼,如果你覺得項目還不錯,請給個star。
Free Offline OCR - 離線的中文文本檢測+識別SDK
Gitee:https://gitee.com/microic/tr
一款針對掃描文檔的離線文本識別SDK,核心代碼全部采用C++開發,并提供Python接口
car- 車輛檢測計數+車牌定位+車牌識別的融合技術
Gitee: https://gitee.com/jiang_maowei/car
介紹
基于pytorch深度學習框架,使用開源模型yolov4實現模板檢測與yolov5實現車牌檢測與LPRNet實現車牌檢測
基于win10系統,使用anaconda配置python環境,在anaconda里面下載vscode對項目進行編輯,
截圖
document-ocr - 一個相對完整的文檔分析和識別項目
Gitee:https://gitee.com/rockyzheng/document-ocr
介紹
一個相對完整的文檔分析和識別項目含以下五部分:
- 文檔分析數據,
- 識別數據合成工具,
- 文檔版面分析模型,
- 文本行識別模型,
- 單字識別模型
數據
數據從網絡抓取的公開上市公司年報數據 PDF 文件解析生成,有圖片和文本的位置信息
截圖
gradio_yolov5_det - 通用目標檢測系統
Gitee:https://gitee.com/CV_Lab/gradio_yolov5_det
介紹
基于Gradio的YOLOv5通用目標檢測演示系統,可自定義檢測模型、演示便捷、安裝簡單
流程圖
截圖
mobile-lpr - 是一個面向移動端的準商業級車牌識別庫
Gitee:https://gitee.com/damone/mobile-lpr
介紹
Mobile-LPR 是一個面向移動端的準商業級車牌識別庫,以NCNN作為推理后端,使用DNN作為算法核心,支持多種車牌檢測算法,支持車牌識別和車牌顏色識別。
特點
- 超輕量,核心庫只依賴NCNN,并且對模型量化進行支持
- 多檢測,支持SSD,MTCNN,LFFD等目標檢測算法
- 精度高,LFFD目標檢測在CCPD檢測AP達到98.9,車牌識別達到99.95%, 綜合識別率超過99%
- 易使用,只需要10行代碼即可完成車牌識別
- 易擴展,可快速擴展各類檢測算法
流程圖
截圖
最后
一行代碼,可能會創造出下一個讓人驚嘆的產品;一個創新,可能會開啟一個全新的科技時代;一份初心,可能會影響到無數人的生活;無論是在大公司工作,還是在小團隊奮斗;無論是資深的程序員,還是剛剛入行的新手;每個人的代碼,都有力量改變世界。