付志強, 趙紅光, 李 陽, 周國棟, 王 濱
(聊城中通輕型客車有限公司, 山東 聊城 252000)
行人是交通環(huán)境的重要參與者,也是最容易受到交通傷害的群體。因此一直以來,行人檢測是智能汽車環(huán)境感知的重點和難點。得益于計算機技術的發(fā)展,在良好的交通環(huán)境中,行人檢測技術已經具備很高的水平,以機器學習[1-2]和深度學習[3-5]為代表的算法具有很高的實時性和準確性。但在夜間和霧天、雨雪天等惡劣天氣下的行人檢測,可見光相機、毫米波雷達、激光雷達等傳感器的工作性能會受到較大的影響。
可見光相機在光照較差的環(huán)境中無法獲取清晰的行人特征,霧天空氣中的懸浮顆粒也會極大地限制相機性能[6]。常用的毫米波雷達對行人檢測能力較弱,一般不用于行人檢測。激光雷達測量精度高,其工作性能不受光照強度的影響,能很好地解決夜間行人檢測問題,但是當遇上霧天和雨雪天,激光雷達的激光線束很容易受到干擾,對行人的探測能力相對不足[7-8]。
紅外相機通過收集環(huán)境中的熱輻射生成可見圖像,對夜間和霧天、雨雪天等惡劣天氣具有很強的適應性。路上行人的溫度一般比周圍環(huán)境高,在紅外相機圖像中呈現(xiàn)明亮的灰度特征和紋理特征,如圖1所示。
圖1 紅外相機夜間成像
因此,紅外相機與其他傳感器相比更適合解決惡劣天氣的行人檢測問題。為了實現(xiàn)紅外熱成像行人檢測,研究人員嘗試采用了形態(tài)學[9]、機器學習、深度學習等方法[10-12],取得了一系列不錯的效果,但是仍然存在一些問題。首先,交通環(huán)境復雜多樣,行人目標容易受到干擾,快速鎖定行人ROI(感興趣區(qū)域)難度很大。另外,基于深度學習的目標檢測模型發(fā)展迅速,早期模型的性能已經無法滿足行人檢測對于實時性和準確性需求。
為了解決上述問題,本文提出一種基于YOLO V4的紅外熱成像行人檢測方法,主要特點有:
1) 采用視覺顯著性原理快速提取行人檢測的紅外熱圖像ROI,減少后續(xù)圖像處理的計算量。并利用自適應圖像增強算法對ROI的圖像進行了細節(jié)增強,增強行人檢測的精度。
2) 選取最新的YOLO V4模型作為行人檢測的基本模型,并采用遷移學習對模型進行參數(shù)優(yōu)化和再訓練,大大提高了模型的訓練和檢測效率。
視覺顯著性檢測要求模型能夠高效、快捷地排除冗余信息并加快對圖像內容的理解,該技術被廣泛應用在圖像重定向、圖像分類、圖像分割、圖像檢索等領域。本文采用視覺顯著性原理對行人ROI進行快速定位,大大減少了背景的干擾,減少了圖像的計算量,提高了后續(xù)行人檢測的效率。
目前,視覺顯著的定義和計算方法很多。其中文獻[13]提出了一種基于隨機矩陣區(qū)域采樣的視覺顯著算法,效果如圖2(b)所示。通過該方法能夠較好地實現(xiàn)行人ROI的提取,效果如圖2(c)所示。
(a) 原始圖像
為了提高ROI的成像品質,突出行人的紋理細節(jié)和灰度特征,本文采用自適應對比度增強算法對行人ROI的圖像進行處理。
ROI圖像可分為低頻和高頻兩個部分。自適應對比度增強算法的核心就是增強代表細節(jié)的高頻部分。假設紅外熱圖像某一點的像素坐標為x(i,j),那么以(i,j)為中心,窗口大小為(2n+1)×(2n+1)的區(qū)域內,其局部均值和方差可以表示為
式中:均值mx可以近似認為是圖像的背景部分,也就是圖像的低頻部分信息;x(i,j)-mx(i,j)為圖像中的高頻細節(jié)部分。
定義f(i,j)表示x(i,j)增強后的像素值,則自適應對比度增強算法便可以表示如下:
f(i,j)=mx(i,j)+G(i,j)[x(i,j)-mx(i,j)]
其中增益G(i,j)是一個大于1的常數(shù)。紅外熱圖像經過自適應對比度增強前后對比結果如圖3所示。從圖3看出,相比其他算法,自適應對比度增強算法更能有效地優(yōu)化和凸顯行人在紅外熱圖像中的細節(jié)和灰度特征,濾掉了很多不必要的環(huán)境信息,極大地提高了行人檢測的精度。
(a) 原始圖像
上一部分通過顯著視覺技術大致找到了行人的ROI,但是沒有精確定位行人位置。下面使用YOLO V4算法對ROI中的行人進行精確定位。YOLO V4模型是YOLO系列目標檢測算法的第4個版本,由Alexey等人于2020年4月提出。YOLO V4作為一種通用的目標檢測算法其性能優(yōu)越,如圖4所示。在訓練階段模型采用了多種數(shù)據(jù)增強算法(Mosaic、cmBN、SAT對抗訓練),大大增強了目標檢測的魯棒性和準確性。另外,對許多SOTA目標檢測算法的訓練技巧進行了驗證和修改,讓模型對GPU訓練更加高效。
圖4 不同目標檢測模型性能對比
從圖4可以看出,YOLO V4較好地兼顧了實時性和準確性,在COCO數(shù)據(jù)的測試中,模型對所有物體檢測實時性的平均精度在42%以上時,其實時性超過70 FPS,完全滿足智能汽車對于實時性和準確性的要求。
本文選擇YOLO V4模型對提取的ROI圖像中的行人進行建模和訓練。為了提高模型的訓練速度,加速訓練過程的收斂,在模型訓練時采用遷移學習的方法,訓練流程如圖5所示。
圖5 遷移學習YOLO V4模型訓練流程
遷移學習是通過從已學習的相關任務中轉移知識來改進新的學習任務,有利于提高模型的訓練速度。當訓練樣本一定時,可以提高模型的精度,大大降低訓練對于樣本數(shù)量的依賴。主要包括以下幾個步驟:
1) 訓練樣本采集與標注。采用實車實驗收集不同道路環(huán)境的紅外熱成像樣本,其中包括夜間圖像 5 000張,霧天4 600張,雨雪天5 400張。采用labelimg工具對行人目標進行標注,標注行人目標共 48 432個。
2) 加載預訓練模型,修改配置文件。從Guthub下載YOLO V4的預訓練模型的權重YOLO V4.conv.137和配置文件,刪掉配置文件voc-ball.names原有的20類目標,修改為person 1類目標。進入YOLO V4-voc.cfg文件將batch設置為16,class設置為1,filters設置為18,其中filters =(classes+5)×3。
3) 參數(shù)設置與模型訓練。訓練過程采用sgdm算法迭代優(yōu)化,最大訓練周期設置為25,初始學習率為10-3,每經過5次迭代學習率降為原來的0.5倍。
從圖6可以看出,隨著模型訓練次數(shù)的增加,模型的損失值不斷減小,準確率不斷提高,整個模型趨于收斂,模型精度也滿足要求。
圖6 YOLO V4訓練過程
為了驗證模型的性能,選取了不同惡劣環(huán)境的紅外熱圖像對模型進行測試,部分測試結果如下:圖7(a)、(c)、(e)為可見光相機圖像,圖7(b)、(d)、(f)為相應的紅外檢測圖像。很顯然,相對于可見光相機,紅外圖像具有很好的檢測效果。
(a) 夜間可見光相機圖像
用于測試的實驗圖片共計150張,其中包含行人目標483人,模型有效行人檢測452人,檢測準確率為93.6%;誤檢測目標17個,誤檢率為3.5%;漏檢目標14個,漏檢率為2.9%,目標檢測速度為41 FPS。不同方法的效果對比見表1。
表1 不同方法對比結果
為了提高智能汽車惡劣天氣行人檢測的效率,本文提出了一種基于YOLO V4遷移學習的紅外熱成像行人檢測方法。在未來的研究中,可以通過增加不同位置和規(guī)格的紅外相機實現(xiàn)車輛全視角的行人檢測,提高智能汽車行駛安全性。