燕 天
(1.軌道交通工程信息化國家重點(diǎn)實(shí)驗(yàn)室(中鐵一院),陜西 西安 710043;2.中國鐵建BIM工程實(shí)驗(yàn)室(中鐵一院),陜西 西安 710043)
對(duì)自然場景中具有不規(guī)則形狀、尺寸和排列方式的復(fù)雜文本進(jìn)行檢測和識(shí)別,是實(shí)現(xiàn)機(jī)器人場景理解、自動(dòng)駕駛、視覺翻譯等任務(wù)的基礎(chǔ)。近年來,國內(nèi)外學(xué)者針對(duì)自然場景圖像中的文本檢測識(shí)別問題進(jìn)行了深入研究。文獻(xiàn)[1]對(duì)自底向上和自頂向下的自然場景文本檢測方法,以及基于圖像分割和注意力機(jī)制的自然場景文本識(shí)別方法進(jìn)行了分析和總結(jié)。文獻(xiàn)[2]利用傳統(tǒng)的方向梯度直方圖提取圖像特征,然后使用滑動(dòng)窗口、隨機(jī)森林算法和預(yù)定義的詞典圖模型對(duì)矩形文本區(qū)域進(jìn)行檢測識(shí)別,該方法實(shí)時(shí)性好,但沒有利用圖像的深層特征,因此魯棒性不足。文獻(xiàn)[3]基于Faster RCNN模型求出圖像中的所有文本區(qū)域,然后通過卷積循環(huán)神經(jīng)網(wǎng)絡(luò)(convolutional recurrent neural network,CRNN)進(jìn)行文本識(shí)別,該方法利用了圖像的深層特征,魯棒性較好,但只能對(duì)固定長度的水平文本區(qū)域進(jìn)行檢測識(shí)別。文獻(xiàn)[4]基于語義分割、仿射變換和CRNN模型,提出了快速文本定位方法(fast oriented text spotting,FOTS),該方法可對(duì)自然場景中的傾斜文本區(qū)域進(jìn)行檢測識(shí)別,但對(duì)長文本的識(shí)別準(zhǔn)確率較低。文獻(xiàn)[5—7]基于實(shí)例分割思想,提出了基于掩碼的文本定位方法Mask TextSpotter,該方法可對(duì)自然場景圖像中任意形狀、長度的文本進(jìn)行檢測識(shí)別,但結(jié)構(gòu)復(fù)雜、實(shí)時(shí)性較差。本文針對(duì)基于CRNN或?qū)嵗指畹淖匀粓鼍拔谋緳z測識(shí)別方法結(jié)構(gòu)復(fù)雜、實(shí)時(shí)性差、魯棒性低的問題,提出基于改進(jìn)Faster RCNN和高斯混合模型的自然場景文本快速檢測識(shí)別方法。
針對(duì)自然場景中傾斜文本的檢測識(shí)別問題,文獻(xiàn)[4]提出了基于語義分割、仿射變換和CRNN模型的FOTS方法。該方法首先通過全卷積網(wǎng)絡(luò)(fully connection network,FCN)對(duì)自然場景圖像進(jìn)行語義分割,獲得每個(gè)文本區(qū)域的邊框和轉(zhuǎn)角,然后通過仿射變換將所有文本區(qū)域轉(zhuǎn)化為水平方向,最后使用CRNN模型進(jìn)行時(shí)序連接分類,求出每個(gè)文本區(qū)域內(nèi)的字符序列。該方法的流程如圖1所示。
針對(duì)任意形狀自然場景文本的檢測識(shí)別問題,文獻(xiàn)[5]提出了基于實(shí)例分割的Mask TextSpotter方法。該方法首先使用Fast RCNN模型求出所有文本區(qū)域的矩形外包圍框,完成對(duì)密集文本區(qū)域的劃分;然后在每個(gè)文本區(qū)域的矩形外包圍框內(nèi)使用Mask RCNN模型進(jìn)行文本的語義分割和單字符的實(shí)例分割,完成對(duì)任意形狀文本區(qū)域的檢測和識(shí)別。該方法的流程如圖2所示。
圖1 基于FOTS的自然場景文本檢測識(shí)別方法Fig.1 Natural scene text detection and recognition method based on FOTS
圖2 基于Mask TextSpotter的自然場景文本檢測識(shí)別方法Fig.2 Natural scene text detection and recognition method based on Mask TextSpotter
文獻(xiàn)[4]方法可對(duì)自然場景圖像中傾斜的文本區(qū)域進(jìn)行檢測識(shí)別,但這種基于CRNN的方法在提取文本區(qū)域的序列特征時(shí),無法保留遠(yuǎn)距離的文本特征,因此對(duì)長文本的識(shí)別準(zhǔn)確率較低。文獻(xiàn)[5]方法可以對(duì)自然場景圖像中任意形狀的文本進(jìn)行檢測識(shí)別,該方法不需要提取文本區(qū)域的序列特征,因此對(duì)長文本的識(shí)別較為魯棒,但需要通過掩碼分支進(jìn)行逐像素分類,導(dǎo)致結(jié)構(gòu)復(fù)雜、實(shí)時(shí)性較差。綜上所述,如果能使用結(jié)構(gòu)簡單的Faster RCNN模型,將文獻(xiàn)[5]方法的逐像素分類替換為單字符檢測識(shí)別,再通過單字符聚類生成候選的多邊形文本框,最后進(jìn)行邊框篩選,就能快速實(shí)現(xiàn)對(duì)任意形狀文本區(qū)域的檢測識(shí)別。
本文提出了基于改進(jìn)Faster RCNN和高斯混合模型的自然場景文本快速檢測識(shí)別方法。該方法首先使用改進(jìn)的Faster RCNN模型求出圖像中所有單字符的邊框、類別、特征向量及文本區(qū)域數(shù)量,然后通過高斯混合模型對(duì)單字符進(jìn)行聚類并構(gòu)造出候選的多邊形文本框;最后根據(jù)重定義的置信度公式,使用非極大值抑制算法(none-maximum suppression,NMS)篩選出適當(dāng)?shù)奈谋緟^(qū)域邊框,并輸出邊框內(nèi)的字符標(biāo)簽序列,從而快速實(shí)現(xiàn)對(duì)任意形狀文本區(qū)域的檢測識(shí)別。該方法總體框架如圖3所示。
圖3 基于改進(jìn)Faster RCNN和高斯混合模型的自然場景文本檢測識(shí)別方法Fig.3 Natural scene text detection and recognition method based on improved Faster RCNN and GMM
本文使用改進(jìn)的Faster RCNN模型(如圖4所示)進(jìn)行單字符檢測識(shí)別。其中支路1(實(shí)線)為Faster RCNN原有支路,用于求出所有單字符的矩形邊框和類別;支路2和支路3(虛線)為新增支路,支路2用于輸出統(tǒng)一維度的單字符特征向量,支路3用于輸出圖中文本區(qū)域的總數(shù)K。圖5顯示了通過改進(jìn)的Faster RCNN模型輸出的單字符邊框、類別及文本區(qū)域數(shù)量。
基于改進(jìn)Faster RCNN模型的單字符檢測識(shí)別流程如下:
1) 將包含背景、52種大小寫英文字母和10種阿拉伯?dāng)?shù)字的自然場景圖像(共63個(gè)類別標(biāo)簽)輸入VGG-16網(wǎng)絡(luò)的特征提取模塊,獲得512通道的全局特征圖;
2) 在支路1,首先使用RPN模塊求出候選的單字符文本框,然后對(duì)每個(gè)候選的單字符文本框使用311個(gè)1×1×512的卷積核,分別生成63個(gè)分類通道和248個(gè)回歸通道的特征圖,最后使用ROI Align模塊將候選單字符特征圖的尺寸池化為7×7,并通過全連接網(wǎng)絡(luò)(FC)和NMS篩選算法,求出適當(dāng)?shù)膯巫址吙蚣邦悇e標(biāo)簽;
3) 在支路2,首先根據(jù)感受野的對(duì)應(yīng)關(guān)系,從全局特征圖中提取出所有單字符的512通道特征圖,再使用1個(gè)1×1×512的卷積核將所有單字符特征圖的通道數(shù)量調(diào)整為1,實(shí)現(xiàn)多通道特征融合,然后通過ROI Align模塊將每個(gè)單字符特征圖的尺寸池化為7×7,最后使用Reshape模塊將每個(gè)單字符特征圖轉(zhuǎn)化為49維的單字符特征向量;
4) 在支路3,首先使用1個(gè)1×1×512的卷積核將全局特征圖的通道數(shù)量調(diào)整為1,實(shí)現(xiàn)多通道特征融合,然后使用空間金字塔池化模塊(spatial pyramid pooling,SPP)將全局特征圖轉(zhuǎn)化為21維的全局特征向量,最后使用全連接網(wǎng)絡(luò)求出圖中文本區(qū)域的總數(shù)K。
圖4 改進(jìn)的Faster RCNN模型Fig.4 Improved Faster RCNN model
圖5 單字符檢測識(shí)別結(jié)果Fig.5 Character detection and recognition result
本文使用高斯混合模型對(duì)單字符進(jìn)行聚類。聚類樣本是改進(jìn)的Faster RCNN模型輸出的所有單字符特征向量,類別總數(shù)為Faster RCNN模型輸出的文本區(qū)域數(shù)量K。高斯混合模型需要求解的參數(shù)包括:各文本區(qū)域的先驗(yàn)概率πi、高斯分布均值μi和協(xié)方差矩陣Ci。
(1)
(2)
(3)
(4)
(5)
高斯混合聚類算法的流程:
1) 隨機(jī)初始化各文本區(qū)域的高斯分布均值及協(xié)方差矩陣,并將各文本區(qū)域的初始先驗(yàn)概率設(shè)置為1/K;
2) 使用參數(shù)更新公式對(duì)各文本區(qū)域的參數(shù)進(jìn)行迭代優(yōu)化,若某次迭代后所有參數(shù)的變化率均小于1%,則停止迭代;
3) 根據(jù)最大后驗(yàn)概率準(zhǔn)則,確定每個(gè)樣本所屬的文本區(qū)域,完成對(duì)單字符的高斯混合聚類。
本文使用基于字符中心線的算法生成候選的多邊形文本框,算法流程:
1) 首先根據(jù)高斯混合聚類結(jié)果,使用各文本區(qū)域內(nèi)所有單字符邊框的中心點(diǎn)擬合出該文本區(qū)域的單字符中心線函數(shù),然后計(jì)算出每個(gè)單字符中心點(diǎn)的法線方向,并將法線長度設(shè)置為文本區(qū)域內(nèi)單字符邊框?qū)蔷€的平均長度;
2) 將單字符中心線兩端的法線沿中心線的切線方向,向外移動(dòng)0.5個(gè)法線長度,然后連接所有法線端點(diǎn),即可獲得多邊形文本框。
圖6(a)顯示了單字符邊框和單字符中心線,圖6(b)顯示了單字符中心線、單字符法線(箭線)及生成的候選多邊形文本框。
圖6 多邊形文本區(qū)域邊框生成過程Fig.6 Steps for generating polygon text bounding boxes
文本區(qū)域i重定義的置信度Ci公式為
(6)
式(6)中,Ii表示文本區(qū)域i的預(yù)測框與真值框的交并比,計(jì)算公式為
(7)
式(6)中的Pi表示文本區(qū)域i中所有單字符分類概率的乘積,計(jì)算公式為
Pi=ΠjP[i][j]。
(8)
(9)
3.1.2.Reconfiguration of dynamics model of manipulator
(10)
本文通過多任務(wù)損失函數(shù)進(jìn)行端到端訓(xùn)練,損失函數(shù)L的計(jì)算公式為
L=LRPN+α1LCLS+
α2LREG+α3LK+α4LLev,
(11)
式(11)中,LRPN、LCLS、LREG與原始的Faster RCNN模型相同,分別為RPN損失、單字符分類損失和單字符回歸損失;LK為預(yù)測的文本區(qū)域數(shù)量損失;LLev為預(yù)測的文本區(qū)域標(biāo)簽序列與真值標(biāo)簽序列的萊文斯坦距離損失;α1、α2、α3、α4為多任務(wù)損失函數(shù)的權(quán)重,本文均設(shè)定為1。
LK的計(jì)算公式為
LK=(K-KGT)2,
(12)
式(12)中,K為預(yù)測的文本區(qū)域數(shù)量,KGT為真實(shí)的文本區(qū)域數(shù)量。
LLev的計(jì)算公式為
(13)
為評(píng)估本文方法的性能,并與其他常用的自然場景文本圖像檢測識(shí)別方法進(jìn)行對(duì)比,本文選擇了水平文本公共數(shù)據(jù)集ICDAR2013、傾斜文本公共數(shù)據(jù)集ICDAR2015和彎曲文本公共數(shù)據(jù)集Total-Text作為訓(xùn)練集和測試集。
ICDAR2013數(shù)據(jù)集是2013年文檔分析與識(shí)別國際會(huì)議魯棒性閱讀挑戰(zhàn)賽中使用的數(shù)據(jù)集,該數(shù)據(jù)集標(biāo)注了所有單字符和文本區(qū)域的標(biāo)簽及矩形邊框,共包含229張訓(xùn)練圖片和233張測試圖片,所有圖片中只包含水平文本。
ICDAR2015數(shù)據(jù)集是2015年文檔分析與識(shí)別國際會(huì)議魯棒性閱讀挑戰(zhàn)賽中使用的數(shù)據(jù)集,該數(shù)據(jù)集標(biāo)注了文本區(qū)域的標(biāo)簽及四邊形邊框,共包含1 000張訓(xùn)練圖片和500張測試圖片,圖片中包含水平文本和傾斜文本。
Total-Text數(shù)據(jù)集是2017年文檔分析與識(shí)別國際會(huì)議提出的綜合場景數(shù)據(jù)集,該數(shù)據(jù)集標(biāo)注了文本區(qū)域的標(biāo)簽及多邊形邊框,共包含1 255張訓(xùn)練圖片和300張測試圖片,圖片中包含水平文本、傾斜文本和彎曲文本。
在訓(xùn)練階段,本文方法首先對(duì)ICDAR2015和Total-Text訓(xùn)練集中的圖片進(jìn)行了單字符標(biāo)注,并剔除了非英文、非數(shù)字的圖片。然后使用ICDAR2013、ICDAR2015和Total-Text訓(xùn)練集中的圖片,按mini-batch方式進(jìn)行訓(xùn)練,其中輸入圖片、RPN模塊、單字符檢測識(shí)別模塊的batch-size分別設(shè)置為256、256、512,RPN階段和單字符檢測識(shí)別階段的正負(fù)樣本比例均設(shè)置為1∶3。本文使用隨機(jī)梯度下降法(stochastic gradient descent,SGD)進(jìn)行參數(shù)優(yōu)化,動(dòng)量設(shè)置為0.9,權(quán)重衰減設(shè)置為0.001,共進(jìn)行3×104次迭代,初始學(xué)習(xí)率為0.01,在進(jìn)行2×104次迭代后,學(xué)習(xí)率調(diào)整為0.001。本文采用的深度學(xué)習(xí)框架為PyTorch1,使用1個(gè)NVIDIA GeForce RTX 3080顯卡進(jìn)行訓(xùn)練和推理。
為表明本文方法在自然場景文本檢測識(shí)別任務(wù)中的魯棒性和實(shí)時(shí)性,在ICDAR2013、ICDAR2015和Total Text數(shù)據(jù)集上進(jìn)行了對(duì)比實(shí)驗(yàn)。表1展示了不同數(shù)據(jù)集中,各種文本檢測方法的查準(zhǔn)率P、查全率R、查準(zhǔn)率與查全率的調(diào)和平均值F以及平均幀速FPS。表2中FS、FW、FG、FFull、FNone分別代表使用ICDAR2013和ICDAR2015測試集提供的強(qiáng)詞典、弱詞典、通用詞典、Total Text測試詞典、無詞典輔助時(shí),各種文字識(shí)別方法查準(zhǔn)率和查全率的調(diào)和平均值及平均幀速FPS。
表1 各種文本檢測方法的對(duì)比實(shí)驗(yàn)結(jié)果Tab.1 Contrast experimental results of various text detection methods
表2 各種文本識(shí)別方法的對(duì)比實(shí)驗(yàn)結(jié)果Tab.2 Contrast experimental results of various text recognition methods
在ICDAR2013、ICDAR2015及Total Text數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明:本文方法與最快的文本檢測方法相比速度提高了23%,與最快的文本識(shí)別方法相比速度提高了67%;在文本檢測任務(wù)中,本文方法可以取得最佳的查準(zhǔn)率和F值,查全率與最佳方法相比只下降了約2%;而在文本識(shí)別任務(wù)中,本文方法可以取得最佳的F值。從而證明了本文方法在自然場景文本檢測識(shí)別任務(wù)中的魯棒性和實(shí)時(shí)性。
為表明先計(jì)算文本區(qū)域數(shù)量再進(jìn)行聚類,以及重定義置信度公式的重要性,本文使用ICDAR2013、ICDAR2015和Total Text測試集中的圖片進(jìn)行了文本識(shí)別消融實(shí)驗(yàn),結(jié)果如表3所示。其中FS、FW、FG、FFull、FNone的定義與表2相同。Ours(a)代表在單字符聚類前不計(jì)算文本區(qū)域數(shù)量,但使用重定義的置信度公式;Ours(b)代表在單字符聚類前先計(jì)算文本區(qū)域數(shù)量,但僅使用Faster RCNN原定義的置信度公式;Ours代表在單字符聚類前先計(jì)算文本區(qū)域數(shù)量,且使用重定義的置信度公式。
表3 消融實(shí)驗(yàn)結(jié)果Tab.3 Ablation experimental results
實(shí)驗(yàn)結(jié)果表明,在ICDAR2013數(shù)據(jù)集上,通過求解圖像中的文本區(qū)域數(shù)量能夠提高4.7%~9.1%的F值,使用重定義的置信度公式能夠提高3.1%~8.5%的F值;在ICDAR2015數(shù)據(jù)集上,通過求解圖像中的文本區(qū)域數(shù)量能夠提高6.1%~8.5%的F值,使用重定義的置信度公式能夠提高4.5%~5.4%的F值;在Total-Text數(shù)據(jù)集上,通過求解圖像中的文本區(qū)域數(shù)量能夠提高8.6%~11.1%的F值,使用重定義的置信度公式能夠提高4.2%~5.7%的F值。上述結(jié)果表明,聚類前先求解出文本區(qū)域數(shù)量并使用重定義的置信度公式,能夠顯著提高文本識(shí)別效果。
本文方法在ICDAR2013、ICDAR2015和Total Text數(shù)據(jù)集的部分實(shí)驗(yàn)結(jié)果,分別如圖7—圖9所示。
圖7 ICDAR2013數(shù)據(jù)集實(shí)驗(yàn)結(jié)果Fig.7 Experimentalresults on ICDAR2013 dataset
圖8 ICDAR2015數(shù)據(jù)集實(shí)驗(yàn)結(jié)果Fig.8 Experimental results on ICDAR2015 dataset
圖9 Total Text數(shù)據(jù)集實(shí)驗(yàn)結(jié)果Fig.9 Experimentalresults on Total-Text dataset
本文提出基于改進(jìn)Faster RCNN和高斯混合模型的自然場景文本圖像快速檢測識(shí)別方法。該方法首先使用改進(jìn)的Faster RCNN模型求出自然場景圖像中所有單字符的特征向量及文本區(qū)域數(shù)量,然后通過高斯混合模型生成候選的多邊形文本框,最后使用重定義的置信度公式和NMS算法篩選出適當(dāng)?shù)奈谋緟^(qū)域邊框并輸出邊框內(nèi)的字符標(biāo)簽序列。在公共數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果表明,本文方法通過先計(jì)算文本區(qū)域數(shù)量再聚類,并使用重定義的置信度計(jì)算公式,顯著提高了文本識(shí)別效果,與當(dāng)前的常用方法相比,本文方法在自然場景文本檢測識(shí)別任務(wù)中具有更好的魯棒性和實(shí)時(shí)性。