登山第二十三梯:有序點云平面快速分割——35Hz幀速前進

文章目錄

一 摘要

二 資源

三 內容


一 摘要

????????3D 點云中的實時平面提取對于許多機器人應用至關重要。作者提出了一種新穎的算法,用于在從 Kinect 傳感器等設備獲得的有組織的點云中實時可靠地檢測多個平面。通過在圖像空間中將這樣的點云均勻地劃分為不重疊的點組,我們首先構建了一個圖,其節點和邊分別代表一組點及其鄰域。然后,在此圖上執行凝聚分層聚類,以系統地合并屬于同一平面的節點,直到平面擬合均方誤差超過閾值。最后,使用像素級區域增長來優化提取的平面。實驗表明,所提出的算法可以可靠地以超過 35Hz 的幀速檢測場景中的所有主要平面,對于 640×480 個點云,比最先進的算法要快得多。

二 資源

文章: Fast plane extraction in organized point clouds using agglomerative hierarchical clustering

代碼:GitHub - qq625924821/peac: [ICRA2014] Fast Plane Extraction Using Agglomerative Hierarchical Clustering (AHC)

日期:2014年

三 內容

1)摘要

????????3D 點云中的實時平面提取對于許多機器人應用至關重要。作者提出了一種新穎的算法,用于在從 Kinect 傳感器等設備獲得的有組織的點云中實時可靠地檢測多個平面。通過在圖像空間中將這樣的點云均勻地劃分為不重疊的點組,我們首先構建了一個圖,其節點和邊分別代表一組點及其鄰域。然后,在此圖上執行凝聚分層聚類,以系統地合并屬于同一平面的節點,直到平面擬合均方誤差超過閾值。最后,使用像素級區域增長來優化提取的平面。實驗表明,所提出的算法可以可靠地以超過 35Hz 的幀速檢測場景中的所有主要平面,對于 640×480 個點云,比最先進的算法要快得多。

2)創新點

①提出了一種基于組織點云的凝聚聚類的高效平面提取算法。

②分析了聚類算法的復雜性,并表明它在初始節點的數量上是對數線性的。

③展示了實時性能,其準確性可與最先進的算法相媲美。

3)算法結構

3.1快速平面粗提取

????????快速平面提取算法包括三個主要步驟,如上圖所示:該算法首先初始化一個圖形,然后執行 AHC 以提取粗平面,最后進行細化。如果應用程序只需要對平面區域進行粗略分割,例如,檢測點云中的對象,則可以跳過最后的優化步驟,這可能會將 640 × 480 個點的幀速率增加到 50Hz 以上。

????????首先,我們澄清我們的符號。F 表示由 M 行和 N 列組成的有序點云的完整幀。B、C 分別表示粗細分割,即 B/C 的每個元素 Bk/Cl 都是一個段——一組 3D 點 pi,j 。同時 Π、Π0 分別是對應于 B、C 的平面方程組。另請注意,圖 G 的每個節點 v 都是一組 3D 點,每個無向邊 uv 表示圖像空間中線段 u、v 的鄰域。

A 圖初始化

????????我們的算法需要非重疊節點初始化,如算法 2 的第 3 行到第 5 行所示。此步驟在圖像空間中將點云均勻劃分為一組大小為 H × W 的初始節點。這個要求導致我們的算法失去了自動檢測平面邊界的優勢。為了在此限制下使用 AHC 正確分割平面,我們從圖中刪除以下類型的節點和相應的邊緣,如下圖中的示例所示:

????????1)具有高 MSE 的節點:非平面區域會導致高平面擬合 MSE,我們只需將其刪除即可。

????????2)包含缺失數據的節點:由于傳感器的限制,可能無法正確感知場景的某些區域,從而導致數據丟失(例如,百葉窗后面的玻璃窗)。

????????3)包含深度不連續性的節點:這些節點包含兩組點,它們位于兩個表面上,這兩個表面在 3D 中并不接近,但在圖像空間中很接近(通常一個表面部分遮擋了另一個表面,例如,顯示器遮擋了后面的墻壁)。如果在屬于該節點的點上執行主成分分析 (PCA) 以進行平面擬合,則擬合平面將幾乎平行于視線方向,因此仍然具有較小的 MSE。將此“異常值”節點與其相鄰節點合并將對平面擬合結果產生不良影響,因為在最小二乘法中存在眾所周知的過度加權異常值的問題。

????????4)兩個平面之間邊界處的節點:這些節點包含兩組在 3D 中彼此靠近但位于兩個不同平面上的點(例如,房間的角落),如果它們合并到其中一個平面,將降低平面擬合精度。

算法 2 中的函數 REJECTNODE 和 REJECTEDGE 旨在減少這四種不良初始節點的影響。REJECTNODE 函數從圖形中刪除前三種類型的壞節點(以及其中的點),而 REJECTEDGE 函數用于減輕第四種壞節點的影響。有趣的是,這種不重疊的 “劣勢 ”的好處是避免了每點的正常估計。我們的初始化步驟可以看作是將節點內的所有點視為具有公共平面法線。與其他最先進的方法相比,這是我們速度提高的一個重要原因,這些方法通常花費大量時間對每個點進行正常估計。

B Agglomerative Hierarchical Clustering

????????如算法 3 所示,我們算法中的 AHC 與線回歸中的 AHC 幾乎相同,只是它是在圖而不是雙鏈表上做的。我們首先構建一個最小堆數據結構,以有效地找到具有最小平面擬合 MSE 的節點。然后,我們重復查找一個節點 v,該節點當前在圖中的所有節點中具有最小平面擬合 MSE,并將其與它的一個相鄰節點 u_best 合并,從而產生最小合并 MSE(回想一下,圖中的每個節點都是一組點;因此合并的 MSE 是兩組 umerge 的并集的平面擬合 MSE)。如果此最小合并 MSE 超過某個預定義的閾值 TMSE(不一定是固定參數),則找到一個平面段 v 并從圖中提取;否則,合并后的節點 umerge 將通過 v 和 ubest 之間的邊收縮添加回圖中。

3.2平面分割結果細化

????????對于許多應用程序,在上一節中獲得的粗平面分割可能還不夠,特別是如果應用程序使用平面的邊界或需要更高精度的估計平面方程。因此,我們對粗略分割 B 執行細化。

????????粗略分割中預計會出現三種類型的偽影,如上圖所示:

????????? 鋸齒波:通常位于兩個連接平面之間的邊界處。

????????? 未使用的數據點:通常位于遮擋或缺失數據節點的邊界處。

????????? Over-Segmentation:通常在兩個對象的遮擋邊界之間

????????鋸齒偽影會導致估計中包含少量異常值,而未使用的數據點和過度分段會導致使用的異常值較少。所有偽影都會產生不準確的平面邊界,并略微降低估計平面方程的精度。

????????我們對它們的解決方案在算法 4 中進行了描述。由于鋸齒偽影幾乎總是在 B 的邊界區域觀察到,因此每個段邊界區域的侵蝕可以有效地消除它們(第 5 行至第 13 行)。然后,從所有新的邊界點開始像素級區域增長,將所有未使用的數據點分配給之前提取的最近平面(第 14 行到第 27 行)。在區域增長期間,將為每個段 Bk 發現 4 個連接的鄰域,從而形成一個新的圖形 G0 。最后,在這個非常小的圖形(通常少于 30 個節點)上再次應用 AHC 可以修復過度分割偽影(第 28 行)。

4)實驗

A 仿真數據

????????在模擬深度圖上測試了算法的魯棒性,該深度圖具有 20 個不同級別的均勻分布噪聲,幅度為 E = 10l、l = 0、. . . 、20(噪聲單位:mm;真實深度范圍為 1396mm 至 3704mm)。將噪聲添加到深度圖后,我們將其轉換為有組織的點云并輸入到我們的算法中 (W = H = 20,TMSE = 502 )。如下圖所示,我們的算法可以可靠地檢測 l = 0, . . . , 14 的所有 4 個平面,并在此之后開始過度分割。然而,即使 E = 200 毫米,我們的算法也能夠檢測到場景中的主要平面。

B Kinect采集實際數據

????????為了測量算法的處理速度,在室內場景中收集了 2102 幀 640 × 480 像素的真實 Kinect 數據,部分如上圖所示。然后使用 12 種不同的初始節點大小(TNUM = 800,α = 0.02,e= 8mm,TANG 從 z = 500mm 的 15? 線性增加到 z = 4000mm 的 90?)。如下圖所示,初始節點大小為 10 × 10,即使經過細化,我們的算法平均只需 27.3 ± 6.9 毫秒即可處理一幀 640×480 像素的 Kinect 數據,實現了超過 35Hz 的幀速率。據我們所知,這比其他最先進的算法要快得多。

C 分割數據集

????????使用 SegComp 數據集評估了算法的準確性。對平面場景的 ABW (W = H = 4,TMSE = 1,TANG = 60? ,TNUM = 160, α = 0.1) 和感知器 (W = H = 8,TMSE = 2.1,TANG = 45? ,TNUM = 240, α = 0.03) 數據集進行了實驗。ABW 和 PERCEPTRON 測試數據集的典型分割結果如上圖所示。使用 SegComp 提供的評估工具的詳細基準測試結果如下表所示。可以看出,該算法在分割精度和平面方向估計方面的性能與最先進的算法相當,特別是考慮到幀速率要高得多

5)結論

????????作者提出了一種新穎的有點云快速平面提取算法,在 640 × 480 個點云上實現了超過 35Hz 的幀速率,同時提供了準確的分割。將來,希望將該算法擴展到無組織的點云以及球體和圓柱體等其他基元的快速提取

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/81748.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/81748.shtml
英文地址,請注明出處:http://en.pswp.cn/web/81748.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【北京盈達科技】GEO優化:引領AI時代內容霸權,重塑行業生態

盈達科技GEO優化:引領AI時代內容霸權,重塑行業生態 在人工智能飛速發展的今天,生成式AI已經深刻改變了人們獲取信息的方式。從ChatGPT到文心一言,再到各種智能問答系統,AI生成的內容正在成為信息傳播的新主流。然而&a…

安卓端智能耗材柜系統可行性方案(基于uniapp + Vue3)

一、系統架構設計 1. 技術棧: 前端框架:uniapp Vue3 TypeScript狀態管理:Pinia(分層設計,模塊化Store)硬件交互:Android原生插件(Java/Kotlin封裝)通信協議&#xff…

Java交互協議詳解:深入探索通信機制

解析Java中各類交互協議的設計原理與實戰應用,涵蓋TCP/UDP自定義協議、HTTP/RESTful、WebSocket、RPC等主流方案。 一、交互協議核心概念 交互協議是系統間通信的規則集合,包含: 消息格式:數據序列化方式(JSON/XML/P…

k8s上運行的mysql、mariadb數據庫的備份記錄

文章目錄 前言一、獲取需要備份的數據庫的信息二、備份步驟1.準備工作2.手動備份3.定時任務自動備份 總結 前言 記錄一下在k8s運行的數據庫的備份步驟。 我的思路是新建一個數據庫的容器作為工具容器,通過工具容器執行mysqldump命令進行備份,最后通過定…

寶塔面板部署python web項目詳細教程

最近在學langchain,寫了一個小案例出來,我剛好有一臺服務器,就嘗試自己部署一下項目,結果很幸運一遍過,現在記錄一下。我的系統是OpenCloudOS 9 目錄 1.安裝python解釋器版本 2.上傳項目文件到寶塔面板 3.添加項目…

IT選型指南:電信行業需要怎樣的服務器?

從第一條電報發出的 那一刻起 電信技術便踏上了飛速發展的征程 百余年間 將世界編織成一個緊密相連的整體 而在今年 我們迎來了第25屆世界電信日 同時也是國際電聯成立的第160周年 本屆世界電信日的主題為:“彌合性別數字鴻溝,為所有人創造機遇”,但在新興技術浪潮洶涌…

OAuth協議中的Token、Ticket

OAuth協議中的核心概念(如Token、Ticket等)可以通過日常生活中的類比來形象理解: 1. 門票(Ticket) vs 令牌(Token)類比 概念現實類比OAuth中的表現Ticket電影院紙質票🎫短期有效的臨…

80x86CPU入棧與出棧操作

一、棧操作:入棧push,出棧pop 棧操作:FILO(先進后出機制) 棧頂的指針:ss:sp決定,任意時刻棧頂指針指向SS:SP的位置 對于8086CPU 入棧時:sp-2 出棧時:sp2 assume cs…

最優控制:從變分法到龐特里亞金原理

典型問題 根據系統的建模可以劃分為: 線性系統: x ˙ A x B u \mathbf{\dot{x}} \boldsymbol{A}\mathbf{x}\boldsymbol{B}\mathbf{u} x˙AxBu非線性系統 x ˙ ( t ) f ( x ( t ) , u ( t ) , t ) \dot{\mathbf{x}}(t) \mathbf{f}(\mathbf{x}(t)…

DeepSeek 提示詞大全

目錄 前言一、提示詞基礎理論 什么是提示詞提示詞的類型提示詞的基本結構 二、提示詞設計原則 明確指令結構化表達情境化需求漸進式引導邊界與限制 三、場景化提示詞模板 寫作創作類角色扮演類信息提取類代碼編程類教育學習類商業營銷類生活助手類 四、提示詞優化技巧 迭代式優…

安科瑞Acrelcloud-6200系統:智慧路燈安全用電監控平臺架構解析

安科瑞顧強———Acrelgq 智慧路燈作為智慧城市與新基建的核心載體,集成了大量異元異構電子設備,其供電安全與能效管理面臨電壓多樣、權屬分散、擴展性不足等挑戰。本文提出一種融合統一供電、分路計量、智能防護與遠程監控的解決方案,通過構…

DMBOK對比知識點對比(1)

1.CDGP各章活動 章節一級

css設置動態數值:clamp函數

CSS 的 clamp() 函數是一個強大的工具,用于創建響應式且范圍可控的動態值。它結合了min() 和max() 的邏輯,允許你定義一個值在最小值和最大值之間動態調整。 語法為: clamp(最小值, 首選值, 最大值); 工作原理: 當 …

數值計算與數據相關參數剖析:保障模型訓練穩定與準確

一、計算類型:以BF16為例 1.1 核心作用 BF16 是一種計算方式,它能讓模型訓練更快,還省內存。比如訓練模型時,用普通方式可能很慢,占內存也多,而 BF16 就像給模型開了 “加速鍵”,訓練起來更高…

數據庫讀寫分離解決方案

數據庫讀寫分離解決方案 一、讀寫分離核心概念 讀寫分離(Read/Write Splitting)是通過將數據庫的讀操作和寫操作分離到不同的數據庫節點來提升系統整體性能的架構模式。 核心原則:寫操作集中在主庫(Master),讀操作分散到從庫(Slave),通過數據復制保持主從一致性 二、技術實…

小白的進階之路系列之七----人工智能從初步到精通pytorch自動微分優化以及載入和保存模型

本文將介紹Pytorch的以下內容 自動微分函數 優化 模型保存和載入 好了,我們首先介紹一下關于微分的內容。 在訓練神經網絡時,最常用的算法是反向傳播算法。在該算法中,根據損失函數相對于給定參數的梯度來調整參數(模型權重)。 為了計算這些梯度,PyTorch有一個內置…

【圖像處理基石】立體匹配的經典算法有哪些?

1. 立體匹配的經典算法有哪些? 立體匹配是計算機視覺中從雙目圖像中獲取深度信息的關鍵技術,其經典算法按技術路線可分為以下幾類,每類包含若干代表性方法: 1.1 基于區域的匹配算法(Local Methods) 通過…

《Map 到底適合用哪個?HashMap、TreeMap、LinkedHashMap 對比實戰》

大家好呀!今天我們來聊聊Java中超級重要的Map集合家族 🎢。Map就像是一個神奇的魔法口袋,可以幫我們把東西(值)和標簽(鍵)一一對應存放起來。不管你是Java新手還是老司機,掌握Map都是…

TencentOSTiny

開放原子開源基金會 騰訊物聯網終端操作系統 _物聯網操作系統_物聯網OS_TencentOS tiny-騰訊云 GitHub - OpenAtomFoundation/TobudOS: 開放原子開源基金會孵化的物聯網操作系統,捐贈前為騰訊物聯網終端操作系統TencentOS Tiny 項目簡介 TencentOS Tiny 是騰訊…

使用 Selenium 進行自動化測試:入門指南

在現代軟件開發中,自動化測試已經成為不可或缺的一部分。它不僅提高了測試效率,還減少了人為錯誤的可能性。Selenium 是一個強大的開源工具,廣泛用于 Web 應用程序的自動化測試。本文將詳細介紹如何使用 Selenium 進行自動化測試,…