文字識別是一項“歷久彌新”的技術。早在上世紀初,工程師們就開始嘗試使用當時有限的硬件設備掃描并識別微縮膠片、紙張上的字符。隨著時代和技術的發展,人們在日常生活中使用的電子設備不斷更新換代,文字識別的需求成為一項必備的技術基礎:不論是工廠序列號檢測,還是手機拍照翻譯,都離不開準確高效的識別技術。
在文檔智能應用領域,文字識別同樣是不可或缺的一環,它能夠將系統的覆蓋范圍從純電子文檔擴展到掃描、拍照、甚至手寫領域,極大提升實用范圍與性能。
本文將介紹文字識別技術方案,解析商業化產品的算法邏輯。
光學字符識別技術溯源
理解文字識別,首先需要明確OCR的概念。
光學字符識別(Optical Character Recognition, OCR) 是一種將圖像中的文字(如印刷體、手寫體)轉換為機器可編輯文本的技術。其核心目標是通過算法模擬人類視覺對文字的理解,實現從非結構化圖像到結構化文本的轉化,以供后續分析和組織使用。
OCR技術的發展歷史悠久,其概念最早由奧地利工程師 Gustav Tauschek在1929年提出。20世紀50年代至60年代期間,OCR的研究主要集中在手寫文檔的識別上,如支票處理和郵件分揀。這一時期的系統依賴于預處理技術和基于規則或模板匹配的方法。例如,早期版本的ABBYY OCR利用圖像二值化、降噪和布局分析等技術,通過模板匹配實現字符識別。
在深度學習出現之前,OCR系統主要依靠特征工程和傳統機器學習技術進行字符識別,這些方法廣泛應用于郵政編碼識別、表單處理和銀行業務等領域。典型案例如HP Labs于1984年開發的Tesseract OCR,與日本東芝公司研制的信函自動分揀系統,第一個實現手寫體郵政編碼識別。
隨著OCR技術在各個行業的應用,包括逐漸擴展到車牌識別、身份證識別等領域,對更高精度和更廣泛應用的需求日益增加。研究人員開始探索更先進的方案,如場景文本識別、多語言識別和文檔字符識別。自2010年以來,端到端深度學習算法的發展顯著改變了OCR領域,能夠實現高精度實時識別,移動端應用爆發。
OCR涉及兩個主要任務:文本檢測和文本識別。第一步是在圖像中定位文本的位置,第二步則是應用識別算法將識別出的文本轉換為計算機可讀的字符。
文本檢測
文本檢測是OCR的核心環節之一,目的是從圖像中定位文字區域。傳統方法依賴手工設計特征(如邊緣檢測),但難以應對復雜場景。基于分割的深度學習方法通過像素級預測,成為解決彎曲文本、密集排列等難題的主流方案。
將文本檢測作為圖像分割問題來處理,即通過像素分類來識別文本區域,可以參考以下技術流程:
-
特征提取:骨干網絡提取圖像多尺度特征。
-
像素級預測:分割網絡輸出概率圖,標記每個像素是否屬于文本區域。
-
后處理:通過二值化、連通域分析等步驟,將概率圖轉換為文本邊界框或多邊形。
與傳統回歸方法直接預測邊界框不同,分割方法更擅長處理不規則文本(如彎曲、旋轉文字),且對背景干擾更具魯棒性。
早期的方法使用全卷積網絡(FCNs)進行文本行檢測,而后續算法如PAN[1]和CRAFT[2]則進一步提升了效率和精度,并通過字符級檢測增強了對復雜文本布局的適應性。
使用CRAFT進行字符級檢測
實例分割方法將每個文本塊視為獨立的實例,有效應對了緊密相鄰文本塊的挑戰[3]。SPCNET[4]和LSAE[5]等技術在此基礎上進行了改進,前者采用金字塔注意力模塊增強特征提取能力,后者利用雙分支架構優化檢測效果,在處理復雜背景和重疊文本方面表現出色。
后處理步驟在基于分割的方法中尤為重要,例如二值化操作可以顯著提升最終檢測結果的質量。可微二值化(DB)通過在網絡中集成二值化過程,提高了檢測和檢測精度,有效地結合了前處理與后處理的優勢,使得整體文本檢測流程更加高效和精確[6]。
文本識別
基于CTC損失的方法
在OCR文本識別任務中,模型需要將圖像中的文字序列(如“ABC123”)準確轉換為字符標簽。傳統方法依賴字符分割與單獨識別,但面臨間距不均、粘連字符等難題。CTC(Connectionist Temporal Classification)損失函數的提出,實現了端到端的序列學習,成為不定長文本識別的主流解決方案。
CTC通過動態對齊解決輸入(圖像特征序列)與輸出(目標字符序列)的長度差異問題,它計算所有可能對齊路徑的概率,特別適合處理可變長度的文本,其核心機制包含三部分:
-
特征編碼:使用CNN+BiLSTM網絡提取圖像特征,生成時序特征向量(如100個時間步)。
-
路徑擴展:允許模型在每個時間步預測字符或空白符(blank),如“-A--B-C”與“AA-BC”均可映射為“ABC”。
-
概率聚合:通過前向-后向算法合并所有有效路徑的概率,計算負對數損失指導訓練。
以輸入5個時間步識別“cat”為例,CTC自動對齊“cc-a-t”“c-aat”等路徑,無需人工標注字符位置信息。
在基于CTC的識別方法中,CRNN模型是一個顯著的應用實例,它結合了卷積神經網絡(CNN)、循環神經網絡(RNN)和CTC損失進行序列生成,這種組合有效提升了文本識別的靈活性和準確性[7]。Deep TextSpotter進一步改進了這一方法,它結合了CNN特征提取和CTC損失,提高了文本檢測和識別的精度[8]。
然而,盡管CTC在許多場景下表現出色,但在處理長文本、上下文細微差別和垂直文本時,可能導致計算復雜性的增加,影響模型效率和準確率。因此在實際應用中,需要根據具體需求選擇合適的模型架構和技術手段,以平衡識別精度和計算效率。
基于序列到序列的方法
序列到序列(seq2seq)技術使用編碼器-解碼器架構來編碼輸入序列并生成相應的輸出,通過注意力機制管理長距離依賴關系,實現端到端映射,是解決復雜文本識別任務的重要技術路線之一。傳統方法通常使用RNN和CNN將圖像特征轉換為一維序列,再由基于注意力的解碼器進行處理。但是,在處理任意方向和不規則文本時,將圖像轉換為一維序列以適應基于Transformer的架構仍存在挑戰。
為了解決這些問題,模型采用了多種策略,如輸入校正和二維特征圖。例如,空間Transformer網絡(STN)能夠將文本圖像校正為矩形、水平對齊的字符,這在ASTER[9]、ESIR[10]等模型中得到了應用。其他模型則直接從二維空間中提取字符,避免了對輸入圖像的修改,以適應不規則和多方向文本,如SAR[11]、AON[12]和SATRN[13]。
隨著Transformer架構的普及,傳統的CNN和RNN模型逐漸被基于注意力的編碼器-解碼器系統所取代。性能改進主要集中在更好地處理二維幾何位置信息,來應對不規則或長文本序列。當前,OCR研究在利用Transformer架構提高復雜圖像文本處理性能方面不斷進步[14],隨著多模態融合方向的發展和擴散模型在序列生成中的應用,技術邊界將持續拓展。
歡迎后臺私信添加小助手微信,免費在線體驗文字識別模型,來交流群與我們共同探討技術發展與AI應用的可能性。
參考文獻
[1] Wenhai Wang, Enze Xie, Xiaoge Song, Yuhang Zang, Wenjia Wang, Tong Lu, Gang Yu, and Chunhua Shen. Efficient and accurate arbitrary-shaped text detection with pixel aggregation network. In Proceedings of the IEEE/CVF international conference on computer vision, pages 8440–8449, 2019.
[2] Youngmin Baek, Bado Lee, Dongyoon Han, Sangdoo Yun, and Hwalsuk Lee. Character region awareness for text detection. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 9365–9374, 2019.
[3] Dan Deng, Haifeng Liu, Xuelong Li, and Deng Cai. Pixellink: Detecting scene text via instance segmentation. In Proceedings of the AAAI conference on artificial intelligence, volume 32, 2018.
[4] Enze Xie, Yuhang Zang, Shuai Shao, Gang Yu, Cong Yao, and Guangyao Li. Scene text detection with supervised pyramid context network. In Proceedings of the AAAI conference on artificial intelligence, volume 33, pages 9038–9045, 2019.
[5] Zhuotao Tian, Michelle Shu, Pengyuan Lyu, Ruiyu Li, Chao Zhou, Xiaoyong Shen, and Jiaya Jia. Learning shape-aware embedding for scene text detection. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 4234–4243, 2019.
[6] Jiachen Li, Yuan Lin, Rongrong Liu, Chiu Man Ho, and Humphrey Shi. Rsca: Real-time segmentation-based context-aware scene text detection. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 2349–2358, 2021.
[7] Baoguang Shi, Xiang Bai, and Cong Yao. An end-to-end trainable neural network for image-based sequence recognition and its application to scene text recognition. IEEE transactions on pattern analysis and machine intelligence, 39(11):2298–2304, 2016.
[8] Michal Busta, Lukas Neumann, and Jiri Matas. Deep textspotter: An end-to-end trainable scene text localization and recognition framework. In Proceedings of the IEEE international conference on computer vision, pages 2204–2212, 2017.
[9] Fangneng Zhan and Shijian Lu. Esir: End-to-end scene text recognition via iterative rectification. Cornell University Library, pages 1–8, 2018.
[10] Canjie Luo, Lianwen Jin, and Zenghui Sun. Moran: A multi-object rectified attention network for scene text recognition. Pattern Recognition, 90:109–118, 2019.
[11] Hui Li, Peng Wang, Chunhua Shen, and Guyu Zhang. Show, attend and read: A simple and strong baseline for irregular text recognition. In Proceedings of the AAAI conference on artificial intelligence, volume 33, pages 8610–8617, 2019.
[12] Zhanzhan Cheng, Yangliu Xu, Fan Bai, Yi Niu, Shiliang Pu, and Shuigeng Zhou. Aon: Towards arbitrarily-oriented text recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 5571–5579, 2018.
[13] Junyeop Lee, Sungrae Park, Jeonghun Baek, Seong Joon Oh, Seonghyeon Kim, and Hwalsuk Lee. On recognizing texts of arbitrary shapes with 2d self-attention. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops, pages 546–547, 2020.
[14] Jingye Chen, Bin Li, and Xiangyang Xue. Scene text telescope: Text-focused scene image super-resolution. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 12026–12035, 2021.