周曉君,高 媛 ,李超杰 ,陽春華
(1.中南大學自動化學院,湖南長沙 410083;2.湖南湘江人工智能學院,湖南長沙 410083)
智慧交通是未來交通系統(tǒng)的發(fā)展方向,車牌自動識別是保障交通安全、提高車輛運營效率、促進綠色環(huán)保的關(guān)鍵技術(shù).近年來,隨著我國經(jīng)濟飛速發(fā)展,各類機動車數(shù)量不斷增加的同時也造成了交通擁堵等問題.智慧交通技術(shù)可以對交通信號燈和道路設備進行分配調(diào)整和動態(tài)調(diào)度,從而避免和減少車輛擁堵的情況發(fā)生,實現(xiàn)降低能源消耗和提高城市交通運營效率的目標[1].
車牌識別是交通管理系統(tǒng)的一項關(guān)鍵技術(shù)[2],也是計算機視覺領(lǐng)域中的一個重要研究方向[3–4],車牌識別技術(shù)從傳統(tǒng)圖像處理方法到目前基于深度學習的方法取得了顯著成效.成熟的車牌識別方法主要有基于模板匹配、特征提取和神經(jīng)網(wǎng)絡3種方法.Gou等[5]采用提取字符級的極值區(qū)域的方式,車牌字符分割后采用受限玻爾茲曼機實現(xiàn)單車牌字符識別.Khan等[6]提出了一種基于多特征提取和融合的方法在單車牌數(shù)據(jù)集上驗證了該算法的有效性.Tabrizi等[7]提出了一種綜合了k近鄰算法(knearest neighbors,kNN)和支持向量機(support vector machine,SVM)的混合單車牌識別方法,在一定程度上提升了單車牌字符識別率.隨著深度學習的深入研究,基于神經(jīng)網(wǎng)絡的車牌識別方法逐漸成為了研究熱點[10–11].Yang等[8]提出了一種基于神經(jīng)網(wǎng)絡和極端學習機的單車牌識別方法,采用卷積神經(jīng)網(wǎng)絡提取單張車牌圖像特征,并通過極端學習機對車牌識別結(jié)果進行預測,從而得到單車牌識別結(jié)果.Wang等[9]提出了基于循環(huán)神經(jīng)網(wǎng)絡的單車牌識別方法,采用卷積池化等操作來提取車牌的序列特征,提取到的特征再經(jīng)過雙向環(huán)神經(jīng)網(wǎng)絡進行編碼,最后通過時序分類算法解碼得到車牌識別結(jié)果.
從上述文獻可以看出,國內(nèi)外許多學者都進行了單車牌識別技術(shù)的研究并取得了豐碩的成果,然而在現(xiàn)實環(huán)境中,如城市要道、多車道公路路口等視野范圍比較大的監(jiān)視區(qū)域中,經(jīng)常會同時出現(xiàn)多個車牌識別任務,多車牌識別技術(shù)比單車牌識別更加高效實用,并且能夠減少監(jiān)控器材的使用,從而達到節(jié)省人力和資金,提高交通管理效率的目的,因此,對多車牌識別方法進行深入研究顯得尤為重要.在多車牌識別方法研究中,Kurian等[12]提出了一種使用垂直和水平邊緣檢測來定位和識別多個車牌的方法,使用本地化的概念從實時圖像中提取車牌區(qū)域后對每張車牌進行字符分割和重構(gòu),從而實現(xiàn)了多車牌識別過程.Azad等[13]通過計算車牌圖像中的字符特征和統(tǒng)計特征,并采用SVM一對一的方法實現(xiàn)了多車牌識別,在多車牌的數(shù)據(jù)集上測試驗證了該方法的有效性.Du等[14]提出了一種新型的智能多車牌識別方法,該方法首先采用了基于輪廓圖像的檢測技術(shù)提取每張車牌區(qū)域,接著采用自適應模板匹配算法進行字符分割,最后采用基于模式匹配的方法進行車牌字符識別,實現(xiàn)了不同場景下的多車牌識別.Menon等[15]提出了一種在靜態(tài)影像中檢測和識別多車牌的方法,采用基于輪廓檢測的算法提取車牌圖像區(qū)域,并通過基于SVM的方法實現(xiàn)了車牌字符分類.Guo等[16]提出了一種多車牌識別系統(tǒng),該系統(tǒng)中采用了分層AdaBoost算法實現(xiàn)了多車牌的檢測,通過考慮字符之間關(guān)系對車牌字符進行分割,并采用基于樸素貝葉斯的方法實現(xiàn)多車牌字符識別.
在多車牌識別研究中,大多數(shù)車牌識別方法通過對多車牌圖像檢測出多張車牌區(qū)域,并針對每張車牌區(qū)域進行逐一識別.然而,這些方法針對每個車牌識別任務學習一個獨立的模型,訓練集合中的所有樣本都是針對單個學習任務的訓練數(shù)據(jù),不能從其他車牌識別任務中獲取更多的有用信息,忽略了不同車牌識別任務間的特征共享,子空間共享和參數(shù)共享,損失了一些存在于數(shù)據(jù)或者模型參數(shù)之間的信息,并沒有最大化的提高車牌識別的效率.多任務學習的提出就是為了解決單任務學習的這種弊端,本文考慮到多車牌的識別問題中,多個任務均為車牌識別任務,在學習和訓練的過程中具有較強的相似性,所以將把多個車牌識別任務可以放在一起學習.多任務學習屬于遷移學習的一個具體形式,利用遷移學習的思想,將從一個車牌識別任務中所學習到的知識,遷移到另外一個任務中,作為訓練樣本的補充來提升每個任務的學習效果,從而為每一個車牌識別任務提供額外的訓練信息,以提高所有車牌識別任務的學習效果,且多任務學習下的最高車牌識別率大多數(shù)情況下應優(yōu)于充分訓練下的單個識別任務.因此,本文考慮同時識別多張車牌,提高多車牌識別效率.
隨著深度學習的快速發(fā)展,多任務學習也越來越受到研究者的關(guān)注.根據(jù)多個任務之間的關(guān)系,多任務學習可以大致分為以下3類:基于特征分享的多任務學習方法、基于模型參數(shù)分享的多任務學習方法和基于深度學習的多任務學習方法.Liu等[17]通過算法穩(wěn)定性證明了多任務學習算法依賴泛化誤差上界.Long等[18]提出了一種基于張量先驗的多任務學習深度關(guān)系網(wǎng)絡,通過聯(lián)合學習可轉(zhuǎn)移的特性和任務關(guān)系,能夠緩解在特征層中負轉(zhuǎn)移的困境和分類器層的低轉(zhuǎn)移.Misra等[19]根據(jù)任務需求需要設計不同的共享層的問題,設計了“十字繡”單元,通過端對端的學習來自動決定共享層.Kendall等[20]提出了一種多任務損失函數(shù)的權(quán)重學習方式,使用任務間的同方差不確定性給每個損失函數(shù)賦權(quán).Chen等[21]為解決多任務的梯度不平衡問題,提出了一種梯度歸一化的方法,動態(tài)調(diào)整任務權(quán)重,可以幫助神經(jīng)網(wǎng)絡系統(tǒng)更快地收斂,提升整體性能.然而,這種基于啟發(fā)式的權(quán)重學習方法卻難以保證找到多任務學習問題的最優(yōu)解,并且當目標存在沖突時,傳統(tǒng)的基于單目標優(yōu)化的多任務學習方法存在難以確定多個任務的權(quán)值,各個目標之間的量綱不統(tǒng)一可能會造成魯棒性較差,只能逼近凸的帕累托前沿面等問題.在多任務學習中,學習多個任務就會產(chǎn)生多個優(yōu)化目標,如何充分考慮任務之間的相關(guān)性,使某些任務盡可能的優(yōu)化,但卻不影響其他任務的優(yōu)化,即直接求解多目標優(yōu)化問題中的帕累托最優(yōu)解.
本文針對多個車牌識別任務之間存在競爭和沖突,導致難以同時提高多個車牌的識別率的問題,提出了基于多目標優(yōu)化多任務學習的端到端車牌識別方法研究.首先,分析某些車牌識別任務容易占主導地位,而其他任務無法得到充分優(yōu)化的基礎(chǔ)上,建立了基于多任務學習的車牌識別模型.接著,針對字符分割造成車牌識別準確率較低、魯棒性較差的問題,提出了基于多任務學習的端到端車牌識別方法,實現(xiàn)無分割車牌識別,整個框架全部由深度神經(jīng)網(wǎng)絡通過學習自主獲得,進行端到端的訓練縮短了模型的訓練時間.最后,提出了一種基于多目標優(yōu)化的多任務學習的方法,在多個車牌識別任務之間進行權(quán)衡,以提高多個車牌識別的準確率.
本文其余部分的內(nèi)容安排如下:第2節(jié)建立了多車牌識別問題的模型;第3節(jié)詳細描述了基于多目標優(yōu)化多任務學習的端到端車牌識別方法;第4節(jié)給出了算法的性能測試實驗和仿真結(jié)果分析;最后,第5節(jié)總結(jié)了本文貢獻,并說明未來研究工作.
視野范圍比較大的監(jiān)視區(qū)域中,經(jīng)常會同時出現(xiàn)多個車牌識別任務.基于此,本文提出一種基于多任務學習的端到端車牌識別模型,下面對多車牌識別問題及其建模過程進行詳細介紹.
車牌自動識別作為智能交通系統(tǒng)的重要組成部分,可以為智能交通提供高效和實用的管理方法,車牌自動識別有著非常廣泛的應用范圍和應用前景.在視野寬闊的現(xiàn)實環(huán)境中,例如城市的主要道路、多車道公路路口等,這些地方的監(jiān)視區(qū)域更加復雜,通常會同時出現(xiàn)多輛汽車,如圖1所示.
圖1 多車牌識別場景Fig.1 The scene of multiple license plate recognition
多車牌識別比單車牌識別更加高效實用,將一個攝像機對多車道進行監(jiān)控,拍攝的圖像所包含車牌更多,能夠?qū)崟r監(jiān)測到違反交通燈、車輛壓線等違章行為.因此,多車牌識別技術(shù)能夠有效地節(jié)省人力和資金,減少監(jiān)控器材的使用及其維護的費用,為智能交通提供高效和實用的管理方法,所以對多車牌識別方法進行深入研究是至關(guān)重要的。
在深度神經(jīng)網(wǎng)絡中,常用的多任務學習方法通常是通過共享隱藏層參數(shù)來完成[22–23],本文采用了參數(shù)硬共享機制,利用多任務學習策略挖掘多個車牌識別任務之間有價值的共享信息,建立基于多任務學習的端到端車牌識別模型.
本文建立的基于多任務學習的端到端車牌識別模型結(jié)構(gòu)設計受Sener等[24]啟發(fā),模型的結(jié)構(gòu)參數(shù)如表1所示.基于多任務學習的端到端車牌識別模型中的基本塊(Basic block)結(jié)構(gòu)參數(shù)如表2所示.在基于多任務學習的端到端車牌識別模型結(jié)構(gòu)中,除開最后一層外,其余中間層(第1–11層)均視為車牌識別模型的共享層,使用這些共享層來提取共有的通用特征,為了保證每個車牌識別任務的獨特性,將最后一層(第12層)視為模型的任務特定層,針對每個不同的車牌識別任務設置任務特定層來提取任務特定的特征,基于多任務學習的端到端車牌識別模型架構(gòu)如圖2所示.
圖2 基于多任務學習的端到端車牌識別模型架構(gòu)Fig.2 Architecture of end-to-end license plate recognition model based on multi-task learning
表1 基于多任務學習的端到端車牌識別模型參數(shù)Table 1 Parameters of end-to-end license plate recognition model based on multi-task learning
表2 Basic block結(jié)構(gòu)參數(shù)Table 2 Parameters of Basic block
在Basic block結(jié)構(gòu)中,每次卷積操作后使用批量標準化和非線性的ReLU激活函數(shù),隨著網(wǎng)絡層數(shù)增加,可以緩解深度網(wǎng)絡中的梯度彌散現(xiàn)象.基于多任務學習的端到端車牌識別模型結(jié)構(gòu)中,在第2、第4和第7層均采用最大值池化法,可以有效緩解平均池化法導致圖像模糊的問題,增加車牌圖像特征的多樣性.接著,在第8層和第10層均采用Dropout方法,采用這種正則化的方法來學習共同特征,既耦合了任務,又增強了稀疏性.在共享層的最后一層,即第11層根據(jù)本地字符的上下文采用了1×13的寬卷積.在此基礎(chǔ)上,為了進一步提高車牌識別模型性能,采用全局上下文嵌入增強了預解碼器的中間特征映射[25],通過全連接層對模型共享層的輸出進行計算,隨后將其平鋪到所需的大小,再與模型共享層的輸出拼接起來.最后,在任務特定層,即第12層使用了1×1的卷積層以映射到每一個字符類的特征深度.
基于多任務學習的端到端車牌識別模型的輸入是94×24像素的多車牌圖像,模型的多個輸出分別對應每張車牌的字符概率序列.在訓練完基于多任務學習的端到端車牌識別模型之后,即在推理階段的解碼過程中,本文采用了集束搜索方法用來求解車牌字符的最大概率序列,這種方法考慮了更多的候選搜索空間,能夠保證車牌字符輸出序列的總概率最大化.這種基于多任務學習的端到端車牌識別方法,無需車牌字符分割,整個框架全部由深度神經(jīng)網(wǎng)絡通過學習自主獲得,深度神經(jīng)網(wǎng)絡能夠直接從原始圖像中提取特征,對圖像幾何變換、形變等具有高度的不變性,適合自然場景下各種復雜多車牌圖像的識別,進一步提高了基于多任務學習的端到端車牌識別效率以及泛化能力.
多任務學習本質(zhì)上也是多目標問題,因為多個車牌識別任務之間會產(chǎn)生沖突,容易造成某些車牌識別任務占主導地位,而其他任務無法得到充分優(yōu)化,所以需要在各個車牌識別任務之間進行權(quán)衡.基于此,本文提出一種基于多目標優(yōu)化多任務學習的端到端車牌識別方法,以提高多個車牌識別的準確率.
考慮一個在輸入空間χ和一組多車牌識別任務空間{yt}t∈[T]上的多任務學習問題,多車牌數(shù)據(jù)集的數(shù)據(jù)點為其中:T表示車牌識別任務的個數(shù),N表示訓練數(shù)據(jù)點的個數(shù),表示第i個數(shù)據(jù)點的第t個車牌識別任務標簽,則每個車牌識別任務的函數(shù)表達式為
其中:θsh表示車牌識別任務的共享參數(shù),θt表示關(guān)于車牌識別任務的特定參數(shù).第t個車牌識別任務的損失函數(shù)由下列式子表示:
本文提出的多車牌識別問題由T個相關(guān)的車牌識別任務及其損失函數(shù)的向量組成,可以由下列式子表示:
式(3)是關(guān)于車牌識別的一個多目標優(yōu)化問題,求解多目標優(yōu)化問題最終得到的是目標之間相互權(quán)衡且相對最優(yōu)的Pareto最優(yōu)解.在多任務學習中,利用所有相關(guān)任務之間的共享模型和參數(shù)信息,來同時優(yōu)化多個任務,下面給出了與多目標優(yōu)化相關(guān)的幾個定義[24,26].
定義2如果不存在解θ(θ ∈?)使得θ ?θ?,則稱解θ?為Pareto最優(yōu)解,所有Pareto最優(yōu)解構(gòu)成的集合稱為Pareto最優(yōu)解集,Pareto最優(yōu)解集中所有Pareto最優(yōu)解在目標空間的映射形成的解集,組成Pareto最優(yōu)解的目標向量值集合,該集合為Pareto最優(yōu)前沿.
為了求解上述關(guān)于車牌識別的多目標優(yōu)化問題,本文提出一種基于多目標優(yōu)化的多任務學習方法,即種基于連接時序分類的多梯度下降算法.
在車牌識別中存在模型輸出序列的長度大于標簽的長度的時序問題,因為存在某些時刻沒有真實對應的標簽,或者輸出標簽為空白占位符.設空白占位符為?,在車牌標簽序列的首位以及每個字符的后面插入?,車牌標簽字符庫定義為L,加入空白占位符之后為L′=L ∪{?},端到端的多任務車牌識別模型任意輸出序列路徑為π={π1,π2,···,pin},對應車牌識別任務的標簽序列為l={l1,l2,···,lm},m 定義一個多對一的映射函數(shù)φ:L′T →LT,表示給定輸入序列x,能夠映射到標簽空間L上的所有可能輸出標簽序列集合.具體操作如下:1)對連續(xù)相同的車牌字符做去重處理;2)去除全部的空白占位符.例如有以下幾種可能的路徑,把所有最終輸出結(jié)果為“京BRF210”的路徑的概率的乘積作為最終該字符串的概率,雖然所有路徑互異,但是不同路徑最后可以映射到相同的標簽序列l(wèi). 標簽序列l(wèi)在輸入序列x下的條件分布概率等于所有滿足映射關(guān)系路徑的條件概率和,用公式表示為 式(5)表示對所有可能路徑概率求和,在基于多任務學習的端到端車牌識別模型訓練階段的優(yōu)化的目標是最小化負對數(shù)似然函數(shù),即 這種時序策略給出一種從每一步輸入時間序列的分布概率到輸出序列的概率映射,標簽序列在模型輸出序列下的條件分布概率等于所有滿足映射關(guān)系路徑的條件概率和,采用這種對齊方式能夠使不同的路徑映射到相同的標簽,最終使所有路徑的概率和最大,整個過程無需車牌字符分割,使得多任務車牌識別模型的輸出序列和標簽序列之間學會自動對齊,從而解決車牌識別中的時序問題. 在解碼過程中根據(jù)給定輸入搜索概率最大的路徑,對于給定輸入x預測可能的車牌字符序列輸出,用公式表示為 本文對共享參數(shù)θsh和任務特定參數(shù)θt的卡羅需–庫恩–塔克(Karush-Kuhn-Tucker,KKT)條件如下: D′esid′eri等[28]證明上述優(yōu)化問題的解以下有兩種情況:1)上述優(yōu)化問題的解為0,得到的解滿足上述的KKT條件;2)得到的解提供了所有車牌識別任務的下降方向. 考慮兩張車牌識別任務,優(yōu)化問題可以用下面的式子定義: 簡化為 對式(10)求導可以解得 求解3張及其以上的多車牌識別任務時,具體流程同兩張車牌識別任務一樣,求解帶有線性約束的凸二次型問題(8)時,本文采用了Jaggi等[29]提出的一種約束優(yōu)化方法,即Frank-Wolfe算法,將目標函數(shù)作線性近似,通過求解線性規(guī)劃求得可行下降方向,并沿該方向在可行域內(nèi)作一維搜索來快速有效求解該優(yōu)化問題.根據(jù)上述分析,基于連接時序分類的多梯度下降算法流程描述如下: 輸入:訓練數(shù)據(jù)x,輸出序列π,容許誤差0?1,學習率η. 輸出:優(yōu)化后的共享參數(shù)θsh. 步驟1根據(jù)式(6)計算所有任務的損失函數(shù)Lt(θsh,θt),對共享參數(shù)θsh求導,得 步驟2初始化所有車牌識別任務的權(quán)重為 步驟3計算關(guān)于共享參數(shù)的梯度矩陣為M,其中 本文提出的基于多目標優(yōu)化多任務學習的端到端車牌識別方法的詳細步驟如下: 輸入:訓練數(shù)據(jù)x,基于多任務學習的端到端車牌識別模型,由卷積層、池化層、dropout層以及歸一化激活層構(gòu)成的深度神經(jīng)網(wǎng)絡,初始共享參數(shù)θsh,初始任務特定參數(shù)θt,最大迭代次數(shù)Maxgen,學習率η. 輸出:車牌字符的識別結(jié)果. 步驟1根據(jù)式(6)計算所有任務的損失函數(shù)Lt(θsh,θt),對共享參數(shù)θsh求導,得到對任務特定參數(shù)θt進行求導,得到 步驟2對T個車牌識別任務特定參數(shù)進行梯度下降, 步驟3利用基于連接時序分類的多梯度下降算法用于更新共享參數(shù)梯度,即 步驟4若達到最大迭代次數(shù)Maxgen,算法終止,否則返回步驟1. 步驟5更新共享參數(shù)θsh和任務特定參數(shù)θt得到優(yōu)化后的模型,對于給定的輸入數(shù)據(jù)x,根據(jù)式(7)對模型的輸出進行解碼得到車牌字符的識別結(jié)果. 為了驗證所提方法的有效性,在標準車牌數(shù)據(jù)集上進行了驗證性和對比性實驗. 本文選用了大型中國車牌數(shù)據(jù)集(Chinese city parking dataset,CCPD),該數(shù)據(jù)集包含7個子數(shù)據(jù)集,由約28萬張不同的車牌樣本組成[30].考慮多車牌識別的多任務學習問題,本文采用了Zhang等[31]提出的多任務卷積神經(jīng)網(wǎng)絡(multi-task convolutional neural network,MTCNN)對多個車牌區(qū)域進行檢測和提取,利用MTCNN中全卷積網(wǎng)絡(proposal net,PNet)卷積運算代替了滑動窗口運算,并且體積小、速度快的優(yōu)勢確定所有可能是車牌的候選區(qū)域,再經(jīng)過ONet(output Net)進行進一步確定車牌的區(qū)域,將多個車牌按左右方向以隨機的方式自動拼接在一起構(gòu)成多車牌訓練集.本文的多車牌數(shù)據(jù)集包含正常車牌、光照不均、拍攝距離相當遠或者相當近、車牌傾斜、極端天氣以及其他具有挑戰(zhàn)性的車牌圖像,考慮了多種復雜環(huán)境下的多車牌識別情況. 表5列出了CCPD子數(shù)據(jù)集的相關(guān)描述和對應的訓練集和測試集大小,其中每個多車牌樣本的尺寸均為94×24.考慮小規(guī)模的兩張車牌識別問題時,將左邊車牌的識別任務視為一個任務(Task–L),將右邊車牌的識別任務視為另外一個任務(Task–R),考慮更多的3張車牌識別問題時,在Task–L和Task–R的基礎(chǔ)上,將中間車牌的識別任務視為一個任務(Task–M). 由于數(shù)據(jù)集包含不同視角、不同距離、不同照明的各種車牌樣本,本文采用了Jaderberg等[32]提出了空間變換網(wǎng)絡(spatial transformer networks,STN),對訓練之前的車牌樣本進行了數(shù)據(jù)預處理,具體結(jié)構(gòu)參數(shù)如表3所示.STN可以自動學習變換參數(shù)并對車牌圖像進行校正,使模型具有較強的空間不變性,減小了車牌圖像傾斜變形的影響,增強了車牌識別的魯棒性. 表3 STN結(jié)構(gòu)參數(shù)Table 3 Parameters of STN 在測試時,本文所提方法和對比算法均先采用了相同模型參數(shù)的MTCNN檢測并提取出多張車牌,將其自動拼接在一起,作為基于多任務學習的端到端車牌識別模型輸入,以解決實際中復雜的多車牌識別任務.為了保證實驗的公平性,實驗中主要參數(shù)設置相同,如表4所示.這5個主要參數(shù)均選取的是提升模型訓練的一般參數(shù),對比性實驗中采用了相同的模型,在調(diào)節(jié)任務損失函數(shù)權(quán)重上采用的不同對比方法,在調(diào)節(jié)權(quán)重的過程中,不需要提前給定額外的固定參數(shù).因此,這種參數(shù)設置對所有對比算法都是公平的. 表4 參數(shù)設置Table 4 Parameters setting 在實驗過程中,采用學習率逐漸衰減的機制,這樣做的目的是在模型訓練初期,使用較大的學習率進行加速學習,隨著迭代次數(shù)增加,學習率逐漸進行減小,保證模型在訓練后期不會有太大的波動,從而使得模型更容易接近局部或全局最優(yōu)解.訓練集與測試集的數(shù)量已在表5中列出,所有的實驗是在Pytorch的框架下實現(xiàn)的,并獨立運行10次,實現(xiàn)語言是Python 3.7,處理器型號Intel(R)Xeon(R)CPU E5–2630 v4@2.20 GHz,操作系統(tǒng)Linux(Ubuntu16.04). 表5 CCPD子數(shù)據(jù)集基本信息Table 5 Information about sub-datasets in CCPD 為了驗證文本提出的基于多目標優(yōu)化多任務學習的端到端車牌識別方法的有效性,將本文所提方法和基于單任務學習的車牌識別方法(Single task)進行對比驗證,Single task方法采用的是獨立解決每個車牌識別任務的方式.本文所提方法在多車牌數(shù)據(jù)集上進行實驗,與之對比的Single task方法在對應原始的單車牌數(shù)據(jù)集上進行實驗. 對于兩張車牌識別任務,通過觀察表6結(jié)果可以發(fā)現(xiàn),在車牌識別準確率方面,與傳統(tǒng)的Single task方法相比,本文所提方法的車牌識別準確率更高,最高車牌識別準確率可達99.83%,僅在數(shù)據(jù)集CCPD–Challenge上,Single task 方法的Accuracy L和本文所提方法的Accuracy L 相同,均為84.11%,而本文提出方法的Accuracy R比Single task方法的Accuracy R高1.81%.在數(shù)據(jù)集CCPD–Tilt 上,本文所提方法的Accuracy L 和Accuracy R比Single task方法分別高3.26%和2.58%.在車牌識別速率方面,與傳統(tǒng)的Single task方法相比,本文所提方法的車牌識別速率更高. 表6 不同方法在兩張車牌數(shù)據(jù)集上的性能統(tǒng)計Table 6 The performance of different methods on datasets with two license plates 對于3 張車牌識別任務,從表7 可以看出,本文所提方法可以有效解決多車牌識別問題,在所有CCPD子數(shù)據(jù)集上車牌識別準確率和車牌識別速率均優(yōu)于Single task方法,其中,在CCPD–Base上車牌識別準確率最高為99.35%,識別每張車牌時間最短為0.28 ms.在數(shù)據(jù)集CCPD–Tilt上,本文所提方法的Accuracy L,Accuracy M和Accuracy R比Single task方法分別高6.72%,5.81%和1.60%.因此,對于多車牌識別任務,本文所提方法比Single task方法在車牌識別準確率和識別速率上更具有明顯的優(yōu)勢. 表7 不同方法在3張車牌數(shù)據(jù)集上的性能統(tǒng)計Table 7 The performance of different methods on datasets with three license plates 選用CCPD的7組子數(shù)據(jù)集和具有代表性的3種多任務學習方法進行比較:1)Uniform scaling(均勻縮放):最小化損失函數(shù)的加權(quán)和dall’s method(同方差不確定性):采用Kendall等[20]提出的不確定性加權(quán)法;3)GradNorm(梯度歸一化):采用Chen等[21]提出的歸一化方法. 本文所提方法和對比方法在CCPD–Base 上的Task–L和Task–R車牌識別準確率的散點圖可視化為圖3.Accuracy L和Accuracy R可分別表示Task–L和Task–R車牌識別準確率,黃色的兩條實線分別代表Single task方法在Task–L和Task–R的車牌識別準確率,紅色陰影區(qū)域表示Task–L和Task–R的車牌識別準確率均高于基于單任務學習的車牌識別準確率.從圖3可以看出,在CCPD–Base上,本文所提方法的車牌識別準確率優(yōu)于其他對比算法,位于該紅色陰影區(qū)域內(nèi).對于其余6個子數(shù)據(jù)集使用相同的可視化方法,如圖4所示. 圖3 不同方法在CCPD–Base上的車牌識別準確率Fig.3 Accuracy of different methods on CCPD–Base 圖4 不同方法在CCPD上的車牌識別準確率Fig.4 Accuracy of different methods on CCPD 通過觀察表8可以發(fā)現(xiàn),對于兩張車牌數(shù)據(jù)集,在車牌識別準確率方面,本文所提方法優(yōu)于其他多任務學習方法,僅在CCPD–Weather上,Kendall’s method(同方差不確定性)的Accuracy L 和本文方法相同均為97.63%,而對于Accuracy R,本文方法比Kendall’s method高1.06%.雖然在數(shù)據(jù)集CCPD–Challenge上,Kendall’s method和GradNorm(梯 度 歸 一 化)方法比本文所提方法的Accuracy L 分別高0.08%和0.73%,而對于Accuracy R,本文所提方法高出3.4%和7.74%.并且,對于傾斜變形較大的車牌數(shù)據(jù)集CCPD–Rotate,本文所提方法的Accuracy L相較于其他3種方法分別高4.04%,4.12%和4.44%,Accuracy R分別高5.02%,3.97%和1.96%. 表8 不同方法在兩張車牌數(shù)據(jù)集上的車牌識別準確率Table 8 Accuracy of different methods on datasets with two license plates 相較于兩張車牌的識別任務,3張車牌識別任務更復雜,識別難度增加,從表9 可以看出,對比算法在車牌識別準確率上有不同程度的下降,并且Uniform scaling(均勻縮放)方法在3個車牌識別任務間的權(quán)衡能力較差,在CCPD–Rotate上Accuracy L為94.59%,而Accuracy R僅為82.97%.本文所提方法的車牌識別準確率相對較高,其中在數(shù)據(jù)集CCPD–Base上,最高車牌識別準確率可達99.35%,在數(shù)據(jù)集CCPD–Rotate上,本文所提方法的Accuracy R比另外3種對比算法分別高13.72%,10.47%和8.54%,僅僅在CCPD–DB上,Kendall’s method比本文提出方法的Accuracy R高0.04%.相比于其他對比算法,本文所提方法能夠較好的權(quán)衡多個任務. 表9 不同方法在3張車牌數(shù)據(jù)集上的車牌識別準確率Table 9 Accuracy of different methods on datasets with three license plates 圖5–11分別表示不同方法訓練過程中在7個CCPD子數(shù)據(jù)集上的損失函數(shù)變化趨勢,其中Loss–L,Loss–M和Loss–R分別表示左邊、中間和右邊車牌識別任務的損失函數(shù),隨著Epoch(迭代次數(shù))的增加,所有對比算法的損失函數(shù)在第13個Epoch后趨于平穩(wěn),并逐步收斂.對于不同復雜環(huán)境下的車牌樣本,各種方法訓練Loss下降速度不同,雖然在數(shù)據(jù)集CCPD–Challenge上,所有方法的損失函數(shù)相比于其他子數(shù)據(jù)集下降速度較慢,但本文所提方法和其他方法相比Loss–L,Loss–M和Loss–R下降速度較快,最后收斂得到的損失函數(shù)值最小,僅在數(shù)據(jù)集CCPD–DB上,通過Kendall’s method 收斂得到的Loss–R 比本文提出方法小. 圖5 不同方法在CCPD–Base上的訓練損失函數(shù)曲線Fig.5 Convergence curves of training loss function with different methods on CCPD–Base 在另外6個CCPD子數(shù)據(jù)集上,相比于其他算法,本文所提方法的損失函數(shù)下降速度較快,收斂得到的損失函數(shù)值較小. 圖6 不同方法在CCPD–DB上的訓練損失函數(shù)曲線Fig.6 Convergence curves of training loss function with different methods on CCPD–DB 圖7 不同方法在CCPD–FN上的訓練損失函數(shù)曲線Fig.7 Convergence curves of training loss function with different methods on CCPD–FN 圖8 不同方法在CCPD–Rotate上的訓練損失函數(shù)曲線Fig.8 Convergence curves of training loss function with different methods on CCPD–Rotate 圖9 不同方法在CCPD–Tilt上的訓練損失函數(shù)曲線Fig.9 Convergence curves of training loss function with different methods on CCPD–Tilt 圖10 不同方法在CCPD–Weather上的訓練損失函數(shù)曲線Fig.10 Convergence curves of training loss function with different methods on CCPD–Weather 從以上分析可以發(fā)現(xiàn),在相同的數(shù)量的車牌數(shù)據(jù)集的條件下,與其他3種多任務學習方法相比,本文所提方法能夠有效提高車牌識別的準確率和識別速率.對于不同視角、不同距離、不同照明的各種傾斜變形車牌數(shù)據(jù)集,本文提出的方法優(yōu)于其他多任務學習方法,具有良好的魯棒性和泛化性能. 針對多個車牌識別任務之間存在競爭和沖突,容易造成某些任務占主導地位,而其他任務無法得到充分優(yōu)化,導致難以同時提高多個車牌的識別率的問題,提出了基于多目標優(yōu)化多任務學習的端到端車牌識別方法.針對字符分割造成車牌識別準確率較低、魯棒性較差的問題,建立了基于多任務學習的端到端車牌識別模型.為了在多個車牌識別任務之間進行權(quán)衡,以提高多個車牌識別的準確率,提出了一種基于多目標優(yōu)化的多任務學習的方法.實驗結(jié)果表明,本文提出的方法相比于其他單任務學習和多任務學習方法具有一定的優(yōu)越性,可以提高車牌識別的準確率、識別速率,具有良好的魯棒性和泛化性能.本文重點研究的是靜態(tài)的多車牌識別方法,未來會重點研究基于視頻流的多車牌識別問題. 圖11 不同方法在CCPD–Challenge上的訓練損失函數(shù)曲線Fig.11 Convergence curves of training loss function with different methods on CCPD–Challenge3.3 基于多目標優(yōu)化多任務學習的端到端車牌識別方法流程
4 實驗驗證
4.1 數(shù)據(jù)集介紹及實驗環(huán)境
4.2 驗證性實驗
4.3 對比性實驗
5 結(jié)論