王紅霞,何國昌,李玉強,陳德山
(1.武漢理工大學 計算機科學與技術學院,武漢 430063;2.武漢理工大學 智能交通系統研究中心,武漢 430063)
低質量文本圖像二值化是文本分析與識別領域的研究熱點。紙質量文本在保存過程中容易受到物理條件的影響而出現墨水污漬、紙張破損、背景滲透等質量退化,或因人為破壞而產生污跡,以及因拍攝不當而導致光照不均等,嚴重影響了文本分析、字符識別等算法的處理效果。
文本圖像二值化是光學字符識別(OCR)技術的關鍵步驟,其目的是將文本圖像中的文字信息從復雜圖像背景中分離出來,以便通過OCR 的后續步驟將目標更加集中于圖像中的文字區域。對于簡單規范的文本圖像,其二值化較為容易,但是對于包含大量退化因素的低質量文本圖像,實現其二值化則相對困難:一方面是低質量文本圖像中背景噪聲與文字糅雜在一起,使得背景噪聲在二值化過程中易被誤判為文字;另一方面則因為低質量文本圖像中文字筆畫粗細不一、文字的形狀輪廓復雜,使得二值化過程中文字域與背景域難以精確區分。
低質量文本圖像中復雜的文字區域難以確定,且圖像中全局上下文信息和文字的形狀、輪廓等復雜深層信息難以獲取,從而導致文本圖像二值化效果不佳。針對該問題,本文提出一種基于改進U-Net 的低質量文本圖像二值化方法。在U-Net 的編碼器部分使用預訓練的VGG16 完成圖像下采樣,保證下采樣過程提取到足夠的圖像深層特征并提升模型的收斂速度;在U-Net的瓶頸層部分融合輕量級全局上下文模塊實現對模型的全局上下文建模,使二值化結果保留更多的全局上下文信息;在U-Net 的解碼器部分向每個解碼塊中融合殘差跳躍連接,使U-Net 具有更強的特征還原能力,從而更好地恢復下采樣過程所提取的深層特征。在此基礎上,通過Sigmoid 函數將各像素分為前景和背景兩類以得到二值化圖像。
文本圖像二值化方法總體可以分為傳統法和深度學習法兩類。傳統法普遍基于閾值法實現,其中又分為全局閾值和局部閾值兩種情況。在傳統法類別中,全局閾值法是對輸入圖像中的所有像素點使用統一的閾值,典型代表有OTSU[1]算法、Kittler 算法、簡單統計法等,局部閾值法結合目標像素周邊的灰度分布情況及其自身的灰度值共同計算局部閾值從而實現二值化,常見的局部閾值法包括Niblack 算法、Sauvola[2]算法、Wolf 算法等。
單一的閾值法精度較低,現已經很少被使用。目前,很多研究人員將閾值法與其他方法相結合以實現二值化。2015 年,MANDAL 等[3]提出基于形態學對比度增強的混合二值化技術,該技術使用灰度形態學工具來估計圖像的背景,從而增加文本區域的對比度進而提升二值化性能。2016年,NAJAFI等[4]針對Sauvola算法計算量大以及對噪聲敏感的問題,提出一種基于Sauvola 算法隨機實現的圖像二值化方法,其提升了傳統Sauvola 算法的運行效率和噪聲容錯率。2017 年,VATS 等[5]提出自動化的文本圖像二值化算法,該算法使用2 個帶通濾波方法來去除背景噪聲,并使用貝葉斯優化來自動選擇超參數以獲得最佳的二值化結果。2018 年,JIA 等[6]利用結構對稱像素(SSP)來計算局部閾值,并通過多個閾值的共同投票結果確定圖像中某一像素是否屬于前景。2019 年,BHOWMIK 等[7]在文本圖像二值化中引入博弈論的思想,使用非零和的博弈提取圖像局部信息并反饋給K-means 分類器以實現像素分類。2020 年,KAUR 等[8]對Sauvola 算法進行改進,使用筆劃寬度變換自動地在圖像像素之間動態計算窗口大小,減少了手動調整參數的數量,該改進方法適用于具有可變筆畫寬度和文本大小的文本圖像二值化。
近年來,隨著深度學習技術的快速發展,大量基于深度學習的圖像二值化方法被提出,使得二值化效果取得極大突破。2015 年,PASTOR-PELLICER 等[9]使用卷積神經網絡訓練低質量文本圖像,實現了對文本圖像中各像素的二分類。2016 年,VO 等[10]提出基于高斯混合馬爾可夫隨機場(GMMRF)的二值化方法,該方法可有效地對具有復雜背景的樂譜圖像進行二值化。2017 年,BRUN 等[11]將卷積神經網絡與圖像分割算法相結合,以實現低質量文本圖像二值化,其將語義分割的標簽用作源和匯估計,并將概率圖用于修剪圖形切割中的邊緣,大幅提升了二值化效果。2018年,VO等[12]提出基于深度監督網絡(DSN)的文本圖像二值化方法,該方法通過高層特征區分文本像素和背景噪聲,通過淺層特征處理文字邊緣細節等信息。2019 年,ZHAO 等[13]將生成式對抗網絡應用于文本圖像二值化,將圖像二值化看作圖像到圖像的生成任務,并引入條件生成對抗網絡(CGAN)來解決二值化任務中的多尺度信息組合問題,其進一步提升了圖像二值化效果。
上述部分基于深度學習的圖像二值化方法使用卷積神經網絡完成文本圖像的逐像素分類,從而實現圖像二值化,其相較傳統閾值法具有更優的分類精度。但傳統卷積神經網絡在圖像分割時,缺乏對特征圖全局信息的考慮,使得圖像分割的結果圖缺乏全局特性。對于文本圖像二值化任務,這類方法容易使文本圖像二值化結果存在文字筆畫過度不自然、文字邊緣像素分類不準確等問題。2015 年,LONG 等[14]提出只包含卷積層的神經網絡模型FCN,其將圖像分割問題看作像素級的分類問題。鑒于FCN 在圖像分割領域的優秀表現,研究人員開始將其用于文本圖像二值化任務。在DIBCO 2017 競賽中,TENSMEYER 等[15]提出基于FCN 的文本圖像二值化方法,該方法在比賽中取得了第四名的成績,展現了全卷積網絡模型優越的二值化性能。2015 年,RONNEBERGER 等[16]在FCN 基礎上提出一種改進的全卷積神經網絡模型U-Net 并用于醫療圖像分割。U-Net采用對稱的多尺度結構設計,使其在較小數據集上也能夠取得高精度的分割效果。DIBCO 2017 競賽中的冠軍方法將U-Net網絡用于低質量文本圖像二值化,其取得的成績表明該網絡非常適用于文本圖像二值化分割任務。
2019 年,熊煒等[17]將背景估計與U-Net 網絡進行融合并用于文本圖像二值化,通過形態學閉操作來計算背景,并利用U-Net 網絡對圖像進行背景與前景的分割,最后使用全局最優閾值法獲得二值圖。2020 年,KANG 等[18]將U-Net 網絡進行級聯模塊化,并將級聯模塊化后的U-Net 用于文本圖像二值化,該方法有效解決了低質量文本圖像數據集規模小導致的訓練不充分問題,獲得了優異的二值化結果。同年,HUANG 等[19]提出基于全局-局部U-Net 的文本圖像二值化方法,該方法將來自下采樣圖像的全局補丁和裁剪自源圖像的局部補丁作為2 個不同分支的輸入,最后合并這2 個分支的結果實現二進制預測。2020 年,陳健[20]在U-Net 上引入遷移學習方法實現低質量文本圖像二值化,其在U-Net 的編碼器部分通過遷移學習方法遷移不同的模型作為編碼器以完成圖像下采樣,并加載訓練模型的預訓練權重進行訓練,解決了低質量文本圖像數據集不足的問題并提升了模型的泛化能力。
綜上,目前性能較好的二值化方法大多都基于U-Net 實現,表明U-Net 網絡具有強大的二值化性能。本文對U-Net 網絡進行改進,針對低質量文本圖像中背景干擾、噪聲復雜,且受限于數據集和網絡規模大小使圖像全局上下文信息以及深層抽象信息難以獲取,從而導致文本圖像二值化效果不佳的問題,提出一種改進的低質量文本圖像二值化方法。
選擇小數據集上表現優越的U-Net 網絡作為骨干模型,從編碼器、瓶頸層和解碼器3 個部分對U-Net 進行改進,以更好地滿足低質量文本圖像二值化的需求。編碼器部分采用具有強大特征提取能力的小型網絡VGG16 作為特征提取器,加載VGG16 預先訓練好的權重進行訓練;瓶頸層部分通過融合輕量級的全局上下文模塊實現對文本圖像的全局上下文建模;解碼器部分通過融合殘差跳躍連接提升特征恢復能力。將改進的U-Net 模型用于低質量文本圖像二值化,以期取得更精確的二值化效果。
本文去掉VGG16 網絡中最后2 個全連接層,保留所有的卷積層和池化層,作為U-Net 網絡的編碼器,其結構如圖1 所示。該編碼器是一個含有5 個尺度的下采樣結構,具有很好的特征提取能力。圖像的輸入大小為256×256 像素,通道數為3。圖像通過編碼器輸入,每經過一個下采樣編碼塊(Block),圖像分辨率相應減小,同時圖像維度增加。

圖1 編碼器結構Fig.1 Encoder structure
每個尺度的編碼塊提取對應尺度的二值化特征,得到不同表征的特征。淺層編碼塊提取高分辨率的淺層特征,如文字的邊緣、紋理等細節特征,特征數量較多;深層編碼塊提取低分辨率的深層特征,如文字的形狀、輪廓等抽象特征,這種特征抽象但較難被獲取。低質量文本圖像經過每個下采樣編碼塊后輸出的特征圖如圖2 所示,圖像從左往右依次為原圖、Block1~Block5 輸出的特征圖。

圖2 編碼器不同尺度的輸出特征圖Fig.2 Output feature maps of encoder with different scales
U-Net 的編碼器和解碼器之間通過瓶頸層(bootleneck)連接,瓶頸層中包含編碼過程中收集的高級語義信息,這種具有代表性的語義信息經由瓶頸層傳播至解碼器,并最終影響解碼器還原特征圖中的深層抽象特征信息。因此,瓶頸層結構對于圖像分割具有重要意義。
由于低質量文本圖像中存在大量的背景干擾噪聲,因此判斷圖像中某一像素點屬于文字還是背景不僅需要考慮該像素自身及其鄰域的灰度值信息,更需結合圖像的全局上下文信息作出綜合判斷。本節在U-Net 的瓶頸層中引入一個輕量級的全局上下文塊,構建一個可有效對圖像全局上下文進行建模的U-Net 瓶頸層,增強U-Net 網絡對長距離依賴信息的建模,從而提升U-Net 的圖像二值化性能。
融合輕量級全局上下文塊的改進瓶頸層結構如圖3所示,該瓶頸層結構可以有效地對低質量文本圖像的全局上下文進行建模,從而充分學習瓶頸層高級語義特征中的全局文字筆畫區域信息,更好地確定文本圖像中的文字區域,進而提升低質量文本圖像二值化的精度。改進的瓶頸層結構保留了原方案中的2 個卷積層用于提取更高層次的抽象語義特征,并在卷積層后緊跟一個輕量級全局上下文塊用于實現對特征圖的全局上下文建模,以捕獲圖像的長距離依賴關系。

圖3 融合全局上下文塊的U-Net 瓶頸層結構Fig.3 U-Net bottleneck layer structure integrating global context block
輕量級全局上下文塊的具體結構如圖4 所示,其基于文獻[21]中提出的GC block 構建,共由3 個部分組成:1)用于上下文建模的全局注意力池,即圖4 中的Context Modeling 部分;2)用于捕獲通道依賴性的瓶頸層轉換,對應圖4 中的Transform1 部分;3)逐個廣播元素相加的特征融合,對應圖4 中的Transform2 部分。該輕量級全局上下文塊是對文獻[22]提出的NLNet 的一種改進,其中,全局注意力池結構用于將圖像中所有位置的特征聚合起來,構建特征圖像的全局上下文特征;特征轉換模塊的作用是捕捉各通道間相互依存的關系;特征融合模塊則用于將構建的全局上下文特征與不同位置的特征進行合并。全局上下文塊中的訓練參數全部來自1×1 的卷積,并通過添加一個特征優化系數r用于進一步減少該模塊中的參數量,因此,它是輕量級的,并且可以在多個卷積層之間應用,在不增加計算成本的情況下能更好地捕獲圖像的長距離依賴關系。

圖4 全局上下文塊結構Fig.4 Structure of global context block
通過這種融合輕量級全局上下文塊的瓶頸層設計替換原生U-Net 中的瓶頸層結構,使得U-Net 模型在訓練低質量文本圖像的過程中,更多地保留圖像的全局上下文關系,從而更精確地區分文本圖像中的文字區域與背景區域。
與編碼器對應,解碼器也由5 個尺度的解碼塊構成,每個解碼塊均由若干卷積層和1 個上采樣層構成。解碼器的作用是對編碼器所提取的特征進行恢復,解碼器的特征恢復能力直接決定二值化結果能否保留更多的文字細節和抽象特征,從而影響最終的二值化效果。
本文通過在解碼塊中融合殘差跳躍連接并適當增加解碼塊卷積層數來提升解碼器的特征恢復能力。殘差跳躍連接是ResNet 中引入的一種跳躍連接方式,該網絡由何凱明等[23]于2015 年提出,其模型引入了殘差塊的概念。殘差網絡在2015 年的ILSVRC 比賽中獲得三項冠軍,分別是圖像的定位、檢測與分類,性能遠超其他模型。本文通過在解碼塊中引入殘差跳躍連接,以減少卷積過程中的特征丟失,提高解碼器的特征恢復能力。
殘差塊結構如圖5 所示,通過跳躍連接方式將淺層網絡的輸出直接傳輸到更深層以作為后續卷積輸入的一部分,從而有效減少卷積過程中的特征丟失,提高特征利用率。殘差跳躍連接的疊加方式為圖像像素值疊加,必須保證疊加的2 張圖像具有相同尺度。當圖像維度相同時為圖5(a)所示的基本殘差結構,維度不相同時則需先通過一個一維卷積進行維度轉換后再疊加,如圖5(b)所示。這2 種殘差結構根據具體情況分別被添加在U-Net 的各解碼塊中,然后構建融合殘差跳躍連接的解碼器,其結構如圖6 所示。圖6 中解碼塊上采樣后的圖像通過U-Net的橫向跳躍連接與對應尺度編碼塊的下采樣輸出堆疊,導致解碼塊中第一次卷積前后的圖像維度不一致,無法直接添加基本殘差跳躍連接,因此,本文設計成帶一維卷積的殘差跳躍連接來完成圖像疊加,如圖6 中橙色的殘差跳躍連接所示(彩色效果見《計算機工程》官網HTML 版)。在完成第一次卷積后,圖像維度與解碼塊卷積維度保持一致,此時,在后續卷積中再添加一個基本殘差連接,如圖6 中藍色的殘差跳躍連接所示。

圖5 殘差塊結構Fig.5 Structure of residual block

圖6 融合殘差跳躍連接的解碼器結構Fig.6 Decoder structure integrating residual ship connection
與編碼器對應,解碼器也被設計為包含5 個解碼塊的結構,每個解碼塊均按圖6 方式設置2 個殘差跳躍連接。相比于對應尺度的編碼塊,每個解碼塊增設一個卷積層來提升特征恢復能力。同時,為了防止過擬合并提升模型泛化能力,在解碼器的所有卷積之后都采用Batch Normalization 進行規范化處理,各解碼塊最后通過Dropout 進行強正則化輸出。
融合殘差跳躍連接的解碼器相比常規解碼器具有更好的特征恢復能力,可在二值化過程中還原更多的文字特征。常規解碼器和融合殘差跳躍連接的解碼器所輸出的特征圖對比如圖7 所示,其中從左往右依次為原圖、常規解碼器輸出、融合殘差跳躍連接的解碼器輸出以及標準二值化圖像。從圖7 可以看出,本文解碼器還原的特征圖保留了更多的文字區域信息,第一張圖片右下角對比尤為明顯,且文字輪廓更清晰,背景更純凈,說明融合殘差跳躍連接的解碼器比常規解碼器具有更強的特征恢復能力,更好地凸顯了文本圖像二值化結果中文字的區域信息,從而改善了二值化效果。

圖7 不同解碼器的輸出特征圖對比Fig.7 Comparison of output feature maps of different decoders
利用改進的編碼器、瓶頸層和解碼器構建U-Net網絡,設計基于改進U-Net 的低質量文本圖像二值化方法。低質量文本圖像首先在遷移VGG16 的編碼器中完成圖像下采樣;然后經過融合全局上下文塊的瓶頸層結構,完成全局上下文建模;接著從融合殘差跳躍連接的解碼器中實現圖像上采樣;最后通過Sigmoid 激活層輸出得到最終的二值化圖像。圖8 所示為改進的U-Net 網絡結構。

圖8 改進的U-Net 網絡結構Fig.8 Improved U-Net network structure
圖像二值化結果的優劣由4 項重要指標評估,分別為圖像的F 值(FM)、偽F 值(p-FM)、峰值信噪比(PSNR)和距離倒數失真度量(DRD)。
3.1.1 圖像F 值
圖像F 值記為FM,其值大小與文本圖像二值化優劣正相關,計算公式如下:

其中:TP、FP和FN分別表示真實的正值、錯誤的正值和錯誤的負值。
3.1.2 圖像偽F 值
圖像偽F 值記為p-FM,其值大小與二值化結果優劣正相關,計算公式如下:

其中:Pp-Recall定義為二值化圖像與標準圖像中字符結構的百分比。
3.1.3 圖像峰值信噪比
圖像峰值信噪比記為PSNR,其反映2 張圖像的相似度,PSNR 值大小與圖像二值化結果優劣正相關,計算公式如下:

3.1.4 圖像距離倒數失真度量
圖像距離倒數失真度量記為DRD,其值大小與二值化效果優劣反相關,計算公式如下:

本文用訓練得到的模型對測試集圖像進行二值化,然后用評價工具測出每張圖像的各項二值化指標,最后對所有圖像的指標求平均得到最終結果。輸出保存的模型為訓練過程中FM 值最佳的模型。
為了驗證本文改進U-Net 模型對低質量文本圖像二值化的有效性,分別在DIBCO 2016—2018 這3 個數據集上和其他優秀方法進行性能對比。本文模型在訓練過程中,設置epoch 為256,batch size 為16,學習率起始為1e-4 并動態調整。將圖像FM 值設為模型的損失函數,每個epoch 訓練完畢計算FM 值,若20 個epoch 內FM值沒有增加,則將學習率乘以0.1。訓練集為2009—2018 的DIBCO 數據集,在訓練過程中,為了保證對比的公平性,當測試某個數據集時,將該年份之前的所有年份數據集作為訓練樣本進行訓練,輸出權重模型,然后加載權重模型對目標數據集進行二值化得到二值化圖像,最后采用二值化評估工具對二值化圖像進行指標評估。評估結果分別與DIBCO 2016—2018 獲勝者以及其他研究人員針對這3 個數據集的經典、最新和最優成果進行對比與分析,包括二值化指標數據對比和二值化效果對比。
3.2.1 二值化評估指標對比分析
將本文方法的二值化評估指標結果與經典方法、目前最優方法的評估指標結果進行對比,對比方法包括對應年份的DIBCO競賽冠軍方法、Otsu[1]、Sauvola[2]、文獻[12]方法、文獻[13]方法、文獻[17]方法、文獻[18]方法、文獻[19]方法和文獻[20]方法,其中,文獻[20]方法包括未添加預處理和添加預處理2 種情況。實驗對比數據均來自各方法的原始文獻。各方法在DIBCO 2016—2018 這3 個數據集上的二值化評估指標對比結果分別如表1~表3 所示,加粗表示最優結果。

表1 DIBCO 2016 數據集上的實驗結果對比Table 1 Comparison of experimental results on DIBCO 2016 dataset

表2 DIBCO 2017 數據集上的實驗結果對比Table 2 Comparison of experimental results on DIBCO 2017 dataset

表3 DIBCO 2018 數據集上的實驗結果對比Table 3 Comparison of experimental results on DIBCO 2018 dataset
由表1可知,在DIBCO 2016數據集上,文獻[18]方法綜合二值化性能最優,該方法基于級聯模塊化后的UNet實現,在FM、p-FM這2項指標上取得最優。文獻[13]方法擁有最佳的DRD 指標,該方法基于生成式對抗網絡實現,視覺失真程度最低。本文方法擁有最佳PSNR指標及排名第二的FM指標和DRD指標,說明該方法的二值化結果與標準二值化結果的相似度最高,具有很低的視覺失真程度,其綜合二值化性能僅次于文獻[18]方法,比添加了圖像預處理的文獻[20]方法二值化性能更好。
由表2 可知,在DIBCO 2017 數據集上,在所有對比方法中,本文方法的FM 和PSNR 這2 個指標最佳,p-FM 和DRD 這2 項指標只略低于添加了預處理的文獻[20]方法,這是由于文獻[20]方法的預處理方式對輸入圖像做了銳化和光照補償,使文字與背景區分度更高,而本文方法在沒有做預處理的情況下,FM 和PSNR 這2 個指標仍高于添加預處理后的文獻[20]方法,綜合二值化性能與其相當,優于其他對比方法。
由表3 可知,在DIBCO 2018 數據集上,本文方法的二值化性能僅低于添加了預處理的文獻[20]方法,這仍然是由于后者的圖像預處理所帶來的性能提升。相較其他對比方法,本文方法的各項二值化指標均具有較大幅度的提升。
通過DIBCO 2016—2018 這3 個數據集的測試對比可以看出,本文方法對低質量文本圖像具有良好的二值化性能,驗證了改進U-Net 模型的有效性。
3.2.2 二值化效果圖對比分析
為直觀地展示本文方法的二值化效果,將本文方法與其他代表性方法的二值化效果圖進行對比。
圖9 所示為各對比方法在DIBCO 2016—2018數據集上的部分二值化效果圖。從圖9 可以看出:DIBCO 競賽冠軍方法的二值化結果中保留了較多的背景噪聲,且將圖中某一滲透的墨水污漬誤判為文字,未實現良好的去噪效果;未結合圖像預處理的文獻[20]方法的二值化效果良好,但仍保留了較多的背景噪聲,在結合圖像預處理后其整體二值化效果得到了較明顯的提升,大部分噪聲被有效去除;本文方法很好地將低質量文本圖像的文字和背景分離,去除了更多的背景噪聲,識別出較對比方法更精確、清晰的文字區域。

圖9 不同方法的二值化效果對比Fig.9 Comparison of binarization effect of different methods
本文方法所得的二值化效果圖如圖10 所示。從圖10 可以看出,本文方法所得的二值化圖像與標準二值化圖像相似度很高,文本圖像的大部分背景噪聲都被有效去除,文字的形狀和輪廓清晰。

圖10 本文方法的二值化效果圖Fig.10 The binarization effect maps of this method
本文提出一種基于改進U-Net 的低質量文本圖像二值化方法。從編碼器、瓶頸層和解碼器3 個方面對傳統U-Net 網絡進行改進并用于低質量文本圖像二值化,改進的U-Net 網絡不僅具有更優的特征提取能力和特征還原能力,使得圖像二值化結果中保留更豐富的文字細節,同時還具有更佳的全局上下文建模能力,可在圖像二值化過程中實現更好的去噪效果。實驗結果驗證了本文方法良好的圖像二值化性能。
盡管本文方法取得了較好的文本圖像二值化效果,但仍存在一定的性能提升空間。該方法通過在U-Net 解碼器中融合殘差跳躍連接,為文本圖像二值化結果保留更多的深層特征,但圖像在下采樣過程中分辨率逐漸減小,伴隨著大量淺層特征的丟失,使得圖像二值化結果中文字的邊緣紋理等淺層特征細節表達不足。雖然U-Net 網絡通過橫向跳躍將相同尺度的下采樣輸出與上采樣輸入進行堆疊,較大程度地減少了淺層特征丟失,但這部分淺層特征未被訓練,不具有良好的泛化性。因此,如何更好地提取和利用文本圖像淺層特征以豐富二值化結果中文字的筆畫、紋理等細節,將是下一步的研究方向。