Global Sources
電子工程專輯
 
電子工程專輯 > 光電/顯示技術
 
 
光電/顯示技術  

智慧視覺賦予機器人系統空間感

上網時間: 2014年08月04日     打印版  Bookmark and Share  字型大小:  

關鍵字:機器視覺  機器人  IPU  GPU  浮點單元運算 

作者:Brian Dipert,嵌入式視覺聯盟

   Yves Legrand,飛思卡爾半導體

   Bruce Tannenbaum,MathWorks公司

為了讓機器人能更有效地與周圍的事物進行互動,以及靈活地移動,機器人必須能夠看到並辨別周圍的環境。經濟高效且功能強大的視覺處理器(透過深度辨識影像感測器進行資料傳輸,並利用極具強韌性的軟體演算法),可望使人們企盼已久的自動機器人成為現實。

正如長久以來在科幻小說和產品運送文件中所描繪的一樣,機器人可望協助將人類從呆板、單調和難以忍受的工作環境中解放出來,並利用其高速與高精密度的特點來提升工作效率。無論是可完成吸塵、地毯清洗,甚至排水溝清潔工作的第一代自主消費機器人系統,還是各種生產環境下的機器人應用均不斷地成長中。

為消費者量身打造的自動化產品和工業製造系統,都是可經由視覺處理而增強功能的機器人系統。
圖1:為消費者量身打造的自動化產品(a)和工業製造系統(b),都是可經由視覺處理而增強功能的機器人系統。

然而,第一代消費型機器人採用相對粗糙的機制來定位並感知其周圍環境。這些基本技術包括由紅外線發射器組成的人造壁壘,它能與內建於機器人中的紅外線感測器協調,防止機器人從樓梯滾下或遊盪到另一個房間。當自主機器人撞到了不可移動的物體時,震動感測器可通知機器人不再繼續前進。更先進的繪圖功能設計甚至讓機器人不必再次回到的特定位置。與人類的工作方式相較,機器人不必考慮體力因素、更加敏捷且準確,但機器人成功的前提是讓來料元件可預測到達的固定方向與位置,因此增加了製造流程的複雜性。來料元件的位置與方向出現任何偏離都將導致裝配的失敗。

人類用眼睛(以及感覺)和大腦對周圍的世界進行辨識和定位。理論上,採用攝影機元件、視覺處理器和各種軟體演算法的機器人系統也應該可以做到。但縱觀歷史,這樣的影像分析技術通常只有在複雜且昂貴的系統中才能找到。但數位IC在成本、性能和功耗方面的進步,為視覺功能使用於多樣化和高容量的應用而鋪路,其中包括機器人實現的功能越來越多。雖然機器人在一些功能方面仍然面臨著諸多挑戰,但與以往相較,今天已經更加輕鬆、快速、經濟高效地解決這些問題了。

軟體技術

開發出可根據視覺適應其環境的機器人系統需要採用電腦視覺演算法,該演算法可將一個或多個影像感測器中的資料轉換成該環境的可執行資訊。機器人的兩個常見任務分別是辨識外部目標與方向,並決定機器人的位置與方向。許多機器人可與一個或多個特定目標進行互動。對於情境自動調整的機器人而言,必須能夠檢測到在未知地點和方向的目標,而且還要瞭解到這些目標很可能會移動。

攝影機每秒產生上百萬畫素的資料,因而形成了一個肩負著沈重處理負擔的有效負載。解決該問題的一種常見方法是檢測這些多畫素的特徵,如視訊資料每一格的角、點、邊或線。

完整處理2D或3D機器人視覺感測器的原始輸出涉及四個主要階段
圖2:完整處理2D或3D機器人視覺感測器的原始輸出涉及四個主要階段,每個階段都有其獨特性並受處理要求的制約。

這種畫素到特徵的轉換可使在視覺處理通道上特殊階段的資料處理需求降低一千倍或更多;上百萬的畫素降低成了上百個特徵,機器人就可以高效地對目標進行辨識,並確定其空間特徵。

視覺處理器可整合多種核心,滿足每個處理階段的需求

視覺處理器可整合多種核心,滿足每個處理階段的需求

視覺處理器可整合多種類型的處理器核心,滿足每個處理階段的獨特需求
圖3:共同特徵檢測演算法包括最大穩定極值區域(MSER)方法(a)、加速穩健特徵(SURF)演算法(b),以及偵測角落用的Shi-Tomasi技巧。
(來源:MIT)

目標檢測首先包括採用機器學習或其他演算法與多個特徵的結合。然後,透過利用這些特徵的資料庫(該資料庫根據特定目標在不同角度和方向的大量採集影像產生),使用者可以採用分類器演算法執行並訓練機器人正確地辨識每個新目標。最有名的目標檢測演算法之一是Viola-Jones架構,它採用類Haar的特徵和大量Adaboost分類器。該演算法非常擅長於辨識臉部,也可經過訓練來辨識其他常見目標。而基於機器學習演算法的一大缺點是:他們需要大量的訓練資料集,才能準確地檢測目標。

透過特徵來確定目標方位需要一種像RANSAC (隨機抽樣與均測)的演算法。這種基於統計的演算法採用一組特徵來模擬一個潛在的目標方向,然後確定有多少其他特徵適合該模型。具有最大數量匹配特徵的模型對應於被正確辨識的目標方向。為了檢測移動目標,使用者可以將特徵辨識與追蹤演算法相結合。一旦一組特徵正確地辨識了一個目標,KLT(Kanade-Lucas-Tomasi)或卡爾曼濾波等演算法將在視訊訊框之間追蹤這些特徵的運動軌跡。無論方向和阻塞如何改變,這些技術都是非常可靠的,因為他們僅需要追蹤一組最初特徵即可。

上面所述演算法可能對於固定式機器人來說已經足夠了。但對於移動機器人來說,還需要採用其他演算法才能使機器人在其環境中安全地移動。SLAM(同步定位繪圖)是一種可使機器人製作環境地圖並追蹤其目前位置的演算法。這種演算法需要繪製3D環境地圖。由於有許多深度感應感測器選項;因此常見的方法是採用一對被配置成‘立體’攝影機的2D攝影機,其作用類似於人類視覺系統。

立體攝影機依靠對極幾何,採用一對2D影像的投射為每個場景內的每個點提供3D位置。根據前面2D觀點所提到的,特徵適用於檢測3D場景中的有效位置。例如,與平整的牆面相較,機器人更容易檢測到桌角的位置。在特定的位置和方向,機器人可以檢測特徵,透過比較內部地圖以確定其位置並改進地圖品質。考慮到目標經常移動,因此靜態地圖對於試圖適應其環境的機器人來說用處不大。

處理器的選擇

為了有效地打造出機器人視覺,我們將所需的處理步驟分為若干階段。特別是我們前面所討論的演算法,其處理步驟可分為4個階段,根據處理要求,每個階段都具有獨特的特徵與限制。市場中充斥著各種類型的視覺處理器,而且不同類型的視覺處理器(根據其性能、功耗、成本、功能靈活性和其他因素)可能適合不同的演算法處理階段。實際上,視覺處理器晶片可能整合多個不同類型的處理器核心,因而滿足多個處理階段的獨特需求。

視覺處理器可整合多種類型的核心,以滿足每個處理階段的獨特需求
圖4:視覺處理器晶片可整合多個不同類型的處理器核心,滿足多個處理階段的獨特需求

第一個處理階段包含可處理各種感測器資料功能的多種演算法,例如:調整大小、色彩空間轉換、影像旋轉和翻轉、去隔行、色彩調整和色域映射、伽瑪校正,以及對比度增強。

在此階段,每一訊框內的每個畫素都會進行處理,因此每秒的工作量都是巨大的。在立體影像處理時,兩個影像平面必須同時進行處理。針對這些作業的其中一個處理選項為專用硬體時脈,有時又被稱為IPU(影像處理單元)。最近推出的視覺處理器(包含IPU)可在穩定的畫面播放速率下同時處理兩個影像,每個影像的解析度都高達2,048x1,536畫素(300多萬畫素)。

第二個處理階段將進行特徵檢測,在這一階段(如前面所討論的),角、邊和其他顯著繪圖區域將會被擷取。這個處理階段仍在每個畫素的基礎上進行,因此非常適合那些高度平行的架構,但這一階段可處理更加複雜的數學函數,如一階和二階導數。DSP、FPGA、GPU、IPU和APU(陣列處理器單元)都是常用處理選項。DSP和FPGA具有高度的靈活性,因此非常適用於那些不成熟和發展中的應用(和實施這些應用的演算法)。與其他方法相較,該靈活性雖然帶來了更高的性能,但也導致更多的功耗和成本。

在靈活性/專用性比最高的選擇是專用IPU或APU,他們特別適用於視覺處理任務。它每秒可處理數十億的作業,但由於經過應用最佳化,它並不適合更廣泛的功能。靈活性/專用性較為折衷的是GPU,GPU過去常常出現在電腦中,而現在也嵌入到應用在智慧型手機、平板電腦和其他大量應用的應用處理器中。

浮點單元運算(如光流演算法中的最小二乘匹配功能)、SURF(用於快速顯著點檢測的快速強韌特徵演算法)中的描述字元運算和點雲處理都非常適用於高度平行的GPU架構。這種演算法可執行在SIMD(單指令多資料)向量處理引擎(如ARM的NEON或功率架構CPU中的AltiVec功能模組)上。無論如何,包括OpenCL(開放電腦語言)和OpenCV(開放原始程式碼電腦視覺庫)在內的架構和資料庫,都可簡化並加速軟體開發,還可能包括在多個核心上對一個任務的各部份進行分配的能力。

在第三個影像處理階段,系統將根據特徵圖對目標進行分類。與之前階段基於畫素的處理方法相較,這些目標檢測演算法以高度非線性的結構和方式進行資料存取。然而,仍需採用強大的處理‘機制’透過豐富的分類資料庫來評估多種不同的特性。這種需求非常適合單核心和多核心傳統處理器,如基於ARM和Power架構的RISC設備。這種選擇標準也同樣適用於第四個圖形處理階段,該階段將透過多訊框追蹤檢測目標、建置該環境的模組,並根據各種環境來評估是否應該實施動作。鑒於視覺處理的資料密集型屬性,當評估處理器時,用戶不僅應評估核心數量和每核心速度,還應評估每個處理器的資料處理能力,如外部記憶體匯流排頻寬。

產業聯盟的協助

由於市場上出現了性能日漸強大的處理器、影像感測器、記憶體和其他半導體元件,加上極具強韌性的演算法,將電腦視覺功能整合在廣泛的嵌入式系統中變得切實可行。在這裡,‘嵌入式系統’指的是基於微處理器的所有系統,而不是一台通用電腦。因此,嵌入式視覺是指在嵌入式系統、行動設備、專用電腦和雲端中加入電腦視覺技術。

嵌入式視覺技術擁有支援大量電子產品的潛力(如機器人系統),它比以前更智慧、更靈敏,因而對用戶更有價值。它可以為現有產品添加有用的功能,為硬體、軟體和半導體製造商們開啟具有重大意義的新市場。例如嵌入式視覺聯盟(Embedded Vision Alliance)是一個由技術開發人員和供應商組成的全球性組織,旨在使工程師能夠將這種潛力轉化為現實。

(參考原文:Visual Intelligence Gives Robotic Systems Spatial Sense,by Brian Dipert, Yves Legrand, Bruce Tannenbaum)





投票數:   加入我的最愛
我來評論 - 智慧視覺賦予機器人系統空間感
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首