天天看點

如何精準實作OCR文字識别?

歡迎大家前往騰訊雲+社群,擷取更多騰訊海量技術實踐幹貨哦~

本文由雲計算基礎發表于雲+社群專欄
如何精準實作OCR文字識别?

前言

2018年3月27日騰訊雲雲+社群聯合騰訊雲智能圖像團隊共同在客戶群舉辦了騰訊雲OCR文字識别——智能圖像分享活動,活動舉辦期間使用者耐心聽分享嘉賓的介紹,并提出了相關的問題,智能圖像團隊的科學家和工程師也耐心解答可使用者的疑問。以下就是活動分享的全部内容。

正文

在日常生活工作中,我們難免會遇到一些問題,比如自己辛辛苦苦寫完的資料,好不容易列印出來卻發現源檔案丢了。難的收集了一些名片,卻要很麻煩的一個一個錄入資訊。快遞公司的業務越來越好,但每天卻需要花費很多時間登記錄入運單,效率非常的低。

那麼,有沒有什麼技術能幫助我們解決這些難題呢?有的,那就是OCR文字識别技術。今天我們請到了騰訊雲大資料AI産品中心的AI科學家冀永楠、産品經理Florali、陳英恬,進階工程師肖西華為咱們分享一下騰訊雲近年來在這一領域的探索情況。

什麼是OCR?

OCR 是實時高效的定位與識别圖檔中的所有文字資訊,傳回文字框位置與文字内容。支援多場景、任意版面下整 圖文字的識别,以及中英文、字母、數字的識别。通俗的來說,就是将圖檔上的文字内容,智能識别成為可編輯的文本,例如:

如何精準實作OCR文字識别?

OCR的技術原理是什麼?

OCR本質是圖像識别。其原理也和其他的圖像識别問題基本一樣。包含兩大關鍵技術:文本檢測和文字識别。先将圖像中的特征的提取并檢測目标區域,之後對目标區域的的字元進行分割和分類。

以深度學習興起的時間為分割點,直至近五年之前,業界最為廣泛使用的仍然是傳統的OCR識别技術架構,而随着深度學習的崛起,基于這一技術的OCR識别架構以另外一種新的思路迅速突破了原有的技術瓶頸(如文字定位、二值化和文字分割等),并已在工業界得到廣泛應用。

首先文本定位,接着進行傾斜文本矯正,之後分割出單字後,并對單字識别,最後基于統計模型(如隐馬爾科夫鍊,HMM)進行語義糾錯。

OCR技術的難點是什麼?

複雜背景、藝術字型、低分辨率、非均勻光照、圖像退化、字元形變、多語言混合、文本行複雜版式、檢測框字元殘缺,等等。

如克服這些難點的?

從幾個方面入手。一是使用場景,另一方面是從技術上的改進騰訊優圖實驗室在文本檢測技術方進行了深度優化,提出了Compact Inception,通過設計合理的網絡結構來提升各尺度的文字檢測/提取能力。同時引入RNN多層自适應網絡和Refinement結構來提升檢測完整性和準确性。

如何精準實作OCR文字識别?

img

騰訊雲OCR目前支援什麼功能?

基于騰訊優圖實驗室世界領先的深度學習技術,目前我們已支援: 身份證識别,銀行卡識别,名片識别,營業執照識别,行駛證駕駛證識别,車牌号識别,通用印刷體識别,手寫體識别。

大家可以掃文章頭部的小程式二維碼體驗下我們的小程式。

通用印刷體的技術難點,使用場景

我們知道身份證識别可廣泛應用在金融行業中,有使用者的身份認證中,可以減少使用者的資訊輸入,提升效率,提高使用者體驗,營業執照的識别完全省去了手工錄入的繁瑣,還可以為企業省去大量的人力資源成本,這些場景大家都已經比較熟悉。

對于通用印刷體,騰訊優圖實驗室自主設計一整套全方位多尺度文字識别引擎,可攻破模糊,散焦,透視,文字部分遮擋的問題,識别準确率高達90%以上,處于業界領先水準。使用場景廣泛,例如對任意版面上圖像的文字識别,可廣泛應用在印刷文檔、廣告圖、醫療、物流等行業中的識别。

對于通用印刷體有沒有什麼好的例子?

例如這個廣告,内容多字型,中英文與數字混合,背景也比較随意。咱們的OCR通過透視矯正、去模糊等,能大幅還原圖像真實度,極大提升算法的魯棒性。

如何精準實作OCR文字識别?

再例如識别文字密集,行間距小,透視畸變等的海報。人工識别需要不僅耗費時間,肉眼也比較難識别。但騰訊雲OCR 設計了小而精的特征提取網絡,配合先進的預處理技術,識别準确率高達93%以上。

如何精準實作OCR文字識别?

有時候也會遇到識别率不理想的情況,如何可以提高識别準确率?

首先會确認下目前的場景,造成準确度不高的原因。評估可提高的空間設計,之後做出相應的修改,列入預處理等等。

關于騰訊雲手寫體識别這塊有沒有什麼案例?

騰訊是國内首家将手寫體識别應用在複雜場景下的服務商,數字識别準确率高達90%以上,單字識别速度在15ms以内,複雜漢字準确率超過80%。

騰訊雲手寫體OCR已運用到的運單識别場景,解決了物流行業每日快遞單人工輸入工作量極大且極易出錯,非常低效等問題。

如何精準實作OCR文字識别?

運單識别與傳統人工識别有什麼差別呢?

如果傳統人工識别按照3min/單,1000單需要6.25個人/天,保證運單時效則需要耗費大量人力,考慮人力成本則影響運單及時性,成本和服務難兩全。

我們的運單識别速度可以達到毫秒級/單,并支援24小時識别服務 ,業務增長時隻需要投入計算用伺服器資源即可,彈性較大。

與傳統識别相比,不僅成本可以降低,提高準确性,還可以保護使用者的隐私洩露風險。

目前OCR應用現實中有很廣泛的應用場景,騰訊雲OCR有什麼優勢?

咱們的OCR文字識别技術,目前支援中文簡繁體、英文、數字、标點共10000+标簽,覆寫上百種字型,生僻字版本更支援2W+标簽 。

那咱們在行業中也有不少落地客戶了吧?

新版手Q就用到了咱們的技術,在掃一掃、聊天視窗和空間圖檔大圖預覽共三個入口上支援了提取圖檔中文字的功能。

友善使用者閱讀、編輯、儲存圖檔上的文字,進而可以對提取出的文字進行翻譯、搜尋。在多種場景下可以極大提升使用者對圖檔上文字的閱讀和記錄效率。

如何精準實作OCR文字識别?

企業微信中的名片識也用到了咱們OCR技術。使用者隻需拍照或選擇名片圖檔,就能準确快速地識别出名片中的文字,并自動提取為對應的字段,極大簡化了名片錄入流程,也避免了手動錄入過程可能出現的錯誤。

如何精準實作OCR文字識别?

互動QA

經過上面的分享,使用者也提出了不少問題,我們來看看使用者都問了什麼?

Q:您好,我想問下OCR 識别是否支援H5開發呢?

A:支援,接口是基于http協定,隻要支援http協定都可以使用。

Q:通用印刷體識别剩下的10%,有提高的思路嗎?

A:整體思路還是要回到我們的三大引擎上。逐一進行優化。

  1. 背景識别
  2. 定位引擎
  3. 字段識别引擎

Q:目前印刷體識别上使用的思路是先分割後識别嗎?OCR支援離線識别嗎?

A:思路是先分割後識别,我們的OCR支援離線識别的。

Q:OCR遇到無法分割或者分割錯誤的情況如何處理呢

A:很少有無法分割的情況。分割錯誤肯定會對最後的結果又影響。我們的技術,即便是再字元重疊的情況下也可以做出正确的分割。

Q:我想問下如果針對運單識别場景,請問是否可以智能糾正客戶的位址呢?例如深圳,寫成了深土川。

A:我們會結合NLP技術,結合上下文進行智能糾錯。

Q:目前市面已提供有相關服務,那麼咱們在這塊有什麼與衆不同的地方或者更有優勢的一面呢?

A:我們在OCR上積累的很多的相關經驗,也是國内首家将手寫體識别應用在複雜場景下的服務商。

Q:那請問騰訊雲OCR業務支援什麼語言呀,對文字大小字型等有要求嘛?

A:中文(簡體和繁體),英文及數字。

Q:之前有提到總的分類高達2w+,這種大分類模型是怎麼訓練的。

A:分級,分批訓練。

Q:那我還想問您下車牌自動識别已應用于日常生活場景中。想了解下這個的技術難點是什麼呢?

A:相比于證照類輸入圖來說,車牌輸入圖受限于實際場景配置的攝像監控裝置,及車輛位置的随機變化,産生各種極端角度及光照案例,其品質變化範圍遠大于證照類采集圖像。

Q:您剛才展示都是平整的圖檔,對于手機拍的紙質文檔有一定弧度,比如折過的紙沒壓平,就會有一定弧度,這個能處理嗎?

A:輕微的弧度我們可以通過技術處理,嚴重變形的相對比較困難。

Q:除了支援标準車牌,我們支援識别新能源車嗎?

A:支援的,我們目前已支援藍牌、黃牌、軍牌、警牌、教練車牌、新能源車牌等,目前識别率可達到97%-98%~

Q:請問針對物流公司司機手機拍的照片,一是面單不平整,二是光線有的不理想,三是拍照角度有傾斜。針對以上情況技術方面有沒有解決辦法?

A:拍照角度可以通過幾何算法矯正。光線的問題也可以通過圖像的歸一化增強。單面不平整,這個得看不平整到什麼程度了。

Q:車輛運作中,您這個80%的準确率是指車輛運動過程中拍攝下來的圖還是車輛停止時候拍的圖?

A:我們是按幀處理的。

Q:是否可以經過一定資料積累,糾錯等訓練,進而使其能識别手寫文字?

A:我們已實作手寫體識别~

Q:OCR對運動模糊的場景識别率有多高

A:模糊的程度差異性很大。不好做标準化的統計。圖像品質不佳,最直白的處理方法是做圖像的增強。

Q:貴司技術有相關paper可以查閱嗎?

A:

https://cloud.tencent.com/developer/article/1007166

https://cloud.tencent.com/developer/article/1008463

https://cloud.tencent.com/developer/article/1029969

可以看看咱們社群的文章哦很多文章都是鵝廠的精華呢

Q:圖檔有點模糊,能不能說下比較好具體算法,這個太籠統了

A:有很多的濾波器都可以處理不同程度的模糊圖像。也有采用神經網絡的的方式處理。

我們看到不管是複雜文字識别場景還是小程式應用騰訊雲OCR都可以解決,對本文提問有任何疑問的同學,大家都可以去騰訊雲問答社群(https://cloud.tencent.com/developer/ask)提出自己的疑問,屆時會有邀請相關的産品同學回答您的問題。

感謝大家對騰訊雲雲+社群及騰訊雲智能圖像的支援,如需了解更多騰訊雲OCR識别,請點選:https://cloud.tencent.com/product/ocr。了解騰訊雲OCR接入流程請點選:https://cloud.tencent.com/document/product/641/12412。想體驗騰訊雲AI更多産品請掃描下方小程式碼。騰訊雲AI合作請聯系郵箱[email protected],或添加智能圖像QQ群:188257726。 沒有及時參加本次活動的小夥伴,請檢視曆史聊天記錄或等待從業人員将聊天記錄總結後的文章分享。更多優秀文章請關注雲+社群(https://cloud.tencent.com/developer)。

如何精準實作OCR文字識别?

騰訊雲OCR接入流程

第 1 步:登陸賬号注冊并通過實名認證後,您可以登入【騰訊雲控制台】(連結:https://console.cloud.tencent.com/ai)進行使用。如果沒有賬号,請參考 【賬号注冊教程】(連結:https://cloud.tencent.com/document/product/378/9603)。

第 2 步:建立秘鑰完成注冊後,您需要在【通路管理】(連結:https://console.cloud.tencent.com/cam/capi )建立秘鑰。AppID、SecretID和SecretKey是您進行應用開發的唯一憑證,請妥善保管。

第 3 步:生成簽名通過簽名來驗證請求的合法性,使用者可以使用AppID、SecretID和SecretKey生成簽名,具體簽名生成方法請參閱【簽名鑒權】(連結:https://cloud.tencent.com/document/product/641/12409)

第 4 步:調用API我們為您提供了豐富多樣的API接口,您可以檢視并調用【OCR】(連結:https://cloud.tencent.com/document/product/641/12407)服務。

第 5 步:檢視調用您可以登入【騰訊雲控制台】(連結:https://console.cloud.tencent.com/ai/ocr/namecard),查OCR的各服務調用情況。

問答

OCR文字識别技術有哪些應用?

相關閱讀

文字識别OCR知識資料全集(入門/進階/論文/綜述/代碼/專家,附檢視)

我的AI之路 —— OCR文字識别快速體驗版

借你一雙“慧眼”:一文讀懂OCR文字識别︱技術派

【每日課程推薦】機器學習實戰!快速入門線上廣告業務及CTR相應知識

此文已由作者授權騰訊雲+社群釋出,更多原文請點選

搜尋關注公衆号「雲加社群」,第一時間擷取技術幹貨,關注後回複1024 送你一份技術課程大禮包!

海量技術實踐經驗,盡在雲加社群!

海量技術實踐經驗,盡在雲加社群!

https://cloud.tencent.com/developer

繼續閱讀