施漪涵, 仝明磊
(上海電力大學(xué) 電子與信息工程學(xué)院, 上海 200090)
文字作為人類交流思想、傳承文化的重要媒介,從古至今一直發(fā)揮著重要的作用。利用文字所包含的高級(jí)語義,可以更有效地利用場(chǎng)景信息,提高文字檢測(cè)的精度。
現(xiàn)有的文字檢測(cè)方式主要分為3類:傳統(tǒng)區(qū)域建議方法、基于目標(biāo)檢測(cè)方法以及基于圖像分割檢測(cè)方法[1]。傳統(tǒng)區(qū)域建議方法包括滑動(dòng)窗口方法和連通域方法,在環(huán)境背景復(fù)雜和噪聲污染的情況下,效果較差。因此,相關(guān)學(xué)者將深度學(xué)習(xí)引入文字檢測(cè)領(lǐng)域,利用大量的數(shù)據(jù)進(jìn)行學(xué)習(xí)訓(xùn)練,并通過不斷迭代和調(diào)整權(quán)重,提取更多有用的特征[2]?;谀繕?biāo)檢測(cè)方法的主要思路是將文字區(qū)域作為一項(xiàng)特殊的目標(biāo)檢測(cè),一般先在圖像上提取多個(gè)候選區(qū)域,然后再通過分類器對(duì)候選區(qū)域進(jìn)行分類篩選,最后再對(duì)其進(jìn)行精修。通常在提取多個(gè)候選區(qū)域時(shí)較為耗時(shí)。基于目標(biāo)檢測(cè)的方法,在Faster R-CNN[3-4]后,SSD[5]和YOLO[6]等網(wǎng)絡(luò)結(jié)構(gòu)被相繼提出?;趫D像分割檢測(cè)方法通常利用卷積神經(jīng)網(wǎng)絡(luò)提取圖像中的特征,再對(duì)圖像進(jìn)行像素級(jí)的文字/背景的標(biāo)注,能較好地檢測(cè)傾斜文字及不規(guī)則文字,且避免受文字區(qū)域框長寬比變化的影響。ZHANG Z等人[7]將文字區(qū)域作為一個(gè)特殊的分割目標(biāo),首次提出利用全卷積網(wǎng)絡(luò)從像素層面對(duì)圖像進(jìn)行處理,而后PixelLink[8],Inceptext[9],PSENet(Progressive Scale Expansion Network)[10]等基于實(shí)例分割的網(wǎng)絡(luò)結(jié)構(gòu)被相繼提出。
為了進(jìn)一步優(yōu)化文字檢測(cè)領(lǐng)域的算法和網(wǎng)絡(luò),本文主要在學(xué)習(xí)PSENet網(wǎng)絡(luò)的基礎(chǔ)上,進(jìn)一步優(yōu)化評(píng)判指標(biāo),將改進(jìn)后的PSENet對(duì)自然場(chǎng)景中的文字進(jìn)行檢測(cè),通過標(biāo)準(zhǔn)文字?jǐn)?shù)據(jù)集的實(shí)現(xiàn)對(duì)比進(jìn)行結(jié)果分析,證明此算法的可行性。
在文字的特征提取過程中,低層網(wǎng)絡(luò)往往帶有較多對(duì)文字檢測(cè)有用的邊角位置信息,而高層網(wǎng)絡(luò)經(jīng)過了多層的卷積層后富含豐富的語義信息[11]。
FPN(Feature Pyramid Networks)融合算法由LIN T Y等人[12]提出后,得到了廣泛應(yīng)用,主要解決物體檢測(cè)中的多尺度問題,通過對(duì)簡單網(wǎng)絡(luò)的連接改變,在小幅增加原有模型計(jì)算量的情況下,大幅度提升了對(duì)小物體的特征檢測(cè)能力。其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 FPN網(wǎng)絡(luò)結(jié)構(gòu)
FPN網(wǎng)絡(luò)主要分為3個(gè)部分:自底向上的路徑、自頂向下的路徑以及中間的連接部分。第1部分網(wǎng)絡(luò)選用Resnet50中每個(gè)階段的最后一個(gè)殘差網(wǎng)絡(luò)輸出的特征,并將其表示為C2,C3,C4,C5;第2部分通過對(duì)包含最豐富語義信息的特征層進(jìn)行上采樣來獲得更加具有高分辨率的特征,再通過側(cè)向連接自底向上的結(jié)構(gòu),使每個(gè)特征層的空間位置信息得到加強(qiáng),加強(qiáng)融合特征表示為P2,P3,P4,P5;第3部分為減少上采樣的混疊響應(yīng),對(duì)每層輸出特征附加一個(gè)3×3卷積來生成最后的特征映射。
LI X等人[10]在PSENet網(wǎng)絡(luò)中使用的特征提取網(wǎng)絡(luò)為FPN融合算法。
本文對(duì)原始的特征融合網(wǎng)絡(luò)進(jìn)行改進(jìn),利用在語義分割領(lǐng)域中效果較好的RefineNet[13]融合算法提高對(duì)圖片中特征的提取精度,以此提高后續(xù)操作對(duì)文字區(qū)域的分割和定位。RefineNet網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
RefineNet網(wǎng)絡(luò)的一個(gè)特點(diǎn)是其使用了較多殘差連接,從而使網(wǎng)絡(luò)內(nèi)部形成了短程連接的同時(shí),還與ResNet殘差模塊中的特征層形成了遠(yuǎn)程連接,不僅提高了訓(xùn)練能力,還讓梯度能夠有效地進(jìn)行短距離和長距離的殘差網(wǎng)絡(luò)傳播,實(shí)現(xiàn)有效的端到端訓(xùn)練。
圖2 RefineNet網(wǎng)絡(luò)結(jié)構(gòu)
RefineNet網(wǎng)絡(luò)選用ResNet50中的2~5層網(wǎng)絡(luò)特征圖作為輸入層,Pool5作為第1層輸入,目的是為了調(diào)整預(yù)訓(xùn)練網(wǎng)絡(luò)Resnet50中的第5層特征圖的權(quán)重,而后將Pool5經(jīng)過一次RefineNet網(wǎng)絡(luò)后的輸出與Pool4的輸入相加后,再經(jīng)過一次RefineNet融合,目的是為了使用具有高分辨的特征改善上一次輸入的低分辨率特征,同樣地,將剩余的Pool3和Pool2進(jìn)行相同的操作。這樣通過RefineNet的層層融合后,得到精調(diào)特征圖。
RefineNet網(wǎng)絡(luò)主要分為3個(gè)部分:RCU(Residual Conv Unit),CR Pooling(Chained Residual Pooling),MRF(Multi-resolution Fusion)。RCU中包含兩次激活函數(shù)及兩次3×3卷積操作,主要目的是為了修整經(jīng)過預(yù)訓(xùn)練的ResNet的權(quán)重,每一個(gè)輸入層都將連續(xù)經(jīng)過2次RCU。在MRF操作過程中,每個(gè)輸入層經(jīng)過3×3卷積層以及上采樣操作后進(jìn)行加和融合。CR Pooling模塊包含殘差結(jié)構(gòu)、池化層和卷積層,主要目的是為了針對(duì)較大的圖像區(qū)域提取上下文的背景信息。最后,再經(jīng)過一個(gè)RCU模塊,以平衡所有的權(quán)重,從而得到與輸入分辨率一致的分割結(jié)果。
實(shí)驗(yàn)設(shè)備為配置TITANXPascal的Ubuntu16.04系統(tǒng),內(nèi)存12 G,訓(xùn)練與測(cè)試軟件平臺(tái)選用TensorFlow。為了驗(yàn)證本文所提改進(jìn)算法的有效性,采用公共數(shù)據(jù)集ICDAR2015。該數(shù)據(jù)集是ICDAR魯棒性閱讀比賽的官方數(shù)據(jù)集,包含1 000張訓(xùn)練圖片及500張測(cè)試圖片,圖片主要側(cè)重于自然場(chǎng)景中的傾斜文字,在場(chǎng)景文字區(qū)域檢測(cè)領(lǐng)域中較為流行,因此本文測(cè)試結(jié)果具有較強(qiáng)的參考意義。
在機(jī)器學(xué)習(xí)中,通常會(huì)有該領(lǐng)域相對(duì)應(yīng)的評(píng)價(jià)指標(biāo)來評(píng)判一個(gè)模型的好壞,在文字檢測(cè)領(lǐng)域中,通常使用準(zhǔn)確率、召回率和F_score作為評(píng)價(jià)指標(biāo)[14]。
準(zhǔn)確率是針對(duì)于預(yù)測(cè)結(jié)果而言的,表示預(yù)測(cè)為正的樣本中有多少是真正的正樣本。其定義為
(1)
式中:pT——正確判斷的正像素;
pF——錯(cuò)誤判斷的正像素。
召回率是指可以與預(yù)測(cè)框匹配的真值框占所有真值框的比例,是針對(duì)于原來的樣本而言的,表示樣本中的正例有多少被正確預(yù)測(cè)了。其定義為
(2)
式中:nF——錯(cuò)誤判斷的負(fù)像素。
F-score是兩者的綜合評(píng)判,該指標(biāo)越高,則網(wǎng)絡(luò)模型越穩(wěn)定。其定義為
(3)
在相同的實(shí)驗(yàn)環(huán)境和實(shí)驗(yàn)平臺(tái)下,在同一種數(shù)據(jù)集上進(jìn)行訓(xùn)練和測(cè)試。均僅采用ResNet50殘差網(wǎng)絡(luò)作為預(yù)訓(xùn)練模型,訓(xùn)練相同數(shù)量迭代次數(shù),對(duì)ICDAR2015數(shù)據(jù)集中的1 000張圖片進(jìn)行訓(xùn)練,通過控制其他變量,僅改進(jìn)特征融合部分。具體實(shí)驗(yàn)數(shù)據(jù)如表1所示。
表1 PSENet網(wǎng)絡(luò)改進(jìn)前后實(shí)驗(yàn)數(shù)據(jù)對(duì)比單位:%
實(shí)驗(yàn)結(jié)果表明,本文使用RefineNet融合算法相較于原PSENet網(wǎng)絡(luò)中的FPN融合算法,評(píng)價(jià)指標(biāo)均有所提升。本文改進(jìn)的模型,在準(zhǔn)確率和召回率上提升7%和5%,綜合指標(biāo)F-score提升7%。
通過生成測(cè)試圖片的預(yù)測(cè)效果圖,可以進(jìn)一步對(duì)比兩種算法得到的實(shí)驗(yàn)結(jié)果,更加直觀地看出改進(jìn)后算法的有效性。具體如圖3和圖4所示。圖3的中央與右側(cè)區(qū)域,使用RefineNet融合算法得到的文字區(qū)域更為準(zhǔn)確,能將較小區(qū)域中的單詞分別識(shí)別,檢測(cè)準(zhǔn)確度較高。圖4中,第2行文字末端由于文字區(qū)域較傾斜,單詞間隙較小,產(chǎn)生粘連情況,使用RefineNet融合算法得到的文字區(qū)域能更好地解決文字粘連問題。
改進(jìn)前使用FPN融合算法雖然也能較為準(zhǔn)確地標(biāo)記出圖片中的文字區(qū)域,但使用RefineNet融合算法對(duì)PSENet網(wǎng)絡(luò)進(jìn)行改進(jìn),優(yōu)化特征提取網(wǎng)絡(luò),可以使自然場(chǎng)景下較小的文字區(qū)域得到正確識(shí)別,因此本文提出的算法有效可行。
圖3 測(cè)試圖1
圖4 測(cè)試圖2
針對(duì)自然場(chǎng)景下的文字區(qū)域檢測(cè)問題,本文提出改進(jìn)PSENet網(wǎng)絡(luò)的RefineNet融合算法,將自然場(chǎng)景下拍攝的圖片作為輸入,通過對(duì)原PSENet網(wǎng)絡(luò)中特征提取部分FPN融合算法進(jìn)行改進(jìn),優(yōu)化對(duì)文字區(qū)域的檢測(cè)能力。實(shí)驗(yàn)結(jié)果證明,本文提出的算法有效可行。
但該算法仍有改進(jìn)空間,后續(xù)將通過進(jìn)一步優(yōu)化損失函數(shù),以及對(duì)文字區(qū)域進(jìn)行尺度分類等方式,提高PSENet網(wǎng)絡(luò)對(duì)文字區(qū)域的檢測(cè)能力。