申靜波 宋思宇 豁 雙 李井輝
(東北石油大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院 黑龍江大慶 163318)
隨著科技的進(jìn)步,圖像獲取更加方便快捷,圖像場景中的字符提取和識別已成為實(shí)際應(yīng)用中的熱點(diǎn)問題[1]。號碼簿作為運(yùn)動(dòng)員的身份標(biāo)識,通過號碼簿可進(jìn)行人員安檢、分區(qū)檢錄、圖片推送等,并有利于賽事的自動(dòng)化過程管控。實(shí)際賽事中,拍攝的圖像通常由多位攝影師以不同的角度、姿態(tài)和位置拍攝,這導(dǎo)致了圖像中運(yùn)動(dòng)員的比例、光照以及角度等存在差異[2]。此外,由于運(yùn)動(dòng)狀態(tài)下的身體擺動(dòng),使得號碼簿上的部分字符產(chǎn)生角度傾斜或字體扭曲變形[3]。圖像中號碼簿的多樣性和復(fù)雜性如圖1所示,因此,在馬拉松賽事中實(shí)現(xiàn)號碼簿檢測與識別的準(zhǔn)確性是一項(xiàng)具有挑戰(zhàn)和困難的任務(wù)。
圖1 號碼簿的多樣性
基于傳統(tǒng)方法的號碼簿識別研究中,更多的是結(jié)合先驗(yàn)知識及手工特征進(jìn)行號碼簿的檢測與識別。Ben-Ami等[4]根據(jù)人臉檢測結(jié)果計(jì)算得到運(yùn)動(dòng)員候選區(qū)域,隨后結(jié)合筆畫寬度變換算法(Stroke Width Transform,SWT)生成并過濾得到號碼簿區(qū)域,最后經(jīng)過預(yù)處理、字符分割操作后,利用光學(xué)字符識別(Optical Character Recognition,OCR)方法完成字符識別,該方法對于圖像中的人臉清晰度及軀干完整性要求較高,適用范圍較小。趙麗科等[1]提出利用可形變部件模型(Deformable Part Model,DPM)獲取運(yùn)動(dòng)員區(qū)域,通過號碼簿的固定顏色組合對圖像中號碼簿進(jìn)行區(qū)域定位,并利用BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行號碼文本的識別,當(dāng)圖像中存在多種顏色組合的號碼簿時(shí),不僅增大了計(jì)算量,還導(dǎo)致號碼簿的識別精度下降。傳統(tǒng)方法在一定程度上解決了號碼簿識別問題,但是在多目標(biāo)的復(fù)雜場景中存在計(jì)算復(fù)雜度高、精度低等問題?;谏疃葘W(xué)習(xí)的方法利用模型算法代替?zhèn)鹘y(tǒng)手工方法,在圖像分類、目標(biāo)檢測、圖像分割等多種圖像處理任務(wù)中取得突破性進(jìn)展[5]。徐培等[3]利用水平及多方向檢測模型來獲取號碼簿區(qū)域,隨后將號碼文本送入到CRNN 進(jìn)行字符特征提取和識別。Apap 等[2]采用基于改進(jìn)UNet的圖像分割方法,用于號碼簿的區(qū)域分割,之后利用改進(jìn)的CRNN模型進(jìn)行特征提取和識別。Wang等[6]通過YOLOv3進(jìn)行預(yù)處理篩選出運(yùn)動(dòng)員有效區(qū)域,之后利用CTPN獲取號碼簿區(qū)域,最后將號碼簿輸入CRNN完成號碼文本的識別。文獻(xiàn)[2][3][6]利用多角度的文本檢測方法,易受號碼簿自身以及相似文本背景的影響,直接采用文本檢測算法則會(huì)檢測到大量非目標(biāo)的文本信息,從而導(dǎo)致算法的識別性能下降。以上基于深度學(xué)習(xí)的方法在單目標(biāo)場景下具有較好的識別效果,但未解決多目標(biāo)背景下傾斜形變號碼簿識別效率差的問題。
以RetinaNet[7]為基礎(chǔ)進(jìn)行算法改進(jìn),針對多目標(biāo)場景下傾斜扭曲號碼簿的漏檢問題,引入具有角度的旋轉(zhuǎn)檢測框用于匹配傾斜號碼簿。為了避免旋轉(zhuǎn)檢測框中角度回歸的困難,利用環(huán)形平滑標(biāo)簽(Circular Smooth Label,CSL)[8]方法將角度回歸問題轉(zhuǎn)化為角度分類問題,進(jìn)一步優(yōu)化傾斜號碼簿的檢測精度。檢測階段得到的號碼簿角點(diǎn)坐標(biāo),通過裁剪送入到基于注意力機(jī)制的CRNN[9]完成對檢測到號碼簿的無字符分割識別任務(wù)[10]。實(shí)驗(yàn)結(jié)果表明,相比于已有方法,本文方法在檢測與識別階段均有所提升,本文提出的復(fù)合型網(wǎng)絡(luò)的整體性能較優(yōu)。
號碼簿檢測是后續(xù)識別的基礎(chǔ),相比于一般目標(biāo)檢測方法,號碼簿檢測對目標(biāo)區(qū)域的精確度要求更高。RetinaNet較好地平衡了檢測的速度和精度[11],具有較優(yōu)的檢測性能。通過對相關(guān)實(shí)驗(yàn)的分析發(fā)現(xiàn),在馬拉松場景中,針對復(fù)雜背景下的號碼牌,一方面要考慮目標(biāo)框是否貼合號碼牌,另一方面要考慮目標(biāo)框中是否引入過多背景或者其他目標(biāo)信息,RetinaNet提供的水平檢測框顯然具有一定的局限性。因此,本文方法借鑒了RRPN網(wǎng)絡(luò)中旋轉(zhuǎn)框生成策略,并根據(jù)實(shí)際需求進(jìn)行相應(yīng)調(diào)整。
(一)旋轉(zhuǎn)矩形框設(shè)置。在原有水平檢測框的基礎(chǔ)上增加角度信息,通過5參數(shù)(x,y,w,h,θ)來表示旋轉(zhuǎn)矩形框,依次表示為候選框的中心坐標(biāo)、寬、高以及矩形框的長邊h相對x軸的夾角。相比于傳統(tǒng)文本檢測方法采用的八元組(x1,y1,x2,y2,x3,y3,x4,y4)形式的旋轉(zhuǎn)框,這種五元組的方式不僅在模型訓(xùn)練階段能高效地計(jì)算出正確且有效的數(shù)據(jù),還有利于后續(xù)計(jì)算兩個(gè)旋轉(zhuǎn)框之間的角度差。
水平框之間的IOU 值是由兩個(gè)矩形框間的交集占總并集的比值所決定的,如圖2所示。而旋轉(zhuǎn)框的引入,使得兩個(gè)矩形框間的交集不再是規(guī)則化的圖像,這就需要一個(gè)更有效的方法來計(jì)算旋轉(zhuǎn)框的IOU。
圖2 兩種形式矩形框
旋轉(zhuǎn)框的IOU計(jì)算如下:①首先計(jì)算出兩個(gè)矩形框交點(diǎn)的坐標(biāo)。②然后將交集部分的不規(guī)則形狀轉(zhuǎn)化為規(guī)則的圖形計(jì)算。從任意一點(diǎn)出發(fā),與其余交點(diǎn)連接,將不規(guī)則圖形分解為多個(gè)三角形,并求出相應(yīng)三角形的面積。③最后根據(jù)IOU的計(jì)算公式得出最終結(jié)果。具體計(jì)算如下:
(二)旋轉(zhuǎn)錨框設(shè)置。在傾斜號碼牌的檢測中,錨框的設(shè)計(jì)需要考慮號碼牌的旋轉(zhuǎn)角度。與傳統(tǒng)的水平矩形錨框不同,旋轉(zhuǎn)錨框是以傾斜矩形的形式進(jìn)行設(shè)計(jì),以覆蓋更多的旋轉(zhuǎn)目標(biāo)。與傳統(tǒng)的錨框設(shè)計(jì)類似,根據(jù)號碼牌的大小和比例,設(shè)置不同大小和長寬比的錨框。考慮到拍攝距離等因素可能會(huì)導(dǎo)致圖像中號碼牌的大小存在差異,本文分別通過聚類和長寬比直方圖對錨框大小進(jìn)行分析,如圖3所示。以上述兩種方法結(jié)果作為參考,最終將Anchor長寬比設(shè)置為1:1.5、1:2、2:3,尺度大小依舊保持為20、21/3、22/3。旋轉(zhuǎn)錨框的角度設(shè)置,需要根據(jù)實(shí)際目標(biāo)的傾斜角度范圍進(jìn)行調(diào)整,本文通過設(shè)置不同的旋轉(zhuǎn)角度間隔,來盡可能地匹配目標(biāo)角度。在上述Anchor長寬比的基礎(chǔ)上增加了4個(gè)方向角度-π/6、-π/4、-π/3、-π/2。根據(jù)Anchor的生成規(guī)則,圖像特征圖上的每一點(diǎn)將生成36個(gè)不同角度不同大小的候選框。
圖3 錨框長寬比計(jì)算
為匹配多種形式的號碼牌并提高檢測精度,考慮旋轉(zhuǎn)錨框在[-π/2,π/2]范圍內(nèi)的旋轉(zhuǎn)角度參數(shù),在原有水平Anchor 的基礎(chǔ)上增加6個(gè)方向角度-π/12、-π/6、-π/4、-π/3、-5π/12、-π/2,以更好地匹配傾斜號碼文本。旋轉(zhuǎn)錨框在參數(shù)θ回歸過程中,易受角度周期限制進(jìn)而產(chǎn)生邊界問題,可利用CSL方法將角度回歸問題轉(zhuǎn)化為分類問題,通過對窗口函數(shù)及窗口半徑的設(shè)置,使得目標(biāo)區(qū)域定位更精確[12,13]。
上述檢測到的號碼簿區(qū)域,通過角點(diǎn)坐標(biāo)裁剪得到的號碼文本圖像,可以通過基于分割字符或整詞識別方法[3]實(shí)現(xiàn)圖像中的字符或者字符序列的識別。號碼文本識別中,不同賽事字符文本的不規(guī)則排布、字體、顏色、尺度、光照等因素的變化顯著增加了識別的難度。此外,在拍攝角度及運(yùn)動(dòng)狀態(tài)的影響下號碼簿的扭曲形變,使得字符間發(fā)生不同程度的扭曲,號碼文本內(nèi)部的形變問題,導(dǎo)致現(xiàn)有號碼文本識別算法識別率不高。本文基于整詞識別CRNN方法完成號碼文本識別任務(wù),結(jié)合注意力機(jī)制及號碼文本特點(diǎn)對CRNN進(jìn)行相應(yīng)的改進(jìn)。
(一)注意力機(jī)制。近年來,注意力機(jī)制(Attention Mechanism)被廣泛應(yīng)用在圖像識別、機(jī)器翻譯、語音識別等各種深度學(xué)習(xí)任務(wù)中。文本識別方法中注意力機(jī)制能夠通過高亮字符所在位置的特征,有效彌補(bǔ)不規(guī)則文本和水平平直文本之間的特征差異[14],其中采用的是Bahdanau 注意力機(jī)制[15],計(jì)算流程如下圖4所示。解碼器經(jīng)過當(dāng)前位置t時(shí),通過上一時(shí)刻的隱狀態(tài)St-1、目標(biāo)序列yt-1以及編碼器每個(gè)位置輸出的隱狀態(tài)ci計(jì)算得到每個(gè)字符的隱狀態(tài)向量,此時(shí)St=g(St-1,yt-1,ct),αt,i為輸出序列在t時(shí)刻的隱狀態(tài),具體計(jì)算表示為:
圖4 Bahdanau注意力機(jī)制
(二)基于注意力機(jī)制的CRNN 模型。針對分割字符識別方法的局限性,本文在整詞識別方法的基礎(chǔ)上提出基于注意力機(jī)制的CRNN識別方法。基于注意力機(jī)制的CRNN網(wǎng)絡(luò)由3部分組成:卷積層、循環(huán)層以及轉(zhuǎn)錄層。其中卷積層是對輸入圖像進(jìn)行相應(yīng)的特征提取,并轉(zhuǎn)化為循環(huán)層可處理的特征序列形式;循環(huán)層通過一個(gè)單層的門控循環(huán)(Gated Recurrent Unit,GRU)網(wǎng)絡(luò)[16]對特征序列中的每一層特征遞歸處理,將整個(gè)特征序列轉(zhuǎn)換為一個(gè)標(biāo)簽分布;轉(zhuǎn)錄層結(jié)合注意力機(jī)制將循環(huán)層獲取的標(biāo)簽進(jìn)行字符串的去重整合等操作,最后轉(zhuǎn)化成識別結(jié)果。網(wǎng)絡(luò)特征提取階段的參數(shù)如下表1 所示,其中Maps 為圖像維度,Window為池化窗口,k表示卷積核,s表示步長,p表示為填充。
表1 CRNN網(wǎng)絡(luò)結(jié)構(gòu)圖
(一)實(shí)驗(yàn)環(huán)境及數(shù)據(jù)集。本文所有實(shí)驗(yàn)均在同一實(shí)驗(yàn)環(huán)境下完成,實(shí)驗(yàn)平臺為Inter(R)Core(TM)CPUi7-9700K,8GB RAM,NVIDIA GeForce GTX 2080 Ti,操作系統(tǒng)為Ubantu16.04,采用CUDA10.0 加速,實(shí)驗(yàn)環(huán)境為python3.6,Tensorflow 框架。號碼簿檢測與識別所需的實(shí)驗(yàn)數(shù)據(jù)來源于真實(shí)馬拉松賽事。
1.號碼簿檢測數(shù)據(jù)集。本文的研究對象為馬拉松場景下的運(yùn)動(dòng)員圖像,目前公開的馬拉松運(yùn)動(dòng)員數(shù)據(jù)集較少,僅有的RBNR 數(shù)據(jù)集[2]不僅數(shù)據(jù)量少,而且與真實(shí)馬拉松場景下拍攝的圖片存在較大的差異。針對這一問題,本文在不同馬拉松網(wǎng)站上進(jìn)行數(shù)據(jù)的收集工作,收集到的部分圖像如圖5所示。
為了保證運(yùn)動(dòng)員數(shù)據(jù)集的多樣性,收集的樣本數(shù)據(jù)中包含各種天氣狀況、賽道起始終點(diǎn)、不同場次、不同拍攝角度的運(yùn)動(dòng)員圖片;此外,號碼簿的樣式、字體顏色、字體大小也需要考慮在內(nèi)。最終在收集的圖片中篩選出8000張圖片作為實(shí)驗(yàn)所需的馬拉松運(yùn)動(dòng)員數(shù)據(jù)集——Mathon。在對圖片進(jìn)行標(biāo)注工作的同時(shí),選取7000張圖片作為訓(xùn)練集,1000張圖片作為測試集。
2.號碼簿識別數(shù)據(jù)集。號碼簿識別數(shù)據(jù)集主要由兩部分組成:真實(shí)數(shù)據(jù)和人工合成數(shù)據(jù)。真實(shí)數(shù)據(jù)由Mathon數(shù)據(jù)集裁剪得到;人工合成數(shù)據(jù)是利用數(shù)據(jù)合成工具將不同樣式號碼簿作為背景,通過模糊、傾斜、扭曲、仿射變換等方法,隨機(jī)生成文本圖片,如下圖6所示,圖6(a)為合成文本圖片,圖6(b)為真實(shí)場景裁剪得到的號碼簿。
圖6 號碼簿識別數(shù)據(jù)集
(二)號碼簿檢測實(shí)驗(yàn)。對于傾斜的號碼簿而言,水平框檢測方法無法獲取號碼簿的精確位置,為進(jìn)一步檢驗(yàn)本文方法對于號碼牌的檢測性能,分別與EAST、R3Det 和R_yolov5 進(jìn)行對比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表2所示。
由上述結(jié)果可以看出,以EAST 為代表的文本檢測算法稍遜于本文算法,這是由于EAST算法在處理傾斜文本區(qū)域時(shí),需要對四邊形進(jìn)行旋轉(zhuǎn)和重新計(jì)算,從而導(dǎo)致復(fù)雜度增加。而本文提出的旋轉(zhuǎn)目標(biāo)檢測算法可以通過旋轉(zhuǎn)錨框來更方便地處理旋轉(zhuǎn)目標(biāo)?;谛D(zhuǎn)框的目標(biāo)檢測算法中,R3Det算法主要應(yīng)用于遙感圖像的目標(biāo)檢測任務(wù),針對長寬比值較大的目標(biāo)具有較強(qiáng)的旋轉(zhuǎn)目標(biāo)檢測能力和較高的檢測精度,對于該場景下的號碼牌檢測顯然具有一定的局限。而基于yolov5改進(jìn)的旋轉(zhuǎn)目標(biāo)檢測算法R_yolov5,對旋轉(zhuǎn)目標(biāo)的處理方式不夠細(xì)致,對于旋轉(zhuǎn)角度過大的目標(biāo)可能無法準(zhǔn)確檢測。
(三)號碼簿識別實(shí)驗(yàn)。在號碼簿識別階段,為了提高真實(shí)場景下號碼簿的識別準(zhǔn)確度,在模型訓(xùn)練中,先是對合成的文本圖像進(jìn)行模型的預(yù)訓(xùn)練,隨后利用真實(shí)號碼簿進(jìn)行模型的微調(diào)。預(yù)訓(xùn)練中,合成訓(xùn)練集通過2個(gè)批次的迭代訓(xùn)練后收斂至最優(yōu)。訓(xùn)練參數(shù)的設(shè)置為基于Adam優(yōu)化算法進(jìn)行端到端訓(xùn)練,統(tǒng)一輸入圖像為100×32;batch_size 設(shè)置為64;真實(shí)數(shù)據(jù)訓(xùn)練中,首先將真實(shí)號碼簿統(tǒng)一縮放為100×32尺寸大小,經(jīng)過500次迭代后模型趨于收斂,其余的訓(xùn)練參數(shù)均與上述方法一致。
號碼簿識別算法的評估準(zhǔn)則,采用字符識別正確率(Character Recognition Accuracy)和平均編輯距離(Average Edit Distance,ADE)兩種方法來衡量。其中字符識別正確率指識別正確的圖像數(shù)量占總圖像數(shù)量的比例,正確識別字符比例越高越好。編輯距離是針對兩個(gè)字符串差異程度的量化,指一個(gè)字符串通過替換、刪除、插入字符的操作轉(zhuǎn)變?yōu)榱硪粋€(gè)字符串所需要的最少編輯次數(shù)。兩個(gè)字符串越接近,編輯距離越小。平均編輯距離則由編輯距離總和與圖片總數(shù)的比值決定。
1.基于注意力機(jī)制方法的驗(yàn)證。為了評估本文方法的有效性,我們與原始CRNN模型進(jìn)行了對比實(shí)驗(yàn)。本文訓(xùn)練數(shù)據(jù)采用的是區(qū)分大小字母+數(shù)字組合的字符類別模式,分別對本文模型與原始CRNN模型進(jìn)行訓(xùn)練,測試階段進(jìn)行有字典的識別,實(shí)驗(yàn)結(jié)果如表3所示。
表3 CRNN與本文方法對比實(shí)驗(yàn)
從表中數(shù)據(jù)可以看出,本文方法無論在正確識別率還是平均編輯距離上都比基礎(chǔ)CRNN 模型的識別效果好。這是因?yàn)楸疚姆椒ㄍㄟ^引入注意力機(jī)制來關(guān)注不同位置的輸入信息,從而提高預(yù)測的準(zhǔn)確度。
2.不同檢測方法的識別結(jié)果對比。本文研究是針對馬拉松場景下的號碼簿檢測與識別,為了充分驗(yàn)證本文方法的綜合性能,將YOLOv5、EAST 和本文檢測方法分別與基于注意力機(jī)制的CRNN 識別方法結(jié)合,進(jìn)行號碼簿識別的對比實(shí)驗(yàn),測試過程中均采用有字典的測試方法。
上述表4為不同檢測方法的識別結(jié)果,可以看出以Yolov5為代表的常規(guī)目標(biāo)檢測方法,由于水平檢測框的局限性,使得檢測到的目標(biāo)區(qū)域存在大量背景信息,導(dǎo)致號碼簿的識別率嚴(yán)重下降。EAST 與本文算法利用水平和傾斜兩種形式的檢測框,來解決多角度的號碼簿檢測問題。由于EAST算法對于號碼簿尺度變化的魯棒性較差,最終導(dǎo)致識別效果下降。從正確識別率和平均編輯距離指標(biāo)上看,相比較其余兩種方法,本文提出的算法性能較優(yōu)。
表4 不同檢測方法的識別對比
針對馬拉松賽事中的號碼簿識別問題,本文通過構(gòu)建一個(gè)基于深度學(xué)習(xí)的復(fù)合型網(wǎng)絡(luò)來實(shí)現(xiàn)馬拉松號碼簿的檢測與識別。號碼簿檢測階段,以RetinaNet作為基礎(chǔ)網(wǎng)絡(luò),設(shè)置旋轉(zhuǎn)檢測框用于傾斜目標(biāo)的匹配,結(jié)合CSL方法將旋轉(zhuǎn)檢測框的角度回歸問題轉(zhuǎn)化為角度分類問題,從而滿足目標(biāo)區(qū)域精確定位的需求。號碼文本識別中,在原始CRNN的基礎(chǔ)上引入注意力機(jī)制方法,提高扭曲形變號碼文本的識別能力,進(jìn)一步提升CRNN的性能。在自主創(chuàng)建的數(shù)據(jù)集Mathon上的實(shí)驗(yàn)表明,本文提出的號碼簿檢測算法對于復(fù)雜背景、號碼簿尺度及傾斜扭曲等多種影響因素可較好地提取號碼簿區(qū)域,相比較其他方法,具有較好檢測性能。不同檢測方法的識別結(jié)果表明,本文方法的綜合識別性能較優(yōu)。