基於平面投影的單目視覺AGV 定位算法

2020-12-04 起重運輸機械

曹小華 任曉玉

0 引言視覺定位是計算機視覺中的一個重要研究問題,廣泛應用於機器人自主導航、機器人定位、視覺伺服、攝像機校正、目標跟蹤、視覺檢測、物品識別和工業零部件裝配等領域。近年來,計算機視覺飛速發展,湧現出大量的技術與算法,如主動視覺、面向任務的視覺、基於知識的視覺、基於模型的視覺以及多傳感器和集成視覺等方法[1]。根據使用鏡頭數目分類,計算機視覺分為單目視覺定位、雙目視覺定位與多目視覺定位。雙目立體視覺是基於視差原理,由多幅圖像獲取物體三維幾何信息。相比於基於多相機的模型定位方法,單目視覺的優點主要體現在只需單幅圖像技能實現定位,不存在圖像匹配問題,處理速度快,定位精度高。傳統視覺對目標定位,是通過對攝像機的內外參數進行標定來實現的[2]。計算機標定方法可以分為傳統標定方法、自標定方法和基於主動視覺的標定方法[3]。傳統標定方法是現在使用最為普遍的標定方法,利用結構已知、高加工精度的標定塊作為標定物,用攝像機拍攝若干幅標定物的圖片,通過計算2D 圖像點與3D 空間點之間的關係來完成標定,通過對標定物的合理設計得到高精度的結果。該方法的優點是適用各種攝像機模型,定位精度高,缺點是標定過程複雜。自標定方法不需要標定物,僅通過運動攝像機所拍攝的標定圖片中匹配點的關係來進行標定。由於不需要標定物,該方法適用範圍廣、靈活性強,但是圖像匹配中需要求解多元非線性方程導致其魯棒性較差[4]。基於主動視覺的標定方法需要預知攝像機的詳細運動信息,這需要昂貴的設備對攝像機的運動軌跡進行記錄,實驗成本較高[5]。本文針對AGV 所處的平坦路面的單目視覺定位,提出了一種新的簡單可行的算法。該算法不需要對攝像機進行標定,也不需要求解攝像機的內、外參數,通過分析圖像像素平面與現實空間平面的幾何關係,得出像素點與現實點間的映射關係。實驗結果表明 , 文中提出的算法定位精度高 , 實時性好 , 為解決計算機視覺的測量、定位與AGV 視覺導引提供一種新的思路,具有進一步研究的價值。

1 攝像機模型及存在的問題1.1 攝像機模型本文採用理想的針孔攝像機模型[6],忽略實際攝像機中的畸變問題。針孔成像模型又稱為線性攝像機模型,空間中任何一點在圖像中的成像位置可以用針孔成像模型近似表示,即任何一點在圖像中的投影位置p 為光心O 與P 點的連線OP 與圖像平面的交點。分別以其次坐標m=[u,v ,1]T,W=[X,Y,Z ,1]T 來表示像素點p 及空間點P ,根據針孔攝像機成像模型,投影方程為

式中:αx=f/ dX 為u 軸上的尺度因子,或稱為u 軸上的歸一化焦距;αy=f/ dY 為v 軸上的尺度因子,或稱為v 軸上的歸一化焦距;M 為3×3 矩陣,稱為投影矩陣;M1 由αx、αy、u 0、v 0 決定,由於αx、αy、u 0、v 0 只與攝像機內部參數有關,稱這些參數為攝像機內部參數;R、t 分別表示攝像機坐標系與世界坐標系之間旋轉矩陣和平移向量,M2 稱為攝像機外部參數。確定某一攝像機的內外參數,稱為攝像機標定。

1.2 存在的問題在單目視覺方法測量物體位姿時,如果物體上的某些特徵在物體坐標系下的坐標已知,要求出這些特徵在攝像機坐標系下的三維坐標,進而求出攝像機坐標與物體坐標系之間的相對位姿關係。 在這個問題中,一般需要求得攝像機內外參數進行投影計算。如果攝像機固定,攝像機外參數一般固定不變,而攝像機內參數只與攝像機硬體有關,定焦攝像頭的內參數固定不變。如果已知攝像機內外參數,就已知投影矩陣,這時對任意空間點,如已知它的坐標,就可以求出它的圖像點的位置。反過來,如果已知某空間點的圖像點的位置, 即使已知攝像機的內外參數,也不能唯一確定。這是因為,已知圖像點時,由針孔成像模型,任何位於射線上的空間點的圖像點都是點。因此,該空間點是不能唯一確定的。為解決這一問題,單目視覺在特定環境內設置一個人工圖標,圖標的尺寸以及在世界坐標系中的方向、位置等參數都是已知的;而雙目視覺通過不同視角拍攝兩幅或多幅圖像,增加約束條件[7]。本文提出一種新的單目視覺投影定位算法,在該算法中,現實平面中的二維空間點先投影到一個虛擬參考平面上,如圖1 所示,該參考平面與攝像機光軸垂直且與成像平面平行,然後虛擬參考平面上的點通過鏡頭平行透視寫入成像平面,並形成圖像像素點。在第二步平行透視中,參考平面與成像平面只是簡單的縮放關係,保留了透視成像中丟失了的平行屬性與位置屬性。這樣,所述問題就轉化為虛擬參考平面與現實平面之間的映射求解問題。

圖1 攝像機、參考平面、現實平面示意圖

2 圖像像素平面與現實平面的映射關係首先約定攝像機、參考平面、現實平面的坐標系,如圖2~ 圖4 所示。

圖2 像素坐標系

圖3 參考平面坐標系

圖4 現實平面坐標系

2.1 像素平面到參考平面由於攝像機垂直於參考平面 , 所以像素平面到參考平面是等比例縮放的,它們之間只相差一個比例係數。由於參考平面AD 邊與現實平面AD 邊重合,可以通過實際測量得到AD 邊的實際長度。 參考平面與像素平面等比例縮放,由圖像像素長寬比可求得AB' 長度。若W=|AD |,L =|AB' |,圖像像素解析度為m×n ,可得對應像素平面上一點p (u ,v ) 的參考平面坐標為P (Xc ,Yc ),有

2.2 參考平面到現實平面虛擬參考平面與現實平面在模型中是簡單的平面投影關係,只要求解出平面投影的單應性矩陣,就能得到它們之間的映射關係。平面投影定理[8]:對於一個平面投影,一定存在一個非奇異3×3 矩陣H,使得對任何P 2 上的齊次點x ,有h (x )=Hx 。

或簡記為x' =Hx 。其中H 稱為單應性矩陣,這個投影變換有8 個自由度。將參考平面坐標(Xc,Yc),現實平面坐標(Xw,Yw)用齊次坐標表示為(Xc,Yc,1),(Xw,Yw,1)。則參考平面與現實平面間投影關係為

由於現實空間點在同一平面,設h 33=1, 每一組對應點可得:

由四組對應點就可以得到8 個關於H 的元素的線性方程組

用AH=B 來表示上式,則H=A-1B 。檢測到圖像上特徵點的像素坐標值,通過式(2)、式(4)可得該特徵點在現實平面對應點的坐標,由此可以達到單目視覺定位的目標。

3 AGV 定位實驗與結果分析為了驗證本文算法的精度,設計了AGV 定位實驗。採用MV-U300 工業相機,6~12 mm 變焦鏡頭,拍攝室內地面。為了驗證該算法的精度,在地面上放置一張4×4 的黑白棋盤圖。棋盤長寬200 mm,每小格邊長50mm,如圖5 所示。測得相機視野四個頂點坐標分別為A(-235, 0),B(-575,960),C(575,960),D(235,0);由相機參數計算得到的參考平面的四個角點坐標為A' (-235,0),B' (-235,352.5),C' (235,352.5),D' (235,0); 計算投影變換的單應性矩陣,有

圖5 原始圖像(左)與變換圖像(右)

為檢驗本文算法的定位精度,對所採集圖像進行Hough 變換檢測直線,從而獲取圖中所示棋盤圖黑白色塊的9 個交點像素坐標( 自左至右、從上往下排),通過本文算法求得對應的參考平面交點,再通過單應性矩陣求得對應點的現實平面坐標。具體實驗數據見表1。通過現實平面的實際坐標計算黑白色塊的邊長,與真實值50 mm 比較,可以發現橫排誤差在±3% 以內,豎排誤差在±5% 以內;豎排誤差比橫排誤差大,主要是因為圖像豎向放大係數相對變化較大。結果表明,該方法測量精度較高,可以滿足一般的定位系統要求。

4 結論本文提出的算法結合單目視覺導引AGV 小車,省去了傳統視覺定位方法中的攝像機標定環節,採用平面投影的思路解決單目視覺定位,簡化了視覺導引AGV小車導引模塊的硬體配置與定位計算。該算法針對通用攝像機模型針孔相機模型,利用平面投影原理,對平坦路面實現了單目視覺定位。實驗結果表明,該方法簡單可行,對室內AGV 和室外平坦路面AGV 的路徑導航與視覺避障都有一定的實用價值,為解決機器視覺的定位、測量問題提供了一種新思路。

相關焦點

  • 基於單目圖像的深度估計算法,大幅度提升基於單目圖像深度估計的精度
    基於單目圖像的深度估計算法,大幅度提升基於單目圖像深度估計的精度 李倩 發表於 2018-06-04 15:46:49 基於視覺的自動駕駛系統需要基於單目攝像頭獲取的圖像
  • 一文解析基於特徵點的視覺全局定位技術
    由於主流基於視覺定位算法的核心思想一脈相承,所以本文僅從一系列重要算法框架組件角度,介紹了目前實踐中最常用的、基於特徵點的全局定位算法,即在地圖坐標系下進行定位。本文省略了其中涉及到的優化、幾何約束公式推導,旨在給同學們一個定位算法的宏觀介紹,具體細節可以參考相關文獻和書籍。
  • 無人機視覺slam給你答案
    所有視覺SLAM系統都在不斷的工作,以使重新投影誤差(Reprojection Error)或投影點與實際點之間的差異最小化,通常是通過一種稱為Bundle Adjustment(BA)的算法解決方案。視覺SLAM系統需要實時操作,這涉及到大量的運算,因此位置數據和映射數據經常分別進行Bundle Adjustment,但同時進行,便於在最終合併之前加快處理速度。
  • 1mm重複定位精度的agv是怎麼實現的
    雷射導航agvAgv在上下料時,需要和工位對接,這時候一般對agv的重複定位精度有較高的要求。傳統磁條導航agv依靠檢測rfid(或位置標記磁條)的位置進行停車,來達到要求的重複定位精度,該重複定位精度一般在10~20mm範圍內。但是有些特殊的場合,要求重複定位精度小於10mm時,這時候傳統的方法就達不到要求了。筆者提出了「一種基於二維碼和雷射傳感器閉環控制的方法」,成功在麥克納姆輪agv上面實現1mm的重複定位精度。
  • 基於雙目視覺的自動駕駛技術
    最著名的局部法就是SGM(semi-global matching),很多產品在用的方法都是基於此的改進,不少視覺晶片都採用這種算法。 Census Transform是將8/24比特的像素變成一個2進位序列,另外一個2值特徵叫LBP(local binary pattern)和它相似。
  • agv小車設計的內部結構圖解,agv小車工作原理_定位方法_特點及引導...
    視覺引導   視覺引導是在所經路徑上斷續地設有若干引導標誌或反射板(也可是玻璃球),小車據此自動識別和判斷路徑(主要有基於光敏器件的定位方法,渦流傳感器的定位方法、光電傳感器的定位方法,傳感器組合定位方法等。   基於光敏器件的定位方法   這種定位方法的原理是光電效應。由光敏電晶體光照特性可知,其光電流輸出與照度之間有較好的線性度。隨著AGV與目標位置的不斷靠近,其照度不斷增大,光敏器件的輸出隨之增大,由此可以控制AGV的定位。
  • 高精度三維空間測量、定位與追蹤(下)
    在前文:高精度三維空間測量、定位與追蹤(上)中,我們介紹了三維空間測量、定位和追蹤的應用場景及常見方案,本文將繼續上文,重點介紹單目方案的空間定位。三、單目三維空間測量與定位要解決的問題1、 求解原理和過程如前文所述,單目三維空間測量與定位,是依據PnP原理來求解的。
  • 重慶大學研發定位與建圖技術,可讓機器人視覺更智能
    SLAM 的全稱是 Simultaneous Localization And Mapping,即同時定位與建圖。通俗來說,該技術希望搭載特定傳感器的機器人在未知的環境中,通過不斷的運動提取環境中的特徵如牆角、柱子等來估計自身的位置,並同時根據傳感器觀測到的數據建立環境的地圖,從而達到同時定位和地圖構建的目的。
  • 基於計算機視覺的汽車四輪定位技術研究
    而目前國內外汽車檢測行業中,最新型四輪定位產品是基於計算機視覺的圖像式四輪定位儀。這種定位儀完全基於計算機圖像處理技術,只需兩個高性能CCD傳感器攝像頭搭配4個安裝在車輪上的目標盤(如圖1所示),不需傳統的電子傳感器,消除了電路可能造成的故障。與傳統四輪定位儀相比,大大減少了傳感器數量,不必進行反覆標定,只需一次標定即可重複使用,操作簡單,檢測速度快、精度高。
  • 移動機器人的幾種視覺算法 | 雷鋒網公開課
    它們能和人一樣能夠在特定的環境下自由行走/飛行,都依賴於各自的定位導航、路徑規劃以及避障等功能,而視覺算法則是實現這些功能關鍵技術。雷鋒網雷鋒網(公眾號:雷鋒網)雷鋒網如果對移動機器人視覺算法進行拆解,你就會發現獲取物體深度信息、定位導航以及壁障等都是基於不同的視覺算法,本期硬創公開就帶大家聊一聊幾種不同但又必不可少的視覺算法組成。
  • 一個超乾貨的3D視覺學習社區
    哪一種算法在速度和精度上佔優勢?點雲的特徵提取方式有哪些?有哪些描述子?基於深度學習的點雲分割算法有哪些?精度如何?常用的點雲分類算法有哪些?準確率如何?怎麼測量點雲的體積?如何測量點雲擬合平面的面積?您好,請問有有關3D點雲的缺陷檢測和點雲補全的資料嗎?想問下有沒有三維雷射雷達點雲配準拼接的代碼工程之類的?現在有沒有對於sfm或者slam之後得到的點雲進行補全處理的工作啊?
  • 深度乾貨:詳解基於視覺+慣性傳感器的空間定位方法 | 雷鋒網公開課
    那就是Inside-out空間定位技術,此類方案大都基於計算機視覺技術,包括微軟、Google和Facebook在內的科技巨頭都在進行相關研究。所謂的Inside-out追蹤到底是如何做的呢?它使用了哪些技術,又有什麼難點,本期公開課將為您解答這些疑問。
  • 基於改進的LM算法的可見光定位研究
    結果表明,該模型與廣義朗伯模型具有一致性,且μ值選取正確時算法最少只需17次迭代,而基於此的可見光定位系統在1.48m x 1.51m x 1.65m的實際定位空間中達到了10cm的精度水平。文獻[7]提出了一種基於自適應混合蛙跳算法的可見光定位方法,雖然啟發式算法具有優越的全局搜索能力,但是獲得全局收斂解卻需要大量計算時間,因此並不適用於嵌入式設備。文獻[8]提出了一種基於融合神經網絡與指紋的可見光定位算法,雖然算法在仿真條件下能得到極高的精度,但是由於BPNN神經的輸入數量是固定的,在複雜的定位條件下算法可能無法靈活的運用冗餘光源信息而導致魯棒性不強。
  • 視覺SLAM技術以及其應用詳解
    主流的2D雷射傳感器掃描一個平面內的障礙物,適用於平面運動的機器人(如掃地機等)進行定位,並建立2D的柵格地圖。這種地圖在機器人導航中很實用,因為多數機器人還不能在空中飛行或走上臺階,仍限於地面。在SLAM研究史上,早期SLAM研究幾乎全使用雷射傳感器進行建圖,且多數使用濾波器方法,例如卡爾曼濾波器與粒子濾波器等。
  • 大牛講堂|SLAM最終話:視覺裡程計
    Simultaneous Localization and Mapping,即時定位與地圖構建技術。無論在室內、野外、空中還是水下,SLAM是機器人進入未知環境遇到的第一個問題。本期將給大家介紹SLAM的視覺裡程計。
  • 基於慣性導航、RFID 及圖像識別的 AGV 融合導航系統
    目前AGV 主要有電磁導引、光學導引、雷射導航、慣性導航、視覺導航和全球定位系統導航等方式[1]。多數AGV 採用雷射導航和磁導航方式,雖然這些導航技術已是成熟技術,但其成本高,難以維護和改造,因此,新的導航方式越來越受到人們的關注。其中,慣性導航技術作為一種不依賴外界輔助的獨立導航方式,在適用範圍和布局上具有得天獨厚的優勢。
  • 基於平面投影的起重機吊裝碰撞檢測方法
    按照其模型尺寸類型將其投影為XY 平面的矩形或圓,且與場景坐標系中繞Z 軸正方向的夾角為α ,在投影生成障礙物時將障礙物按其設定的選擇角度進行旋轉。圖1 為吊裝系統場景的投影平面示意圖,灰色圓環為起重機安全作業半徑區域。
  • 了解Apollo 2.5和3.0裡廣泛使用的單目攝像頭物體檢測模塊
    上周,來自百度美研Apollo感知團隊的資深軟體架構師——陳光,在Apollo開發者社群內為我們帶來關於《基於單目攝像頭的物體檢測》的內容分享。幫助開發者更加了解Apollo 2.5和3.0裡廣泛使用的單目攝像頭物體檢測模塊。
  • 基於視覺傳感的焊縫跟蹤技術簡介
    控制系統為研華公司的工控機, 傳感系統為自行開發的CCD 被動光視覺系統, 以及圖像採集卡。 整個系統如圖1 所示。CCD 攝像機和送絲嘴都固定在焊槍上, 也就是焊槍、鎢極、送絲嘴在圖像平面投影的相對位置是不變的, 同時在試驗前已經將CCD 攝像機的軸心、焊槍軸心以及焊縫調節到了同一個平面上, 如此, 焊槍的軸線在圖像平面上的投影為一條水平線, 為後續的跟蹤提供了便利條件。