蔡鑫鑫,王 敏
(河海大學(xué) 計(jì)算機(jī)與信息學(xué)院,南京 211100)
文本是傳遞語(yǔ)義信息的最基本媒介,它在日常生活中無(wú)處不在:路牌、商店招牌、產(chǎn)品包裝、餐館菜單等,這種自然環(huán)境中的文本被稱為場(chǎng)景文本[1].自然場(chǎng)景中的文本檢測(cè)及識(shí)別技術(shù)可以廣泛地應(yīng)用到場(chǎng)景分析與理解、視覺(jué)障礙導(dǎo)航、智能交通管理、無(wú)人駕駛等領(lǐng)域.由于場(chǎng)景文本具有不同的尺度和形狀,包括水平文本、多方向文本和曲線文本,因此對(duì)每個(gè)文本實(shí)例的邊界框或區(qū)域進(jìn)行定位仍然是一項(xiàng)具有挑戰(zhàn)性的任務(wù).基于分割的場(chǎng)景文本檢測(cè)方法能夠預(yù)測(cè)像素級(jí)的結(jié)果來(lái)描述各種形狀的文本,近年來(lái)受到了廣泛的關(guān)注.然而,大多數(shù)基于分割的方法推理速度慢,模型和后處理步驟復(fù)雜,限制了它們?cè)谡鎸?shí)環(huán)境中的部署.同時(shí)已有高效的文本檢測(cè)器多數(shù)是針對(duì)四邊形文本實(shí)例設(shè)計(jì)的,在檢測(cè)曲線文本時(shí)存在不足.
為了解決這些問(wèn)題,本文提出了一種可以檢測(cè)任意形狀文本的方法,同時(shí)可以在速度和準(zhǔn)確度之間達(dá)到很好的平衡.本文方法主要有3 個(gè)步驟:(1)使用輕量級(jí)的分割網(wǎng)絡(luò)提取特征,預(yù)測(cè)文本的概率圖和閾值圖;(2)根據(jù)可微二值化模塊將概率圖和閾值圖結(jié)合得到近似的二值圖,自適應(yīng)地預(yù)測(cè)圖像中每個(gè)位置的閾值,從而很好的區(qū)分前景和背景中的像素;(3)對(duì)近似二值圖進(jìn)行簡(jiǎn)單后處理,得到文本區(qū)域.
目前基于深度學(xué)習(xí)的自然場(chǎng)景文本檢測(cè)方法可以分為3 類:基于區(qū)域建議的方法、基于分割的方法和混合方法[2].
基于區(qū)域建議方法的主要思想是先對(duì)自然場(chǎng)景文本圖像提取候選框,然后對(duì)每個(gè)區(qū)域進(jìn)行分類和回歸,最后得到文本檢測(cè)結(jié)果.Textboxes[3]方法可以快速地計(jì)算文本在每個(gè)區(qū)域存在的可能性,將常用的卷積核修改成1 ×5,使其更適合自然場(chǎng)景文本檢測(cè).Textboxes++方法[4]將Textboxes 水平排列文本檢測(cè)器擴(kuò)展為任意方向排列文本檢測(cè)器.基于區(qū)域建議的方法通常使用簡(jiǎn)單的后處理算法(如非極大值抑制算法NMS),但是大多數(shù)方法不能精確的表示不規(guī)則文本(如曲線文本)的邊界框.
基于分割的方法主要借鑒了全卷積神經(jīng)網(wǎng)絡(luò)(FCN)的思想,針對(duì)圖像中每一個(gè)像素點(diǎn)進(jìn)行分類判斷,以達(dá)到語(yǔ)義級(jí)別分割的目的.EAST 方法[5]首先通過(guò)FCN輸出文本區(qū)域像素級(jí)檢測(cè)結(jié)果,然后將上述結(jié)果通過(guò)NMS 算法獲得文本區(qū)域.TextSnake 方法[6]將文本實(shí)例描述為一個(gè)以對(duì)稱軸為中心的重疊圓盤序列,每個(gè)圓盤都與潛在的可變半徑和方向相關(guān),這種幾何屬性是通過(guò)FCN 模型來(lái)估計(jì)的.PSENet[7]為每個(gè)文本實(shí)例生成不同比例的內(nèi)核,并逐漸將最小比例內(nèi)核擴(kuò)展為具有完整形狀的文本實(shí)例.基于分割的方法通常需要復(fù)雜的后處理,會(huì)降低推理速度.
混合方法是將上述的兩種方法相結(jié)合來(lái)進(jìn)行場(chǎng)景文本檢測(cè).LOMO 方法[8]可以多次逐步定位文本,通過(guò)迭代細(xì)化逐步感知整個(gè)長(zhǎng)文本,考慮文本實(shí)例的幾何特性對(duì)不規(guī)則文本進(jìn)行精確再現(xiàn).FTSN 模型[9]從實(shí)例感知語(yǔ)義分割的角度,利用語(yǔ)義分割任務(wù)和基于區(qū)域建議的目標(biāo)檢測(cè)任務(wù)的優(yōu)點(diǎn),對(duì)文本實(shí)例進(jìn)行聯(lián)合檢測(cè)和分割.
本文方法側(cè)重于在不損失推理速度的情況下,將二值化過(guò)程包含到訓(xùn)練周期中來(lái)改進(jìn)分割結(jié)果.
圖1為本文提出方法的總體框架.首先,為了提高效率,本文采用一種計(jì)算效率高的分割頭來(lái)細(xì)化特征.分割頭包括兩個(gè)關(guān)鍵模塊:特征金字塔增強(qiáng)模塊(FPEM)和特征融合模塊(FFM)[10].如圖1所示,FPEM 是可級(jí)聯(lián)的,可以附加在主干之后,使不同尺度的特征更深入和更具表現(xiàn)力,然后利用特征融合模塊(FFM)將不同深度的FPEM 產(chǎn)生的特征融合得到最終的分割特征F.其次,利用特征F對(duì)概率圖(P)和閾值圖(T)進(jìn)行預(yù)測(cè),根據(jù)可微二值化模塊(DB)將概率圖和閾值圖結(jié)合得到近似的二值圖(B'),自適應(yīng)地預(yù)測(cè)圖像中每個(gè)位置的閾值[11].最后,在推理階段,通過(guò)邊界框形成從近似二值圖中獲得文本區(qū)域的邊界框.
FPEM 是一個(gè)U 型模塊,如圖2所示,它由兩個(gè)階段組成:Up-Scale 增強(qiáng)和Down-Scale 增強(qiáng).Up-Scale增強(qiáng)作用于輸入的特征,它以步長(zhǎng)32,16,8,4 像素在特征圖上迭代增強(qiáng).在Down-Scale 階段,輸入的是由Up-Scale 增強(qiáng)生成的特征,增強(qiáng)的步長(zhǎng)從4 到32,同時(shí)該階段輸出的特征就是最終FPEM 的輸出.本文使用分離卷積代替常規(guī)卷積來(lái)構(gòu)建FPEM 的連接部分(見(jiàn)圖2虛線部分),因此FPEM 能夠以較小的計(jì)算開(kāi)銷擴(kuò)大感受野和加深網(wǎng)絡(luò).與FPN 類似,FPEM 能夠通過(guò)融合低層和高層信息來(lái)增強(qiáng)不同尺度的特征,同時(shí)它還有兩個(gè)優(yōu)點(diǎn):(1)FPEM 是一個(gè)級(jí)聯(lián)模塊,隨著級(jí)聯(lián)數(shù)目m的增加,不同尺度的特征圖融合更充分,特征的感受野變得更大;(2)FPEM 的計(jì)算開(kāi)銷很小,它建立在分離卷積的基礎(chǔ)上,計(jì)算量大約為FPN 的1/5.
圖1 總體框架
圖2 FPEM 模塊
采用特征融合模塊FFM 對(duì)不同深度的特征F1,F2,···,Fm進(jìn)行融合,對(duì)于語(yǔ)義分割來(lái)說(shuō),低層和高層的語(yǔ)義信息都很重要,組合這些特征直接有效的方法是對(duì)它們進(jìn)行上采樣和級(jí)聯(lián).然而,此方法給出的融合特征圖具有較大的通道數(shù)(4×128×m),這會(huì)降低最終的預(yù)測(cè)速度.因此,本文采用另一種融合方法,如圖3所示,首先通過(guò)逐元素增加的方法組合相應(yīng)的尺度特征圖,然后對(duì)添加后的特征圖進(jìn)行上采樣并連接成僅具有4×8 個(gè)通道的最終特征圖.
圖3 FFM 模塊
根據(jù)分割網(wǎng)絡(luò)生成的概率圖P∈RH×W,其中H和W表示圖的高度和寬度,需要將其轉(zhuǎn)換為二值圖P∈RH×W,其中值為1 的像素被認(rèn)為是有效的文本區(qū)域.通常,這種二值化過(guò)程可以描述如下:
其中,t為預(yù)定義的閾值,(i,j)表示圖中的坐標(biāo)點(diǎn).
式(1)中描述的標(biāo)準(zhǔn)二值化是不可微的,在訓(xùn)練過(guò)程中不能隨著分割網(wǎng)絡(luò)進(jìn)行優(yōu)化.為了解決這一問(wèn)題,本文使用步長(zhǎng)函數(shù)進(jìn)行二值化:
其中,B'是近似二值圖,T是從網(wǎng)絡(luò)中學(xué)習(xí)的自適應(yīng)閾值圖,k是放大系數(shù),本文設(shè)置為k=50.該近似二值化函數(shù)與標(biāo)準(zhǔn)二值化函數(shù)相似,但具有可微性,因此可以在訓(xùn)練期間隨分割網(wǎng)絡(luò)進(jìn)行優(yōu)化.自適應(yīng)閾值的可微二值化方法不僅可以區(qū)分文本區(qū)域和背景,而且可以分離出連接緊密的文本實(shí)例.
DB 提高性能的原因可以用梯度的反向傳播來(lái)解釋,以二元交叉熵?fù)p失為例,定義f(x)=1/(1+e?kx)作為本文的DB 函數(shù),其中x=Pi,j?Ti,j,那么正標(biāo)簽的損失l+和 負(fù)標(biāo)簽的損失l?為:
可以用鏈?zhǔn)椒▌t很容易地計(jì)算出損失的微分:
由微分可知:(1)梯度被放大系數(shù)k增大;(2)梯度的放大對(duì)大多數(shù)錯(cuò)誤預(yù)測(cè)區(qū)域都是顯著的,從而有利于優(yōu)化和幫助產(chǎn)生更顯著的預(yù)測(cè).此外,當(dāng)x=Pi,j?Ti,j時(shí),P的梯度受到T的影響,并在前景和背景之間重新縮放.
概率圖的標(biāo)簽生成是受到PSENet[7]的啟發(fā),如圖4所示,給定一個(gè)文本圖像,其文本區(qū)域的每個(gè)多邊形由一組線段來(lái)描述:
式中,n是頂點(diǎn)的數(shù)量,在不同的數(shù)據(jù)集中可能不同,如ICDAR2015 數(shù)據(jù)集的4 個(gè)頂點(diǎn)和Total-Text 數(shù)據(jù)集的16 個(gè)頂點(diǎn).然后,使用Vatti 裁剪算法將多邊形G縮小到Gs,收縮的偏移量D是由原多邊形的周長(zhǎng)L和面積A計(jì)算出來(lái)的:
其中,r是收縮比,設(shè)置為0.4.
通過(guò)類似的過(guò)程,可以為閾值圖生成標(biāo)簽.首先將文本多邊形G以相同的偏移量D展開(kāi)至Gd,將Gs和Gd之間的間隙作為文本區(qū)域的邊界,通過(guò)計(jì)算到G中最接近的線段的距離來(lái)生成閾值圖的標(biāo)簽.
圖4 標(biāo)簽生成
損失函數(shù)L可以表示為概率圖Ls的損失、二值圖
Lb的損失和閾值圖Lt的損失的加權(quán)和:
根據(jù)損失的數(shù)值,α 和β 分別設(shè)置為1 和10.
本文對(duì)Ls和Lb都應(yīng)用了二元交叉熵?fù)p失(BCE).為了克服正負(fù)數(shù)的不平衡,在BCE 損失中采用了hard negative mining 的方法.
Sl是 正負(fù)比為1 :3的采樣集.
Lt為擴(kuò)展多邊形Gd內(nèi)預(yù)測(cè)和標(biāo)簽之間的L1距離之和:
其中,Rd是 擴(kuò)展多邊形Gd內(nèi)像素的一組索引,y?是閾值圖的標(biāo)簽.
在推理階段,使用概率圖來(lái)生成文本邊界框,框的形成過(guò)程包括3 個(gè)步驟:(1)將概率圖二值化為常數(shù)閾值(0.2),得到二值圖;(2)從二值圖中得到連通區(qū)域(縮小后的文本區(qū)域);(3)使用Vatti 裁剪算法中的偏移量D'對(duì)縮小的區(qū)域進(jìn)行擴(kuò)展.D'計(jì)算為:
其中,A'是收縮多邊形的面積,L'是收縮多邊形的周長(zhǎng),r'設(shè)置為1.5.
SynthText 是一個(gè)包含800 k 圖像的合成數(shù)據(jù)集,此數(shù)據(jù)集僅用于對(duì)本文的模型進(jìn)行預(yù)訓(xùn)練.
ICDAR2015 是多方向文本檢測(cè)常用的數(shù)據(jù)集,它由1000 張訓(xùn)練圖像和500 張測(cè)試圖像組成,文本實(shí)例以單詞級(jí)標(biāo)注.
Total-Text 是包含各種形狀文本的數(shù)據(jù)集,包括水平、多方向和曲線文本實(shí)例,它由1255 張訓(xùn)練圖像和300 張測(cè)試圖像組成,文本實(shí)例以單詞級(jí)標(biāo)注.
對(duì)于所有模型,首先使用SynthText 數(shù)據(jù)集對(duì)它們進(jìn)行100 k 次迭代預(yù)訓(xùn)練,然后使用1200 epochs 對(duì)真實(shí)數(shù)據(jù)集上的模型進(jìn)行微調(diào),訓(xùn)練批大小設(shè)置為8.本文遵循多學(xué)習(xí)率策略,當(dāng)前迭代的學(xué)習(xí)率Lr=Ir×(1?i/max_i)p,其中初始學(xué)習(xí)率Ir設(shè)置為0.001,p為0.9,權(quán)重衰減為0.0001,動(dòng)量為0.9,m ax_i表示最大迭代次數(shù),這取決于最大的epoch.
訓(xùn)練數(shù)據(jù)的數(shù)據(jù)擴(kuò)充包括:(1)在(?10°,10°)范圍內(nèi)隨機(jī)旋轉(zhuǎn)角度;(2)隨機(jī)裁剪;(3)隨機(jī)翻轉(zhuǎn).所有處理后的圖像都重新調(diào)整為640×640,以提高訓(xùn)練效率.
在訓(xùn)練階段,忽略所有數(shù)據(jù)集中標(biāo)記為“DO NOT CARE”的模糊文本區(qū)域.在推理階段,保持測(cè)試圖像的高寬比,并通過(guò)為每個(gè)數(shù)據(jù)集設(shè)置合適的高度來(lái)重新調(diào)整輸入圖像的大小.推理速度測(cè)試批大小為1,在單個(gè)線程中使用單個(gè)1080ti GPU,推理時(shí)間包括模型前向傳播時(shí)間和后處理時(shí)間.
本文檢測(cè)性能評(píng)測(cè)方法主要考慮3 個(gè)性能參數(shù):準(zhǔn)確率Precision、召回率Recall和綜合評(píng)價(jià)指標(biāo)F-measure,其中綜合評(píng)價(jià)指標(biāo)是準(zhǔn)確率與召回率的調(diào)和平均值,該值是評(píng)價(jià)文本檢測(cè)方法性能的綜合指標(biāo).定義如下:
其中,TP,E,T分別表示正確的檢測(cè)結(jié)果集合,檢測(cè)結(jié)果集合以及Ground-truth 集合.
為了驗(yàn)證特征金字塔增強(qiáng)模塊FPEM 和特征融合模塊FFM 的有效性,在數(shù)據(jù)集ICDAR2015 實(shí)驗(yàn)中,與特征金字塔FPN 進(jìn)行了實(shí)驗(yàn)對(duì)比,如表1所示,不管主干網(wǎng)絡(luò)是ResNet-18 還是ResNet-50,FPEM-FFM 都具有較高的性能(73.72% vs 79.14%,75.59% vs 79.96%)和速度(4.26 vs 21.31,2.84 vs 14.22).
表1 不同設(shè)置的實(shí)驗(yàn)結(jié)果
為了驗(yàn)證可微二值化模塊DB 的有效性,在數(shù)據(jù)集ICDAR2015 實(shí)驗(yàn)中進(jìn)行了有無(wú)DB 模塊的實(shí)驗(yàn)對(duì)比,從表1中可以看到DB 顯著地提高了數(shù)據(jù)集上ResNet-18 和ResNet-50 的性能.對(duì)于ResNet-18 主干網(wǎng),DB 在ICDAR2015 數(shù)據(jù)集上實(shí)現(xiàn)了1.93%的性能提升.對(duì)于ResNet-50 主干網(wǎng),DB 在ICDAR2015 數(shù)據(jù)集上實(shí)現(xiàn)了2.46%的性能提升.此外,在兩個(gè)主干網(wǎng)中,有DB 模塊比沒(méi)有DB 模塊的速度都提高了約2 倍.
從表1中可以看到ResNet-50 主干網(wǎng)模型比ResNet-18 模型性能更好,但運(yùn)行速度更慢.具體來(lái)說(shuō),ResNet-50 模型比ResNet-18 模型的性能高1.35%,但時(shí)間成本約為ResNet-18 的1.6 倍.
本文將所提出的方法與之前的方法在兩個(gè)標(biāo)準(zhǔn)數(shù)據(jù)集上進(jìn)行了比較,包括多方向文本數(shù)據(jù)集ICDAR2015和曲線文本數(shù)據(jù)集Total-Text.
ICDAR2015 數(shù)據(jù)集是一個(gè)面向多方向的文本數(shù)據(jù)集,它包含許多小的和低分辨率的文本實(shí)例.在表2中可以看到,與之前最快的方法EAST 相比,“FPEM-FFMDB(ResNet-50)”的性能比它高4.22%,運(yùn)行速度快了兩倍.當(dāng)使用ResNet-18 主干時(shí),“FPEM-FFM-DB(ResNet-18)”速度可以達(dá)到43 fps,F-measure為81.07%.
表2 ICDAR2015 數(shù)據(jù)集上的檢測(cè)結(jié)果
本文在曲線文本數(shù)據(jù)集Total-Text 上驗(yàn)證所提出方法的魯棒性,如表3所示,本文的方法在性能和速度上都達(dá)到了較好的結(jié)果.具體來(lái)說(shuō),“FPEM-FFMDB(ResNet-50)”在性能上比之前的最新方法高出1.15%,同時(shí)運(yùn)行速度比之前的方法都快.使用ResNet-18 主干網(wǎng)可以進(jìn)一步提高速度,但性能會(huì)有所下降.與最近的基于分割的方法PSENet 相比,“FPEM-FFMDB(ResNet-50)”速度快10.5 倍,“FPEM-FFM-DB(ResNet-18)”速度快17.9 倍.
表3 Total-Text 數(shù)據(jù)集上的檢測(cè)結(jié)果
本文提出了一種可以高效準(zhǔn)確的檢測(cè)任意形狀文本的框架,該框架包括由特征金字塔增強(qiáng)模塊和特征融合模塊組成的輕量級(jí)分割頭和分割網(wǎng)絡(luò)中的可微二值化過(guò)程,該分割頭既有利于特征提取,又能帶來(lái)較小的額外計(jì)算量,可微二值化模塊可以顯著地提高文本檢測(cè)的性能.即使使用輕量級(jí)主干網(wǎng)絡(luò)(ResNet-18),本文的方法也能以較快推理速度在測(cè)試數(shù)據(jù)集上實(shí)現(xiàn)可比較的性能.雖然本文的方法呈現(xiàn)出了一個(gè)可以與其他先進(jìn)方法相媲美的效果,但是實(shí)現(xiàn)實(shí)時(shí)精確的自然場(chǎng)景文本檢測(cè)任務(wù)還面臨諸多挑戰(zhàn),未來(lái)仍有很多工作有待去解決.