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