飛行時間相機在工業(yè)應(yīng)用中越來越受歡迎,特別是在機器人技術(shù)中,這歸功于它們具有非凡的深度計算和紅外成像能力。盡管有這些優(yōu)點,光學(xué)系統(tǒng)固有的復(fù)雜性往往限制了視野,限制了獨立的功能。本文討論了一種為支持主機處理器設(shè)計的三維圖像拼接算法,消除了云計算的需要。該算法無縫地結(jié)合了來自多臺自由度相機的紅外和深度數(shù)據(jù),產(chǎn)生了一個連續(xù)的、高質(zhì)量的3D圖像,并將視野擴展到獨立單位之外。拼接的3D數(shù)據(jù)能夠應(yīng)用最先進的深度學(xué)習(xí)網(wǎng)絡(luò)--在移動機器人應(yīng)用中特別有價值--來徹底改變與3D環(huán)境的可視化和互動。
導(dǎo)言
飛行時間照相機是一種特殊的距離成像系統(tǒng),利用T自由度技術(shù)來確定相機與圖像中的每個點之間的距離。這是通過測量激光或LED發(fā)射的人造光信號的雙程時間來實現(xiàn)的。高自由度相機提供精確的深度信息,使其成為精確的距離測量和三維可視化至關(guān)重要的應(yīng)用工具,例如機器人和工業(yè)技術(shù)應(yīng)用,包括碰撞探測和對270度視野(Fov)以上的人類探測的安全性。
ADTF3175 TF傳感器可以實現(xiàn)75度Fov的校準。然而,當一個應(yīng)用程序的Fov超過該區(qū)域,需要多個傳感器時,就會出現(xiàn)挑戰(zhàn)。綜合來自單個傳感器的數(shù)據(jù),為整個視圖提供全面的分析可能會造成困難。一個潛在的解決方案是讓傳感器在部分Fov上執(zhí)行算法,并將輸出傳輸?shù)街鳈C以進行排序。然而,這種方法面臨重疊區(qū)、死區(qū)和通信延遲等問題,使其成為一個需要有效解決的復(fù)雜問題。
另一種方法是將所有傳感器捕獲的數(shù)據(jù)拼接成一張圖像,然后將檢測算法應(yīng)用到被拼接的圖像上。這個過程可以卸載到一個單獨的主機處理器,從計算負載中釋放傳感器單元,并為高級分析和其他處理選項提供空間。然而,重要的是要注意到傳統(tǒng)的圖像拼接算法本質(zhì)上是復(fù)雜的,可以消耗主機處理器相當一部分的計算能力。此外,由于隱私原因,在許多應(yīng)用程序中,發(fā)送和縫合云是不可能的。
模擬設(shè)備的算法解決方案可以使用深度數(shù)據(jù)的點云投影,從不同的傳感器上縫合深度和紅外圖像。這包括利用攝像機的外部位置轉(zhuǎn)換捕獲的數(shù)據(jù),并將其投射到二維空間,從而產(chǎn)生單一的連續(xù)圖像。
這種方法產(chǎn)生了最小的計算,這有助于在邊緣實現(xiàn)實時操作速度,并確保主機處理器的計算能力仍然可以用于其他高級分析。
一種解決方案的描述
ADI的3dT自由度解決方案分四個階段運行(見圖1):
1. 預(yù)處理紅外線和深度數(shù)據(jù):紅外線和深度的時間同步和預(yù)處理
2. 3d點云項目深度數(shù)據(jù):利用相機固有參數(shù)將深度數(shù)據(jù)投射到3d點云
3. 轉(zhuǎn)換和合并點:使用相機的外部位置和合并重疊變換點
4. 項目點云為2d圖像:采用圓柱投影將點云投射為2d圖像。
圖1一種深度縫合算法。
系統(tǒng)和算法挑戰(zhàn)和解決方案
主機接收深度和紅外線框架
主機通過USB等高速連接連接到多個T自由度傳感器。它收集深度和紅外框架,并將它們存儲在一個隊列中。
同步深度和紅外數(shù)據(jù)
主機接收到的每一個傳感器的深度和紅外線框架都是在不同的時間段捕捉到的。為了避免由于物體的移動而造成的時間不匹配,所有傳感器的輸入需要同步到同一時間的實例。使用時間同步模塊,根據(jù)隊列中的時間戳來匹配傳入框架。
點播云
點云是使用同步深度數(shù)據(jù)為每個傳感器在主機上生成的。然后根據(jù)實際世界中的攝像頭位置(見圖2),對每個點云進行轉(zhuǎn)換(翻譯和旋轉(zhuǎn))。然后,將這些變換的點云合并成一個單獨的連續(xù)點云,覆蓋合并的傳感器Fov(見圖3)。
圖2外部攝像頭。
圖3合并的點云。
三維至二維投影
使用圓柱投影算法(又稱前視圖投影)將Fov的結(jié)合點云投射到一個二維畫布上(見圖4)。換句話說,該算法將合并點云的每個點投射到二維平面上的一個像素上,從而產(chǎn)生一個覆蓋所有傳感器合并視野的單一連續(xù)全景圖像。這就產(chǎn)生了兩個二維拼接圖像:一個用于拼接紅外,另一個用于拼接深度圖像投射到二維平面。
圖4圓柱投影算法。
提高預(yù)測質(zhì)量
將3d組合點云投射到二維圖像上仍然不能提供高質(zhì)量的圖像。圖像有扭曲和噪音。這將影響視覺質(zhì)量,也將不利影響任何運行在投影上的算法。以下各節(jié)記錄了三個關(guān)鍵問題(見圖5)和修正。
圖5二維投影問題。
投射無效深度區(qū)域
Adtf3175的深度數(shù)據(jù)對于超出傳感器工作范圍(8000毫米)的點,其無效深度值為0毫米。這就導(dǎo)致了在深度圖像上出現(xiàn)大的空間區(qū)域,形成不完整的點云.一個8000mm的深度值(相機支持的最大深度)被分配給深度圖像上的所有無效點,并由此生成一個點云。這確保了點云中沒有缺口。
填充未映射像素
在將三維點云投射到二維平面時,在二維圖像中有未映射/未填充的區(qū)域。許多點云(3D)像素被映射到同一個二維像素,因此幾個二維像素仍然空白。這將導(dǎo)致圖6所示的拉伸模式。為了解決這個問題,我們使用了一個3x3濾波器來填充未映射的像素,使其具有有效值的鄰近8像素的平均紅外/深度值。這導(dǎo)致了更完整的輸出圖像形成和工件被刪除(見圖6)。
圖6填充未映射的像素。
重疊點產(chǎn)生噪音
由于采用圓柱投影算法,重疊區(qū)域上的許多點在二維投影輸出上得到相同的靜息坐標。當背景像素重疊前景像素時,會產(chǎn)生噪聲。為了解決這個問題,將每個點的徑向距離與現(xiàn)有的點進行比較,并且只有在離攝像頭的距離小于現(xiàn)有的點時才替換該點。TED僅保留前景點并提高投影質(zhì)量。
結(jié)論
該算法可以根據(jù)傳統(tǒng)的關(guān)鍵點匹配算法的需要,從不同的相機上對重疊小于5°的圖像進行縫合,而重疊的最小值為20°。這種方法需要很少的計算,使它成為一個理想的候選邊緣系統(tǒng)。深度數(shù)據(jù)的完整性是保留后縫合,因為沒有圖像扭曲。該解決方案進一步支持模塊化實現(xiàn)Adtf3175傳感器,以獲得所需的Fov最小損耗。
Fov擴展并不局限于水平維度,同樣的技術(shù)也可以用于垂直擴展視圖以獲得真正的球形視覺。解決方案在手臂上運行 ® V8,6核心邊緣CPU在10FPS為4個傳感器提供275度Fov。當只使用兩個傳感器時,框架速率會上升到30FPS。