徐 瑩
(西南民族大學(xué)電子信息學(xué)院,成都 610041)
在二十一世紀(jì)的今天,文字和我們的日常生活已經(jīng)密不可分,我們描述世間萬物都需要用到文字。尤其是在現(xiàn)在這個信息不斷發(fā)展的時代,在互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展下,大量的文字也以圖像或視頻的方式被保存下來。人們迫切的希望可以檢測識別這些圖像或是視頻中的文字,來幫助我們更好地理解。如今,文字已經(jīng)成為我們生活中不可或缺的一部分。
目前對傳統(tǒng)電子文檔中的文字進(jìn)行檢測的方法已經(jīng)比較成熟,但自然場景中的文本檢測技術(shù)仍然面臨著很多問題。和傳統(tǒng)電子文檔中的背景相比較,自然場景文字的背景信息更為復(fù)雜。很多文字可能會受到背景的影響,比如被其他的物體遮擋等等。同時,背景中圖片的明暗變化等都會影響檢測結(jié)果。另外,自然場景中的文字形狀更加復(fù)雜,很多文字形狀的檢測對比一般的通用物體檢測存在更多的樣式,并且在自然場景中很多文字的形狀都是不規(guī)則的,文本之間變化的差距較大。在文本中還會存在語種屬性復(fù)雜這一問題,一張圖片中的文字可能會包括中文、英文以及數(shù)字等一系列的語種文字,在處理這些信息時就會變得較為困難,也會更難提取文本中的信息。因此,對自然場景中的文字進(jìn)行有效的檢測同樣是研究人員的工作重點和挑戰(zhàn)。為了解決這些問題,本文提出了一種可以檢測任意形狀文本的方法,以PSENet為基礎(chǔ),通過對其網(wǎng)絡(luò)進(jìn)行重新搭建,引入現(xiàn)階段提高性能的模塊,在標(biāo)準(zhǔn)數(shù)據(jù)集上得到更好的檢測效果。
近年來,深度學(xué)習(xí)技術(shù)不斷發(fā)展,在文字檢測領(lǐng)域的運用也越來越多。自然場景中的文字通常存在著很大的差異,比如在圖片中可能會存在文字的大小、字體以及文字顏色的差異。很多街邊的店面招牌、交通指示招牌以及食品的包裝袋上我們都可以看到這種類型的文字。這類圖像中的文字比傳統(tǒng)電子文檔中的文字更為復(fù)雜,運用傳統(tǒng)的文字檢測方法進(jìn)行檢測準(zhǔn)確率就比較低。目前由于深度學(xué)習(xí)技術(shù)的大量運用,很多學(xué)者就把眼光放在了對場景文本圖像的檢測識別上面。目前主要有兩種基于神經(jīng)網(wǎng)絡(luò)的文本檢測方法,一種是基于候選框的文本檢測方法,另一種是把基于分割的文本檢測方法。
在基于候選框的文本檢測思路上,2015年提出的一種目標(biāo)檢測框架Faster R-CNN,在很多個數(shù)據(jù)集上的檢測結(jié)果都比較好,不僅準(zhǔn)確率高檢測速度也較快。利用Faster R-CNN進(jìn)行目標(biāo)檢測一般需要兩步,首先需要用RPN網(wǎng)絡(luò)提取物體的候選框,之后再對這些提取的候選框進(jìn)行類別的預(yù)測以及位置回歸。在Faster R-CNN的基礎(chǔ)上,Tian等提出了CTPN,這一算法主要是將要檢測的文本轉(zhuǎn)換成一系列的小尺度的文本框進(jìn)行檢測,在文中提出了Siderefinement這一概念,主要用于提高文本框檢測的精度。這種方法雖然提升了文本檢測的精度但在水平文本的識別上的檢測效果并不是很好。沿用RPN的思想,Ma等提出了RRPN,主要解決了識別自然場景文本中文字的多方向問題,通過在錨點上增加很多不同方向的包圍框來提高文本檢測的精度。Shi等提出了SegLink算法,這種算法不僅從CTPN的角度運用了對小尺度的選框進(jìn)行檢測的方法,并且增加了對不同角度的文本進(jìn)行檢測的方法,改進(jìn)了CTPN方法的不足。主要是對文本行檢測局部片段,之后將這些片段進(jìn)行連接達(dá)到最終的目的。Liao等提出了TextBoxes算法,該算法針對場景文本的特性,設(shè)定了適應(yīng)性的錨點框,提出了text-box層,采用長條形的卷積核,避免了引入非文本噪聲,提出了端到端的訓(xùn)練框架,并通過增加識別來提高文本行檢測的效果。TextBoxes++在TextBoxes的基礎(chǔ)上進(jìn)行了改進(jìn),將TextBoxes中水平排列的文本檢測器擴(kuò)展為能夠檢測任意文本方向的文本檢測器。
在基于分割的文本檢測思路上,現(xiàn)階段主要是通過像素級別的語義分割來實現(xiàn)文本檢測,利用FCN對圖像中的文本和非文本進(jìn)行分類,從而得到相應(yīng)的文字掩膜。Long等首次將文本像素分類預(yù)測用于場景文字檢測的任務(wù)當(dāng)中,該方法通過FCN預(yù)測得到圖像中文本的掩膜,之后利用MSER檢測提取文本區(qū)域的字符。Deng等提出的PixelLink則是沒有使用邊框回歸的思想,而是直接使用實例分割得到文本行區(qū)域,之后找到對應(yīng)的外接文本框?;谶@樣的信息,可以有效組合屬于同一文本的像素點。Wang等在SOLO(Segmenting Objects by Locations)一文中提出了一種“實例類別”的概念,通過不同實例所處的位置來對像素點實現(xiàn)多分類的任務(wù),從而將文本檢測從基于回歸的方式轉(zhuǎn)換為基于分類的方式,使實現(xiàn)過程更簡單有效。EAST方法主要是通過FCN輸出像素級別的檢測結(jié)果,之后利用NMS算法分類獲得文本區(qū)域。Wang等提出了通過實例分割來實現(xiàn)文本檢測的全新算法—PSENet(progressive scale expansion network),這種方法的主要特點是提出了漸進(jìn)式尺度擴(kuò)展,通過該方法解決文本行中相鄰文字的分離問題。同時也實現(xiàn)了能夠檢測不同方向的文本行的目的。通過使用特征金字塔網(wǎng)絡(luò)以及殘差網(wǎng)絡(luò)來提取圖片中的文本信息,大大地提高了檢測效果。
目前最先進(jìn)的算法大多要求矩形框來定義具有任意形狀的文本,對于不規(guī)則文本的檢測就存在很多的缺陷。為此現(xiàn)在大多數(shù)使用實例分割方法進(jìn)行檢測,但是這一方法同樣存在著一個難點。理論上這種方法是可以檢測很多的不規(guī)則文本的,但是卻不易分離鄰近的文本,PSENet的核心思想是文本區(qū)域的漸進(jìn)式尺度擴(kuò)展,本質(zhì)也是通過實例分割獲得檢測到的文本,該算法不僅可以檢測不同角度的文本,同時能夠?qū)崿F(xiàn)相鄰文本的分離。具體來說,PSENet的主干網(wǎng)絡(luò)是表達(dá)能力更強的ResNet網(wǎng)絡(luò),對于任意一張輸入的圖片I,通過FPN網(wǎng)絡(luò)提取特征之后得到如圖1所示的四個Feature Map(;;;),然后通過函數(shù)合并,得到。的公式如下:
通過,該網(wǎng)絡(luò)會將需要檢測的文本分成不同的分割區(qū)域,并記作1…,通過設(shè)置不同尺度的核來對相應(yīng)的文本區(qū)域進(jìn)行處理。從最小的內(nèi)核開始進(jìn)行擴(kuò)展,逐步擴(kuò)展到和原來文本實例的大小相同。通過基于分割的方法進(jìn)行像素級別的分類來定位文本實例,從而檢測任意方向的文本,達(dá)到有效的文本檢測效果。網(wǎng)絡(luò)的整體框架如圖1所示。
圖1 PSENet整體框架
ResNet(residual network),即殘差網(wǎng)絡(luò),是實現(xiàn)特征提取的主干網(wǎng)絡(luò),主要是為了解決當(dāng)進(jìn)行梯度反向傳播時,網(wǎng)絡(luò)層數(shù)不斷上升后所產(chǎn)生的梯度爆炸或消失的問題。在網(wǎng)絡(luò)結(jié)構(gòu)中引入了躍層連接,使得輸入信息直接傳輸?shù)捷敵?,從而實現(xiàn)恒等映射,在一定程度上保護(hù)了信息的完整性且提高了網(wǎng)絡(luò)的性能。網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,該網(wǎng)路可擴(kuò)展性較強,可在增加準(zhǔn)確率的同時基本不改變或降低模型的復(fù)雜度。
圖2 殘差網(wǎng)絡(luò)
FPN(feature pyramid networks for object detection),即特征金字塔網(wǎng)絡(luò),我們一般進(jìn)行訓(xùn)練時大多數(shù)是用同一尺度的圖片進(jìn)行訓(xùn)練,為了能夠適應(yīng)更多尺度的圖片,Lin等提出了FPN網(wǎng)絡(luò),通過提取多尺度的特征進(jìn)行融合進(jìn)而提高目標(biāo)檢測的精度,特別是在檢測小物體上,大幅度提高了小物體檢測的性能。
FPN網(wǎng)絡(luò)主要由三部分組成:
(1)自底向上。相對于神經(jīng)網(wǎng)絡(luò)中的前向傳播過程。
(2)自上而下。是一個上采樣的過程,使用上采樣得到具有更高分辨率的特征圖。
(3)橫向連接。將自底向上生成的feature map和上采樣的結(jié)果進(jìn)行特征融合,通過引入FPN網(wǎng)絡(luò),增強圖片信息的表達(dá)能力。該網(wǎng)絡(luò)的基本架構(gòu)如圖3所示。
圖3 特征金字塔網(wǎng)絡(luò)
PSENet(progressive scale expansion network),即漸進(jìn)尺度擴(kuò)張算法,是一種能夠很好地檢測自然場景中的任意形狀文本的文本檢測器。對于圖像中的每個文本實例而言,都會生成多個相對應(yīng)的預(yù)測區(qū)域,記作1…。這些區(qū)域也可稱之為“核”,其與原文本區(qū)域具有一定的擬合性。在相對位置上也是相同的,不同的一點主要是每個核對應(yīng)的文本實例的比例不同。其流程如圖4所示。主要思想是利用BFS(廣度優(yōu)先算法)逐漸擴(kuò)展kernel的尺度,首先是在1上,即從最小的文字分割特征圖得到已經(jīng)分開的文本中心區(qū)域,然后利用2中的像素和1中的像素進(jìn)行融合,以此達(dá)到擴(kuò)張1的目的,但會發(fā)生一個像素屬于多個文本區(qū)域的情況。如圖4中的灰色區(qū)域,采用的區(qū)分方法是“先到先得”。同理,用3來擴(kuò)展上一步得到的結(jié)果,得到最終的檢測結(jié)果。
圖4 漸進(jìn)式尺度擴(kuò)展算法
為了能夠更加精確地提取特征,本文運用了ResNeXt網(wǎng)絡(luò),通常我們想要增加模型的精度一般都是通過加深網(wǎng)絡(luò)的方式,但是這就會增加計算量及其復(fù)雜性。本文使用ResNeXt作為主干網(wǎng)絡(luò)來進(jìn)行特征提取,是因為它在提高準(zhǔn)確率的同時基本不改變或增加模型的復(fù)雜度。它引入了新的用于構(gòu)建CNN網(wǎng)絡(luò)的blocks模塊,通過對相同的卷積層進(jìn)行平行堆疊而形成,并提出了一種新的計算模塊復(fù)雜度的度量“cardinality”,指的是一個block中所具有的相同分支的數(shù)目。如圖5所示,該網(wǎng)絡(luò)中的cardinality=32。
圖5 ResNeXt網(wǎng)絡(luò)
本項目的實驗環(huán)境配置如表1所示。
表1 實驗環(huán)境配置
本項目使用的是基于MMOCR的文本檢測識別框架,在該框架上進(jìn)行模型搭建,使用的數(shù)據(jù)集是公開數(shù)據(jù)集ICDAR2015,通過對原始的PSENet模型進(jìn)行改進(jìn),并基于ICDAR2015對模型進(jìn)行了訓(xùn)練以及測試,最后通過三個評價指標(biāo):準(zhǔn)確率Precision、召回率Recall以及綜合評價指標(biāo)H-mean對模型的性能進(jìn)行評估,從表2中可以看出,改進(jìn)后的模型對文本的檢測效果得到明顯提升。
表2 改進(jìn)模型性能對比
本文對基礎(chǔ)的文本檢測算法進(jìn)行改進(jìn)研究,實驗中迭代次數(shù)epoch設(shè)置為600,learning rate設(shè)置為0.001,Batch Size設(shè)置為4。實驗檢測效果如圖6所示。
圖6 檢測效果
本文通過對基本的PSENet文本檢測網(wǎng)絡(luò)進(jìn)行改進(jìn),將主干網(wǎng)絡(luò)替換為特征提取能力更強的ResNeXt101,增強了總體的特征提取能力。提高了文本檢測的效率以及精度,相較于基本的網(wǎng)絡(luò)模型,本文改進(jìn)的模型取得了更好的效果。本文算法在場景文本檢測方面有較好的效果,為后續(xù)進(jìn)行識別提供了一個好的基礎(chǔ)。