双目估计方法_教你提高双目立体视觉系统的精度!
雙目立體視覺(Binocular Stereo Vision)是機器視覺的一種重要形式,它是基于視差原理并利用成像設(shè)備從不同的位置獲取被測物體的兩幅圖像,通過計算圖像對應(yīng)點間的位置偏差,來獲取物體三維幾何信息的方法1。
精度,是雙目立體視覺至關(guān)重要的指標。
雙目立體視覺系統(tǒng),不談精度幾許,未免顯得業(yè)余!精度不行?
“來,小同志往邊上讓一讓,下一個!”精度很高?
“小伙子你們設(shè)備多少錢!能打個折不!”做過雙目研究的伙伴們,肯定是經(jīng)常和精度打交道的,大部分人也肯定知道,雙目立體視覺的精度主要看的是深度方向的精度!深度圖是很多雙目設(shè)備的輸出數(shù)據(jù),通過深度圖以及相機參數(shù),可以算出三維點云的空間坐標,公式如下:
可知深度D DD的角色感很強,把深度估計準了,那三維點也就準了。(什么,相機標定也不準?當我沒說!)
所以,如何讓深度精度更高?
我們再來看一個經(jīng)典公式:
這可再熟悉不過了,
是深度, 是基線, 是焦距(像素單位), 是視差。咱們一分為二看這個公式,右邊分母部分是像素視差值,和算法相關(guān);分子部分是系統(tǒng)硬件參數(shù),和硬件相關(guān)。可知深度精度是由算法和硬件綜合決定。
研發(fā):“哥們,你們硬件做的不行啊!”硬件:“屁,是你們算法不行!”
老板:“都是廢物!”
對各參數(shù)不太清楚的同學可以看下圖:
1 算法因素
咱們先分析算法對精度的影響。那么硬件參數(shù)
和 就假設(shè)是已知且恒定的了。假設(shè)視差偏差為
,則計算視差偏差 下的深度偏差 :(修訂:假設(shè)視差偏差和深度偏差都是正值(假設(shè)負值同理),公式(2)左邊應(yīng)該是減號) 和 已知且恒定,如果我們把 也恒定,也就是在同一個深度距離下評判精度,由公式(1)可知 也就恒定。此時容易發(fā)現(xiàn), 越小, 越小。說明:(一)視差偏差越小,深度偏差越小;換言之,算法的視差精度越高,深度精度越高,深度精度和視差精度成正比。
所以更高精度的視差估計算法,自然能帶來更高的深度精度。
2 硬件因素
上面分析算法對精度的影響,所以固定了硬件參數(shù)
和 。現(xiàn)在我們來分析視差精度恒定的情況下,硬件參數(shù)如何影響精度。還是基于上面三個公式,但是做一些修改,把公式(1)代入到(3)中,如下:(修訂:假設(shè)視差偏差和深度偏差都是正值(假設(shè)負值同理),公式(2)左邊應(yīng)該是減號)同樣,我們把
恒定,也就是在同一個深度距離下評判精度,因為視差精度恒定(也就是視差估計算法定了,精度差不多固定了),因此 也恒定。不難發(fā)現(xiàn), 和 對 有相同的影響關(guān)系, 越大、 越大, 越小。說明:(二)基線越大、焦距(像素單位)越長,深度精度越高。深度精度和基線、焦距成正比。
從公式中我們看到,影響
的實際是基線和焦距的乘積,所以若兩個一起增大,那深度精度必然增大,若一個增大一個減小,那么深度精度可能增大也可能減小。另一個需要說明的是,
是焦距的像素單位,它和焦距的空間尺寸和像素大小有關(guān),設(shè)焦距的空間尺寸為 ,像素大小為 ,則 的計算公式為:顯然,
越小, 越大。我們知道 的大小是相機傳感器尺寸決定的,而焦距是鏡頭決定的。所以選相機的時候要了解第三個知識:(三)像素大小越小,同樣的物理尺寸焦距有更長的像素尺寸焦距,深度精度就越高。
3 深度范圍
上面我們分析了算法參數(shù)和硬件參數(shù)對深度精度的影響,但還有一個重要的因素,它即非硬件相關(guān)也非算法相關(guān),它就是深度本身的大小,也即深度范圍。簡單的說,目標離鏡頭的距離不同,精度是不一樣的。
對上一節(jié)的公式(3)再多做一步推導(dǎo):
這里討論深度范圍,所以假設(shè)
、 和 都恒定。顯然可以發(fā)現(xiàn), 越小, 越小。所以我們得出第四個結(jié)論:(四)測量目標離系統(tǒng)越近,深度精度越高。
4 總結(jié)
我想大家其實在實際應(yīng)用中都會有一些直觀的理解,比如(1)算法越好,精度越高,明擺著嘛!(2)相機分辨率越高,精度越高,這不廢話嘛!(3)基線越長,精度越高,顯而易見嘛!
本文的目的就是通過公式推導(dǎo)來嚴格證明,以讓大家更加清晰的明白各因素影響精度的本質(zhì),從而更科學的指導(dǎo)雙目系統(tǒng)的設(shè)計。再來匯總一下上面的四條結(jié)論:
(一)視差偏差越小,深度偏差越小;換言之,算法的視差精度越高,深度精度越高,深度精度和視差精度成正比。 (二)基線越大、焦距(像素單位)越長,深度精度越高。深度精度和基線、焦距成正比。 (三)像素大小越小,同樣的物理尺寸焦距有更長的像素尺寸焦距,深度精度就越高。 (四)測量目標離系統(tǒng)越近,深度精度越高。所以同學們你們現(xiàn)在知道怎么設(shè)計雙目系統(tǒng)能提高精度了嗎?
(1)選高精度視差估計算法 (2)在應(yīng)用場景允許、結(jié)構(gòu)穩(wěn)定性滿足需求的情況下,盡可能延長基線。 (3)在視場范圍、景深滿足需求的情況下,盡可能選擇長焦鏡頭 (4)在算力允許的情況下,選擇高分辨率相機(本質(zhì)上應(yīng)該是像素尺寸小的相機,有的相機提高了分辨率,只是提升了視域,但像素尺寸不變,那精度也不變) (5)測量距離適當拉近(這點往往是場景需求決定的)總結(jié)
以上是生活随笔為你收集整理的双目估计方法_教你提高双目立体视觉系统的精度!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 二十万字C/C++、嵌入式软开面试题全集
- 下一篇: 二十万字C/C++、嵌入式软开面试题全集