陳立潮,張 雷,曹建芳,2*,張 睿
(1.太原科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,太原 030024;2.忻州師范學(xué)院計(jì)算機(jī)系,山西忻州 034000)
(*通信作者電子郵箱kcxdj122@126.com)
隨著社會(huì)的發(fā)展,人民生活水平逐步提高,汽車的數(shù)量也日益增多。一些不法分子利用當(dāng)前車輛監(jiān)控視頻缺乏詳細(xì)車型信息的缺陷,制造出一些套牌車輛、虛假車牌車輛,這些車輛給交通管理部門帶來(lái)了許多不便,給社會(huì)治安帶來(lái)極大的隱患[1]。車型分類是智能交通中的重要內(nèi)容,通過(guò)車型分類能夠?yàn)檐囕v視頻監(jiān)控提供更多的車輛信息,從而能夠更好地核驗(yàn)車輛的真實(shí)身份,并發(fā)現(xiàn)并減少套牌車、假牌車的數(shù)量。隨著汽車數(shù)量的增加,汽車的外形也產(chǎn)生了更多的變化,目前市面上的汽車類型已經(jīng)到達(dá)上千種,傳統(tǒng)一步識(shí)別到具體車型的方式已經(jīng)不再適用,先對(duì)汽車的外觀類型進(jìn)行粗分類,然后再細(xì)分具體的汽車型號(hào)成為一種可行的解決方式。在交通監(jiān)控場(chǎng)景下,只能拍攝到汽車的前臉和部分側(cè)面信息,用于對(duì)不同車型進(jìn)行區(qū)別的特征大大減少,這給車型識(shí)別帶來(lái)類了一些困難,再加上雨雪或者大霧天氣、光照等影響,給交通監(jiān)控下的車型分類的準(zhǔn)確性帶來(lái)了極大的挑戰(zhàn)。
車型分類一般包括兩個(gè)步驟:特征提取和分類器。特征提取的研究有很多,代表性的特征有方向梯度方向統(tǒng)計(jì)直方圖(Histogram of Oriented Gradient,HOG)、Haar 特征和Strip 特征等[2-4],而常見(jiàn)的分類器有支持向量機(jī)[5]、Softmax[6]等。近些年,隨著深度學(xué)習(xí)[7]和計(jì)算機(jī)視覺(jué)[8]的發(fā)展,使用深度學(xué)習(xí)來(lái)提高車型分類的精度成為一種新的解決途徑?;谏窠?jīng)網(wǎng)絡(luò)[9-11]的車型分類一般采用卷積操作和池化操作的方式提取特征,這樣可以更好地對(duì)各個(gè)類別獨(dú)有的特征進(jìn)行提取。有些學(xué)者對(duì)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn),以提高準(zhǔn)確率,如Zhen等[12]在卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)中引入稀疏的拉普拉斯濾波學(xué)習(xí)器學(xué)習(xí)車輛特征,桑軍等[13]采用Faster-RCNN(Faster Region CNN)在幾種車型數(shù)據(jù)集上進(jìn)行車型識(shí)別。
由于車輛圖像中含有的特征是豐富、多樣的,僅采用單通道的卷積操作提取特征,會(huì)丟失圖像的顏色和梯度信息,而且,CNN、Faster-RCNN 這類網(wǎng)絡(luò)在提取特征時(shí)容易丟失圖像特征的空間位置關(guān)系。基于這兩方面的考慮,本文提出一種梯度直方圖卷積特征的膠囊網(wǎng)絡(luò)模型(Capsule Network model fusing with HOG Convolutional features,HOG-C CapsNet),在膠囊網(wǎng)絡(luò)(CapsNet)[14]的基礎(chǔ)上,增加了梯度直方圖卷積特征(HOG-C 特征)提取方式,即先提取圖像的梯度統(tǒng)計(jì)信息,生成HOG特征圖,然后通過(guò)卷積層獲取圖像的顏色特征圖,即C特征圖,再將HOG 特征圖和C 特征圖融合,形成融合了顏色、梯度信息的HOG-C 特征圖,然后再次通過(guò)卷積層進(jìn)行高層抽象特征提取,形成HOG-C 抽象特征圖。HOG-C CapsNet 將梯度直方圖卷積特征提取方法提取出來(lái)的HOG-C 抽象特征圖輸入主膠囊成形成具有空間位置關(guān)系的高層特征,并使用數(shù)字膠囊層進(jìn)行車型分類,使模型在交通監(jiān)控場(chǎng)景下的車型分類上具有更高的精度。
膠囊網(wǎng)絡(luò)[14]是一種具有強(qiáng)泛化能力的深度學(xué)習(xí)網(wǎng)絡(luò)模型,相比卷積神經(jīng)網(wǎng)絡(luò),去掉了會(huì)造成特征丟棄的池化層,并充分利用了圖像中各個(gè)特征之間的空間關(guān)系,獲得高層特征和低層特征之間的位置關(guān)系作為一種用于分類的特征。膠囊是一組神經(jīng)元的集合,每個(gè)神經(jīng)元代表一種特定類型特征,使用向量的方式進(jìn)行表示,這樣不同特征之間的相對(duì)位置就會(huì)互相作用,對(duì)由它們進(jìn)行高層抽象組合的膠囊的表達(dá)結(jié)果產(chǎn)生影響。
膠囊網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示,核心是主膠囊層和數(shù)字膠囊層。MNIST 手寫數(shù)字圖像是大小為28×28×1 的灰度圖像。首先,通過(guò)一個(gè)普通的卷積層進(jìn)行簡(jiǎn)單的顏色特征提取,然后使用ReLU(Rectified Linear Unit)激活函數(shù)對(duì)卷積得到的顏色特征做歸一化處理。通過(guò)卷積層后產(chǎn)生大小為20×20×256 的特征圖層,然后通過(guò)具有32 個(gè)膠囊的主膠囊層封裝成具有空間特征關(guān)系的特征膠囊,再通過(guò)動(dòng)態(tài)路由算法根據(jù)這些三維膠囊的margin loss 進(jìn)行優(yōu)化處理,最后通過(guò)數(shù)字膠囊層輸出代表分類結(jié)果的10 個(gè)膠囊,每個(gè)膠囊向量的歐氏長(zhǎng)度即屬于這一個(gè)分類的概率。
圖1 膠囊網(wǎng)絡(luò)基本結(jié)構(gòu)Fig.1 Basic structure of CapsNet
膠囊網(wǎng)絡(luò)使用margin loss 作為其損失計(jì)算方法,計(jì)算公式如式(1)所示:
其中:變量L表示計(jì)算得到的margin loss;Rj表示第j類是否存在,如果存在則值為1,否則為0;m+和m-是假陰性和假陽(yáng)性懲罰,假陰性懲罰即第j類存在但是預(yù)測(cè)不存在時(shí)的懲罰力度,假陽(yáng)性懲罰為第j類不存在但是預(yù)測(cè)存在時(shí)的懲罰力度,膠囊網(wǎng)絡(luò)將其分別設(shè)定為0.9 和0.1;λ是比例系數(shù),調(diào)整假陰性和假陽(yáng)性懲罰結(jié)果的比重;vj是用向量表示的膠囊。
梯度方向統(tǒng)計(jì)直方圖[15]能夠有效描述圖像局部的梯度紋理特征。原理是計(jì)算圖像的一個(gè)區(qū)域中每個(gè)像素點(diǎn)的梯度,然后按照梯度方向分區(qū)進(jìn)行分段統(tǒng)計(jì),從而得到這個(gè)區(qū)域的梯度統(tǒng)計(jì)方向直方圖。將這些梯度統(tǒng)計(jì)直方圖作為特征,進(jìn)行HOG特征提取,最后融合成HOG特征圖。
HOG 特征圖的生成步驟為劃分區(qū)域、計(jì)算梯度、構(gòu)造梯度和形成特征圖四步:1)劃分區(qū)域是將圖像按照像素點(diǎn)分成若干大小固定的Cell 區(qū)域,若干個(gè)Cell 劃分為一個(gè)Block 區(qū)域;2)計(jì)算梯度是獲得每個(gè)Cell 中各個(gè)像素的梯度方向和梯度大?。?)構(gòu)造梯度是將整個(gè)梯度范圍等分為數(shù)個(gè)大小相同的區(qū)間,每個(gè)區(qū)間叫作一個(gè)Bin,將第2)步計(jì)算出的梯度對(duì)應(yīng)到不同的Bin中進(jìn)行累加計(jì)數(shù);4)形成特征圖是將多個(gè)Cell單元組合成Block 塊,然后每個(gè)Block 塊進(jìn)行歸一化后形成梯度方向直方圖,所有的Block 塊的梯度方向直方圖融合得到HOG特征圖。
為了充分利用圖像中的梯度統(tǒng)計(jì)特征、顏色信息特征以及特征的空間位置信息,從而改善車型分類效果,本文提出了梯度直方圖卷積特征的膠囊網(wǎng)絡(luò)模型(HOG-C CapsNet)。該方法在膠囊網(wǎng)絡(luò)的基礎(chǔ)上增加了梯度直方圖卷積特征提取方式,用于對(duì)車輛圖像進(jìn)行多種特征的提取,提取到的HOG-C抽象特征輸入到膠囊網(wǎng)絡(luò)中進(jìn)行進(jìn)一步封裝膠囊,用于車型分類。整個(gè)網(wǎng)絡(luò)的結(jié)構(gòu)如圖2 所示,首先使用HOG 特征提取層獲取HOG 特征圖,然后使用卷積層獲取顏色特征圖,并將其與HOG特征圖融合后形成HOG-C特征圖,之后輸入卷積層進(jìn)一步提取抽象特征形成HOG-C 抽象特征圖,最后,將HOG-C 抽象特征圖作為膠囊網(wǎng)絡(luò)的輸入,再將膠囊網(wǎng)絡(luò)中各層的參數(shù)做一些適應(yīng)性改進(jìn),以達(dá)到適用于車型分類和更好的分類效果的目的。
圖2 HOG-C CapsNet的基本結(jié)構(gòu)Fig.2 Basic structure of HOG-C CapsNet
輸入圖像是224×224×3 大小的RGB 圖像,具有紅(Red,R)、綠(Green,G)、藍(lán)(Blue,B)三個(gè)顏色通道,本文方法中,按照0.299×R、0.587×G以及0.114×B的加權(quán)進(jìn)行融合,形成單通道的灰度圖,即224×224×1 的圖像。將灰度圖中的所有像素按每2×2 的區(qū)域劃分為一個(gè)Cell,每個(gè)Cell 包含4 個(gè)像素,整個(gè)224×224×1的圖像可以劃分為112×112 個(gè)Cell。計(jì)算Cell 中坐標(biāo)為(x,y)的像素的梯度值和梯度方向的公式如式(2)所示:
其中:G(x,y)表示梯度值;D(x,y)表示梯度方向;Gx(x,y)和Gy(x,y)分別是x軸方向的梯度和y軸方向的梯度。
HOG-C CapsNet 將360°的梯度方向等分為16 份,即16 個(gè)Bin,每個(gè)Bin 代表一個(gè)范圍的梯度方向,按照Bin 所代表的梯度范圍將Cell中的每個(gè)像素分別對(duì)應(yīng)到不同的Bin中,將每個(gè)Bin中包含的像素的梯度值進(jìn)行累加,最后形成x軸為Bin值、y軸為梯度累加值的梯度統(tǒng)計(jì)直方圖。這樣整個(gè)224×224×1的圖像就得到了112×112個(gè)梯度統(tǒng)計(jì)直方圖。之后將這112×112 個(gè)梯度直方圖按照大小為1×1、步長(zhǎng)為1 的滑動(dòng)窗口劃分為Block,即每個(gè)Block 包含一個(gè)Cell。每個(gè)Block 對(duì)其中的Cell得到的梯度統(tǒng)計(jì)直方圖進(jìn)行歸一化處理,即對(duì)112×112個(gè)梯度統(tǒng)計(jì)直方圖分別進(jìn)行歸一化處理。歸一化后的每個(gè)梯度統(tǒng)計(jì)直方圖就是整個(gè)圖像的一個(gè)小區(qū)域的HOG 特征,所有這些特征的集合即HOG 特征圖。因?yàn)橛?6 個(gè)Bin,即每個(gè)梯度統(tǒng)計(jì)直方圖包含16 個(gè)歸一化后的梯度統(tǒng)計(jì)值,所以最后得到具有梯度統(tǒng)計(jì)特征的112×112×16大小的HOG特征圖。
HOG-C CapsNet 使用64 個(gè)3×3×3 的卷積核在整個(gè)圖像上做卷積操作來(lái)提取車輛的顏色特征。為了獲得更細(xì)致的顏色信息,HOG-C CapsNet 使用3×3 的小卷積,為了獲得更多的顏色特征,使用步長(zhǎng)為2 的小步長(zhǎng)滑動(dòng),并且使用“SAME”方式對(duì)滑動(dòng)的邊緣進(jìn)行填充,得到大小為112×112×64 的特征圖,即C特征圖。
將具有顏色特征表達(dá)的C 特征圖和大小為112×112×16的HOG 特征圖進(jìn)行融合,即二者在長(zhǎng)和寬上保持一致,深度方向上進(jìn)行拼接,形成大小為112×112×80 的特征圖,即具有顏色和梯度統(tǒng)計(jì)特征表達(dá)的HOG-C 特征圖。HOG-C 特征圖的生成過(guò)程如圖3所示。
拼接融合后的HOG-C 特征圖通過(guò)一個(gè)卷積層來(lái)提取HOG-C特征圖的高層抽象特征。卷積層使用128個(gè)大小為3×3 的卷積核,使用SAME 填充方式并進(jìn)行步長(zhǎng)為2 的窗口滑動(dòng)。這樣就將112×112×80 的HOG-C 特征圖轉(zhuǎn)化為大小為56×56×128的HOG-C抽象特征圖。
圖3 HOG-C特征提取Fig.3 HOG-C feature extraction
原膠囊網(wǎng)絡(luò)是直接將手寫數(shù)字的灰度圖的顏色特征進(jìn)行封裝打包制作膠囊,每個(gè)膠囊封裝了原圖像顏色特征之間的關(guān)系,而本文方法是將HOG-C 特征圖的高層抽象特征作為輸入,不僅僅是打包顏色實(shí)體的空間特征,而是將顏色和梯度特征進(jìn)行了整合抽象后的特征進(jìn)行打包。因?yàn)閮煞N特征的數(shù)據(jù)輸入的結(jié)構(gòu)和分類問(wèn)題的輸出不同,所以需要對(duì)原膠囊網(wǎng)絡(luò)中的參數(shù)和數(shù)據(jù)結(jié)構(gòu)做一些適應(yīng)性的改進(jìn)。
一個(gè)是對(duì)輸入進(jìn)行適應(yīng)性調(diào)整,將CapsNet 中的卷積層采用256 個(gè)步長(zhǎng)為2 的3×3 大小的卷積核進(jìn)行替換,以適應(yīng)56×56×128 的輸入,得到的特征圖輸入主膠囊層進(jìn)行三維膠囊的打包封裝處理。另一個(gè)是對(duì)輸出進(jìn)行適應(yīng)性調(diào)整,因?yàn)楸疚男枰氖禽敵鰹? 類的預(yù)測(cè)結(jié)果,所以,將數(shù)字膠囊層中的相關(guān)計(jì)算參數(shù)進(jìn)行替換,使之輸出為16×6 的膠囊,這樣就可以使膠囊對(duì)應(yīng)到6個(gè)類別,從而計(jì)算出分類結(jié)果。
HOG-C CapsNet由HOG-C抽象特征提取部分和膠囊網(wǎng)絡(luò)部分組成,時(shí)間復(fù)雜度和空間復(fù)雜度的計(jì)算如式(3)~(4)所示:
其中:T和S分別表示時(shí)間復(fù)雜度和空間復(fù)雜度;THOG-C和SHOG-C分別表示HOG-C 抽象特征提取部分的時(shí)間復(fù)雜度和空間復(fù)雜度;TCaps和SCaps表示膠囊網(wǎng)絡(luò)部分的時(shí)間復(fù)雜度和空間復(fù)雜度。
HOG-C 抽象特征提取部分的結(jié)構(gòu)包括一個(gè)HOG 特征提取層和三個(gè)卷積層,時(shí)間復(fù)雜度和空間復(fù)雜度的計(jì)算如式(5)~(6)所示:
其中:T表示時(shí)間復(fù)雜度;S表示空間復(fù)雜度;THOG和SHOG表示HOG 特征提取層的時(shí)間復(fù)雜度和空間復(fù)雜度;TC1、TC2、TC3和SC1、SC2、SC3分別表示第一個(gè)、第二個(gè)、第三個(gè)卷積層的時(shí)間復(fù)雜度和空間復(fù)雜度。
HOG 特征提取的是滑動(dòng)窗口在原圖上做滑動(dòng)操作,每次進(jìn)行梯度計(jì)算的時(shí)間復(fù)雜度和空間復(fù)雜度均為O(1),故HOG特征提取的時(shí)間復(fù)雜度THOG和空間復(fù)雜度SHOG如式(7)~(8)所示:
其中:K表示滑動(dòng)窗口的邊長(zhǎng);N表示滑動(dòng)的步長(zhǎng);M表示圖像的邊長(zhǎng)。
TC1、TC2、TC3這三個(gè)卷積層的時(shí)間復(fù)雜度受卷積核的邊長(zhǎng)K、輸出特征圖的邊長(zhǎng)M、輸入的通道數(shù)Cin和輸出的通道數(shù)Cout的影響,SC1、SC2、SC3這三個(gè)卷積層的空間復(fù)雜度受卷積核的邊長(zhǎng)K和輸出的通道數(shù)Cout的影響,單個(gè)卷積層的時(shí)間復(fù)雜度和空間復(fù)雜度TC和SC如式(9)~(10)所示:
膠囊網(wǎng)絡(luò)部分由主膠囊層和數(shù)字膠囊層組成,主膠囊層包含一個(gè)卷積層和膠囊的封裝操作,膠囊的封裝操作的時(shí)間復(fù)雜度T和空間復(fù)雜度S均為O(1),故主膠囊層的時(shí)間復(fù)雜度和空間復(fù)雜度可以使用式(9)和式(10)來(lái)表示。數(shù)字膠囊層使用動(dòng)態(tài)路由算法對(duì)膠囊進(jìn)行計(jì)算,得到分類結(jié)果,時(shí)間復(fù)雜度和空間即動(dòng)態(tài)路由算法的時(shí)間復(fù)雜度和空間復(fù)雜度。
實(shí)驗(yàn)采用北京理工大學(xué)的BIT-Vehicle 公開(kāi)車型數(shù)據(jù)集作為訓(xùn)練、測(cè)試數(shù)據(jù),該數(shù)據(jù)集中的車輛圖像均來(lái)源于道路監(jiān)控視頻,由兩個(gè)不同位置的攝像頭在不同時(shí)間點(diǎn)獲取得到,包括白天和晚上等一天的各個(gè)時(shí)間段,能更好地體現(xiàn)實(shí)際交通監(jiān)控場(chǎng)景中的情況。由于采用兩個(gè)不同的攝像頭,數(shù)據(jù)集中含有1 600×1 200像素和1 600×1 080像素這兩種尺寸的圖像。
該數(shù)據(jù)集共計(jì)9 850 張圖像,包含555 張大型客車(Bus)圖像、860 張小型客車(Microbus)圖像、467 張小型貨車(Minivan)圖像、5 776 張家用轎車(Sedan)圖像,1 372 張運(yùn)動(dòng)型實(shí)用汽車(Sport Utility Vehicle,SUV)圖像和820 張卡車(Truck)圖像。該數(shù)據(jù)集中各類車輛的數(shù)量不同,且差距最多可達(dá)5 000 多張,這種分布不均衡的數(shù)據(jù)極易影響訓(xùn)練結(jié)果。因此,實(shí)驗(yàn)前將數(shù)據(jù)集進(jìn)行了預(yù)處理,將所有的圖片變換為224×224 的圖像,即將圖片按照可以使最長(zhǎng)的一邊縮小為224的比例做長(zhǎng)寬等比例縮小,然后再旋轉(zhuǎn)一個(gè)角度以擴(kuò)充數(shù)據(jù)集,空余背景使用黑色填充,這樣就對(duì)原數(shù)據(jù)集進(jìn)行了上采樣擴(kuò)充,使得數(shù)據(jù)集各個(gè)類別數(shù)量均衡。
進(jìn)行上采樣預(yù)處理后的BIT-Vehicle 車型數(shù)據(jù)集部分圖像如圖4 所示(因版面寬度限制,圖中省去了“.jpg”),為了更方便查看數(shù)據(jù)集的處理結(jié)果,圖像的名稱統(tǒng)一采用“類別+序號(hào)+(旋轉(zhuǎn)角度).jpg”,如:“Bus1666(5).jpg”。上采樣預(yù)處理后的數(shù)據(jù)集中每類車型的圖像數(shù)量為6 200 張,其中6 000 張用于訓(xùn)練,200 張用于測(cè)試。那么,6 類車型總共有37 200 張圖像,其中訓(xùn)練集有36 000張圖像,測(cè)試集有1 200張圖像。
圖4 數(shù)據(jù)集的部分圖像Fig.4 Some images in dataset
本實(shí)驗(yàn)由帶有獨(dú)立顯卡的高性能計(jì)算機(jī)完成,在Windows10 操作系統(tǒng)上搭建基于GPU 的TensorFlow[16]框架作為深度學(xué)習(xí)開(kāi)發(fā)平臺(tái)。開(kāi)發(fā)環(huán)境的各項(xiàng)參數(shù)如表1所示。
表1 實(shí)驗(yàn)環(huán)境參數(shù)Tab.1 Experimental environment parameters
3.2.1 實(shí)驗(yàn)設(shè)置
為了更好地進(jìn)行訓(xùn)練,實(shí)驗(yàn)對(duì)數(shù)據(jù)集使用上采樣的方法做了數(shù)據(jù)均衡處理。BIT-Vehicle 數(shù)據(jù)集中各類別數(shù)據(jù)有467~5 776 個(gè)不等,數(shù)量差距比較大,如果按照原數(shù)據(jù)集直接打亂進(jìn)入模型進(jìn)行訓(xùn)練,會(huì)導(dǎo)致各個(gè)類別訓(xùn)練效果不均衡,訓(xùn)練次數(shù)多的類別產(chǎn)生過(guò)擬合現(xiàn)象而訓(xùn)練次數(shù)少的類別卻訓(xùn)練不到位。所以,將每類圖像通過(guò)圖像旋轉(zhuǎn)的方式增加新的同類數(shù)據(jù),使所有的類別個(gè)數(shù)保持一致,上采樣數(shù)據(jù)均衡后,得到訓(xùn)練集中6 類車型每類6 000 張圖片,共36 000 張圖片,測(cè)試集每類200 張圖片,共1 200 張圖片,且訓(xùn)練集和測(cè)試集中沒(méi)有相同的數(shù)據(jù)。
訓(xùn)練和測(cè)試對(duì)圖像加載前,先將整個(gè)數(shù)據(jù)集全部打亂,隨機(jī)選擇8張圖片進(jìn)入網(wǎng)絡(luò)進(jìn)行訓(xùn)練,作為一個(gè)batch,即一步訓(xùn)練或測(cè)試的操作。為了方便地查看訓(xùn)練過(guò)程的效果,選取小步長(zhǎng)對(duì)訓(xùn)練進(jìn)行檢測(cè),即每200 步訓(xùn)練進(jìn)行一次測(cè)試,從測(cè)試集中隨機(jī)選取600 張圖像,每一步測(cè)試輸入8 張圖片,一共需要75步測(cè)試,得到一組對(duì)600張圖片的測(cè)試結(jié)果,可以用混淆圖來(lái)表示,HOG-C CapsNet 最后一次測(cè)試的混淆矩陣如表2所示。
表2 最后一次測(cè)試的混淆矩陣Tab.2 Confusion matrix for last test
最后一次測(cè)試一共測(cè)試了600 張圖片,選取其中有代表性的幾組數(shù)據(jù)進(jìn)行分析,如表3所示。
為了每類樣本的訓(xùn)練是均衡的,實(shí)驗(yàn)均是將整個(gè)數(shù)據(jù)集打亂后輸入網(wǎng)絡(luò)進(jìn)行訓(xùn)練,當(dāng)前訓(xùn)練集訓(xùn)練完成后,再次打亂整個(gè)訓(xùn)練集中的圖片,再輸入網(wǎng)絡(luò)進(jìn)行訓(xùn)練。按照每200 步訓(xùn)練進(jìn)行一次測(cè)試,即訓(xùn)練1 600 張圖片進(jìn)行一次測(cè)試,訓(xùn)練集一共有36 000 張圖片,在這個(gè)過(guò)程中可以測(cè)試22.5 次,這樣,在定義的測(cè)試400 次的整個(gè)訓(xùn)練過(guò)程中,訓(xùn)練集被加載了18 次。在加載的過(guò)程中因?yàn)槭请S機(jī)輸入訓(xùn)練的,在模型參數(shù)更新的過(guò)程中會(huì)對(duì)某一類別的訓(xùn)練充分,而其他類別不充分,某些訓(xùn)練得更充分的類別會(huì)影響其他類預(yù)測(cè)效果,使得模型訓(xùn)練的精度出現(xiàn)不同程度的下降,但隨著數(shù)據(jù)集的加載,各類的訓(xùn)練數(shù)量的差距會(huì)隨之減少,測(cè)試精度隨之上升。故在每次數(shù)據(jù)集被訓(xùn)練完一遍之后的測(cè)試,因?yàn)楦黝悇e做了同等數(shù)量的訓(xùn)練,模型的效果達(dá)到一個(gè)在本周期內(nèi)比較好的點(diǎn)。隨著整個(gè)數(shù)據(jù)集被一遍遍加載,就會(huì)出現(xiàn)測(cè)試結(jié)果先下降再上升的周期性變化。如圖5 所示,可以看到產(chǎn)生的周期性變化的結(jié)果。
圖5 HOG-C CapsNet測(cè)試的Accuracy結(jié)果Fig.5 Accuracy results of HOG-C CapsNet
表3 最后一次測(cè)試部分結(jié)果及分析Tab.3 Results and analysis of last test
為了避免周期性結(jié)果對(duì)實(shí)驗(yàn)造成干擾,在對(duì)比實(shí)驗(yàn)中對(duì)關(guān)注的結(jié)果進(jìn)行選擇。測(cè)試不同HOG-C 結(jié)構(gòu)對(duì)HOG-C CapsNet 的影響的實(shí)驗(yàn)中,因?yàn)閮H僅在HOG-C 特征提取部分有差別,故四種HOG-C 特征圖提取方式的訓(xùn)練效果的趨勢(shì)是大致相同的,選取最后一個(gè)周期的23 次測(cè)試結(jié)果作為實(shí)驗(yàn)效果進(jìn)行對(duì)比。測(cè)試不同網(wǎng)絡(luò)模型效果的對(duì)比實(shí)驗(yàn)中,重點(diǎn)關(guān)注不同網(wǎng)絡(luò)在訓(xùn)練過(guò)程中的趨勢(shì),將每20 次測(cè)試的結(jié)果平均值作為輸出數(shù)據(jù),這樣曲線就能更好地反映模型訓(xùn)練的效果。
實(shí)驗(yàn)對(duì)比了HOG 特征提取在整個(gè)網(wǎng)絡(luò)中不同位置對(duì)車型分類的影響,得到最優(yōu)的HOG-C CapsNet 模型。為了進(jìn)一步體現(xiàn)HOG-C CapsNet 的效果,實(shí)驗(yàn)還與其他相關(guān)的網(wǎng)絡(luò)模型在同樣的實(shí)驗(yàn)條件下的效果進(jìn)行對(duì)比,通過(guò)多種對(duì)比,充分體現(xiàn)HOG-C CapsNet 的性能。實(shí)驗(yàn)采用損失(Loss)、準(zhǔn)確率(Accuracy)、平均精確率均值(Mean Average Precision,MAP)、平均召回率均值(Mean Average Recall,MAR)和綜合評(píng)價(jià)指標(biāo)MF1 進(jìn)行分類效果的評(píng)價(jià)。其中MF1 是MAP和MAR的調(diào)和平均,計(jì)算公式如式(11)所示:
3.2.2 HOG特征提取在模型中的位置對(duì)車型分類的影響
在引入HOG-C特征提取時(shí),HOG 特征提取的位置不同會(huì)影響實(shí)驗(yàn)結(jié)果,實(shí)驗(yàn)對(duì)比了ZeroHOG、OneHOG(本文提出的HOG-C CapsNet 中HOG-C 的結(jié)構(gòu))、TwoHOG 和ThreeHOG 四種僅僅是在結(jié)合位置上有所區(qū)別的網(wǎng)絡(luò)結(jié)構(gòu)在車型分類的效果。不同HOG-C 結(jié)構(gòu)中對(duì)原圖提取梯度統(tǒng)計(jì)生成HOG 特征圖的方式是相同的,圖6 顯示了在本文模型訓(xùn)練過(guò)程中,一次測(cè)試的隨機(jī)的8張圖像的HOG特征圖的輸出。
圖6 本文模型提取的HOG特征圖Fig.6 HOG feature maps extracted by proposed model
HOG 特征圖中的內(nèi)容本質(zhì)上是圖像的特征之一,隨后和卷積層提取的色彩特征使用相同的處理方式,在對(duì)HOG 特征圖和色彩特征圖進(jìn)行卷積特征提取、三維膠囊封裝和動(dòng)態(tài)路由算法的計(jì)算的過(guò)程中,通過(guò)優(yōu)化算法對(duì)模型參數(shù)進(jìn)行優(yōu)化,使得屬于背景部分的HOG 特征和顏色特征對(duì)分類結(jié)果的權(quán)重降低,而屬于目標(biāo)部分的特征的權(quán)重加大,這樣實(shí)現(xiàn)對(duì)樣本類別的預(yù)測(cè)。因?yàn)橛?xùn)練集和測(cè)試集的同類樣本是類似的,不論背景和目標(biāo)在原圖中的比例如何,用于區(qū)分各個(gè)類別目標(biāo)的特征和其他特征都可以根據(jù)訓(xùn)練集得到一組相對(duì)最優(yōu)的模型參數(shù),最后可以根據(jù)測(cè)試過(guò)程中得到的HOG 和顏色特征圖在訓(xùn)練模型的計(jì)算中得到的結(jié)果來(lái)預(yù)測(cè)其所屬的類別。
ZeroHOG 的HOG-C 結(jié)構(gòu)是使用原圖像的HOG 特征圖與原圖像進(jìn)行結(jié)合形成的HOG-C 特征圖。即對(duì)車輛圖像進(jìn)行HOG 特征提取,與原圖像直接進(jìn)行拼接融合,形成HOG-C 特征圖,之后經(jīng)過(guò)兩個(gè)卷積層進(jìn)行抽象特征提取后傳入膠囊網(wǎng)絡(luò)的卷積層和主膠囊層中進(jìn)行處理。
OneHOG 即本文使用的網(wǎng)絡(luò)模型,HOG-C 結(jié)構(gòu)是使用原圖像的HOG 特征圖與原圖像的一次卷積后的顏色特征圖進(jìn)行結(jié)合形成HOG-C 特征圖,之后經(jīng)過(guò)一個(gè)卷積層進(jìn)行抽象特征提取后傳入膠囊網(wǎng)絡(luò)的卷積層和主膠囊層中進(jìn)行處理。
TwoHOG 的HOG-C 結(jié)構(gòu)是使用原圖像的HOG 特征圖與原圖像的二次卷積后的顏色特征圖進(jìn)行結(jié)合形成HOG-C 特征圖,將其傳入膠囊網(wǎng)絡(luò)的卷積層和主膠囊層中進(jìn)行處理。
ThreeHOG 的HOG-C結(jié)構(gòu)是使用原圖像的HOG特征圖與原圖像的三次卷積后的顏色特征圖進(jìn)行結(jié)合形成HOG-C 特征圖,將其直接傳入膠囊網(wǎng)絡(luò)的主膠囊層中進(jìn)行膠囊的封裝。
圖7 是對(duì)HOG-C 結(jié)合位置進(jìn)行對(duì)比的實(shí)驗(yàn)結(jié)果,橫坐標(biāo)step 表示在訓(xùn)練中測(cè)試的步數(shù),平均每次訓(xùn)練一遍數(shù)據(jù)集測(cè)試23次,總共測(cè)試了400次;縱坐標(biāo)是每次測(cè)試得到的不同指標(biāo)。圖7(a)是在測(cè)試過(guò)程中通過(guò)Margin Loss 求出的損失值。可以看出,OneHOG 的損失最小,其次是TwoHOG,再者是ZeroHOG,而ThreeHOG 的損失則是最大的,說(shuō)明在特征膠囊層將HOG-C 特征圖作為輸入,效果是最差的。圖7(b)是Accuracy 變化的折線圖,整體來(lái)看OneHOG 的準(zhǔn)確率最高,ThreeHOG 的準(zhǔn)確率最低。圖7(c)是MAP 變化的折線圖,可以看出,在400 步中,OneHOG 的MAP 大多處于最高狀態(tài),而HOG 處于其他位置的幾種網(wǎng)絡(luò)模型的MAP 大多比OneHOG的MAP 小。圖7(d)是MAR 變化的折線圖,可以看出ThreeHOG 的MAR 的波動(dòng)性最大,OneHOG 的波動(dòng)性最小,最為穩(wěn)定,且整體的值要高于其他幾種網(wǎng)絡(luò)模型。圖7(e)是MF1 變化的折線圖,根據(jù)MAP、MAR 的值得到的MF1 的值的也是最為穩(wěn)定的,且數(shù)值整體是最高的。
3.2.3 不同網(wǎng)絡(luò)對(duì)車型分類的效果對(duì)比
為了從宏觀的角度說(shuō)明本文算法的效果,在相同的軟硬件實(shí)驗(yàn)環(huán)境下對(duì)HOG-C CapsNet、膠囊網(wǎng)絡(luò)(CapsNet)[14]、VGG(Visual Geometry Group)提出的VGG16[17]和CPCPC(Convolutional Pooling-Convolutional Pooling Convolutional)網(wǎng)絡(luò)進(jìn)行對(duì)比。其中:CapsNet 由一個(gè)卷積層、一個(gè)主膠囊層和一個(gè)數(shù)字膠囊層組成,僅僅是為了適應(yīng)車型識(shí)別對(duì)其中的參數(shù)做了兩點(diǎn)適應(yīng)性改變,一個(gè)是輸入圖像的大小部分,由28×28×1 變成224×224×3,以適應(yīng)BIT 車型數(shù)據(jù)集,另一個(gè)是最后輸出的類別膠囊部分,從16×10變成16×6的膠囊,以適應(yīng)6分類。VGG16是深度的卷積神經(jīng)網(wǎng)絡(luò)模型,由13個(gè)卷積層、5個(gè)池化層和2 個(gè)全連接層構(gòu)成,每個(gè)卷積層的卷積核的步長(zhǎng)為1、大小為3×3,每個(gè)池化層的滑動(dòng)窗口的步長(zhǎng)為2、大小為2×2,而全連接層分別有1 024 個(gè)節(jié)點(diǎn)和6 個(gè)節(jié)點(diǎn)。VGG19 是深度的卷積神經(jīng)網(wǎng)絡(luò)模型,由16 個(gè)卷積層、5 個(gè)池化層和2 個(gè)全連接層構(gòu)成,每個(gè)卷積層的卷積核的步長(zhǎng)為1、大小為3×3,每個(gè)池化層的滑動(dòng)窗口的步長(zhǎng)為2、大小為2×2,而全連接層分別有1 024 個(gè)節(jié)點(diǎn)和6 個(gè)節(jié)點(diǎn)。CPCPC 是一個(gè)淺層卷積神經(jīng)網(wǎng)絡(luò),具有3 個(gè)卷積層、2 個(gè)池化層以及2 個(gè)全連接層構(gòu)成,卷積核的大小、池化層的滑動(dòng)窗口以及全連接層的參數(shù)均與上述的VGG16相同。
設(shè)卷積層、池化層、全連接層、HOG 提取層和膠囊網(wǎng)絡(luò)部分的時(shí)間復(fù)雜度分別為TC、TP、TF、TH和TX,卷積層、池化層、全連接層、HOG 提取層和膠囊網(wǎng)絡(luò)部分的空間復(fù)雜度分別為SC、SP、SF、SH和SX,表4展示了不同網(wǎng)絡(luò)模型的時(shí)間復(fù)雜度和空間復(fù)雜度的對(duì)比。對(duì)比表4 中的數(shù)據(jù)可以看出,CPCPC、VGG16 和VGG19 的時(shí)間復(fù)雜度和空間復(fù)雜度依次遞增,HOG-C CapsNet與CapsNet相比,時(shí)空復(fù)雜度增加得并不大。
表4 不同網(wǎng)絡(luò)模型的復(fù)雜度對(duì)比Tab.4 Complexity comparison of different network models
圖8 顯示了HOG-C CapsNet、CapsNet、VGG16 和CPCPC四種不同結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)在同一數(shù)據(jù)集上的分類效果,平均每次訓(xùn)練一遍數(shù)據(jù)集測(cè)試23 次,一共測(cè)試400 次,每10 次測(cè)試的結(jié)果取平均值作為橫坐標(biāo),故一共有40 個(gè)結(jié)果,即橫坐標(biāo)step 表示測(cè)試10 次的平均值,縱坐標(biāo)是每次測(cè)試得到的不同指標(biāo)。
圖7 四種不同HOG-C結(jié)構(gòu)的網(wǎng)絡(luò)對(duì)比實(shí)驗(yàn)結(jié)果Fig.7 Experimental result comparison of four different networks with HOG-C structure
圖8 不同模型對(duì)比實(shí)驗(yàn)結(jié)果Fig.8 Experimental result comparison of different models
圖8(a)為四種網(wǎng)絡(luò)結(jié)構(gòu)準(zhǔn)確率的折線圖,VGG16 和CPCPC 的準(zhǔn)確率在第20 次測(cè)試和第60 次測(cè)試附近時(shí)下降到0.15 左右,并在此范圍內(nèi)上下波動(dòng),即預(yù)測(cè)結(jié)果在1/6 左右波動(dòng),預(yù)測(cè)結(jié)果隨機(jī)出現(xiàn),模型的泛化性能降低,模型對(duì)測(cè)試數(shù)據(jù)完全無(wú)法識(shí)別,模型的測(cè)試失效,該現(xiàn)象說(shuō)明這兩個(gè)網(wǎng)絡(luò)模型較早出現(xiàn)了過(guò)擬合。而HOG-C CapsNet 和CapsNet 均未出現(xiàn)此現(xiàn)象,這是由于CapsNet和HOG-C CapsNet生成了特征膠囊,對(duì)特征的空間關(guān)系也加入了分類對(duì)比,而卷積網(wǎng)絡(luò)所提取的僅僅是二維顏色特征。因?yàn)閷?shí)驗(yàn)中的CapsNet 和HOG-C CapsNet 的層數(shù)并不多,是一個(gè)淺層的神經(jīng)網(wǎng)絡(luò),故不會(huì)引發(fā)過(guò)擬合現(xiàn)象。CapsNet 的準(zhǔn)確率在近0.60 處上下波動(dòng),HOG-C CapsNet 的結(jié)果在近0.98 處上下波動(dòng),說(shuō)明OneHOG的準(zhǔn)確率較高。
圖8(b)、(c)和(d)是MAP、MAR 和MF1 的折線圖。三張圖中折線的變化趨勢(shì)和圖8(a)中的變化趨勢(shì)基本相符,比較CapsNet 和HOG-C CapsNet,由 于HOG-C CapsNet 在CapsNet的基礎(chǔ)上引入了HOG-C 特征,增加了梯度統(tǒng)計(jì)特征的提取,并且是將混合特征再次抽象而后將其轉(zhuǎn)化為三維特征,提高了特征的表達(dá)能力,故HOG-C CapsNet的分類效果較好。
圖8(e)為四種網(wǎng)絡(luò)結(jié)構(gòu)Loss 的折線圖,可以看出,VGG16 和CPCPC 分別在第20 次測(cè)試和第60 次測(cè)試附近時(shí),Loss值直接下降為零,且之后一直保持為零的狀態(tài)不變,說(shuō)明兩個(gè)網(wǎng)絡(luò)的訓(xùn)練時(shí)正向傳播的預(yù)測(cè)值和真實(shí)值相等,訓(xùn)練數(shù)據(jù)可以完全無(wú)誤差地得到正確的預(yù)測(cè)值。從圖8(a)所展示的四種網(wǎng)絡(luò)模型的Accuracy 對(duì)比結(jié)果中,可以得到訓(xùn)練集完全被識(shí)別,但測(cè)試集完全沒(méi)有識(shí)別,這說(shuō)明模型的完全沒(méi)有了泛化能力,即對(duì)模型做了過(guò)多的擬合,產(chǎn)生了過(guò)擬合現(xiàn)象,這驗(yàn)證了上述所說(shuō)的兩個(gè)模型出現(xiàn)過(guò)擬合現(xiàn)象。
表5 為四種網(wǎng)絡(luò)的最終效果,由Accuracy、MAP、MAR 以及MF1 四種指標(biāo)的比較結(jié)果可以得出,HOG-C CapsNet 的效果最好,其次是CapsNet,而VGG16和CPCPC 由于過(guò)早地出現(xiàn)了過(guò)擬合,故實(shí)驗(yàn)效果均較差。
表5 各種模型最后一次測(cè)試結(jié)果Tab.5 Final test results for various models
綜上,比較CPCPC、VGG16 和VGG19,可知卷積層的層數(shù)并不是越多越好,當(dāng)卷積層減少時(shí),圖像的特征不會(huì)被過(guò)多地提取和丟棄;比較CPCPC、VGG16、VGG19 和CapsNet,可知可以提取到特征間三維空間關(guān)系的膠囊網(wǎng)絡(luò)能夠更好地對(duì)圖像特征進(jìn)行抽象;比較CapsNet 和HOG-C CapsNet,可知當(dāng)CapsNet 引入HOG-C 特征提取方法后,能夠提取到更多的圖像特征信息,從而獲得更好的分類效果。
進(jìn)一步將HOG-C CapsNet 網(wǎng)絡(luò)模型的實(shí)驗(yàn)結(jié)果與其他文獻(xiàn)中對(duì)BIT-Vehicle 中車輛進(jìn)行分類的結(jié)果相比較,結(jié)果如表6所示。從表6可以看出,本文所提出的HOG-C CapsNet 網(wǎng)絡(luò)模型在BIT-Vehicle 數(shù)據(jù)集上具有良好的分類效果,準(zhǔn)確率要高于其他模型,對(duì)交通監(jiān)控下的車型分類的研究具有重要的價(jià)值。
表6 不同網(wǎng)絡(luò)模型下車型分類Accuracy對(duì)比 單位:%Tab.6 Comparison of vehicle classification accuracy of different network models unit:%
本文在深度學(xué)習(xí)框架TensorFlow 的框架下提出一種梯度直方圖卷積特征的膠囊網(wǎng)絡(luò)模型用于車型識(shí)別,并在原生的膠囊中增加了梯度卷積特征提取方法。使用北京理工大學(xué)的BIT-Vehicle 公開(kāi)車輛數(shù)據(jù)做對(duì)比實(shí)驗(yàn),驗(yàn)證了用于提取梯度卷積特征的不同HOG-C 結(jié)構(gòu)對(duì)HOG-C CapsNet 的影響,還將HOG-C CapsNet 和幾種傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)以及膠囊網(wǎng)絡(luò)做了對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)得到的準(zhǔn)確率為98.17%,綜合評(píng)價(jià)指標(biāo)達(dá)98.20%,優(yōu)于幾種傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)和原生的膠囊網(wǎng)絡(luò)。但是,實(shí)驗(yàn)只針對(duì)BIT-Vehicle 數(shù)據(jù)集進(jìn)行測(cè)試,未對(duì)其他車輛數(shù)據(jù)集進(jìn)行測(cè)試,存在一定的局限性,在實(shí)際應(yīng)用中的泛化能力可能不高,因此下一步可以將模型在KITTI、UA-DETRAC等車輛數(shù)據(jù)集以及實(shí)際場(chǎng)景下進(jìn)行進(jìn)一步驗(yàn)證和分析,解決其適應(yīng)性的問(wèn)題,并且測(cè)試其他數(shù)據(jù)集的不同天氣的情況,從而為該模型的實(shí)際應(yīng)用奠定更好的基礎(chǔ)。