張一博 茹禹然 趙文呂 王冬琦
摘要:針對(duì)小比例車模識(shí)別中圖像種類繁多、部分類間相似度較高、網(wǎng)絡(luò)數(shù)據(jù)類別不均衡以及質(zhì)量參差不一的問(wèn)題,文章提出了一種組合模型。首先對(duì)網(wǎng)絡(luò)采集的圖像數(shù)據(jù)設(shè)計(jì)了一種基于深度學(xué)習(xí)的方法進(jìn)行清洗,然后以破壞-重建學(xué)習(xí)(Destruction and Construction Learning)方法為基礎(chǔ)結(jié)合文章提出改進(jìn)的Class-Balanced Focal Loss權(quán)重調(diào)節(jié)方法構(gòu)建細(xì)粒度識(shí)別模型,最后文章選取了3種評(píng)價(jià)指標(biāo)對(duì)模型效果進(jìn)行評(píng)價(jià)。實(shí)驗(yàn)結(jié)果表明,該組合模型相較于原方法能更加準(zhǔn)確地對(duì)小比例車模進(jìn)行識(shí)別,對(duì)于少數(shù)類具備更強(qiáng)的泛化能力。
關(guān)鍵詞: 深度學(xué)習(xí); 小比例車模; 卷積神經(jīng)網(wǎng)絡(luò); 細(xì)粒度識(shí)別; 不平衡數(shù)據(jù)集
中圖分類號(hào):TP311? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2021)28-0015-05
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
Research on Car Model Recognition Algorithm Based on Combined Model
ZHANG Yi-bo,RU Yu-ran,ZHAO Wen-lv,WANG Dong-qi
(School of Software, Northeastern University, Shenyang 110000, China)
Abstract: In order to solve the problems of many kinds of images, high similarity among some classes, unbalance of network data classes and variable quality in small scale vehicle model recognition, a combined model is proposed in this paper. Image data from the first to the network design a deep Learning based method for cleaning, and then to Destruction and Construction Learning method combined with in this paper, on the basis of improving the Class-Balanced Focal Loss weight adjusting method to build fine-grained recognition model, at the end of the paper analyzes three kinds of evaluation index to assess the economic impact on the model. Experimental results show that compared with the original method, the combined model can identify the small proportion car models more accurately, and has stronger generalization ability for a few classes.
Key words:deep learning; small scale car model; convolutional neural network; fine-grained identification; imbalanced data set
所謂“小比例汽車模型”是指尺寸1:64或更小的汽車模型,因?yàn)樾”壤嚹P屯瑫r(shí)具備可玩性和可收藏性的特點(diǎn),所以長(zhǎng)期以來(lái)一直受到孩子和收藏者的青睞。隨著經(jīng)濟(jì)的發(fā)展和人民生活水平的日益提高,中國(guó)玩具市場(chǎng)消費(fèi)進(jìn)入高速增長(zhǎng)階段[1],國(guó)內(nèi)正在形成自己的收藏文化,據(jù)不完全統(tǒng)計(jì),國(guó)內(nèi)各類貼吧和即時(shí)通訊群組活躍人數(shù)達(dá)到近百萬(wàn)且市場(chǎng)潛力巨大[2]。然而由于歷史與文化原因,目前市場(chǎng)上流行的小比例車模以日本和美國(guó)品牌居多,這導(dǎo)致了消費(fèi)者難以獲取相關(guān)信息,同時(shí)利用信息差進(jìn)行詐騙的行為也屢屢發(fā)生,這些都阻礙了車模市場(chǎng)的發(fā)展。為了解決這些問(wèn)題,設(shè)計(jì)一個(gè)能快速準(zhǔn)確識(shí)別車模類型的算法模型是有必要的。
近年來(lái),卷積神經(jīng)網(wǎng)絡(luò)[3-5](Convolutional Neural Network, 簡(jiǎn)稱CNN)在車輛種類識(shí)別方面取得了很好的效果,但小比例車模與普通車輛模型相比,種類繁多,同一車型有著很多改進(jìn)品種,這些品種間只有涂裝間差異,類間相似度大,識(shí)別難度大,在圖像分類時(shí)面臨更大的挑戰(zhàn)。同時(shí)車模數(shù)據(jù)集由于是從網(wǎng)絡(luò)獲取的,圖像質(zhì)量難以得到保障。并且各類型車輛由于火熱程度等方面的不同,會(huì)導(dǎo)致各類圖片數(shù)量不均衡,因此如何解決類別的不均衡對(duì)分類效果的影響,使模型對(duì)少數(shù)類也能具有良好分類效果也是一大難點(diǎn)問(wèn)題。
文章組合破壞-重建學(xué)習(xí)(Destruction and Construction Learning,簡(jiǎn)稱DCL)[6]方法與改進(jìn)的Class-Balanced Focal Loss(簡(jiǎn)稱CBFL)[7]權(quán)重調(diào)節(jié)方法,來(lái)解決車模細(xì)粒度分類與類別不平衡問(wèn)題。DCL首先將輸入圖像劃分為很多局部區(qū)域,同時(shí)引入?yún)^(qū)域混淆機(jī)制RCM(Region Confusion Mechanism)來(lái)進(jìn)行打亂,以此使分類網(wǎng)絡(luò)更加注重判別性的區(qū)域去發(fā)現(xiàn)差異,并引入對(duì)抗性損失(Adversarial Loss,簡(jiǎn)稱adv)補(bǔ)償RCM的噪聲,最后以一種區(qū)域?qū)R網(wǎng)絡(luò)來(lái)恢復(fù)局部區(qū)域的原始空間布局。CBFL通過(guò)提出一種根據(jù)有效樣本數(shù)對(duì)Focal loss[8]中[α]超參數(shù)進(jìn)行自動(dòng)設(shè)置的方法,更好地解決了類別不均衡問(wèn)題。文章針對(duì)其提出了一種改進(jìn)方法,通過(guò)設(shè)置調(diào)節(jié)因子[δ]使其能更好兼顧多樣本類與少樣本類。對(duì)于數(shù)據(jù)集中的低質(zhì)量圖像,可以利用DCL模型,為原數(shù)據(jù)集構(gòu)建分類器,以此對(duì)圖像進(jìn)行評(píng)分,去除低評(píng)分?jǐn)?shù)據(jù),以此完成數(shù)據(jù)集的清理[9]。
1 數(shù)據(jù)清洗算法
從互聯(lián)網(wǎng)爬取的數(shù)據(jù)集圖片,由于其本身是由用戶上傳的,并不具有統(tǒng)一嚴(yán)格的管理,故數(shù)據(jù)質(zhì)量參差不一,可能存在角度錯(cuò)誤(圖1-a),圖像主體內(nèi)容錯(cuò)誤(圖1-b),多不同主體(圖1-c)等情況。
這些圖像無(wú)法很好體現(xiàn)對(duì)應(yīng)類別圖像的特征,會(huì)對(duì)模型的分類精度造成影響,故需要對(duì)其進(jìn)行清洗。文章采取的清洗步驟如圖2所示。
首先使用組合模型對(duì)原始數(shù)據(jù)集進(jìn)行訓(xùn)練,生成模型權(quán)值文件,隨后在測(cè)試網(wǎng)絡(luò)中使用該權(quán)值文件構(gòu)建預(yù)測(cè)模型,對(duì)數(shù)據(jù)集中的每一張圖片進(jìn)行評(píng)分,并將評(píng)分結(jié)果存儲(chǔ)在數(shù)組中。隨后使用該評(píng)分對(duì)低質(zhì)量圖像進(jìn)行篩選,由于模型對(duì)于訓(xùn)練集圖像的評(píng)分會(huì)高于驗(yàn)證集與測(cè)試集圖像的評(píng)分,故將兩者分開進(jìn)行篩選,下面以訓(xùn)練集圖像為例對(duì)低質(zhì)量圖像篩選的具體步驟進(jìn)行描述:
對(duì)于第i類圖像,在訓(xùn)練集中共含其[Ni]張圖片,計(jì)其中第j張圖片評(píng)分為[Scoreij],則第i類圖像在訓(xùn)練集中評(píng)分均值:
[μi=j=1NiScoreijNi]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(1)
選定該類圖像清洗閾值[αi]([10≤αi≤30])。
對(duì)于第j張圖片,若[μi-Scoreij>αi],則將該圖片識(shí)別為低質(zhì)量圖像。
篩選完成后,將篩選出的低質(zhì)量圖像從原數(shù)據(jù)集中清除,由此即可完成對(duì)數(shù)據(jù)集的清洗工作。
2 組合網(wǎng)絡(luò)模型的設(shè)計(jì)
2.1 DCL網(wǎng)絡(luò)結(jié)構(gòu)
細(xì)粒度分類方法可分大致為兩類:一是先定位具有判別性的部位,再根據(jù)判別性部位分類,但這種兩步方法通常需要額外標(biāo)注部位的邊界框,代價(jià)昂貴;另一類使用無(wú)監(jiān)督的方式通過(guò)注意力機(jī)制自動(dòng)定位具有判別行的區(qū)域,因此不需要額外的標(biāo)注成本,但是這種方法通常需要額外的網(wǎng)絡(luò)結(jié)構(gòu),因此在訓(xùn)練和推理階段引入了額外的計(jì)算成本。
破壞和重建學(xué)習(xí)(Destruction and Construction Learning,DCL)由京東AI研究院的Chen等提出,是細(xì)粒度分類任務(wù)下的一種新的SOTA方法。DCL本質(zhì)上屬于上述第二類方法,但它進(jìn)一步避免了推理階段的額外計(jì)算開銷。DCL的基本理念是對(duì)于原始輸入的圖片先進(jìn)行破壞,以強(qiáng)調(diào)局部判別性細(xì)節(jié),這一過(guò)程由于是自動(dòng)進(jìn)行因而對(duì)于訓(xùn)練階段不需要額外的標(biāo)注信息,然后對(duì)其進(jìn)行重構(gòu)以建模局部區(qū)域之間的語(yǔ)義關(guān)聯(lián)。DCL僅在訓(xùn)練階段使用,并未在推理階段引入額外計(jì)算開銷。鑒于以上DCL在細(xì)粒度分類任務(wù)中的特點(diǎn)和優(yōu)勢(shì),文章采用DCL作為方法框架的主體,并引入了其他一些方法,以更好地適應(yīng)實(shí)際問(wèn)題的需求。
2.1.1 破壞學(xué)習(xí)
細(xì)粒度圖像分類任務(wù)中一個(gè)很明顯的數(shù)據(jù)特點(diǎn)是,不同類別間的圖像在全局結(jié)構(gòu)上相似,而僅在局部細(xì)節(jié)上有所不同,這要求網(wǎng)絡(luò)能夠捕獲并建模局部細(xì)節(jié)差異,并依此正確分類。DCL中通過(guò)區(qū)域混淆機(jī)制(Region Confusion Mechanism,RCM)和對(duì)抗損失來(lái)實(shí)現(xiàn)這一點(diǎn)。
RCM通過(guò)將原始輸入圖片的空間排布打亂來(lái)破壞空間整體結(jié)構(gòu),從而迫使網(wǎng)絡(luò)將注意力放在具有判別性的局部區(qū)域上,最終達(dá)到網(wǎng)絡(luò)通過(guò)局部判別性細(xì)節(jié)而非整體結(jié)構(gòu)進(jìn)行圖像分類的目的。
具體而言,給定原始輸入圖片[I],首先將其統(tǒng)一劃分為[N×N]的區(qū)域,每塊子區(qū)域記為[Ri,j],其中[i]和[j]分別依次代表在水平方向和垂直方向上的序號(hào),并且滿足[1≤i,j≤N]。RCM通過(guò)子區(qū)域分別在其兩個(gè)維度鄰居間的交換完成“破壞”。對(duì)于[R]中的第[j]行,產(chǎn)生一個(gè)長(zhǎng)度為[N]的向量[qj],其中第[i]個(gè)元素[qj,i=i+r],這里面[r~U(-k,k)],是服從范圍在[[-k,k]]均勻分布的隨機(jī)變量,[k]是一個(gè)可調(diào)參數(shù)[(1≤k≤N)],其定義了鄰居范圍。通過(guò)排序并驗(yàn)證其滿足條件(1),可以得到第[j]行新的區(qū)域排列順序[σrowj]。
[?i∈{1,…,N},σrowj(i)-i<2k]? ? ? ? ? ? ? ? ? ? ? ? ?(2)
然后對(duì)每一列做相似的處理,得到[σcoli]。如此,可計(jì)算得到原圖中[(i,j)]區(qū)域的新坐標(biāo)
[σ(i,j)=(σrowj(i),σcoli(j))]? ? ? ? ? ? ? ? ? ? ? ? ? (3)
這樣做既保證了破壞了全局結(jié)構(gòu),也使得局部區(qū)域在一個(gè)可調(diào)整的鄰居范圍內(nèi)抖動(dòng)。
原圖[I],破壞后的圖片[φ(I)]和真實(shí)標(biāo)簽[l]作為一個(gè)三元組[I,φ(I),l]共同用作訓(xùn)練。分類網(wǎng)絡(luò)最終將輸入的圖片映射為一個(gè)概率向量[C(I,θcls)],其中[θcls]是所有可以學(xué)習(xí)的參數(shù),分類網(wǎng)絡(luò)的損失函數(shù)可以定義為:
[Lcls=-I∈Ιl?log[C(I)C(φ(I))]]? ? ? ? ? ? ? ? ? ?(4)
其中[I]代表所有用于訓(xùn)練的圖片。
然而使用RCM對(duì)圖片進(jìn)行破壞并不總是對(duì)進(jìn)行細(xì)粒度分類有益,RCM同樣會(huì)引入噪聲視覺(jué)模式,從這些視覺(jué)模式中學(xué)習(xí)到的特征將對(duì)之后的分類任務(wù)有害。于是DCL中引入了另一個(gè)對(duì)抗性損失[Ladv]來(lái)組織在RCM引入的噪聲模式上的過(guò)擬合。
使用一個(gè)獨(dú)熱向量[d∈{0,1}2]來(lái)標(biāo)識(shí)圖片是否被破壞過(guò),一個(gè)判別網(wǎng)絡(luò)用來(lái)判斷當(dāng)前圖片[I]是否被破壞過(guò):
[D(I,θadv)=softmax(θadvC(I,θ[1,m]cls))]? ? ? ? ? ? ? ? ? ? ? (5)
其中[C(I,θ[1,m]cls)]是提取自骨干分類網(wǎng)絡(luò)第[m]層所輸出的特征,[θ[1,m]cls]是分類網(wǎng)絡(luò)從第1層到第[m]層所有可學(xué)習(xí)的參數(shù)[θadv∈Rd×2]是一個(gè)線性映射,判別網(wǎng)絡(luò)的損失函數(shù)[Ladv]如下計(jì)算:
[Ladv=-I∈Ιd?log[D(I)]+(1-d)?log[D(φ(I))]]? ? ? (6)
[Lcls]和[Ladv]共同作用于破壞學(xué)習(xí),其中僅有局部判別性細(xì)節(jié)被強(qiáng)化而無(wú)關(guān)特征被過(guò)濾掉。
2.1.2 重建學(xué)習(xí)
考慮到圖像中相關(guān)區(qū)域間的組合構(gòu)成了復(fù)雜多樣的視覺(jué)模式,DCL中提出了另一種建模局部區(qū)域間關(guān)聯(lián)的方法,即區(qū)域?qū)R網(wǎng)絡(luò),它使用區(qū)域重建損失[Lloc],用于度量圖像中不同區(qū)域的定位精度,用以引導(dǎo)骨干網(wǎng)絡(luò)通過(guò)端到端的訓(xùn)練建模相關(guān)區(qū)域間的關(guān)聯(lián)。
給定一張圖片[I]和它對(duì)應(yīng)的破壞后的[φ(I)],在原圖[I]中位于[(i,j)]的區(qū)域[Ri,j]和與其相對(duì)應(yīng)的在破壞后的圖片[φ(I)]中的區(qū)域[Rσ(i,j)]。區(qū)域?qū)R網(wǎng)絡(luò)作用在分類網(wǎng)絡(luò)卷積層的輸出特征上[C(?,θ[1,n]cls)],[n]代表第[n]層卷積層、特征經(jīng)過(guò)[1×1]卷積獲得兩個(gè)通道的輸出,然后經(jīng)過(guò)[ReLU]激活和平均池化映射到尺寸為[2×N×N]。區(qū)域?qū)ζ渚W(wǎng)絡(luò)的輸出可以寫為:
[M(I)=h(C(I,θ[1,n]cls),θloc)]? ? ? ? ? ? ? ? ? ? ? ? ? ?(7)
[M(I)]的兩個(gè)通道分別對(duì)應(yīng)坐標(biāo)中的行與列,[h]代表區(qū)域?qū)R網(wǎng)絡(luò),[θloc]代表區(qū)域?qū)R網(wǎng)絡(luò)中可學(xué)習(xí)的參數(shù),將圖[I]中區(qū)域[Rσ(i,j)]的預(yù)測(cè)位置記為[Mσ(i,j)(φ(I))],將圖[I]中區(qū)域[Ri,j]的預(yù)測(cè)位置記為[Mi,j(I)],它們的真實(shí)標(biāo)簽值均為[(i,j)]。區(qū)域?qū)R損失[Lloc]被定義為預(yù)測(cè)坐標(biāo)于原始坐標(biāo)間的[L1]距離,可以被表示為如下所示:
[Lloc=I∈Ii=1Nj=1NMσ(i,j)(φ(I))-ij1+Mi,j(I)-ij1]? ? ?(8)
通過(guò)端到端的訓(xùn)練,區(qū)域重建損失可以幫助分類骨干網(wǎng)絡(luò)理解物體并建模結(jié)構(gòu)信息,比如物體的形狀或者區(qū)域之間的語(yǔ)義聯(lián)系。
最終在DCL框架中,分類、對(duì)抗和區(qū)域?qū)R損失都以端到端的方式訓(xùn)練,使得網(wǎng)絡(luò)可以在加強(qiáng)局部細(xì)節(jié)和建模部位關(guān)聯(lián)之間兩方面做好權(quán)衡。具體而言,最終想要最小化的整體目標(biāo)為:
[L=αLcls+βLadv+γLloc]? ? ? ? ? ? ? ? ? ? ? ? ? ? (9)
DCL框架整體如圖3所示。
2.2 改進(jìn)的Class-Balanced Focal Loss
Class-Balanced Focal loss由交叉熵(Cross Entropy,簡(jiǎn)稱CE)損失函數(shù)改進(jìn)而來(lái),它可以解決不同類間類別數(shù)量不均衡與分類難易不均衡的問(wèn)題。
2.2.1 交叉熵?fù)p失函數(shù)
標(biāo)準(zhǔn)交叉熵?fù)p失函數(shù)為:
[CE(p,y)=-log(p) ? if y=1-log(1-p)? otherwise]? ? ? ? ? ? ? ? ? ? (10)
其中y表示正負(fù)類別,p為預(yù)測(cè)y=1的預(yù)測(cè)置信度,為了方便標(biāo)記,定義[pt]:
[pt=pif y=11-p otherwise]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (11)
由此可把交叉熵CE重寫為:[CE(p,y)=-log(pt)]? ? ? ? ? ? ? (12)
2.2.2 [α]-交叉熵?fù)p失函數(shù)
為解決類別不平衡造成的影響,在CE中引入[α]權(quán)重因子,來(lái)平衡正負(fù)樣本本身的數(shù)量不均問(wèn)題,為方便標(biāo)記,將[α]按照[pt]方式定義得到[αt],由此得到[α-CE]:
[α-CE=-αtlog(pt)]? ? ? ? ? ? ? ? ? ? ? ? ? (13)
2.2.3 Focal loss
實(shí)際模型訓(xùn)練中由于易分樣本貢獻(xiàn)了大部分的損失值并在梯度中占主導(dǎo)地位,導(dǎo)致此時(shí)的損失函數(shù)在大量樣本的簡(jiǎn)單迭代中比較緩慢且可能無(wú)法優(yōu)化至最優(yōu),[αt]雖然可以平衡正負(fù)樣本數(shù)量不均的問(wèn)題,但無(wú)法區(qū)分易分與難分樣本。Focal loss提出添加一個(gè)調(diào)制因子[(1-pt)γ]([γ≥0])來(lái)對(duì)難易樣本損失權(quán)重進(jìn)行調(diào)整,F(xiàn)ocal loss定義如下:
[FL(pt)=-αt(1-pt)γlog(pt)]? ? ? ? ? ? ? ? ? ? ? ?(14)
Focal loss通過(guò)能使易分樣本相對(duì)難分樣本帶來(lái)的較小的損失,假設(shè)[γ=2],如果一個(gè)樣本為易分樣本,其[pt≈0.9]則此時(shí)該調(diào)制因子為0.01,使其相較[α-CE]變小了100倍。該方法使模型更聚焦于難分樣本,可以很好解決難易樣本數(shù)量不平衡問(wèn)題,增強(qiáng)模型對(duì)難分樣本的識(shí)別能力。
2.2.4 Class-Balanced Focal Loss
文獻(xiàn)[7]提出隨著樣本數(shù)量的增加,由于信息重疊會(huì)導(dǎo)致新添加的數(shù)據(jù)點(diǎn)對(duì)于模型訓(xùn)練的額外作用減少。該文獻(xiàn)提出了計(jì)算數(shù)據(jù)集有效樣本量的方法,并基于有效樣本量設(shè)計(jì)了一種新的按類重新加權(quán)的方案,來(lái)解決類別不平衡問(wèn)題,相較于直接以樣本數(shù)量進(jìn)行判斷的方法具有更好的效果。
假定一個(gè)類i中,該類樣本空間中所有可能數(shù)據(jù)的集合為[Si],[Si]的樣本體積為[Ni]。有效樣本量[Eni],計(jì)算方法如式(15)所示。
[Eni=(1-βini)(1-βi)]? ? ? ? ? ? ? ? ? ? ? (15)
其中[ni]為該類樣本數(shù)量,[βi=(Ni-1)Ni] (16)。由于目前缺乏對(duì)每一類的進(jìn)一步信息,故對(duì)整個(gè)樣本設(shè)置[Ni=N],[βi=β=(N-1)N] (17)。由于現(xiàn)實(shí)中N無(wú)法得到,且N為很大的數(shù),所以[β]一般取一個(gè)接近1的數(shù)。
采用有效樣本量的倒數(shù)即[1En]來(lái)代替focal loss中的[α]超參數(shù),可以更好提升對(duì)高度不平衡數(shù)據(jù)的處理能力。Class-Balanced Focal Loss公式為:
[CBfl(z,y)=-1-β1-βnyi=1C(1-pti)γlog(pti)]? ? ? ? ? ? ? ? ? ? (18)
其中C為類別總數(shù),[ny]為訓(xùn)練集中類別y的數(shù)量。
2.2.5 Class-Balanced Focal Loss的改進(jìn)
原方法由于對(duì)少樣本類與多樣本類給予的權(quán)重差距過(guò)大,導(dǎo)致模型對(duì)多數(shù)類樣本分類能力有所下降,文章提出了一個(gè)調(diào)節(jié)因子[δ],來(lái)減輕少樣本類與多樣本類間權(quán)重差距,改進(jìn)后的Class-Balanced Focal Loss公式如下:
[CBfl(z,y)=-(1-β1-βny)δi=1C(1-pti)γlog(pti) (0<δ<1)]? ? ?(19)
通過(guò)調(diào)整[δ]因子可以減輕損失函數(shù)對(duì)多數(shù)類的忽視,更好提升模型分類的準(zhǔn)確率。
3 實(shí)驗(yàn)驗(yàn)證及結(jié)果分析
3.1 數(shù)據(jù)集獲取及預(yù)處理
目前小比例汽車模型存在市場(chǎng)品牌眾多,車型復(fù)雜的情況,為了保證輸入模型的數(shù)據(jù)可控,具有相同的分布特征,文章選擇較為知名的“風(fēng)火輪”(Hot Wheels)品牌的汽車模型作為主要的收集對(duì)象。同時(shí)為了便于數(shù)據(jù)的獲取,保證數(shù)據(jù)具有一定的結(jié)構(gòu)性,文章將由用戶維護(hù)的Hot Wheels Wiki網(wǎng)站作為主要的數(shù)據(jù)來(lái)源。通過(guò)爬取數(shù)據(jù),最終得到了1616個(gè)汽車模型類別,共39906張圖片樣本。該網(wǎng)站圖片多由不同用戶收集,圖片質(zhì)量層次不齊,同時(shí)還存在類別數(shù)較多,類別間樣本分布不均衡的情況。如圖4所示即為數(shù)據(jù)集部分樣本示例。
為了提高算法模型的魯棒性與泛化性,并對(duì)模型的輸入進(jìn)行統(tǒng)一化,需要對(duì)訓(xùn)練時(shí)的圖像進(jìn)行數(shù)據(jù)增強(qiáng)處理,首先將輸入圖像縮放至512*512然后隨機(jī)裁剪為448*448,進(jìn)行隨機(jī)旋轉(zhuǎn),隨機(jī)水平翻轉(zhuǎn),在測(cè)試時(shí)只對(duì)圖像進(jìn)行中心裁剪。
3.2 驗(yàn)證指標(biāo)
為了對(duì)樣本不均衡的分類模型的性能進(jìn)行有效評(píng)估,分別選擇Accuracy、Macro-F1和Micro-F1指標(biāo)進(jìn)行評(píng)價(jià)。
首先介紹幾個(gè)概念,True Positive(TP)指預(yù)測(cè)為正樣本,實(shí)際也為正樣本;False Positive(FP)指預(yù)測(cè)為正樣本,實(shí)際為負(fù)樣本;True Negative(TN)指預(yù)測(cè)為負(fù)樣本;實(shí)際也為負(fù)樣本;False Negative(FN)指預(yù)測(cè)為負(fù)樣本,實(shí)際為正樣本。
精準(zhǔn)率(precision)指模型預(yù)測(cè)為正樣本中實(shí)際為正樣本的比例即:
[precision=TPTP+FP]? ? ? ? ? ? ? ? ? ? ? ? ? (20)
召回率(recall)指所有正樣本中模型預(yù)測(cè)為正樣本的比例即:
[recall=TPTP+FN]? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(21)
Accuracy又稱準(zhǔn)確度,是最樸素的分類任務(wù)評(píng)價(jià)指標(biāo),其只關(guān)注分類正確的樣本數(shù)與所有樣本數(shù)的比值,并不關(guān)注樣本不均衡等問(wèn)題。
[Accuracy=TP+TNTP+TN+FP+FN]? ? ? ? ? ? ? ? ? ? ? ? ? (22)
[Fβ]指標(biāo)本身是一種衡量二分類模型精確度的指標(biāo),兼顧了分類模型的精確率和召回率,可以看作是精確率和召回率的一種調(diào)和平均,最大值是1,最小值是0,[Fβ]指標(biāo)的物理意義是將精確率和召回率這兩個(gè)分值合并為一個(gè)分值,在合并過(guò)程中,召回率的權(quán)重是精確率的[β]倍。
[Fβ=(1+β2)?precision?recall(β2?precision)+recall]? ? ? ? ? ? ? ? ? ? ? ? (23)
特別地,F(xiàn)1指標(biāo)中召回率和精確率同等重要。
[F1=2?precision?recallprecision+recall]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (24)
F1指標(biāo)本身不能處理樣本不平衡問(wèn)題,因此使用它在多分類問(wèn)題中的變體:Macro-F1和Micro-F1。
Micro-F1的計(jì)算思路是,先計(jì)算出所有類別總的Precision和Recall,然后再計(jì)算F1,計(jì)算時(shí)需要先將每一類由多分類問(wèn)題轉(zhuǎn)化為一對(duì)其他的二分類問(wèn)題,然后計(jì)算每一類的TP、FP、FN,得到所有類的TP、FP、FN后,求和得到總體的TP、FP、FN,然后根據(jù)公式計(jì)算總體的Precision和Recall,最終得到Micro-F1。
Macro-F1的計(jì)算思路是,分別計(jì)算每一類的Precision和Recall(同樣進(jìn)行一對(duì)其他的處理轉(zhuǎn)化為二分類問(wèn)題),從而計(jì)算該類的F1,然后將所有類的F1求和后取平均得到Macro-F1。
因?yàn)镸icro-F1的計(jì)算過(guò)程與Accuracy類似,實(shí)際上仍然收到樣本數(shù)量的影響,其值受到大樣本的類影響較大;而Macro-F1因?yàn)椴魂P(guān)注各類的樣本數(shù)目,而是將各類的F1值取平均,消除了樣本數(shù)量的影響。在樣本不平衡的情況下,可以認(rèn)為Macro-F1和Micro-F1都高時(shí),模型的性能更好,也可以更關(guān)注Macro-F1。
3.3 實(shí)驗(yàn)設(shè)備及參數(shù)設(shè)置
本實(shí)驗(yàn)采用Pytorch深度學(xué)習(xí)框架,采用的硬件配置如表1所示。
實(shí)驗(yàn)數(shù)據(jù)集的設(shè)置采取程序隨機(jī)劃分的方法,訓(xùn)練集、驗(yàn)證集和測(cè)試集的比例為7:2:1。實(shí)驗(yàn)迭代epoch為85,訓(xùn)練與驗(yàn)證的batch size均設(shè)置為4,初始學(xué)習(xí)率設(shè)置0.0008,每60個(gè)epoch衰減為原來(lái)的十分之一。改進(jìn)的Class-Balanced Focal Loss中[γ]設(shè)置為2,[β]設(shè)置為0.9999,[δ]設(shè)置為0.5。
3.4 實(shí)驗(yàn)及結(jié)果分析
在實(shí)驗(yàn)中文章采用以resnet-50[10]為基礎(chǔ)網(wǎng)絡(luò)的DCL框架,首先采用DCL對(duì)原數(shù)據(jù)集進(jìn)行訓(xùn)練,獲得準(zhǔn)確率為87.22%的模型,通過(guò)此模型對(duì)原數(shù)據(jù)集進(jìn)行清洗,清洗結(jié)果如表2所示。
數(shù)據(jù)清洗后,文章同樣采用DCL對(duì)清洗后的數(shù)據(jù)集進(jìn)行訓(xùn)練,將清洗前后的模型采用相同的測(cè)試集進(jìn)行測(cè)試,選取在驗(yàn)證集預(yù)測(cè)準(zhǔn)確率最高的模型,在測(cè)試集上進(jìn)行測(cè)試結(jié)果如表3所示。
由結(jié)果可以看出清洗后的數(shù)據(jù)集三項(xiàng)指標(biāo)均有所提升,說(shuō)明采取該深度學(xué)習(xí)的方法可以有效對(duì)低質(zhì)量數(shù)據(jù)進(jìn)行清理,高質(zhì)量的數(shù)據(jù)集可以使模型更好地對(duì)車模特征進(jìn)行提取,不易被錯(cuò)誤數(shù)據(jù)誤導(dǎo)以至模型精度下降。
清洗完后的數(shù)據(jù)集后,文章將改進(jìn)的Class-Balanced Focal Loss與DCL相結(jié)合,并對(duì)其進(jìn)行訓(xùn)練,以同樣方式進(jìn)行測(cè)試,最終測(cè)試集準(zhǔn)確率對(duì)比結(jié)果如表4所示:
從表中可以看出將DCL結(jié)合改進(jìn)的Class-Balanced Focal Loss后,模型在測(cè)試集上分類的Accuracy有較大提升,Micro-F1由于受樣本數(shù)量影響且與Accuracy計(jì)算過(guò)程類似,故與Accuracy差別不大,而Macro-F1計(jì)算未考慮樣本數(shù)量的影響,它相比于Accuracy有更大的提升則說(shuō)明了模型對(duì)于少數(shù)類的分類能力提升更大,分類能力更加全面。
4 結(jié)束語(yǔ)
文章針對(duì)小比例車模圖像數(shù)據(jù)種類多、相似類數(shù)量多,類別數(shù)量不均衡、網(wǎng)絡(luò)采集圖像質(zhì)量難以保障的特點(diǎn),設(shè)計(jì)了一個(gè)對(duì)其進(jìn)行識(shí)別分類的整套流程方法,首先對(duì)于網(wǎng)絡(luò)采集數(shù)據(jù)的質(zhì)量參差不一現(xiàn)象采用基于深度學(xué)習(xí)的方法清洗數(shù)據(jù)集,隨后對(duì)于車模種類繁多,具有很多高度相似類的特點(diǎn),選取了適當(dāng)?shù)募?xì)粒度識(shí)別算法,對(duì)于車模數(shù)據(jù)類別不均衡的問(wèn)題,以Class-Balanced Focal Loss為基礎(chǔ)設(shè)計(jì)了一種改進(jìn)的按類重加權(quán)方法。最終實(shí)驗(yàn)證明該套組合處理方法具有良好的效果,相較于僅采用DCL的原方法具有更高的準(zhǔn)確率與更強(qiáng)的泛化能力。
參考文獻(xiàn):
[1] 中國(guó)玩具和嬰童用品協(xié)會(huì).中國(guó)玩具和嬰童用品行業(yè)發(fā)展白皮書[EB/OL].(2019). http://www.wjyt-china.org/Single/103230/hd777.html.
[2] 中國(guó)報(bào)告網(wǎng).2018年中國(guó)汽車模型行業(yè)分析報(bào)告-市場(chǎng)深度調(diào)研與發(fā)展前景研究[EB/OL]. http://baogao.chinabaogao.com/dianzishebei/339213339213.html.
[3] 彭清,季桂樹,謝林江,等.卷積神經(jīng)網(wǎng)絡(luò)在車輛識(shí)別中的應(yīng)用[J].計(jì)算機(jī)科學(xué)與探索,2018,12(2):282-291.
[4] Yang Y.A vehicle recognition algorithm based on deep convolution neural network[J].Traitement Du Signal,2020,37(4):647-653.
[5] 張強(qiáng),李嘉鋒,卓力.車輛識(shí)別技術(shù)綜述[J].北京工業(yè)大學(xué)學(xué)報(bào),2018,44(3):382-392.
[6] Chen Y,Bai Y L,Zhang W,et al.Destruction and construction learning for fine-grained image recognition[C]//2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR).June 15-20,2019,Long Beach,CA,USA.IEEE,2019:5152-5161.
[7] Cui Y,Jia M L,Lin T Y,et al.Class-balanced loss based on effective number of samples[C]//2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR).June 15-20,2019,Long Beach,CA,USA.IEEE,2019:9260-9269.
[8] Lin T Y,Goyal P,Girshick R,et al.Focal loss for dense object detection[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2020,42(2):318-327.
[9] 余華擎.基于深度學(xué)習(xí)的圖像數(shù)據(jù)清洗方法研究[D].北京:北京工業(yè)大學(xué),2018.
[10] He K M,Zhang X Y,Ren S Q,et al.Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).June 27-30,2016,Las Vegas,NV,USA.IEEE,2016:770-778.
【通聯(lián)編輯:唐一東】