3D視覺為機器人增加「眼睛」

2020-11-24 EDN電子設計技術

人類之所以能夠駕馭這個世界,是因為具有三維(3D)感知能力。而這個能力也可以賦予給我們的機器人。但人類感知三維的方式也許並不適用於機器。要引導機器人運用深度傳感視覺,需要考慮三個關鍵方法:立體視覺、結構光和飛行時間(ToF)。

0HHednc

機器人系統已經存在了幾十年,但直到最近它們大多都是盲目工作。只需為機器人配備接觸傳感器、接近傳感器和位置傳感器,它們就可以優雅地進行精心編排的、無休止的重複動作,可以操縱重型材料,執行精密裝配,或焊接複雜的結構。但是,它們工作的成功與否,取決於其環境的精確性、必用材料的精確放置,以及對其運動軌跡的仔細繪製和編程。

0HHednc

然而,這種情況正在發生變化。機器視覺和視覺智能方面的研究、半導體製造的進步,以及圖像傳感器在手機市場上的應用,簡化了視覺系統的開發並降低了其成本,使其成為了一種擴展機器人功能的越來越具成本效益的選擇。藉助視覺(特別是3D視覺)的引導,機器人將變得更能夠與自由世界交互,工作起來更靈活,也更容易適應新的任務。

0HHednc

然而,特定的機器人所需的視覺特性高度取決於應用。例如,對於那些必須通過視覺引導在雜亂的倉庫裡移動的機器人來說,它們需要對動態環境進行遠程感知,但只需要提供適當的精度。固定機器人的需求則可能完全不同,例如有些機器人用來將箱子裡所混合的零件取出,並按相同類型進行堆放,這可能只需要在有限的範圍內提供高精度的視覺。執行精密裝配的機器人則又有另一套需求。因此,要確定採用哪一種3D視覺方法,首先要對機器「觀看」的工作方式有所理解。

0HHednc

立體機器視覺

由於和人類觀看的方式相似,最容易理解的3D方法是立體視覺。這是一種三角測量法,即用相隔一定距離的攝像頭去捕獲兩個(或多個)圖像(或用一個攝像頭在圖像之間移動),然後通過比較來確定攝像頭視場中物體的距離。將攝像頭分離會產生視差,這樣,較近物體相對遠處背景的對齊就會不同——物體越接近攝像頭,視差越大。

0HHednc

圖1給出了一個簡單的示例。圖中的兩個攝像頭沿平行軸指向相同方向,其傳感器對齊並相隔基線距離B,每個攝像頭都會捕獲一個3D空間(X,Y,Z)的點(P)圖像。捕獲的圖像中,該點在其2D圖像平面上的位置將會不同(uL和uR)。幾何上,該位置相當於從P點向攝像頭引一條射線,穿過一個垂直於攝像頭光軸(ZA)、距離等於攝像頭鏡頭焦距(f)的平面所得的交點。

0HHednc

0HHednc

圖1:簡單的立體視覺幾何圖。

0HHednc

如果取每個攝像頭的ZA與該平面相交的點作為每個圖像2D坐標系的原點,那麼計算兩個成像點之間的距離,就可以獲得該點的視差(d)。然後,就可以很容易地計算出該點到圖像平面的距離(深度):

0HHednc

深度 = f * B/d

0HHednc

但是通常現實世界中的系統不是那麼容易對齊的。圖2給出了一種更通用的設置,其中,每個攝像頭都有自己的坐標系,它們以其光軸方向和圖像傳感器像素柵格的旋轉方向來界定。確定圖像點視差要比簡單的距離計算更複雜,這涉及到坐標變換和幾何校正,但三角測量原理是相同的。

0HHednc

0HHednc

圖2:現實世界中的立體視覺幾何圖。

0HHednc

幸運的是,有大量的商用和開源軟體可以處理這些計算。還有一些軟體可使用攝像頭柵格圖像來確定所有必要的坐標變換,這樣開發人員就不需要精確地確定攝像頭方向。因此,計算空間中單個點的深度信息就變成了機器視覺系統中相對簡單的一項運算。

0HHednc

但是,這當中仍然存在許多其他的計算挑戰。其中最重要的一個是讓系統確定不同攝像頭圖像中是哪個點對應於空間中的相同物理點。這個確定過程可能涉及極為複雜的相關過程,需要將來自一幅圖像的一小組像素與構成另一幅圖像的所有組像素進行比較來確定哪些組匹配,然後對構成第一幅圖像的所有小像素組重複該過程。

0HHednc

結構光深度測定

第二種3D視覺方法——結構光——可簡化上面這個相關過程,設計人員應當留意這個優勢。這種方法在三角測量工作中用投光機取代了其中一個攝像頭。投光機生成一個已知的光斑,然後系統將攝像頭圖像與這個已知光斑進行比較。所捕獲圖像中的結構光光斑會因為被測對象上的每個點深度不同而產生失真(圖3)。在這個例子中,可以使用基線和兩條射線之間夾角計算出P點的深度(R):

0HHednc

R = B (sin α)/sin (α + θ)

0HHednc

0HHednc

圖3:結構光系統根據已知光斑產生的反射光失真來計算深度。

0HHednc

目前業界已針對場景的深度信息提取開發出各種各樣的結構光方案(圖4),但其中有許多針對的是物體掃描而不是機器人運動控制。其中一些結構光方案產生圖像序列所使用的光斑包含若干條紋,其寬度從一個圖像到下一個圖像依次減半(二進位編碼)。還有類似採用格雷碼或相移條紋的連續光斑也有使用。要利用單個圖像捕獲深度信息,可以利用連續變化的顏色編碼圖案,或對條紋圖案編制索引,即每個條紋都與其他條紋不同。使用雷射器或微鏡光控制器可以很容易地創建這樣的圖案,而ams、Finisar和TI等公司也都專門針對結構光光源製造器件和控制器。

0HHednc

最近越來越流行的一種結構光方法是以偽隨機圖案來排列編碼形狀或二進位點所組成的柵格。系統使用人眼看不見的紅外(IR)光來投射這種柵格圖案,並且因為柵格是靜止的,所以可以使用簡單的全息光柵來創建圖案。使用這種方法的商用深度傳感攝像頭系統現已上市。(請參見EDN姊妹刊物Electronic Products上發表的《Designer's guide to 3D cameras》一文)。

0HHednc

紅外光的使用在視覺引導機器人應用中具有兩個明顯優勢。首先,它可以使視覺系統與人類一起工作,而不會因結構光投射而為人類帶來的視覺混亂。其次,使用紅外光還可簡化將結構光與環境光分離的工作。

0HHednc

0HHednc

圖4:3D結構光的種類。(來源:OSA,《Structured-light 3D surface imaging: A tutorial》)

0HHednc

飛行時間深度測量

第三種3D視覺方法——飛行時間(ToF)——完全沒有使用三角測量法。ToF 3D成像是直接測量深度,也就是確定光從光源到達環境中的物體然後返回所用的時間。在這方面,ToF類似於雷射雷達(LIDAR)。然而,ToF方法不是用窄雷射束掃描環境來構建深度圖像,而是針對整個視場同時確定距離。半導體技術在不斷進步,如今的傳感器設計已經可以實現每個像素都可以向控制電子邏輯提供自己的信號,進而提取出計時信息。

0HHednc

ToF的一個挑戰在於能夠在有意義的範圍內實現精確計時,從而獲得精確的深度信息。光在空氣中的傳播速度約為1ft/ns(c),因此光脈衝必須使用數GHz時鐘,才能分辨小於1ft的尺寸。類似地,傳感器信號必須以亞納秒精度進行測量。但是,這麼短的脈衝所含光子數量有限,也即傳感器接收到的光子數太少,從而導致信噪比(SNR)不佳。

0HHednc

儘管如此,仍有傳感器使用直接時間測量法。Teledyne e2v的1.3MP BORA CMOS圖像傳感器提供距離選通成像,其全局快門開關可使傳感器僅在很短的一段時間內針對特定深度平面收集光子。通過結合多次光照的結果,該傳感器可以建立更強的信號用於處理。若在整個系統範圍內掃描快門計時,該系統就可以在其深度範圍內構建完整的深度圖。

0HHednc

然而,更常見的一種方法是檢測發射信號與反射信號之間的相位差來獲取深度信息。圖5給出了這種方法,反映了反射信號與方波發射脈衝(也可以是其他調製波)之間的關係。物距越大,關聯信號越短,並且信號在多個周期內的積分值越低。由於對信號強度進行積分測量起來會比瞬時計時更加精確,因此這種方法的深度測量精度會比簡單計算信號返回時間更高。目前,Infineon、pmd和TI等公司都提供這類ToF傳感器,其中一些更具有可執行所有深度計算的內置電路。

0HHednc

0HHednc

圖5:ToF通過比較反射信號與發射信號的時序來直接測量距離。

0HHednc

不幸的是,這兩種方法均存在深度混疊的問題。ToF方案中,光源的調製頻率(f)決定了最大不模糊距離,為R = c/2f。假如光脈衝速率是100MHz,則傳感器可以清楚分辨的最大範圍是5ft(10ns往返)。如果一個物體在6ft以外,其相關信號與1ft外的物體別無二致。也就是說,6ft遠的物體對脈衝N的反射光線,其到達傳感器的時間與1ft遠的物體對脈衝N+1的反射相同。

0HHednc

降低調製頻率可增大不模糊距離,但也有不利後果。釋放的光子數較少,會使信噪比變差,或需要增加積分時間。這兩種結果都不可取。

0HHednc

有一種解決方案是通過在光源中混合兩種調製頻率,來實現信號的去混疊。然後,傳感器信號處理可以在對信號進行積分之前分離頻率。其總返回信號較高,可提供良好的信噪比;不同的頻率所混疊的距離不同,有助於解決距離模糊問題。該方案的最大模糊距離為光速除以兩個頻率最大公分母的兩倍。

0HHednc

R = c/2*GCD(f1, f2)

0HHednc

根據需求匹配優勢

上述3D視覺方法各有優劣,開發人員應根據其應用需求進行評估和選擇;了解各種3D視覺技術的含義對於選擇正確的方法也至關重要。例如,立體視覺系統可以使用傳統的攝像頭,並且無需使用集成式光源,所以這種方法成本低廉並且更容易集成到設計中。但是立體視覺系統的深度精度取決於其在多幅圖像中找到對應點所需的計算性能,而且物體距離越遠,深度解析度越差。立體視覺系統在應對光滑表面和重複圖案上也存在問題,這兩者都使找到對應點的任務變得更複雜。

0HHednc

另一方面,結構光方法也使用傳統攝像頭,但只需要一個。其不需要有很強的計算性能,因此有助於降低成本。但其需要使用集成式光源,其強度會影響工作距離。在環境光可控或被濾除的情況下,其效果最佳,例如在封閉空間中。

0HHednc

ToF系統的計算強度最低,由於攝像頭通常直接向系統主機提供深度信息,因此大大降低了計算需求。然而,與結構光一樣,系統需要使用集成式光源,其功率會影響系統的距離,環境光不受控也會導致問題。此外,光源的調製頻率也會影響距離。

0HHednc

無論哪種方法最適合您的應用,為機器人配備視覺引導正變得越來越容易。現貨攝像頭系統和視覺軟體(商用和開源)也使事情變得更簡單。此外,為下一代智慧型手機提供3D視覺功能的研發,有望進一步降低3D視覺的成本和複雜性。0HHednc

本文為《電子技術設計》2019年5月刊雜誌文章。0HHednc

0HHednc

相關焦點

  • 3D雙目立體視覺在機器人視覺的應用
    慧眼自動化科技(廣州)有限公司具有專業的機器視覺系統研發技術,為此開發了一套3D雙目視覺軟體系統,該系統搭載兩個工業相機,精確的計算出後底板的六個空間坐標XYZWPR,並將坐標發送給機器人,成功為客戶解決了這一難題。
  • 3D成像+人工智慧!機器人也能有具備立體視覺的真正「眼睛」!
    (央視財經《創業英雄匯》)人可以輕鬆地靠視覺來判斷物體的位置、形狀,可是機器不行。如果給機器裝上「眼睛」,那它的工作將更順暢、更智能。究竟是什麼樣的神器,能給機器人當「眼睛」?創業者周翔帶來的「高精度3D相機」將給我們答案。
  • 視覺怪圈:眼睛也會騙人?
    視覺怪圈:眼睛也會騙人?這是一種背景錯覺當我們以黑色為背景就可以看到花瓶以白色為背景就看到兩個相對的人頭這表明大腦在接收到視覺信號時會對此作出相應的抉擇正面or側面?
  • 掃地機器人「眼睛」進化史
    假如掃地機器人有眼耳五官,又如果我們要為掃地機器人的五官各自著書立傳,「眼睛」的進化史絕對是其中最精彩的一部。近年來,隨著主流導航技術從LDS雷射雷達發展到vSLAM視覺導航,掃地機器人已經從「聽聲辨位」進化到「目之所及」,正當大家還在想未來掃地機器人會有一雙怎樣的「眼睛」時,2020年,各大廠商新一輪掃地機器人的產品發布,3D傳感器、dToF技術的應用,讓這雙「眼睛」繼續進化。這讓人類更加好奇,掃地機器人眼中看到的會是怎樣一個世界?
  • 移動機器人的幾種視覺算法 | 雷鋒網公開課
    視覺算法的基礎:傳感器Q:智慧型手機上的攝像頭可以作為機器人的眼睛嗎?所有視覺算法的基礎說到底來自於機器人腦袋上的視覺傳感器,就好比人的眼睛和夜間視力非常好的動物相比,表現出來的感知能力是完全不同的。同樣的,一個眼睛的動物對世界的感知能力也要差於兩個眼睛的動物。每個人手中的智慧型手機攝像頭其實就可以作為機器人的眼睛,當下非常流行的Pokeman Go遊戲就使用了計算機視覺技術來達成AR的效果。
  • 視覺怪圈:眼睛也會騙人?_湃客_澎湃新聞-The Paper
    視覺怪圈:眼睛也會騙人?這是一種背景錯覺當我們以黑色為背景就可以看到花瓶以白色為背景就看到兩個相對的人頭這表明大腦在接收到視覺信號時會對此作出相應的抉擇正面or側面?
  • 工業機器人堆垛視覺系統詳解
    學習就必須依靠自身的器官,除腦以外,最重要的就是我們的眼睛了,(工業)機器人也不例外,要完成正常的生產任務,沒有一套完善的,先進的視覺系統是很難完成指定工作的。本文以工業機器人手部視覺系統為例,詳細講解了視覺系統實現的原理。
  • 創科視覺:開創國內3D機器視覺新高度
    在3C電子行業,機器視覺的應用越來越普遍,無論是零部件的檢測還是整機產品的檢測,機器視覺都起到了重要作用。而作為自動化設備的「眼睛」,機器視覺對企業進行智能化轉型升級也尤為重要。而作為國內最早投身視覺軟體開發的企業之一,創科在機器視覺領域可謂積累深厚。
  • 工業機器人對機器視覺技術的依賴有多大
    作為工業機器人的「大腦中樞神經」,人工智慧在過去的幾年裡一直處於持續的高速發展階段,很多工業機器人也已經具備了相當高的智能化特點,但是還遠遠達不到人類所設想的智能化程度,羅馬非一日所能建成,機器人也不可能一下子就變得非常智能化。
  • HALCON高級篇:機器人視覺
    機器人視覺支持的配置HALCON的手眼標定支持不同的配置,例如多種類的機器人,傳感器,和運作方式,傳感器是增加的。下面,我們將簡單討論一下這些配置。圖1:不同種類的機器人:(a)多關節機器人(b)SCARA機器人多關機機器人可用來撿工件,無論其方向如何,然後嵌入了一個程序包,可能需要特定的接近角度。因此,它們可以被用於非常複雜的方式。與之相反的是,SCARA機器人的動作被嚴格限制,它們不能使工具傾斜,但是它們提供更快和更精確的執行。
  • 科沃斯發布了兩款掃地機,一款長著眼睛,有視覺識別系統!
    在日前舉辦的AWE 2019以「AI 上智慧生活」為主題的會展示,科沃斯就為消費者帶來了最新的兩款掃地機器人DG70和DEEBOT T5,雖然只是一款掃地機器人,但由於迎合主題,它們都還跟人工智慧有關。
  • 3D視覺「走勢圖」
    但同移動機器人一樣,現階段的3D視覺廠家也不得不面對海量的非標場景,在產品和方案雙重壓力中艱難向上。 例如國內3D視覺的核心相機大部分為外購,包括IDS、康耐視、基恩士、佳能、ISRA、巴斯勒等,再往上到相機的核心部件光機部分,國內只有安華光電、迅達光機、熵智科技(只出售整套相機產品)在做。
  • 3d常見知識科普二:3d眼鏡的類型
    說的3d眼鏡,細心的朋友可能發現,有的眼鏡很薄,有的眼鏡很厚重,需要充電。這是為什麼呢?與什麼有關呢?其實3d眼鏡的類型,和播放設備有關。首先,3d眼鏡主要分為三兩種:1,快門式快門式需要充電,工作原理是左右眼同一時間只有其中一隻眼可以看到,另一隻眼被擋住,通過快速的交替產生視覺延遲,產生3d的效果。
  • 機器人分揀的地理知識_視覺分揀機器人 - CSDN
    今天,MATLAB就為你帶來宇宙最強機器人補習班,手把手教你如何建造屬於自己的機器人! 許多人認為 MATLAB 是數學或教育軟體。事實上,MATLAB 最初被廣泛採用是在控制工程領域,隨後開發了多種技術領先的算法包和工具箱,並被全球各大高校廣泛採納為數學教育軟體 [1]。即將進入機器人補習班的你,準備好了嗎?
  • 深入了解機器人視覺系統的工作原理和應用
    人類要實現一系列基本活動,如生活、工作、學習必須依靠自己的器官,除了大腦外,最重要的是我們的眼睛,(工業)機器人也不例外,要完成正常的生產任務,沒有一套完美的、先進的視覺系統是很難想像的。機器視覺系統是用機器代替人眼進行各種測量和判斷。它是計算部分的一個重要分支。
  • 炬佑智能CEO劉洋20頁PPT深入講解TOF 3D超感知視覺及在機器人上的...
    導讀:本文為上海炬佑智能科技公司CEO劉洋在智東西主辦的「移動機器人3D視覺論壇」的演講內容。劉洋老師的演講主題為《TOF 3D超感知視覺》。在本次演講中,劉洋老師對TOF 3D技術和應用展開簡單介紹,之後對TOF模組進行詳細解讀。
  • 優必選研究院副院長程駿:機器視覺在服務機器人中的應用 | 直播預告
    服務機器人是機器人家族中的一個年輕成員,到目前為止尚沒有一個嚴格的定義,不同國家對服務機器人的認識不同。國際機器人聯合會經過幾年的搜集整理,給了服務機器人一個初步的定義:服務機器人是一種半自主或全自主工作的機器人,它能完成有益於人類健康的服務工作。服務機器人被廣泛應用於醫院、家庭、工地、辦公室和體育娛樂場館等領域,直接與人類共處,為人類排憂解難。
  • 當無人機有了人一樣的眼睛會怎樣?無人機視覺slam給你答案
    對於人類來說眼睛是獲取外界信息的主要來源。通過眼睛我們不僅可以看到五彩繽紛的世界,還可以讓我們對事物產生聯繫判斷,規避自然界中相關障礙物。也正是通過眼睛接受到的信息傳遞給大腦,讓我們在這個世界上來去自如。其實對於機器來說也是同理,有了眼睛就能規避很多障礙,穿行於特定空間。
  • 機器人的雙眸:視覺SLAM是如何實現的?
    RGB-D相機的視覺SLAM技術。原標題為:《機器人的雙眸:視覺SLAM導論》。如果你要跑實際機器人,還要會ROS。當然,困難多意味著收穫也多,坎坷的道路才能鍛鍊人(比如說走著走著才發現Linux和C++才是我的真愛之類的。)鑑於目前網上關於視覺SLAM的資料極少,我於是想把自己這三年的經驗與大家分享一下。說的不對的地方請大家批評指正。這篇文章關注視覺SLAM,專指用攝像機,Kinect等深度像機來做導航和探索,且主要關心室內部分。
  • 工業視覺系統CCD,機器人發力的關鍵技術點~
    簡單來說,ccd視覺檢測系統就是用工業相機代替人眼睛去完成識別、測量、定位、判斷等功能。視覺檢測是指通過機器視覺產品將被攝取目標轉換成圖像信號,傳送給專用的圖像處理系統,根據像素分布和亮度、顏色等信息,轉變成數位化信號。