引言
對于自主機器人導航和其它機器視覺應用來說,實時深度感知是很關鍵的。目前通過立體圖像來計算深度的算法計算量很大,例如差異測繪,要占用CPU大量的時間,或者需要用昂貴的器件進行實時操作。
針對立體攝像的深度感知,FPGA解決方案能使處理器的時間得到緩解,減少或除去器件的成本,例如MPU、DSP、激光器和昂貴的鏡頭。通過提供給機器人其環境中的差異測繪,FPGA使機器人中的CPU專注于重要的高層任務,例如建圖和定位。
差異測繪
加深度感知到機器人的常用技術是用兩個水平放置的獨立攝像機,互相之間平行分開放置。用差異測繪算法對兩個攝像機進行比較,見圖1。

簡單來說,差異是指右面和左面圖像之間的差別。物體越接近攝像機,兩個圖像之間的差異越大。
你可以自己來做一個實驗,對著你的臉水平地向上握住一支筆,不停地眨你的左眼和右眼。移動的筆越接近你的臉,你眨眼時覺得移動越多。做更多的移動時,物體越接近你的眼睛,圖像中的差異越大。
如圖1所示,從兩個圖像之間物體的位置算出差異:d=x1-x2。為了計算點M的實際坐標,可通過左面和右面的攝像機來進行計算:
X=Bx1/d
Y=By1/a
Z=fB/d
相關的問題
計算差異測繪依賴于相關的圖像,以及左面圖像和右面圖像的匹配性質。逐點計算相關的像素的計算量是很大的,因此用其它算法來簡化這個問題。有一種方法稱為圖像點相關,仔細檢查左面圖像的像素塊,稱為點,然后在右面圖像中尋找相同的點。……