馬 靜,薛 浩,郭小宇
南京航空航天大學(xué) 經(jīng)濟(jì)與管理學(xué)院,南京 211106
隨著智能手機(jī)和智能攝像頭的廣泛使用,閱圖時(shí)代已經(jīng)到來(lái)。圖片數(shù)量爆發(fā)式增漲,信息量更加豐富,人們希望從海量圖片數(shù)據(jù)中快速、準(zhǔn)確獲取信息,因此圖片理解成為當(dāng)前亟待解決的一個(gè)關(guān)鍵問(wèn)題。圖片文本攜帶著豐富而精確的高級(jí)語(yǔ)義信息,同時(shí)亦具有形態(tài)不規(guī)則的特點(diǎn),如文字的顏色、大小、方向、語(yǔ)言、字體、形狀等有較大差異。復(fù)雜自然場(chǎng)景下的圖片文本的識(shí)別具有重大實(shí)用價(jià)值,如圖1 所示印章識(shí)別、廣告牌信息讀取、產(chǎn)品查詢和檢索、拍圖識(shí)字等,都離不開(kāi)自然場(chǎng)景圖片文本的識(shí)別。Google Glass通過(guò)快速、精準(zhǔn)識(shí)別佩戴者目光所及之處的文字,結(jié)合知識(shí)圖譜等技術(shù)將關(guān)聯(lián)信息推送給用戶。另外,自然場(chǎng)景中的文本識(shí)別也是元宇宙上游視覺(jué)理解認(rèn)知的一項(xiàng)重要技術(shù)。因此,自然場(chǎng)景下文本的檢測(cè)和識(shí)別逐漸成為計(jì)算機(jī)視覺(jué)領(lǐng)域的研究熱點(diǎn)。本文重點(diǎn)研究自然場(chǎng)景下不規(guī)則文本的檢測(cè)方法。
圖1 自然場(chǎng)景文本檢測(cè)場(chǎng)景Fig.1 Scene text detection in nature senarios
相較于掃描圖像文本,自然場(chǎng)景文本具有以下特點(diǎn):(1)文本以任意四邊形文本、水平形狀文本以及不規(guī)則文本的形式存在;(2)圖像背景復(fù)雜,信號(hào)燈、指示標(biāo)、柵欄、屋頂、窗戶、磚塊、花草等會(huì)和文本具有相似的紋理信息,從而干擾檢測(cè)識(shí)別;(3)圖像自身的成像過(guò)程亦包含多種干擾因素,如所拍攝的圖像存在噪聲、模糊、光照不均勻(強(qiáng)反光、陰影)、低分辨率、局部遮擋等問(wèn)題,使得文字的檢測(cè)更加困難。當(dāng)下自然場(chǎng)景不規(guī)則文本檢測(cè)面臨的挑戰(zhàn)是:自然場(chǎng)景中的文本因形狀不規(guī)則、背景復(fù)雜、成像干擾,使得對(duì)其的分析難度遠(yuǎn)高于傳統(tǒng)圖像文本,對(duì)于高彎曲度文本場(chǎng)景,則更具挑戰(zhàn)性。如何設(shè)計(jì)一種表示方式,既能夠讓模型學(xué)習(xí)到不規(guī)則文本的幾何變化,又能準(zhǔn)確表示出不規(guī)則文本的邊界,即盡可能少地包含非文本實(shí)例區(qū)域。
在傳統(tǒng)的計(jì)算機(jī)視覺(jué)領(lǐng)域中,自然場(chǎng)景文本檢測(cè)方法主要有基于連通域的方法和基于滑動(dòng)窗口的方法[1]?;谶B通域的代表方法有最大穩(wěn)定極值區(qū)域(maximally stable extremal regions,MSREs)[2]、筆畫(huà)寬度變換(stroke width transformation,SWT)[3]、基于邊緣和基線[4]等方法,該類方法通過(guò)顏色、邊緣、筆畫(huà)寬度等特征得到字符候選框,進(jìn)而組成文本連通域,后接文本分類器得到最終的結(jié)果[5];基于滑動(dòng)窗口的方法[6]利用紋理特征訓(xùn)練分類器,得到滑動(dòng)窗口中文本區(qū)域的概率響應(yīng)值,通過(guò)結(jié)果分析等步驟獲取文本框位置。這兩種方法都是基于人工特征提取,若直接用于自然場(chǎng)景,則容易丟失特征或提取到錯(cuò)誤的特征,從而導(dǎo)致文本定位不準(zhǔn)確[7],難以滿足復(fù)雜自然場(chǎng)景下不規(guī)則文本檢測(cè)需求。
隨著深度學(xué)習(xí)技術(shù)和人工神經(jīng)網(wǎng)絡(luò)研究的不斷發(fā)展,越來(lái)越多的研究者將深度學(xué)習(xí)技術(shù)和文本檢測(cè)相結(jié)合,自動(dòng)提取不規(guī)則文本的復(fù)雜特征,通過(guò)深度神經(jīng)網(wǎng)絡(luò)模型檢測(cè)不規(guī)則文本實(shí)例[8],取得了一些成果。依據(jù)檢測(cè)模型的技術(shù)特點(diǎn),基于深度學(xué)習(xí)的自然場(chǎng)景文本檢測(cè)研究可分為兩個(gè)方向:基于回歸技術(shù)和基于分割技術(shù)的文本檢測(cè)。Gupta等人[9]首次提出了一種基于區(qū)域建議的全卷積回歸網(wǎng)絡(luò)(fully convolutional regression network,F(xiàn)CRN)模型,該模型首先根據(jù)全卷積網(wǎng)絡(luò)提取特征圖,后對(duì)特征圖進(jìn)行卷積操作,回歸預(yù)測(cè)每個(gè)柵格位置所屬文本區(qū)域的中心坐標(biāo)偏移、寬高和角度信息。Liao 等人[10]針對(duì)尺寸比例不同的文本檢測(cè)提出Text-Boxes網(wǎng)絡(luò)結(jié)構(gòu),使用規(guī)則矩形文本表示文本框,根據(jù)不同卷積層的多尺度特征有效檢測(cè)不同尺寸文本。在此基礎(chǔ)上Liao 等人[11]進(jìn)一步提出了能夠檢測(cè)自然場(chǎng)景中任意朝向文本的TextBoxes++。TextBoxes 以及Text-Boxes++都是對(duì)預(yù)先設(shè)定的候選框進(jìn)行微調(diào),難以適應(yīng)自然場(chǎng)景中形狀各異的不規(guī)則文本。CTPN(connection text proposal network)[12]引入循環(huán)神經(jīng)網(wǎng)絡(luò)RNN 進(jìn)行文本檢測(cè),該方法將文本區(qū)域視為由多個(gè)字符或者字符的一部分構(gòu)成的文本組件序列,通過(guò)預(yù)測(cè)固定寬度、不同高度的文本組件候選框的位置偏移實(shí)現(xiàn)文本區(qū)域的檢測(cè),該方法提升了錨點(diǎn)方法的適應(yīng)性和水平文字的檢測(cè)效果。Shi 等人[13]在CTPN 模型的基礎(chǔ)上提出了面向任意朝向文本的分段鏈接檢測(cè)模型SegLink。SegLink、CTPN 等方法利用連續(xù)候選框間接回歸檢測(cè)文本,耗時(shí)較長(zhǎng),為了進(jìn)一步提升自然場(chǎng)景下不規(guī)則文本檢測(cè)的性能,Zhou 等人[14]基于直接邊框回歸方法,提出了任意四邊形文本檢測(cè)模型EAST(an efficient and accurate scene text detector),但是直接邊框回歸感受野的限制使得在檢測(cè)長(zhǎng)單詞和文本行時(shí)定位準(zhǔn)確率不高、文本框短邊的回歸誤差較大,因此四邊形或矩形的檢測(cè)方法不能適用于任意形狀的文本檢測(cè)。Baek 等人[15]提出了CRAFT 檢測(cè)方法(character region awareness for text detection),將一個(gè)字符視為一個(gè)檢測(cè)對(duì)象,對(duì)文本圖像進(jìn)行像素級(jí)回歸,CRAFT 方法中字符連接在像素級(jí)進(jìn)行,挖掘每個(gè)字符之間的親和度用以檢測(cè)文本區(qū)域,使用小感受野預(yù)測(cè)長(zhǎng)文本,這樣在檢測(cè)任意朝向、彎曲文本等復(fù)雜場(chǎng)景文本圖像時(shí)提高了靈活性。
基于邊框回歸的方法在軸對(duì)齊的文字檢測(cè)中取得了較好的效果,但邊框的表征方法難以適用檢測(cè)任意形狀的文本;同時(shí),基于回歸技術(shù)的文本框分類和邊框回歸方法不易于訓(xùn)練學(xué)習(xí),在針對(duì)任意形狀文本檢測(cè)時(shí)的準(zhǔn)確率、效率難以突破。Zhang 等人[16]首次將基于語(yǔ)義分割的文本像素分類預(yù)測(cè)引入到文本檢測(cè)中,并基于全卷積網(wǎng)絡(luò)進(jìn)行多朝向文本檢測(cè)。Deng等人[17]提出Pixel-Link檢測(cè)模型,將連通像素鏈接在一起用于分割文本實(shí)例,根據(jù)分割結(jié)果直接獲取文本邊界框,不再需要進(jìn)行位置回歸,取得了不錯(cuò)的效果,但在處理文字間距較小的文本實(shí)例時(shí),容易產(chǎn)生文本粘連。PSENet[18]采用對(duì)文本實(shí)例進(jìn)行多級(jí)預(yù)測(cè)的漸進(jìn)式擴(kuò)展方法,有效緩解了文本區(qū)域粘連問(wèn)題。TextSnake[19]采用了一種靈活表征不規(guī)則文本實(shí)例的新方式,該模型借鑒了文本組件先檢測(cè)再連接的思路,引入一系列圓盤和文本中心線來(lái)表示文本區(qū)域,利用多級(jí)融合特征分類預(yù)測(cè)每個(gè)像素位置是否為文本域、中心線,通過(guò)回歸預(yù)測(cè)圓盤半徑和角度,重新構(gòu)建得到文本實(shí)例預(yù)測(cè)結(jié)果,在長(zhǎng)文本和不規(guī)則文本檢測(cè)方面取得了較好的效果,但其后續(xù)還需用圓盤和軌跡角恢復(fù)文字區(qū)域,整體處理環(huán)節(jié)多、耗時(shí)長(zhǎng)、過(guò)程相對(duì)復(fù)雜。DB(differenttiable binarization module)[20]提出了可微分的二值化操作獲取文本邊界,并簡(jiǎn)化了分割后的處理步驟,提升了檢測(cè)的性能和速度?;诜指畹姆椒m然可以更好地適應(yīng)任意形狀的文字檢測(cè),但文字區(qū)域的提取一般還是采用外接矩形裁剪的方式,因此依然會(huì)將多余的背景噪聲帶入下游任務(wù)中,同時(shí)多邊形的表征方式也不能直接用于矯正算法。為了更好地表征任意形狀的文字,Wang 等人[21]提出了利用上下邊界基準(zhǔn)點(diǎn)來(lái)表征文字區(qū)域,取得了不錯(cuò)的效果,但由于采用兩階段模型,需要RoI(region of interest)對(duì)齊操作,因此在推理和訓(xùn)練上,耗時(shí)較多。TextRay[22]將文字輪廓點(diǎn)采用極坐標(biāo)序列的方式來(lái)表示,但該方法在文字高度彎曲的場(chǎng)景下表現(xiàn)欠佳。ABCNet(adaptive Bezier-curve network)[23]利用3階貝塞爾曲線方程表示文本的上下邊界,靈活、簡(jiǎn)便地實(shí)現(xiàn)任意形狀的矯正。由于貝塞爾曲線控制點(diǎn)的設(shè)置,在文字間距較小或文字附近有干擾的場(chǎng)景下容易誤檢或漏檢。FCENet(Fourier contour embedding network)[24]通過(guò)傅里葉變換將文字輪廓點(diǎn)轉(zhuǎn)換成復(fù)數(shù)域的傅里葉系數(shù),在高彎曲文字等場(chǎng)景中取得了較好的效果。但是,F(xiàn)CENet 的文字區(qū)域最終的表征方式仍然是多邊形,同樣不便于文字區(qū)域的精確提取與矯正。
實(shí)際應(yīng)用場(chǎng)景中存在著大量的不規(guī)則文本,如金融風(fēng)控中所需識(shí)別的合同印章,包含了許多彎曲、變形的不規(guī)則文字。不規(guī)則文本的檢測(cè)不但需要較高的檢測(cè)準(zhǔn)確率、召回率和速度,還需要為下游文本矯正任務(wù)提供便利,以此提高整體的檢測(cè)與識(shí)別性能?,F(xiàn)有基于矩形框檢測(cè)的方法難以適用不規(guī)則文本檢測(cè),其他檢測(cè)方法如TextSnake[19]、TextRay[22]、FSENet[24]等雖能檢測(cè)不規(guī)則文本,但不便于下游任務(wù)實(shí)現(xiàn)文本矯正。為了解決上述問(wèn)題,本文針對(duì)復(fù)雜自然場(chǎng)景下的不規(guī)則文本檢測(cè),提出了一種簡(jiǎn)單有效的方法:基于文本邊軌模型(TextRail)的不規(guī)則文本檢測(cè)。TextRail 模型通過(guò)預(yù)測(cè)不規(guī)則文本上下邊界的基準(zhǔn)點(diǎn)來(lái)表征文本區(qū)域幾何屬性,該表示方式不僅適用于不規(guī)則文本檢測(cè),而且為下游任務(wù)提供了便利,可以非常方便地應(yīng)用薄板樣條插值方法(thin plate spline,TPS)[25]進(jìn)行文本矯正,有效地提升下游文字識(shí)別任務(wù)的準(zhǔn)確率。
實(shí)驗(yàn)結(jié)果表明,TextRail 模型在自然場(chǎng)景下不規(guī)則文字檢測(cè)中獲得較高的準(zhǔn)確率,提升了不規(guī)則文本的檢測(cè)性能。
本文的主要?jiǎng)?chuàng)新點(diǎn)為:
(1)提出了一種通過(guò)一階段像素級(jí)密集預(yù)測(cè)文本上、下邊界基準(zhǔn)點(diǎn)的文本檢測(cè)方法。
(2)將分割、基準(zhǔn)點(diǎn)預(yù)測(cè)、文本框大小、偏心率四個(gè)檢測(cè)任務(wù)有機(jī)結(jié)合,采用多任務(wù)聯(lián)合優(yōu)化策略有效解決文本粘連問(wèn)題,并進(jìn)一步提升模型的性能。
(3)提出一種基于文本上、下邊界基準(zhǔn)點(diǎn)文本檢測(cè)和矯正的端到端流程,簡(jiǎn)化了任意形狀文本區(qū)域的提取與矯正的流程。
本文提出的TextRail 模型的核心是預(yù)測(cè)文本上、下邊界的基準(zhǔn)點(diǎn)。模型采用全卷積網(wǎng)絡(luò)架構(gòu),并采用一階段像素級(jí)密集預(yù)測(cè)的方式實(shí)現(xiàn)基準(zhǔn)點(diǎn)的預(yù)測(cè),從而避免了全連接網(wǎng)絡(luò)尺寸固定和候選區(qū)域網(wǎng)絡(luò)二階段速度慢的缺點(diǎn),在保證精度的前提下,提升模型推理速度并且可適應(yīng)任意尺寸的圖像。預(yù)測(cè)基準(zhǔn)點(diǎn)之后,基于TPS[25]實(shí)現(xiàn)彎曲文字的自動(dòng)矯正,從而降低下游識(shí)別任務(wù)的難度,提升識(shí)別的魯棒性和準(zhǔn)確性。
為了解決文本區(qū)域尺寸不統(tǒng)一對(duì)基準(zhǔn)點(diǎn)預(yù)測(cè)準(zhǔn)確度產(chǎn)生的影響,模型增加一個(gè)回歸分支,實(shí)現(xiàn)對(duì)文本區(qū)域外包箱矩形大小的預(yù)測(cè),根據(jù)文本實(shí)例區(qū)域外包箱矩形大小實(shí)現(xiàn)對(duì)其相應(yīng)關(guān)鍵點(diǎn)坐標(biāo)的歸一化。
文本區(qū)域邊緣部分預(yù)測(cè)的結(jié)果一般精確度較差,為了提高預(yù)測(cè)的精確度,本文增加了一個(gè)偏心率分支。借助偏心率來(lái)提高文字區(qū)域中心位置的權(quán)重,降低邊緣部分的權(quán)重,在提升模型精度的同時(shí),也能減輕粘連文字間的相互影響。
文本檢測(cè)的整體處理流程如圖2所示,首先文本圖片經(jīng)過(guò)全卷積網(wǎng)絡(luò)(full convolutional network,F(xiàn)CN)及特征金字塔網(wǎng)絡(luò)(feature pyramid network,F(xiàn)PN)提取特征;然后將特征分別送入三個(gè)檢測(cè)頭實(shí)現(xiàn)基準(zhǔn)點(diǎn)的初始預(yù)測(cè);基準(zhǔn)點(diǎn)的初始預(yù)測(cè)結(jié)果經(jīng)過(guò)位置感知非極大抑制LNMS(locality-aware non-maximum suppression)得到最終的基準(zhǔn)點(diǎn)預(yù)測(cè)結(jié)果;最后,基準(zhǔn)點(diǎn)坐標(biāo)應(yīng)用TPS[25]方法實(shí)現(xiàn)文本實(shí)例的提取和矯正。
圖2 文本檢測(cè)流程Fig.2 Text detection process
整體檢測(cè)流程對(duì)應(yīng)的網(wǎng)絡(luò)有三個(gè)主要部分:FCN主干網(wǎng)絡(luò)、特征提取網(wǎng)絡(luò)和檢測(cè)頭網(wǎng)絡(luò),如圖3 所示。ResNet-50 有著良好的特征提取能力,在計(jì)算機(jī)視覺(jué)領(lǐng)域已經(jīng)得到了廣泛應(yīng)用;在文本檢測(cè)領(lǐng)域,RestNet-50也常被用來(lái)作為主干網(wǎng)絡(luò)[20,22,24]。FCN 主干網(wǎng)絡(luò)采用ResNet-50,其借助殘差學(xué)習(xí)和1×1 卷積,在網(wǎng)絡(luò)層數(shù)增加的同時(shí),既能保證精度,又能夠防止梯度消失。為了更好地提取不規(guī)則文本的特征,本文將ResNet-50 中的Conv3、Conv4 和Conv5 的3×3 卷積都采用了調(diào)制可變形卷積[26]。
圖3 文字檢測(cè)網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Network structure of text detection
特征提取網(wǎng)絡(luò)采用了FPN。自然場(chǎng)景下的圖像存在文字大小不一的問(wèn)題,采用FPN做特征融合處理可以兼顧到不同大小的文字。如圖3 中FCN 主干網(wǎng)絡(luò)部分1/4,1/8,1/16,…,1/32表示相對(duì)于輸入圖片大小的縮放比例;up×n表示以n為比例的上采樣;n×n表示以n為卷積核大小,輸出為c個(gè)通道的卷積。
檢測(cè)頭網(wǎng)絡(luò)由三個(gè)分支構(gòu)成:實(shí)例分割、文本框信息檢測(cè)和基準(zhǔn)點(diǎn)檢測(cè)。實(shí)例分割分支采用sigmoid作為激活函數(shù),輸出為一個(gè)通道,表示特征圖上每個(gè)像素是否為文本區(qū)域的概率值;文本框信息檢測(cè)分支輸出五個(gè)通道,也采用sigmoid作為激活函數(shù),其中四個(gè)通道為文本框大小,這四個(gè)通道分別表示當(dāng)前位置距離文本外包箱四條邊的距離,另一個(gè)通道為偏心率,表示當(dāng)前位置偏離文本區(qū)域中心點(diǎn)的概率;基準(zhǔn)點(diǎn)檢測(cè)分支在1×1卷積后采用tanh激活函數(shù),輸出1/4原圖大小的4K個(gè)通道的特征圖,特征圖上每個(gè)像素對(duì)應(yīng)2K個(gè)基準(zhǔn)點(diǎn)相對(duì)當(dāng)前位置的偏移量P,P=[P1,P2,…,P2k]∈R2,K為上、下邊每條邊上的基準(zhǔn)點(diǎn)數(shù)量。實(shí)驗(yàn)室環(huán)境下,K值取[7,16]效果最佳,真實(shí)應(yīng)用場(chǎng)景視文字的平均長(zhǎng)度決定,如果不規(guī)則文字較長(zhǎng),可適當(dāng)增加K的數(shù)值。
模型設(shè)計(jì)的核心包括基準(zhǔn)點(diǎn)生成、損失函數(shù)設(shè)計(jì)、文本矯正及采樣。
基準(zhǔn)點(diǎn)生成流程如圖4所示,首先獲取文字區(qū)域概率圖,將輸入圖像的寬和高記為w和h,通過(guò)前饋神經(jīng)網(wǎng)絡(luò)分別得到實(shí)例分割圖Ob、偏心率圖Oc、基準(zhǔn)點(diǎn)Of、文本大小Ot。如公式(1)所示,Ob和Oc做內(nèi)積,得到有效文字區(qū)域Oe。
圖4 基準(zhǔn)點(diǎn)生成流程Fig.4 Process of fiducial points being created
接著,獲取文字區(qū)域大小,如公式(2)~(4)所示:
其中,Si,j為特征圖上坐標(biāo)為(i,j)的點(diǎn)對(duì)應(yīng)的文字區(qū)域大小,(i,j)是文字區(qū)域大小輸出圖Ot上的位置坐標(biāo),ti,j、bi,j、li,j、ri,j分別Ot預(yù)測(cè)的當(dāng)前位置距文本外包箱上、下、左、右四條邊的距離。最后生成基準(zhǔn)點(diǎn),如公式(5)所示:
其中,fi,j表示基準(zhǔn)點(diǎn)預(yù)測(cè)圖坐標(biāo)為( )i,j的點(diǎn)對(duì)應(yīng)的基準(zhǔn)點(diǎn)預(yù)測(cè)結(jié)果,threshold為是否為文本區(qū)域的閾值(經(jīng)驗(yàn)值取0.5)。將F經(jīng)過(guò)LNMS得到最終的輸出。
損失函數(shù)包括了實(shí)例分割損失函數(shù)、基準(zhǔn)點(diǎn)預(yù)測(cè)損失函數(shù)、偏心率損失函數(shù)及文字區(qū)域大小損失函數(shù)組成。本文采用多任務(wù)學(xué)習(xí)聯(lián)合優(yōu)化策略,其中實(shí)例分割任務(wù)是為了得到文本區(qū)域,即分割文本區(qū)域與背景,這一操作可以過(guò)濾掉背景部分無(wú)效的基準(zhǔn)點(diǎn)預(yù)測(cè),減少整體處理流程計(jì)算量的同時(shí),也提升了模型性能。主任務(wù)為基準(zhǔn)點(diǎn)預(yù)測(cè),即預(yù)測(cè)當(dāng)前點(diǎn)到文本區(qū)域上、下邊基準(zhǔn)點(diǎn)的偏移量。為了進(jìn)一步提升模型準(zhǔn)確率,減少互相粘連文本區(qū)域的互相干擾,TextRail 模型引入了偏心率任務(wù),目的是降低文本區(qū)域邊緣部分的預(yù)測(cè)權(quán)重。文本框大小任務(wù)是輸出當(dāng)前文本區(qū)域的最小外包矩形大小,利用外包矩形的大小對(duì)基準(zhǔn)點(diǎn)進(jìn)行歸一化處理,避免文字大小不一致導(dǎo)致的損失偏差。為了使總體損失函數(shù)更容易求導(dǎo)計(jì)算,本文采用各子任務(wù)損失函數(shù)相加求和的方式得到總體損失函數(shù),從而四個(gè)任務(wù)間互相補(bǔ)充、互相促進(jìn)。損失函數(shù)求解使用梯度下降法,向損失函數(shù)當(dāng)前點(diǎn)對(duì)應(yīng)梯度的反方向進(jìn)行搜索,以此找到損失函數(shù)的極小值點(diǎn)。
1.3.1 實(shí)例分割損失函數(shù)
實(shí)例分割輸出表示每個(gè)像素是否屬于文本區(qū)域,因此損失函數(shù)使用二分類交叉熵?fù)p失(binary crossentropy),計(jì)算如公式(6)所示:
其中,yi表示樣本i的類別,文本區(qū)域?yàn)?,非文本區(qū)域?yàn)?;xi表示樣本i預(yù)測(cè)為文本區(qū)域的概率。
為了克服正負(fù)樣本不均衡問(wèn)題,采用困難負(fù)樣本采樣方法,對(duì)負(fù)樣本只取最大損失的K個(gè)參與計(jì)算。因此最終的損失如公式(7)所示:
其中,Pi為正樣本區(qū)域,Psi為負(fù)樣本區(qū)域中TopK區(qū)域。
1.3.2 基準(zhǔn)點(diǎn)和偏心率損失函數(shù)
基準(zhǔn)點(diǎn)損失和偏心率的輸出是數(shù)值回歸結(jié)果,有鑒于此,此處采用Smooth-L1 損失,如公式(8)和公式(9)所示:
其中,Lc為偏心率的損失,Rs為文字實(shí)例膨脹區(qū)域內(nèi)的點(diǎn)。Lf為基準(zhǔn)點(diǎn)損失,Ns為文字實(shí)例內(nèi)縮區(qū)域內(nèi)的點(diǎn)數(shù),K為每條邊上基準(zhǔn)點(diǎn)個(gè)數(shù),2表示有上、下兩條邊。
1.3.3 文字區(qū)域大小損失函數(shù)
不同大小的文字出現(xiàn)在同一張圖片較常見(jiàn),為避免文字尺寸不同對(duì)loss 值造成的偏差,此處采用IoU 來(lái)計(jì)算文字區(qū)域外包箱大小的損失,參考EAST[14]的方法,其計(jì)算公式如公式(10)所示:
其中,d1、d2、d3、d4分別為當(dāng)前位置到文字區(qū)域到外包箱矩形左、上、右、下四條邊的距離。
1.3.4 總體損失函數(shù)
將實(shí)例分割損失函數(shù)、基準(zhǔn)點(diǎn)及偏心率損失函數(shù)、文字區(qū)域大小損失函數(shù)匯總,形成總體損失函數(shù),如公式(14)所示:
α、β、γ、θ為平衡各損失之間的系數(shù),Ls、Lc、Lf、Lt分別為實(shí)例分割損失、偏心率損失、基準(zhǔn)點(diǎn)損失、文本區(qū)域大小損失函數(shù)。參考TextSnake[19]與DB[20]的經(jīng)驗(yàn),由于各子任務(wù)損失函數(shù)的數(shù)值尺度基本一致,將α、β、γ、θ取值均為1。
如圖5所示,采用矩形或旋轉(zhuǎn)矩形對(duì)文本區(qū)域進(jìn)行采樣會(huì)引入背景干擾,從而影響下游文字識(shí)別準(zhǔn)確率。為了更有效地提取文本區(qū)域,本研究基于STN網(wǎng)絡(luò)[27]的思想實(shí)現(xiàn)文本矯正與采樣,稱之為基準(zhǔn)點(diǎn)采樣。基準(zhǔn)點(diǎn)采樣不但可以有效減少背景干擾,而且能同時(shí)實(shí)現(xiàn)文本的自動(dòng)矯正。
圖5 采樣矯正方法的比較Fig.5 Comparison between previous sampling methods
STN可以通過(guò)預(yù)測(cè)TPS變換參數(shù),將輸入圖片I校正成I′,STN網(wǎng)絡(luò)由定位網(wǎng)絡(luò)(localization network)、網(wǎng)格生成器(grid generator)和采樣器(sampler)三部分組成。參考RARE[28]文本矯正方法,將基準(zhǔn)點(diǎn)檢測(cè)網(wǎng)絡(luò)替代其中的定位網(wǎng)絡(luò),結(jié)合網(wǎng)格生成器和采樣器實(shí)現(xiàn)文本的自動(dòng)矯正。文字矯正流程如圖6所示,原始圖像通過(guò)基準(zhǔn)點(diǎn)檢測(cè)得到文字輪廓的基準(zhǔn)點(diǎn),然后通過(guò)網(wǎng)格生成器得到校正圖上的像素與原始圖像像素上的映射關(guān)系,最后根據(jù)像素映射關(guān)系在原圖上采用插值采樣的方式得到矯正后的圖像。
1.4.1 網(wǎng)格生成器
網(wǎng)絡(luò)生成器根據(jù)基準(zhǔn)點(diǎn)坐標(biāo)估算TPS的變換參數(shù),從而得到采樣網(wǎng)格。假設(shè)矯正后的圖像為水平,且基準(zhǔn)點(diǎn)等距分布,據(jù)此定義矯正后圖像上的基準(zhǔn)點(diǎn)C′:
K為基準(zhǔn)點(diǎn)的個(gè)數(shù),由于矯正后的圖像尺寸經(jīng)過(guò)歸一化處理,因此C′是恒定的,據(jù)此便可以根據(jù)預(yù)測(cè)的基準(zhǔn)點(diǎn)和矯正后的基準(zhǔn)點(diǎn)來(lái)估算TPS 變換參數(shù)T,如公式(16)所示:
迭代I′ 上所有的點(diǎn)即可得到采樣網(wǎng)格p={Pi}i=1,2,…,N。
1.4.2 插值采樣
通過(guò)網(wǎng)格生成器得到原圖上的坐標(biāo)會(huì)出現(xiàn)小數(shù),而圖像上某一像素點(diǎn)的位置坐標(biāo)只能是整數(shù)。因此,在原圖點(diǎn)P附近采用雙線性插值的方式得到矯正圖坐標(biāo)點(diǎn)P′,如公式(20)所示:
其中,P為網(wǎng)格生成器得到P′對(duì)應(yīng)的原圖上的坐標(biāo),I為原圖,V為雙線性插值采樣。
借助TPS的靈活變換能力,將彎曲或不規(guī)則排列的文字矯正成標(biāo)準(zhǔn)水平的文字,從而降低下游識(shí)別任務(wù)的難度。
本文實(shí)驗(yàn)數(shù)據(jù)集來(lái)源于三份公開(kāi)的文本圖像數(shù)據(jù)集(IC15、TotalText 和CTW1500)及一份企業(yè)采集的印章數(shù)據(jù)集(AI Seals 2022)。
IC15(ICDAR 2015 Incidental Text):IC15 是ICDAR2015 Robust Reading 競(jìng)賽任務(wù)中使用的數(shù)據(jù)集。圖片由Google Glasses 隨機(jī)拍攝,不刻意干涉視角、對(duì)焦、位置等拍攝條件。因此,圖像中的文字方向、尺寸、清晰度等參差不齊。IC15 的檢測(cè)數(shù)據(jù)集包含1 000 張訓(xùn)練圖片和500 張測(cè)試圖片,采用單詞級(jí)別標(biāo)注,每個(gè)單詞標(biāo)注了四個(gè)角點(diǎn)的坐標(biāo)。
TotalText[29]:Totaltext除了包括水平、多朝向文字還包括了彎曲文字,有一半以上的圖片具有2個(gè)以上朝向的文字。TotalText數(shù)據(jù)集包含了1 255張訓(xùn)練圖片,300張測(cè)試圖片,采用單詞級(jí)別標(biāo)注,每個(gè)單詞采用多邊形包圍箱進(jìn)行標(biāo)注。
CTW1500[30]:CTW1500圖片來(lái)自互聯(lián)網(wǎng),包括3 530個(gè)彎曲文本,同時(shí)也包含一些水平和多朝向的文本。CTW1500共包括1 000張訓(xùn)練圖片和500張測(cè)試圖片。
AI Seals 2022:本研究采集的企業(yè)印章數(shù)據(jù)集。印章上的文字不規(guī)則度非常大,同時(shí)由于拍攝或文件不平整的原因,有些印章上的文字通常是不完全規(guī)則的排列,如圖7 所示。因此,印章符合自然場(chǎng)景下不規(guī)則文本的特點(diǎn),同時(shí)在企業(yè)日常工作中存在實(shí)際識(shí)別困難的問(wèn)題。利用企業(yè)采集的印章數(shù)據(jù)集對(duì)模型進(jìn)行驗(yàn)證。本文共收集1 318枚印章。
圖7 不規(guī)則形狀印章Fig.7 Seals of irregular shapes
對(duì)采集的印章圖片,進(jìn)行了自動(dòng)標(biāo)注并進(jìn)行了人工校對(duì),如圖8 所示,首先將業(yè)務(wù)單上的印章通過(guò)印章檢測(cè)模型將印章區(qū)域提取出來(lái),采用多邊形的標(biāo)注方式對(duì)印章中的文字進(jìn)行標(biāo)注,根據(jù)標(biāo)注的多邊形,利用本文基準(zhǔn)點(diǎn)生成方法將多邊形標(biāo)注轉(zhuǎn)換成訓(xùn)練所需要的標(biāo)注。
圖8 印章數(shù)據(jù)集Fig.8 AI seals
2.2.1 實(shí)例分割
文本區(qū)域生成的方法參考DB 的方式,文本區(qū)域?qū)⒃瓨?biāo)注區(qū)域內(nèi)縮一定距離,以減少文字粘連造而成分割不清的情況。具體方法如下:
(1)將文本區(qū)域標(biāo)注視為生成多邊形,每個(gè)多邊形由n個(gè)頂點(diǎn)組成,數(shù)據(jù)集不同,n也不同:
(2)為了得到內(nèi)縮的文本區(qū)域Rs,如圖9 所示,黃色虛線為標(biāo)注多邊形,粉紅色區(qū)域即是內(nèi)縮區(qū)域。采用Vatti裁剪算法[31],內(nèi)縮距離D通過(guò)公式(23)計(jì)算得到:
圖9 Score map生成Fig.9 Created score map
其中,A為多邊形面積,L為多邊形周長(zhǎng),r為縮放系數(shù)。
2.2.2 文本框大小及偏心率
為了得到準(zhǔn)確的文字區(qū)域大小,參考EAST 的方法,文本框大小表示由四個(gè)通道組成,四個(gè)通道分別表示到外接矩形四個(gè)邊的距離,并做歸一化處理,將當(dāng)前位置到文字外包矩形左、上、右、下的距離分別記為l、t、r、b,圖片的寬和高分別為Iw、Ih。歸一化方法如公式(24)~(27)所示:
為了提高文字中心位置的權(quán)重,降低邊緣部分的權(quán)重,使用偏心率的方法,參考FCOS[32],偏心率表達(dá)的是當(dāng)前位置到文字中心的歸一化距離,計(jì)算方法如公式(28)所示:
文本框大小及偏心率生成示意圖如圖10,(a)部分綠色矩形為原始外接矩形,藍(lán)色矩形為內(nèi)縮后矩形;(b)部分為四通道的文本大小,四個(gè)通道分別對(duì)應(yīng)內(nèi)縮矩形內(nèi)的點(diǎn)相對(duì)原始矩形上、下、左、右四條邊歸一化后的偏移量;(c)部分為一個(gè)通道的偏心率,表示內(nèi)縮矩形內(nèi)每個(gè)點(diǎn)的偏心率值。
圖10 文本框大小及偏心率生成Fig.10 Size of bounding box and centerness being created
2.2.3 基準(zhǔn)點(diǎn)Map
在多邊形的上、下長(zhǎng)邊上分別進(jìn)行等距采樣得到等距點(diǎn),將這些等距點(diǎn)定義為基準(zhǔn)點(diǎn)。如圖11所示,在文字內(nèi)縮區(qū)域內(nèi),計(jì)算當(dāng)前位置到各基準(zhǔn)點(diǎn)的偏移量,每個(gè)基準(zhǔn)點(diǎn)的偏移量分別對(duì)應(yīng)一個(gè)通道。如果上、下邊各有K個(gè)基準(zhǔn)點(diǎn),則共產(chǎn)生2×2×K個(gè)通道(上下兩條邊,每個(gè)點(diǎn)的偏移量包括x,y)。
圖11 生成基準(zhǔn)點(diǎn)MapFig.11 Map of fiducial points being created
為了能使模型更易收斂,對(duì)偏移量做歸一化處理。計(jì)算方法如公式(29)和公式(30)所示:
其中,w和h分別文字區(qū)域外包箱矩形的寬和高,Δx′為x軸偏移量歸一化值,Δx為當(dāng)前位置距某一基準(zhǔn)點(diǎn)的x軸方向的偏移量,Δy′為y軸偏移量歸一化值,Δy為當(dāng)前位置距某一基準(zhǔn)點(diǎn)y軸方向的偏移量。
在采用以上數(shù)據(jù)集訓(xùn)練之前,本文采用SynthText數(shù)據(jù)集做預(yù)訓(xùn)練,使模型更好地學(xué)習(xí)文字區(qū)域特征。設(shè)置batch_size 為16,初始學(xué)習(xí)率為0.001,并采用線性學(xué)習(xí)率衰減進(jìn)行訓(xùn)練,衰減系數(shù)為0.000 1,動(dòng)量為0.9。
本文采用了隨機(jī)裁減、旋轉(zhuǎn)(-10°,10°)、水平翻轉(zhuǎn)的方式、隨機(jī)顏色擾動(dòng)和隨機(jī)對(duì)比度擾動(dòng)進(jìn)行數(shù)據(jù)增強(qiáng),并將處理后的圖片采用保持縱橫比的方式統(tǒng)一縮放到800×800。
本文提出的方法聚焦自然場(chǎng)景下不規(guī)則文本的檢測(cè)問(wèn)題,依據(jù)上述模型訓(xùn)練細(xì)節(jié),在IC15、TotalText、CTW1500和AI Seals 2022據(jù)集得到實(shí)驗(yàn)結(jié)果,使用準(zhǔn)確率、召回率、F1 值3 項(xiàng)評(píng)價(jià)指標(biāo),與其他算法作為對(duì)比,進(jìn)行綜合評(píng)價(jià)。在IC15數(shù)據(jù)集上實(shí)驗(yàn)的結(jié)果如表1所示,對(duì)比現(xiàn)有方法,本文提出的方法在F1上達(dá)到最高水平,F(xiàn)1提升1.0個(gè)百分點(diǎn)。在TotalText數(shù)據(jù)集上實(shí)驗(yàn)評(píng)估結(jié)果如表2 所示,對(duì)比現(xiàn)有方法,本文提出的方法F1 分?jǐn)?shù)與最高水平相當(dāng)。如表3 所示,在CTW1500 數(shù)據(jù)集上,召回率和F1 都達(dá)到了最高水平,分別提升0.2和0.9個(gè)百分點(diǎn)。
表1 IC15數(shù)據(jù)集結(jié)果Table 1 Experimental results on IC15
表2 TotalText數(shù)據(jù)集結(jié)果Table 2 Experimental results on TotalText
表3 CTW1500數(shù)據(jù)集結(jié)果Table 3 Experimental results on CTW1500
另外,使用印章數(shù)據(jù)集(AI Seals 2022)評(píng)估模型在實(shí)際場(chǎng)景中的效果。值得注意的是,并非所有的基線模型都公開(kāi)了代碼,因此,本研究?jī)H測(cè)試了具有公開(kāi)代碼的基線模型。結(jié)果如表4所示,F(xiàn)1分?jǐn)?shù)達(dá)到92.0%,取得了較好的應(yīng)用效果。該實(shí)驗(yàn)結(jié)果總體上性能準(zhǔn)確率均高于上述公開(kāi)數(shù)據(jù)集上的效果,主要由數(shù)據(jù)集本身特點(diǎn)決定:(1)印章數(shù)據(jù)集背景干擾相對(duì)其他自然場(chǎng)景較少,主要是背景文字干擾較大;(2)印章數(shù)據(jù)集的標(biāo)注經(jīng)過(guò)了精細(xì)化的人工校正,有較高的標(biāo)注質(zhì)量。
表4 AI Seals 2022數(shù)據(jù)集結(jié)果Table 4 Experimental results on AI Seals 2022
為了驗(yàn)證TextRail 文本框信息檢測(cè)分支的有效性,在TotalBox 和CTW1500 上做了消融實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表5所示,其中TBN表示采用文本框大小對(duì)基準(zhǔn)點(diǎn)坐標(biāo)做歸一化,CN 表示偏心率。結(jié)果顯示根據(jù)文本框大小進(jìn)行歸一化處理能顯著提升性能。同時(shí)偏心率對(duì)性能的提升也有一定幫助。
表5 消融實(shí)驗(yàn)結(jié)果Table 5 Ablation studies result單位:%
本文提出的方法準(zhǔn)確率及性能綜合比現(xiàn)有方法有所提升,通過(guò)消融實(shí)驗(yàn)證明:(1)偏心率損失函數(shù)的使用可以過(guò)濾掉邊緣部分無(wú)關(guān)的預(yù)測(cè)結(jié)果,降低相互粘連文本區(qū)域的影響,從而提升模型的性能。(2)采用文本區(qū)域的各自外包箱矩形大小作對(duì)各文本區(qū)域基準(zhǔn)點(diǎn)進(jìn)行歸一化,可以更好地降低由于文本區(qū)域大小引起的誤差不均衡。
其他對(duì)性能提升可能有幫助的原因:(1)基準(zhǔn)點(diǎn)的表示方式可以較好地表達(dá)任意形狀的文字輪廓。(2)采用多個(gè)相關(guān)任務(wù)的訓(xùn)練方式,多個(gè)任務(wù)間通過(guò)共享特征表達(dá)來(lái)互相分享、互相補(bǔ)充學(xué)習(xí)到的領(lǐng)域相關(guān)的信息,互相促進(jìn)學(xué)習(xí),提升泛化的效果。(3)采用像素級(jí)密集預(yù)測(cè)的方式,文本框大小和基準(zhǔn)點(diǎn)的預(yù)測(cè)類似集成模型投票的方法,對(duì)模型的效果提升有一定幫助。
以下場(chǎng)景中,紅色點(diǎn)表示文字的上基準(zhǔn)點(diǎn),綠色為下基準(zhǔn)點(diǎn)。圖12 為IC15 的檢測(cè)效果,可以觀察到模型可以有效地檢測(cè)出各種朝向的文字,對(duì)于間距比較小的文字也能有效的分隔。圖13 為TotalText 的檢測(cè)效果,對(duì)于彎曲、透視、水平等不規(guī)則文本,模型都表現(xiàn)出了較好的魯棒性。圖14 中的印章朝向隨機(jī),且有背景文字干擾,模型可以有效的區(qū)分上、下邊及其基準(zhǔn)點(diǎn),幫助印章文字識(shí)別達(dá)到較高的準(zhǔn)確度。圖15 是TextRail、TextRay、ABCNet 在CTW1500 數(shù)據(jù)集上的效果對(duì)比樣例,從圖中可以看出,TextRay對(duì)于高彎曲文本的檢測(cè)效果不佳,而ABCNet則會(huì)存在文本區(qū)域漂移和漏檢的情況。
圖12 IC15文字檢測(cè)效果樣例Fig.12 Result of text detection on IC15 database
圖13 TotalText文字檢測(cè)效果樣例Fig.13 Result of text detection on TotalText database
圖14 印章效果樣例Fig.14 Result model of seals detection
圖15 TextRail與TextRay、ABCNet及真實(shí)效果比較Fig.15 Comparison of TextRail with TextRay,ABCNet and Gound truth
本文針對(duì)復(fù)雜自然場(chǎng)景下的不規(guī)則文本檢測(cè),提出一種基于文本邊軌模型的檢測(cè)方法TextRail。該方法采用多任務(wù)聯(lián)合優(yōu)化策略將文本實(shí)例分割、基準(zhǔn)點(diǎn)預(yù)測(cè)、文本外包箱矩形大小和偏心率四個(gè)相關(guān)任務(wù)有機(jī)結(jié)合,采用像素級(jí)密集預(yù)測(cè)的方式預(yù)測(cè)文本區(qū)域上、下邊界基準(zhǔn)點(diǎn),實(shí)現(xiàn)不規(guī)則文本的檢測(cè),有效提升了文本檢測(cè)的的精度。同時(shí),基準(zhǔn)點(diǎn)的文本區(qū)域表示方法可以很方便地利用TPS 實(shí)現(xiàn)文本矯正,降低下游識(shí)別任務(wù)的難度。在多個(gè)實(shí)驗(yàn)數(shù)據(jù)集上的實(shí)驗(yàn)進(jìn)一步驗(yàn)證了本文檢測(cè)方法在不規(guī)則文本檢測(cè)上具有良好的效果和性能。
由于模型采用文字實(shí)例分割的方式來(lái)選取有效的文本區(qū)域,因此模型不能適用于小文字包含于大文字的場(chǎng)景,即大的文字區(qū)域中出現(xiàn)比較小的文字區(qū)域。這種場(chǎng)景下,文字分割時(shí)小的文字區(qū)域?qū)?huì)被大的文字區(qū)域完全覆蓋,因此不能得到獨(dú)立的文本實(shí)例而出現(xiàn)漏檢。
未來(lái)將對(duì)以下方向進(jìn)行探索:(1)基于TextRail 模型,將文本檢測(cè)、文本矯正和文本識(shí)別融合成一個(gè)端到端模型,實(shí)現(xiàn)高效、簡(jiǎn)潔的自然場(chǎng)景文字檢測(cè)和識(shí)別。(2)結(jié)合其他輕量化的主干網(wǎng)絡(luò),研究更快捷有效的文本上、下邊基準(zhǔn)點(diǎn)的檢測(cè)方法。(3)尋求更好的文本區(qū)域表達(dá)方式,解決大小文本區(qū)域重疊不能有效檢測(cè)的問(wèn)題。