來源:3D視覺工坊
雙目立體視覺(Binocular Stereo Vision)是機器視覺的一種重要形式,它是基於視差原理並利用成像設備從不同的位置獲取被測物體的兩幅圖像,通過計算圖像對應點間的位置偏差,來獲取物體三維幾何信息的方法1。
精度,是雙目立體視覺至關重要的指標。
雙目立體視覺系統,不談精度幾許,未免顯得業餘!
精度不行?
「來,小同志往邊上讓一讓,下一個!」
精度很高?
「小夥子你們設備多少錢!能打個折不!」
做過雙目研究的夥伴們,肯定是經常和精度打交道的,大部分人也肯定知道,雙目立體視覺的精度主要看的是深度方向的精度!深度圖是很多雙目設備的輸出數據,通過深度圖以及相機參數,可以算出三維點雲的空間坐標,公式如下:
可知深度DDD的角色感很強,把深度估計準了,那三維點也就準了。(什麼,相機標定也不準?當我沒說!)
所以,如何讓深度精度更高?
我們再來看一個經典公式:
這可再熟悉不過了,DDD是深度,BBB是基線,fff是焦距(像素單位),ddd是視差。咱們一分為二看這個公式,右邊分母部分是像素視差值,和算法相關;分子部分是系統硬體參數,和硬體相關。
可知深度精度是由算法和硬體綜合決定。
研發:「哥們,你們硬體做的不行啊!」
硬體:「屁,是你們算法不行!」
老闆:「都是廢物!」
對各參數不太清楚的同學可以看下圖:
算法因素
咱們先分析算法對精度的影響。那麼硬體參數BBB和fff就假設是已知且恆定的了。
假設視差偏差為ΔdΔdΔd,則計算視差偏差ΔdΔdΔd下的深度偏差ΔDΔDΔD:
BBB和fff已知且恆定,如果我們把DDD也恆定,也就是在同一個深度距離下評判精度,由公式(1)可知ddd也就恆定。此時容易發現,ΔdΔdΔd越小,ΔDΔDΔD越小。說明:
(一)視差偏差越小,深度偏差越小;換言之,算法的視差精度越高,深度精度越高,深度精度和視差精度成正比。
所以更高精度的視差估計算法,自然能帶來更高的深度精度。
硬體因素
上面分析算法對精度的影響,所以固定了硬體參數BBB和fff。現在我們來分析視差精度恆定的情況下,硬體參數如何影響精度。還是基於上面三個公式,但是做一些修改,把公式(1)代入到(3)中,如下:
同樣,我們把DDD恆定,也就是在同一個深度距離下評判精度,因為視差精度恆定(也就是視差估計算法定了,精度差不多固定了),因此ΔdΔdΔd也恆定。不難發現,BBB和fff對DDD有相同的影響關係,BBB越大、fff越大,ΔDΔDΔD越小。說明:
(二)基線越大、焦距(像素單位)越長,深度精度越高。深度精度和基線、焦距成正比。
從公式中我們看到,影響ΔDΔDΔD的實際是基線和焦距的乘積,所以若兩個一起增大,那深度精度必然增大,若一個增大一個減小,那麼深度精度可能增大也可能減小。
另一個需要說明的是,fff是焦距的像素單位,它和焦距的空間尺寸和像素大小有關,設焦距的空間尺寸為f0f_0f0,像素大小為sss,則fff的計算公式為:
顯然,sss越小,fff越大。我們知道sss的大小是相機傳感器尺寸決定的,而焦距是鏡頭決定的。所以選相機的時候要了解第三個知識:
(三)像素大小越小,同樣的物理尺寸焦距有更長的像素尺寸焦距,深度精度就越高。
深度範圍
上面我們分析了算法參數和硬體參數對深度精度的影響,但還有一個重要的因素,它即非硬體相關也非算法相關,它就是深度本身的大小,也即深度範圍。簡單的說,目標離鏡頭的距離不同,精度是不一樣的。
對上一節的公式(3)再多做一步推導:
這裡討論深度範圍,所以假設BBB、fff和ΔdΔdΔd都恆定。顯然可以發現,DDD越小,ΔDΔDΔD越小。所以我們得出第四個結論:
(四)測量目標離系統越近,深度精度越高。
總結
我想大家其實在實際應用中都會有一些直觀的理解,比如(1)算法越好,精度越高,明擺著嘛!(2)相機解析度越高,精度越高,這不廢話嘛!(3)基線越長,精度越高,顯而易見嘛!
本文的目的就是通過公式推導來嚴格證明,以讓大家更加清晰的明白各因素影響精度的本質,從而更科學的指導雙目系統的設計。再來匯總一下上面的四條結論:
(一)視差偏差越小,深度偏差越小;換言之,算法的視差精度越高,深度精度越高,深度精度和視差精度成正比。.
(二)基線越大、焦距(像素單位)越長,深度精度越高。深度精度和基線、焦距成正比。
(三)像素大小越小,同樣的物理尺寸焦距有更長的像素尺寸焦距,深度精度就越高。
(四)測量目標離系統越近,深度精度越高。
所以同學們你們現在知道怎麼設計雙目系統能提高精度了嗎?
1、選高精度視差估計算法
2、在應用場景允許、結構穩定性滿足需求的情況下,儘可能延長基線
3、在視場範圍、景深滿足需求的情況下,儘可能選擇長焦鏡頭
4、在算力允許的情況下,選擇高解析度相機(本質上應該是像素尺寸小的相機,有的相機提高了解析度,只是提升了視域,但像素尺寸不變,那精度也不變)
5、測量距離適當拉近(這點往往是場景需求決定的)