OCR識別原理和場景應用淺析
Labs 導讀
日常生活的截圖提取、拍照搜題,都用到了文字識別領域占據重要地位的OCR(光學字符識別)技術。
Part 01、 什么是OCR
OCR(光學字符識別)是計算機文字識別的一種方法,利用光學技術和計算機技術將印刷或手寫在紙張等介質的文字影像轉換成準確可讀的文本格式,供計算機識別和應用。OCR識別是實現文字內容快速錄入計算機的關鍵技術,在現代生活各行各業中得到越來越廣泛的應用。
Part 02、 OCR技術原理
OCR技術主要分為傳統OCR和深度學習OCR兩個流派。
在OCR技術發展早期,技術人員使用如二值化、連通域分析和投影分析等圖像處理技術,結合統計機器學習(如Adaboost和SVM)來提取圖像文本內容,我們將其統一歸類為傳統型OCR,其主要特征在于依賴繁雜的數據預處理操作來對圖像進行矯正和降噪,面對復雜場景適應性較差,準確率和響應速度也不盡如人意。
得益于AI技術不斷發展,基于端到端深度學習OCR技術逐漸成熟,該方法優勢在于無需明確地引入圖像預處理階段中的文字切割環節,而是將文字識別轉化為序列學習問題,使文字分割融入深度學習中,對OCR技術完善和未來發展方向具有重要意義。
2.1 傳統OCR識別流程
傳統OCR技術處理流程圖如下:
圖像預處理:文本影像經過設備掃描之后進入預處理階段,由于各種文本介質存在干擾因素,如紙張的光潔度和印刷質量,屏幕的光線明暗等都會造成文字畸變,因此需要對圖像進行亮度調整、圖像增強和噪聲濾波等預處理手段。
文本區域定位:對于文本區域進行定位提取,方法主要包括連通域檢測和MSER檢測。
文本圖像矯正:對于傾斜文本進行矯正,確保水平,矯正的辦法主要包括水平矯正和透視矯正。
行列單字切分:傳統的文本識別都是基于單字符的識別,分割方法主要利用連通域輪廓和垂直投影切割。
分類器字符識別:運用HOG、Sift等特征提取算法對字符進行向量信息提取,使用SVM算法、邏輯回歸、支持向量機等進行訓練。
后處理:由于分類器的分類不一定完全正確,或者在字符切割過程當中存在失誤,所以需要基于統計語言模型(如隱馬爾科夫鏈,HMM)或者人為提取規則設計語言規則模型對文本結果進行語義糾錯。
2.2 深度學習OCR
圖片
當前主流的深度學習OCR算法將文本檢測和文本識別兩個階段分別建模。
文本檢測分為基于回歸的文本檢測法和基于分割的檢測方法,回歸檢測法主要有CTPN、Textbox和EAST等算法,能檢測圖像中帶方向的文字,但是會受到文本區域不規則的影響;基于分割的檢測法如PSENet算法,能處理各種形狀和大小的文本,但是距離較近的文本容易出現粘行,不同方法各有優略。
文本識別階段主要使用CRNN、ATTENTION兩大類技術,將文字識別轉化為序列學習問題,兩種技術在其特征學習階段都采用了 CNN+RNN 的網絡結構,不同之處在于最后的輸出層(翻譯層),即如何把網絡學習到的序列特征信息轉化為最終的識別結果。
還有一種最新的端到端算法直接將文本檢測和文本識別融合到單個網絡模型進行學習,如FOTS、Mask TextSpotter等算法,與獨立兩端法相比,識別速度更快,精度相對較弱。
2.3方案對比
傳統型識別 | 深度學習識別 | |
底層 算法 | 文本檢測、識別分為多個階段和子過程,使用不同算法組合 | 模型以融合檢測和識別過程為目標,實現端到端 |
穩定性 | 多階段整體穩定性較差 | 端到端穩定性較強 |
識別 精度 | 精度不高,小樣本傳統場景有一定優勢 | 精度較高,融合越深精度逐漸降低 |
識別 速度 | 識別較慢 | 識別較快 |
場景 適應性 | 弱,適用標準印刷格式 | 強,兼容復雜場景,依賴模型訓練 |
抗干擾性 | 弱,對于輸入圖像要求較高 | 強,依賴模型訓練 |
Part 03、 OCR常用評估指標
召回率:指OCR系統正確識別出的字符數量與實際字符數量的比例,用于衡量系統是否漏識別了一些字符。該值越高,表明系統對字符的覆蓋能力越好。
精確率:指OCR系統正確識別出的字符數量與系統總識別出的字符數量的比例,用于衡量系統的識別結果中有多少是真正正確的,該值越高,表明系統的識別結果更可靠。
F1值:綜合了召回率和精確率的評價指標,F1 值介于 0 到 1 之間,該值越高,表示系統在準確率和召回率之間取得了更好的平衡。
平均編輯距離(Average Edit Distance):編輯距離用于衡量OCR識別結果和真實文本間的差異程度。
Part 04、 應用和展望
OCR作為文字識別領域的主要分支之一,未來仍然有很廣闊的研究方向和發展空間。在識別準確率方面,研究更智能的圖像處理技術和更強大的深度學習模型仍然迫切;在多語種多字體的覆蓋上要求識別更具有普適性,并增強復雜場景適配能力;在實時識別方面,尋找更多與虛擬現實技術和增強現實技術相結合的應用點,如AR翻譯、文本數據的自動糾錯和數據校正等。