鄧勝軍,陳念年
西南科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,四川 綿陽(yáng) 621010
圖像中的文本包含著豐富的信息,因此場(chǎng)景文本讀取識(shí)別技術(shù)對(duì)于圖像內(nèi)容的分析理解和信息檢索等方面具有重要的意義。文本檢測(cè)作為場(chǎng)景文本讀取識(shí)別的重要組成部分,目前已被廣泛應(yīng)用在圖像與視頻檢索[1]、場(chǎng)景解析[2]以及智能交通[3]等計(jì)算機(jī)視覺的實(shí)際應(yīng)用中。
在基于深度學(xué)習(xí)的文本檢測(cè)算法發(fā)展過程中,早期的檢測(cè)算法[4-5]基于二維目標(biāo)檢測(cè)原理,將文本視為特殊的目標(biāo)進(jìn)行檢測(cè),但此類方法只能檢測(cè)水平或傾斜的規(guī)則文本。然而在自然場(chǎng)景中,不僅包含規(guī)則文本,同時(shí)也包含大量彎曲文本。例如在近幾年發(fā)表的CTW-1500[6]和Total-Text[7]兩個(gè)自然場(chǎng)景文本數(shù)據(jù)集中,大約有40%的文本實(shí)例是彎曲文本。因此任意形狀文本檢測(cè)逐漸成為近幾年研究的關(guān)注點(diǎn)。
在眾多的文本檢測(cè)方法中,由于基于分割的場(chǎng)景文本檢測(cè)方法能夠提供像素級(jí)預(yù)測(cè)結(jié)果,增強(qiáng)了對(duì)文本形狀變化的魯棒性,因而被廣泛應(yīng)用在任意形狀的文本檢測(cè)中。然而圖像中常出現(xiàn)大量緊密相鄰的文本實(shí)例,從分割結(jié)果中難以將其直接分離,如圖1(a)和(b)所示。為了解決這個(gè)問題,一些方法利用文本邊界與中心區(qū)域的特征關(guān)系來(lái)區(qū)分不同文本實(shí)例。Xu 等[8]提出了向量場(chǎng)(text field)的概念,將文本實(shí)例內(nèi)的每個(gè)像素點(diǎn)都使用一個(gè)二維向量來(lái)表示,向量的方向垂直于文本邊界指向中心,通過融合方向相似的向量恢復(fù)完整文本實(shí)例,能夠有效檢測(cè)任意形狀的文本。Zhu 等[9]則提出了TextMountain模型,認(rèn)為越靠近文本中心位置的像素點(diǎn)屬于文本的概率越高,概率從邊界到中心逐漸遞增,按照概率上升的方向融合文本內(nèi)的像素即可區(qū)分不同文本實(shí)例。然而,上述方法對(duì)分割網(wǎng)絡(luò)的回歸精度要求較高,即使較小的預(yù)測(cè)誤差也可能導(dǎo)致錯(cuò)誤的分割結(jié)果,降低了模型的容錯(cuò)能力,難以進(jìn)一步提升模型檢測(cè)精度。
圖1 文本實(shí)例與文本核Fig.1 Text instances and text kernels
另一方面,許多研究者將文本核作為分離相鄰文本的基礎(chǔ),如圖1(c)所示。Wang 等[10]提出了漸進(jìn)式尺度擴(kuò)展算法,從小到大依次融合多個(gè)不同尺度的文本核進(jìn)而構(gòu)建出完整文本實(shí)例。但是相鄰文本在尺寸差距較大的情況下,小文本會(huì)錯(cuò)誤融合大文本中的一部分導(dǎo)致誤檢。因此,Wang 等[11]提出了像素聚合網(wǎng)絡(luò)(pixel aggregation network,PANet),將文本核作為聚類的中心,使用相似度向量來(lái)引導(dǎo)文本區(qū)域中的像素向文本核中聚合。但是對(duì)于密集相鄰文本或邊界模糊的文本魯棒性相對(duì)較差,同時(shí)聚合過程較為復(fù)雜。Liao等[12]則提出了一個(gè)可微二值化(differentiable binarization,DB)模塊,用來(lái)解決將分割網(wǎng)絡(luò)預(yù)測(cè)的概率圖轉(zhuǎn)換為二值圖時(shí)不可微的問題,大幅提升了網(wǎng)絡(luò)的性能。并且該方法可以直接擴(kuò)張文本核的邊界形成文本框,不需要復(fù)雜的后處理過程,提升了檢測(cè)速度。作者后續(xù)又提出了DBNet++[13]模型,在原有模型中添加了自適應(yīng)尺度融合(adaptive scale fusion,ASF)模塊來(lái)增強(qiáng)多尺度特征,進(jìn)一步提升了網(wǎng)絡(luò)性能。上述方法使用文本核解決了相鄰文本難以分離的問題,并且能夠很好地檢測(cè)任意形狀文本。但是文本核邊界由人工定義,邊界內(nèi)外并沒有明顯特征差異,網(wǎng)絡(luò)對(duì)邊界外的文本部分會(huì)做出錯(cuò)誤預(yù)測(cè)。為了避免錯(cuò)誤預(yù)測(cè)使文本核相互粘連,需要將文本實(shí)例大幅收縮形成面積較小的文本核,這就導(dǎo)致小文本更容易漏檢,長(zhǎng)文本行會(huì)被錯(cuò)誤地分割成不同的部分。
文本核概念的提出推動(dòng)了文本檢測(cè)技術(shù)的發(fā)展,但是其存在的問題也限制了模型的檢測(cè)能力。而通過文本邊界與中心特征關(guān)系來(lái)檢測(cè)任意形狀文本的方法對(duì)網(wǎng)絡(luò)的回歸精度又較為敏感。綜合考慮以上述方法的優(yōu)缺點(diǎn),本文提出了一種文本核重建與擴(kuò)展算法用于檢測(cè)自然場(chǎng)景中的文本。其主要優(yōu)勢(shì)有:
(1)文本核的生成放在后處理階段,避免了網(wǎng)絡(luò)直接預(yù)測(cè)文本核的缺點(diǎn),同時(shí)保留了文本核能夠準(zhǔn)確分離相鄰文本的特性,生成的文本核如圖1(d)所示。
(2)重建文本核借助了方向場(chǎng)的信息,但是只需要方向場(chǎng)中的向量大致指向文本內(nèi)即可,并不需要分割網(wǎng)絡(luò)精確回歸向量的方向,提高了模型的容錯(cuò)能力。
(3)所提出的方法在多個(gè)自然場(chǎng)景文本數(shù)據(jù)集中都達(dá)到了最好或相似的檢測(cè)性能,并且具有較快的檢測(cè)速度。
本文方法的核心思想是訓(xùn)練一個(gè)適用于任意形狀文本檢測(cè)的全卷積神經(jīng)網(wǎng)絡(luò)(fully convolutional neural network,F(xiàn)CN),輸出文本實(shí)例的分類圖和方向場(chǎng)圖,如圖2 所示。分類圖中預(yù)測(cè)了每一個(gè)像素點(diǎn)屬于文本目標(biāo)的概率,概率值為0~1,用于描述文本實(shí)例的完整形狀;方向場(chǎng)圖預(yù)測(cè)了每個(gè)像素點(diǎn)指向文本中心的方向向量,向量長(zhǎng)度為1,由x和y構(gòu)成,用于區(qū)分鄰近的文本目標(biāo)。在后處理階段,首先設(shè)定一個(gè)閾值,過濾分類圖中文本概率較低的像素;然后,按照方向場(chǎng)圖中提供的方向?qū)⒎诸悎D中的像素向文本中心移動(dòng)形成文本核,用于分離相鄰文本;最后,使用基于距離變換的文本核擴(kuò)展算法將文本實(shí)例中的其余像素聚合到距離最近的文本核中,形成完整的文本實(shí)例。
圖2 本文方法的模型結(jié)構(gòu)Fig.2 Architecture of proposed method
本文采用基于分割的方法來(lái)檢測(cè)任意形狀的文本實(shí)例,使用特征金字塔網(wǎng)絡(luò)[14](feature pyramid networks,F(xiàn)PN)作為基礎(chǔ)網(wǎng)絡(luò)架構(gòu),ResNet-50[15]作為骨干網(wǎng)絡(luò)。如圖2所示。為了應(yīng)對(duì)極端長(zhǎng)寬比的文本實(shí)例,模型需要更加靈活的感受野來(lái)提取不同位置的特征,于是將ResNet-50主干中conv3、conv4和conv5階段的所有3×3卷積使用可變形卷積[16-17](deformable convolution)替代。
從骨干網(wǎng)絡(luò)輸出的四個(gè)特征圖經(jīng)過FPN 處理可以得到四個(gè)256 通道的特征圖{P2,P3,P4,P5}。為了進(jìn)一步融合從低到高的語(yǔ)義特征,將四個(gè)特征圖降維并上采樣到相同尺度,級(jí)聯(lián)(concat)生成一個(gè)具有256 通道的特征F,計(jì)算過程如公式(1)和(2)所示:
其中,“||”表示級(jí)聯(lián),Up×2(·)、Up×4(·)和Up×8(·)分別表示2、4、8 倍最鄰近插值上采樣,Convi(·)表示3×3 卷積層并約束fi的通道數(shù)為64。隨后,F(xiàn)被送入Conv(3,3)-BN-ReLU 層減少到64 個(gè)通道,并通過UpConv 層上采樣4倍,輸出分類圖和方向場(chǎng)圖。UpConv層由兩個(gè)步長(zhǎng)為2的反卷積構(gòu)成:DeConv(2,2)-BN-ReLU-DeConv(2,2)。最后通過Sigmoid 激活層將分類圖的值域限制到(0,1)之間,通過Tanh激活層將方向場(chǎng)圖的值域限制到(-1,1)之間。
分割網(wǎng)絡(luò)通過預(yù)測(cè)文本核解決了相鄰文本難以分離的問題,實(shí)現(xiàn)了對(duì)任意形狀文本的檢測(cè)。但是受到文本核結(jié)構(gòu)特點(diǎn)的限制,模型難以進(jìn)一步提升其檢測(cè)精度。為了解決這個(gè)問題,本文提出了一種新的文本核生成方式,用于分離相鄰文本。
對(duì)于給定的圖像,經(jīng)過訓(xùn)練的網(wǎng)絡(luò)預(yù)測(cè)得到分類圖和方向場(chǎng)圖。分類圖突出顯示了文本與非文本區(qū)域,方向場(chǎng)圖為文本實(shí)例中的每個(gè)像素構(gòu)建了一個(gè)指向文本中心的向量。按照向量的方向?qū)⑽谋緦?shí)例中的像素向文本內(nèi)移動(dòng),就可以得到重建后的文本核。在移動(dòng)的過程中像素只需要朝向文本內(nèi)部即可,并不需要為其指定一個(gè)精確的方向。這在一定程度上避免了由于分割網(wǎng)絡(luò)預(yù)測(cè)的模糊性和不確定性而導(dǎo)致錯(cuò)誤的重建結(jié)果。
圖3(a)到(c)展示了文本核重建的具體過程。首先將分類圖中文本概率大于固定閾值(0.3)的部分作為候選文本像素,并將方向場(chǎng)圖中的()x,y向量歸一化,圖3(a)和(b)中右側(cè)數(shù)值表示像素點(diǎn)屬于文本的概率。然后按照向量指示的方向?qū)⒑蜻x文本像素向文本內(nèi)移動(dòng)4個(gè)像素,得到粗文本核。之后使用高斯濾波(掩膜大小為5×5)對(duì)圖像加權(quán)平均,用來(lái)填充粗文本核中的孔洞并進(jìn)一步降低邊界位置像素值。最后使用固定閾值(0.5)對(duì)粗文本核二值化并剔除面積較小的文本核(100像素),得到重建后的文本核二值圖。
圖3 后處理過程Fig.3 Post-processing process
由于文本核不能覆蓋文本實(shí)例的全部區(qū)域,因此本文使用了一種基于距離變換的文本核擴(kuò)展算法從文本核中恢復(fù)完整文本實(shí)例。
圖3(d)到(f)展示了文本核擴(kuò)展的具體過程。首先使用恒定閾值(0.3)對(duì)分類圖二值化得到文本實(shí)例二值圖,再根據(jù)文本核二值圖,可以得到文本實(shí)例內(nèi)待分類部分M,如圖3(d)中的白色區(qū)域。然后根據(jù)文本核二值圖可以找到n個(gè)不同的聯(lián)通分量C={c1,c2,…,cn},如圖3(d)中彩色區(qū)域。之后使用距離變換算法為文本實(shí)例中的每個(gè)像素尋找距離最近的文本核,并將其合并到文本核中;最后,提取圖3(f)中用不同顏色標(biāo)記的連接組件作為文本實(shí)例的最終預(yù)測(cè)。
算法1總結(jié)了文本核擴(kuò)展算法細(xì)節(jié),像素到文本核的距離使用兩便順序掃描法[18]計(jì)算。
算法1文本核擴(kuò)展算法
首先構(gòu)造一個(gè)3×3的掩膜,將掩膜對(duì)稱地分為上下兩個(gè)部分,上半部分記作N1={q1,q2,q3,q4},下半部分記作N2={q5,q6,q7,q8},如圖4 所示。然后掩膜的上半部分從左至右從上至下掃描過M(前向運(yùn)算,forward),如算法1 中5~14 行所示,得到的結(jié)果如圖3(e)所示;下半部分從右至左從下至上再掃描一次M(后向運(yùn)算,backward),如算法1中16~25行所示,得到的結(jié)果如圖3(f)所示。通過兩次掃描計(jì)算得到文本核擴(kuò)展結(jié)果。在偽代碼中,D是形如M的集合,用來(lái)存放中間結(jié)果;Q是一個(gè)棧,GroupByLabel(·)是將結(jié)果按標(biāo)簽分組的函數(shù)。d(p,q)表示p點(diǎn)與q點(diǎn)間的距離,定義如下:
圖4 距離變換的掩膜Fig.4 Masks describing for distance transformations
與其他文本檢測(cè)方法類似[11,19],分類圖包含每個(gè)像素文本與非文本的分類置信度,如圖5(b)所示。如TextFiled[8]與TextMountain[9],方向場(chǎng)圖由一個(gè)二維單位向量(x,y)組成,它表示文本實(shí)例中的每個(gè)像素指向文本中心的方向。方向場(chǎng)圖的生成依賴文本注釋邊界,但是有限點(diǎn)標(biāo)注的邊界會(huì)導(dǎo)致角度的突變,所以應(yīng)該先平滑注釋邊界的角度,再進(jìn)行計(jì)算[9]。
圖5 模型訓(xùn)練的真值標(biāo)簽Fig.5 Illustration of ground truth for model training
對(duì)于一個(gè)由n個(gè)點(diǎn)標(biāo)記的多邊形文本,可以根據(jù)文本的方向?qū)⑵浞譃樯舷聝蓚?cè),分別平滑兩側(cè)的角度,再計(jì)算方向場(chǎng)。這里以其中一側(cè)為例,如圖6(a)中的一側(cè)標(biāo)記有5點(diǎn)4線,li表示第i條直線,i∈{1,2,…,4},pn和pn+1表示線li的起點(diǎn)和終點(diǎn),n∈{1,2,…,5}。f(li)為直線li的單位向量,f(pn)為第n個(gè)點(diǎn)上的單位向量,取該點(diǎn)相鄰直線的均值作為其值,可以將f(pn)表示為:
圖6 彎曲文本框角度平滑F(xiàn)ig.6 Smoothing angles of curved text boxes
其中,i=n。線li中其他點(diǎn)的單位向量通過雙線性插值得到。例如pj在pn和pn+1之間,f(pj)可以表示為:
其中,dn為pj到pn的距離。點(diǎn)pj處指向文本中的向量的角度可以定義為:
其中,∠(f)表示向量f的角度,將其順時(shí)針旋轉(zhuǎn)π/2指向文本中心。
在平滑了注釋邊界的角度后,開始計(jì)算方向場(chǎng)。將多邊形文本看作是有兩條邊彎曲的四邊形文本,首先計(jì)算目標(biāo)點(diǎn)q到四條邊距離最近的點(diǎn)標(biāo)記為bi,文本高度可以表示為:
其中,ci表示目標(biāo)點(diǎn)q到bi的距離,如圖6(b)所示。根據(jù)公式(5)和公式(6)可以計(jì)算點(diǎn)bi的角度θ,將其標(biāo)記為θ(bi),q點(diǎn)的方向場(chǎng)可以表示為:
其中,ux(q)與uy(q)分別表示q點(diǎn)的向量在x軸和y軸上的投影長(zhǎng)度;U(q)表示q點(diǎn)的方向場(chǎng)向量,由于只需要向量的方向信息,于是將其歸一化:
分別計(jì)算文本實(shí)例中所有像素點(diǎn)的方向向量,最終構(gòu)成方向場(chǎng)圖,如圖5(c)和(d)所示,圖中右側(cè)數(shù)值表示x或y方向向量的長(zhǎng)度和方向。
因?yàn)榉较驁?chǎng)在文本中心位置指示的方向相反,與方向場(chǎng)在相鄰文本邊界位置表現(xiàn)一致,所以學(xué)習(xí)方向場(chǎng)的中心區(qū)域會(huì)增加網(wǎng)絡(luò)負(fù)擔(dān)。而文本核重建時(shí)只需要邊界位置的方向場(chǎng)信息,因此需要構(gòu)建一個(gè)掩膜來(lái)指定網(wǎng)絡(luò)的學(xué)習(xí)區(qū)域。掩膜的構(gòu)建基于距離場(chǎng),定義文本實(shí)例內(nèi)像素點(diǎn)q的距離場(chǎng)為:
其中,D(q)的值域?yàn)閇0,1]。分別計(jì)算文本實(shí)例中所有像素點(diǎn)的距離場(chǎng)即可生成的距離場(chǎng)圖D,如圖5(e)所示,圖中右側(cè)數(shù)值表示距離場(chǎng)的值。據(jù)此,方向場(chǎng)的掩膜可以表示為:
其中,γ為中心閾值。從文本中心到邊界,距離場(chǎng)圖中的值從1 線性遞減至0,因此γ的值越小表示忽略的中心區(qū)域越大。實(shí)驗(yàn)表明,當(dāng)γ=0.7 時(shí)能夠取得最佳檢測(cè)效果,生成的掩膜如圖5(f)所示。
盡管在預(yù)測(cè)方向場(chǎng)時(shí)忽略了文本中心部分,但方向場(chǎng)的有效預(yù)測(cè)區(qū)域仍有文本實(shí)例面積的75%左右。而在通過網(wǎng)絡(luò)直接預(yù)測(cè)文本核的方法[12,20]中,文本核的有效預(yù)測(cè)區(qū)域大約只有原面積的30%~55%。因此本文方法在預(yù)測(cè)時(shí)保留了文本實(shí)例中的大部分信息,能夠有效提升模型檢測(cè)能力。
損失函數(shù)L可以表示為像素分類損失Lc、方向場(chǎng)損失Lv的加權(quán)和:
其中,α用來(lái)平衡Lc和Lv損失的重要程度。由于不同任務(wù)的損失計(jì)算方式不同,損失值也不同,為了避免訓(xùn)練過程被某一任務(wù)主導(dǎo),故添加權(quán)重α來(lái)進(jìn)行調(diào)整。根據(jù)實(shí)驗(yàn),當(dāng)α=2.0 時(shí)取得最佳訓(xùn)練效果。
Lc使用二元交叉熵(binary cross-entropy,BCE)損失來(lái)計(jì)算。為了解決正負(fù)樣本不均衡的問題,在BCE損失中采用在線難例挖掘[21](online hard example mining,OHEM)來(lái)對(duì)難負(fù)樣本進(jìn)行采樣。因此Lc可以表示如下:
其中,Sl為分類圖中正負(fù)樣本的集合,正樣本由分類圖中所有前景像素構(gòu)成,負(fù)樣本由分類圖中部分背景像素構(gòu)成,正負(fù)樣本數(shù)量之比為1∶3;|Sl|表示樣本數(shù)量;gi和pi分別表示第i個(gè)像素的真值和預(yù)測(cè)值。
Lv使用均方誤差(mean squared error,MSE)計(jì)算得出:
其中,M為方向場(chǎng)的掩膜,通過公式(12)得到;| |M表示預(yù)測(cè)區(qū)域樣本數(shù)量;V(p)和分別表示像素點(diǎn)p處方向場(chǎng)的真值和預(yù)測(cè)值。
SynthText[22]:該數(shù)據(jù)集是一個(gè)混合自然圖像和人工文本生成的大規(guī)模合成數(shù)據(jù)集,包含有800 000 張圖像。文本實(shí)例的注釋以字符、單詞和文本行3種類型給出。通常將這個(gè)數(shù)據(jù)集用于模型的預(yù)訓(xùn)練。
Total-Text[7]:該數(shù)據(jù)集由1 255張訓(xùn)練圖像和300張測(cè)試圖像組成,主要面向任意形狀文本檢測(cè),包含水平、傾斜和彎曲文本實(shí)例,文本實(shí)例在單詞級(jí)別進(jìn)行標(biāo)記。
CTW-1500[6]:該數(shù)據(jù)集由1 000 張訓(xùn)練圖像和500張測(cè)試圖像組成,包含大量彎曲文本,主要面向任意形狀文本檢測(cè)。每個(gè)文本實(shí)例用14 個(gè)點(diǎn)的多邊形注釋,文本實(shí)例在文本行級(jí)別進(jìn)行標(biāo)記。
MSRA-TD500[23]:該數(shù)據(jù)集由300 張訓(xùn)練圖像和200張測(cè)試圖像組成,包含中文文本和英文文本。文本實(shí)例為矩形的長(zhǎng)文本,采用文本行級(jí)別標(biāo)記。由于數(shù)據(jù)集規(guī)模較小,根據(jù)之前的工作[12,24]將HUST-TR400[25]的400張圖像加入訓(xùn)練集中。
ICDAR2017-MLT[26]:該數(shù)據(jù)集由9 種語(yǔ)言的7 200張訓(xùn)練圖像、1 800 張驗(yàn)證圖像和9 000 張測(cè)試圖像組成。文本實(shí)例由四邊形的4 個(gè)頂點(diǎn)標(biāo)注。在訓(xùn)練的過程中同時(shí)使用訓(xùn)練集和驗(yàn)證集。
本文使用在ImageNet[27]上預(yù)訓(xùn)練的ResNet50[15]作為主干網(wǎng)絡(luò),所有模型在訓(xùn)練時(shí)Batch Size 設(shè)置為32,采用Adam[28]優(yōu)化器來(lái)進(jìn)行參數(shù)優(yōu)化。分別在SynthText和ICDAR2017-MLT 數(shù)據(jù)集上預(yù)訓(xùn)練5 個(gè)Epoch 和400個(gè)Epoch,得到兩個(gè)預(yù)訓(xùn)練模型,固定學(xué)習(xí)率為2×10-4。其他實(shí)驗(yàn)采用兩種訓(xùn)練方式:(1)從頭開始訓(xùn)練;(2)對(duì)SynthText 和ICDAR2017-MLT 預(yù)訓(xùn)練模型進(jìn)行微調(diào)。無(wú)論采用哪種方式,均使用OneCycle[29]策略來(lái)動(dòng)態(tài)調(diào)整學(xué)習(xí)率。OneCycle 中學(xué)習(xí)率變化分為上升和下降兩個(gè)階段,如公式(16)所示:
其中,ηmax表示最大學(xué)習(xí)率,取ηmax=0.001;Icur表示當(dāng)前Iteration;Imax表示最大Iteration,總Iteration 取決于Epoch;α表示學(xué)習(xí)率上升部分占比,取α=0.3。
訓(xùn)練階段的數(shù)據(jù)增強(qiáng)包括:(1)隨機(jī)翻轉(zhuǎn);(2)隨機(jī)旋轉(zhuǎn),角度范圍為(-10°,10°);(3)隨機(jī)裁剪。為了提高訓(xùn)練效率,所有增強(qiáng)后的圖像大小都調(diào)整為640×640。根據(jù)數(shù)據(jù)集的不同大小,分別為其設(shè)置不同的訓(xùn)練Epoch。在推理階段,保持圖像的橫縱比,每個(gè)數(shù)據(jù)集的圖像短邊設(shè)置為736 像素,長(zhǎng)邊不受限制。召回率R、準(zhǔn)確率P 和F-measure 等評(píng)價(jià)指標(biāo)的計(jì)算采用DB[12]和DB++[13]的官方實(shí)現(xiàn)。數(shù)據(jù)集中標(biāo)注為“DONOTCARE”的模糊文本區(qū)域在訓(xùn)練和測(cè)試中將其忽略。所有實(shí)驗(yàn)均在單個(gè)GPU(GeForce RTX-3090)和上進(jìn)行訓(xùn)練和測(cè)試,整個(gè)算法使用Python3.8和Pytorch1.12.0實(shí)現(xiàn)。
為了驗(yàn)證文本核重建算法和可變形卷積的有效性,本文在任意形狀文本數(shù)據(jù)集和長(zhǎng)文本數(shù)據(jù)集(Total-Text和MSRA-TD500)上進(jìn)行了消融實(shí)驗(yàn)。本節(jié)中所有模型都是在沒有任何預(yù)訓(xùn)練數(shù)據(jù)集的情況下從頭開始訓(xùn)練,訓(xùn)練周期分別設(shè)置為145 個(gè)epoch(Total-Text)和80 個(gè)epoch(MSRA-TD500)。詳細(xì)實(shí)驗(yàn)結(jié)果如表1所示。
表1 文本核重建算法和可變形卷積的消融實(shí)驗(yàn)結(jié)果Table 1 Ablation study for text kernel reconstruction(TKR)and deformable convolution(DConv)
2.3.1 文本核重建算法的有效性
為了驗(yàn)證文本核重建算法的有效性,將本文模型中預(yù)測(cè)方向場(chǎng)替換為預(yù)測(cè)文本核。通過這種方式,網(wǎng)絡(luò)可以直接輸出一個(gè)用于分離相鄰文本的文本核分類圖,而不需要使用文本核重建算法。得到文本核后,使用文本核擴(kuò)展算法來(lái)構(gòu)建完整的文本實(shí)例。
為了公平比較,適當(dāng)調(diào)整了參數(shù)以獲得最佳檢測(cè)性能:(1)文本核的真值標(biāo)簽生成如PSENet[10],通過Vatti裁剪算法[30]縮小文本實(shí)例注釋邊界得到,收縮率設(shè)為0.6;(2)使用二元交叉熵計(jì)算文本核分類圖的損失;(3)由于文本核被完整的文本實(shí)例包圍,在訓(xùn)練時(shí)忽略非文本區(qū)域的像素以避免冗余。
表1中的實(shí)驗(yàn)結(jié)果表明,本文所提出的文本核重建算法在兩個(gè)不同數(shù)據(jù)集上都顯著提高了模型的檢測(cè)性能。在Total-Text數(shù)據(jù)集上,F(xiàn)-measure項(xiàng)提高了2.34%;在MSRA-TD500數(shù)據(jù)集上,F(xiàn)-measure項(xiàng)提高了1.32%。而且,由于在重建文本核時(shí)只需要移動(dòng)文本實(shí)例內(nèi)的像素,引入的計(jì)算量很少,所以沒有明顯降低模型的推理速度。
2.3.2 可變形卷積的有效性
如表1 所示,由于在主干網(wǎng)絡(luò)中添加可變形卷積[17]能夠提供更大更靈活的感受野,因此在Total-Text 數(shù)據(jù)集上F-measure 項(xiàng)增加了1.29%,在MSRA-TD500 數(shù)據(jù)集上F-measure 項(xiàng)增加了3.15%,并且額外的時(shí)間成本很小??勺冃尉矸e在MSRA-TD500上具有更好的表現(xiàn)是因?yàn)殚L(zhǎng)文本更依賴模型對(duì)遠(yuǎn)距離特征的感受能力,而MSRA-TD500 作為長(zhǎng)文本數(shù)據(jù)集其文本長(zhǎng)度遠(yuǎn)大于在單詞級(jí)別上標(biāo)注的Total-Text數(shù)據(jù)集。
為了驗(yàn)證本文方法的有效性,將本文模型的測(cè)試結(jié)果與近幾年最新的文本檢測(cè)方法在Total-Text、CTW-1500和MSRA-TD500三個(gè)數(shù)據(jù)集上進(jìn)行比較。
Total-Text:分別使用兩個(gè)預(yù)訓(xùn)練模型在該數(shù)據(jù)集上訓(xùn)練145 個(gè)Epoch。檢測(cè)結(jié)果如表2 所示,即使不在任何外部文本數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練,F(xiàn)-measure 仍然達(dá)到了87.20%,超過了大部分方法。另外,本文方法在SynthText數(shù)據(jù)集上預(yù)訓(xùn)練后F-measure達(dá)到88.15%,在ICDAR2017-MLT 數(shù)據(jù)集上預(yù)訓(xùn)練后F-measure 進(jìn)一步提升達(dá)到88.66%,僅比當(dāng)前最優(yōu)方法TextPMs[32]低0.13%。但同時(shí),本文方法在推理速度上達(dá)到了21.04 FPS,比當(dāng)前最優(yōu)方法高3.0倍,能夠滿足實(shí)時(shí)預(yù)測(cè)的需求,實(shí)現(xiàn)了最佳的速度與精度的平衡。圖7 中第一行展示了本文方法與DB++和TextPMs 在Total-Text 數(shù)據(jù)集上檢測(cè)結(jié)果的可視化對(duì)比,在面對(duì)紋理和光照等干擾的情況下,本文方法仍然能夠精確檢測(cè)單詞級(jí)的任意形狀文本。
表2 不同模型在Total-Text數(shù)據(jù)集上的結(jié)果對(duì)比Table 2 Comparison of different models on Total-Text dataset
圖7 不同方法檢測(cè)結(jié)果可視化對(duì)比Fig.7 Comparisons of detection results of different methods
CTW-1500:分別使用兩個(gè)預(yù)訓(xùn)練模型在該數(shù)據(jù)集上訓(xùn)練110 個(gè)Epoch。檢測(cè)結(jié)果的可視化對(duì)比如圖7 中第二行所示,從中可以看出本文方法在面對(duì)密集多方向長(zhǎng)文本和彎曲文本時(shí),能夠精確描繪文本邊界。檢測(cè)結(jié)果如表3所示,與其余方法相比,本文方法在召回率(R:88.13%)與F-measure(87.28%)上取得了最佳的檢測(cè)效果。對(duì)于F-measure,本文方法在CTW-1500數(shù)據(jù)集上分別比TextPMs與DB++顯著提高了1.46%和1.91%,同時(shí)仍然保持了較高的推理速度。
表3 不同模型在CTW-1500數(shù)據(jù)集上的結(jié)果對(duì)比Table 3 Comparison of different models on CTW-1500 dataset
MSRA-TD500:分別使用兩個(gè)預(yù)訓(xùn)練模型在該數(shù)據(jù)集上訓(xùn)練80 個(gè)Epoch。表4 列出了本文方法與其他檢測(cè)方法在該數(shù)據(jù)集的檢測(cè)結(jié)果,值得注意的是,本文方法在召回率(R:87.45%)、準(zhǔn)確率(P:94.09%)和F-measure(90.65%)上均取得了最佳結(jié)果,并且大幅優(yōu)于TextPMs[32]、CentripetalText[20]等其他方法。圖7 中第三行展示了本文方法在MSRA-TD500數(shù)據(jù)集上的可視化結(jié)果與其他方法的對(duì)比,對(duì)于長(zhǎng)文本行內(nèi)部間距較大背景像素較多的情況下,本文方法仍然能夠?yàn)槲谋緦?shí)例生成準(zhǔn)確的邊框。
表4 不同模型在MSRA-TD500數(shù)據(jù)集上的實(shí)驗(yàn)對(duì)比Table 4 Comparison of different models on MSRA-TD500 dataset
本文提出了一種基于分割的文本檢測(cè)方法,用于實(shí)現(xiàn)自然場(chǎng)景中的任意形狀文本檢測(cè)。該方法利用方向場(chǎng)在后處理階段重建文本核來(lái)分離相鄰文本,再通過文本核擴(kuò)展算法恢復(fù)完整的文本實(shí)例,具有較強(qiáng)的魯棒性,能夠精確地分離相鄰文本。實(shí)驗(yàn)表明,本文方法在多個(gè)典型的自然場(chǎng)景文本數(shù)據(jù)集上的檢測(cè)精度和速度都達(dá)到了較高水平。
另外,本文方法在小文本的檢測(cè)和分離問題上仍然存在需要改進(jìn)之處。這是因?yàn)樾∥谋镜姆较驁?chǎng)角度變化集中在一個(gè)很小的范圍內(nèi),并且小文本攜帶的信息更少,網(wǎng)絡(luò)難以學(xué)習(xí)。探尋一種更高效的小尺寸文本實(shí)例重構(gòu)算法,是該方法未來(lái)需要努力的方向之一。