顧天君,孫陽光,林虎
(中南民族大學 a.計算機科學學院;b.湖北省制造企業智能管理工程技術研究中心, 武漢 430074)
文字作為人與人基礎的交流手段,是信息重要的載體.隨著信息產業的迅速發展,文字迫切需要信息化,進而適應日益繁多的需求.現階段關于光學字符識別(Optical Character Recognition, OCR)的研究和應用已經成熟,其利用光學技術和計算機技術進行字符識別,改變了我們的生活.例如在學習和工作中,只需要通過軟件掃描紙質文檔就可以生成其電子檔版本,且正確率很高,豐富了交流手段并且降低了溝通成本.而現有的OCR 技術對于復雜背景下的字符識別具有應用局限性.出于提高復雜背景下文字識別準確率的考慮,研究出一種適用于復雜背景的字符分割算法符合現階段的需要.
2014年全卷積網絡(Fully Convolutional Networks,FCN)實現對圖像端到端的分割,語義分割技術快速發展并被廣泛應用于各個領域,如:醫學圖像[1-3]等,并在其快速發展過程中產生了許多新的語義分割網絡,然而現有的語義分割網絡大多伴隨著計算效率或分割精度的問題[4-6],為語義分割技術在字符采集行業中的應用造成了困難.
為了解決以上問題,本文提出了基于輕量級UNet的復雜背景字符語義分割網絡.該網絡的主要創新如下:首先,在特征提取模塊中拋棄了傳統卷積,應用深度可分離卷積[7-10],減少了網絡的參數量以及計算量,并使用殘差學習模塊解決網絡退化問題[11-13].其次,對低層特征與高層特征的上采樣結果進行特征融合,有效的結合了高層特征與低層特征的優勢,具有較高的網絡分割精度.后續的實驗證明了本文網絡在復雜背景字符分割上的有效性.
UNet 是一種基于編碼-解碼結構的卷積神經網絡,其具有兩個特點[14]:(1)多尺度的圖像信息,在網絡的編碼過程中不斷降低特征的分辨率以獲取不同尺度的特征,其中高層特征具有高語義,而低層特征具有高分辨率,使得UNet獲取到的圖像信息更加全面.(2)跳躍連接結構,為解決特征上采樣產生的失真問題,在解碼過程中對低層特征以及高層特征的上采樣結果進行融合,特征融合結果結合高層特征的高語義以及低層特征的高分辨率,滿足了分割對這兩方面信息的需求.
特征提取模塊是語義分割任務的核心元素[15-17],也是網絡的重要組成,因此很大程度上決定了網絡的規模大小.為了減少網絡的參數量以及計算量,本文網絡在特征提取模塊中將傳統卷積變為深度可分離卷積(Depthwise Separable Convolution, DSConv).
深度可分離卷積過程可分為兩部分(如圖1 所示),首先考慮特征的區域,然后結合不同通道,實現了對輸入特征區域和通道的分離[18].其中C、H、W 分別代表特征的通道數、高、寬,第一部分為逐通道卷積,逐通道卷積分開使用,卷積核數量與輸入通道數相同,實現了對輸入特征所有通道的逐一過濾,參數量以及計算量比傳統卷積更少;第二部分為逐點卷積,每個卷積核對輸入特征的每個通道都進行卷積計算,其計算結果是各個通道卷積結果的和,卷積核數量為輸入通道數與輸出通道數的乘積,實現了對過濾后所有通道的逐點卷積,用來獲取通道之間的信息,這種分解結構相較傳統卷積減少了參數量和計算量.

圖1 DSConv基本結構Fig.1 Basic structure of DSConv
UNet 的特征提取模塊含有兩層卷積,輸出通道數都與特征提取模塊輸出結果的通道數相同.本文為了進一步減少網絡的參數以及計算量,將第一層卷積的輸出通道數設置為特征提取模塊輸出結果通道數的一半,進一步減少了網絡特征提取模塊中的參數量以及計算量.
在神經網絡中,后一層神經元的輸入是前一層神經元輸出的加權和,也就是說前一層的特征在后一層被抽象出來了,網絡的學習過程也就是調節和優化各連接權重和閾值并不斷抽象的過程[19].本文網絡在特征提取模塊中使用深度可分離卷積代替傳統卷積,減少了網絡卷積操作的參數量和計算量,使網絡更加輕量.但是深度可分離卷積是雙層結構,與使用傳統卷積相比,特征提取模塊的卷積層數也增大了一倍,增大了網絡性能退化的風險.為了穩定網絡反向傳播時各層的權重,解決網絡退化問題,本文在特征提取模塊中加入了殘差學習模塊.
綜上所述,本文特征提取模塊如圖2所示,其中X代表輸入的特征,模塊由直接映射路徑以及殘差路徑組成,其中殘差路徑由兩個DSConv 構成,直接映射路徑由1 × 1 Conv 構成,兩條路徑進行相加并通過ReLU激活函數即為特征提取模塊的輸出.

圖2 特征提取(FE)模塊Fig.2 Feature extraction module
雙線性插值(Bilinear Interpolation)是一種提高圖像分辨率的方法,其利用原圖像中目標點四周的四個真實存在的像素值來共同決定目標圖中的一個像素值,核心思想是在兩個方向分別進行一次線性插值[20].傳統UNet采用反卷積方式進行上采樣,需要耗費大量的參數以及計算量.反卷積方式是通過卷積操作對圖像進行尺寸放大,而雙線性插值方法不需要參數且計算量與反卷積相比可以忽略不記,出于提升計算效率的考慮,本文使用雙線性插值進行上采樣.
由于雙線性插值是在圖像的原有基礎上對其像素進行擴充,因此不能改變圖像的通道數.為了保證網絡跳躍連接結構中低層特征與高層特征上采樣結果在通道數上的一致性,本文在上采樣前的特征提取階段中,通過卷積操作調整高層特征的通道數,使得上采樣結果的通道數與后面進行融合的特征相同.
特征在下采樣以及上采樣的過程中都會產生一定程度上的失真.與特征上采樣相比,下采樣的失真相對可以忽略,也保留了更多的細節信息,因此對特征上采樣中信息失真問題的處理是提升網絡性能的重要影響因素.UNet 在跳躍連接結構中通過拼接的方式融合低層特征與高層特征的上采樣結果,以此減少特征上采樣的失真.但是這種方式不僅使得特征融合后輸出特征的通道數較大,增加了網絡的參數量以及計算量.而且這種簡單的特征融合方式不能充分體現網絡中高、低層特征的關系.綜上所述,本文將高層特征上采樣結果以及低層特征通過加權求和的方式進行融合.較拼接方式,特征融合結果減少了一半的通道數,間接減少了網絡的參數量以及計算量.
本文網絡原理框架如圖3所示,網絡可分為四個階段:初始化(Initialize)、編碼(Encoding)、解碼(Decode)、輸出(Output).在初始化階段,輸入尺寸為128 × 128的三通道待分割圖像,通過特征提取模塊提取語義信息,初始化階段共進行一次特征提取,最終輸出64 × 128 × 128的特征圖.在編碼階段,每次編碼首先使用最大池化方式(MaxPool)對特征進行下采樣,再使下采樣結果通過特征提取模塊,提取特征的語義信息,編碼階段共進行四次編碼,最終輸出512 × 8 × 8的特征圖.在解碼階段,每次解碼都首先通過雙線性插值的方式對特征進行上采樣,再通過特征融合模塊,將上采樣結果與編碼階段中相同尺寸的編碼輸出特征進行融合,最后使特征融合結果通過特征提取模塊,提取特征的語義信息,解碼階段共進行四次解碼,最終輸出3 × 128 ×128 的特征圖.在輸出階段,通過1 × 1 Conv 整合解碼階段的最后特征的各通道并輸出結果.

圖3 網絡原理框架Fig.3 The framework of network
與UNet相比,本文網絡在特征提取模塊中使用深度可分離卷積代替傳統卷積,使得網絡輕量化.應用殘差學習模塊解決網絡退化問題.并采用雙線性插值方法進行上采樣,提高了計算效率.最終得到本文網絡.具體結構如表1 所示.相較UNet,改進減少了網絡的參數量以及計算量.

表1 網絡整體結構Tab.1 The whole structure of network
神經網絡的性能不僅取決于網絡的結構,還取決于損失函數的選取.損失函數的作用在于度量模型的預測結果與真實值之間的差異,損失函數的值越小,代表模型的效果越好.交叉熵損失函數具有求導簡單、收斂速度快的優點,因此主流的語義分割網絡都將其作為損失函數使用,在對圖像進行二分類任務時,本文使用二元交叉熵(Binary Cross Entropy, BCE)損失函數,具體函數公式如(1)式:
其中N 代表訓練集的大小,g(i)代表第i張圖片的真實值,p(i)代表第i張圖片的預測值.
為了驗證本文網絡的性能,選取77張不同字樣的字符圖像作為實驗數據集的原始字符圖像,每張圖像的尺寸為128 × 128.由于字符圖像的數量較少且實際應用中出現的字符會不完整,為了貼合實際,按1∶20 的比例對字符進行隨機殘缺,生成1540 張不同的字符圖像,并將其與不同背景圖片進行圖像融合,最終得到本文的實驗數據集.從全部樣本隨機抽取10%作為實驗的測試集,剩下的作為訓練集.
實驗使用的深度學習框架為PaddlePaddle 2.0.2,環境為Python 3.7,批處理大小為10,在Nvidia Tesla V100 32GB GPU 上使用隨機梯度下降的方式訓練模型200 個epoch.在網絡的訓練過程中,本文采用RMSProp 優化器,并使用ReduceOnPlateau 學習率調度器,設置訓練的初始學習率η為0.01、patience 為5、factor為0.1.
本文采用交并比、精確率、召回率以及F分數衡量模型的分割精度.其中交并比(Intersection Over Union, IoU)是指模型的預測結果與標注圖之間的交并比,用來衡量模型預測結果與標注圖之間的相似度.精確率(Precision)是指模型所有預測出的目標中預測正確的概率,用來度量正例中真正的正例樣本的比.召回率(Recall)是指所有的正樣本中正確識別的概率,用來度量被正確判定的正例占總的正例的比重.F 分數(F)即精確率和召回率的調和平均數,它同時兼顧了模型的查準率和查全率.樣本中的正例代表圖像中的字符部分,反例代表圖像中的背景部分,具體函數公式如(2)~(5)式:
其中,TP(True Positive)表示真正例,即模型預測為正例,實際也為正例,FP(False Positive)表示假正例,即模型預測為正例,實際為反例,FN(False Negative)表示假反例,即模型預測為反例,實際為正例,TN(True Negative)表示真反例,即模型預測為反例,實際也為反例.
為了分析本文網絡的性能,分別與Paddle 框架自帶的經典網絡FCN8s、AttaionUNet 和UNet 進行對比.從測試集中抽取了4個樣本,并將各模型的預測結果與對應樣本的標注圖進行比較(結果如圖4 所示),其中圖4(a)代表待預測的樣本,圖4(b)代表樣本對應的標注圖,圖4(c)-(f)為不同模型的預測結果.可以看到,在對字符與背景對比度強的部分進行預測時,各模型都能夠把字符較為完整地分割出來,在對字符與背景對比度弱的部分進行預測時,各模型漏分與誤分的現象開始不同程度上的增多.

圖4 不同模型的分割結果對比Fig.4 Comparison of segmentation results of different models
為了更直觀地表示各模型的預測結果與標注圖的具體差異,使用淺灰色、深灰色、黑色分別代表模型預測結果與標注圖的重疊區域、漏分區域、誤分區域(結果如圖5 所示),其中圖5(a)代表樣本對應的標注圖,圖5(b)-(e)為不同模型的預測結果.從FCN8s 預測結果與標注圖的對比可以看出,FCN8s無法分割出字符的局部具體細節,在對難度較大的樣本進行預測時,誤分與漏分的次數過多,難以從FCN8s 的預測結果中辨認出樣本具體是哪種字符,因此FCN8s 無法滿足實際應用對網絡的分割精度要求.從AttaionUNet、UNet、本文網絡預測結果與標注圖的對比可以看出,這三種網絡都能夠從復雜背景下的字符樣本中較好的分割出字符的具體形狀,可以滿足實際應用對網絡的分割精度要求.

圖5 不同模型差異化分割結果Fig.5 Different models differentiate segmentation results
為了進一步分析各網絡的性能,在完整的測試集上進行測試.由于測試集含有部分字符內容殘缺的樣本,而殘缺字符與完整字符的樣本相比,降低了圖像中字符與背景的對比度,增大了模型進行語義分割的難度,因此各模型的分割精度有不同程度上的下降.給出各模型的Params 和FLOPs,從計算效率以及分割精度兩個層面上分析各網絡的性能(如表2 所示).在計算效率層次上比較各網絡的性能,本文網絡的Params為1.32M且FLOPs僅為0.70G,而較FCN8s、AttaionUNet 和UNet 網絡相比,本文網絡的Params 和FLOPs 均降低了一個數量級.在分割精度層面上比較各網絡的性能,本文網絡在分割精度指標IoU、Precision 以及F上均得分最高.綜上所述,本文網絡兼顧了計算效率以及分割精度,在滿足實際應用中實時性檢測要求的同時有著較高的分割精度.

表2 與其他網絡的性能對比Tab.2 Performance comparison with other models
為了驗證對比網絡的魯棒性,本文在H-DIBCO2018公開數據集上進行實驗.H-DIBCO2018 中的樣本來源于READ(Recognition and Enrichment of Archival Documents)項目,其中涵蓋了從十五到十九世紀的各種收藏,共10 張圖像.將其中9 張圖像用于訓練,剩余的1 張圖像用于測試,并將尺寸為1013 × 511的測試圖像填充為1024 × 512,以便于網絡跳躍結構中編碼階段和解碼階段的特征圖操作.由于訓練集的數據量較小而圖像尺寸較大,使用隨機剪裁的方式對訓練圖像進行數據增廣,并統一裁剪結果為尺寸為128 × 128 像素的圖像,最終生成1123 張訓練樣本.為了能更充分的考察各網絡的性能,在樣本上添加椒鹽噪聲(噪聲比例為0.15),降低了圖像中字符與背景的對比度,加大了分割的難度.在訓練集上對本文網絡與FCN8s、AttationUNet和UNet進行訓練,將收斂的網絡模型在測試集上進行測試(結果如圖6所示).從圖中可以看出,本文網絡在公開數據集上相較其他網絡也具有良好的表現.通過對各模型的性能進行評估(如表3 所示),與FCN8s、AttationUNet 和UNet 相比,本文網絡在計算效率以及分割精度上顯示了本文網絡具有較好的性能.

表3 與其他網絡的性能對比Tab.3 Performance comparison with other models

圖6 H-DIBCO2018數據集測試結果Fig.6 H-DIBCO2018 dataset test results
針對目前語義分割網絡在復雜字符背景分割中應用困難的問題,本文提出了一種基于輕量級UNet的復雜背景字符語義分割網絡.本文在UNet網絡結構的基礎上對其特征提取模塊和跳躍連接結構中特征融合的方式進行改進,并使用雙線性插值方法進行上采樣.與近年來的其他語義分割網絡相比較,測試結果顯示本文網絡較好的平衡了計算效率與分割精度,為復雜字符背景分割提供了一種集合速度與準確于一體的算法.盡管本文網絡取得了較好的成績,但是改進后的網絡仍然存在著細節部位不準確的問題,因此后續的研究會致力于提升網絡對字符局部細節分割的準確率,使得網絡可以應用在更多的實際場景中.