從零開始的無人駕駛 02:Vehicle Detection

CNN (Convolutional Neural Networks 卷積神經網絡) 普遍運用之前,車輛檢測是通過使用條件隨機場或者SVM(支持向量機)來實現的。操作上分爲兩步,先是從圖像上提取特徵,然後基於特徵建立模型,判斷車輛位置。

template matching 模板匹配

對於圖像上的每一塊顏色,計算與背景圖的distance

甚至更硬核一點,直接把各種可能的車輛圖片存起來,然後跟相機視角的圖片進行比較

這類解決方案統稱 template matching

Color Histogram

template matching的缺陷也很明顯,對於沒有預存過的模板,自然無從識別。因此出現了 Color Histogram方案

將車輛的模板轉換成顏色直方圖,運算時比較目標物體與預存直方圖的相似度。優點是同一個物體在不同角度仍可識別。比如對於一輛紅色的車,從不同方向看過去,模板匹配無法很好地識別,而利用Color Histogram則不受影響。

HOG

Histogram of Oriented Gradients (定向梯度直方圖), 相比於之前的特徵,HOG特徵更加健壯,並且無視顏色的影響。

操作的時候,首先捕捉圖像的輪廓與紋理信息

然後將圖像劃分爲多個cell。對每個cell計算梯度方向

統計每個cell的局部直方圖

將結果歸一化,得到的主方向將成爲局部特徵梯度方向

彙總每個cell得到的局部信息,就可以得到HOG特徵

Features Combination

首先是數據預處理,這裏主要是進行特徵組合。

比如HOG特徵是針對梯度信息的特徵,HSV特徵則是針對顏色信息的特徵

可以直接將二者拼接,得到顏色+梯度的組合信息

這裏面有一些要注意的地方,一般多個特徵擁有不同的模量,所以數字上相差很大

那麼就需要進行正則化,將數據對齊

還可以利用決策樹等方法,捨棄影響不大的變量

Sliding Windows

使用滑動窗口進行車輛檢測,在這種場景下有一些機巧

首先還是ROI, 車輛其實只會出現在圖片的下半塊區域

其次可以預先設定好車輛可能的最大寬度和最小寬度

這樣在檢測時進行有限的multi-scale window

減小搜索空間

Multiple Detection

最後對於同一車輛的Multiple Detection

建立heat-map,計算中心位置

Build Model & Tracking


模型的選取倒是比較簡單,SVM, Decision Tree, Nerual Network, etc. 這些都是常見的選擇

針對每一幀圖像,檢測車輛位置,形成連續追蹤


總結自Udacity無人車專項,合集版在掘金更新

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章