丁繼文
摘要:針對(duì)圖像分類中背景信息太多容易誤導(dǎo)分類結(jié)果的問題,提出一種篩選—識(shí)別網(wǎng)絡(luò)架構(gòu),通過剔除與分類無關(guān)的背景信息、定位要分類的感興趣區(qū)域及提高對(duì)車輛細(xì)粒度分類的準(zhǔn)確率。用YOLOv3網(wǎng)絡(luò)快速尋找需要分類的目標(biāo)物體,消除背景中無關(guān)信息對(duì)分類的誤導(dǎo),將結(jié)果送入到雙線性卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練和分類,結(jié)果在Cars196數(shù)據(jù)集中對(duì)車輛的車型、顏色和方向的分類精度為92.1%,92.7%,97.4%。利用監(jiān)控視頻自制數(shù)據(jù)集中對(duì)車型、顏色和方向的分類精度為71.3%,68%,85.6%。使用篩選—識(shí)別網(wǎng)絡(luò)架構(gòu)對(duì)車輛的細(xì)粒度分類有積極作用,可以剔除大部分對(duì)分類沒有用的背景信息,更有利于網(wǎng)絡(luò)學(xué)習(xí)分類的特征信息,從而避免背景信息對(duì)分類結(jié)果的誤導(dǎo),提升模型的分類精度。
關(guān)鍵詞:細(xì)粒度圖像分類;目標(biāo)檢測(cè);雙線性卷積神經(jīng)網(wǎng)絡(luò);YOLOv3;篩選—識(shí)別網(wǎng)絡(luò)架構(gòu)
中圖分類號(hào):TP391文獻(xiàn)標(biāo)志碼:A文章編號(hào):1008-1739(2021)03-68-6
0引言
圖像分類[1]在計(jì)算機(jī)視覺領(lǐng)域是一個(gè)經(jīng)典課題,包括粗粒度圖像分類和細(xì)粒度圖像分類[2]。細(xì)粒度圖像分類是對(duì)在同一個(gè)大類別下進(jìn)行更細(xì)致的分類,如區(qū)分貓狗的品種、車的品牌或車型[3-4]及鳥的種類等,在很多情況下細(xì)粒度分類才更有實(shí)際意義。細(xì)粒度分類與粗粒度的分類不同使細(xì)粒度分類往往具有細(xì)微的類間差異,加上圖像采集中存在光照、樣式、角度、遮擋及背景干擾等因素影響,與普通的圖像分類課題相比,細(xì)粒度圖像分類的研究難度更大。
在深度學(xué)習(xí)[5]興起之前,基于人工特征的細(xì)粒度圖像分類算法,一般先從圖像中提取SIFT[6]或HOG[7]等局部特征,然后利用VLAD[8]或Fisher vector[9-10]等編碼模型進(jìn)行特征編碼。Berg等人[11]嘗試?yán)镁植繀^(qū)域信息的特征編碼方法去提取POOF特征。但是由于人工提取特征的過程十分繁瑣,表述能力不強(qiáng),所以分類效果并不理想。隨著深度學(xué)習(xí)的興起,利用卷積神經(jīng)網(wǎng)絡(luò)[12]提取特征比人工提取特征表述能力更強(qiáng),分類效果更好,大量基于卷積特征算法的提出促進(jìn)了細(xì)粒度圖像分類的發(fā)展。
按照模型訓(xùn)練時(shí)是否需要人工標(biāo)注信息,基于深度學(xué)習(xí)的細(xì)粒度圖像分類算法分為強(qiáng)監(jiān)督和弱監(jiān)督[13]2類。強(qiáng)監(jiān)督的細(xì)粒度圖像分類在模型訓(xùn)練時(shí)不僅需要圖像的類別標(biāo)簽,還需要圖像標(biāo)注框和局部區(qū)域位置等人工標(biāo)注信息,而弱監(jiān)督的細(xì)粒度圖像分類在模型訓(xùn)練時(shí)僅依賴于類別標(biāo)簽。然而,無論是強(qiáng)監(jiān)督還是弱監(jiān)督的細(xì)粒度圖像分類算法,大多數(shù)細(xì)粒度圖像分類算法的思路都是先找到前景對(duì)象和圖像中的局部區(qū)域,之后利用卷積神經(jīng)網(wǎng)絡(luò)對(duì)這些區(qū)域分別提取特征,并將提取的特征連接完成分類器的訓(xùn)練和預(yù)測(cè)[14]。Zhang等人[15]提出了part-based R-CNN算法,先采用R-CNN算法對(duì)圖像進(jìn)行檢測(cè),得到局部區(qū)域,再分別對(duì)每一塊區(qū)域提取卷積特征,并將這些區(qū)域的特征連接構(gòu)成一個(gè)特征向量,最后用支持向量機(jī)(SVM)訓(xùn)練分類。然而,選擇性搜索算法會(huì)產(chǎn)生大量無關(guān)的候選區(qū)域,造成運(yùn)算上的浪費(fèi)。Lin[16]等人提出了新穎的雙線性卷積神經(jīng)網(wǎng)絡(luò)(B-CNN)的弱監(jiān)督細(xì)粒度圖像分類算法,在3個(gè)經(jīng)典數(shù)據(jù)集上達(dá)到很高的分類精度,能夠?qū)崿F(xiàn)端到端的訓(xùn)練,且僅依賴類別標(biāo)簽,而無需借助其他的圖像標(biāo)注信息,提高了算法的實(shí)用性。
在一幅圖像中有區(qū)分度的信息所占圖像的比例越高,卷積網(wǎng)絡(luò)提取的利于分類的特征就越多,分類效果就越好,與人類區(qū)分物體聚焦的過程相似。本文提出一種基于深度學(xué)習(xí)的篩選—識(shí)別的網(wǎng)絡(luò)架構(gòu),使用YOLOv3快速找到物體,篩選圖像中有區(qū)分度的區(qū)域,剔除對(duì)分類不利的背景信息,再使用B-CNN[17]模型對(duì)有區(qū)分度的區(qū)域進(jìn)行特征提取和分類,從而降低了無關(guān)背景信息對(duì)分類結(jié)果的干擾,提高了分類的精度。
1篩選—識(shí)別的網(wǎng)絡(luò)架構(gòu)
1.1總體框架
利用YOLOv3算法檢測(cè)網(wǎng)絡(luò)尋找圖片的目標(biāo)區(qū)域,篩選去除與分類無關(guān)的信息,然后將得到的結(jié)果(YOLOv3的輸出)輸入B-CNN中得到最后的多屬性分類結(jié)果,系統(tǒng)架構(gòu)如圖1所示。
1.2基于YOLOv3的檢測(cè)方法
1.2.1基于YOLOv3的網(wǎng)絡(luò)篩選
YOLOv3算法是對(duì)YOLOv2目標(biāo)檢測(cè)算法的改進(jìn),將輸入圖像劃分成×個(gè)柵格,更加細(xì)致的柵格劃分使得模型對(duì)小物體的定位更加精準(zhǔn)。經(jīng)過YOLOv2檢測(cè)網(wǎng)絡(luò),對(duì)每個(gè)柵格都預(yù)測(cè)個(gè)邊界框,為平衡模型的復(fù)雜度和召回率,選擇邊界框的個(gè)數(shù)為5,最終會(huì)保留與物體真實(shí)邊界框的交并比(IOU)最大的那個(gè)邊界框,即:
最后得到的邊界框形狀大多為細(xì)高型,扁平型居少。每個(gè)邊界框預(yù)測(cè)5個(gè)回歸值(,,,,),,表示邊界框的中心坐標(biāo),,表示邊界框的高度和寬度,為置信度。=×IOU,其中,的值為0或1,0表示圖像中沒有目標(biāo),1表示圖像中有目標(biāo)。置信度反映了是否包含目標(biāo)以及包含目標(biāo)情況下預(yù)測(cè)位置的準(zhǔn)確性。為了更好的實(shí)驗(yàn)效果,設(shè)置閾值為0.3,得分小于0.3的邊界框會(huì)被全部排除,剩下的是最后的預(yù)測(cè)邊界框。
邊界框預(yù)測(cè)調(diào)整:,經(jīng)過回歸函數(shù)處理后,范圍固定在0~1,,表示柵格的坐標(biāo),比如某層的特征圖大小是10×10,那么柵格就有10×10個(gè),比如第0行第0列的柵格的坐標(biāo)是0,就是0。最后的預(yù)測(cè)為:
1.2.2篩選區(qū)域的網(wǎng)絡(luò)結(jié)構(gòu)
YOLOv3算法提出了Darknet53[18]的分類網(wǎng)絡(luò),不同于YOLOv2提出的DarkNet19分類網(wǎng)絡(luò)結(jié)構(gòu),有53個(gè)卷積層和5個(gè)最大池化層,比Darknet-19效果好很多。同時(shí),Darknet53在效果更好的情況下,是Resnet-101效率的1.5倍,在與Resnet-152的效果幾乎相同的情況下,效率是Resnet-152的2倍,DarkNet-53網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
YOLOv3的檢測(cè)網(wǎng)絡(luò)使用數(shù)據(jù)集訓(xùn)練Darknet-53,輸入圖像為416×416,然后在3種尺度上特征交互,分別是13×13,26×26,52×52,在每個(gè)尺度內(nèi),通過卷積核(3×3和1×1)的方式實(shí)現(xiàn)特征圖之間的局部特征交互,作用類似于全連接層。
最小尺度YOLO層:輸入13×13的特征圖,一共1 024個(gè)通道。經(jīng)過一系列的卷積操作,特征圖的大小不變,但是通道數(shù)最后減少為75個(gè),結(jié)果輸出13×13大小的特征圖,75個(gè)通道。
中尺度YOLO層:輸入前面的13×13×512通道的特征圖進(jìn)行卷積操作,生成13×13×256通道的特征圖,然后進(jìn)行上采樣,生成26×26×256通道的特征圖,同時(shí)與61層的26×26×512通道的中尺度的特征圖合并。再進(jìn)行一系列卷積操作,特征圖的大小不變,但是通道數(shù)最后減少為75個(gè)。結(jié)果輸出26×26大小的特征圖,75個(gè)通道。
大尺度的YOLO層:輸入前面的26×26×256通道的特征圖進(jìn)行卷積操作,生成26×26×128通道的特征圖,然后進(jìn)行上采樣生成52×52×128通道的特征圖,同時(shí)與36層的52×52×256通道的中尺度的特征圖合并。再進(jìn)行一系列卷積操作,特征圖的大小不變,但是通道數(shù)最后減少為75個(gè)。結(jié)果輸出52×52大小的特征圖,75個(gè)通道,最后在3個(gè)輸出上進(jìn)行分類和位置回歸。
1.3基于B-CNN的特征提取和識(shí)別
1.3.1 B-CNN模型的結(jié)構(gòu)
B-CNN是Tsungyu Lin等人提出的具有優(yōu)異泛化性的B-CNN。B-CNN模型由一個(gè)四元組組成:M=( , , , ),其中,和為基于卷積神經(jīng)網(wǎng)絡(luò)A和B的特征提取函數(shù),是一個(gè)池化函數(shù),是分類函數(shù)。特征提取函數(shù)可以看成一個(gè)函數(shù)映射,將輸入圖像I與位置區(qū)域L映射為一個(gè)×維的特征。輸入圖像在某一位置I處的雙線性特征可表示為:
2實(shí)驗(yàn)結(jié)果與分析
2.1數(shù)據(jù)集
為了驗(yàn)證方法的效果,采用標(biāo)準(zhǔn)細(xì)粒度圖像分類數(shù)據(jù)集Cars196和利用監(jiān)控視頻截取圖片自制數(shù)據(jù)集進(jìn)行測(cè)試,數(shù)據(jù)集的若干樣本如圖4所示。Cars196數(shù)據(jù)集一共有16 185幅圖像,提供196類不同品牌、年份、車型的車輛圖像,分為訓(xùn)練集和測(cè)試集兩部分,大小分別為8 144幅和8 041幅。
制作數(shù)據(jù)集,首先將不同時(shí)間段的監(jiān)控視頻按1幀/秒自動(dòng)截圖,獲取到樣本后再進(jìn)行篩選,刪除不符合要求的圖片。采集到的圖片中車輛來自不同方向使檢測(cè)角度多樣,不能僅僅局限在某個(gè)特定方向,顏色和車型要多樣且盡量平衡,避免數(shù)據(jù)集集中在某一樣中,提高數(shù)據(jù)集質(zhì)量,共選取1 418張圖片。按照COCO數(shù)據(jù)集的圖像標(biāo)注標(biāo)準(zhǔn),將獲取到的樣本使用yolo mark進(jìn)行標(biāo)注,產(chǎn)生訓(xùn)練所需要的xml文件。
2.2實(shí)驗(yàn)結(jié)果和分析
使用YOLOv3預(yù)訓(xùn)練模型從Cars196數(shù)據(jù)集和自制數(shù)據(jù)集中分別篩選具有判別性的區(qū)域,并將圖片分辨率歸一化為448×448像素。然后對(duì)改進(jìn)的B-CNN進(jìn)行微調(diào)整:①將分類層的類別數(shù)替換為車型、顏色和方向的類別數(shù);②對(duì)最后一層的參數(shù)初始化,且只訓(xùn)練最后一層。設(shè)置較小的學(xué)習(xí)率數(shù)值為0.001,使用隨機(jī)梯度下降法通過反向傳播微調(diào)整個(gè)模型,迭代次數(shù)在50~100之間。本實(shí)驗(yàn)中完成了車輛的車型、顏色以及方向的識(shí)別與分類。車型分為大客車、轎車、卡車及運(yùn)動(dòng)型實(shí)用、汽車等8種類別,車輛的顏色設(shè)置了黑色、白色及藍(lán)色等9種類別,車頭方向設(shè)置前和后2種類別。用準(zhǔn)確率和召回率來評(píng)估方法的性能,準(zhǔn)確率和召回率的定義如下:
[11] BERG T, BELHUMEUR P.Poof:Part-based One-vs-One Features for Fine-grained Categorization, Face Vereification, And Attribute Estimatioin[C]//IEEE Conference on Computer Vision and Pattern Recognition.Sydney: IEEE,2013:955-962.
[12]周飛燕,金林鵬,董軍.卷積神經(jīng)網(wǎng)絡(luò)研究綜述[J].計(jì)算機(jī)學(xué)報(bào),2017,40(6):1229-1251.
[13] XIAO TJ,XU YC,YANG KY,et al.The Application of Two-level Attention Models in Deep Convolutional Neural Network for Fine-Grained Image Classification [C]//2015 IEEE Conference on Computer Vision and Pattern Recognition. Boston:IEEE,2015:1-10.
[14]翁雨辰,田野,路敦民,等.深度區(qū)域網(wǎng)絡(luò)方法的細(xì)粒度圖像分類[J].中國圖象圖形學(xué)報(bào),2017,22(11):1521-1531.
[15] ZHANG N,DONAHUE J,GIRSHICK R,et al.Part-based R-CNNs for Fine-grained Category Detection[C]// Proceedings of the 13th European Conference on Computer Vision-ECCV 2014.Zurich:Springer,2014:834-849.
[16] LIN T Y, CHOWDHURY R A,MAJI S.Bilinear Convolutional Neural Networks for Fine-Grained Visual Recognition[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2018,40(6):1309-1322.
[17] LIN T Y, CHOWDHURY R A,MAJI S.Bilinear CNN Models for Fine-grained Visual Recognition[C]// 2015 IEEE International Conference on Computer Vision (ICCV). Santiago: IEEE,2015: 1449-1457.
[18] HUANG G,LIU Z,WEINBERGER K Q,et al.Densely Connected Convolutional Networks[C]//CVPR 2017.Hawaii: IEEE,2017:2261-2269.