倪健,池祥
(河北工程大學(xué),河北邯鄲 056000)
隨著服務(wù)業(yè)的迅猛發(fā)展,街道上充斥著各種各樣的店面招牌。街景下的招牌文本蘊(yùn)含著大量寶貴信息,自然場景下的文字檢測識別也是計(jì)算機(jī)視覺領(lǐng)域的重要研究方向[1],將兩者結(jié)合并輔以地理信息,將來可以應(yīng)用于地圖導(dǎo)航、店鋪推薦、智能城市規(guī)劃分析、商業(yè)區(qū)商業(yè)價(jià)值分析等實(shí)際落地領(lǐng)域,具有很高的研究價(jià)值和業(yè)務(wù)使用價(jià)值。
招牌文本識別的前提是招牌文本檢測,因此準(zhǔn)確且全面地檢測出招牌圖像中文本十分必要。街景圖像中的招牌文本背景復(fù)雜,受光照和角度的影響較大,且招牌中的文本具有不同的尺度、形狀、方向和彎曲程度,因此基于手工特征提取的傳統(tǒng)文本檢測算法適應(yīng)性與抗干擾較差。目前深度學(xué)習(xí)場景文本檢測方法主要分為基于候選框回歸的方法與基于分割的方法[2]?;诤蜻x框回歸的方法如EAST[3]算法把完整文本行先分割檢測再合并,先進(jìn)行候選框選取過濾,再進(jìn)行候選框回歸合并,檢測速度雖快但是無法檢測彎曲文本?;诜指畹姆椒ㄈ鏟SENet[4]漸進(jìn)的尺度擴(kuò)展算法,雖能基于像素級的預(yù)測彎曲文本,但是需要對同一個文本進(jìn)行多種預(yù)測,使其無法達(dá)到實(shí)時(shí)檢測的可能。
本文采用基于分割的DBNet算法對街道上的招牌文本進(jìn)行檢測,旨在解決不規(guī)則招牌文本檢測困難與檢測耗時(shí)的問題。首先,利用ResNet 網(wǎng)絡(luò)結(jié)構(gòu)訓(xùn)練大量真實(shí)場景數(shù)據(jù)集,其次,經(jīng)過殘差注意力路徑聚合網(wǎng)絡(luò)進(jìn)行特征融合增強(qiáng),最后,通過可微二值化操作加速文本后處理獲近似二值圖,以實(shí)現(xiàn)招牌文本的檢測。
DBnet 算法是基于像素分割的,可以滿足實(shí)時(shí)檢測的場景文本檢測算法[5]。DBNet算法(見圖1)可以大致為3 個部分:特征提取、特征融合增強(qiáng)和文本后處理。待檢測的圖像經(jīng)過ResNet-50特征提取網(wǎng)絡(luò)得到4 個特征圖,分別為原圖大小為1/4、1/8、1/16 和1/32,F(xiàn)PN網(wǎng)絡(luò)分別將4個不同尺度的特征圖進(jìn)行上采樣融合拼接得到特征圖F,由特征圖F 經(jīng)過頭部網(wǎng)絡(luò)得到與原圖大小相同的概率圖P(Probability Map) 與自適應(yīng)閾值圖T(Throshold Map),將概率圖與自適應(yīng)閾值圖進(jìn)行可微分二值化操作得到近似二值圖B(Approximate Binary Map),從而獲取文本框邊界。訓(xùn)練期間對P、T、B 進(jìn)行監(jiān)督訓(xùn)練,P 與B 受到相同的監(jiān)督,P 與T的標(biāo)簽由對文本標(biāo)注框進(jìn)行膨脹縮放制作而成,膨脹和縮放使用相同的偏移系數(shù),而推理過程時(shí),只需要概率圖就可得到結(jié)果,無須進(jìn)行可微二值化操作。該算法雖然檢測速度快,但是由于金字塔網(wǎng)絡(luò)特征融合方式較為簡單,導(dǎo)致融合生成的特征圖存在細(xì)節(jié)特征丟失的問題,導(dǎo)致其標(biāo)定的文本框擬合不夠準(zhǔn)確。
圖1 DBNet算法結(jié)構(gòu)圖
在特征融合后進(jìn)行文本后處理,生成大小相同的概率圖與自適應(yīng)閾值圖,將概率圖與閾值圖進(jìn)行微分二值化操作生成文本檢測最后的結(jié)果,可微二值化公式如下:
不規(guī)則文本區(qū)域通常是由多點(diǎn)連線包圍而成,先使用Vatti裁剪算法對文字區(qū)域進(jìn)行裁剪,再將原始的文本框收縮膨脹(見圖2),收縮膨脹的偏移量根據(jù)原始文本框的周長和面積進(jìn)行計(jì)算,偏移量D計(jì)算方式如下:
圖2 標(biāo)簽制作圖
其中,S、L 分別代表文本框面積和周長,r代表收縮率,本文設(shè)置為0.4。通過收縮標(biāo)注框(圖2 紅色邊界)距離D 得到收縮邊界(藍(lán)色邊界),收縮邊界的內(nèi)部區(qū)局為概率圖和近似二值化圖的標(biāo)簽。向外擴(kuò)張同樣的距離D,收縮邊界和膨脹邊界之間的間隙(藍(lán)色邊界和綠色邊界之間的區(qū)域)為自適應(yīng)閾值圖的標(biāo)簽,該區(qū)域的值預(yù)設(shè)為0.7,其他區(qū)域的值預(yù)設(shè)為0.3。
在訓(xùn)練過程中,自適應(yīng)閾值圖單獨(dú)受到監(jiān)督,概率圖與近似二值圖受到相同的監(jiān)督。損失函數(shù)可以分為三個部分:概率圖損失Lρ、閾值圖損失Lt和近似二值圖損失La[5]。具體表達(dá)如下:
考慮到閾值圖的結(jié)果會影響到近似二值化圖的損失,參數(shù)α、β在實(shí)驗(yàn)中分別設(shè)置為5和10。
針對金字塔網(wǎng)絡(luò)特征融合簡單而導(dǎo)致文本框擬合不夠準(zhǔn)確的問題,改進(jìn)后的特征融合增強(qiáng)網(wǎng)絡(luò)采用殘差注意力路徑聚合網(wǎng)絡(luò)(見圖3),將原來單向融合的方式增加反向融合,并且在原有3×3卷積核之后加入殘差結(jié)構(gòu)SE 注意力機(jī)制,基于通道注意力機(jī)制的路徑聚合網(wǎng)絡(luò)融合低分辨率但強(qiáng)語義信息的特征圖與空間信息豐富但語義信息較弱的特征圖,實(shí)現(xiàn)空間信息與語義信息雙向流動,減少細(xì)節(jié)特征丟失。該網(wǎng)絡(luò)融合多層特征,提高檢測算法對不同招牌文本尺度的檢測能力,這適合于招牌中既有大字體文本行也有小字體文本行的特性。
圖3 雙向殘差注意力金字塔
SE(Squeeze-Excitation)注意力模塊主要由全局池化層、全連接層、relu 激活函數(shù)和sigmoid 組成(見圖4) 。squeeze 階段將特征圖進(jìn)行全局平均池化,特征圖壓縮為長度為通道數(shù)的一維向量,對每個通道信息進(jìn)行特征融合,使一個數(shù)值表示該通道的全局感受視野,excitation階段將特征向量經(jīng)過兩層全連接與激活函數(shù)后生成通道權(quán)重值,用于表示每個通道的重要性。scale階段將通過生成的通道權(quán)重與特征圖相乘,實(shí)現(xiàn)通道特征重要性的重新標(biāo)定。然而改進(jìn)的路徑聚合網(wǎng)絡(luò)為輕量級網(wǎng)絡(luò),特征通道數(shù)相對較少,SE注意力模塊可能會抑制一些包含重要特征的通道,為緩解這個問題,為SE注意力模塊引入殘差結(jié)構(gòu),盡可能保留通道中重要的信息。
圖4 SE注意力機(jī)制
實(shí)驗(yàn)選取真實(shí)場景招牌文本數(shù)據(jù)集ReCTS,隨機(jī)從20 000 張中選取16 000 張為訓(xùn)練集,4 000 張為測試集,該數(shù)據(jù)集是在不受控條件下采集,招牌上的文本存在中文特有的設(shè)計(jì)和排版,同時(shí)也兼有拍照角度與光照變化等干擾因素。
實(shí)驗(yàn)中數(shù)據(jù)增強(qiáng)策略包括翻轉(zhuǎn)變換(Flip)、仿射變換(Affine)、尺寸變換(Resize)、隨機(jī)裁剪(EastRandom CropData),訓(xùn)練策略采用L2正則,以上策略可以提升模型的魯棒性與泛化能力。
實(shí)驗(yàn)平臺為BML CodeLab,CPU 為4 核,顯卡為V100,內(nèi)存為32 GB,開發(fā)環(huán)境為Python3.7、Paddle-Paddle 2.2.2、CUDA11.2、ResNet-50等。
評價(jià)指標(biāo)使用準(zhǔn)確率(Precision)、召回率(Recall)以及利用這兩個值調(diào)和計(jì)算的平均得分(Hmean),這三個指標(biāo)來評估算法的性能[6],計(jì)算公式如下所示:
注:Tp為正樣本被正確識別的數(shù)量個數(shù),F(xiàn)p為負(fù)樣本被識別為正樣本的個數(shù),即誤報(bào)負(fù)樣本數(shù)量,F(xiàn)n為正樣本被誤識的個數(shù),即漏報(bào)的正樣本數(shù)量[7]。FPS用來評估目標(biāo)網(wǎng)絡(luò)檢測的速度,即每秒內(nèi)可以處理的圖片數(shù)量,F(xiàn)PS數(shù)值越高,檢測速度越快。
實(shí)驗(yàn)選取EAST算法、PSENet算法、DBNet算法和改進(jìn)后DBNet 算法進(jìn)行實(shí)驗(yàn),圖5 為各算法測試效果圖,圖左上為EAST 算法結(jié)果的結(jié)果,EAST 算法對于水平文本能夠較好地加測,對于彎曲的招牌藝術(shù)字只能檢測到中間部分,圖右上為PSENet 方法對于招牌店名文本中間能夠較好地?cái)M合,但是對招牌店名兩端存在漏檢的情況,且對于電話號碼部分的語義分割出現(xiàn)了問題,將電話號碼分割成了兩部分,圖左下為原DBNet 算法圖,對招牌文本存在著漏檢情況,圖右下為改進(jìn)后DBNet 算法對招牌店名文本輪廓貼合效果最好,后續(xù)處理的最小外切矩陣比原DBNet 算法與PSENet算法更優(yōu)。
圖5 算法效果對比圖
選取EAST、PSENet、DBNet、改進(jìn)DBNet 4 個算法進(jìn)行訓(xùn)練,將訓(xùn)練好的圖片在4 000 張測試集上進(jìn)行測試,得到表1所示的性能指標(biāo)。EAST算法雖然有不錯的實(shí)時(shí)性,但是精度較低,PSENet 算法雖然能夠檢測彎曲文本,但是精度與召回率較低且無法滿足實(shí)時(shí)檢測的要求,改進(jìn)后的DBNet算法在原有保持檢測速度與召回率的前提下提升了精度。
表1 不同文本檢測模型對比
招牌檢測的應(yīng)用前景廣泛,針對街景招牌文本檢測問題,基于候選框回歸算法無法檢測彎曲文本,分割算法檢測速度慢的問題,本文在DBNet場景文本檢測算法上,融合殘差注意力路徑聚合網(wǎng)絡(luò),在大量真實(shí)招牌場景數(shù)據(jù)集上訓(xùn)練,得到了更適合招牌場景的文本檢測模型。將招牌文本檢測模型在4 000張測試集下進(jìn)行評估,準(zhǔn)確率、召回率、檢測速度都達(dá)到了不錯的指標(biāo),驗(yàn)證了本模型的可行性,因招牌環(huán)境復(fù)雜多變、招牌字體樣式多樣、光線角度等問題,仍存在很大的提升空間,也是后續(xù)的研究工作中應(yīng)該重點(diǎn)解決的難題。