路口識別&距離計算
來自專欄相信簡單的力量59 人贊了文章
項目說明:該項目使用單目攝影機對結構化道路進行路口識別&距離計算,尤其針對自動駕駛場地模型車比賽道路。
路口識別與路口距離計算 https://www.zhihu.com/video/1024705744045817856
目錄
- 目標
- 限制&條件
- 演算法邏輯
- 圖像預處理
- 特徵提取
- 特徵庫建立
- 路口識別和分類
- 距離計算
1. 目標
- 判斷前方是否出現路口
- 若前方出現路口,判斷是何種路口,該項目中主要針對如下圖所示的 4 種路口
- 同時計算路口與汽車的距離,該項目主要計算如圖兩個距離
2. 限制&條件
- 使用單目攝影機
- 路線清晰可見
- 道路始終等寬
圖三為目標實現場景
3.演算法邏輯
整個項目進行分為三部分,圖像預處理,特徵庫建立以及路口識別與定位演算法。
圖四為整個項目的演算法邏輯(德語)
- 圖像預處理
本項目由於使用了廣角鏡頭,存在畸變,首先第一步需要將畸變去掉,效果如圖,去畸變前後效果如圖五
特徵提取建立在灰度圖上,如圖六所示
將圖像進行逆透視變換是特徵提取的關鍵,逆透視變換前後對比如圖七所示
以上,是每一幀圖片的預處理過程。
- 特徵提取
該項目使用路口的角點作為特徵,對於不同類型的路口分別提取 4 個角點,角點的具體位置根據不同的路口類型不同,如圖八所示
這裡給出一個使用演算法得到圖片中角點的實例,如圖九所示
項目不需要對所有角點進行提取,只提取圖片部分區域
- 特徵庫建立
提取出來的角點只需要 4 個作為特徵角點,也就是圖十中紅色圓圈包圍的角點
將得到的特徵角點位置連同路口類型組成一個 list,如下:
將這樣的一個結構存入一個 txt 文件,按照同樣的方法建立好所有路口的特徵庫,特徵庫部分截圖如圖十一所示
- 路口識別和分類
特徵庫建立之後,就可以實時判斷路口類型和距離計算,路口類型判斷思路為:實時圖片傳入,進行同樣的圖像預處理,然後提取圖片中固定區域的所有角點 P1, P2, P3, P4, P5···(結合圖十二所示進行理解),這些點與特徵庫裡面第一個特徵進行比較,第一個特徵 4 個角點位置 A1, B1, C1, D1,分別進行實時圖片幀與特徵一中角點 A1, B1, C1, D1 距離最近的點,其距離和 Sum1 為圖片幀與特徵一的距離,然後同樣的方法找出圖片幀與特徵庫所有特徵的距離,將距離最小的特徵對應的路口類型作為該圖片幀的路口類型,如圖十三所示
- 距離計算
每一種路口類型選取一個特徵角點作為距離計算的參考點,不同路口類型的參考點如圖十四所示
選擇一個路口,按照圖十五所示的原理進行距離計算
對於該路口類型,距離計算公式如下
以上為整個項目大致的設計思路,具體實現很多細節未體現。歡迎轉載請註明出處,謝謝~
推薦閱讀:
※App Store 十周年:繁與簡
※新技術科技股流失國外上市傷害資本市場發展
※如何靠譜地變大(男性篇)———— | 性 情主題站 | 果殼網 科技有意思
※IPV6,最好100年後也別用
※購買攜帶型標籤印表機的時候應該注意那些參數?