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