關(guān)鍵詞:圖像分類(lèi);卷積神經(jīng)網(wǎng)絡(luò);汽車(chē)產(chǎn)品檢測(cè)
0引言
隨著科技革命和產(chǎn)業(yè)變革的深入推進(jìn),“信息科技+”的“嫁接對(duì)象”越來(lái)越廣泛,人工智能等先進(jìn)技術(shù)正逐步對(duì)傳統(tǒng)產(chǎn)業(yè)的基礎(chǔ)設(shè)施、作業(yè)模式等進(jìn)行全方位、全鏈條的改造。在汽車(chē)行業(yè)中,企業(yè)在申報(bào)產(chǎn)品準(zhǔn)入時(shí)需要在工信部平臺(tái)網(wǎng)站上填報(bào)新車(chē)型的備案參數(shù)。目前大多數(shù)汽車(chē)檢測(cè)機(jī)構(gòu)在備案參數(shù)的校核工作上,仍主要依賴(lài)于檢測(cè)人員根據(jù)填寫(xiě)規(guī)范和視同條件進(jìn)行逐項(xiàng)人工比對(duì),這不僅導(dǎo)致重復(fù)性勞動(dòng)強(qiáng)度大,而且在面對(duì)企業(yè)申報(bào)量增多、填報(bào)水平參差不齊等情況下,參數(shù)校核的質(zhì)量難以得到保障,進(jìn)而可能妨礙檢測(cè)申報(bào)業(yè)務(wù)的順利進(jìn)行。因此,汽車(chē)檢測(cè)行業(yè)急需信息技術(shù)的創(chuàng)新與應(yīng)用,以提高生產(chǎn)效率、推進(jìn)行業(yè)高質(zhì)量發(fā)展。
汽車(chē)企業(yè)填報(bào)的產(chǎn)品備案數(shù)據(jù)類(lèi)型多樣,除了包含文字與數(shù)字信息外,還涉及各種角度的汽車(chē)產(chǎn)品照片,如產(chǎn)品的右前45°方向、左前45°方向照片,以及正后部、側(cè)后下部防護(hù)裝置照片等。這些照片在《備案參數(shù)表》及其填報(bào)指南中有著嚴(yán)格的排列位置和方位要求。如果企業(yè)上傳的圖像內(nèi)容與要求不匹配,將無(wú)法通過(guò)審查。作為一種深度學(xué)習(xí)模型,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)在圖像識(shí)別與分類(lèi)領(lǐng)域已得到廣泛應(yīng)用…,例如交通場(chǎng)景下的車(chē)輛識(shí)別和定位,以及對(duì)車(chē)輛類(lèi)型、車(chē)型大小、車(chē)輛承重等屬性的分類(lèi)。然而,在車(chē)身方向檢測(cè)方面的應(yīng)用尚需進(jìn)一步完善。
基于上述背景,本文通過(guò)分析卷積神經(jīng)網(wǎng)絡(luò)的演化進(jìn)程和性能特點(diǎn),選取出適用于汽車(chē)產(chǎn)品檢測(cè)場(chǎng)景的模型。隨后,通過(guò)采集和標(biāo)注大量圖像數(shù)據(jù),利用這些數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練,并通過(guò)調(diào)節(jié)相關(guān)參數(shù)來(lái)優(yōu)化模型性能。最終,使模型能夠準(zhǔn)確識(shí)別車(chē)身朝向,從而助力檢測(cè)工作的精細(xì)化、智能化發(fā)展,加快檢測(cè)行業(yè)的信息化、現(xiàn)代化轉(zhuǎn)型。
1卷積神經(jīng)網(wǎng)絡(luò)發(fā)展綜述
1.1卷積神經(jīng)網(wǎng)絡(luò)的基本特征
傳統(tǒng)神經(jīng)網(wǎng)絡(luò)在圖像數(shù)字化處理時(shí),難以有效保留原有圖像特征,因此圖像識(shí)別率較低。然而,卷積神經(jīng)網(wǎng)絡(luò)憑借聯(lián)結(jié)稀疏、參數(shù)權(quán)值共享、能夠提取多維特征等優(yōu)勢(shì),顯著提升了圖像識(shí)別率。特別是在2012年的ImageNet大賽中,卷積神經(jīng)網(wǎng)絡(luò)大幅度超越了傳統(tǒng)方法。
卷積神經(jīng)網(wǎng)絡(luò)主要由卷積層、池化層和全連接層構(gòu)成。在卷積層中,卷積核在原始圖像上進(jìn)行滑動(dòng),通過(guò)卷積操作提取特征,見(jiàn)公式1:
池化層的作用是對(duì)卷積層輸出的特征圖像進(jìn)行降維,減少參數(shù)量。全連接層的功能則是整合卷積層和池化層提取到的特征,完成對(duì)計(jì)劃的識(shí)別和分類(lèi)。
1.2卷積神經(jīng)網(wǎng)絡(luò)的常用模型
1998年,利用二維卷積進(jìn)行圖像處理的LeNet-5模型實(shí)現(xiàn)了卷積核共享,奠定了現(xiàn)代CNN的基礎(chǔ),但該模型的應(yīng)用對(duì)象主要為手寫(xiě)字符和英文字符,不擅長(zhǎng)處理復(fù)雜問(wèn)題。2012年提出的AlexNet模型通過(guò)ReLU激活函數(shù)緩解了梯度消失的問(wèn)題,設(shè)置隨機(jī)失活以減少過(guò)擬合,在ILSVRC 2012競(jìng)賽中將分類(lèi)準(zhǔn)確率提升至80%以上。2014年,牛津大學(xué)計(jì)算機(jī)視覺(jué)組提出的VGGNet模型在當(dāng)年的ImageNet競(jìng)賽中斬獲定位任務(wù)(Localization Task)第1名和分類(lèi)任務(wù)(ClassificationTask)第2名。與AlexNet相比,VGGNet具有更深的網(wǎng)絡(luò)深度和更簡(jiǎn)潔的形式,模型使用3x3的小卷積核代替大尺度卷積核,在不影響感受野的前提下減少了參數(shù)量,提高了對(duì)圖像特征的學(xué)習(xí)能力,其采用的2x2小尺寸池化核也可增加通道數(shù),使得提取的圖像特征更加豐富。同樣在2014年,Szegedy等人提出GoogLeNet模型,在其中加入Inception結(jié)構(gòu),通過(guò)融合不同尺度的特征信息,提高網(wǎng)絡(luò)的性能和效率,并在接下來(lái)的幾年中不斷優(yōu)化Inception結(jié)構(gòu)或添加其他結(jié)構(gòu),陸續(xù)發(fā)布InceptionV2、InceptionV3、InceptionV4、Inception-ResNet-V1、Inception-ResNet-V2等模型。2015年面世的ResNet模型,通過(guò)殘差模塊有效地緩解了梯度消失和梯度爆炸的問(wèn)題,但需要比較長(zhǎng)的訓(xùn)練時(shí)間。2016年提出的SqueezeNet模型,在保證準(zhǔn)確率相同的情況下,降低了參數(shù)量,減小了CNN架構(gòu),但具有相對(duì)較差的實(shí)時(shí)性。2017年,采用密集連接方式的DenseNet模型實(shí)現(xiàn)了特征復(fù)用,具有較高的泛化能力和抗過(guò)擬合性能,但該模型的計(jì)算復(fù)雜度大,需要巨量存儲(chǔ)空間,難以得到現(xiàn)有深度學(xué)習(xí)框架的支持。針對(duì)移動(dòng)設(shè)備的使用需求,Howard等人提出了輕量級(jí)的MobileNetVI模型,并針對(duì)模型性?xún)r(jià)比低、準(zhǔn)確性難以保障等問(wèn)題,不斷改進(jìn)模型結(jié)構(gòu),陸續(xù)推出MobileNetV2、MobileNetV3模型,不過(guò)MobileNetV3仍然具有訓(xùn)練難度高、細(xì)粒度分類(lèi)效果差的缺點(diǎn)。2019年提出的EfficientNetV1模型在準(zhǔn)確率方面表現(xiàn)優(yōu)秀,但處理較大圖像的速度很慢。為了在參數(shù)量和速度之間取得更加合理的平衡,EfficientNetV2于2021年被提出,實(shí)現(xiàn)了更高效的特征提取。
綜上所述,卷積神經(jīng)網(wǎng)絡(luò)經(jīng)歷了多次演化,在訓(xùn)練速度、準(zhǔn)確率、抗過(guò)擬合性能等方面不斷得到提升,并仍在持續(xù)改進(jìn)。不同的CNN模型具有各自的優(yōu)勢(shì)和缺點(diǎn)(見(jiàn)圖1),因此適用于不同的應(yīng)用場(chǎng)景,研究人員需要根據(jù)實(shí)際情況進(jìn)行選擇。目前,車(chē)輛的識(shí)別和定位主要使用R-CNN、YOLO等模型,車(chē)輛的分類(lèi)則常用LeNet、AlexNet、VGG、GoogLeNet等模型。
為了填報(bào)備案參數(shù)而給車(chē)輛產(chǎn)品拍照時(shí),拍攝角度和距離均相對(duì)固定,因此目標(biāo)車(chē)輛在上傳照片中所占比例大小相對(duì)穩(wěn)定,即檢測(cè)對(duì)象的尺度相對(duì)穩(wěn)定。但是汽車(chē)與掛車(chē)的種類(lèi)多樣,對(duì)于不同結(jié)構(gòu)或不同用途的車(chē)輛,其后部的視覺(jué)圖像差異較大,比如欄板式、廂式和罐式車(chē)輛的后部外觀(guān)具有明顯差別,而同樣屬于罐式運(yùn)輸車(chē)的混凝土攪拌運(yùn)輸車(chē)和危險(xiǎn)品運(yùn)輸車(chē)也在外觀(guān)上存在差異。因此,企業(yè)備案照片的車(chē)身方向分類(lèi)任務(wù),需要模型具有比較優(yōu)秀的圖像特征學(xué)習(xí)能力。
VGGNet模型憑借小卷積核獲得了提取豐富圖像特征的性能,具備較強(qiáng)的遷移學(xué)習(xí)能力,而且結(jié)構(gòu)簡(jiǎn)潔,易于在現(xiàn)有的深度學(xué)習(xí)框架上實(shí)現(xiàn)。綜合考慮分類(lèi)效果與實(shí)現(xiàn)成本等因素,本文選擇VGGNet模型對(duì)圖片中的車(chē)身方向進(jìn)行分類(lèi)。
2模型訓(xùn)練與評(píng)估
2.1數(shù)據(jù)采集與處理
本次研究的圖片數(shù)據(jù)來(lái)自中汽研汽車(chē)檢驗(yàn)中心(武漢)有限公司的整車(chē)與智能網(wǎng)聯(lián)試驗(yàn)研究部的電子數(shù)據(jù)庫(kù),這些照片均為樣車(chē)核查照片,拍攝時(shí)間為2020年和2021年。
為了進(jìn)行模型訓(xùn)練與驗(yàn)證,本研究在數(shù)據(jù)庫(kù)中隨機(jī)挑選了1014張車(chē)輛前部照片和1023張車(chē)輛后部照片,并分別標(biāo)注“front”和“rear”的標(biāo)簽,作為訓(xùn)練集與驗(yàn)證集的基礎(chǔ)數(shù)據(jù)。對(duì)于部分格式異常、無(wú)法被程序正確讀取的圖片數(shù)據(jù),本文利用Python編程語(yǔ)言進(jìn)行了自動(dòng)剔除,經(jīng)過(guò)清洗后的有效數(shù)據(jù)共2003條。
測(cè)試集則包含了19張圖片,其中車(chē)輛前部圖片6張,車(chē)輛后部圖片13張。由于不同商用車(chē)的車(chē)輛前部外觀(guān)差異相對(duì)較小,因此用于測(cè)試的車(chē)輛前部照片相對(duì)較少,涵蓋了車(chē)身顏色不同、室內(nèi)室外場(chǎng)景不同等情況。而車(chē)輛后部圖片則更加多樣化,覆蓋了多個(gè)不同的車(chē)輛種類(lèi)。
2.2模型構(gòu)建與優(yōu)化
2.2.1模型結(jié)構(gòu)設(shè)計(jì)
VGGNet包含5層卷積層、3層全連接層和1層softmax輸出層,層與層之間由maxpool(最大池化)層進(jìn)行分隔。所有的隱藏層都采用了ReLU函數(shù)作為激活函數(shù)。Simonyan等人根據(jù)不同的卷積層子層數(shù)量,設(shè)計(jì)了A、A-LRN、B、C、D、E6種網(wǎng)絡(luò)結(jié)構(gòu)。在本文中,我們選取最常用的D型結(jié)構(gòu)(也被稱(chēng)為VGG16)作為基礎(chǔ),并使用TensorFlow深度學(xué)習(xí)框架構(gòu)建模型。我們使用的硬件環(huán)境是英特爾酷睿15的CPU,操作系統(tǒng)為windowsl0,并使用PyCharm作為編譯工具進(jìn)行Python編程?;谏鲜鲈O(shè)置,我們構(gòu)建了初始的VGG16模型。具體的模型結(jié)構(gòu)如圖2所示,圖中的卷積層參數(shù)用“conv感受野大小一通道數(shù)”的形式表示。例如,conv3-64表示該卷積層使用了尺寸為3x3的卷積核,并具有64個(gè)輸出通道。
2.2.2模型參數(shù)優(yōu)化
初始模型經(jīng)過(guò)訓(xùn)練后,性能并不理想(見(jiàn)圖3左),驗(yàn)證集的Loss值約為0.3,且與訓(xùn)練集的Loss值相差較大,這顯示出過(guò)擬合現(xiàn)象,同時(shí)驗(yàn)證集的準(zhǔn)確率(Accuracy)也并不高,并且過(guò)早地趨于穩(wěn)定,陷入了學(xué)習(xí)瓶頸。針對(duì)這些問(wèn)題,本次研究通過(guò)不斷調(diào)節(jié)模型的相關(guān)參數(shù)來(lái)提升模型性能。
(1)“學(xué)習(xí)率”參數(shù)指權(quán)重在模型訓(xùn)練期間更新的量,過(guò)大的學(xué)習(xí)率可能導(dǎo)致模型性能在訓(xùn)練后期產(chǎn)生明顯振蕩,而過(guò)小的學(xué)習(xí)率可能導(dǎo)致模型收斂速度過(guò)慢甚至不收斂。學(xué)習(xí)率衰減的策略可以確保模型在訓(xùn)練初期使用較大的學(xué)習(xí)率進(jìn)行模型優(yōu)化,而在訓(xùn)練后期逐漸減小學(xué)習(xí)率以避免過(guò)大波動(dòng),從而更接近最優(yōu)解,有效提高模型的精度。
(2)“dropout”參數(shù)的設(shè)置,可以在訓(xùn)練過(guò)程中隨機(jī)丟棄一定比例的神經(jīng)元,以減少神經(jīng)元之間的依賴(lài)關(guān)系,從而緩解過(guò)擬合問(wèn)題,提高模型的泛化能力。
(3)“epoch”參數(shù)表示整個(gè)數(shù)據(jù)集在網(wǎng)絡(luò)中完成一次前向計(jì)算和反向傳播的過(guò)程。epoch數(shù)量越大,權(quán)重更新的次數(shù)也越多。如果epoch過(guò)小,權(quán)重可能沒(méi)有得到充分的更新,模型的特征值曲線(xiàn)可能還未進(jìn)入優(yōu)化擬合狀態(tài)。
(4)參數(shù)的初始化對(duì)深度學(xué)習(xí)模型的訓(xùn)練也至關(guān)重要。采用“截?cái)嗾龖B(tài)分布”的初始化方法可以減少異常值的影響,有利于模型擬合。
考慮到以上參數(shù)設(shè)置對(duì)模型的影響,以及初始模型存在的問(wèn)題,本次研究進(jìn)行了以下優(yōu)化:
(1)將初始學(xué)習(xí)率由0.01減小至0.001,并設(shè)置了學(xué)習(xí)率衰減策略。
(2)在全連接層中添加了dropout,并嘗試了多個(gè)dropout取值,最終依據(jù)模型性能表現(xiàn)將神經(jīng)元的丟棄比例確定為0.6。
(3)參數(shù)初始化方法采用“截?cái)嗾龖B(tài)分布”。
(4)epoch數(shù)量在經(jīng)歷多次試驗(yàn)后增大至150,以確保模型得到充分的訓(xùn)練。
優(yōu)化后的模型性能見(jiàn)圖3右,訓(xùn)練集與驗(yàn)證集的Loss值均在epoch為80之后趨于平穩(wěn),兩者之間的差距相較于初始模型有所減小。驗(yàn)證集的Loss值最終低于0.2,Accuracy也高達(dá)0.95,顯示出較好的分類(lèi)能力。
2.3建模結(jié)果評(píng)估
除了上文提到的Accuracy(準(zhǔn)確率),Precision(精確率)和Recall(召回率)也是評(píng)價(jià)模型性能的重要指標(biāo)。Precision又稱(chēng)“查準(zhǔn)率”,表示在預(yù)測(cè)結(jié)果為正的樣本中,實(shí)際為正的樣本的比例;Recall又稱(chēng)“查全率”,表示在實(shí)際為正的樣本中,預(yù)測(cè)結(jié)果為正的樣本的比例,可反映模型對(duì)所有真實(shí)正例樣本的識(shí)別能力。由于Precision和Recall通常是相互制約的,研究人員常用它們的調(diào)和平均值(F1-Score)來(lái)衡量二分類(lèi)(或多任務(wù)二分類(lèi))模型的精確度。F1-Score可以同時(shí)兼顧分類(lèi)模型的精確率和召回率,計(jì)算方法見(jiàn)公式(3),取值范圍為0~1,值越大則意味著模型越好。
優(yōu)化后的VGG Ixlet模型的各項(xiàng)評(píng)價(jià)指標(biāo)值如圖4所示,并整理為表1。模型的Accuracy和F1-Score均取值為0.95,表明該模型具有較為優(yōu)秀的性能。
模型構(gòu)建完成后,對(duì)測(cè)試集的圖片數(shù)據(jù)進(jìn)行分類(lèi),分類(lèi)結(jié)果全部正確(見(jiàn)表2),且有1/2的預(yù)測(cè)概率高達(dá)95%以上,進(jìn)一步驗(yàn)證了該模型優(yōu)秀的分類(lèi)準(zhǔn)確度。對(duì)于不同的車(chē)身主體顏色、室內(nèi)室外環(huán)境、車(chē)輛類(lèi)型,模型均能較為準(zhǔn)確地識(shí)別出車(chē)身的朝向,表現(xiàn)出較好的泛化能力與學(xué)習(xí)能力,因此,該模型特別適合試驗(yàn)環(huán)境多樣、試驗(yàn)對(duì)象種類(lèi)繁雜的汽車(chē)檢測(cè)行業(yè)。
模型對(duì)真實(shí)備案照片的分類(lèi)也非常成功,圖5為某企業(yè)上傳至工信部平臺(tái)的備案照片,圖6為模型的輸出結(jié)果,高達(dá)99.82%和98.78%的準(zhǔn)確預(yù)測(cè)概率表明該模型在實(shí)際備案核查工作中的應(yīng)用具有較強(qiáng)的可行性與科學(xué)性。
3結(jié)束語(yǔ)
本文綜合考慮了多種卷積神經(jīng)網(wǎng)絡(luò)模型的性能特點(diǎn)與汽車(chē)產(chǎn)品檢測(cè)行業(yè)的實(shí)際需求,選取了VGGNet模型進(jìn)行訓(xùn)練。經(jīng)過(guò)訓(xùn)練后的模型能夠較為準(zhǔn)確地識(shí)別出企業(yè)備案照片中的車(chē)輛朝向(前或后),這一成果有助于節(jié)約企業(yè)與檢測(cè)機(jī)構(gòu)的勞動(dòng)成本,降低工作失誤率,提升生產(chǎn)效率,從而助力汽車(chē)檢測(cè)行業(yè)實(shí)現(xiàn)“科技為擎,賦智賦能”的目標(biāo)。
在后續(xù)的研究中,可以進(jìn)一步細(xì)化車(chē)身朝向的分類(lèi)種類(lèi),例如將“前向”細(xì)分為“左前45°”“正前”“右前45°”等,以使得模型的應(yīng)用更加貼近實(shí)際工作需求,為汽車(chē)檢測(cè)行業(yè)提供更加全面、細(xì)致的服務(wù)。