3D點(diǎn)云基礎(chǔ)知識(shí)(上)

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

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

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

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

【嵌牛提問(wèn)】點(diǎn)云是什么?點(diǎn)云有什么特點(diǎn)?如何使用點(diǎn)云進(jìn)行深度學(xué)習(xí)?

【嵌牛正文】

3D圖像描述:

第一種分法:

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

2、基于體素的描述

3、點(diǎn)云

4、隱式表面

5、基于視圖的描述

第二種分法:

1、深度圖像(depth images)

2、點(diǎn)云

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

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

5、RGB-D

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

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

點(diǎn)云

我們?cè)谧?3D 視覺(jué)的時(shí)候,處理的主要是點(diǎn)云,點(diǎn)云就是一些點(diǎn)的集合。相對(duì)于圖像,點(diǎn)云有其不可替代的優(yōu)勢(shì)——深度,也就是說(shuō)三維點(diǎn)云直接提供了三維空間的數(shù)據(jù),而圖像則需要通過(guò)透視幾何來(lái)反推三維數(shù)據(jù)。

何為點(diǎn)云?

其實(shí)點(diǎn)云是某個(gè)坐標(biāo)系下的點(diǎn)的數(shù)據(jù)集。點(diǎn)包含了豐富的信息,包括三維坐標(biāo) X,Y,Z、顏色、分類(lèi)值、強(qiáng)度值、時(shí)間等等。點(diǎn)云在組成特點(diǎn)上分為兩種,一種是有序點(diǎn)云,一種是無(wú)序點(diǎn)云。

有序點(diǎn)云:一般由深度圖還原的點(diǎn)云,有序點(diǎn)云按照?qǐng)D方陣一行一行的,從左上角到右下角排列,當(dāng)然其中有一些無(wú)效點(diǎn)因?yàn)?。有序點(diǎn)云按順序排列,可以很容易的找到它的相鄰點(diǎn)信息。有序點(diǎn)云在某些處理的時(shí)候還是很便利的,但是很多情況下是無(wú)法獲取有序點(diǎn)云的。

無(wú)序點(diǎn)云:無(wú)序點(diǎn)云就是其中的點(diǎn)的集合,點(diǎn)排列之間沒(méi)有任何順序,點(diǎn)的順序交換后沒(méi)有任何影響。是比較普遍的點(diǎn)云形式,有序點(diǎn)云也可看做無(wú)序點(diǎn)云來(lái)處理。

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

點(diǎn)云表示保留了三維空間中原始的幾何信息,不進(jìn)行離散化

點(diǎn)云當(dāng)前面臨的挑戰(zhàn):

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

高維性

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

點(diǎn)云的獲取:

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

點(diǎn)云的內(nèi)容:

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

點(diǎn)云的屬性:

空間分辨率、點(diǎn)位精度、表面法向量等。

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

點(diǎn)云目前的主要存儲(chǔ)格式包括:pts、LAS、PCD、.xyz 和. pcap 等

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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