?

面向民國檔案印章分割的改進U-Net

2023-03-24 13:25楊有張汝薈許鵬程康慷翟浩
計算機應用 2023年3期
關鍵詞:印章民國殘差

楊有,張汝薈,許鵬程,康慷,翟浩

(1.重慶國家應用數學中心(重慶師范大學),重慶 401331;2.重慶師范大學 計算機與信息科學學院,重慶 401331)

0 引言

民國檔案(Republican archives)的數字化和數據化具有重要意義。一方面,民國檔案是近代歷史活動的客觀記錄,在國家檔案全宗中占有特殊地位,是極具價值的檔案;另一方面,數字化加工處理為人工智能的應用提供了條件?;趦热莸膱D像檢索和圖像語義標注是檔案圖像處理的兩種典型應用場景,而識別和分割圖像中的印章為這兩種應用創造了條件。民國檔案的特殊性如下:1)時代局限性。劣質的紙張質量導致印侵問題和過多的噪聲,而毛筆書寫導致字體多變、文字大小不一。2)版面的復雜結構。民國檔案中存在僅包含印章的檔案頁,也存在印章甚至多印章與表格組成的檔案頁,還存在多印章重疊的檔案頁。不僅如此,文字豎排和從右至左的書寫順序也對版面分析與理解帶來挑戰[1]。3)印章的特殊性。印章的形狀多樣性和位置不固定性導致先驗知識缺乏;黑白印章顏色導致顏色特征無法利用;檔案數據中印章分布不均導致正負樣本不均衡。因此民國檔案印章數據集的特殊性導致了印章分割的困難。

傳統的印章檢測主要針對圖像的顏色、紋理和形狀特征?;陬伾卣鞯姆椒ɡ糜≌聻榧t色的特點來確定印章的位置,實現印章檢測[2]。印章的紅色與紙張、文字的顏色有明顯區別,因此該方法在傳統方法中占據重要地位。而民國檔案均為毛筆字、黑色印章,無法采用該方法?;诩y理特征的方法使用像素鄰域的灰度空間分布規律[3],但方法需要結合其他圖像特征,并不適合手寫文字檔案的處理?;谛螤钐卣鞯姆椒梢詼蚀_表達目標的特性,但抗干擾能力偏弱。民國檔案印章數據集噪聲大并且印章邊框斷續問題嚴重,使用該方法難以實現民國檔案印章分割。

傳統方法不能有效地進行民國檔案印章分割,而深度學習的出現為解決該問題帶來了可能。Long等[4]將全卷積網絡(Fully Convolutional Network,FCN)用于圖像語義分割,在像素級水平上理解和識別圖像內容,并根據語義信息實現分割。FCN 解決了重復存儲的問題,帶來了語義分割的進步。同年,Ronneberger等[5]提出基于自編碼器的U-Net。Paszke等[6]提出的輕量化網絡ENet(Efficient Neural Network)具有參數量小、處理速度快的優點,為在移動設備上實施分割帶來了可能。Badrinayanan等[7]提出基于先驗概率對像素點進行分類的SegNet。Zhou等[8]提出UNet++,通過疊加不同層次特征并對特征進行再利用以提高網絡精度;此外,還引入深度監督使它在提升精度的前提下有效降低參數量。Li等[9]提出深度特征聚合網絡(Deep Feature Aggregation Network,DFANet),在保證分割精度的前提下提升了處理速度。同年,Wang等[10]提出LEDNet(Lightweight Encoder-Decoder Network),使用非對稱編解碼器結構來解決實時語義分割問題。Zhou等[11]提出SEGAN(Speech Enhancement Generative Adversarial Network),更好地融合了多尺度特征?;诰幗獯a器方法的圖像分割網絡具有保留圖像空間維度和像素位置信息的優點,避免了池化操作后特征圖分辨率降低的問題[12]。上述圖像分割網絡具有較高的分割精度,但多用于醫學圖像分割與城市場景語義分割;而面對民國檔案時,它們的分割精度和邊緣分割的有效性都有待提高。

U-Net 及它的改進網絡具有對稱的收縮擴張路徑的結構,有利于捕獲上下文信息并實現精確定位。本文提出了針對民國檔案圖像的印章分割U 型網絡UNet-S(U-Net for Seal)。首先設計了多尺度殘差模塊替代U-Net 原有的卷積層;在多尺度殘差模塊中將普通卷積替換為深度可分離卷積(Depthwise Separable Convolution,DSConv)[13];為防止融合后的淺層信息被稀釋[14],根據仿真實驗結果確定恰當的網絡層級,使用BCEDiceLoss(Binary Cross Entropy Dice Loss)損失函數,并根據仿真實驗結果優選權重因子。

1 U-Net結構

U-Net 對稱的編解碼器結構可以更好地提取和重建特征圖[15],在圖像分割最前沿的網絡中,U-Net 仍占有一席之地。U-Net 由下采樣與上采樣結合的U 型結構構成,下采樣、上采樣、跳躍連接三個部分在網絡中起主要作用。在下采樣階段對輸入進行卷積和池化操作的交替與堆疊以提取抽象的特征[16];在上采樣階段將抽象的特征進行反卷積;跳躍連接部分將深層的語義信息與淺層的位置信息按深度連接在一起,以恢復目標對象的細粒度細節。

U-Net 由23 個卷積層、4 個反卷積層、4 個最大池化層組成。U-Net 使用兩個3×3 卷積進行無填充卷積,每兩次卷積之后進行一次2×2 最大池化操作以及ReLU(Rectified Linear Unit)函數激活。編碼器階段使用多個2×2 的最大池化進行下采樣,使圖像尺寸變為原來的1/2,直至尺寸變為32×32;解碼器階段用2×2 的反卷積層進行上采樣,使圖像尺寸變為原來的兩倍,直至尺寸變為392×392。跳躍連接將編碼器階段對應的高分辨率圖像裁剪后與解碼器階段對應部分相連接,使輸出結果更為準確[17]。為了更好地預測圖像邊界區域像素、推斷缺失的上下文信息,U-Net 使用鏡像策略使網絡輸入圖像的尺寸為572×572。這種策略可以減少邊緣像素點的損失,更好地處理大尺寸圖像并且降低內存的占用。

2 UNet-S設計

2.1 UNet-S總體結構

UNet-S 總體結構如圖1 所示。

圖1 UNet-S結構Fig.1 UNet-S structure

編碼器階段,將輸入圖像通過3×3 普通卷積(Conv)提取特征,得到的特征圖送入改進的殘差模塊,進行2×2 最大池化操作,使圖像尺寸變為原來的1/2;之后交替進行殘差學習和最大池化操作,直至特征圖下采樣至16×16;最后經過1×1普通卷積進入解碼器階段。解碼器階段,采用2 倍放大系數的雙線性插值作為上采樣方法,使圖像尺寸擴大一倍;然后交替進行殘差學習與雙線性插值,直到特征圖上采樣至512×512。在UNet-S 中,依然使用U-Net 的長連接來融合編解碼器不同的特征圖。圖1 中,1×1 卷積的作用是升降通道數。循環使用跳躍連接、殘差連接、1×1 卷積和上采樣直至圖像尺寸變為512×512。由于只需要印章類別,所以經過一個3×3 的普通卷積、輸出通道數為1 后,輸出圖像尺寸為512×512。

UNet-S 使用了普通卷積和DSCnov,分別如式(1)、(2)所示:

其中:Foutj(x,y)為該層第j張特征圖輸出結果;Fini為特征圖的值;W為卷積核;σ為激活函數;bj為第j張特征圖的偏置。

2.2 深度可分離卷積

深度可分離卷積在圖像分割領域、計算機視覺領域的底層、中層和高層任務中都可使用,它能大幅減少網絡的參數量。由于卷積層通道間的相關性與空間相關性可解耦合,所以深度可分離卷積成為實現網絡輕量化的關鍵模塊。

深度可分離卷積分為逐通道卷積(DepthWise Convolution,DWConv)和逐點卷積(PointWise Convolution,PWConv)兩個步驟。假設輸入一張通道數為C的特征圖,在普通卷積中經過N個通道數為C的H×H卷積核后,生成N張特征圖。因此普通卷積參數量為N×C×H×H;在深度可分離卷積中首先經過C個通道數為1的H×H的逐通道卷積,生成C張特征圖,逐通道卷積的參數量為C×H×H,再將C張特征圖經過1×1×N的逐點卷積在深度方向上加權組合生成N張特征圖,逐點卷積參數量為1×1×C×N。深度可分離卷積總參數量為C(H×H+N)。深度可分離卷積總參數量與普通卷積的參數量比值如式(3)所示:

其中:PDSConv為深度可分離卷積;PConv為普通卷積。在一層卷積中采用深度可分離卷積與傳統卷積壓縮效果相同,壓縮幅度僅與輸出通道數和卷積核的尺寸有關[18]。

2.3 多尺度殘差模塊

為解決網絡退化問題,He等[19]提出了殘差網絡(Residual Network,ResNet)。殘差連接之間的函數為F(x)=x+H(x)。當殘差為0 時,模塊不學習新的特征,僅執行恒等映射;當殘差不為0 時,在輸入特征的基礎上模塊學習新的特征,即在不改變目標函數的情況下,將網絡結構分成殘差映射和恒等映射兩部分,使學習恒等映射變得更加容易,可以緩解梯度消失等問題。

在殘差模塊中加入多尺度特征提取塊,使它能夠有效提取圖像的多尺度特征,提升網絡性能;同時,模塊中的卷積層被替換為DSConv,減少網絡的參數量。多尺度殘差模塊結構如圖2 所示。

圖2 多尺度殘差塊結構Fig.2 Multi-scale residual block structure

在每一個多尺度殘差模塊中,首先對輸入特征圖進行3× 3 深度可 分離卷 積+批歸一 化(Batch Normalization,BN)+ReLU,獲得感受野為3×3 的特征圖;再將它與輸入特征圖沿通道維度級聯(concat);然后將級聯后的特征圖進行一次3×3 的深度可分離卷積+BN+ReLU。由于兩個3×3 卷積的感受野與一個5×5 卷積相同[20],而級聯后的特征圖中包含感受野為3×3 與感受野為1×1 的特征圖,因此對它執行3×3 卷積后即可獲得感受野為5×5 與3×3 的特征圖,實現多尺度特征提取。為了使輸入、輸出通道數相同,在跳躍層加入1×1卷積。模塊按照如下公式執行:

其中:Fn-1表示輸入為第i個卷積層中尺寸為3×3 的卷積核;bi表示第i個卷積層的偏置;F'和Fn'表示模塊的中間輸出;Fn表示輸出結果;?為卷積操作;σ表示ReLU 激活函數。將Fn-1代入式(4)獲得中間輸出F';式(5)將Fn-1與F'沿通道維度級聯后更新F';將F'代入式(6)獲得多尺度特征圖Fn',通過式(7)對Fn-1執行升降維操作,使它的通道數與F'n一致后將二者相加得到最終的輸出Fn。

綜上所述,多尺度殘差模塊在緩解梯度消失、網絡退化等問題的同時可以提取多尺度特征,提升性能;此外還引入了DSConv,大幅度降低網絡參數量,易于部署與應用。

2.4 損失函數

UNet-S 使用的損失函數為BCEDiceLoss,并根據實驗結果確定合適的權重因子。BCELoss(Binary Cross Entropy Loss)和BCEWithLogitsLoss(Binary Cross Entropy WithLogits Loss)作為常用的二元交叉熵損失函數,常用于解決二分類問題。BCEWithLogitsLoss 為BCELoss 與Sigmoid 函數相融合的損失函數。式(8)為BCELoss 在二分類問題上的計算公式[21],即只考慮僅有一個類別時的情況。t為樣本的標簽值,p為網絡對該類別標簽預測的概率。式(9)為Sigmoid 函數。

BCEDiceLoss 由BCELoss 和DiceLoss組成。DiceLoss 如式(10)所示,其中:TP(True Positive)表示真陽性;TN(True Negative)表示真陰性;FP(False Positive)表示假陽性;FN(False Negative)表示假陰性。BCEDiceLoss 如式(11)所示,λ為損失函數權重因子,通過消融實驗確定λ=0.9。

民國檔案數據集中,一半為無印章圖片,而另一半有印章的圖片中,印章像素占總像素比例不大,存在正負樣本不均衡的問題。DiceLoss 同時考慮局部和全局的損失信息[22],在數據集不平衡的情況下,使用BCEDiceLoss 效果更優。

3 實驗與結果分析

3.1 數據集

實驗采用自建民國檔案數據集,共11 855 張圖像,有印章與無印章圖像分別有6 636、5 219 張。將9 484 張圖像作為訓練集,2 371 張圖像作為測試集。自建的民國檔案數據集中的圖像尺寸并不統一,為了方便網絡的運算,預處理部分使用OpenCV 庫中的resize 函數將輸入圖像尺寸統一為512×512。圖3 為民國檔案印章數據集中的圖像和生成的掩碼圖像。印章區閾值為1,對應圖3(b)中白色部分;背景區閾值為0,對應圖3(b)中黑色部分。

圖3 民國檔案印章和掩膜圖Fig.3 Seal and mask diagrams of Republican archives

3.2 實驗參數與評價指標

仿真實驗的軟硬件環境為:操作系統Windows 10;內存32 GB;Nvidia Tesla M40 顯卡,24 GB 顯存;CPU Intel Core i7-10700KF;Python 版本3.8.5;Cuda 版本11.1;Pytorch 版本1.8.0。實驗設置初始學習率為0.001,學習率衰減策略采用余弦退火算法,在最后一輪時衰減到0.000 01;優化器為Adam;總訓練輪數為100;輸入圖像尺寸為512×512;下采樣方法為雙三次插值;每次迭代傳入8 張圖像。

Dice 相似系數(Dice Similarity Coefficient,DSC)是圖像分割領域常用的評價指標,用于測量類分割任務中真實值和預測值之間的重疊部分[22-23]。本文采用DSC、平均交并比(mean Intersection over Union,mIoU)、平均像素準確率(Mean Pixel Accuracy,MPA)、參數量、乘加運算(Multiplication and ACcumulation,MAC)和測試集中每張圖片的平均測試時間(Time)對各網絡性能進行評價。

3.3 實驗結果與分析

3.3.1 對比實驗

在民國檔案印章數據集上訓練UNet-S 與U-Net[5]、DeepLab v2[24]網絡、UNet++[8]、DFANet[9]、DDRNet(Deep Dual-Resolution Network)[25]并進行對比,不同網絡的實驗結果如表1 所示。由于該數據集為二分類問題,所以均采用BCEWithLogits 損失函數。實驗中其余參數設置均采用原始論文中的參數。

從表1 可以看出,UNet-S 的DSC、mIoU 和MPA 取得了最優結果,最多提高了17.38%、32.68%和0.6%,參數量最多下降了76.64%。相較于次優的編解碼器結構UNet++,UNet-S 的DSC 提升了3.2%。

表1 不同網絡的實驗結果對比Tab.1 Comparison of experimental results of different networks

表2 為網絡復雜度對比,可以看出UNet-S 的參數量、MAC、時間大幅度降低。雖然輕量化網絡DFANet 的參數量和MAC 更小,但是它的DSC、mIoU 和MPA 均不如UNet-S。而實際應用中使用的都是訓練后的網絡,所以時間并不是最重要的因素,測試速度和實驗精度更重要。

表2 不同網絡的復雜度對比Tab.2 Complexity comparison of different networks

各網絡的分割結果如圖4 所示,其中,Ground Truth 為人工標注圖像。圖4(c)中U-Net 存在印章邊上表格誤判、分割不全等問題;圖4(d)中DeepLab v2 網絡存在部分印章無法識別、印章邊界分割模糊等問題;圖4(e)中UNet++存在部分印章無法準確識別與背景誤判等問題;圖4(f)中DFANet 存在部分印章無法準確識別等問題,印章四周邊緣存在參差不齊的毛刺,平滑性不如UNet-S;圖4(g)中DDRNet 存在印章邊界分割模糊等問題;圖4(h)為UNet-S 分割效果??梢钥闯鯱Net-S 平衡了精度、訓練速度、測試速度、參數量等各項指標,針對印章數據集的效果最佳。

圖4 測試集分割結果示例Fig.4 Example of test set segmentation results

3.3.2 消融實驗

為了選取更適合民國檔案印章數據集的網絡層數,分別針對1~6 層網絡進行了實驗,結果如表3 所示。6 層網絡的DSC 不如5 層網絡,參數量卻為5 層網絡的4 倍,所以最終選擇5 層網絡作為UNet-S 的網絡結構。

表3 不同層數的實驗結果對比Tab.3 Comparison of experimental results with different layers

如表4 所示,為了更好地擬合民國檔案印章數據集,進行了一系列對比以確定損失函數的權重因子的取值。當λ=0.9 時,mIoU 和DSC 最優,因此使用λ=0.9 進行仿真實驗。

表4 不同權重因子的結果對比Tab.4 Comparison of results with different weighting factors

為了驗證不同模塊的有效性,針對不同模塊進行了消融實驗,結果如表5 所示??梢钥闯觯?)DSConv 的使用和網絡通道數的降低,使網絡參數量降低了76.6%;2)加入多尺度殘差模塊后,DSC、mIoU 提高4.2%和8.1%,表明多尺度殘差模塊可以有效提高網絡的準確率;3)相較于BCEWithLogitsLoss,使用BCEDiceLoss 后DSC、mIoU 提高了3.9%、7.2%,表明BCEDiceLoss 能較好地解決民國檔案印章數據集中數據不均衡所帶來的問題;4)相較于原始網絡,UNet-S 的通道數減半并且使用了DSConv,參數量僅為原始網絡的23.4%,但是結合其他模塊后DSC 提升了6.8%。

表5 不同模塊實驗結果對比Tab.5 Comparison of experimental results of different modules

圖5 為UNet-S 與U-Net 的DSC、mIoU 和MPA 在不同Epoch 的曲線,可以看出,相較于U-Net,UNet-S 收斂更快、曲線更平滑。

圖5 不同Epoch下的結果Fig.5 Results in different Epoch

4 結語

針對傳統印章檢測方法不適合民國檔案印章數據集,而U-Net 分割精度不高、邊緣細節分割不夠細膩等問題,本文提出基于U-Net 的改進網絡UNet-S。UNet-S 使用深度可分離卷積降低網絡參數量;使用改進后的多尺度殘差模塊、損失函數和5 層網絡結構提高網絡準確率。實驗結果表明,UNet-S取得了更好的性能。雖然作出了如上改進,但是在實驗過程中,依然存在著數據集的噪聲干擾過大等問題,下一步將解決以上問題并在民國檔案印章數據集上進行印章文字檢測。

猜你喜歡
印章民國殘差
我們有印章咯
基于雙向GRU與殘差擬合的車輛跟馳建模
基于殘差學習的自適應無人機目標跟蹤算法
基于遞歸殘差網絡的圖像超分辨率重建
他們為何都愛民國?
自制橡皮印章
印章
民國人愛刷朋友圈
大象的印章
平穩自相關過程的殘差累積和控制圖
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合