軟硬結合的智能視覺讓機器人行動更靈敏
上面所述算法可能對于固定式機器人來說足夠了。但對于移動機器人來說,還需要采用其他算法才能使機器人在其環(huán)境中安全地移動。SLAM(同步定位繪圖)是一種可使機器人創(chuàng)建環(huán)境地圖并跟蹤其當前位置的算法。這種算法需要繪制三維環(huán)境地圖。由于有許多深度感應傳感器選件;因此常見的方法是采用一對被配置成“立體”攝像頭的2D攝像頭,其作用類似于人類視覺系統(tǒng)。
立體攝像頭依靠對極幾何,采用一對2D圖像的投射為每個場景內的每個點提供3D位置。根據(jù)前面2D觀點所提到的,特征可用于檢測3D場景中的有效位置。例如,與平整的墻面相比,機器人更容易檢測到桌角的位置。在給定的位置和方向,機器人可以檢測特征,通過比較其內部地圖以確定其位置并改進地圖質量??紤]到目標經(jīng)常會移動,因此靜態(tài)地圖對于試圖適應其環(huán)境的機器人來說,用處不大。
處理器的選擇
為了有效地打造出機器人視覺,我們將所需的處理步驟分為若干階段。特別是我們前面所討論的算法,其處理步驟可分為4個階段,根據(jù)處理要求,每個階段都具有獨特的特征與限制(參考1)。市場中充斥著各種類型的視覺處理器,并且不同類型的視覺處理器(根據(jù)其性能、功耗、成本、功能靈活性和其他因素)可能適合不同的算法處理階段。實際上,視覺處理器芯片可能集成了多個不同類型的處理器內核,從而滿足多個處理階段的獨特需求(圖4)。
圖4:視覺處理器芯片可能集成了多個不同類型的處理器內核,從而滿足多個處理階段的獨特需求
●調整大小
●色彩空間轉換
●圖像旋轉和翻轉
●去隔行
●色彩調整和色域映射
●伽瑪校正,
●對比度增強
在此階段,每一幀內的每個像素都會進行處理,因此每秒的工作量都是巨大的。在立體圖像處理時,兩個圖像平面必須同時進行處理。面向這些操作的其中一個處理選項為專用硬件時鐘,有時又被稱為IPU(圖像處理單元)。最近推出的視覺處理器(包含IPU)可在穩(wěn)定的幀速率下同時處理兩個圖像,每個圖像的分辨率都高達2048x1536像素(300多萬像素)。
第二個處理階段將進行特征檢測,在這一階段(如前面所討論的),角、邊和其他顯著圖形區(qū)域將會被提取。這個處理階段仍在每個像素的基礎上進行,因此非常適合那些高度并行的架構,但這一階段可處理更加復雜的數(shù)學函數(shù),如一階和二階導數(shù)。DSP、FPGA、GPU、IPU和APU(陣列處理器單元)都是常用處理選項。DSP和FPGA具有高度的靈活性,因此非常適用于那些不成熟和正在發(fā)展的應用(和實施這些應用的算法)。與其他方法相比,該靈活性雖然帶來了更高的性能,但也帶來更多的功耗和成本。
在靈活性/專用性比最高的選擇是專用IPU或APU,他們特別適用于視覺處理任務。它每秒可處理數(shù)十億的操作,但由于經(jīng)過應用優(yōu)化,它并不適合更廣泛的功能。靈活性/專用性較為折衷的是GPU,GPU過去常常出現(xiàn)在電腦中,而現(xiàn)在也嵌入到應用在智能手機、平板電腦和其他大批量應用的應用處理器中。
浮點單元計算(如光流算法中的最小二乘功能)、SURF(用于快速顯著點檢測的快速魯棒特征算法)中的描述符計算和點云處理都非常適用于高度并行的GPU架構。這種算法可運行在SIMD(單指令多數(shù)據(jù))矢量處理引擎(如ARM的NEON或功率架構CPU中的AltiVec功能模塊)上。無論如何,包括OpenCL(開放計算機語言)和OpenCV(開源代碼計算機視覺庫)在內的架構和庫,都可簡化并加快軟件開發(fā),還可能包括在多個內核上對一個任務的各個部分進行分配的能力。
在第三個圖像處理階段,系統(tǒng)將根據(jù)特征圖對目標進行分類。與之前階段基于像素的處理方法相比,這些目標檢測算法以高度非線性的結構和方式進行數(shù)據(jù)訪問。然而,仍需采用強大的處理“機制”通過豐富的分類數(shù)據(jù)庫來評估多種不同的特性。這種需求非常適合單核和多核傳統(tǒng)處理器,如基于ARM和Power架構的RISC設備。這種選擇標準也同樣適用于第四個圖形處理階段,該階段將通過多幀跟蹤檢測目標、實施該環(huán)境的模塊,并根據(jù)各種環(huán)境來評估是否應該實施動作。鑒于視覺處理的數(shù)據(jù)密集型屬性,當評估處理器時,用戶不僅應評估內核數(shù)量和每核速度,還應評估每個處理器的數(shù)據(jù)處理能力,如外部存儲器總線帶寬。
行業(yè)聯(lián)盟援助
由于市場上出現(xiàn)了性能日漸強大的處理器、圖像傳感器、存儲器和其他半導體器件,加上極具魯棒性的算法,將計算機視覺功能整合到廣泛的嵌入式系統(tǒng)中變得切實可行。在這里,“嵌入式系統(tǒng)”指的是基于微處理器的所有系統(tǒng),而不是一臺通用計算機。因此,嵌入式視覺是指在嵌入式系統(tǒng)、移動設備、專用電腦和云中加入計算機視覺技術。
嵌入式視覺技術有潛力支持大量電子產(chǎn)品(如本文討論的機器人系統(tǒng)),比以前更智能、更靈敏,因而對用戶更有價值。它可以向現(xiàn)有產(chǎn)品添加有用的功能。它可以為硬件、軟件和半導體的制造商們開創(chuàng)有重大意義的新市場。嵌入式視覺聯(lián)盟(Embedded Vision Alliance)是一個由技術開發(fā)人員和提供商組成的全球性組織,旨在使工程師能夠將這種潛力轉化為現(xiàn)實。(end)
評論