關於圖文識別功能相關技術的大致實現
關於圖文識別功能相關技術的實現
轉載請註明源地址:http://www.cnblogs.com/funnyzpc/p/8908906.html
上一章,寫的是SSL證照配置,中間折騰了好一會,在此感謝SSL證照發行商的協助;這次我就講講ocr識別的問題,先說說需求來源吧。。。
之前因為風控每次需要手動P協議檔案和身份證(脫敏),還要識別證件及圖片檔案的內容,覺得狠狠狠麻煩,遂就找到了技術總監,技術總監一拍腦袋,額,小鄒啊。。。
呃,一開始並沒抱太大希望,不過還是花了些心思做了些需求實現的調研,怎麼辦 google、duckduckgo、github一路找下來就有了幾個工程了,嘿嘿~,可惜還沒高興到,沒想到的是這些工程一個比一個坑,不是依賴windows系統元件就是程式碼bug不斷,作者們,能用點兒心麼
日夜操勞,加班啊,總算是將幾個工程全都修得能跑起來了,大費周折。。。難得啊
欸,可惜效果均不佳;現開始,我總結下一些主流的圖文識別技術,只是淺聊哦。。。
首先,這些工程大致分兩類:
一類是純演算法,不附帶機器學習功能的,且需要依賴於window系統元件的工程,比如tesseract和tess4j,識別效果可以說是巨差(可能我的技術很菜的原因),但有一點兒值得讚許,就是識別結果的格式還算不錯,這類圖文識別的特點大致有如下幾點:
A>工程程式碼量較大
B>依賴window元件,需要在window系統下才能執行
C>識別效果無法通過學習逐漸優化
D>識別出來的文字時常亂碼,中文識別亂碼錯別字較多
E>識別結果通常使用格式化模子來格式化結果,遂,識別結果的格式還算過得去
一類是基於機器學習(比如Tensorflow)的工程,這些工程參差不齊,存在外掛版本問題,尤其是python外掛,實在在太太太難裝了,在一就是工程大多較為簡陋,由於機器學習具有不斷改善的趨勢,這是基於機器學習的圖文識別的最大優勢,總結起來,基於機器學習的圖文識別的特點兒大致有如下幾點:
A>工程比較簡單,程式碼量不是很多
B>依賴的語言外掛,如python實在難以安裝
C>有很多優化的方向,比如使用顯示卡,優化演算法(卷積神經網路)來提高識別速度及模型準確度
D>十分耗費計算機欄位,一般識別一頁A4大小的圖片中的內容,(我使用Macbook Pro) 最快也用了二十多秒
E>識別的結果比較亂,但對於中文,尤其是圖片較好的中文的文字識別準確率能達到百分之七十網上,但是識別格式和文字準確度不如上者
F>由於是基於機器學習,遂需要大量的資料餵養以提高識別的準確率,餵養的資料十分可觀
額,總的來說,後者的優勢較大,也是趨勢,比如騰訊QQ的圖片識別還有百度大腦AI這些基本都是基於機器學習,個人覺得,如果投入一個團隊去專門研究開發一個圖文識別的產品,也是比較容易實現的,何況這個方向向前走就是人工智慧,儘管現在看起來有些智障…。
哦,大致總結完了,我就展示下基於tess4j和chinese-ocr這兩專案的實現效果,我的輸入是身份證:
(注意:源圖片是從github上拉下來的,個人做了些簡陋的脫敏處理!)
下面是基於tess4j實現的結果:
tess4j的實現只能基於windows元件實現,故專案只能在windows下執行,另外tesseract也是windows元件的實現。
一下是基於chinese-ocr的專案的實現的結果:
chinese-orc是基於python語言+tensorflow的實現,結果一目瞭然,需要說的是,一下幾個也是基於=>
text-detection-ctpn :基於Tensorflow實現的圖片識別,未除錯通過
tensorflow-ocr :基於tensorflow實現的圖片識別,未除錯通過
B>對於部分(例如 test.py)檔案跑不起來的,請嘗試著將這個檔案放置在工程主目錄下,但同時請注意 import引用的檔案(可能需要手動修改)
funnyzpc@gmail.com
相關文章
- 關於Python Number 相關的知識!Python
- 關於IT,關於技術
- 圖解Linux的IO模型和相關技術圖解Linux模型
- 『現學現忘』Docker相關概念 — 8、虛擬化技術和容器技術的關係Docker
- 深入淺出換膚相關技術以及如何實現
- React相關知識點:關於ReduxReactRedux
- 關於人像後期處理進階的相關技術步驟
- Gantt圖和PERT圖的相關知識
- DB2中如何實現Oracle的相關功能DB2Oracle
- 實現VR直播的關鍵技術VR
- 一些關於react的keep-alive功能相關知識在這裡(下)ReactKeep-Alive
- 一些關於react的keep-alive功能相關知識在這裡(上)ReactKeep-Alive
- 關於技術方案
- 關於技術文件
- 關於Hibernate和hql語句的相關知識點
- 關於技術的選型
- 關於輪播圖的技術理解你知道多少
- 關於影像識別的問題
- 2021車牌識別相機技術發展現狀
- Linux技術相關命令有哪些Linux
- 微服務框架相關技術整理微服務框架
- 圖學習相關論文快訊
- 驗證碼的作用和相關技術
- 提問式複習:圖文回顧 redo log 相關知識
- Python資料型別相關知識Python資料型別
- 騰訊AI Lab深度解讀文字生成技術相關論文AI
- 字串相關函式的實現字串函式
- /proc的相關知識
- Redis的相關知識Redis
- 關於微信分享自定義標題,說明,圖示基於PHP的功能實現PHP
- 100 個容器技術相關技能棧
- IPv6 相關技術調研
- 大資料相關技術有哪些?大資料
- Flutter核心技術與實戰 04 | Flutter區別於其他方案的關鍵技術是什麼?Flutter
- OCR證件識別技術的功能特點
- 滴滴導航若干關鍵功能的技術突破與實踐
- 基於深度神經網路的人臉識別相關問題神經網路
- 你需要知道這些關於技術美術的知識構成