倪健,池祥
(河北工程大學,河北邯鄲 056000)
隨著服務業的迅猛發展,街道上充斥著各種各樣的店面招牌。街景下的招牌文本蘊含著大量寶貴信息,自然場景下的文字檢測識別也是計算機視覺領域的重要研究方向[1],將兩者結合并輔以地理信息,將來可以應用于地圖導航、店鋪推薦、智能城市規劃分析、商業區商業價值分析等實際落地領域,具有很高的研究價值和業務使用價值。
招牌文本識別的前提是招牌文本檢測,因此準確且全面地檢測出招牌圖像中文本十分必要。街景圖像中的招牌文本背景復雜,受光照和角度的影響較大,且招牌中的文本具有不同的尺度、形狀、方向和彎曲程度,因此基于手工特征提取的傳統文本檢測算法適應性與抗干擾較差。目前深度學習場景文本檢測方法主要分為基于候選框回歸的方法與基于分割的方法[2]。基于候選框回歸的方法如EAST[3]算法把完整文本行先分割檢測再合并,先進行候選框選取過濾,再進行候選框回歸合并,檢測速度雖快但是無法檢測彎曲文本。基于分割的方法如PSENet[4]漸進的尺度擴展算法,雖能基于像素級的預測彎曲文本,但是需要對同一個文本進行多種預測,使其無法達到實時檢測的可能。
本文采用基于分割的DBNet算法對街道上的招牌文本進行檢測,旨在解決不規則招牌文本檢測困難與檢測耗時的問題。首先,利用ResNet 網絡結構訓練大量真實場景數據集,其次,經過殘差注意力路徑聚合網絡進行特征融合增強,最后,通過可微二值化操作加速文本后處理獲近似二值圖,以實現招牌文本的檢測。
DBnet 算法是基于像素分割的,可以滿足實時檢測的場景文本檢測算法[5]。DBNet算法(見圖1)可以大致為3 個部分:特征提取、特征融合增強和文本后處理。待檢測的圖像經過ResNet-50特征提取網絡得到4 個特征圖,分別為原圖大小為1/4、1/8、1/16 和1/32,FPN網絡分別將4個不同尺度的特征圖進行上采樣融合拼接得到特征圖F,由特征圖F 經過頭部網絡得到與原圖大小相同的概率圖P(Probability Map) 與自適應閾值圖T(Throshold Map),將概率圖與自適應閾值圖進行可微分二值化操作得到近似二值圖B(Approximate Binary Map),從而獲取文本框邊界。訓練期間對P、T、B 進行監督訓練,P 與B 受到相同的監督,P 與T的標簽由對文本標注框進行膨脹縮放制作而成,膨脹和縮放使用相同的偏移系數,而推理過程時,只需要概率圖就可得到結果,無須進行可微二值化操作。該算法雖然檢測速度快,但是由于金字塔網絡特征融合方式較為簡單,導致融合生成的特征圖存在細節特征丟失的問題,導致其標定的文本框擬合不夠準確。

圖1 DBNet算法結構圖
在特征融合后進行文本后處理,生成大小相同的概率圖與自適應閾值圖,將概率圖與閾值圖進行微分二值化操作生成文本檢測最后的結果,可微二值化公式如下:
不規則文本區域通常是由多點連線包圍而成,先使用Vatti裁剪算法對文字區域進行裁剪,再將原始的文本框收縮膨脹(見圖2),收縮膨脹的偏移量根據原始文本框的周長和面積進行計算,偏移量D計算方式如下:

圖2 標簽制作圖
其中,S、L 分別代表文本框面積和周長,r代表收縮率,本文設置為0.4。通過收縮標注框(圖2 紅色邊界)距離D 得到收縮邊界(藍色邊界),收縮邊界的內部區局為概率圖和近似二值化圖的標簽。向外擴張同樣的距離D,收縮邊界和膨脹邊界之間的間隙(藍色邊界和綠色邊界之間的區域)為自適應閾值圖的標簽,該區域的值預設為0.7,其他區域的值預設為0.3。
在訓練過程中,自適應閾值圖單獨受到監督,概率圖與近似二值圖受到相同的監督。損失函數可以分為三個部分:概率圖損失Lρ、閾值圖損失Lt和近似二值圖損失La[5]。具體表達如下:
考慮到閾值圖的結果會影響到近似二值化圖的損失,參數α、β在實驗中分別設置為5和10。
針對金字塔網絡特征融合簡單而導致文本框擬合不夠準確的問題,改進后的特征融合增強網絡采用殘差注意力路徑聚合網絡(見圖3),將原來單向融合的方式增加反向融合,并且在原有3×3卷積核之后加入殘差結構SE 注意力機制,基于通道注意力機制的路徑聚合網絡融合低分辨率但強語義信息的特征圖與空間信息豐富但語義信息較弱的特征圖,實現空間信息與語義信息雙向流動,減少細節特征丟失。該網絡融合多層特征,提高檢測算法對不同招牌文本尺度的檢測能力,這適合于招牌中既有大字體文本行也有小字體文本行的特性。

圖3 雙向殘差注意力金字塔
SE(Squeeze-Excitation)注意力模塊主要由全局池化層、全連接層、relu 激活函數和sigmoid 組成(見圖4) 。squeeze 階段將特征圖進行全局平均池化,特征圖壓縮為長度為通道數的一維向量,對每個通道信息進行特征融合,使一個數值表示該通道的全局感受視野,excitation階段將特征向量經過兩層全連接與激活函數后生成通道權重值,用于表示每個通道的重要性。scale階段將通過生成的通道權重與特征圖相乘,實現通道特征重要性的重新標定。然而改進的路徑聚合網絡為輕量級網絡,特征通道數相對較少,SE注意力模塊可能會抑制一些包含重要特征的通道,為緩解這個問題,為SE注意力模塊引入殘差結構,盡可能保留通道中重要的信息。

圖4 SE注意力機制
實驗選取真實場景招牌文本數據集ReCTS,隨機從20 000 張中選取16 000 張為訓練集,4 000 張為測試集,該數據集是在不受控條件下采集,招牌上的文本存在中文特有的設計和排版,同時也兼有拍照角度與光照變化等干擾因素。
實驗中數據增強策略包括翻轉變換(Flip)、仿射變換(Affine)、尺寸變換(Resize)、隨機裁剪(EastRandom CropData),訓練策略采用L2正則,以上策略可以提升模型的魯棒性與泛化能力。
實驗平臺為BML CodeLab,CPU 為4 核,顯卡為V100,內存為32 GB,開發環境為Python3.7、Paddle-Paddle 2.2.2、CUDA11.2、ResNet-50等。
評價指標使用準確率(Precision)、召回率(Recall)以及利用這兩個值調和計算的平均得分(Hmean),這三個指標來評估算法的性能[6],計算公式如下所示:
注:Tp為正樣本被正確識別的數量個數,Fp為負樣本被識別為正樣本的個數,即誤報負樣本數量,Fn為正樣本被誤識的個數,即漏報的正樣本數量[7]。FPS用來評估目標網絡檢測的速度,即每秒內可以處理的圖片數量,FPS數值越高,檢測速度越快。
實驗選取EAST算法、PSENet算法、DBNet算法和改進后DBNet 算法進行實驗,圖5 為各算法測試效果圖,圖左上為EAST 算法結果的結果,EAST 算法對于水平文本能夠較好地加測,對于彎曲的招牌藝術字只能檢測到中間部分,圖右上為PSENet 方法對于招牌店名文本中間能夠較好地擬合,但是對招牌店名兩端存在漏檢的情況,且對于電話號碼部分的語義分割出現了問題,將電話號碼分割成了兩部分,圖左下為原DBNet 算法圖,對招牌文本存在著漏檢情況,圖右下為改進后DBNet 算法對招牌店名文本輪廓貼合效果最好,后續處理的最小外切矩陣比原DBNet 算法與PSENet算法更優。

圖5 算法效果對比圖
選取EAST、PSENet、DBNet、改進DBNet 4 個算法進行訓練,將訓練好的圖片在4 000 張測試集上進行測試,得到表1所示的性能指標。EAST算法雖然有不錯的實時性,但是精度較低,PSENet 算法雖然能夠檢測彎曲文本,但是精度與召回率較低且無法滿足實時檢測的要求,改進后的DBNet算法在原有保持檢測速度與召回率的前提下提升了精度。

表1 不同文本檢測模型對比
招牌檢測的應用前景廣泛,針對街景招牌文本檢測問題,基于候選框回歸算法無法檢測彎曲文本,分割算法檢測速度慢的問題,本文在DBNet場景文本檢測算法上,融合殘差注意力路徑聚合網絡,在大量真實招牌場景數據集上訓練,得到了更適合招牌場景的文本檢測模型。將招牌文本檢測模型在4 000張測試集下進行評估,準確率、召回率、檢測速度都達到了不錯的指標,驗證了本模型的可行性,因招牌環境復雜多變、招牌字體樣式多樣、光線角度等問題,仍存在很大的提升空間,也是后續的研究工作中應該重點解決的難題。