【Sky Eye 開闊未來】解析!雙目視覺標定原理

一.   概述

上一篇文章介紹了雙目立體視覺的視差原理機密大公開 說明了如何利用視差測距與原理,以及如何利用電腦視覺的方式模擬視差。
接下來,將帶領各位認識雙目立體視覺的標定原理,以及為何要標定 ?  並透過上篇文章的原理,幫助各位成功建立出視差維度(深度)。此次介紹章節為 “解析!雙目視覺標定原理” 屬於雙目立體視覺篇章(藍色章節),將闡明雙目立體標定為何如此重要 ! 其原理為何 ?

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

 



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



接續上篇文章

測距原理為視差換算實際距離的方法。
視差原理為電腦視覺衡量視差的方法,利用區塊比較 Block Match 的算法統計視差。
極線約束為優化匹配的方法,透過同一特徵點保持同一水平的概念進行約束。

*** 其中極線約束為雙目立體視覺最重要的概念,後續將各別介紹其原理。

理清以上原理思緒後,先來探討一下雙目視覺標定的基本流程是如何運作。

二.   基本演算流程

如下圖所示,首先須前行對兩顆鏡頭進行 “雙目立體標定” !! 目的是為了消除鏡頭的光學變形,校正兩顆鏡頭之空間關係。標定完成後,每顆鏡頭將會得到鏡頭內部參數與外部參數,透過兩顆鏡頭之兩組參數即可計算出鏡頭空間映射關係表格(Map) ,並可開始進行影像校正。回到演算流程中,從每一禎畫面的影像輸入依序進行彩色轉灰階、影像校正、區塊比較 Block Match 即可建置出視差影像。

 



雙目立體視覺之基本流程圖

   

三.   極線約束

極線約束在雙目視覺算法中扮演很重要的作用,透過這種約束的方式在同一水平面上進行匹配,能縮小搜尋範圍、提高匹配效率且降低錯誤匹配的一種有效方式。這也是演算法能匹配出正確的視差最主要的因素,因此務必保持於同一水面上

 


極線約束之示意圖
圖文出處 : https://www.itread01.com/content/1543147998.html


如上圖所示,說明極線約束的理念,假設兩個鏡頭同時關注 同一點 P  時,透過光學原理會構成圖上 灰色方塊 L  與  R  的影像關係,而此時所對應的極線平面應為傾斜的 (紅色與綠色線段) 。而當極線平面為傾斜時,實際影像所呈現的樣子就如同下方示意圖,校正前須以傾斜的方式才能對應至每一個特徵點 (圖上紅色 x 標記處),同時也就是對應至  P  點 的關係。

 

因此須以 “雙目立體標定” 的方式,將影像校正至同一水平極線面上 (黃色線段) ,等同上方極線約束之示意圖所描述的將影像空間描述至同一平面 (黃色方塊),即表示校正後的影像關係。校正後,所呈現的樣子就如下方示意圖所示,將描述的將影像空間描述至同一平面,如同所有的特徵點 (圖上紅色 x 標記處) 於同一個極線平面上。

 
極線約束之成像示意圖

 

由以上描述得知,須藉由雙目立體標定去校正光學成像的空間關係,竟而促使達成極線約束的條件,使匹配特徵時能於同一個平面上搜尋到同一個特徵,這就是極線約束的作用! 也才能正確匹配出視差 !! 為雙目立體視覺的核心概念之一 !!

舉例來說,在架設兩顆鏡頭時,無法確定每個特徵點或是物體都在同一個水平面上。因此必須透過雙目立體標定的方式確認兩顆鏡頭的影像能呈現在同一個水平面上,以利於達到最佳匹配的結果。因此下一小節就來說明雙目立體視覺標定的原理。

 


未達成極線約束之成像示意圖

 

四.  雙目立體標定原理

如上節所敘述,相信大家已經理解極線約束與校正的重要性,故此小節將會介紹雙目立體標定原理以及鏡頭內部參數。校正的原因就如同上一小節所敘述的一樣,須要對影像空間進行校正。如下方示意圖所示,重新強調校正用意就是要達成極線約束的方式,使演算法能夠在水平面上匹配到同一個點。從細節來說明,可以觀察校正前後特徵點 Pr  和 Pl  的變化,除了描述至同一個水平線上外,相對應的位置亦有些許變換,故代表不僅是將同一點拉至同一水平線上,而是對雙目視覺所構成的空間重新描述。

 


雙目立體視覺之校正原理示意圖

 

理解校正的原因後,緊接著就來介紹標定原理與鏡頭內部參數。
如下方式意圖所示,基礎標定原理就是透過 單應性矩陣(Homograph) 去描述空間的轉換,同時亦可稱作座標轉換或是投影變換。透過 單應性矩陣 H  的描述,將左側的原始圖片重新描述影像空間轉變成右側的影像

 


單應性矩陣之示意圖
圖文出處 : https://zhuanlan.zhihu.com/p/74597564

 

雙目立體視覺的標定原理就是透過此方式進行描述。以數學公式來說明的話,單應性矩陣可以被描述為

*** 其中 A2x2  代表仿射變換參數,T  代表平移變換參數, T 代表變換後邊緣交點,s 代表縮放係數。

然而,雙目校正會使用到的參數就是 仿射變換  A2x2  與 平移變換 T  兩個參數,同時仿射變換也就是旋轉矩陣的定義。

 

事實上,我們不需要對單應矩陣或是旋轉矩陣、平移矩陣進行描述。而是要利用一些著名的標定方法進行計算,而後續章節後介紹如何進行標定。在此先簡單地介紹會使用到的參數意義,在進行標定法時將計算出以下參數 :

 

上述公式是相機座標轉換成世界座標的基本公式參數uv  代表相機或鏡頭內部座標,參數 fxfy  為鏡頭內部焦距,參數u0 v0   為鏡頭光學原點,參數 R3x3  為旋轉矩陣,參數 T3x1  為平移矩陣,參數 xw、 yw、 xw  為世界真實的座標。

現有著名的標定法皆會透過棋盤格的圖像作為實際世界座標參考依據,如下圖所示,利用 棋盤格Chart 進行雙目立體視覺標定,透過這樣的方式參照真實世界座標與鏡頭座標的關係,竟而推敲出鏡頭或相機內各個參數的數值。此外,雙目立體視覺校正是需要兩個鏡頭拍同一張影像,讓算法能夠描述出旋轉與平移的關係,才能完成標定。

 

雙目立體視覺標定方式之示意圖

 

相信各位已經理解雙目立體標定與極線約束的重要性,因篇幅的關係實際的標定作法,將於下一篇文章介紹 “3 步驟 !標定完成雙目視覺”,將以簡單三個步驟帶領各位成功完成標定與校正雙目立體視覺所建構的空間 !!

 

五.  參考文件

[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 - 雙目測距(雙目標定、雙目校正和立體匹配)


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


 

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

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

評論