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