ADAS在车载导航设备上的应用
ADAS在車載導航設備上的應用
?
? ? ? ? ? ?首先我們來了解一下ADAS的基本概念,ADAS全稱是Advanced DriverAssistance Systems,中文翻譯是高級駕駛輔助系統。隨著城市化的進一步發展,居民生活水平的提高,路上的車越來越多了,一個可悲的事就是交通事故越來越多了,這里面有很多原因駕駛人員的安全意識、違法駕駛、路況、疲勞駕駛等等原因很復雜,因此有一個ADAS來幫助駕駛員的需求變得越來越強烈了。很多時候,我們都知道副駕駛有個稱職的乘客可以幫駕駛員注意前面車輛行駛動態,能偶爾提醒一下駕駛員安全駕駛,注意保持車距,相比來說,有副駕駛的正常情況下出交通事故的比例比沒有的要少一些。但是副駕駛畢竟有時確實是沒有啊,只有司機一個人,那么就把ADAS當著一個全天候的安全衛士,你的副駕駛吧!說了這么多,我們就來看看ADAS在Android系統上是怎么實現的吧!
/*****************************************************************************************************/
聲明:本博內容均由http://blog.csdn.net/edsam49原創,轉載請注明出處,謝謝!
/*****************************************************************************************************/
? ? ? ? ADAS目前的方案多數都是基于圖像分析的,也就是用攝像頭捕捉車輛前方行駛動態,然后數字化,通過算法里的模型計算分析,來分辨出前面車輛的位置、大小,車道線的位置。這個算法不是我們討論的重點,這個有專業人員做深入研究,我們主要是把它應用起來,用于生產實踐。
? ? ? ?從前面我們了解到,攝像頭相當的關鍵,它出來的原始圖像的清晰度,亮度、飽和度、對比度這些都會影響車輛檢測的效果,直接影響分析的結果。因此,我們在選攝像頭的時候需要分辨率相當要是比較高一點的,另外它的視角大小,水平角度、垂直角度,鏡頭的質量至關重要,sensor大小,FOCALLENGTH以及BACK FOCALLENGTH,另外攝像頭的曝光窗口位置、大小都直接決定了圖像采集的質量。理論上,采集的圖像質量越好,算法分析的結果就越準確。
? ? ? ? ?前面探討了圖像源的一些影響參數,下面就討論一下算法處理相關的一些東西。目前ADAS在使用上大多需要做標定,也就是量身定制,有點私人定制的味道,說通俗點就是按你的車的實際情況來調節設置算法使用的參數。比如你的車寬、車頭長度、車高等,另外需要的一個車輛行駛的速度,可以直接用GPS的速度,有條件的最好還是通過OBD直接取原車的速度,這樣準確,因為GPS在高架橋下、隧道等特殊地方有可能收不到星,會影響效果。通常只能做慣導處理,這也是一個不得已的補救方案。
? ? ? ?在android系統上,攝像頭的處理已經有現成的處理模塊了,一般車載方案都做了行車記錄儀的功能,所以ADAS不會增加硬件成本,因此可以共用行車記錄的圖像。那么就需要在camera HAL層來做文章了,熟悉camera處理的也都知道,里面肯定有一個采集線程,我們可以把ADAS的處理放在那個線程里面去,但是由于ADAS一般都是比較耗CPU的,處理速度沒那么快,一般的行車記錄儀都能達到25fps,但是ADAS一般都處理不了那么多數據,因此我們可以建立一個工作buffer隊列,這隊列不同于攝像頭原始的隊列,是基于原始隊列建立的二級隊列,也就是說ADAS沒消耗一個buffer,就允許添加一個最新的buffer到這個二級隊列里面去,這樣就能保持處理的流暢性,不至于會導致行車記錄丟幀。這樣建立一個線程去跑ADAS算法處理這個二級buffer隊列,然后把算法處理結果傳遞出來,一般都會埋一個回調函數了。在這個回調函數里面再想辦法把結果數據傳遞給上層應用,傳遞的過程還是挺復雜的,不過當你搞懂系統camera自帶的數據上報處理流程后,類似添加也就不難了。具體實現我們在下一篇文章中再仔細探討一下。下面我們就看一下我們的幾張實際路測的截圖吧!
?
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的ADAS在车载导航设备上的应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2016 CVPR 德州仪器 ADAS
- 下一篇: Open Street Map维基世界地