通信約束下機(jī)器人視覺任務(wù)中的點(diǎn)云剔除
一、引言
許多機(jī)器人使用視覺感知來解釋周圍環(huán)境。經(jīng)濟(jì)實惠的 RGB-D 傳感器的開發(fā)引起了機(jī)器人界的興趣,尤其是在 3D 點(diǎn)云處理領(lǐng)域。RGB-D 傳感器能夠同時捕獲彩色和深度圖像。該傳感器以高幀速率運(yùn)行,可以產(chǎn)生超過 10 MB/s 的數(shù)據(jù),從而可以解決機(jī)器人網(wǎng)絡(luò)中的潛在瓶頸問題。
機(jī)器人視覺任務(wù),例如檢測、分割和分類對象,本質(zhì)上是數(shù)據(jù)和處理密集型的。小型機(jī)器人平臺通常沒有執(zhí)行這些任務(wù)的機(jī)載資源。然而,通過使用遠(yuǎn)程計算基礎(chǔ)設(shè)施,可以卸載數(shù)據(jù)和計算,從而擴(kuò)展獨(dú)立機(jī)器人的能力。
云計算是一種模型,它支持對共享的可配置計算資源池(例如網(wǎng)絡(luò)、服務(wù)器、存儲、應(yīng)用程序和服務(wù))進(jìn)行無處不在、方便的按需網(wǎng)絡(luò)訪問,這些資源可以通過最少的管理工作快速配置和發(fā)布服務(wù)提供商 [1]。最近,機(jī)器人領(lǐng)域開始利用云計算資源。云機(jī)器人利用云計算和大數(shù)據(jù)的進(jìn)步,并具有開發(fā)新一代機(jī)器人應(yīng)用程序的潛力。
在這項工作中,我們提出了兩種算法,允許智能節(jié)流客戶端(機(jī)器人)和服務(wù)器(云)之間的 RGB-D 數(shù)據(jù),用于對象分類和跟蹤??蛻舳死命c(diǎn)云幀中的冗余信息來減少傳輸?shù)臄?shù)據(jù)量。服務(wù)器分析接收到的數(shù)據(jù),并通過采用自適應(yīng)閾值設(shè)置來調(diào)整客戶端的傳輸速率??蛻舳撕头?wù)器共同維護(hù)網(wǎng)絡(luò)的可用性,同時執(zhí)行手頭的視覺任務(wù)。
來源:微信公眾號「3D視覺工坊」?
二、客戶端點(diǎn)云剔除
1、場景熵
離散隨機(jī)變量?的香農(nóng)熵定義為:

其中?,在云基礎(chǔ)架構(gòu)中,由于有限的帶寬和網(wǎng)絡(luò)延遲,會遇到重大困難。在這些通信限制下,我們在傳輸之前選擇性地剔除點(diǎn)云數(shù)據(jù)。這種剔除是通過測量連續(xù)點(diǎn)云幀的場景熵來完成的。
為了定義場景熵,機(jī)器人當(dāng)前視點(diǎn)提供的點(diǎn)云中體素的密度被用作概率分布。因此,場景熵定義為:

其中??是場景中體素的總數(shù),是體素??的密度,??是所有體素的總密度。這里?表示第??個體素相對于機(jī)器人觀察場景??的密度,當(dāng)所有體素具有相同的密度時獲得最大熵。
體素密度用作熵計算的度量,因為它提供了檢測整體信息內(nèi)容變化的直接方法。例如,場景中機(jī)器人和/或物體的移動導(dǎo)致熵的相應(yīng)變化。相反,靜態(tài)場景不會導(dǎo)致熵發(fā)生變化。我們感興趣的是傳輸具有顯著熵差異的連續(xù)幀,同時丟棄具有相似熵值的幀。
2、機(jī)器人熵計算
我們利用機(jī)器人的機(jī)載資源對來自 RGB-D 傳感器的傳入點(diǎn)云幀進(jìn)行過濾。這種過濾包括移除范圍異常值,以及平面模型的估計和提取,以便將場景簡化為被分類的對象。八叉樹結(jié)構(gòu)用于下采樣和存儲每個過濾后的點(diǎn)云幀。令??表示當(dāng)前幀的八叉樹,令??為包含 3D 點(diǎn)數(shù)據(jù)的??的葉(體素),其中 d 是葉的密度。?中所有葉子的密度?是在熵之前計算的。我們遍歷??的葉子并累積幀的總熵(算法 1)。

在算法1 中,for 循環(huán)是通過對熵變量使用歸約子句并行計算的。這導(dǎo)致每片葉子計算的顯著加速。在計算出熵之后,與當(dāng)前設(shè)置的閾值進(jìn)行比較。如果熵值低于閾值,則丟棄該幀。否則,幀的八叉樹被壓縮 [10] 并發(fā)送到遠(yuǎn)程服務(wù)器。在下一節(jié)中,我們將解釋服務(wù)器如何確定熵閾值。
三、服務(wù)器端傳輸節(jié)流
1、對象分類和跟蹤
對于服務(wù)器從客戶端接收到的每個過濾后的點(diǎn)云幀,我們使用尺度不變協(xié)方差描述符來逐幀分類和跟蹤對象。服務(wù)器處理的點(diǎn)云幀為每個點(diǎn)提供九種不同的特征。該特征向量表示為:

特征向量的由特定點(diǎn)的笛卡爾坐標(biāo)?、顏色通道值??和表面法線的坐標(biāo)組成。從每個點(diǎn)的特征向量?,可以計算出一個對象的協(xié)方差?:

其中??是對象中的點(diǎn)數(shù),?是點(diǎn)在對象列表中的索引,?是特征向量的平均值。這些協(xié)方差矩陣表征對象并形成對其執(zhí)行分類的描述符。分類過程在協(xié)方差??和??之間的對數(shù)歐氏距離??上使用具有徑向基函數(shù)?的支持向量機(jī) (SVM) [11]。距離定義為協(xié)方差矩陣對數(shù)之差的 Frobenius 范數(shù):

協(xié)方差描述符也用于逐幀跟蹤對象。在對當(dāng)前幀中的對象簇進(jìn)行分割和提取之后,我們遍歷對象并將它們與前一幀中的相應(yīng)簇進(jìn)行匹配。具體來說,對于當(dāng)前幀中的給定對象?,我們從前一幀中選擇對象?,使得協(xié)方差矩陣之間的距離最小:

與使用其他跟蹤方法相比,使用協(xié)方差描述符進(jìn)行對象跟蹤可以節(jié)省計算量。由于對象的協(xié)方差矩陣已經(jīng)在前一幀中進(jìn)行了分類計算,因此很容易在當(dāng)前幀中調(diào)用它們進(jìn)行匹配。此外,每個對象的協(xié)方差矩陣可以緊湊地存儲在內(nèi)存中,使描述符成為跟蹤對象的理想選擇。
2、 熵閾值設(shè)置
對于識別常見物體的機(jī)器人視覺任務(wù),我們允許服務(wù)器限制客戶端對 RGB-D 數(shù)據(jù)的傳輸。服務(wù)器利用滑動窗口的方法,通過調(diào)整熵閾值來確認(rèn)客戶端接收到的點(diǎn)云幀。當(dāng)前幀中對象的正確分類會導(dǎo)致服務(wù)器增加熵閾值。當(dāng)前幀中對象的錯誤標(biāo)記會導(dǎo)致服務(wù)器降低客戶端的熵閾值。
在算法2中,令?代表服務(wù)器接收到的第??幀 3D點(diǎn)云數(shù)據(jù)。對于每一幀,我們計算提取的對象簇??的協(xié)方差描述符。然后根據(jù)計算的描述符從 SVM 模型中獲得簇??的預(yù)測標(biāo)簽。接下來,簇??與??中的簇匹配,具有最小對數(shù)歐氏距離。最后,如果當(dāng)前幀和前一幀之間存在標(biāo)簽不匹配,則熵閾值減小 ,如果標(biāo)簽匹配且當(dāng)前熵閾值小于最大閾值,則熵閾值增加 。

傳感器噪聲和聚類分割不佳的結(jié)果會導(dǎo)致對象標(biāo)記的錯誤分類。通過降低熵閾值,我們允許客戶端傳輸更多幀,并期望額外的幀會降低整體錯誤分類率。當(dāng)系統(tǒng)處于最佳狀態(tài)時(即當(dāng)前幀中沒有錯誤分類的對象),我們可以通過增加熵閾值來降低客戶端的發(fā)送速率,從而減少機(jī)器人網(wǎng)絡(luò)中的數(shù)據(jù)包流量。
四、實驗結(jié)果
在實驗中,我們使用 Microvision 機(jī)器人對標(biāo)記為 A、B 和 C 的三組對象進(jìn)行了對象分類。組 A 由盒子、咖啡罐和鞋子組成。套裝 B 由咖啡罐、熱水器、紙卷和梭子組成。集合 C 由所有六件物品組成:盒子、咖啡罐、熱水器、紙卷、鞋子和梭子。

在表中,我們展示了執(zhí)行點(diǎn)云剔除的結(jié)果。對于每個對象集,該表顯示了從客戶端傳輸?shù)椒?wù)器的點(diǎn)云幀與捕獲的幀總數(shù)的比率、不傳輸相似幀數(shù)據(jù)所節(jié)省的數(shù)據(jù)量以及分類的準(zhǔn)確性。準(zhǔn)確度的衡量標(biāo)準(zhǔn)是每個對象簇正確分類的幀數(shù)除以捕獲的幀總數(shù)。通過協(xié)同工作,客戶端和服務(wù)器能夠?qū)ο蠹?A 通過網(wǎng)絡(luò)發(fā)送的幀數(shù)減少 45.1%,對象集 B 減少 40.6%。對象集 C,由彼此靠近放置的所有對象組成 由于物體之間有很多遮擋,從機(jī)器人傳輸?shù)椒?wù)器的幀數(shù)減少了 22.6%。通過點(diǎn)云剔除,每組對象的分類性能保持一致(與不執(zhí)行剔除相比),同時減少了傳輸?shù)膸倲?shù)。

總結(jié)與展望
客戶端(機(jī)器人)在連接到云環(huán)境中的服務(wù)器時,可以理想地利用數(shù)據(jù)資源進(jìn)行處理。服務(wù)器的角色也可以用來為客戶端的動作提供指導(dǎo)。分類和跟蹤對象既是數(shù)據(jù)密集型又是計算密集型機(jī)器人視覺任務(wù)。它可以壓倒機(jī)器人的機(jī)載資源并使網(wǎng)絡(luò)緊張。我們提出了一種新穎的框架,可以通過減少從客戶端傳輸?shù)椒?wù)器的點(diǎn)云幀的數(shù)量來自主防止網(wǎng)絡(luò)飽和。
當(dāng)機(jī)器人圍繞一個目標(biāo)集移動時,實驗結(jié)果表明機(jī)器人沒有必要傳輸每個點(diǎn)云幀;分類性能是通過傳輸幀的一個子集來維持的。這項工作展示了使用移動機(jī)器人在云計算環(huán)境中執(zhí)行實時視覺任務(wù)的能力。
未來的工作包括開發(fā)更強(qiáng)大的分割方案。通過改進(jìn)對象簇的分割,我們可以提高分類性能并進(jìn)一步降低 RGB-D 數(shù)據(jù)傳輸速率。對象簇的提取仍然是該領(lǐng)域的一個重要且困難的問題。合并其他信息指標(biāo)(例如互信息)是我們未來工作的一部分。
最后,我們有興趣將云計算的思想應(yīng)用于異構(gòu)機(jī)器人團(tuán)隊中的視覺任務(wù)。在分布式機(jī)器人中心,我們目前正致力于開發(fā)利用云計算基礎(chǔ)設(shè)施的機(jī)器人算法。我們相信云機(jī)器人領(lǐng)域?qū)樾⌒秃偷统杀緳C(jī)器人在越來越多的應(yīng)用中的利用開辟新的途徑。
本文僅做學(xué)術(shù)分享,如有侵權(quán),請聯(lián)系刪文。
3D視覺工坊精品課程官網(wǎng):3dcver.com
1.面向自動駕駛領(lǐng)域的3D點(diǎn)云目標(biāo)檢測全棧學(xué)習(xí)路線!(單模態(tài)+多模態(tài)/數(shù)據(jù)+代碼)
2.徹底搞透視覺三維重建:原理剖析、代碼講解、及優(yōu)化改進(jìn)
3.國內(nèi)首個面向工業(yè)級實戰(zhàn)的點(diǎn)云處理課程
4.激光-視覺-IMU-GPS融合SLAM算法梳理和代碼講解
5.徹底搞懂視覺-慣性SLAM:基于VINS-Fusion正式開課啦
6.徹底搞懂基于LOAM框架的3D激光SLAM: 源碼剖析到算法優(yōu)化
7.徹底剖析室內(nèi)、室外激光SLAM關(guān)鍵算法原理、代碼和實戰(zhàn)(cartographer+LOAM +LIO-SAM)
8.從零搭建一套結(jié)構(gòu)光3D重建系統(tǒng)[理論+源碼+實踐]
9.單目深度估計方法:算法梳理與代碼實現(xiàn)
10.自動駕駛中的深度學(xué)習(xí)模型部署實戰(zhàn)
11.相機(jī)模型與標(biāo)定(單目+雙目+魚眼)
12.重磅!四旋翼飛行器:算法與實戰(zhàn)
13.ROS2從入門到精通:理論與實戰(zhàn)
14.國內(nèi)首個3D缺陷檢測教程:理論、源碼與實戰(zhàn)
15.基于Open3D的點(diǎn)云處理入門與實戰(zhàn)教程
16.透徹理解視覺ORB-SLAM3:理論基礎(chǔ)+代碼解析+算法改進(jìn)
17.不斷更新中......
重磅!粉絲學(xué)習(xí)交流群已成立
交流群主要有3D視覺、CV&深度學(xué)習(xí)、SLAM、三維重建、點(diǎn)云后處理、自動駕駛、多傳感器融合、CV入門、三維測量、VR/AR、3D人臉識別、醫(yī)療影像、缺陷檢測、行人重識別、目標(biāo)跟蹤、視覺產(chǎn)品落地、視覺競賽、車牌識別、硬件選型、ORB-SLAM系列源碼交流、深度估計、TOF、求職交流等方向。
添加小助理微信(dddvisiona),一定要備注:研究方向+學(xué)校/公司+昵稱,例如:”3D視覺 + 上海交大 + 靜靜“。請按照格式備注,可快速通過且邀請進(jìn)群。原創(chuàng)投稿也請聯(lián)系。? ?