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