999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于Bilinear-HashNet網絡的車型識別方法

2019-08-13 12:38:52費東煒
小型微型計算機系統 2019年8期
關鍵詞:分類特征

費東煒,孫 涵

(南京航空航天大學計算機科學與技術學院,南京210016)

E-mail:in4ight@nuaa.edu.cn

1 引言

車型識別技術[1]是以計算機視覺、模式識別技術為基礎,通過監控攝像頭、車載攝像頭等方式對目標車輛進行拍照采樣,完成對車輛的品牌、型號進行識別的一種技術.目前絕大多數車型識別是基于分類的方法,本文則提出一種基于檢索的方法,得到與目標圖像相似的一批圖像,然后根據其標簽進行識別.

基于分類的車型識別方法主要分為兩類.一類是基于淺層學習的方法,通過局部特征提取、特征描述、特征編碼、分類這四個步驟進行車輛識別[2].局部特征提取這一步需要將圖像中富含信息的部分抽取出來,主要有兩種方式:一種是基于關鍵點檢測,有 Harris角點檢測[3]、FAST 算子[4]、LoG[5]、DoG[6]等方法;另一種是密集提取,直接按照一定的步長和尺度指定關鍵點.特征描述則將關鍵點附近的圖像特征轉換為特征描述子,特征描述子一般的形式為特征向量或二進制串,常用的特征描述子有 SIFT[6]、SURF[7]、BRISK[8]、ORB[9]等.特征編碼則是通過特征變換方法對特征描述子進行編碼,從而獲得更高可分性和魯棒性的特征表達,主要的特征編碼方法有向量量化、稀疏編碼、Fisher向量編碼等.從圖像中提取特征表達之后,特定目標可以用一個固定維度的特征向量表示,最后訓練一個分類器對這些特征向量進行分類.常用的分類器有支持向量機(SVM)[10]、K 近鄰、隨機森林[11]、神經網絡等方法.

另一類方法是基于深度學習的方法.相對于淺層學習使用手工特征進行圖像特征描述,深度學習則將特征提取也納入學習范圍.由于深度學習能夠通過大量數據學習到從底層到高層的抽象特征,因此其準確率相比淺層學習的方法有大幅提高.目前主流的深度學習方法有自動編碼器、受限玻爾茲曼機、卷積神經網絡等.其中應用最廣泛的是卷積神經網絡.常見的卷積神經網絡有 AlexNet[12]、VGG、GoogleNet[13]、ResNet[14]等.

本文提出的車型識別方法則是基于檢索的方法.檢索指的是最近鄰搜索,即查詢與輸入數據最接近的一條或一組數據.哈希是一種被廣泛研究的解決最近鄰搜索問題的方法,它將數據轉換為低維表示,這種低維表示指的是一串二進制數,稱為哈希碼(hash code).用于圖像特征表示的哈希方法有兩類[15],一類是局部敏感哈希(locality sensitive hashing,LSH),另一類是哈希學習(learning to hashing).目前主流的方法是哈希學習方法,哈希學習是通過機器學習機制將數據映射成二進制串的形式.

本文提出一種基于哈希檢索的車型識別方法,改進了HashNet深度哈希網絡,引入了雙線性模塊,提出了Bilinear-HashNet網絡.經過實驗對比,檢索圖像的平均準確度提高了20.2%.另外,基于分類的方法無法分類未訓練和標記的數據類型,而本文提出的方法能夠分類未訓練和標記的數據,對未訓練的數據Top1準確率為81.6%.

2 相關研究

2.1 HashNet深度哈希網絡

2.1.1 HashNet網絡結構

HashNet[16]是一種 深 度 哈 希(deep hashing) 網 絡,由Zhangjie Cao等人于2017年提出,如圖1所示.HashNet網絡主要由三部分組成:

1)卷積神經網絡(CNN)層,用于學習圖像的深度特征;

2)全連接的哈希層,首先將深度特征轉換為k維的特征表示,再將k維的特征表示轉換為k位二進制哈希碼;

3)配對(pairwise)損失層,使用帶權重的交叉熵損失函數進行相似性保持學習.

與一般的卷積神經網絡不同的是,HashNet訓練時具有兩個并列的輸入層,輸入兩幅圖像及其標簽.這兩幅圖像經過圖像拼接層在channel維度上合并為一層作為第一個卷積層的輸入.HashNet的卷積神經網絡層使用AlexNet的前7層(分別是Conv1-5、fc6、fc7)來學習車輛圖像的深度特征.這些特征在全連接的哈希層被轉換為k位的二進制哈希碼.由于輸入的是兩幅圖像,需要將輸出的哈希碼結果經過slice_output層分離成各個圖像各自的哈希碼,再輸入到配對損失層,同時兩幅圖像各自的標簽也被送入配對損失層進行訓練.

圖1 HashNet網絡結構圖Fig.1 HashNet structure diagram

2.1.2 損失函數

HashNet網絡訓練時將問題轉換成兩幅圖像是否相似的二分類問題.作為二分類問題,最常用的方法是邏輯回歸(Logistic Regression)分類器.應用到HashNet中,分類器的輸入為兩幅圖像的哈希碼.對于二進制哈希碼,一般采用漢明距離(Hamming distance)來衡量哈希碼之間的相似程度,距離越大表示哈希碼越不相似.由于漢明距離與內積之間存在這樣的轉換公式:

其中σ(x)=1/(1+e-αx)是自適應sigmoid函數,α是控制其帶寬的超參數.α一般設置為10/k,k是哈希碼的位數.這樣設置使得反向傳播效率比α=1的sigmoid函數高很多.

2.1.3 連續性訓練方法

HashNet將k維的特征表示通過sgn函數轉換為k位的哈希碼,sgn函數定義如式(5):,其中 K 為哈希碼的位數.分類器的輸入可以采用哈希碼之間的內積,內積越大表示相似度越高.

在HashNet中,由于數據集中不相似的數據遠遠多于相似的數據,邏輯回歸分類器遇到了嚴重的數據不平衡問題.在這里HashNet采用帶權重的最大似然函數來解決這一問題.給定相似標簽S={Sij},N個訓練數據的哈希碼H=[hi,…,hN]的帶權重的最大似然估計為其中P(S|H)是帶權重的似然函數,sij表示一對數據的相似性,有兩個可能值,0表示不相似,1表示相似,wij是一對數據的權重.為了解決相似數據與不相似數據之間的數據不平衡問題,wij設置為:

這里β>0是超參數,通過增加β,可以使目標函數越來越逼近sgn函數.訓練過程中,一般設置β的初始值為1,每經過一定步長以指數形式增加β,使用tanh(βtz)激活函數訓練HashNet,再將訓練好的權值用于初始化以tanh(βt+1z)為激活函數的HashNet.一般循環這一過程10次即可得到收斂.

2.2 雙線性卷積神經網絡(B-CNN)

雙線性卷積神經網絡[17]是2015年由Tsung-Yu Lin等人提出的,主要用于精細粒度分類.它的主要思想是將圖像經過兩個卷積神經網絡后提取到的不同特征經過池化、矩陣外積的操作結合成雙線性特征向量.

由于sgn函數是不連續的而且非凸,普通的反向傳播方法不可行.HashNet訓練時采用連續的tanh函數,通過調整參數在訓練中逐漸逼近sgn函數,具體的原理如式(6):

其中S1是相似數據對的集合,S0是不相似數據對的集合.

對于每一對數據,P(sij|hi,hj)指的是給定哈希碼hi和hj情況下相似性標簽sij的條件概率,定義如式(3):

雙線性分類模型分為4個部分fA、fB、P、C,前兩個部分是fA、fB是特征函數.特征函數是一個映射 f:L×I→Rc×D,I是圖像數據,L是圖像中的位置,輸出為c×D的特征向量.fA、fB兩個特征函數的在位置L的輸出通過矩陣外積結合成雙線性特征(bilinear feature),雙線性特征定義為 bilinear(L,I,fA,fB)=fA(I,L)TfB(I,L).P是池化函數,它將圖像各個位置的雙線性特征編碼成一個特征,一般采用和池化(sum-pooling).C是分類函數,在卷積神經網絡中一般采用softmax函數進行分類.

總而言之,管理會計和財務會計是目前企業發展過程當中不可或缺的重要組成部分,只有很好地了解企業的運行情況、收集企業發展的重要信息以及降低經營風險才能夠更好地應對以后的風險。所以,在新經濟的發展過程當中,財務會計以及管理會計的融合就成為企業管理體系當中的重要問題。企業相關的管理人員不僅要在思想上進行改變,而且更要從企業發展過程當中的細節上考慮,只有這樣才能夠增強企業的經濟效益和市場的競爭力。

在B-CNN中,特征函數fA、fB均為卷積神經網絡.在雙線性池化之后,還要進行歸一化操作.首先將雙線性特征進行符號平方根(signed square root)運算,即再進行l2歸一化,即z=y/‖y‖2.

B-CNN的反向傳播也比較容易理解.假設兩個網絡的輸出分別為矩陣A和B,大小分別為L×M和L×N,則池化后的雙線性特征為x=ATB,大小為M×N.令dL/dx為損失函數L關于x的梯度,應用鏈式法則可得:

再結合卷積神經網絡的反向傳播,即可學習B-CNN網絡.

雙線性卷積神經網絡有兩類,一類是不對稱的,即fA、fB采用不同的卷積神經網絡結構,另一類是對稱的,即fA、fB為相同的卷積神經網絡結構.對稱的網絡具有一個性質,一旦初始化為對稱的網絡之后,在訓練之后依然保持對稱.因此,對稱的B-CNN可以簡化為僅實現一個CNN網絡,可以帶來極大的效率提高,同時分類準確率的降低很小.文獻[18]對不對稱的B-CNN進行可視化,發現兩個不同模型學習到的部分是類似的,說明兩個模型的角色并沒有顯著分開,因此使用對稱的B-CNN模型時性能下降在可接受范圍內.

雙線性分類模型之所以具有精細粒度分類的能力,是因為用雙線性池化來進行特征編碼,可以得到比卷積神經網絡的全連接層更具可分性的特征向量.經過實驗對比,使用同樣的深度網絡提取特征的情況下,雙線性池化比神經網絡全連接層和Fisher向量編碼性能更高.

3 Bilinear-HashNet網絡模型

3.1 HashNet網絡的改進

3.1.1 改進卷積層

HashNet使用AlexNet的卷積層作為特征提取層.Bilinear-HashNet網絡用VGG-16的卷積層替換了AlexNet部分.VGG-16網絡相比AlexNet具有更深的層,能夠更好地表達圖像特征,在分類任務上錯誤率更低,用于深度哈希網絡中能夠生成更具有可分性的哈希碼.

3.1.2 用雙線性模塊替換了全連接層

分類用的卷積神經網絡,如AlexNet、VGG,以及HashNet均使用全連接層對卷積層提取的特征進行編碼.全連接層對于普通的分類和檢索任務表現很好,但是對于車型識別這種類之間差異較小的應用上,全連接層的特征編碼性能不足,不能夠生成足夠可分性的特征向量,成為了這類任務的瓶頸.

Bilinear-HashNet網絡借鑒了雙線性卷積神經網絡的思想,將HashNet網絡哈希層前的全連接層替換為雙線性模塊.雙線性模塊包括雙線性池化層、歸一化層.雙線性池化層的輸入為兩個矩陣.當兩個輸入不同時,需要神經網絡具有兩組不同的卷積層,這是非對稱的雙線性卷積神經網絡.當兩個輸入相同時,僅需要一組卷積層,這是對稱的雙線性卷積神經網絡.使用對稱的雙線性模塊,只需要替換HashNet中的全連接層,相當于替換了HashNet中的特征編碼方法.使用雙線性模塊可以將卷積層提取的特征編碼為具有高可分性的特征向量,根據優化后的特征向量可以生成更具可分性的哈希碼.

3.2 Bilinear-HashNet網絡結構

本文提出的Bilinear-HashNet網絡在HashNet網絡基礎上,引入了雙線性模塊,實現了對于車輛等精細粒度目標的高性能檢索.其網絡結構如圖2所示.

基于HashNet的改進主要是將HashNet中的卷積神經網絡替換成VGG-16,并將全連接層替換為雙線性模塊.雙線性模塊的輸入為對稱的VGG-16網絡的卷積層,僅需一組卷積層.Bilinear-HashNet沒有采用兩個不同深度的網絡,是因為不對稱的雙線性模型速度更慢,相比使用單個較深的網絡性能提升較小.

該網絡輸入圖像的大小為448×448,圖像經過所有卷積層之后輸出的特征圖為512通道的,大小為27×27.再將該特征圖輸入到雙線性模塊,分別進行雙線性池化和歸一化,得到8192維實數特征.最后將實數特征輸入到哈希層,轉換為k 位哈希碼,k 為用戶設定值,一般為 48、64、80、96.5.2 節中實驗展示了不同位數哈希碼對于檢索和分類性能的影響.

3.3 網絡的優化和調參

Bilinear-HashNet的訓練分3步.第1步是根據ImageNet預訓練模型訓練雙線性模塊的最后一層,第2步則是根據第一步的結果訓練整個雙線性模塊.前兩步的訓練方法是,構建雙線性模塊的分類網絡,以softmax損失函數為目標進行優化.第3步是以第2步訓練出來的模型為基礎,單獨訓練哈希表示層.

Bilinear-HashNet的訓練每一步驟均采用帶momentum的隨機梯度下降方法.根據文獻[19]所述,momentum參數均設置為0.9.批處理數量(batch size)在GPU內存允許范圍內應盡量調大,但不宜超過256.批處理數量太大會導致Bilinear-HashNet網絡的收斂更慢.

第1步只訓練雙線性池化層,學習率一般調的較大,初始學習率一般設為1.0.由于要訓練的權值數量較小,權值衰減參數要調低,一般設為0.000005.

第2步訓練整個雙線性模塊,學習率要設置的小一些,根據不同數據集,初始學習率應設置在10e-4到10e-5之間.權值衰減設為標準值0.0005即可.

第3步訓練哈希表示層,學習率也應設置的小一些.由于只訓練哈希相關的層,權值衰減參數要設置的小一些,一般設為 0.000005.

4 基于Bilinear-HashNet網絡的車型識別方法

Bilinear-HashNet網絡相當于一個哈希函數,將車輛圖片轉換為二進制哈希碼.通過計算兩幅圖像哈希碼之間的漢明距離可以得到兩幅圖像之間的相似度.根據這一性質,可以實現相似車輛圖片檢索.首先,將一部分有標簽的車輛圖像作為查詢庫,先計算這些圖像的哈希碼,存儲在文件或數據庫中.然后,輸入要檢索的車輛圖像,計算該圖像的哈希碼,與查詢庫中保存的哈希碼進行匹配,得到與檢索圖像最相似的一批車輛圖像.

在相似車輛圖片檢索基礎上,分析返回的一批車輛圖像,當返回圖像中某一類的車輛圖像占比最多,就將查詢圖像分類到這一類中,從而實現車型識別.

相比直接訓練分類用的卷積神經網絡,基于Bilinear-HashNet網絡的車型識別方法的主要創新點在于能夠識別在訓練過程中未見過的數據類型.只需要計算這些未訓練數據的哈希碼,存儲到查詢庫中,就能對這些類的車輛圖片進行分類、識別.應用中,未訓練數據類型數一般小于已訓練數據類型數,主要用途是在新增最近車型數據時不用重新訓練模型.如果未訓練數據類型數多于已訓練數據類型數,建議重新訓練模型以獲得更好的效果.

5 實驗結果與分析

5.1 實驗過程

實驗選取了CompCars數據集進行訓練和測試,該數據集包含各種視角下的車輛圖片.數據集圖片示例如圖3所示.

CompCars數據集有163個車系,每個車系下分為不同車型,每個車型又分為不同年代.本文按照車型對原始數據集進行處理,將年代不同且車型相同的車輛看做同一個類.并且,忽略小于100張圖片的車型類.處理后的數據集具有841個類.

然后,將這841個類分為700類和141類,700類用于訓練和測試,141類用于測試車型識別方法對于未訓練的數據類型的性能.其中,700類又被分為訓練集和驗證集,驗證集的圖片從每類中隨機抽取30張,共計21000張圖片,訓練集則包含65179張圖片.

Bilinear-HashNet網絡的訓練方法按3.2節所述分為三步.第一步訓練雙線性池化層,學習率設為1.0,直到損失不再下降.第二步訓練整個雙線性模塊,初始學習率設為0.00005,每當損失不再下降時,將學習率減小為初始學習率的1/10.第三層訓練哈希層,學習率的設定與第二步相同.

實驗采取MAP、avg_p@8、Top1準確率三個指標來評價網絡的性能.MAP(mean average precision)是常用的評價檢索系統性能的指標,其中,AP(average precision)反映的是一次檢索中不同召回率下準確率的平均值,MAP則是每次檢索的AP值的平均.在本文設計的檢索系統中,輸入目標車輛圖片,會返回8張相似圖片.然后分析這些圖片的類型,哪一類的數量大,就將目標車輛圖片分類到這一類中.評價指標avg_p@8是每次檢索返回的前8張圖片的平均準確率.Top1準確率是上述方法進行分類后得到的第一個類別的準確率.

Bilinear-HashNet網絡生成的哈希碼的位數可以在訓練網絡時指定.本文選取了 48bits、64bits、80bits、96bits四種不同哈希碼位數進行實驗.

5.2 實驗結果

對于已訓練數據類型,Bilinear-HashNet(BHN)網絡和HashNet網絡在車型識別系統中的性能如表1所示.

表1 已訓練數據類型實驗結果Table 1 Experiment results of trained data

表2 未訓練數據類型實驗結果Table 2 Experiment results of untrained data

對于未訓練的數據,兩種方法的性能如表2所示.

5.3 結果分析

從實驗結果可以得出,在相同的哈希碼位數下,Bilinear-HashNet的性能均比HashNet好.其中96bits的實驗中,Bilinear HashNet對于已訓練數據和未訓練數據分別獲得了81.5%和81.6%的 Top1準確率,相比HashNet分別提升了22.4%和24.4%.其他評價指標上,Bilinear-HashNet的 avg_p@8和MAP也遠遠好于HashNet.

Bilinear-HashNet網絡在已訓練和未訓練的數據的Top1準確率相近,在80bits和96bits的實驗中,未訓練的數據比已訓練數據的Top1準確率有微小的提升,在avg_p@8和MAP上未訓練的數據比已訓練的數據略低.說明本文提出的方法能夠用于未訓練數據類型的分類、檢索,且Bilinear-HashNet網絡未出現過擬合現象.未訓練數據的Top1準確率和已訓練數據相近,甚至準確率更高,這反映了Bilinear-HashNet深度哈希網絡從原理上可以理解為特征函數,對于未訓練的數據類型仍能夠有效的提取特征,因為車型識別任務所需要的圖像特征提取方式已經被網絡學習到了.而且,先檢索一組相似圖像,再通過投票的方法進行分類,使得錯誤的檢索結果一般不會重復出現,而正確的相似圖片會多次出現,因此未訓練數據在avg_p@8和MAP這兩個指標略微降低的情況下,Top1準確率仍然會很高.

對于不同的哈希碼位數,Bilinear-HashNet的性能隨著位數增加而提高,位數越大,再增加哈希碼位數所獲得的精度提升就越小.實驗證明,輸出96位哈希碼可以取得速度與精度的平衡.

使用深度哈希網絡生成圖片的哈希碼,可以獲得對未訓練數據進行分類的能力,不過相比分類用的深度神經網絡,對于已訓練的數據必然有特征信息的損失,需要一定的哈希碼位數才能獲得近似的性能.未來將對于深度哈希網絡的哈希層和損失函數進行進一步研究,使得網絡可以用更少的哈希碼提取相同信息的特征.

6 結論

本文提出了Bilinear-HashNet深度哈希網絡,該網絡可以提取目標圖像的特征并轉換為哈希碼.基于這一網絡,本文還提出了一種車型識別方法,其主要優點是可以通過將新的車型數據添加到數據庫中的方法來實現對未訓練圖像的分類.實驗顯示,本文提出的方法在CompCars數據集上對于已訓練和未訓練數據的Top1分類準確率分別能夠達到81.5%和81.6%,相比 HashNet分別提高了22.4%和24.4%.

猜你喜歡
分類特征
抓住特征巧觀察
分類算一算
垃圾分類的困惑你有嗎
大眾健康(2021年6期)2021-06-08 19:30:06
新型冠狀病毒及其流行病學特征認識
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
分類討論求坐標
數據分析中的分類討論
教你一招:數的分類
抓住特征巧觀察
主站蜘蛛池模板: 精品国产亚洲人成在线| 国产久草视频| 国产高清在线观看91精品| 啊嗯不日本网站| 亚洲另类色| 99精品在线看| 成人免费网站在线观看| 国产精品亚欧美一区二区| 国产在线观看99| 99久视频| 伊人久久综在合线亚洲2019| 日韩精品一区二区三区视频免费看| 国产不卡国语在线| 九九九精品成人免费视频7| 亚洲高清日韩heyzo| 九色综合伊人久久富二代| 毛片在线看网站| 成年片色大黄全免费网站久久| 久久精品这里只有精99品| 亚洲av日韩av制服丝袜| 26uuu国产精品视频| 亚洲日韩在线满18点击进入| 亚洲人成成无码网WWW| 她的性爱视频| 国产一二视频| 香蕉综合在线视频91| 国产超碰一区二区三区| 女人18毛片一级毛片在线 | 亚洲精品国产成人7777| 欧美日韩v| 国产在线麻豆波多野结衣| 激情视频综合网| 2020国产精品视频| 亚洲成人动漫在线观看| 国产精品久久久精品三级| 不卡无码h在线观看| 欧美成人综合在线| 亚洲AV无码乱码在线观看裸奔 | 干中文字幕| 香蕉久久永久视频| 国产日本一区二区三区| 亚洲欧美极品| 色天天综合久久久久综合片| 久久中文字幕2021精品| 91久久精品国产| 毛片免费在线| 色综合五月婷婷| 伊人久久综在合线亚洲2019| 中文字幕第4页| 乱系列中文字幕在线视频| 97se亚洲综合| 色亚洲成人| 欧美国产在线看| 欧美亚洲激情| 亚洲 欧美 日韩综合一区| 亚洲视频一区在线| 亚洲一区毛片| 午夜视频www| 一级毛片在线播放免费| 国产杨幂丝袜av在线播放| 国产精品福利在线观看无码卡| 欧美国产成人在线| 免费观看欧美性一级| 久久成人18免费| 国内精品视频在线| 国产区网址| 午夜精品影院| 国产91久久久久久| 亚洲男人的天堂在线观看| 欧美第二区| 久久综合色天堂av| 日韩毛片基地| 在线观看av永久| 午夜人性色福利无码视频在线观看| 在线观看网站国产| 伊在人亚洲香蕉精品播放| 国产成人综合久久| 日韩美毛片| 91福利免费| 亚洲中文字幕久久精品无码一区| 国产精品男人的天堂| 亚洲国产理论片在线播放|