基於傳統算法和深度學習算法級聯的車輛檢測方法及系統與流程
2023-09-23 00:23:50 2

本發明涉及車輛檢測技術領域,尤其涉及基於傳統算法和深度學習算法級聯的車輛檢測方法及系統。
背景技術:
隨著深度學習算法的興起,與圖像相關的人臉識別、目標檢測分類等問題得到了很好的解決,相對傳統的機器學習算法,深度學習極大的提升了圖像算法的性能,使得之前很多解決起來有挑戰的問題看到了解決的希望,拓展了圖像在我們生活場景中的應用邊界。無人車作為下一個從科幻步入現實的問題,成為了我們需要解決的難題和挑戰。ADAS算法在無人車中扮演著關鍵的角色。
車輛檢測作為ADAS主要功能之一,需要對視頻圖像中的車輛目標進行實時分析,通過定位前方車輛的位置,測算距離本車的安全距離,來及時的給司機提供預警。
車輛檢測算法可以分為基於傳統機器學習的方法和基於深度學習的方法兩大類:
1)傳統機器學習算法的車輛檢測
基於滑動窗口的,通過固定的窗口來圖像上進行遍歷掃描,基於手工設計的特徵和分類器來判定當前的窗口目標是否包含車輛目標;
2)基於深度學習的車輛檢測算法
基於深度學習的檢測算法,也細分為兩類:
一種是與傳統的目標檢測算法類似,基於滑動窗口的算法,在圖像上按固定的窗口進行掃描,提取窗口目標的CNN特徵進行判定該目標是否為車輛,相對傳統機器學習來說,僅僅是將特徵由手工設計的特徵變成了表徵能力更為強大的CNN;
另一種是先提取粗糙的備選目標窗口,再對備選的目標進行更為精細的分類,特別是在精細分類上,利用了CNN作為特徵。這一脈算法以RCNN[1],fast RCNN[2],faster RCNN[3]為代表進行演化,在GPU上做到了10fps以上的速度和很高的目標檢測性能。在這樣的兩級架構下,為了進一步提速,出現了更加高級的深度學習架構,通過將前後兩級架構進一步融合,得到了端到端的深度學習目標檢測框架,以SSD[4]、YOLO[5]等算法為代表。
基於傳統機器學習算法進行車輛檢測,受限於手工設計的特徵不夠強大,導致檢測性能不夠好。並且為了進一步的提升檢測性能,需要進行大量的實驗,來進行特徵的設計。
而基於深度學習的算法,雖然可以做到很高的性能指標,但是需要GPU資源,限制了深度學習在更加廣泛的嵌入式、手機等設備上的應用。由於GPU的功耗相對較高,嵌入式或手機上沒有或很少有GPU資源可以調用。並且網絡的深度也導致模型的大小增加,需要調用更多的內存資源,這對於手持設備來說,資源消耗太大。現階段專用的低功耗神經網絡晶片已經在研製中,但是距離落地還有很長的路。如何在現階段將深度學習在嵌入式設備上進行落地,是一個很大的挑戰。
技術實現要素:
本發明提供了一種基於傳統算法和深度學習算法級聯的車輛檢測方法,包括如下步驟:
第一級處理步驟:通過第一級的機器學習算法進行車輛檢測,得到備選目標窗口;
第二級處理步驟:通過第二級的深度學習算法,對提取到的備選目標窗口進行分類。
作為本發明的進一步改進,所述機器學習算法為ACF算法。
作為本發明的進一步改進,在所述第一級處理步驟中首先輸入圖像、然後劃窗、聚和通道特徵、關鍵層金字塔其它層插值,然後採用Adaboost算法進行分類,最後輸出檢測結果。
作為本發明的進一步改進,第二級的深度學習算法包括CNN算法,並且採用CNN網絡架構。
作為本發明的進一步改進,所述CNN網絡架構包括8層,從第1層至第8層分別為:輸入的32x32圖像層、5x5步長為1的32個卷積核層、2x2的pooling層、3x3步長為1的64個卷積核層、2x2的pooling層、512維的FC全連接層、dropout層和最後的FC全連接輸出層,FC全連接輸出層給出當前的分類目標是否是車輛。
本發明還提供了一種基於傳統算法和深度學習算法級聯的車輛檢測系統,包括:
第一級處理模塊:用於通過第一級的機器學習算法進行車輛檢測,得到備選目標窗口;
第二級處理模塊:用於通過第二級的深度學習算法,對提取到的備選目標窗口進行分類。
作為本發明的進一步改進,所述機器學習算法為ACF算法。
作為本發明的進一步改進,在所述第一級處理模塊中首先輸入圖像、然後劃窗、聚和通道特徵、關鍵層金字塔其它層插值,然後採用Adaboost算法進行分類,最後輸出檢測結果。
作為本發明的進一步改進,第二級的深度學習算法包括CNN算法,並且採用CNN網絡架構。
作為本發明的進一步改進,所述CNN網絡架構包括8層,從第1層至第8層分別為:輸入的32x32圖像層、5x5步長為1的32個卷積核層、2x2的pooling層、3x3步長為1的64個卷積核層、2x2的pooling層、512維的FC全連接層、dropout層和最後的FC全連接輸出層,FC全連接輸出層給出當前的分類目標是否是車輛。
本發明的有益效果是:本發明提出的兩層級聯框架,在實際測試中,能夠做到很高的車輛檢測召回率和準確率,並能在各種平臺下實時運行。
附圖說明
圖1是本發明的級聯框架圖;
圖2是本發明的檢測算法流程圖。
具體實施方式
傳統的機器學習雖然性能差,但是速度快,不太受限於計算資源,可以在不同的平臺上部署。深度學習算法性能好的很大一部分原因,是因為利用了很深的神經網絡架構,這也是導致計算速度慢的主要原因。而如果利用較淺層的網絡架構,對於車輛檢測來說,該網絡架構所提取的特徵已經足夠強大,也會大大節省計算資源和內存開銷,保證了實時性和很好的準確率。
為了結合傳統算法和深度學習的優勢,彌補兩者的缺陷,本發明提出了一種基於傳統算法和深度學習算法級聯的車輛檢測方法,不僅能保證檢測的實時性,還能保證很高的準確率。
本發明的級聯框架如圖1所示,本發明的整體思路是,通過第一級的傳統機器學習算法進行粗檢測,來得到可能包含車輛的備選目標窗口,保證高召回率和檢測速度;再通過第二級的深度學習算法,對提取到的備選目標進行精細分類,保證高準確率。這樣的一套框架,不僅能大大提升車輛檢測性能,而且由於採用了較小的深度網絡架構,使得算法能不借用GPU也能實時運算。該方法不僅可以再跨平臺上運行,特別是在嵌入式上,能夠做到實時處理和很高的檢測性能。
下面詳細介紹整體框架的兩級處理流程:
第一級處理步驟,即第一級基於傳統機器學習的ACF算法:
基於傳統機器學習的檢測算法有很多,本發明選用當前速度很快的ACF[6]算法來進行說明,當然不僅僅限於這一種算法。
在第一級處理步驟中,利用聚合通道特徵算法(ACF,Aggregated Channel Features)進行車輛檢測。該算法具有如下幾大優勢,1)速度較快,易於並行;2)目標為剛性物體,能得到比較穩定且準確的矩形框;3)抽取的特徵易於拓展到路牌,行人等目標檢測。該算法在嵌入式上能達到實時而且魯棒的性能。
ACF算法的檢測流程如圖2所示。
第二級處理步驟,即第二級基於深度學習的CNN算法:
第二級基於深度學習的CNN算法,是當前使用很廣泛的一類DNN架構。為了在計算資源、內存開銷和檢測性能上進行折中,本發明選用了一個淺層的CNN網絡架構,所述CNN網絡架構包括8層,從第1層至第8層分別為:輸入的32x32圖像層、5x5步長為1的32個卷積核層、2x2的pooling層、3x3步長為1的64個卷積核層、2x2的pooling層、512維的FC全連接層、dropout層和最後的FC全連接輸出層,FC全連接輸出層給出當前的分類目標是否是車輛。
本發明提出的這種兩層級聯框架,在實際測試中,能夠做到很高的車輛檢測召回率和準確率,並能在各種平臺下實時運行,特別是嵌入式系統。
本發明的框架是第一級利用快速的傳統機器學習檢測算法,第二級是基於CNN的分類算法。第一級利用ACF算法進行備選車輛窗口的提取,但不僅僅限於該算法,有很多類似的快速傳統檢測算法都可以利用。第二級設計了模型大小比較適中的CNN網絡架構,但不僅僅限於本發明提出的這8層架構,還可以設計各種各樣參數的CNN網絡架構。
ADAS:Advanced Driving Assistant System高級輔助駕駛系統;
ACF:Aggregate Channel Features聚合通道特徵;
Adaboost:Adaptive Boosting自適應增強算法;
DNN:Deep Neural Network深度神經元網絡;
CNN:Convolutional Neural Network卷積神經網絡。
[1]Girshick,Ross,et al."Rich feature hierarchies for accurate object detection and semantic segmentation."Proceedings of the IEEE conference on computer vision and pattern recognition.2014.
[2]Girshick,Ross."Fast r-cnn."Proceedings of the IEEE International Conference on Computer Vision.2015.
[3]Ren,Shaoqing,et al."Faster R-CNN:Towards real-time object detection with region proposal networks."Advances in neural information processing systems.2015.
[4]Liu,Wei,et al."SSD:Single Shot MultiBox Detector."arXiv preprint arXiv:1512.02325(2015).
[5]Redmon,Joseph,et al."You only look once:Unified,real-time object detection."arXiv preprint arXiv:1506.02640(2015).
[6]Dollar P,Appel R,Belongie S.Fast Feature Pyramids for Object Detection[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2014,36(8):1532-1545.
以上內容是結合具體的優選實施方式對本發明所作的進一步詳細說明,不能認定本發明的具體實施只局限於這些說明。對於本發明所屬技術領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干簡單推演或替換,都應當視為屬於本發明的保護範圍。