機器人學 —— 機器人視覺(基礎)


  機器人視覺是一種處理問題的研究手段。經過長時間的發展,機器人視覺在定位,識別,檢測等多個方面發展出來各種方法。其以常見的相機作為工具,以圖像作為處理媒介,獲取環境信息。

1、相機模型

  相機是機器人視覺的主要武器,也是機器人視覺和環境進行通信的媒介。相機的數學模型為小孔模型,其核心在於相似三角形的求解。其中有三個值得關注的地方:

1.1  1/f = 1/a + 1/b 

  焦距等於物距加上像距。此為成像定理,滿足此條件時才能成清晰的像。

1.2  X  = x * f/Z

  如果連續改變焦距f ,並同時移動相機改變Z,則可以使得物體x在圖像上所占像素數目不變(X)。此為DollyZoom原理。如果某個物體在該物體后方(更大的Z),可利用此原理任意調整兩個物體在相片上的比例。

1.3    焦距越長,則視場越小,可以將遠處的物體拍清晰。同時相片會有更大的景深。

 

2、消失點

  消失點是相片中特有的。此點在相片中不直接存在,在現實中直接不存在。由於射影變換,相片中原本平行的線會有相交的趨勢。如果求的平行直線在圖像中的交點,則該點對應現實中無窮遠出的一點。該點的圖像坐標為[X1 X1 1]。 此點成為消失點。相機光心與消失點的連線指向消失點在攝像機坐標系中的方向。

   此外,同一平面上各個方向的消失點,會在圖像中組成一條直線,稱為水平線。該原理可以用於測量站在地上的人的高度。值得注意的是只有相機水平時,horizen的高度才是camera Height.

2.1 位姿估計

  如果我們能獲得一幅圖中的2個消失點。且這2個消失點所對應的方向是相互垂直的(網格),那么我們就可以估計出相機相對於此圖像的姿態(靶標位姿估計)。 在獲得相機相對於靶標的旋轉向量后,如果相機內部參數已知,且已知射影變換矩陣,則可計算相機相對於靶標的距離,那么可以估計機器人的位置。 H = K^-1*(H射影矩陣)

  

2.2 點線對偶

  p1×p2 = L12

  L12×L23 = p2

3、射影變換

  射影變化是空間中平面--->平面的一種變換。對齊次坐標,任意可逆矩陣H均表達了射影變換。簡而言之,可以表達為A = HB ,其中AB是[X Y 1]形式的其次坐標。射影變換的一大作用就是將某一形狀投射成其他形狀。比如,制作相片中的廣告牌,或者比賽轉播中的廣告牌,或者游泳比賽運動員到達后那個biu的一下出現的國旗。射影變換也是增強現實技術的基礎。

  

  射影變換的核心在於H的求取。普通的求解方法見機器視覺教材。

  假設平面相片的四個點分別是A(0,0,1),B(0,1,1),C(1,1,1),D(1,0,1)。顯然,這四個點需要投射到四個我們已知像素位坐標的圖像區域中。此外,我們還可以依據像素位置計算兩個有趣的點,V1(x1, y1, z1),V2(x2,y2,z2)。這兩個點都是圖像點。他們對應的實際坐標假設是(0,1,0),(1,0,0)。那么我們就有三個很有趣的實際點了。分別是(1,0,0),(0,1,0),(0,0,1).恰好是一個Identity Matrix。這三個實際坐標經過射影變換會得到像素坐標。像素坐標又是已知的。那么H的第一列就應該對應beta*V2,第二列應該對應alpha*V1。第三列應該對應gama*【A的像素坐標】。alpha beta gama是常數。【射影變化后的坐標應為常數乘以其次坐標】。

  如果能解得alpha beta gama,那么我們就獲得了射影變換矩陣。顯然把C點的像素坐標帶入方程,我們則有3個方程,4個未知數(引入了一個lamda)。但是lamda並不影響,除過去后我們只要把alpha/lamda,beta/lamda,gama/lamda當作未知數即可解除射影矩陣。

  所以,射影變換矩陣的第一列代表消失點V1,第二列代表消失點V2,第一列與第二列的叉乘,代表水平線方程(點線對偶)。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM