金銀強 王巖松 張偉偉 王孝蘭
(上海工程技術大學機械與汽車工程學院 上海 201620)
常規的車內噪聲控制一般采用隔振、減震、吸聲等被動控制方法。此類方法在針對中高頻噪聲時可以起到良好的效果,但無法完全解決低頻噪聲的問題[1]。利用兩列頻率相同、相位相反的聲波在空間上相互疊加干涉從而相互抵消的自適應主動降噪(Adaptive Active Noise Cancellation,AANC)系統可有效降低低頻噪聲[2~3]。為實現耳側區域噪聲的時域重構和聲品質智能評價,需對車內人耳進行識別并進行空間位置的準確定位。前人已通過HOG+稀疏表示法、PCA+SVM法、LBP+BP神經網絡法等實現了人耳識別[4~5],但這些方法操作相對繁瑣且檢測速率和精度較低。基于深度學習的目標檢測算法因其無需進行人工的特征設計、良好的特征表達能力及優良的檢測精度,已經超越傳統檢測方法,成為當前目標檢測算法的主流[6]。
深度學習目標檢測算法依據其設計思想,主要可分為兩種,即兩步走(two-stage)算法:先產生候選區域然后再進行CNN分類(RCNN系列等);一步走(one-stage)算法:直接對輸入圖像應用算法并輸出類別和相應的定位(YOLO系列等)[7~8]。
RCNN系列先提取region proposal,之后再分類,是一種滑動窗口機制,每個feature map上都回歸出9個anchor,大約一共20k個anchor,在通過非極大值抑制等方法最終會得到300個region propos?al[9]。因RCNN每個位置都需精修,降低了實時性效率。
2015年Redmon和Divvala提出YOLO(You Look Only Once)目標檢測算法。其將物體檢測作為回歸問題進行求解,使用單個網絡完成整個檢測,大大提升了目標檢測算法的速度。YOLO可以獲取到圖像的整體信息,相比于region proposal等方法,有著更廣闊的“感知野”,其識別效果也具有很強的泛化能力[10]。YOLOv2受到Faster RCNN方法的啟發,引入了anchor,同時使用了K-Means方法,并且去掉了全連接層,改成了全卷積結構,在精度和速度之間做出了折中[11]。YOLOv3在YOLOv2的基礎上采用上采樣(upsample)和多個尺度融合做法,在多個scale的feature map上做檢測,對于小目標的檢測效果提升比較明顯,將YOLO系列的缺點(精度較低,不擅長檢測小物體等)進行了優化,達到了較好的效果和較快的速度,成為最出色的目標檢測算法之一[12]。
RGBD相機作為一款新興的視覺傳感器,可以同時獲取采集圖像的可見光色彩信息及深度信息。它具有精度高、價格低、尺寸小、易操作等優點。深度相機可在戶內和戶外任何有光的環境下提供復雜的實時物體深度信息,可通過立體的視覺感知周圍環境。
本文使用深度相機的RGB信息和D信息,結合YOLOv3算法訓練人耳樣本,分別識別出人耳并計算出其空間深度坐標,搭建一套完整的人耳識別與深度坐標定位系統,為車內主動降噪提供實時人耳深度坐標信息。
YOLOv3的特征提取使用了全新的網絡來實現。從網絡結構來看,相對于YOLOv2中的Dark?net-19網絡,YOLOv3新增了殘差網絡,使用連續的1×1和3×3卷積層,將網絡擴展為53層,稱其為Darknet-53[12],網絡結構如表1。

表1 Darknet-53網絡結構圖
Darknet-53網絡包含53個卷積層和5個最大池化層,在每一個卷積層后又增添了批量標準化操作(batch normalization),同時,去掉了dropout操作,以防止過擬合[13]。Darknet-53網絡比YOLOv2的Darknet-19在功能上有所增強,并且比ResNet-101和ResNet-152有更好的效果,表2為Darknet-53在ImageNet數據集下做的性能測試結果。
從表2中看得出,Darknet-53在檢測效果上比ResNet-101更好一些,且檢測速度也提高了1.5倍,Darknet-53雖然在性能上與ResNet-152基本相似,在檢測速度上卻提高了兩倍,相比Dark?net-19,Darknet-53網絡更為復雜,所以檢測準確率有明顯的提升,雖然檢測速度不如Darknet-19快,但在實時性要求上仍然滿足要求。

表2 特征網絡對比表
YOLOv3把圖片伸縮成416×416的像素,使用尺度金字塔結構,把圖片劃分為S×S個大小相同的單元格,在特征圖為13×13、26×26、52×52的三個尺度上進行檢測,并使特征圖在相鄰的兩尺度上以兩倍的上采樣傳遞。每個單元格使用3個錨點預測3個邊界框。卷積神經網絡在每一個單元格上為每一個邊界框預測4個值,即坐標(x,y)與目標的寬w和高h,分別記為tx、ty、tw、th。目標中心在單元格中相對于圖像左上角有偏移(cx,cy),anchor box具有高度ph和寬度pw,YOLOv3的邊界框的坐標轉換示意圖如圖1。

圖1 YOLOv3的邊界框的坐標轉換示意圖
修正之后的邊界框為

損失函數作為預測值與真實值之間的誤差標準,反應模型檢測效果好壞與網絡學習快慢,YO?LOv3損失函數主要分為坐標損失,置信度損失及分類損失三大部分,其損失函數如下式所示:

式中S代表把圖片劃分成S×S個網格,B為每個網格中預測先驗框個數,λcoord為坐標的預測懲罰系數,取其值為5,λnoobj為不含運動目標時的置信度懲罰系數,設其值為0.5,為預測圖片出現在第i個網格中,由第j個預測框做預測。x、y、w、h、c分別代表預測框的坐標、寬、高和置信度。
車內人耳的定位方法與傳感器的選擇密切相關。定位傳感器可分為激光傳感器和視覺傳感器。激光傳感器對車內場景有很好的建模效果,但模型系統成本過高。視覺傳感器分為單目相機、雙目相機和RGBD相機,其中雙目相機和RGBD相機可以獲取目標物體的深度信息。雙目相機在計算深度時配置較為復雜,模型搭建繁瑣,計算量較大。RGBD相機是可以同時獲取目標RGB顏色信息和深度信息的傳感器,可主動計算出深度距離,重建效果好[14]。針對車內人耳定位使用RGBD視覺傳感器獲取信息在整體考慮上較為合理。另外,RGBD相機的結構小巧、使用方便、價格低廉,故本文選用RGBD相機作為車內人耳數據采集與深度定位的傳感器。
RGBD相機通過紅外結構光或Time-of-Flight原理進行深度距離測量的[15]。首先脈沖發射器發射脈沖信號并記錄其到檢測目標之間光的時間間隔,然后通過計算時差來獲得目標的距離。RGBD相機通過物理的方法進行測量,相對于雙目相機通過復雜軟件計算的方法,可減少大量的計算。
表3為本文選用的Intel RealSense D415深度相機的參數規格。該相機左右兩側的鏡頭分別為用來獲取環境中物體的深度信息的三維結構光深度傳感器;中間為獲取環境中物體顏色信息的RGB彩色相機。從表中可以看出,其視野與快門類型適合車內人耳定位應用。

表3 RealSense D415參數規格
4.1.1 實驗設備
實驗用計算機系統為Windows10,CPU型號為Intel Core i5-8400,內存16GB,搭載NVIDIA Ge?Force GTX1070Ti顯卡,配置NVIDIA CUDA9.0和GPU加速庫CUDNN7.0和OpenCV3.2.0擴展庫,使用Darknet深度學習框架,通過Python與C/C++混合編程,在Intel RealSense D415相機上實現人耳識別與深度定位。
4.1.2 訓練數據集
針對本文研究的內容,在CASIA--Webface人臉數據集中選取1000張側臉含人耳的圖像作為數據集一。在CAS-PEAL-R1人臉數據集隨機挑選姿態圖像庫中人臉旋轉+45°、90°、-45°拍攝的男、女露耳圖片2000張作為數據集二。除此之外,為了適應更多車內乘客的復雜姿態、佩戴等變化,制作了個人數據集作為數據集三。該數據集在一輛榮威350轎車上,挑選10名志愿者,年齡在20歲到30歲之間,其中男生、女生各5名。志愿者分別在佩戴帽子,墨鏡,藍牙耳機,三樣全部佩戴和不佩戴任何物品等五種條件下在車的主駕駛座,副駕駛座和后排的兩個座位上分別進行身體前傾,頭部旋轉和身體左右傾斜運動。從身體背部靠緊座椅后背前傾到方向盤處,每10°拍攝一張,共拍攝5張;面部與攝像頭光軸方向呈150°角到正對攝像頭每30°角拍攝一張照片供5張;人體正面朝前直立在座椅上,左右各傾斜范圍為25°,從遠離攝像頭的位置到靠近攝像頭的位置每10°拍攝一張,共拍攝5張。以上拍攝使用CMOS相機分別在不同光照下進行,共拍攝6000張圖片,照片大小為1008×756像素。
4.1.3 網絡訓練
為了節省網絡訓練與測試的時間,把原始圖像分辨率降采樣到416×416進行訓練。同時為了增強訓練模型的魯棒性和泛化能力,對部分訓練集圖像隨機調整亮度、曝光度、飽和度、色調、對比度等,并添加隨機噪聲,以擴充數據多樣性。
在各訓練集圖像中均勻選出5000張標注的圖像作為訓練數據,通過labelimg圖像標注工具,對訓練圖像中人耳部位進行手工標注,在原有圖片基礎上生成xml文件,然后在YOLOv3的Darknet-53網絡里進行訓練。其余的3000張圖像作為測試數據。
在訓練時,使用小批量隨機梯度下降法對整個過程進行優化,且使用反向傳播法使訓練參數持續更新,使損失函數收斂,訓練時的學習批次為32,迭代30000次,初始學習率為0.001,動量為0.9,學習衰減步長和衰減因子分別為40和0.1,非極大值抑制為0.5。
4.1.4 不同遮擋情況下的人耳識別
在實際的檢測過程中,車內乘客的人耳往往存在被遮擋的情況,且遮擋比例不能確定,在這些情況下,為了驗證YOLOv3網絡人耳識別模型是否具有強大的學習能力和較高的識別精度,在測試集圖像中抽取1000張照片,按照整個人耳比例的10%到50%用黑色方框進行填充,每種比例的遮擋使用200張照片處理,從而模擬實際車內人耳被部分遮擋的情況,處理后的測試集圖像如圖2,將這些數據在訓練好的YOLOv3網絡里進行人耳識別試驗,驗證YOLOv3算法在遮擋干擾下的識別準確率。

圖2 遮擋0%~50%條件下的人耳測試圖像
4.1.5 人耳深度檢測
訓練好人耳后,使用Intel RealSense RGBD相機在車內采集10名志愿者上身視頻。分別在主駕駛室、副駕駛室、和后排兩座上做身體前傾,頭部扭轉,身體左右搖擺運動。每人12段視頻,每段10秒鐘,共采集120段視頻。如圖3所示,Intel Re?alSense D415深度相機使用界面分為RGB圖像輸出窗口和深度圖像輸出窗口。

圖3 Intel RealSense D415窗口界面
使用YOLOv3人耳檢測模型對已經采集的視頻RGB圖像每一幀進行人耳識別,并把識別框像素的x,y坐標記錄下來傳遞到相應的深度圖像中,深度圖像可根據相應接收到的人耳位置的像素坐標信息,輸出該點的深度信息。對120段視頻做人耳識別準確率試驗和深度相機檢測的深度距離與實際距離做誤差分析。
4.2.1 網絡分析
為了驗證訓練后的檢測可靠性和有效性,使用loss函數作為參考。圖4為YOLOv3網絡訓練過程中loss值的收斂曲線圖,橫坐標代表訓練迭代次數,最大迭代次數為30000次。訓練迭代5000次后,隨著迭代次數的增加,loss曲線逐漸趨于平穩,最后下降到約0.12時基本保持穩定,說明此算法在訓練過程中表現出良好的收斂特性,網絡的訓練結果比較理想。

圖4 loss收斂曲線圖
由于YOLOv3為目標檢測算法,實驗采用適用于目標檢測領域的P(準確率)、R(召回率)、AP(平均準確率)IOU(交并比)和FPS(平均每幀處理時間)作為評判指標。對于準確率P和召回率R值的計算公式如下:

TP表示被模型檢測正確的有人耳正樣本數,FN表示被模型檢測錯誤的有人耳正樣本數,FP表示被模型檢測錯誤的無人耳負樣本數。AP可通過P和R計算P-R曲線面積得到。IOU是檢測出人耳的邊界框與實際人耳邊界框重疊的部分除以兩個區域的集合部分得出的結果,計算公式如下:

Spt為訓練樣本集中標注的準確人耳邊框區域面積,Sgt為訓練中預測出的人耳邊界框面積。
由實驗可得模型檢測的準確率P為96.7%,召回率R為89.9%,AP為95.2%,IOU為95.3%,平均每秒處理幀數(FPS)為7fps,說明YOLOv3算法在識別人耳時具有較高的識別性能,優于其他傳統的人耳識別模型,圖5為YOLOv3識別人耳的效果圖。

圖5 YOLOv3人耳識別效果圖
4.2.2 部分遮擋人耳檢測分析
對不同程度遮擋情況下的人耳圖像進行識率實驗,表4為在不同程度遮擋情況YOLOv3與其他算法的識別率對比。

表4 不同遮擋情況下識別率對比
在0%~30%的遮擋條件下,YOLOv3算法準確率穩定在92%以上,具有相對較高的識別能力,檢測率優于其他傳統算法。人耳被擋到40%~50%時,由于失去了過多的人耳特征,各個檢測算法都出現了識別準確率大幅度降低現象,在此情況下,YOLOv3算法仍然在識別準確率上比其他傳統算法表現優異,這也從側面體現了YOLOv3的網絡模型結構在學習能力和檢測能力上更加智能。
4.2.3 人耳深度定位分析
在使用YOLOv3識別人耳后,可檢測出RGBD相機拍攝的RGB圖像里的人耳,并把其像素坐標傳遞給深度圖像,即可在深度圖像中獲得人耳處的深度信息,圖6(a)為RGB圖上識別出人耳的示意圖,圖6(b)為其對應的深度圖。通過檢測深度與實際深度的誤差分析試驗可得,誤差在±3.5cm以內,可滿足實時輸出深度信息的要求。

圖6 RGB圖像和深度圖像
本文使用YOLOv3算法作為識別車內人耳的工具,結合RGBD深度相機共同完成了車內人耳識別與深度定位系統。YOLOv3在人耳遮擋10%~30%時識別率高于90%,FPS可達7fps,在識別精度和檢測速度上均可滿足實時性。使用Intel Real Sense D415深度相機,根據YOLOv3算法識別出的人耳邊界框的中心像素坐標,在深度圖像中找出相應位置,并輸出其深度坐標,誤差可控制在±3.5cm以內,為車內主動降噪系統提供有效的坐標信息,為后續采集人耳附近的噪聲信息提供了有利的數據支撐,具有較好的工程應用價值。但本文還有一些特殊情況,如車內多人干擾、夜間光照不足、人耳被長發遮擋等,需要未來進一步研究與改進。