劉全周,賈鵬飛,李占旗,王述勇,王啟配
(中國(guó)汽車技術(shù)研究中心有限公司,天津 300300)
隨著經(jīng)濟(jì)的快速發(fā)展,人們對(duì)產(chǎn)品的開發(fā)和生產(chǎn)周期也提出了更高的要求。人工智能技術(shù)因具有精度高、成本低,能減少人工負(fù)荷的優(yōu)點(diǎn),已經(jīng)被廣泛應(yīng)用到實(shí)際工程當(dāng)中[1]。
汽車儀表總成是汽車安全系統(tǒng)的重要組成部分,它可以實(shí)時(shí)顯示汽車的信號(hào)狀態(tài)[2]。小型化、集成化以及多功能化是汽車儀表總成未來(lái)發(fā)展的核心方向,其主要意義是為了滿足汽車對(duì)于便捷、實(shí)用等方面的需求[3]。國(guó)內(nèi)外學(xué)者在汽車儀表領(lǐng)域已做了大量的研究工作,Alegria等[4](2000年)利用背影法對(duì)儀表盤的圖案標(biāo)識(shí)進(jìn)行了采集,并利用Hough變換對(duì)儀表指針進(jìn)行了檢測(cè),計(jì)算出了指針的偏轉(zhuǎn)角度;Jaffery等[5](2011年)利用攝像頭對(duì)儀表圖像進(jìn)行實(shí)時(shí)采集,然后選取合適的閾值對(duì)圖像進(jìn)行二值化處理,實(shí)時(shí)輸出檢測(cè)結(jié)果。國(guó)內(nèi),岳曉峰等[6](2014年)對(duì)汽車儀表盤的信息進(jìn)行識(shí)別,通過(guò)SIFI算法獲得目標(biāo)位置區(qū)域,再進(jìn)行細(xì)化,并通過(guò)最小二乘法得到儀表指針的直線方程;鄧書勤等[7](2017年)提出一種快速的汽車儀表盤標(biāo)識(shí)配準(zhǔn)算法,可獲取匹配特征并求取匹配參數(shù),并進(jìn)行了儀表標(biāo)識(shí)的匹配實(shí)驗(yàn)。
從上述的研究來(lái)看,國(guó)內(nèi)外的研究主要是通過(guò)傳統(tǒng)算法對(duì)儀表標(biāo)識(shí)進(jìn)行提取和檢測(cè),很少對(duì)儀表的標(biāo)識(shí)進(jìn)行自動(dòng)化定位和辨別,而傳統(tǒng)圖像識(shí)別的算法流程是事先提取圖案的特征,然后再用這些特征去進(jìn)行匹配,但是汽車儀表盤的標(biāo)識(shí)種類相對(duì)較多,且不同標(biāo)識(shí)之間的相似度較高,利用特征提取算法對(duì)多種標(biāo)識(shí)進(jìn)行辨別時(shí)辨別的精度往往并不太理想。
汽車儀表標(biāo)識(shí)的自動(dòng)化辨別對(duì)于前期儀表功能的檢測(cè)尤為重要,儀表功能較多且信息龐雜,通過(guò)智能算法對(duì)儀表標(biāo)識(shí)的自動(dòng)化辨別,不但可以減低人工成本,也有助于實(shí)現(xiàn)儀表功能的自動(dòng)化測(cè)試,大大提高了測(cè)試的效率。為此,本文基于深度學(xué)習(xí)Inception框架對(duì)汽車儀表標(biāo)識(shí)的辨別進(jìn)行了研究,通過(guò)采集標(biāo)識(shí)信息樣本,制作學(xué)習(xí)數(shù)據(jù)集,對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,實(shí)現(xiàn)儀表標(biāo)識(shí)的自動(dòng)化辨別,辨別結(jié)果進(jìn)行反饋等流程,從而實(shí)現(xiàn)儀表功能的自動(dòng)化測(cè)試。
本文采用的汽車儀表為某汽車品牌的組合儀表,組合儀表包括車速表、轉(zhuǎn)速表、燃油表、水溫表、故障信息以及各種指示燈等內(nèi)容,根據(jù)儀表電器的原理圖和DBC信號(hào)列表,在dSpace控制機(jī)柜中配置對(duì)應(yīng)的信號(hào)可控制不同儀表標(biāo)識(shí)的點(diǎn)亮,儀表的信息圖如圖1所示,儀表的電路連接示意圖如圖2所示。

圖1 儀表總成圖片F(xiàn)ig.1 Picture of automotive instrument clusters

圖2 電路連接示意圖Fig.2 Circuit connection diagram
汽車儀表標(biāo)識(shí)識(shí)別系統(tǒng)包括上位機(jī)控制軟件,dSPACE仿真機(jī)柜,汽車儀表總成,視覺(jué)采集設(shè)備(暗箱、臺(tái)架、攝像頭)以及下位機(jī)圖像分析模塊。辨別系統(tǒng)結(jié)構(gòu)如圖3所示。

圖3 圖像辨別系統(tǒng)結(jié)構(gòu)圖Fig.3 Identification system structure diagram
在上位機(jī)控制中,根據(jù)儀表總成的電路原理圖和引腳定義,在dSPACE控制機(jī)柜中配置合適的信號(hào)值,利用Controldesk軟件搭建儀表總成的GUI控制界面,當(dāng)點(diǎn)擊界面按鈕時(shí),會(huì)發(fā)出相應(yīng)的CAN報(bào)文信息,儀表標(biāo)識(shí)則會(huì)被點(diǎn)亮。通過(guò)攝像頭對(duì)儀表圖像進(jìn)行實(shí)時(shí)采集,采集的圖像經(jīng)過(guò)處理,輸送給識(shí)別程序中進(jìn)行辨別,辨別的結(jié)果轉(zhuǎn)換為CAN報(bào)文的信息反饋給計(jì)算機(jī),依次循環(huán)不同儀表標(biāo)識(shí)的點(diǎn)亮、辨識(shí),最后形成測(cè)試報(bào)告,確定儀表功能是否正常。
由于攝像頭采集的圖像質(zhì)量相對(duì)較差,需要通過(guò)相關(guān)圖像處理算法來(lái)改善圖片的質(zhì)量,本文采用了雙邊濾波對(duì)圖像的噪聲進(jìn)行處理,并通過(guò)改變圖像的對(duì)比度和亮度來(lái)增強(qiáng)圖像的質(zhì)量。雙邊濾波是一種非線性濾波器,具有保持圖像邊緣、降噪平滑的效果[8]。在對(duì)圖像進(jìn)行處理時(shí),假設(shè)為I原圖像,S為圖像中的方形區(qū)域,q為其中的一個(gè)像素,則S中像素p經(jīng)過(guò)雙邊濾波處理的結(jié)果表示為[9]:

式中歸一化因子Wp為:



σd和σr是基于高斯函數(shù)的標(biāo)準(zhǔn)差,決定了雙邊濾波算法的濾波性能。
經(jīng)過(guò)雙邊濾波處理后,對(duì)圖片的對(duì)比度和亮度進(jìn)行調(diào)節(jié),以提高儀表標(biāo)識(shí)的清晰度。在處理時(shí),改變圖像的像素值來(lái)調(diào)節(jié)圖像的對(duì)比度和亮度。
通過(guò)vs-openCV編寫相應(yīng)的算法處理程序,為了便于確定圖像合適的亮度和對(duì)比度,設(shè)計(jì)了滑動(dòng)條,拖動(dòng)滑動(dòng)條即可改變圖像的對(duì)比度和亮度,處理的圖片如下所示。

圖4 攝像頭采集的圖像Fig.4 Image captured by a camera

圖5 雙邊濾波處理的圖像Fig.5 Image processed by bilateral filtering

圖6 對(duì)比度亮度調(diào)整后的圖像Fig.6 Image after adjusting contrast and brightness
深度學(xué)習(xí)是人工智能的一種算法,它學(xué)習(xí)的過(guò)程主要是通過(guò)卷積網(wǎng)絡(luò)對(duì)所識(shí)別的圖像進(jìn)行特征提取,一個(gè)卷積網(wǎng)絡(luò)一般包含若干卷積層、池化層和全連接層,如圖7所示[10-11]。

圖7 卷積網(wǎng)絡(luò)結(jié)構(gòu)Fig.7 Convolutional neural network structure
卷積神經(jīng)網(wǎng)絡(luò)在圖像處理方面一直有著很不錯(cuò)的表現(xiàn),圖像在處理時(shí),要經(jīng)過(guò)多層的卷積操作,隨著卷積層數(shù)的增多,網(wǎng)絡(luò)對(duì)于圖像“理解”的更深,學(xué)習(xí)到的特征也會(huì)更全面[12-13]。
本文所采用的的卷積網(wǎng)絡(luò)模型是Inception v3網(wǎng)絡(luò)結(jié)構(gòu)模型,它是由GoogleNet經(jīng)過(guò)改進(jìn)得到的,誤差率僅為3.46%[14-16]。在計(jì)算機(jī)中配置Tensorflow深度學(xué)習(xí)框架,利用TensorBoard可以查看網(wǎng)絡(luò)模型結(jié)構(gòu),Inception v3的結(jié)構(gòu)示意圖如圖8所示。

圖8 Inception v3網(wǎng)絡(luò)結(jié)構(gòu)Fig.8 Inception v3 network structure
Inception v3網(wǎng)絡(luò)結(jié)構(gòu)相比于傳統(tǒng)的CNN卷積網(wǎng)絡(luò),它多了Inception網(wǎng)絡(luò)處理子模塊,每個(gè)網(wǎng)絡(luò)子模塊是由大小不同的卷積核并行連接在一起,增加了網(wǎng)絡(luò)的寬度和網(wǎng)絡(luò)的適應(yīng)性,可以起到減小模型復(fù)雜度,加快訓(xùn)練效率,提高網(wǎng)絡(luò)泛化能力的作用。它求解的思路是通過(guò)局部的稀疏矩陣來(lái)近似的去表示稠密矩陣,通過(guò)分析激活值的統(tǒng)計(jì)特性和高度相關(guān)的輸出進(jìn)行聚集來(lái)建立最優(yōu)網(wǎng)絡(luò)。
神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過(guò)程實(shí)則是神經(jīng)元權(quán)重與閾值的更新過(guò)程,經(jīng)過(guò)不斷的迭代,網(wǎng)絡(luò)通過(guò)誤差反向傳播算法來(lái)計(jì)算各個(gè)神經(jīng)元的節(jié)點(diǎn)參數(shù),網(wǎng)絡(luò)中神經(jīng)元的激活函數(shù)為Relu函數(shù),使用ReLU激活函數(shù)可以避免梯度彌散和梯度爆炸。利用鏈?zhǔn)角髮?dǎo)計(jì)算損失函數(shù)對(duì)每個(gè)權(quán)重的偏導(dǎo)數(shù),然后根據(jù)梯度下降公式跟新權(quán)重,訓(xùn)練算法依據(jù)反向誤差傳播誤差,誤差的更新計(jì)算如圖9所示。

圖9 卷積層處理模型Fig.9 Convolution layer processing model

其中,δl為l的誤差,則l?1層神經(jīng)元的誤差項(xiàng)δl-1由鏈?zhǔn)角髮?dǎo)得:


進(jìn)一步將元素?cái)U(kuò)展到卷積區(qū)域的處理,上式為


將兩項(xiàng)組合起來(lái),便可得到神經(jīng)元的誤差,為

在訓(xùn)練網(wǎng)絡(luò)之前,需要準(zhǔn)備汽車儀表標(biāo)識(shí)的數(shù)據(jù)集,控制儀表總成標(biāo)識(shí)依次點(diǎn)亮,借助于攝像頭對(duì)儀表盤總成的標(biāo)識(shí)進(jìn)行實(shí)時(shí)采集,將不同標(biāo)識(shí)依次截取出來(lái),制作成不同標(biāo)識(shí)的樣本庫(kù),并搜集相同標(biāo)識(shí)圖片以擴(kuò)充樣本的數(shù)量,本文所采集的樣本種類一共有23種,每一類一共采集200張圖片。訓(xùn)練之前需要人工對(duì)樣本進(jìn)行分類和制作標(biāo)簽以便于網(wǎng)絡(luò)學(xué)習(xí),23種標(biāo)識(shí)和標(biāo)簽如表1所示。

表1 儀表標(biāo)識(shí)與標(biāo)簽Table 1 Icons and labels
通過(guò)編寫批處理文件,將學(xué)習(xí)樣本轉(zhuǎn)換成網(wǎng)絡(luò)可以讀入的TFRecords文件格式,它是一種二進(jìn)制文件,可以更好的利用計(jì)算機(jī)的內(nèi)存,方便移動(dòng)和復(fù)制[17]。
在Inception v3網(wǎng)絡(luò)的池化層之后,添加全連接層,添加的連接層結(jié)構(gòu)如圖10所示。
連接層輸出的神經(jīng)元個(gè)數(shù)為23,使其與儀標(biāo)標(biāo)識(shí)的分類相對(duì)應(yīng),網(wǎng)絡(luò)的損失函數(shù)為交叉熵函數(shù),置信度的計(jì)算函數(shù)為softmax函數(shù),學(xué)習(xí)率設(shè)置為0.01,迭代步數(shù)為4000次,批處理bitch_size大小設(shè)置為10,求解過(guò)程中損失函數(shù)和準(zhǔn)確率的變化曲線如下圖所示。

圖10 網(wǎng)絡(luò)輸出層結(jié)構(gòu)圖Fig.10 Output layer structure diagram

圖11 求解過(guò)程中損失函數(shù)的變化曲線Fig.11 Curve of loss function

圖12 求解過(guò)程中準(zhǔn)確率的變化曲線Fig.12 Curve of accuracy
從曲線圖中可以看出,隨著迭代次數(shù)的增加,損失函數(shù)的數(shù)值一直在減小,結(jié)果的準(zhǔn)確率在不斷的提高。由于在訓(xùn)練過(guò)程中只改變了網(wǎng)絡(luò)中最后一層的神經(jīng)元參數(shù),保留了前面網(wǎng)路結(jié)構(gòu)中神經(jīng)元的參數(shù),所以訓(xùn)練的速度比較快,當(dāng)?shù)綌?shù)為500時(shí),模型的辨別效果已經(jīng)較為理想,當(dāng)完成訓(xùn)練后,損失函數(shù)的數(shù)值大小為0.0095,準(zhǔn)確率為99%。
要實(shí)現(xiàn)標(biāo)識(shí)的自動(dòng)化辨識(shí),首先要實(shí)現(xiàn)對(duì)圖片中標(biāo)識(shí)進(jìn)行自動(dòng)化定位,以獲取點(diǎn)亮的標(biāo)識(shí)信息。控制儀表總成依次點(diǎn)亮不同標(biāo)識(shí)信息,采用幀差法對(duì)點(diǎn)亮的標(biāo)識(shí)進(jìn)行捕捉,它利用了相鄰的兩幀或者三幀圖像,借助于像素之間的差異性,判斷是否有運(yùn)動(dòng)目標(biāo)[18-20]。固定儀表和攝像頭之后,每隔一段時(shí)間點(diǎn)亮一個(gè)標(biāo)識(shí),攝像頭采集標(biāo)識(shí)點(diǎn)亮的視頻,利用vs編寫幀差法處理程序?qū)Σ蹲降囊曨l進(jìn)行處理,攝像頭采集圖片如圖13所示,不同標(biāo)識(shí)的定位提取如圖14所示。

圖13 攝像頭圖像采集Fig.13 Image acquisition

圖14 不同標(biāo)識(shí)的提取Fig.14 Extraction of different icons

圖15 用戶交互界面Fig.15 User interface

圖16 信號(hào)模型Fig.16 Signal model
由汽車儀表總成的功能規(guī)范和DBC文件,依據(jù)接口定義為儀表分配dSPACE機(jī)柜板卡資源,根據(jù)信號(hào)控制邏輯在Matlab Simulink中搭建信號(hào)控制模型,同時(shí)在congtorldesk中通過(guò)button、frame multistate display和LEDs Automotive控件設(shè)計(jì)用戶交互界面,控制不同標(biāo)識(shí)的點(diǎn)亮,控制界面如圖15所示,信號(hào)控制模型如圖16所示。
在測(cè)試時(shí),依次循環(huán)點(diǎn)亮儀表的標(biāo)識(shí),通過(guò)儀表標(biāo)識(shí)由暗變亮的變化過(guò)程,借助于幀差法對(duì)點(diǎn)亮的標(biāo)識(shí)進(jìn)行提取,得到點(diǎn)亮的標(biāo)識(shí)之后,通過(guò)Inception網(wǎng)絡(luò)對(duì)標(biāo)識(shí)進(jìn)行辨別,表2為儀表標(biāo)識(shí)的辨別結(jié)果。

表2 不同儀表標(biāo)識(shí)的辨別結(jié)果Table 2 Identification results of different icons
表2中展示了部分儀表標(biāo)識(shí)的辨別結(jié)果,從表中可以觀測(cè)到,網(wǎng)絡(luò)對(duì)于圖標(biāo)的辨別精度相對(duì)較高,辨別的準(zhǔn)確率達(dá)到了86%以上,并且對(duì)應(yīng)標(biāo)簽的置信度要遠(yuǎn)遠(yuǎn)高于非對(duì)應(yīng)標(biāo)簽的置信度,起到了很好的分類效果,提取識(shí)別結(jié)果中置信度最高的關(guān)鍵字,將關(guān)鍵字信息轉(zhuǎn)換成CAN報(bào)文信息反饋給測(cè)試機(jī)柜,判斷功能是否正常,從而形成測(cè)試報(bào)告,依次點(diǎn)亮不同圖標(biāo),實(shí)現(xiàn)儀表功能的測(cè)試。
1)基于dSPACE硬件在環(huán)仿真平臺(tái),利用圖像識(shí)別技術(shù),建立了汽車儀表標(biāo)識(shí)的辨別系統(tǒng),可以實(shí)現(xiàn)儀表標(biāo)識(shí)的控制、顯示、采集和辨別功能。
2)運(yùn)用了雙邊濾波算法對(duì)采集的圖像進(jìn)行預(yù)處理,去除了圖像中的噪聲,并提高像素的對(duì)比度和亮度信息,改善了圖像的質(zhì)量。
3)設(shè)計(jì)了用戶交互界面并利用深度學(xué)習(xí)Inception框架對(duì)標(biāo)識(shí)信息進(jìn)行辨識(shí),實(shí)現(xiàn)了儀表標(biāo)識(shí)的自動(dòng)化定位與辨別,準(zhǔn)確率達(dá)到了86%以上,說(shuō)明了系統(tǒng)辨別結(jié)果的可靠性并進(jìn)行了儀表功能的測(cè)試。