宋其杰,劉 峰,干宗良,劉思江
(1.南京郵電大學(xué) 通信與信息工程學(xué)院,江蘇 南京 210003;2.南京郵電大學(xué) 圖像處理與圖像通信重點(diǎn)實(shí)驗(yàn)室,江蘇 南京 210003;3.南京郵電大學(xué) 教育科學(xué)與技術(shù)學(xué)院,江蘇 南京 210023)
在設(shè)計(jì)智能交通系統(tǒng)時(shí),車(chē)牌作為車(chē)輛的重要身份標(biāo)識(shí)逐漸成為重點(diǎn)研究的目標(biāo)。近年來(lái),隨著車(chē)輛數(shù)量的劇增,基于自動(dòng)車(chē)牌識(shí)別技術(shù)的車(chē)輛信息管理系統(tǒng)被廣泛應(yīng)用于交通管制、停車(chē)收費(fèi)、出入境管理和其他相關(guān)領(lǐng)域。作為自動(dòng)車(chē)牌識(shí)別的第一步,車(chē)牌檢測(cè)的準(zhǔn)確率對(duì)后續(xù)車(chē)牌識(shí)別的成功率有巨大影響。然而根據(jù)文獻(xiàn)[1]介紹,車(chē)牌檢測(cè)經(jīng)常會(huì)受到不同觀測(cè)角度,光照不均,雪、霧天氣,復(fù)雜背景等非控制條件的影響。因此,如何在開(kāi)放環(huán)境中對(duì)車(chē)牌進(jìn)行精準(zhǔn)定位仍然是一項(xiàng)具有挑戰(zhàn)性的任務(wù)。
過(guò)去數(shù)十年,許多車(chē)牌檢測(cè)算法被提出,可以分為傳統(tǒng)算法和基于卷積神經(jīng)網(wǎng)絡(luò)的算法兩大類(lèi)。早期傳統(tǒng)算法[2-4]通常提取車(chē)牌的邊緣、顏色、局部紋理、形態(tài)學(xué)分析等固有屬性作為手工圖像特征來(lái)進(jìn)行車(chē)牌檢測(cè)。但是大多數(shù)基于單一手工特征的方法只能在特定場(chǎng)景中起作用,而基于多特征和編碼分類(lèi)器的方法可能會(huì)取得更好的效果。Zhou等[5]利用詞袋模型對(duì)每個(gè)車(chē)牌字符產(chǎn)生主視覺(jué)詞,再與提取到的車(chē)牌局部特征進(jìn)行匹配,以此確定車(chē)牌位置。文獻(xiàn)[6]在頻域中對(duì)車(chē)牌特征進(jìn)行分析,通過(guò)小波變換和經(jīng)驗(yàn)?zāi)B(tài)分解分析方法實(shí)現(xiàn)車(chē)牌定位。還有一些方法將候選區(qū)域和特征分析相結(jié)合提高檢測(cè)精度。文獻(xiàn)[7]提出了一種彩色圖像的車(chē)牌定位方法,該定位方法在細(xì)胞神經(jīng)網(wǎng)絡(luò)(cell neural network)的分塊自適應(yīng)彩色圖像邊緣檢測(cè)算法基礎(chǔ)上進(jìn)行改進(jìn):首先對(duì)彩色圖像邊緣檢測(cè)時(shí),針對(duì)邊緣顏色對(duì)加入約束條件,接著進(jìn)行邊緣濾波,最后根據(jù)車(chē)牌紋理特征和幾何結(jié)構(gòu)判別驗(yàn)證。雖然上述算法結(jié)合了多層次特征,取得了一定的效果,但仍然難以克服環(huán)境限制。
近幾年,越來(lái)越多的車(chē)牌檢測(cè)采用深度學(xué)習(xí)方法,取得了突破性的進(jìn)展。文獻(xiàn)[8]利用CNN對(duì)車(chē)牌候選區(qū)進(jìn)行判斷:首先采用數(shù)字圖像處理技術(shù),根據(jù)車(chē)牌的顏色特征、邊緣特征和矩形特性等多個(gè)特征提取車(chē)牌候選區(qū)域,再通過(guò)Alex Net分類(lèi)網(wǎng)絡(luò)進(jìn)行真?zhèn)诬?chē)牌判定。Polishetty等[9]設(shè)計(jì)了一個(gè)新穎的基于啟發(fā)式學(xué)習(xí)的模型將視覺(jué)顯著性和深度特征結(jié)合起來(lái),采用手工設(shè)計(jì)濾波器提取出車(chē)牌粗邊界,再經(jīng)過(guò)CNN進(jìn)一步調(diào)整,實(shí)現(xiàn)車(chē)牌精準(zhǔn)定位。大多數(shù)一階段車(chē)牌檢測(cè)方法采用的是回歸的思想[10],在大幅降低運(yùn)算量的同時(shí)也造成了精度的損失。這些一階段車(chē)牌檢測(cè)方法通常由兩個(gè)連續(xù)的子任務(wù)組成[11]:車(chē)輛檢測(cè)和車(chē)牌檢測(cè)。采取模型級(jí)聯(lián)策略可以有效減小場(chǎng)景干擾,但是多步處理過(guò)程中前置任務(wù)出現(xiàn)的錯(cuò)誤警報(bào)會(huì)在后續(xù)任務(wù)中不斷傳播。Masood等[12]為了避免錯(cuò)誤傳導(dǎo)提出了一種端到端的直接車(chē)牌檢測(cè)方法,先通過(guò)CNN完成初步檢測(cè),接著利用多分類(lèi)模型確認(rèn)檢測(cè)出的圖像中的數(shù)字和英文字符,同時(shí)丟棄錯(cuò)檢結(jié)果。此外,傾斜文本檢測(cè)方法[13]對(duì)于生成更加可靠的檢測(cè)框有著借鑒意義。上述算法證明,通過(guò)網(wǎng)絡(luò)結(jié)構(gòu)、訓(xùn)練方法等的演變和革新,相比于傳統(tǒng)的檢測(cè)算法,基于深度卷積網(wǎng)絡(luò)提取的特征具有更強(qiáng)的魯棒性。
如圖1所示,文中算法采用兩階段檢測(cè)網(wǎng)絡(luò)Faster R-CNN[14]作為基準(zhǔn)網(wǎng)絡(luò),通過(guò)多維特征信息增強(qiáng)和語(yǔ)境信息融合對(duì)其進(jìn)行改進(jìn),可分為三部分。第一部分,對(duì)于給定的輸入車(chē)牌圖像,通過(guò)共享的CNN網(wǎng)絡(luò)提取其多層特征圖,然后根據(jù)不同的檢測(cè)對(duì)象(車(chē)輛、車(chē)牌上下文區(qū)域、車(chē)牌)挑選不同層次的特征圖輸出進(jìn)行位置信息和語(yǔ)義信息的融合,并獲得多分辨率信息。第二部分,經(jīng)過(guò)特殊設(shè)計(jì)的RPN網(wǎng)絡(luò)使用自定義方向和形狀的旋轉(zhuǎn)anchor來(lái)生成適應(yīng)車(chē)牌角度變化的預(yù)測(cè)框。最后一部分,設(shè)計(jì)一個(gè)有效的語(yǔ)境信息融合模型,充分利用局部和語(yǔ)境特征來(lái)表征車(chē)牌信息,完善檢測(cè)結(jié)果。
圖1 多維特征信息增強(qiáng)和語(yǔ)境信息融合算法流程
由于監(jiān)控?cái)z像機(jī)架設(shè)位置的變化,不同監(jiān)控視頻中車(chē)牌尺寸彼此差異很大。除了一些在圖像中占據(jù)較多像素的車(chē)牌外,多數(shù)小車(chē)牌在高維特征圖中的激活區(qū)域通常會(huì)消失不見(jiàn)。因此,文中算法沒(méi)有采用Faster R-CNN中對(duì)單一尺度特征圖進(jìn)行處理的做法,而是針對(duì)車(chē)輛,車(chē)牌上下文區(qū)域,車(chē)牌三種目標(biāo)策略性地使用多層檢測(cè)結(jié)構(gòu),選取不同卷積層輸出融合成各自新的、包含不同尺度的特征圖,同時(shí)將位置信息和語(yǔ)義信息結(jié)合起來(lái)充分適應(yīng)變化的分辨率。
如圖2所示,這些多層特征圖與ResNet[15]中各個(gè)卷積模塊的輸出類(lèi)似,{C2,C3,C4,C5}與輸入圖像之間的縮放步長(zhǎng)依次是{4,8,16,32}。根據(jù)FPN[16]中的特征提取策略,{C2,C3},{C3,C4},{C4,C5}分別可以提取出車(chē)輛區(qū)域,車(chē)牌上下文區(qū)域和車(chē)牌區(qū)域特征。其中C4對(duì)于圖像中多尺度車(chē)牌檢測(cè)具有最為合適的分辨率,所以在前饋網(wǎng)絡(luò)中使用雙線性插值將C5縮放到與C4相同的分辨率。接著,用1×1的卷積層將C4,C5的通道數(shù)統(tǒng)一到固定的數(shù)目256。在特征融合模塊,以按元素相加的方式將高層語(yǔ)義信息和低層細(xì)節(jié)信息融合成具有強(qiáng)大表征能力的多尺度特征,獲得多分辨率信息。最后,設(shè)計(jì)一個(gè)3×3的卷積層來(lái)去除采樣造成的混疊,同時(shí)實(shí)現(xiàn)對(duì)多尺度特征的進(jìn)一步凝練。對(duì)于語(yǔ)境區(qū)域,采取和車(chē)牌區(qū)域相同的處理方式,并行地對(duì){C2,C3}和{C3,C4}特征圖進(jìn)行融合,分別生成對(duì)應(yīng)車(chē)輛和車(chē)牌上下文區(qū)域的多尺度特征。上述多尺度特征在后續(xù)步驟中會(huì)被用于車(chē)牌的前景分類(lèi)和邊框回歸以及語(yǔ)境信息融合。
圖2 多尺度特征融合流程
在經(jīng)典的Faster R-CNN網(wǎng)絡(luò)中,使用水平檢測(cè)框的四個(gè)參數(shù)(x,y,w,h)來(lái)描述待檢測(cè)目標(biāo)的位置,其中(x,y)表示檢測(cè)框的中心點(diǎn)坐標(biāo),(w,h)分別表示檢測(cè)框的寬和高。但是在現(xiàn)實(shí)監(jiān)控視頻中,車(chē)輛和拍攝設(shè)備之間往往存在一定的角度,采用水平檢測(cè)框會(huì)不可避免地造成檢測(cè)區(qū)域出現(xiàn)冗余空間,導(dǎo)致預(yù)測(cè)框和ground truth之間的IOU值急劇減小,對(duì)檢測(cè)效果產(chǎn)生影響。
為了解決上述問(wèn)題,文中算法在RPN階段構(gòu)建anchor時(shí)引入了新的變量θ,用來(lái)表示anchor的方向。將參數(shù)θ定義為旋轉(zhuǎn)檢測(cè)框的長(zhǎng)邊與x軸正方向之間的夾角。由于車(chē)牌形狀對(duì)稱,車(chē)牌上下長(zhǎng)邊與x軸正向之間的夾角可能是銳角也可能是鈍角,而文中僅保留銳角作為的θ取值。因此,旋轉(zhuǎn)檢測(cè)框的位置可以通過(guò)五個(gè)參數(shù)(x,y,w,h,θ)確定下來(lái)。在RPN網(wǎng)絡(luò)中,旋轉(zhuǎn)預(yù)測(cè)框和ground truth之間的夾角可以通過(guò)參數(shù)θ直接計(jì)算得到,而預(yù)測(cè)框的頂點(diǎn)坐標(biāo)則可借助下列公式轉(zhuǎn)換得到:
(1)
其中,T和R分別表示旋轉(zhuǎn)矩陣和轉(zhuǎn)換矩陣,w和h取決于預(yù)測(cè)框頂點(diǎn)坐標(biāo)與中心點(diǎn)坐標(biāo)的位置關(guān)系,定義如下列公式:
(2)
(3)
為了獲得合適的anchor參數(shù),對(duì)數(shù)據(jù)集中的車(chē)牌角度及尺寸的分布情況進(jìn)行分析。將基本的anchor尺寸設(shè)置在{16,32,64,128}范圍中以確定能涵蓋所有類(lèi)型車(chē)牌;寬高比設(shè)置為{2,3,4}三種取值;角度參數(shù)在{-20°,-10°,10°,0°,10°,20° }范圍內(nèi)變化。對(duì)于帶角度參數(shù)的旋轉(zhuǎn)anchor采用Faster R-CNN中的水平IOU計(jì)算方式會(huì)導(dǎo)致誤差放大。文中算法使用一種基于三角劃分的傾斜IOU計(jì)算方法[13]。上述選定的anchor用于后續(xù)步驟中指導(dǎo)生成準(zhǔn)確的車(chē)牌預(yù)測(cè)框。
本節(jié)聚焦于使用局部和語(yǔ)境信息來(lái)優(yōu)化車(chē)牌檢測(cè)結(jié)果。文中首次提出了在車(chē)牌檢測(cè)任務(wù)中引入語(yǔ)境上下文區(qū)域作為輔助信息。在某些情況下,雖然結(jié)合多維特征信息進(jìn)行了增強(qiáng),但是預(yù)測(cè)框和ground truth之間仍然存在偏差,不同車(chē)牌之間的高度、寬度及角度差異都有可能導(dǎo)致這些偏差。因?yàn)檎鎸?shí)場(chǎng)景中車(chē)牌普遍具有清晰的紋理特征和固定的背景,并且檢測(cè)到的車(chē)牌通常位于車(chē)輛的車(chē)牌上下文區(qū)域中。筆者認(rèn)為這些語(yǔ)境區(qū)域可以提供詳盡的特征信息,增強(qiáng)模型抗環(huán)境干擾的能力,提高檢測(cè)任務(wù)中分類(lèi)和邊框回歸的魯棒性。此外,當(dāng)出現(xiàn)車(chē)牌未能成功檢測(cè)的情況時(shí),車(chē)輛區(qū)域和車(chē)牌上下文區(qū)域也可以為車(chē)牌的位置回歸提供必要的先驗(yàn)信息。
依據(jù)上述分析,文中設(shè)計(jì)了一個(gè)語(yǔ)境信息融合模型,如圖3所示。首先,在RPN網(wǎng)絡(luò)中并行地利用多尺度融合特征圖分別生成車(chē)輛、車(chē)牌上下文區(qū)域和車(chē)牌的預(yù)測(cè)框并通過(guò)ROI align[17]映射回特征圖中分割出對(duì)應(yīng)特征區(qū)域。同時(shí)考慮到車(chē)牌特殊的寬高比,將特征維度固定到相同的數(shù)目13×4而并非默認(rèn)值7×7。由于原始Faster R-CNN中網(wǎng)格分割存在特征失準(zhǔn)問(wèn)題,會(huì)導(dǎo)致位置回歸存在偏差,因此采用雙線性插值的ROI align分割方法。然后,用一個(gè)由三個(gè)連續(xù)卷積層(卷積核尺寸依次是1×1,3×3,1×1)構(gòu)成的卷積模塊來(lái)激活特征參數(shù)。緊接著,一個(gè)維度為4 096的全連接層FC1被用來(lái)獲取高維非線性特征表示并移除信息冗余。最后,經(jīng)過(guò)充分激活和學(xué)習(xí)的車(chē)牌,車(chē)牌上下文區(qū)域和車(chē)輛預(yù)測(cè)框特征以按元素相加的形式被整合成新的特征,并送入兩個(gè)連續(xù)的1 024維全連接層中進(jìn)一步挖掘局部區(qū)域和語(yǔ)境區(qū)域關(guān)系的聯(lián)合特征表示。值得一提的是,上述模型中每個(gè)全連接層后面都緊跟著一個(gè)非線性激活函數(shù)ReLU。此外,與獲取車(chē)牌信息時(shí)采用旋轉(zhuǎn)預(yù)測(cè)框不同,針對(duì)語(yǔ)境區(qū)域采用矩陣預(yù)測(cè)框來(lái)避免一些敏感角度造成的信息損失。
圖3 語(yǔ)境信息融合流程
(4)
(5)
(6)
(7)
(8)
(9)
公式(8)和公式(9)中的變量m,m*和ma分別針對(duì)預(yù)測(cè)框,ground truth和anchor,m表示x,y,w,h,θ中任意一個(gè)變量。參數(shù)k,k∈是用來(lái)確保θ取值在預(yù)設(shè)的車(chē)牌角度范圍以內(nèi)。
本章節(jié)首先介紹了實(shí)驗(yàn)中使用的數(shù)據(jù)集及實(shí)驗(yàn)參數(shù)的設(shè)置,接著設(shè)計(jì)了一系列對(duì)比實(shí)驗(yàn)對(duì)提出的算法進(jìn)行評(píng)價(jià)和分析。實(shí)驗(yàn)結(jié)果表明,文中算法的每個(gè)組成部分都對(duì)車(chē)牌檢測(cè)性能的提高起到積極作用。實(shí)驗(yàn)所用設(shè)備為終端服務(wù)器,配備Ubuntu操作系統(tǒng)及Tesla K40C GPU。
實(shí)驗(yàn)中使用的數(shù)據(jù)來(lái)源于Application-Oriented License Plate(AOLP)[18]和UFPR-ALPR車(chē)牌數(shù)據(jù)集[11]。AOLP數(shù)據(jù)集中共包含2 049張臺(tái)灣車(chē)牌圖像,根據(jù)復(fù)雜度和拍攝場(chǎng)景可以分為三個(gè)子數(shù)據(jù)集:出入境控制(AC)、行政執(zhí)法(LE)和道路監(jiān)管(RP)。而UFPR數(shù)據(jù)集是真實(shí)復(fù)雜街道場(chǎng)景中由車(chē)載拍攝裝置采集的,總計(jì)4 500張圖像,尺寸為1 920×1 080,共包含150輛車(chē)。值得一提的是,這兩個(gè)數(shù)據(jù)集都是用水平檢測(cè)框進(jìn)行標(biāo)注的。為了算法需要,加入了車(chē)牌角度信息,重新進(jìn)行了標(biāo)注工作,角度范圍為(-20°,20°)。為了提高模型的魯棒性,采用引入隨機(jī)噪聲,亮度調(diào)節(jié),水平尺度變換等方法對(duì)樣本進(jìn)行數(shù)據(jù)增廣。最后每個(gè)數(shù)據(jù)集可以得到8 000個(gè)實(shí)驗(yàn)樣本,從中隨機(jī)抽取70%作為訓(xùn)練集,剩余30%作為測(cè)試集。
為驗(yàn)證文中算法的有效性和高效性,在UFPR和AOLP兩個(gè)車(chē)牌數(shù)據(jù)集上進(jìn)行了對(duì)比實(shí)驗(yàn)。由于車(chē)牌檢測(cè)任務(wù)沒(méi)有統(tǒng)一的評(píng)價(jià)指標(biāo),實(shí)驗(yàn)基于以下三個(gè)指標(biāo)評(píng)價(jià)算法的優(yōu)劣性:準(zhǔn)確性、回歸率和F-measure,定義如下:
(10)
(11)
(12)
式中,TP(true positive)表示分類(lèi)正確的正樣本數(shù)目,F(xiàn)P(false positive)表示分類(lèi)錯(cuò)誤的正樣本數(shù)目,即被分類(lèi)成背景的車(chē)牌數(shù)目,F(xiàn)N(false negative)表示分類(lèi)錯(cuò)誤的負(fù)樣本數(shù)目,即背景被錯(cuò)誤分類(lèi)為車(chē)牌的數(shù)目。實(shí)驗(yàn)中,參數(shù)α設(shè)為1,即常用的F1-measure評(píng)價(jià)指標(biāo)。
因?yàn)樵谖闹兴惴ㄖ?,?chē)牌方向信息是多維特征信息增強(qiáng)的重要組成,所以第一個(gè)實(shí)驗(yàn)是為了評(píng)價(jià)模型對(duì)于車(chē)牌角度預(yù)測(cè)的準(zhǔn)確性。設(shè)計(jì)以下兩個(gè)指標(biāo)來(lái)進(jìn)行評(píng)價(jià):一定容錯(cuò)閾值下角度預(yù)測(cè)準(zhǔn)確率(AE)和平均角度誤差(ME),定義如下:
(13)
(14)
其中,N表示車(chē)牌總數(shù)目,Ncorrect表示角度預(yù)測(cè)正確的車(chē)牌數(shù)目,pi表示預(yù)測(cè)的車(chē)牌角度值,ti表示標(biāo)簽中的真實(shí)車(chē)牌角度值。采用相對(duì)嚴(yán)格的容錯(cuò)閾值3°及相對(duì)寬松的容錯(cuò)閾值7°來(lái)詳盡描述模型性能。從表1的實(shí)驗(yàn)結(jié)果來(lái)看,相比于RRPN算法[13],提出的多維特征信息增強(qiáng)算法準(zhǔn)確性更高,同時(shí)平均角度誤差更小。此外,在引入語(yǔ)境信息融合之后,性能大幅提升。
表1 基于UFPR數(shù)據(jù)集的車(chē)牌角度預(yù)測(cè)算法評(píng)價(jià)
為了進(jìn)一步驗(yàn)證文中算法的泛化性能,實(shí)驗(yàn)二為在AOLP數(shù)據(jù)集上所做的涵蓋多種車(chē)牌檢測(cè)算法的對(duì)比實(shí)驗(yàn),定量實(shí)驗(yàn)結(jié)果如表2所示。
表2 基于AOLP數(shù)據(jù)集的車(chē)牌檢測(cè)算法定量對(duì)比
用于對(duì)比的算法按表格排列順序依次為:經(jīng)典的Faster R-CNN模型[14];Polishetty等提出的基于啟發(fā)式學(xué)習(xí)的檢測(cè)算法,數(shù)據(jù)結(jié)果引用自文獻(xiàn)[9];Ma等提出的多方向文本檢測(cè)方法RRPN[13],已被驗(yàn)證可以用于車(chē)牌檢測(cè)任務(wù);Masood等提出的基于CNN的端到端檢測(cè)算法[12];商業(yè)化的開(kāi)源車(chē)牌檢測(cè)系統(tǒng)Open ALPR[19]。文中算法在AOLP的三個(gè)子數(shù)據(jù)集中準(zhǔn)確率和回歸率都排在前列。子數(shù)據(jù)集RP中有大量不同程度傾斜的車(chē)牌圖像,其他算法檢測(cè)準(zhǔn)確率均有所下降;而文中算法結(jié)合了車(chē)牌角度信息,能夠完全適應(yīng)多方向的車(chē)牌檢測(cè),相比于其他算法準(zhǔn)確率和回歸率顯著提高。同時(shí)算法在配備Ubuntu操作系統(tǒng)及Tesla K40C GPU的終端服務(wù)器上進(jìn)行實(shí)驗(yàn)測(cè)試時(shí)可保持每幀0.76秒的檢測(cè)速度。
部分檢測(cè)結(jié)果如圖4所示。
(a)Faster R-CNN (b)RRPN (c)Open ALPR (d)文中算法
提出了一種基于多維特征信息增強(qiáng)和語(yǔ)境信息融合的端到端車(chē)牌檢測(cè)算法,用于解決真實(shí)場(chǎng)景中由于拍攝距離導(dǎo)致的尺寸變化問(wèn)題和由于拍攝角度導(dǎo)致的車(chē)牌傾斜問(wèn)題。首先,針對(duì)車(chē)牌圖像對(duì)經(jīng)典的Faster R-CNN做出改進(jìn):采用多尺度特征融合獲得多分辨率信息,利用帶角度參數(shù)θ的旋轉(zhuǎn)anchor和雙支組合結(jié)構(gòu)生成合適的車(chē)牌預(yù)測(cè)框。其次,通過(guò)結(jié)合車(chē)輛,車(chē)牌上下文區(qū)域等語(yǔ)境信息進(jìn)一步提高檢測(cè)準(zhǔn)確性。AOLP和UFPR數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果證明了該算法各個(gè)模塊的有效性,同時(shí)整體算法在準(zhǔn)確性和回歸率上均取得了優(yōu)越性能。根據(jù)文中思路,未來(lái)的工作可以聚焦于在所提算法基礎(chǔ)上設(shè)計(jì)包含更少卷積層的輕量級(jí)網(wǎng)絡(luò),保持高準(zhǔn)確率的同時(shí)提高檢測(cè)速度。