創想智控將機器視覺技術應用于視覺與圖像領域,自主研發了雙目立體視覺相機,已應用在工業和VR領域,具體產品和行業案例可以搜索北京創想智控進入官網進行查看。
以下科普知識來源網絡,如有涉及侵權,請聯系我們刪除。
基于雙目立體視覺的深度相機類似人類的雙眼,和基于TOF、結構光原理的深度相機不同,它不對外主動投射光源,完全依靠拍攝的兩張圖片(彩色RGB或者灰度圖)來計算深度,因此有時候也被稱為被動雙目深度相機。
雙目立體視覺深度相機詳細原理
1、理想雙目相機成像模型
首先我們從理想的情況開始分析:假設左右兩個相機位于同一平面(光軸平行),且相機參數(如焦距f)一致。那么深度值的推導原理和公式如下。公式只涉及到初中學的三角形相似知識,不難看懂。
理想情況下雙目立體視覺相機深度值計算原理
根據上述推導,空間點P離相機的距離(深度)z=f*b/d,可以發現如果要計算深度z,必須要知道:
1、相機焦距f,左右相機基線b。這些參數可以通過先驗信息或者相機標定得到。
2、視差d。需要知道左相機的每個像素點(xl, yl)和右相機中對應點(xr, yr)的對應關系。這是雙目視覺的核心問題。
2、極線約束概念
極線約束對于求解圖像對中像素點的對應關系非常重要。
如下圖所示。C1,C2是兩個相機,P是空間中的一個點,P和兩個相機中心點C1、C2形成了三維空間中的一個平面PC1C2,稱為極平面(Epipolar plane)。極平面和兩幅圖像相交于兩條直線,這兩條直線稱為極線(Epipolar line)。P在相機C1中的成像點是P1,在相機C2中的成像點是P2,但是P的位置事先是未知的。
我們的目標是:對于左圖的P1點,尋找它在右圖中的對應點P2,這樣就能確定P點的空間位置,也就是我們想要的空間物體和相機的距離(深度)。
所謂極線約束(Epipolar Constraint)就是指當同一個空間點在兩幅圖像上分別成像時,已知左圖投影點p1,那么對應右圖投影點p2一定在相對于p1的極線上,這樣可以極大的縮小匹配范圍。
根據極線約束的定義,我們可以在下圖中直觀的看到P2一定在對極線上,所以我們只需要沿著極線搜索一定可以找到和P1的對應點P2。
3、圖像矯正技術
圖像矯正是通過分別對兩張圖片用單應(homography)矩陣變換(可以通過標定獲得)得到的,的目的就是把兩個不同方向的圖像平面(下圖中灰色平面)重新投影到同一個平面且光軸互相平行(下圖中黃色平面),這樣就可以用前面理想情況下的模型了,兩個相機的極線也變成水平的了。
經過圖像矯正后,左圖中的像素點只需要沿著水平的極線方向搜索對應點就可以了(開心)。從下圖中我們可以看到三個點對應的視差(紅色雙箭頭線段)是不同的,越遠的物體視差越小,越近的物體視差越大,這和我們的常識是一致的。
4、基于滑動窗口的圖像匹配
對于左圖中的一個像素點(左圖中紅色方框中心),在右圖中從左到右用一個同尺寸滑動窗口內的像素和它計算相似程度,相似度的度量有很多種方法,比如誤差平方和法(Sum of Squared Differences,簡稱SSD),左右圖中兩個窗口越相似,SSD越小。下圖中下方的SSD曲線顯示了計算結果,SSD值最小的位置對應的像素點就是最佳的匹配結果。
具體操作中還有很多實際問題,比如滑動窗口尺寸?;瑒哟翱诘拇笮∵x取還是很有講究的。
5、基于能量優化的圖像匹配
目前比較主流的方法都是基于能量優化的方法來實現匹配的。能量優化通常會先定義一個能量函數。比如對于兩張圖中像素點的匹配問題來說,我們定義的能量函數如下圖公式1。
我們的目的是:
1、在左圖中所有的像素點和右圖中對應的像素點越近似越好,反映在圖像里就是灰度值越接近越好。
2、在 同一張圖片里,兩個相鄰的像素點視差(深度值)也應該相近。
上述公式1代表的能量函數就是著名的馬爾科夫隨機場(Markov Random Field)模型。通過對能量函數最小化,我們最后得到了一個最佳的匹配結果。有了左右圖的每個像素的匹配結果,根據前面的深度計算公式就可以得到每個像素點的深度值,最終得到一幅深度圖。
北京創想智控科技有限公司是一家專注于機器視覺焊接自動化的研發及生產的高新技術企業。多年來,創想智控憑借公司的核心技術致力于為用戶提供機器視覺和智能控制的解決方案;深度服務于螺旋管、鋼瓶、壓力容器、鋼結構、汽車零配件、焊接機器人等行業的焊接制造領域。未來,創想智控將不斷致力于技術研發與創新,立足工業智能制造,助力行業品質提升!