熱線電話:0755-23712116
郵箱:contact@shuangyi-tech.com
地址:深圳市寶安區(qū)沙井街道后亭茅洲山工業(yè)園工業(yè)大廈全至科技創(chuàng)新園科創(chuàng)大廈2層2A
1. 3D圖像描述
2. RGB-D
3. 點(diǎn)云
4. 何為點(diǎn)云?
5. 點(diǎn)云的獲取
6. 點(diǎn)云的內(nèi)容
7. 點(diǎn)云的屬性
8. 點(diǎn)云目前的主要存儲格式包括:pts、LAS、PCD、.xyz 和. pcap 等
9. 相應(yīng)基礎(chǔ)算法庫對不同格式的支持
10. 三維點(diǎn)云有多種表示方法
11. 相比于圖像數(shù)據(jù),點(diǎn)云不直接包含空間結(jié)構(gòu),因此點(diǎn)云的深度模型必須解決三個主要問題
12. DataSets
13. Metric
14. 基于點(diǎn)云的分類
15. 基于點(diǎn)云的分割
16. 基于點(diǎn)云的目標(biāo)檢測
17. 點(diǎn)云數(shù)據(jù)的增強(qiáng)和完整化
三維圖像是在二維彩色圖像的基礎(chǔ)上又多了一個維度,即深度(Depth,D),可用一個很直觀的公式表示為:
三維圖像 = 普通的 RGB 三通道彩色圖像 + Depth Map。
· 第一種分法:
o 第多邊形網(wǎng)格
o 基于體素的描述
o 點(diǎn)云
o 隱式表面
o 基于視圖的描述
· 第二種分法:
o 深度圖像(depth images)
o 點(diǎn)云
o 網(wǎng)格(meshes)
o 體積網(wǎng)格(volumetric grids)
RGB-D 是廣泛使用的 3D 格式,其圖像每個像素都有四個屬性:即紅(R)、綠(G)、藍(lán)(B)和深度(D)。
在一般的基于像素的圖像中,我們可以通過(x,y)坐標(biāo)定位任何像素,分別獲得三種顏色屬性(R,G,B)。而在 RGB-D 圖像中,每個(x,y)坐標(biāo)將對應(yīng)于四個屬性(深度 D,R,G,B)。
我們在做 3D 視覺的時候,處理的主要是點(diǎn)云,點(diǎn)云就是一些點(diǎn)的集合。相對于圖像,點(diǎn)云有其不可替代的優(yōu)勢——深度,也就是說三維點(diǎn)云直接提供了三維空間的數(shù)據(jù),而圖像則需要通過透視幾何來反推三維數(shù)據(jù)。
· 其實(shí)點(diǎn)云是某個坐標(biāo)系下的點(diǎn)的數(shù)據(jù)集。點(diǎn)包含了豐富的信息,包括三維坐標(biāo) X,Y,Z、顏色、分類值、強(qiáng)度值、時間等等。點(diǎn)云在組成特點(diǎn)上分為兩種,一種是有序點(diǎn)云,一種是無序點(diǎn)云。
o 有序點(diǎn)云:一般由深度圖還原的點(diǎn)云,有序點(diǎn)云按照圖方陣一行一行的,從左上角到右下角排列,當(dāng)然其中有一些無效點(diǎn)因?yàn)?。有序點(diǎn)云按順序排列,可以很容易的找到它的相鄰點(diǎn)信息。有序點(diǎn)云在某些處理的時候還是很便利的,但是很多情況下是無法獲取有序點(diǎn)云的。
o 無序點(diǎn)云:無序點(diǎn)云就是其中的點(diǎn)的集合,點(diǎn)排列之間沒有任何順序,點(diǎn)的順序交換后沒有任何影響。是比較普遍的點(diǎn)云形式,有序點(diǎn)云也可看做無序點(diǎn)云來處理。
· 點(diǎn)云表示保留了三維空間中原始的幾何信息,不進(jìn)行離散化
· 數(shù)據(jù)集規(guī)模小
· 高維性
· 3維點(diǎn)云的非建構(gòu)化特性
· 點(diǎn)云不是通過普通的相機(jī)拍攝得到的,一般是通過三維成像傳感器獲得,比如雙目相機(jī)、三維掃描儀、RGB-D 相機(jī)等。目前主流的 RGB-D 相機(jī)有微軟的 Kinect 系列、Intel 的 realsense 系列、structure sensor(需結(jié)合 iPad 使用)等。點(diǎn)云可通過掃描的 RGB-D 圖像,以及掃描相機(jī)的內(nèi)在參數(shù)創(chuàng)建點(diǎn)云,方法是通過相機(jī)校準(zhǔn),使用相機(jī)內(nèi)在參數(shù)計(jì)算真實(shí)世界的點(diǎn)(x,y)。因此,RGB-D 圖像是網(wǎng)格對齊的圖像,而點(diǎn)云則是更稀疏的結(jié)構(gòu)。此外,獲得點(diǎn)云的較好方法還包括 LiDAR 激光探測與測量,主要通過星載、機(jī)載和地面三種方式獲取。
· 根據(jù)激光測量原理得到的點(diǎn)云,包括三維坐標(biāo)(XYZ)和激光反射強(qiáng)度(Intensity),強(qiáng)度信息與目標(biāo)的表面材質(zhì)、粗糙度、入射角方向以及儀器的發(fā)射能量、激光波長有關(guān)。根據(jù)攝影測量原理得到的點(diǎn)云,包括三維坐標(biāo)(XYZ)和顏色信息(RGB)。結(jié)合激光測量和攝影測量原理得到點(diǎn)云,包括三維坐標(biāo)(XYZ)、激光反射強(qiáng)度(Intensity)和顏色信息(RGB)。
· 空間分辨率、點(diǎn)位精度、表面法向量等。
· 點(diǎn)云可以表達(dá)物體的空間輪廓和具體位置,我們能看到街道、房屋的形狀,物體距離攝像機(jī)的距離也是可知的;其次,點(diǎn)云本身和視角無關(guān),可以任意旋轉(zhuǎn),從不同角度和方向觀察一個點(diǎn)云,而且不同的點(diǎn)云只要在同一個坐標(biāo)系下就可以直接融合。
o pts 點(diǎn)云文件格式是最簡便的點(diǎn)云格式,直接按 XYZ 順序存儲點(diǎn)云數(shù)據(jù), 可以是整型或者浮點(diǎn)型。
· LAS 是激光雷達(dá)數(shù)據(jù)(LiDAR),存儲格式比 pts 復(fù)雜,旨在提供一種開放的格式標(biāo)準(zhǔn),允許不同的硬件和軟件提供商輸出可互操作的統(tǒng)一格式。LAS 格式點(diǎn)云截圖,其中 C:class(所屬類),F(xiàn):flight(航線號),T:time(GPS 時間),I:intensity(回波強(qiáng)度),R:return(第幾次回波),N:number of return(回波次數(shù)),A:scan angle(掃描角),RGB:red green blue(RGB 顏色值)。
· PCD 存儲格式,現(xiàn)有的文件結(jié)構(gòu)因本身組成的原因不支持由 PCL 庫(后文會進(jìn)行介紹)引進(jìn) n 維點(diǎn)類型機(jī)制處理過程中的某些擴(kuò)展,而 PCD 文件格式能夠很好地補(bǔ)足這一點(diǎn)。PCD 格式具有文件頭,用于描繪點(diǎn)云的整體信息:定義數(shù)字的可讀頭、尺寸、點(diǎn)云的維數(shù)和數(shù)據(jù)類型;一種數(shù)據(jù)段,可以是 ASCII 碼或二進(jìn)制碼。數(shù)據(jù)本體部分由點(diǎn)的笛卡爾坐標(biāo)構(gòu)成,文本模式下以空格做分隔符。
PCD 存儲格式是 PCL 庫官方指定格式,典型的為點(diǎn)云量身定制的格式。優(yōu)點(diǎn)是支持 n 維點(diǎn)類型擴(kuò)展機(jī)制,能夠更好地發(fā)揮 PCL 庫的點(diǎn)云處理性能。文件格式有文本和二進(jìn)制兩種格式。
· .xyz 一種文本格式,前面 3 個數(shù)字表示點(diǎn)坐標(biāo),后面 3 個數(shù)字是點(diǎn)的法向量,數(shù)字間以空格分隔。
· .pcap 是一種通用的數(shù)據(jù)流格式,現(xiàn)在流行的 Velodyne 公司出品的激光雷達(dá)默認(rèn)采集數(shù)據(jù)文件格式。它是一種二進(jìn)制文件
· obj是一種文本文件,通常用以“#”開頭的注釋行作為文件頭,數(shù)據(jù)部分每一行的開頭關(guān)鍵字代表該行數(shù)據(jù)所表示的幾何和模型元素,以空格做數(shù)據(jù)分隔符
· PCL(Point Cloud Library)庫支持跨平臺存儲,可以在 Windows、Linux、macOS、iOS、Android 上部署??蓱?yīng)用于計(jì)算資源有限或者內(nèi)存有限的應(yīng)用場景,是一個大型跨平臺開源 C++ 編程庫,它實(shí)現(xiàn)了大量點(diǎn)云相關(guān)的通用算法和高效數(shù)據(jù)結(jié)構(gòu),其基于以下第三方庫:Boost、Eigen、FLANN、VTK、CUDA、OpenNI、Qhull,實(shí)現(xiàn)點(diǎn)云相關(guān)的獲取、濾波、分割、配準(zhǔn)、檢索、特征提取、識別、追蹤、曲面重建、可視化等操作,非常方便移動端開發(fā)。
· VCG 庫(Visulization and Computer Graphics Libary)是專門為處理三角網(wǎng)格而設(shè)計(jì)的,該庫很大,且提供了許多先進(jìn)的處理網(wǎng)格的功能,以及比較少的點(diǎn)云處理功能。
· CGAL(Computational Geometry Algorithms Library)計(jì)算幾何算法庫,設(shè)計(jì)目標(biāo)是以 C++ 庫的形式,提供方便、高效、可靠的幾何算法,其實(shí)現(xiàn)了很多處理點(diǎ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)過仔細(xì)考慮的依賴項(xiàng)。它可以在不同的平臺上設(shè)置,并且可以從源代碼進(jìn)行最小的編譯。代碼干凈,樣式一致,并通過清晰的代碼審查機(jī)制進(jìn)行維護(hù)。在點(diǎn)云、網(wǎng)格、rgbd 數(shù)據(jù)上都有支持。
· (如圖所示),不同的表示對應(yīng)著不同的處理方法。比較容易的處理方式為將其投影為二維圖像或者轉(zhuǎn)換為三維體素 (Voxel),從而將無序的空間點(diǎn)轉(zhuǎn)變?yōu)橐?guī)則的數(shù)據(jù)排列;也可以使用原始點(diǎn)作為表示,不做任何變換,該方式的好處為最大可能保留所有原始信息。此外,點(diǎn)云作為空間無序點(diǎn)集,可以被看作普適意義上的圖數(shù)據(jù)。點(diǎn)云還有另外一種表示,稱作網(wǎng)格 (Mesh),其也可以被看作是構(gòu)建了局部連接關(guān)系的點(diǎn),即為圖。將點(diǎn)云看作圖數(shù)據(jù),可以使用圖領(lǐng)域新興的圖卷積 (Graph Convolution) 技術(shù)進(jìn)行處理。需要提及的是,原始點(diǎn)的表示和圖表示之間并無明確界限(事實(shí)上原始點(diǎn)云和網(wǎng)格 (Mesh) 之間有一定區(qū)別,但若從語義理解方法的角度看,可暫時忽略此區(qū)別,將Mesh看作是增加了一種連接關(guān)系)
o 基于二維投影的方法。CNN 最好的應(yīng)用領(lǐng)域在于圖像處理,將三維點(diǎn)云數(shù)據(jù)投影到二維圖像平面,即可使得 CNN 應(yīng)用于點(diǎn)云數(shù)據(jù)成為可能。
o 基于三維體素的方法。對三維點(diǎn)云進(jìn)行二維投影降低了算法處理的難度,但是三維到二維的投影必然帶來幾何結(jié)構(gòu)信息的損失,直接進(jìn)行三維特征的提取在一些場景下是非常有必要的。一種最自然的想法便是 CNN 的延拓,將二維卷積神經(jīng)網(wǎng)絡(luò)拓展一個維度,使其可以處理三維排列的數(shù)據(jù);同時,對點(diǎn)云進(jìn)行體素化 (Voxelization),將其轉(zhuǎn)換為空間上規(guī)則排布的柵格,使得三維卷積神經(jīng)網(wǎng)絡(luò)(Three Dimension Convolutional Neural Network, 3DCNN) 可以直接應(yīng)用在這種表示上。
o 基于原始點(diǎn)的方法。無論是二維投影還是三位體素,均需要對原始點(diǎn)云進(jìn)行一定的轉(zhuǎn)換,而轉(zhuǎn)換必然帶來數(shù)據(jù)信息的損失。
o 基于圖的方法?,F(xiàn)實(shí)生活中存在大量的非結(jié)構(gòu)化數(shù)據(jù),如交通網(wǎng)絡(luò)、社交網(wǎng)絡(luò)等,這些數(shù)據(jù)的節(jié)點(diǎn)間存在聯(lián)系,可以表示為圖。研究圖數(shù)據(jù)的學(xué)習(xí)是近年來學(xué)界的熱點(diǎn)。三維點(diǎn)云數(shù)據(jù)可以看作圖數(shù)據(jù)的一種,圖網(wǎng)絡(luò)的很多思想可以被借鑒于點(diǎn)云數(shù)據(jù)的特征學(xué)習(xí)中。圖卷積 (Graph Convolution Network, GCN) 可分為基于譜的圖卷積(Spectralbased GCN) 和基于空間的圖卷積 (Spatial-based GCN)。
1. 如何從稀疏的點(diǎn)云找到高信息密度的表示,
2. 如何構(gòu)建一個網(wǎng)絡(luò)滿足必要的限制如size-variance和permutation-invariance,
3. 如何以較低的時間和計(jì)算資源消耗處理大量數(shù)據(jù)
o Classification method: overall accuracy , mean accuracy
o Segmentation models: accuracy , (m)IoU
o detection tasks: (m)IoU , accuracy , precision , recall
o Object tracking: MOTA , MOTP
o scene for estimation: EPE
o 3D match and registration models: ROC curves
o 對點(diǎn)云的分類通常稱為三維形狀分類。與圖像分類模型相似,三維形狀分類模型通常是先通過聚合編碼器生成全局嵌入,然后將嵌入通過幾個完全連通的層來獲得最終結(jié)果。
o 基于點(diǎn)云聚合方法,分類模型大致可分為兩類:基于投影的方法和基于點(diǎn)的方法
o 基于投影的方法
§ 基于投影的方法將非結(jié)構(gòu)化的三維點(diǎn)云投影到特定的預(yù)設(shè)模態(tài)中(例如體素、柱狀體),并從目標(biāo)格式中提取特征,從而在相應(yīng)方向上受益于之前的研究成果。
§ Multi-view representation
§ MVCNN:
§ GVCNN
§ Volumetric representation
§ VoxNet
§ 3D ShapeNet
§ OctNet
§ OCNN
§ Basis point set
§ BPS
o 基于點(diǎn)的方法:
§ 與基于投影的方法從空間鄰域中聚合點(diǎn)相比,基于點(diǎn)的方法嘗試從單個點(diǎn)中學(xué)習(xí)特征。
§ MLP networks
§ Convolutional networks
§ Graph networks
§ 圖網(wǎng)絡(luò)將點(diǎn)云視為圖,將圖的頂點(diǎn)視為點(diǎn),并根據(jù)每個點(diǎn)的鄰居生成邊。特征將在空間或光譜領(lǐng)域?qū)W習(xí)
o 數(shù)據(jù)來自 Mobile Laser Scanners (MLS), Aerial Laser Scanners (ALS), static Terrestrial Laser Scanners (TLS), RGBD cameras and other3D scanners
o 3D分割的目的是對每個點(diǎn)進(jìn)行標(biāo)記,這需要模型在每個點(diǎn)上收集全局上下文和詳細(xì)的局部信息。。在三維圖像分割中,主要有兩個任務(wù):語義分割和實(shí)例分割。
o Semantic Segmentation
§ 語義分割方法大致可分為基于投影的方法和基于點(diǎn)的方法
§ Projection-based methods
§ Huang和You將輸入點(diǎn)云投射到占用體素中,然后將其送入3D卷積網(wǎng)絡(luò),生成體素級標(biāo)簽。
§ ScanComplete利用全卷積網(wǎng)絡(luò)來適應(yīng)不同的輸入數(shù)據(jù)大小,并部署一個由粗到細(xì)的策略來提高預(yù)測的層次分辨率。
§ Point-based methods
o Instance Segmentation
§ Proposal-based methods
§ 可以看作是目標(biāo)檢測和掩模預(yù)測的結(jié)合。
§ Proposal-free methods
§ 無提案的方法傾向于基于聚類等算法的語義分割來生成實(shí)例級標(biāo)簽。
§ 無提案方法不受區(qū)域提案層計(jì)算復(fù)雜度的影響;然而,它們通常很難從聚類中產(chǎn)生區(qū)分對象邊界
o 同時解決語義分割和實(shí)例分割的樸素方法有兩種:(1)先解決語義分割,根據(jù)語義分割的結(jié)果在某些標(biāo)簽點(diǎn)上運(yùn)行實(shí)例分割;(2)先解決實(shí)例分割,直接分配帶有實(shí)例標(biāo)簽的語義標(biāo)簽。這兩個階梯式范式高度依賴于第一步的輸出質(zhì)量,不能充分利用兩個任務(wù)之間的共享信息。
o 3D目標(biāo)檢測可以分為3類:multi-view method,projection-based method,point-based method
o Projection-based methods
o Point-based method
§ 大多數(shù)基于點(diǎn)的方法都試圖在特征提取過程中使信息損失最小化,是目前性能最好的一組方法。
§ 與上述多視圖方法相比,基于分割的方法對于復(fù)雜場景和遮擋對象有更好的效果。
o 由激光雷達(dá)收集的點(diǎn)云,特別是那些來自室外場景的點(diǎn)云,遭受不同種類的質(zhì)量問題,如噪音,異常值,和遺漏點(diǎn)。所以我們的目標(biāo)是補(bǔ)全缺失的點(diǎn),移除掉異常的點(diǎn)。
o Discriminative Methods
§ 傳統(tǒng)的方法包括局部表面擬合、鄰域平均和猜測底層噪聲模型
§ PointCleanNet提出了一種基于數(shù)據(jù)驅(qū)動的方法去消除錯誤點(diǎn)減少噪聲
§ PCPNet首先對異常值進(jìn)行分類并丟棄它們,然后估計(jì)一個將噪聲投影到原始表面的修正投影
§ Total Denoising,在不需要額外數(shù)據(jù)的情況下實(shí)現(xiàn)了非監(jiān)督降噪對點(diǎn)云數(shù)據(jù)
§ 臨界點(diǎn)層(CPL)在保留重要點(diǎn)的同時學(xué)會減少點(diǎn)的數(shù)量。這一層是確定性的,不確定順序的,并且通過避免鄰接搜索也很有效。
§ 通過將采樣后的點(diǎn)近似為原始點(diǎn)的混合來逼近點(diǎn)采樣的可微松弛
o Generative Methods
§ 通過生成假樣本,幫助定位網(wǎng)絡(luò)的潛在缺陷。
§ point perturbation and point generation:擾動是通過對已有的點(diǎn)進(jìn)行可忽略的移動來實(shí)現(xiàn)的,生成是通過添加一些獨(dú)立分散的點(diǎn)或少量具有預(yù)定義形狀的點(diǎn)簇來實(shí)現(xiàn)的。
§ 除了對抗性生成,生成模型也用于點(diǎn)云上采樣。向上采樣點(diǎn)云通常有兩種動機(jī)。一是減少數(shù)據(jù)的稀疏性和不規(guī)則性,二是恢復(fù)遮擋造成的缺失點(diǎn)