【ATU Book-S32V系列】 APEX-CV 實際應用車道偏移偵測

一.   概述

前文回顧,從上一篇 APEX 進階建置方式,介紹了一系列 APEX Kernel 的建置方法。接下來,將回到上一章節簡單的 APEX-CV 應用。嘗試以原廠現有的資源,將既有的車道偏移算法,從 OpenCV 替換成 APEX-CV 來做運算,並達到處理速度一定程度上的優化 。如同下圖 “APEX 技術指南-文章架構示意圖” 所示,此次介紹章節為 “ APEX-CV 實際應用車道偏移偵測“ 。

APEX  技術指南 - 文章架構示意圖
 

若是對於 APEX 相關技術與知識尚未理解者,該篇文章難度略深,請從另一個系列的文章 “ APEX 基礎架構 ” 閱覽起。 

 

二.   車道偏移偵測演算法

車道偏移偵測演算法(Lane Departure Warning , LDW) 為 先進駕駛輔助系(Advanced Driver Assistance Systems, ADAS) 車用安全最主要的系統之一,將替駕駛者預判行駛過程中,判斷駕駛狀態是否有發生車道偏移的現象,並適當給予警示 。
而此篇文章將以影像作為輸入源,來簡單介紹車道偏移偵測 LDW 的演算法。


車道偏移偵測 LDW 演算法流程圖

 

如上圖所示,為車道偏移偵測 LDW 演算法流程圖。與大多數的車道偏移算法相似都是以 “ 霍夫轉換(Hough Transform) “ 作為偵測車道線的核心算法。而這算法為本人碩士論文之研究,其步驟從取得輸入端的影像,並將影像轉換成灰階影像後。即可透過 感興趣區域(ROI) 的方式,將影像分為左右兩側,以利於凸顯車道資訊。接下來,利用最大關聯度準則來找到適當的閥值,並產生二值化與細線化的影像。以及藉由最初的角度範圍設定,減少霍夫轉換所需的運算量。最後就是以霍夫轉換來找出最佳的車道線,透過這樣的方式就可以輕易的設計出一套 “車道偏移偵測演算法",其結果如下圖所示。下一小節,將介紹如何將 APEX-CV 運用至算法中。
PS : 霍夫轉換,是利用直角坐標轉換為極坐標,並統計角度與截距,找出累計最多的角度與截距之組合,就是該影像資訊中最具明顯的線段。

車道偏移偵測 LDW 示意圖

 

三.  車道偏移偵測演算法改良

此小節,將介紹如何使用現有的 APEX-CV 資源,去取代原本算法中 OpenCV ,來達到運算速度某一程度上的優化 !! 目前經過查閱後,得知可以直接取代的算法,有兩個部分 ;分別為 色彩空間轉換(Color Space Transform) 與 二值化(Binary) 這兩個算法動作。這裡比較可惜的事,主要核心算法的部分 霍夫轉換(Hough Transform),雖然原廠有提供此算法但因有尺寸的限制,仍需進行改良故暫不引用。如圖所示,預計利用 APEX-CV 取代 OpenCV 算法,就是橘色方塊所代表的部分。下列也介紹了該如何利用 APEX-CV 取代 OpenCV 代碼,請查看代碼。


車道偏移偵測 LDW 演算法-流程改良示意圖

 色彩空間轉換(Color Space Transform)

 OpenCV 代碼

運算速度 ->


 

APEX-CV 代碼 

色彩空間轉換 (APEX_Converter_RGB888toGray) 函式 :

運算速度 ->

 

二值化(Binary)

 OpenCV 代碼

 

運算速度 ->

 

 APEX-CV 代碼 

 

二值化 (APEX_BinaryImage) 函式 :

運算速度 ->

 

觀察此篇的結果而論,運用 APEX-CV 進行運算可以縮短時間; 在色彩空間轉換的算法, APEX-CV 與 OpenCV 結果相差 2.12 毫秒,共縮短約 46% 的運算時間。可見使用 APEX-CV 能幫助算法,達到一定程度的優化。但在二值化的算法, APEX-CV 與 OpenCV 結果相差 0.34 毫秒,共增加約 50% 的運算時間。這是因為算法設計的因素,導致處理二值化時尺寸大幅度減少,使得運用 APEX-CV 運算較不符合預計效益。這代表並非使用 APEX-CV 就一定能達到速度上的提升,必須搭配一定的尺寸才符合時間效益。而下一章節,將嘗試設計新的 APU Kernel 進一步提升算法的速度。 敬請期待!! 

 

四.  參考文件


[1] NXP Official website : https://www.nxp.com/
[2] VisionSDK_ProgrammingExamples.pdf
[3] VisionSDK_UserGuide.pdf
[4] VisionSDK_SUMat_UMat.pdf
[5] UG-10328-01-09_APEX-CV_Base_Library .pdf
[6] UG-10328-02-11_APEX-CV_Pro_Library.pdf
[7] UG-10267-03-14-ACF_User_Guide.pdf
[8] UG-10301-00-06_APU-2_C_Programmer_Guide pdf
[9] Chong-Wei Li , Jui-Cheng Yen and Hun-Chen Chen, "Safe Driving Monitoring System", June. 2014.


如有任何相關 APEX 技術問題,歡迎至博文底下留言提問 !!
接下來還會分享更多 APEX 的技術文章 !!敬請期待 【 ATU Book-S32V系列 】 !!

 

 


 

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論