智能網聯汽車|基於視覺的環境感知-讀書筆記

本文轉自個人公衆號:https://mp.weixin.qq.com/s/mwg6PU22avf64kNb5bVQtA

本篇爲《智能網聯汽車先進駕駛輔助系統關鍵技術》讀書筆記,簡單粗暴的介紹相關概念後,以盲區預警作爲usecase結尾。

1、環境感知技術在網聯汽車的應用示意圖

2、視覺傳感器的類型及功能

按攝像頭的工作方式,可以將其分爲單目、雙目、三目、環視;

攝像頭又分爲紅外攝像頭和普通攝像頭;

根據需求的不同,選擇不同的攝像頭和鏡頭。

3、視覺傳感器的功能

視覺傳感器的功能主要有:

車道線識別;

障礙物識別;

交通標誌和地面標誌識別;

交通信號燈識別;

可行駛區域識別

周圍車輛感知;

交通狀況感知;

道路狀況感知;

車輛本身狀態感知。

…………

4、環境感知流程

環境感知流程大體上如下:

圖像採集-->預處理-->特徵提取-->圖像識別及分析-->輸出

其中,

預處理部分根據需求的不同,可以包括:灰度、二值化、圖像壓縮、增強、復原、去噪濾波、resize()、直方圖均衡化等等(這裏推薦一本聖經級別的書--岡薩雷斯的 《數字圖像處理》)。當然,如果需求爲交通信號燈識別,那麼肯定是不能進行二值化的。

特徵提取部分,是爲了更好的進行圖像識別與分析,同樣,根據待檢測目標的不同,選用不同的特徵,最簡單的有顏色特徵、形狀特徵、邊緣特徵等等。

5、視覺傳感器在網聯汽車上的應用

usecase:

我們以盲區監測算法爲例

基於視覺傳感器的盲區監測算法流程:

圖像採集-->圖像預處理-->目標(車輛)檢測-->輸出

其中 ,圖像預處理包括:

a.灰度處理,因爲人眼對綠色敏感度最高,對藍色敏感度最低,取灰度值爲:

I=0.3R+0.59G+0.11B-----------I爲灰度化之後的灰度值,RGB分別代表紅、綠、藍顏色分量。

b.濾波處理,該步驟是爲了去除環境產生的噪聲,比如車輛抖動、光學噪聲、圖像採集過程帶來的量化誤差等等。最常用的濾波有均值濾波,中值濾波,高斯濾波……

以一維高斯濾波爲例

double *getGuassionArray(int size, double sigma){  double sum = 0.0;  int kerR = size / 2;  double *arr = new double[size];  for (int i = 0; i < size; i++)  {    arr[i] = exp(-((i - kerR)*(i - kerR)) / (2 * sigma*sigma));    sum += arr[i];  }  for (int i = 0; i < size; i++)  {    arr[i] /= sum;  }  return arr;}

c.目標(車輛)檢測

此步驟中,有學者利用車在行進過程中產生的陰影做爲車的特徵來識別車輛;還有學者將車身的剛體特徵作爲鮮明的特徵;另外還有車窗、保險槓等作爲特徵……

可以用傳統的特徵檢測算法進行目標檢測,比如:Cascade + HOG/DPM + Haar/SVM,不過精度和穩定性不是特別高;

也可以用深度學習,通過訓練特徵進行目標檢測,如:R-CNN(Selective Search + CNN + SVM)、SPP-net(ROI Pooling)、Fast R-CNN(Selective Search + CNN + ROI)、Faster R-CNN(RPN + CNN + ROI)、SSD、YOLO系列……方法。

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