【Sky Eye 開闊未來】Sky Eye 開發錦囊(下)

一.   概述

上一篇文章介紹了  ”Sky Eye 開發錦囊( ,闡明實際開發過程中所遇到拍攝角度與鏡頭焦距問題。
接下來,此文章為 " Sky Eye 開發錦囊(,亦為實際開發的篇章(綠色章節),將繼續說明實際開發過程中所遇到的問題,如何推算最遠可以偵測到多遠的車輛 ? 如何計算出影像中的消失點或是地平線 ? 雙目立體視覺前車偵測的 ISP 是如何設計 ? 以及如何檢視正確的視差分布?

世平集團 ATU 團隊精心設計的一套 Sky Eye 開發版,幫助我們一同開闊未來 !!  
大大通精彩方案    開闢未來_雙目立體視覺帶你進入 FCW  & LDW 新視野

 



雙目立體視覺技術指南 (前車偵測) - 文章架構示意圖
  

 

二.   Sky-Eye 實作經驗 : 遠距離偵測之影響

如下列公式,透過視差原理亦能分析出最遠可視之實際距離

 

依照上篇文章得知焦距後,就可從期望的實際距離與兩鏡頭之架設距離來推導出對應的視差大小,亦表示該條件下偵測的最遠距離之能力
假設算法偵測能力為 10 個像素以內的車輛,依公式推導後查詢下列表格,當兩顆鏡頭架設距離 30 公分時,若物件 50 之處還能呈現 8 個像素的視差值,則表示已超出該算法偵測車輛之最遠距離能力。

*** 倘若縮小處理影像尺寸,能呈現的視差也隨之變小,導致算法能偵測到的距離也隨著受到限制。

 



最遠距離與鏡頭距離所對應之視差表


 

三.   Sky Eye 實作經驗 : 消失點之影響

所謂的 消失點(Vanish Point) 是兩條平行直線消失於無窮遠處的點。運用在實際光學成像中,就是影像能看見最遠的海平面或是地面的交叉點,或是天空與地面分開的平面。這也可稱作消失線、地平線與海平線皆是闡述同樣的現象。

 



雙目立體視覺之反推鏡頭焦距之示意圖

 

在雙目立體視覺之前車偵測中,消失點能夠幫助算法有效的區分地面與天空資訊。另外,也能夠作為校正鏡頭架設角度主要核心概念,故找到影像中消失點的位置是非常重要的一個參數!!計算方式須配合拍攝角度與焦距,其公式如下…

 

四.   Sky Eye 實作經驗 : ISP Graph 設計

對於影像相關的算法而言, ISP(Image Signal Processor) 是很重要的一部分。因此 NXP設計了一套開發軟體 S32 Design Studio 能以區塊與圖形化的方式幫助開發者設計 ISP Graph。 如下圖所示,為 Sky-Eye 雙目立體視覺前車偵測所設計的 ISP Graph,此 ISP Graph 依序使用 exposure_tonehdr之kernel (即自動曝光和自動白平衡) ,以及 debayer_rgb_simple_interleaved 之 Kernel (Debayerc和色彩空間轉)。這就是一個最簡單的 ISP 設計能夠簡易的適應有變化光源環境

 
Sky Eye ISP Graph之示意圖

 

五.   Sky Eye 實作經驗 : 檢視正確的視差分布

視差值是雙目立體視覺的核心價值,故此說明該如何檢視出正確的視差分布。首先需理解鏡頭實際所成像的視差為何? 可以利用 視差原理 來進行推算,同時為了增加可讀性並建立色彩表,如下圖所示,由紅、澄、黃、綠、藍等顏色變化去對應視差大小,即呈暗紅色表示視差越大、距離越近 ! 反之,深藍色則表示視差越小、距離越遠。

 

在實際測試中,可能會遇到視差分布不正確的問題。依目前經驗分享狀況有三種,分別為

(1) 視差不一致

如下圖所示,顏色分布變少,並無呈現藍色資訊 ! 這有可能是兩鏡頭視差不一致才造成如此大的視差失真! 請盡可能將兩個鏡頭畫面調整至同一水平面上,請勿用軟體處理位移的方式。



遠處視差失真之示意圖(視差不一致)

 

(2)  接地雜訊影響 :

如下 遠處視差失真之示意圖 所示,遠處有呈現淡藍色資訊,但仍不太正確理應呈現深藍色資訊(表示視差小)


排除行車過程中的震動後,能發現輕微接觸開發板則會消除一些雜訊,反而得到較良好的視差分布,即接地雜訊問題 ! 將開發板作接地強化後,即可改善此問題 !

(3)   板彎不完全匹配 :

如下 遠處視差失真之示意圖 所示,同上狀況類似 !  一樣遠處有呈現淡藍色資訊,且無法得到較好的深藍色資訊(表示視差小)
因為雙目立體視覺的計算較為敏感,故此問題可能是板子受外力造成微微的開發板彎曲,導致極小的運算結果有失真 ! 解決方式使用壓克力板強化與手動調整即可改善此問題 !



遠處視差失真之示意圖(板彎不完全匹配)

 


遠處視差失真改善之示意圖

 

經過上述闡述的內容,相信各位應該得知 如何推導該算法,偵測最遠車輛的能力 ! 以及如何計算影像中的消失點位置 !最後分享雙目立體視覺前車偵測的 ISP Graph ,讓剛開始設計算法的人有個參考依據 ! 也分享了實作過程所遇到的經驗,讓開發者可以避免視差失真等問題,至此這系列的介紹就告一段落了 !! 祝福各位能夠在此系列的文章內,學習到許多設計雙目立體視覺或是前車偵測的相關知識,有任何問題歡迎提出 !! 感謝 !!

 

六.  參考文件

[1] 每日頭條網站 - 雙目立體視覺技術的實現
[2] 每日頭條網站 - 雙目立體視覺測量系統應用
[3] 每日頭條網站 - ADAS單目/雙目/三目到底有什麼區別?
[4] 維基百科 - Block-matching algorithm
[5] 論文 - Performance Analysis between Basic Block Matching and Dynamic Programming of Stereo Matching Algorithm
[6] 教材 - Stereo Vision by Professor Fei-Fei Li

[7] 維基百科 - Epipolar geometry
[8] 維基百科 - 單應性
[9] 論文 - A Flexible New Technique for Camera Calibration
[10] 數學工廠 - Camera Calibration 相機校正
[11] CSDN - 雙目測距(雙目標定、雙目校正和立體匹配)
[12] 官方網站 – GNU Octave
[13] 官方網站 – Camera Calibration Toolbox for Matlab
[14] 維基百科 - Hough transform
[15] 論文 - Chong-Wei Li , Jui-Cheng Yen and Hun-Chen Chen, "Safe Driving Monitoring System", June. 2014.
[16] 論文 - Hernán Badino, Uwe Franke, David Pfeiffer, ”The Stixel World - A Compact Medium Level Representation of the 3D-World”, September 2009
[17] 數據邦 - 雙目的終極奧義:Stixel柱狀像素
[18] 論文 - On-road Object Validation using Surface Normal Vectors in Stereo Vision for ADAS Jounal of Institude of Control, Robotics and Systems (2018)
[19] 論文 - Integration of Vehicle Detection and Distance Estimation using Stereo Vision for Real-Time AEB System
[20] 論文 - Stixel based Stereo Vision for Real-time ADAS
[21] 代碼 - StereoVisionforADAS by twkoo
[22] 資料集 – KITTI 網站
[23] 官方網站 - NXP S32V234

 
如有任何相關 雙目立體視覺(Stereo Vision) 技術問題,歡迎至博文底下留言提問 !!
接下來還會分享更多 雙目立體視覺(Stereo Vision) 的技術文章 !!敬請期待 【Sky Eye 開闊未來】 !!


 

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

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

評論