新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 用FPGA實(shí)現(xiàn)低成本實(shí)時(shí)深度感知

用FPGA實(shí)現(xiàn)低成本實(shí)時(shí)深度感知

作者:Bart Borosky 萊迪思半導(dǎo)體公司 時(shí)間:2008-06-17 來源:電子產(chǎn)品世界 收藏

引言

  對于自主機(jī)器人導(dǎo)航和其它應(yīng)用來說,實(shí)時(shí)是很關(guān)鍵的。目前通過立體圖像來計(jì)算深度的算法計(jì)算量很大,例如差異測繪,要占用CPU大量的時(shí)間,或者需要用昂貴的器件進(jìn)行實(shí)時(shí)操作。

  針對立體攝像的,解決方案能使處理器的時(shí)間得到緩解,減少或除去器件的成本,例如MPU、、激光器和昂貴的鏡頭。通過提供給機(jī)器人其環(huán)境中 的差異測繪,使機(jī)器人中的CPU專注于重要的高層任務(wù),例如建圖和定位。

本文引用地址:http://m.butianyuan.cn/article/84345.htm

差異測繪

  加到機(jī)器人的常用技術(shù)是用兩個(gè)水平放置的獨(dú)立攝像機(jī),互相之間平行分開放置。用差異測繪算法對兩個(gè)攝像機(jī)進(jìn)行比較,見圖1。


圖1  差異測繪計(jì)算

  簡單來說,差異是指右面和左面圖像之間的差別。物體越接近攝像機(jī),兩個(gè)圖像之間的差異越大。

  你可以自己來做一個(gè)實(shí)驗(yàn),對著你的臉?biāo)降叵蛏衔兆∫恢ЧP,不停地眨你的左眼和右眼。移動(dòng)的筆越接近你的臉,你眨眼時(shí)覺得移動(dòng)越多。做更多的移動(dòng)時(shí),物體越接近你的眼睛,圖像中的差異越大。

  如圖1所示,從兩個(gè)圖像之間物體的位置算出差異:d=x1-x2。為了計(jì)算點(diǎn)M的實(shí)際坐標(biāo),可通過左面和右面的攝像機(jī)來進(jìn)行計(jì)算:
  X=Bx1/d
  Y=By1/d
  Z=fB/d
  
  相關(guān)的問題

  計(jì)算差異測繪依賴于相關(guān)的圖像,以及左面圖像和右面圖像的匹配性質(zhì)。逐點(diǎn)計(jì)算相關(guān)的像素的計(jì)算量是很大的,因此用其它算法來簡化這個(gè)問題。有一種方法稱為圖像點(diǎn)相關(guān),仔細(xì)檢查左面圖像的像素塊,稱為點(diǎn),然后在右面圖像中尋找相同的點(diǎn)。其它的方法包括邊沿檢測和匹配。一旦定位了相應(yīng)的圖像,就可進(jìn)行差異計(jì)算。

失真與曝光問題

  如果使用高質(zhì)量的攝像機(jī),可以忽略鏡頭失真。為了省錢,使用便宜的CMOS 或者CCD攝像機(jī),或者低成本廣角鏡頭。這些較低質(zhì)量的產(chǎn)品會引入失真或曝光問題。

  鏡頭會引起比例和定位失真,例如白點(diǎn)效應(yīng),靠近圖像外面的物體出現(xiàn)彎曲狀,使用眾所周知的圖像處理算法可以進(jìn)行補(bǔ)償。針對移動(dòng)或者其它幾何算法,糾正白點(diǎn)的一種方法是使用坐標(biāo)的查找表重測圖像中的像素。

  在非常明亮和非常暗的環(huán)境中,其它的算法需要可靠地捕獲圖像中的詳細(xì)特征。例如,針對不同的區(qū)域確定最佳的曝光設(shè)置,使用區(qū)域的合成圖像可以補(bǔ)償缺少背景亮度。

用含有的解決方案

  本文中闡述的深度感知算法計(jì)算復(fù)雜,以實(shí)時(shí)的視頻速率來實(shí)現(xiàn)。系統(tǒng)設(shè)計(jì)者必須評估CPU/軟件、ASIC, ASSP(例如處理器)和FPGA解決方案,確定哪個(gè)是最佳的,以及FPGA價(jià)格。    
圖2展示了提出的FPGA協(xié)處理器解決方案,解決失真、曝光、通信和針對深度感知差異測繪算法。這個(gè)方法使CPU騰出時(shí)間,允許DSP處理器處理更多的串行任務(wù)。


圖2   FPGA支持計(jì)算量大的差異測繪算法

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉