輪胎點(diǎn)云文件處理步驟 輪胎的點(diǎn)做什么用
點(diǎn)云概念
點(diǎn)云與三維圖像的關(guān)系 :三維圖像是一種特殊的信息表達(dá)形式,其特征是表達(dá)的空間中三個維度的數(shù)據(jù),表現(xiàn)形式包括:深度圖(以灰度表達(dá)物體與相機(jī)的距離),幾何模型(由CAD軟件建立),點(diǎn)云模型(所有逆向工程設(shè)備都將物體采樣成點(diǎn)云)。和二維圖像相比,三維圖像借助第三個維度的信息,可以實(shí)現(xiàn)天然的物體——背景解耦。點(diǎn)云數(shù)據(jù)是最為常見也是最基礎(chǔ)的三維模型。點(diǎn)云模型往往由測量直接得到,每個點(diǎn)對應(yīng)一個測量點(diǎn),未經(jīng)過其他處理手段,故包含了最大的信息量。這些信息隱藏在點(diǎn)云中需要以其他提取手段將其萃取出來,提取點(diǎn)云中信息的過程則為三維圖像處理。
點(diǎn)云的概念 :點(diǎn)云是在同一空間參考系下表達(dá)目標(biāo)空間分布和目標(biāo)表面特性的海量點(diǎn)集合,在獲取物體表面每個采樣點(diǎn)的空間坐標(biāo)后,得到的是點(diǎn)的集合,稱之為“點(diǎn)云”(Point Cloud)。
點(diǎn)云的獲取設(shè)備 :RGBD設(shè)備是獲取點(diǎn)云的設(shè)備,比如PrimeSense公司的PrimeSensor、微軟的Kinect、華碩的XTionPRO。
點(diǎn)云的內(nèi)容 :根據(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)位精度、表面法向量等。
點(diǎn)云存儲格式 :*.pts; *.asc ; *.dat; .stl ; [1] .imw;.xyz; .las。LAS格式文件已成為LiDAR數(shù)據(jù)的工業(yè)標(biāo)準(zhǔn)格式,LAS文件按每條掃描線排列方式存放數(shù)據(jù),包括激光點(diǎn)的三維坐標(biāo)、多次回波信息、強(qiáng)度信息、掃描角度、分類信息、飛行航帶信息、飛行姿態(tài)信息、項(xiàng)目信息、GPS信息、數(shù)據(jù)點(diǎn)顏色信息等。
F一flight(航線號)
T一TIME(查成交價|參配|優(yōu)惠政策)(GPS時間)
I一intensity(回波強(qiáng)度)
R一return(第幾次回波)
N一number of return(回波次數(shù))
A一scan angle(掃描角)
RGB一red green blue(RGB顏色值)
點(diǎn)云的數(shù)據(jù)類型 :
(1)pcl::PointCloudpcl::PointXYZ
PointXYZ 成員:float x,y,z;表示了xyz3D信息,可以通過points[i].data[0]或points[i].x訪問點(diǎn)X的坐標(biāo)值
(2)pcl::PointCloudpcl::PointXYZI
PointXYZI成員:float x, y, z, intensity; 表示XYZ信息加上強(qiáng)度信息的類型。
(3)pcl::PointCloudpcl::PointXYZRGB
PointXYZRGB 成員:float x,y,z,rgb; 表示XYZ信息加上RGB信息,RGB存儲為一個float。
(4)pcl::PointCloudpcl::PointXYZRGBA
PointXYZRGBA 成員:float x , y, z; uint32_t rgba; 表示XYZ信息加上RGBA信息,RGBA用32bit的int型存儲的。
(5) PointXY 成員:float x,y;簡單的二維x-y點(diǎn)結(jié)構(gòu)
(6)Normal結(jié)構(gòu)體:表示給定點(diǎn)所在樣本曲面上的法線方向,以及對應(yīng)曲率的測量值,用第四個元素來占位,兼容SSE和高效計(jì)算。
點(diǎn)云的處理
點(diǎn)云處理的三個層次 :Marr將圖像處理分為三個層次,低層次包括圖像強(qiáng)化,濾波,關(guān)鍵點(diǎn)/邊緣檢測等基本操作。中層次包括連通域標(biāo)記(label),圖像分割等操作。高層次包括物體識別,場景分析等操作。工程中的任務(wù)往往需要用到多個層次的圖像處理手段。
PCL官網(wǎng)對點(diǎn)云處理方法給出了較為明晰的層次劃分,如圖所示。
此處的common指的是點(diǎn)云數(shù)據(jù)的類型,包括XYZ,XYZC,XYZN,XYZG等很多類型點(diǎn)云,歸根結(jié)底,最重要的信息還是包含在pointpcl::point::xyz中??梢钥闯觯蛯哟蔚狞c(diǎn)云處理主要包括濾波(filters),關(guān)鍵點(diǎn)(keypoints)/邊緣檢測。點(diǎn)云的中層次處理則是特征描述(feature),分割(segmention)與分類。高層次處理包括配準(zhǔn)(registration),識別(recognition)??梢姡c(diǎn)云在分割的難易程度上比圖像處理更有優(yōu)勢,準(zhǔn)確的分割也為識別打好了基礎(chǔ)。
低層次處理方法:
①濾波方法:雙邊濾波、高斯濾波、條件濾波、直通濾波、隨機(jī)采樣一致性濾波。②關(guān)鍵點(diǎn):ISS3D、Harris3D、NARF,SIFT3D
中層次處理方法:
①特征描述:法線和曲率的計(jì)算、特征值分析、SHOT、PFH、FPFH、3D Shape Context、Spin Image
②分割與分類:
分割:區(qū)域生長、Ransac線面提取、全局優(yōu)化平面提取
K-Means、Normalize Cut(Context based)
3D Hough Transform(線、面提取)、連通分析
分類:基于點(diǎn)的分類,基于分割的分類,基于深度學(xué)習(xí)的分類(PointNet,OctNet)
高層次處理方法:
①配準(zhǔn):點(diǎn)云配準(zhǔn)分為粗配準(zhǔn)(Coarse Registration)和精配準(zhǔn)(Fine Registration)兩個階段。
精配準(zhǔn)的目的是在粗配準(zhǔn)的基礎(chǔ)上讓點(diǎn)云之間的空間位置差別最小化。應(yīng)用最為廣泛的精配準(zhǔn)算法應(yīng)該是ICP以及ICP的各種變種(穩(wěn)健ICP、point to plane ICP、Point to line ICP、MBICP、GICP、NICP)。
粗配準(zhǔn)是指在點(diǎn)云相對位姿完全未知的情況下對點(diǎn)云進(jìn)行配準(zhǔn),可以為精配準(zhǔn)提供良好的初始值。當(dāng)前較為普遍的點(diǎn)云自動粗配準(zhǔn)算法包括基于窮舉搜索的配準(zhǔn)算法和基于特征匹配的配準(zhǔn)算法。
基于窮舉搜索的配準(zhǔn)算法:遍歷整個變換空間以選取使誤差函數(shù)最小化的變換關(guān)系或者列舉出使最多點(diǎn)對滿足的變換關(guān)系。如RANSAC配準(zhǔn)算法、四點(diǎn)一致集配準(zhǔn)算法(4-Point Congruent Set, 4PCS)、Super4PCS算法等……
基于特征匹配的配準(zhǔn)算法:通過被測物體本身所具備的形態(tài)特性構(gòu)建點(diǎn)云間的匹配對應(yīng),然后采用相關(guān)算法對變換關(guān)系進(jìn)行估計(jì)。如基于點(diǎn)FPFH特征的SAC-IA、FGR等算法、基于點(diǎn)SHOT特征的AO算法以及基于線特征的ICL等…
②SLAM圖優(yōu)化
Ceres(Google的最小二乘優(yōu)化庫,很強(qiáng)大), g2o、LUM、ELCH、Toro、SPA
SLAM方法:ICP、MBICP、IDC、likehood Field、NDT
③三維重建
泊松重建、 Delaunay triangulations、表面重建,人體重建,建筑物重建,樹木重建。結(jié)構(gòu)化重建:不是簡單的構(gòu)建一個Mesh網(wǎng)格,而是為場景進(jìn)行分割,為場景結(jié)構(gòu)賦予語義信息。場景結(jié)構(gòu)有層次之分,在幾何層次就是點(diǎn)線面。實(shí)時重建:重建植被或者農(nóng)作物的4D(3D+時間)生長態(tài)勢;人體姿勢識別;表情識別;
④點(diǎn)云數(shù)據(jù)管理:點(diǎn)云壓縮,點(diǎn)云索引(KD、Octree),點(diǎn)云LOD(金字塔),海量點(diǎn)云的渲染fusion360怎么打開點(diǎn)云數(shù)據(jù)
1.在Fusion 360中,打開“文件”菜單,然后點(diǎn)擊“導(dǎo)入”。
2.在彈出的導(dǎo)入窗口中,選擇點(diǎn)云文件的類型,然后點(diǎn)擊“打開”按鈕。
3.在彈出的文件選擇窗口中,選擇要導(dǎo)入的點(diǎn)云文件,然后點(diǎn)擊“打開”按鈕。
4.在彈出的導(dǎo)入設(shè)置窗口中,設(shè)置點(diǎn)云文件的參數(shù),然后點(diǎn)擊“確定”按鈕。
5.點(diǎn)云數(shù)據(jù)就會被導(dǎo)入到Fusion 360中,您可以在設(shè)計(jì)空間中看到點(diǎn)云數(shù)據(jù)的模型。點(diǎn)云數(shù)據(jù)處理的5個步驟
1.點(diǎn)云濾波方法(數(shù)據(jù)預(yù)處理): 雙邊濾波、高斯濾波、條件濾波、直通濾波、隨機(jī)采樣一致性濾波。 VoxelGrid
2.關(guān)鍵點(diǎn) ISS3D、Harris3D、NARF SIFT3D、
3.特征和特征描述 法線和曲率計(jì)算NormalEstimation、特征值分析Eigen-Analysis、EGI PFH、FPFH、3D Shape Context、Spin Image
4.點(diǎn)云匹配 ICP、穩(wěn)健ICP、point to plane ICP、Point to line ICP、MBICP、GICP NDT 3D、Multil-Layer NDT FPCS、KFPCS如何自己做一個點(diǎn)云文件,然后導(dǎo)入catia
第一步先在EXCEL里輸入坐標(biāo)點(diǎn)
因?yàn)镋XCEL在做一組數(shù)據(jù)的時候可以進(jìn)行填充,省去你不必要的鍵盤輸入,另外在必須手工輸入的情況下,在EXCEL里編輯,也是方面核對和保存的。
XYZ值都輸入完以后,存盤,一會再用。
然后找到
catia安裝位置里的
\intel_a\code\command\GSD_PointSplineLoftFromExcel.xls
此文件中間會包含一些語句,你需要把你剛才輸入過的坐標(biāo)點(diǎn),
復(fù)制粘貼到StartCurve和EndCurve中間,如下圖
StartCurve
內(nèi)容(剛才編輯好的坐標(biāo)點(diǎn))
EndCurve
比如有100個坐標(biāo)點(diǎn),那么內(nèi)容部分就是100行。
注意,一般GSD_PointSplineLoftFromExcel.xls這個文件里有三組StartCurve和EndCurve
你隨便用一組即可,然后把其他的行刪除掉。
他存有三組的意思是可以同時處理幾批數(shù)據(jù)
回到catia,把文件創(chuàng)建好,把工作光標(biāo)設(shè)定到幾何圖形集,(不能設(shè)到實(shí)體)
然后回到excel,點(diǎn)工具--宏--宏
選Feuil1.main,點(diǎn)執(zhí)行。彈出對話框,用鍵盤輸入1,2,3任意一個數(shù)(第一是全點(diǎn),第二樣條線,第三掃描面)
再回到catia,已經(jīng)創(chuàng)建完畢。
如果選的1,那么空間中會出現(xiàn)100個零散的點(diǎn)。
如果選的2,那么這些點(diǎn)會用樣條線貫穿起來
如果把點(diǎn)分開,分別輸入開始的3組StartCurve和EndCurve中間那么出現(xiàn)的就是三條樣條線。也就是說計(jì)算方法是:計(jì)算機(jī)從StartCurve開始,遇到一組坐標(biāo)就畫一個點(diǎn),再遇到一組坐標(biāo)就再畫一個點(diǎn),一直遇到EndCurve,點(diǎn)就畫完了,然后用樣條線把這些點(diǎn)串連起來,然后再遇到StartCurve,就開始又畫點(diǎn),遇到EndCurve再結(jié)束,再畫線,這樣就兩條線了。
有幾組StartCurve和EndCurve,就有幾條線
如果選的3,那么會形成掃描面。剛才形成的樣條線,其中兩條作為掃描的兩邊界,另一條是脊線。我個人認(rèn)為在這里面最好不要直接出掃描面,他有可能控制的不是那么好。還不如自己用一個掃描命令來做,更直觀。怎么用MATLAB對點(diǎn)云數(shù)據(jù)處理
1、meshlab支持的數(shù)據(jù)格式很多,選擇一個簡單的格式進(jìn)行測試。
2、使用matlab去生成一個txt文檔,其數(shù)據(jù)代表球體的一部分,代碼。
3、運(yùn)行后將生成所需的文件,其內(nèi)部數(shù)據(jù)所示。
4、接下來是就是將數(shù)據(jù)導(dǎo)入Meshlab,該軟件界面如下圖。通過File-Import Mesh...導(dǎo)入數(shù)據(jù)。
5、選中剛剛用matlab生成的數(shù)據(jù),點(diǎn)擊Open.
6、對數(shù)據(jù)的格式,文檔中每一行數(shù)據(jù)通過空格分割,因此選中空格。
7、設(shè)置完成后將將會看到點(diǎn)云的數(shù)據(jù),所示。該數(shù)據(jù)和預(yù)期的一樣,為球體的一部分。
>>點(diǎn)擊查看今日優(yōu)惠<<

使用微信掃描二維碼
即可進(jìn)入交流群

使用微信掃描二維碼