3D點云基礎(chǔ)知識(上)

姓名:周可兒 學(xué)號:22021211973 學(xué)院:電子工程學(xué)院

轉(zhuǎn)載自:https://zhuanlan.zhihu.com/p/344635951

【嵌牛導(dǎo)讀】3D點云基礎(chǔ)知識

【嵌牛鼻子】3D圖像描述 點云 深度學(xué)習

【嵌牛提問】點云是什么?點云有什么特點?如何使用點云進行深度學(xué)習?

【嵌牛正文】

3D圖像描述:

第一種分法:

1、第多邊形網(wǎng)格

2、基于體素的描述

3、點云

4、隱式表面

5、基于視圖的描述

第二種分法:

1、深度圖像(depth images)

2、點云

3、網(wǎng)格(meshes)

4、體積網(wǎng)格(volumetric grids)

5、RGB-D

RGB-D 是廣泛使用的 3D 格式,其圖像每個像素都有四個屬性:即紅(R)、綠(G)、藍(B)和深度(D)。

在一般的基于像素的圖像中,我們可以通過(x,y)坐標定位任何像素,分別獲得三種顏色屬性(R,G,B)。而在 RGB-D 圖像中,每個(x,y)坐標將對應(yīng)于四個屬性(深度 D,R,G,B)。

點云

我們在做 3D 視覺的時候,處理的主要是點云,點云就是一些點的集合。相對于圖像,點云有其不可替代的優(yōu)勢——深度,也就是說三維點云直接提供了三維空間的數(shù)據(jù),而圖像則需要通過透視幾何來反推三維數(shù)據(jù)。

何為點云?

其實點云是某個坐標系下的點的數(shù)據(jù)集。點包含了豐富的信息,包括三維坐標 X,Y,Z、顏色、分類值、強度值、時間等等。點云在組成特點上分為兩種,一種是有序點云,一種是無序點云。

有序點云:一般由深度圖還原的點云,有序點云按照圖方陣一行一行的,從左上角到右下角排列,當然其中有一些無效點因為。有序點云按順序排列,可以很容易的找到它的相鄰點信息。有序點云在某些處理的時候還是很便利的,但是很多情況下是無法獲取有序點云的。

無序點云:無序點云就是其中的點的集合,點排列之間沒有任何順序,點的順序交換后沒有任何影響。是比較普遍的點云形式,有序點云也可看做無序點云來處理。

點云表示的優(yōu)點:

點云表示保留了三維空間中原始的幾何信息,不進行離散化

點云當前面臨的挑戰(zhàn):

數(shù)據(jù)集規(guī)模小

高維性

3維點云的非建構(gòu)化特性

點云的獲?。?/b>

點云不是通過普通的相機拍攝得到的,一般是通過三維成像傳感器獲得,比如雙目相機三維掃描儀、RGB-D 相機等。目前主流的 RGB-D 相機有微軟的 Kinect 系列、Intel 的 realsense 系列、structure sensor(需結(jié)合 iPad 使用)等。點云可通過掃描的 RGB-D 圖像,以及掃描相機的內(nèi)在參數(shù)創(chuàng)建點云,方法是通過相機校準,使用相機內(nèi)在參數(shù)計算真實世界的點(x,y)。因此,RGB-D 圖像是網(wǎng)格對齊的圖像,而點云則是更稀疏的結(jié)構(gòu)。此外,獲得點云的較好方法還包括?LiDAR 激光探測與測量,主要通過星載、機載和地面三種方式獲取。

點云的內(nèi)容:

根據(jù)激光測量原理得到的點云,包括三維坐標(XYZ)和激光反射強度(Intensity),強度信息與目標的表面材質(zhì)、粗糙度、入射角方向以及儀器的發(fā)射能量、激光波長有關(guān)。根據(jù)攝影測量原理得到的點云,包括三維坐標(XYZ)和顏色信息(RGB)。結(jié)合激光測量和攝影測量原理得到點云,包括三維坐標(XYZ)、激光反射強度(Intensity)和顏色信息(RGB)。

點云的屬性:

空間分辨率、點位精度、表面法向量等。

點云可以表達物體的空間輪廓和具體位置,我們能看到街道、房屋的形狀,物體距離攝像機的距離也是可知的;其次,點云本身和視角無關(guān),可以任意旋轉(zhuǎn),從不同角度和方向觀察一個點云,而且不同的點云只要在同一個坐標系下就可以直接融合。

點云目前的主要存儲格式包括:pts、LAS、PCD、.xyz 和. pcap 等

pts?點云文件格式是最簡便的點云格式,直接按 XYZ 順序存儲點云數(shù)據(jù), 可以是整型或者浮點型。

LAS?是激光雷達數(shù)據(jù)(LiDAR),存儲格式比 pts 復(fù)雜,旨在提供一種開放的格式標準,允許不同的硬件和軟件提供商輸出可互操作的統(tǒng)一格式。LAS 格式點云截圖,其中 C:class(所屬類),F(xiàn):flight(航線號),T:time(GPS 時間),I:intensity(回波強度),R:return(第幾次回波),N:number of return(回波次數(shù)),A:scan angle(掃描角),RGB:red green blue(RGB 顏色值)。

PCD?存儲格式,現(xiàn)有的文件結(jié)構(gòu)因本身組成的原因不支持由 PCL 庫(后文會進行介紹)引進 n 維點類型機制處理過程中的某些擴展,而 PCD 文件格式能夠很好地補足這一點。PCD 格式具有文件頭,用于描繪點云的整體信息:定義數(shù)字的可讀頭、尺寸、點云的維數(shù)和數(shù)據(jù)類型;一種數(shù)據(jù)段,可以是 ASCII 碼或二進制碼。數(shù)據(jù)本體部分由點的笛卡爾坐標構(gòu)成,文本模式下以空格做分隔符。

PCD 存儲格式是 PCL 庫官方指定格式,典型的為點云量身定制的格式。優(yōu)點是支持 n 維點類型擴展機制,能夠更好地發(fā)揮 PCL 庫的點云處理性能。文件格式有文本和二進制兩種格式。

.xyz?一種文本格式,前面 3 個數(shù)字表示點坐標,后面 3 個數(shù)字是點的法向量,數(shù)字間以空格分隔。

.pcap?是一種通用的數(shù)據(jù)流格式,現(xiàn)在流行的 Velodyne 公司出品的激光雷達默認采集數(shù)據(jù)文件格式。它是一種二進制文件

obj是一種文本文件,通常用以“#”開頭的注釋行作為文件頭,數(shù)據(jù)部分每一行的開頭關(guān)鍵字代表該行數(shù)據(jù)所表示的幾何和模型元素,以空格做數(shù)據(jù)分隔符

相應(yīng)基礎(chǔ)算法庫對不同格式的支持

PCL(Point Cloud Library)庫支持跨平臺存儲,可以在 Windows、Linux、macOS、iOS、Android 上部署??蓱?yīng)用于計算資源有限或者內(nèi)存有限的應(yīng)用場景,是一個大型跨平臺開源 C++ 編程庫,它實現(xiàn)了大量點云相關(guān)的通用算法和高效數(shù)據(jù)結(jié)構(gòu),其基于以下第三方庫:Boost、Eigen、FLANN、VTK、CUDA、OpenNI、Qhull,實現(xiàn)點云相關(guān)的獲取、濾波、分割、配準、檢索、特征提取、識別、追蹤、曲面重建、可視化等操作,非常方便移動端開發(fā)。

VCG?庫(Visulization and Computer Graphics Libary)是專門為處理三角網(wǎng)格而設(shè)計的,該庫很大,且提供了許多先進的處理網(wǎng)格的功能,以及比較少的點云處理功能。

CGAL(Computational Geometry Algorithms Library)計算幾何算法庫,設(shè)計目標是以 C++ 庫的形式,提供方便、高效、可靠的幾何算法,其實現(xiàn)了很多處理點云以及處理網(wǎng)格的算法。

Open3D?是一個可以支持 3D 數(shù)據(jù)處理軟件快速開發(fā)的開源庫。支持快速開發(fā)處理 3D 數(shù)據(jù)的軟件。Open3D 前端在 C++ 和 Python 中公開了一組精心選擇的數(shù)據(jù)結(jié)構(gòu)和算法。后端經(jīng)過高度優(yōu)化,并設(shè)置為并行化。Open3D 是從一開始就開發(fā)出來的,帶有很少的、經(jīng)過仔細考慮的依賴項。它可以在不同的平臺上設(shè)置,并且可以從源代碼進行最小的編譯。代碼干凈,樣式一致,并通過清晰的代碼審查機制進行維護。在點云、網(wǎng)格、rgbd 數(shù)據(jù)上都有支持。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容