金銀強(qiáng) 王巖松 張偉偉 王孝蘭
(上海工程技術(shù)大學(xué)機(jī)械與汽車工程學(xué)院 上海 201620)
常規(guī)的車內(nèi)噪聲控制一般采用隔振、減震、吸聲等被動控制方法。此類方法在針對中高頻噪聲時可以起到良好的效果,但無法完全解決低頻噪聲的問題[1]。利用兩列頻率相同、相位相反的聲波在空間上相互疊加干涉從而相互抵消的自適應(yīng)主動降噪(Adaptive Active Noise Cancellation,AANC)系統(tǒng)可有效降低低頻噪聲[2~3]。為實(shí)現(xiàn)耳側(cè)區(qū)域噪聲的時域重構(gòu)和聲品質(zhì)智能評價,需對車內(nèi)人耳進(jìn)行識別并進(jìn)行空間位置的準(zhǔn)確定位。前人已通過HOG+稀疏表示法、PCA+SVM法、LBP+BP神經(jīng)網(wǎng)絡(luò)法等實(shí)現(xiàn)了人耳識別[4~5],但這些方法操作相對繁瑣且檢測速率和精度較低?;谏疃葘W(xué)習(xí)的目標(biāo)檢測算法因其無需進(jìn)行人工的特征設(shè)計、良好的特征表達(dá)能力及優(yōu)良的檢測精度,已經(jīng)超越傳統(tǒng)檢測方法,成為當(dāng)前目標(biāo)檢測算法的主流[6]。
深度學(xué)習(xí)目標(biāo)檢測算法依據(jù)其設(shè)計思想,主要可分為兩種,即兩步走(two-stage)算法:先產(chǎn)生候選區(qū)域然后再進(jìn)行CNN分類(RCNN系列等);一步走(one-stage)算法:直接對輸入圖像應(yīng)用算法并輸出類別和相應(yīng)的定位(YOLO系列等)[7~8]。
RCNN系列先提取region proposal,之后再分類,是一種滑動窗口機(jī)制,每個feature map上都回歸出9個anchor,大約一共20k個anchor,在通過非極大值抑制等方法最終會得到300個region propos?al[9]。因RCNN每個位置都需精修,降低了實(shí)時性效率。
2015年Redmon和Divvala提出YOLO(You Look Only Once)目標(biāo)檢測算法。其將物體檢測作為回歸問題進(jìn)行求解,使用單個網(wǎng)絡(luò)完成整個檢測,大大提升了目標(biāo)檢測算法的速度。YOLO可以獲取到圖像的整體信息,相比于region proposal等方法,有著更廣闊的“感知野”,其識別效果也具有很強(qiáng)的泛化能力[10]。YOLOv2受到Faster RCNN方法的啟發(fā),引入了anchor,同時使用了K-Means方法,并且去掉了全連接層,改成了全卷積結(jié)構(gòu),在精度和速度之間做出了折中[11]。YOLOv3在YOLOv2的基礎(chǔ)上采用上采樣(upsample)和多個尺度融合做法,在多個scale的feature map上做檢測,對于小目標(biāo)的檢測效果提升比較明顯,將YOLO系列的缺點(diǎn)(精度較低,不擅長檢測小物體等)進(jìn)行了優(yōu)化,達(dá)到了較好的效果和較快的速度,成為最出色的目標(biāo)檢測算法之一[12]。
RGBD相機(jī)作為一款新興的視覺傳感器,可以同時獲取采集圖像的可見光色彩信息及深度信息。它具有精度高、價格低、尺寸小、易操作等優(yōu)點(diǎn)。深度相機(jī)可在戶內(nèi)和戶外任何有光的環(huán)境下提供復(fù)雜的實(shí)時物體深度信息,可通過立體的視覺感知周圍環(huán)境。
本文使用深度相機(jī)的RGB信息和D信息,結(jié)合YOLOv3算法訓(xùn)練人耳樣本,分別識別出人耳并計算出其空間深度坐標(biāo),搭建一套完整的人耳識別與深度坐標(biāo)定位系統(tǒng),為車內(nèi)主動降噪提供實(shí)時人耳深度坐標(biāo)信息。
YOLOv3的特征提取使用了全新的網(wǎng)絡(luò)來實(shí)現(xiàn)。從網(wǎng)絡(luò)結(jié)構(gòu)來看,相對于YOLOv2中的Dark?net-19網(wǎng)絡(luò),YOLOv3新增了殘差網(wǎng)絡(luò),使用連續(xù)的1×1和3×3卷積層,將網(wǎng)絡(luò)擴(kuò)展為53層,稱其為Darknet-53[12],網(wǎng)絡(luò)結(jié)構(gòu)如表1。
表1 Darknet-53網(wǎng)絡(luò)結(jié)構(gòu)圖
Darknet-53網(wǎng)絡(luò)包含53個卷積層和5個最大池化層,在每一個卷積層后又增添了批量標(biāo)準(zhǔn)化操作(batch normalization),同時,去掉了dropout操作,以防止過擬合[13]。Darknet-53網(wǎng)絡(luò)比YOLOv2的Darknet-19在功能上有所增強(qiáng),并且比ResNet-101和ResNet-152有更好的效果,表2為Darknet-53在ImageNet數(shù)據(jù)集下做的性能測試結(jié)果。
從表2中看得出,Darknet-53在檢測效果上比ResNet-101更好一些,且檢測速度也提高了1.5倍,Darknet-53雖然在性能上與ResNet-152基本相似,在檢測速度上卻提高了兩倍,相比Dark?net-19,Darknet-53網(wǎng)絡(luò)更為復(fù)雜,所以檢測準(zhǔn)確率有明顯的提升,雖然檢測速度不如Darknet-19快,但在實(shí)時性要求上仍然滿足要求。
表2 特征網(wǎng)絡(luò)對比表
YOLOv3把圖片伸縮成416×416的像素,使用尺度金字塔結(jié)構(gòu),把圖片劃分為S×S個大小相同的單元格,在特征圖為13×13、26×26、52×52的三個尺度上進(jìn)行檢測,并使特征圖在相鄰的兩尺度上以兩倍的上采樣傳遞。每個單元格使用3個錨點(diǎn)預(yù)測3個邊界框。卷積神經(jīng)網(wǎng)絡(luò)在每一個單元格上為每一個邊界框預(yù)測4個值,即坐標(biāo)(x,y)與目標(biāo)的寬w和高h(yuǎn),分別記為tx、ty、tw、th。目標(biāo)中心在單元格中相對于圖像左上角有偏移(cx,cy),anchor box具有高度ph和寬度pw,YOLOv3的邊界框的坐標(biāo)轉(zhuǎn)換示意圖如圖1。
圖1 YOLOv3的邊界框的坐標(biāo)轉(zhuǎn)換示意圖
修正之后的邊界框?yàn)?/p>
損失函數(shù)作為預(yù)測值與真實(shí)值之間的誤差標(biāo)準(zhǔn),反應(yīng)模型檢測效果好壞與網(wǎng)絡(luò)學(xué)習(xí)快慢,YO?LOv3損失函數(shù)主要分為坐標(biāo)損失,置信度損失及分類損失三大部分,其損失函數(shù)如下式所示:
式中S代表把圖片劃分成S×S個網(wǎng)格,B為每個網(wǎng)格中預(yù)測先驗(yàn)框個數(shù),λcoord為坐標(biāo)的預(yù)測懲罰系數(shù),取其值為5,λnoobj為不含運(yùn)動目標(biāo)時的置信度懲罰系數(shù),設(shè)其值為0.5,為預(yù)測圖片出現(xiàn)在第i個網(wǎng)格中,由第j個預(yù)測框做預(yù)測。x、y、w、h、c分別代表預(yù)測框的坐標(biāo)、寬、高和置信度。
車內(nèi)人耳的定位方法與傳感器的選擇密切相關(guān)。定位傳感器可分為激光傳感器和視覺傳感器。激光傳感器對車內(nèi)場景有很好的建模效果,但模型系統(tǒng)成本過高。視覺傳感器分為單目相機(jī)、雙目相機(jī)和RGBD相機(jī),其中雙目相機(jī)和RGBD相機(jī)可以獲取目標(biāo)物體的深度信息。雙目相機(jī)在計算深度時配置較為復(fù)雜,模型搭建繁瑣,計算量較大。RGBD相機(jī)是可以同時獲取目標(biāo)RGB顏色信息和深度信息的傳感器,可主動計算出深度距離,重建效果好[14]。針對車內(nèi)人耳定位使用RGBD視覺傳感器獲取信息在整體考慮上較為合理。另外,RGBD相機(jī)的結(jié)構(gòu)小巧、使用方便、價格低廉,故本文選用RGBD相機(jī)作為車內(nèi)人耳數(shù)據(jù)采集與深度定位的傳感器。
RGBD相機(jī)通過紅外結(jié)構(gòu)光或Time-of-Flight原理進(jìn)行深度距離測量的[15]。首先脈沖發(fā)射器發(fā)射脈沖信號并記錄其到檢測目標(biāo)之間光的時間間隔,然后通過計算時差來獲得目標(biāo)的距離。RGBD相機(jī)通過物理的方法進(jìn)行測量,相對于雙目相機(jī)通過復(fù)雜軟件計算的方法,可減少大量的計算。
表3為本文選用的Intel RealSense D415深度相機(jī)的參數(shù)規(guī)格。該相機(jī)左右兩側(cè)的鏡頭分別為用來獲取環(huán)境中物體的深度信息的三維結(jié)構(gòu)光深度傳感器;中間為獲取環(huán)境中物體顏色信息的RGB彩色相機(jī)。從表中可以看出,其視野與快門類型適合車內(nèi)人耳定位應(yīng)用。
表3 RealSense D415參數(shù)規(guī)格
4.1.1 實(shí)驗(yàn)設(shè)備
實(shí)驗(yàn)用計算機(jī)系統(tǒng)為Windows10,CPU型號為Intel Core i5-8400,內(nèi)存16GB,搭載NVIDIA Ge?Force GTX1070Ti顯卡,配置NVIDIA CUDA9.0和GPU加速庫CUDNN7.0和OpenCV3.2.0擴(kuò)展庫,使用Darknet深度學(xué)習(xí)框架,通過Python與C/C++混合編程,在Intel RealSense D415相機(jī)上實(shí)現(xiàn)人耳識別與深度定位。
4.1.2 訓(xùn)練數(shù)據(jù)集
針對本文研究的內(nèi)容,在CASIA--Webface人臉數(shù)據(jù)集中選取1000張側(cè)臉含人耳的圖像作為數(shù)據(jù)集一。在CAS-PEAL-R1人臉數(shù)據(jù)集隨機(jī)挑選姿態(tài)圖像庫中人臉旋轉(zhuǎn)+45°、90°、-45°拍攝的男、女露耳圖片2000張作為數(shù)據(jù)集二。除此之外,為了適應(yīng)更多車內(nèi)乘客的復(fù)雜姿態(tài)、佩戴等變化,制作了個人數(shù)據(jù)集作為數(shù)據(jù)集三。該數(shù)據(jù)集在一輛榮威350轎車上,挑選10名志愿者,年齡在20歲到30歲之間,其中男生、女生各5名。志愿者分別在佩戴帽子,墨鏡,藍(lán)牙耳機(jī),三樣全部佩戴和不佩戴任何物品等五種條件下在車的主駕駛座,副駕駛座和后排的兩個座位上分別進(jìn)行身體前傾,頭部旋轉(zhuǎn)和身體左右傾斜運(yùn)動。從身體背部靠緊座椅后背前傾到方向盤處,每10°拍攝一張,共拍攝5張;面部與攝像頭光軸方向呈150°角到正對攝像頭每30°角拍攝一張照片供5張;人體正面朝前直立在座椅上,左右各傾斜范圍為25°,從遠(yuǎn)離攝像頭的位置到靠近攝像頭的位置每10°拍攝一張,共拍攝5張。以上拍攝使用CMOS相機(jī)分別在不同光照下進(jìn)行,共拍攝6000張圖片,照片大小為1008×756像素。
4.1.3 網(wǎng)絡(luò)訓(xùn)練
為了節(jié)省網(wǎng)絡(luò)訓(xùn)練與測試的時間,把原始圖像分辨率降采樣到416×416進(jìn)行訓(xùn)練。同時為了增強(qiáng)訓(xùn)練模型的魯棒性和泛化能力,對部分訓(xùn)練集圖像隨機(jī)調(diào)整亮度、曝光度、飽和度、色調(diào)、對比度等,并添加隨機(jī)噪聲,以擴(kuò)充數(shù)據(jù)多樣性。
在各訓(xùn)練集圖像中均勻選出5000張標(biāo)注的圖像作為訓(xùn)練數(shù)據(jù),通過labelimg圖像標(biāo)注工具,對訓(xùn)練圖像中人耳部位進(jìn)行手工標(biāo)注,在原有圖片基礎(chǔ)上生成xml文件,然后在YOLOv3的Darknet-53網(wǎng)絡(luò)里進(jìn)行訓(xùn)練。其余的3000張圖像作為測試數(shù)據(jù)。
在訓(xùn)練時,使用小批量隨機(jī)梯度下降法對整個過程進(jìn)行優(yōu)化,且使用反向傳播法使訓(xùn)練參數(shù)持續(xù)更新,使損失函數(shù)收斂,訓(xùn)練時的學(xué)習(xí)批次為32,迭代30000次,初始學(xué)習(xí)率為0.001,動量為0.9,學(xué)習(xí)衰減步長和衰減因子分別為40和0.1,非極大值抑制為0.5。
4.1.4 不同遮擋情況下的人耳識別
在實(shí)際的檢測過程中,車內(nèi)乘客的人耳往往存在被遮擋的情況,且遮擋比例不能確定,在這些情況下,為了驗(yàn)證YOLOv3網(wǎng)絡(luò)人耳識別模型是否具有強(qiáng)大的學(xué)習(xí)能力和較高的識別精度,在測試集圖像中抽取1000張照片,按照整個人耳比例的10%到50%用黑色方框進(jìn)行填充,每種比例的遮擋使用200張照片處理,從而模擬實(shí)際車內(nèi)人耳被部分遮擋的情況,處理后的測試集圖像如圖2,將這些數(shù)據(jù)在訓(xùn)練好的YOLOv3網(wǎng)絡(luò)里進(jìn)行人耳識別試驗(yàn),驗(yàn)證YOLOv3算法在遮擋干擾下的識別準(zhǔn)確率。
圖2 遮擋0%~50%條件下的人耳測試圖像
4.1.5 人耳深度檢測
訓(xùn)練好人耳后,使用Intel RealSense RGBD相機(jī)在車內(nèi)采集10名志愿者上身視頻。分別在主駕駛室、副駕駛室、和后排兩座上做身體前傾,頭部扭轉(zhuǎn),身體左右搖擺運(yùn)動。每人12段視頻,每段10秒鐘,共采集120段視頻。如圖3所示,Intel Re?alSense D415深度相機(jī)使用界面分為RGB圖像輸出窗口和深度圖像輸出窗口。
圖3 Intel RealSense D415窗口界面
使用YOLOv3人耳檢測模型對已經(jīng)采集的視頻RGB圖像每一幀進(jìn)行人耳識別,并把識別框像素的x,y坐標(biāo)記錄下來傳遞到相應(yīng)的深度圖像中,深度圖像可根據(jù)相應(yīng)接收到的人耳位置的像素坐標(biāo)信息,輸出該點(diǎn)的深度信息。對120段視頻做人耳識別準(zhǔn)確率試驗(yàn)和深度相機(jī)檢測的深度距離與實(shí)際距離做誤差分析。
4.2.1 網(wǎng)絡(luò)分析
為了驗(yàn)證訓(xùn)練后的檢測可靠性和有效性,使用loss函數(shù)作為參考。圖4為YOLOv3網(wǎng)絡(luò)訓(xùn)練過程中l(wèi)oss值的收斂曲線圖,橫坐標(biāo)代表訓(xùn)練迭代次數(shù),最大迭代次數(shù)為30000次。訓(xùn)練迭代5000次后,隨著迭代次數(shù)的增加,loss曲線逐漸趨于平穩(wěn),最后下降到約0.12時基本保持穩(wěn)定,說明此算法在訓(xùn)練過程中表現(xiàn)出良好的收斂特性,網(wǎng)絡(luò)的訓(xùn)練結(jié)果比較理想。
圖4 loss收斂曲線圖
由于YOLOv3為目標(biāo)檢測算法,實(shí)驗(yàn)采用適用于目標(biāo)檢測領(lǐng)域的P(準(zhǔn)確率)、R(召回率)、AP(平均準(zhǔn)確率)IOU(交并比)和FPS(平均每幀處理時間)作為評判指標(biāo)。對于準(zhǔn)確率P和召回率R值的計算公式如下:
TP表示被模型檢測正確的有人耳正樣本數(shù),F(xiàn)N表示被模型檢測錯誤的有人耳正樣本數(shù),F(xiàn)P表示被模型檢測錯誤的無人耳負(fù)樣本數(shù)。AP可通過P和R計算P-R曲線面積得到。IOU是檢測出人耳的邊界框與實(shí)際人耳邊界框重疊的部分除以兩個區(qū)域的集合部分得出的結(jié)果,計算公式如下:
Spt為訓(xùn)練樣本集中標(biāo)注的準(zhǔn)確人耳邊框區(qū)域面積,Sgt為訓(xùn)練中預(yù)測出的人耳邊界框面積。
由實(shí)驗(yàn)可得模型檢測的準(zhǔn)確率P為96.7%,召回率R為89.9%,AP為95.2%,IOU為95.3%,平均每秒處理幀數(shù)(FPS)為7fps,說明YOLOv3算法在識別人耳時具有較高的識別性能,優(yōu)于其他傳統(tǒng)的人耳識別模型,圖5為YOLOv3識別人耳的效果圖。
圖5 YOLOv3人耳識別效果圖
4.2.2 部分遮擋人耳檢測分析
對不同程度遮擋情況下的人耳圖像進(jìn)行識率實(shí)驗(yàn),表4為在不同程度遮擋情況YOLOv3與其他算法的識別率對比。
表4 不同遮擋情況下識別率對比
在0%~30%的遮擋條件下,YOLOv3算法準(zhǔn)確率穩(wěn)定在92%以上,具有相對較高的識別能力,檢測率優(yōu)于其他傳統(tǒng)算法。人耳被擋到40%~50%時,由于失去了過多的人耳特征,各個檢測算法都出現(xiàn)了識別準(zhǔn)確率大幅度降低現(xiàn)象,在此情況下,YOLOv3算法仍然在識別準(zhǔn)確率上比其他傳統(tǒng)算法表現(xiàn)優(yōu)異,這也從側(cè)面體現(xiàn)了YOLOv3的網(wǎng)絡(luò)模型結(jié)構(gòu)在學(xué)習(xí)能力和檢測能力上更加智能。
4.2.3 人耳深度定位分析
在使用YOLOv3識別人耳后,可檢測出RGBD相機(jī)拍攝的RGB圖像里的人耳,并把其像素坐標(biāo)傳遞給深度圖像,即可在深度圖像中獲得人耳處的深度信息,圖6(a)為RGB圖上識別出人耳的示意圖,圖6(b)為其對應(yīng)的深度圖。通過檢測深度與實(shí)際深度的誤差分析試驗(yàn)可得,誤差在±3.5cm以內(nèi),可滿足實(shí)時輸出深度信息的要求。
圖6 RGB圖像和深度圖像
本文使用YOLOv3算法作為識別車內(nèi)人耳的工具,結(jié)合RGBD深度相機(jī)共同完成了車內(nèi)人耳識別與深度定位系統(tǒng)。YOLOv3在人耳遮擋10%~30%時識別率高于90%,F(xiàn)PS可達(dá)7fps,在識別精度和檢測速度上均可滿足實(shí)時性。使用Intel Real Sense D415深度相機(jī),根據(jù)YOLOv3算法識別出的人耳邊界框的中心像素坐標(biāo),在深度圖像中找出相應(yīng)位置,并輸出其深度坐標(biāo),誤差可控制在±3.5cm以內(nèi),為車內(nèi)主動降噪系統(tǒng)提供有效的坐標(biāo)信息,為后續(xù)采集人耳附近的噪聲信息提供了有利的數(shù)據(jù)支撐,具有較好的工程應(yīng)用價值。但本文還有一些特殊情況,如車內(nèi)多人干擾、夜間光照不足、人耳被長發(fā)遮擋等,需要未來進(jìn)一步研究與改進(jìn)。