Ⅰ photoscan中文教程
1、打開軟體點擊菜單欄「工作流程」,下拉菜單中有「添加照片」、「添加文件夾」選項,分別以選擇照片和選擇整個文件夾影像方式加入影像,如下圖所示:
2、點擊「添加照片」,出現如下圖界面,可選擇需要處理的影像:
3、選擇影像後,在下面會出現影像名列表,軟體下側會顯示影像縮略圖:
4、雙擊每個縮略圖,主窗口顯示該張影像的大圖,可以查看影像:(有坐標的無人機拍攝直接到10)
5、如果有POS數據,點擊左側窗口「參考」欄中第一個圖表,導入POS數據,若沒有POS數據可直接跳至步驟十一(POS數據為拍攝每張影像所對應的無人機位置、姿態參數,輔助拼接,拼接後的影像將具有地理坐標信息):
6、點擊「導入」後,彈出POS導入窗口,如下圖,選擇整理好的POS文檔即可:
7、POS導入後,選擇「WGS84」坐標系統,並將各列數據與表頭名稱對應:
8、對應好的POS
9、POS數據導入後,界面中將顯示POS軌跡,即無人機拍攝照片時所處空間位置:
10、點擊「工作流程-對齊照片」:
11、在彈出的對話框中,精度選擇「高」,勾選標簽後,點擊確定:
12、下圖自動開始「對齊照片」處理,此過程只需等待,無需操作:
13、處理完成後,會生成三維點雲數據,如下圖所示:
14、「對齊照片」完成後,點擊「優化對齊」:
15、點擊「工作流程-建立密集點雲」,選擇所需要的質量,如下圖,質量設置越高,處理速度越慢:
16、點擊確定後,系統自動處理,並顯示處理進度:
17、處理完成後,生成密集點雲數據:
18、選擇「工作流程-生成網格」。
19、在彈出的對話框中選擇所需要的質量,點擊確定,出現以下進度顯示界面:
20、處理完成後,生成測區光滑曲面:
21、利用補丁工具對不理想的區域進行替換:
22、在導航欄的工作流程上,build相應的數據。
23、點擊「文件-導出正射影像-導出JPEG/TIFF/PNG」,導出拼接後影像(坐標:32637和32650)
24、在彈出的界面中,直接默認設置即可,點擊「導出」:
25、點擊「導出」後,選擇導出路徑及導出文件名:
26、點擊確定後,開始導出,等待完成後,即可到相應路徑下,查看拼接後正射影像。
軟體鏈接:https://pan..com/s/12HQ04Yz35F6WygDe-QJdYA
一、攝影三角測量
1、處理各類圖像:航空(最低點,斜)/近距離。
2、自動校準:框架(含魚眼)/球形攝像機。
3、支持多攝像頭項目。
二、點雲編輯與分類
1、對准確的結果進行精心的模型編輯。
2、對點分類,定製幾何重建。
3、經典的點數據處理工作流程更利於.LAS輸出。
三、DSM/DTM
1、數字表面和/或數字地形模型-根據投影。
2、地理參考基於EXIF的元數據或飛行記錄的GPS/控制點數據。
3、EPSG記錄坐標系支持:WGS84,UTM,等等。
四、真正射影像
1、地理參考:GIS兼容的GeoTIFF格式;谷歌地球的.KML文件。
2、大項目批量輸出。
3、對均勻紋理進行顏色校正
五、三維測量
1、內置工具可以測距,測面積、體積
2、對於更復雜的測量分析,PhotoScan可以順利的導出到外部工具,因為它支持多樣的輸出格式
六、GCP控制點:高精度測量
1、GCPs控制結果精度
2、編碼/非編碼的目標自動檢測便於控制點的快速輸入
3、不用定位設備,利用比例尺工具來設置參考距離
七、二次開發
1、除了批量處理-一個節省人工干預的方法,Python腳本定製選項:
2、幾個類似的數據集形成一個參數模板;
3、中間處理結果檢查;等等
八、多光譜影像分析
1、RGB/近紅外光譜/熱/多光譜圖像處理。
2、基於更好的渠道的快速重建。
3、多通道正射影像輸出方便進一步的歸一化植被指數計算和分析。
九、精細紋理
1、各種場景:考古遺址、文物、建築物、內飾、人,等等。
2、直接上傳Verold和Sketchfab資源。
3、紋理:HDR和多文件,超級詳細的可視化。
十、4D時序
1、多相機站數據處理在電影藝術,游戲產業等創建項目。
2、依據大量的視覺效果與時間序列進行3D模型。
十一、全景拼接
1、三維重建的捕獲數據來自同一個相機位置——相機站,提供至少2相機站。
2、360°全景拼接為一個相機站數據
十二、分布式和GPU計算
分布式計算在計算機網路中,使用多個節點的聯合力量,處理一個項目中在巨大的數據集。
1、空中三角測量
2、生成多邊形Mesh網模型(普通/彩色紋理)
3、設置坐標系統
4、生成真實坐標的數字高程模型(DEM)
5、生成真實坐標的正射影像
6、photoscan破解版支持輸入格式包括:JEPG、TIFF、PNG、BMP、JEPGMulti-PictureFormat(MPO)
輸出格式包括三維建模常見的格式GeoTiff、xyz、GoogleKML、COLLADA、VRML、WavefrontOBJ、PLY、3DSMax、Universal3D、PDF。
一、優點:
1、photoscan破解版支持傾斜影像、多源影像、多光譜影像的自動空三處理
2、支持多航高、多解析度影像等各類影像的自動空三處理
3、具有影像掩模添加、畸變去除等功能
4、能夠順利處理非常規的航線數據或包含航攝漏洞的數據
5、支持多核、多線程CPU運算,支持CPU加速運算
6、支持數據分塊拆分處理,高效快速地處理大數據
7、操作簡單,容易掌握
8、處理速度快
二、不足:
1、缺少正射影像編輯修改功能
2、缺少點雲環境下量測功能
Ⅱ ICP演算法的三維點雲演算法
三維激光掃描技術的快速發展,使其在各個領域得到廣泛應用。由於物理上的一些限制,一次三維激光掃描不能獲取掃描物體的全部數據,因此要對掃描點雲進行拼接。首先,對最常用的ICP演算法進行一系列研究,ICP演算法的前提條件是具有一個良好的配准初值,文中在配准初值的選取上採用主成分分析法,為後續ICP演算法的工作提供一個良好前提條件,增加點集預處理,點對查找上增加各種限制,採用kd-tree加速查找,以此對演算法進行改進,並通過實例來驗證本演算法的有效性及合理性。
Ⅲ 點雲濾波相關
復制於:https://zhuanlan.hu.com/p/102748557
介紹
主要方法
直通濾波(PassThrough 濾波)
VoxelGrid濾波器對點雲進行下采樣
均勻采樣
增采樣
statisticalOutlierRemoval濾波器移除離群點
使用參數化模型投影點雲
ConditionalRemoval
RadiusOutlinerRemoval 移除離群點
從一個點雲中提取索引 根據點雲索引提取對應的點雲
介紹
點雲濾波,顧名思義,就是濾掉雜訊。原始採集的點雲數據往往包含大量散列點、孤立點,在獲取點雲數據時 ,由於設備精度,操作者經驗環境因素帶來的影響,以及電磁波的衍射性,被測物體表面性質變化和數據拼接配准操作過程的影響,點雲數據中講不可避免的出現一些雜訊。在點雲處理流程中濾波處理作為預處理的第一步,對後續的影響比較大,只有在濾波預處理中將雜訊點 ,離群點,孔洞,數據壓縮等按照後續處理定製,才能夠更好的進行配准,特徵提取,曲面重建,可視化等後續應用處理。其類似於信號處理中的濾波,
點雲濾波方法主要有:
1. 直通濾波器pcl::PassThrough<pcl::PointXYZ> pass
2. 體素格濾波器pcl::VoxelGrid<pcl::PCLPointCloud2> sor;
3. 統計濾波器 pcl::StatisticalOutlierRemoval<pcl::PointXYZ> sor;
4. 半徑濾波器 pcl::RadiusOutlierRemoval<pcl::PointXYZ> outrem;
5. 雙邊濾波 pcl::BilateralFilter<pcl::PointXYZ> bf;
該類的實現利用的並非XYZ欄位的數據進行,而是利用強度數據進行雙邊濾波演算法的實現,所以在使用該類時點雲的類型必須有強度欄位,否則無法進行雙邊濾波處理,雙邊濾波演算法是通過取臨近采樣點和加權平均來修正當前采樣點的位置,從而達到濾波效果,同時也會有選擇剔除與當前采樣點「差異」太大的相鄰采樣點,從而保持原特徵的目的 。
6. 高斯濾波 pcl::filters::GaussianKernel< PointInT, PointOutT >
是基於高斯核的卷積濾波實現 高斯濾波相當於一個具有平滑性能的低通濾波器
7. 立方體濾波 pcl::CropBox< PointT>
過濾掉在用戶給定立方體內的點雲數據
8. 封閉曲面濾波 pcl::CropHull< PointT>
過濾在給定三維封閉曲面或二維封閉多邊形內部或外部的點雲數據
9. 空間剪裁:
pcl::Clipper3D<pcl::PointXYZ>
pcl::BoxClipper3D<pcl::PointXYZ>
pcl::CropBox<pcl::PointXYZ>
pcl::CropHull<pcl::PointXYZ> 剪裁並形成封閉曲面
10. 卷積濾波:實現將兩個函數通過數學運算產生第三個函數,可以設定不同的卷積核
pcl::filters::Convolution<PointIn, PointOut>
pcl::filters::ConvolvingKernel<PointInT, PointOutT>
11. 隨機采樣一致濾波
等,
通常組合使用完成任務。
PCL中點雲濾波的方案
點雲數據密度不規則需要平滑
因為遮擋等問題造成離群點需要去除
大量數據需要下采樣
雜訊數據需要去除
對應的方案如下
按照給定的規則限制過濾去除點
通過常用濾波演算法修改點的部分屬性
對數據進行下采樣
去除噪音
直通濾波(PassThrough 濾波)
最簡單的一種濾波器,它的作用是過濾掉在指定維度方向上取值不在給定值域內的點。直通濾波器的實現原理如下:首先,指定一個維度以及該維度下的值域,其次,遍歷點雲中的每個點,判斷該點在指定維度上的取值是否在值域內,刪除取值不在值域內的點,最後,遍歷結束,留下的點即構成濾波後的點雲。直通濾波器簡單高效,適用於消除背景等操作。
#include <pcl/filters/passthrough.h>
如果使用線結構光掃描的方式採集點雲,必然物體沿z向分布較廣,
但x,y向的分布處於有限范圍內。
此時可使用直通濾波器,確定點雲在x或y方向上的范圍,
可較快剪除離群點,達到第一步粗處理的目的。
結果:
VoxelGrid濾波器對點雲進行下采樣
使用體素化網格方法實現下采樣,即減少點的數量 減少點雲數據,並同時保存點雲的形狀特徵,在提高配准,曲面重建,形狀識別等演算法速度中非常實用,PCL是實現的VoxelGrid類通過輸入的點雲數據創建一個三維體素柵格,容納後每個體素內用體素中所有點的重心來近似顯示體素中其他點,這樣該體素內所有點都用一個重心點最終表示,對於所有體素處理後得到的過濾後的點雲,這種方法比用體素中心(注意中心和重心)逼近的方法更慢,但是對於采樣點對應曲面的表示更為准確。
在網格內減少點數量保證重心位置不變
下采樣 同時去除 NAN點
如果使用高解析度相機等設備對點雲進行採集,往往點雲會較為密集。
過多的點雲數量會對後續分割工作帶來困難。
體素格濾波器可以達到向下采樣同時不破壞點雲本身幾何結構的功能。
點雲幾何結構 不僅是宏觀的幾何外形,也包括其微觀的排列方式,
比如橫向相似的尺寸,縱向相同的距離。
隨機下采樣雖然效率比體素濾波器高,但會破壞點雲微觀結構.
使用體素化網格方法實現下采樣,即減少點的數量 減少點雲數據,
並同時保存點雲的形狀特徵,在提高配准,曲面重建,形狀識別等演算法速度中非常實用,
PCL是實現的VoxelGrid類通過輸入的點雲數據創建一個三維體素柵格,
容納後每個體素內用體素中所有點的重心來近似顯示體素中其他點,
這樣該體素內所有點都用一個重心點最終表示,對於所有體素處理後得到的過濾後的點雲,
這種方法比用體素中心(注意中心和重心)逼近的方法更慢,但是對於采樣點對應曲面的表示更為准確。
結果:
結果不太明顯,換一個:
均勻采樣 pcl::UniformSampling
這個類基本上是相同的,但它輸出的點雲索引是選擇的關鍵點,是在計算描述子的常見方式。
原理同體素格 (正方體立體空間內 保留一個點(重心點))
而 均勻采樣:半徑求體內 保留一個點(重心點)
#include <pcl/filters/uniform_sampling.h>//均勻采樣
增采樣 setUpsamplingMethod
增采樣是一種表面重建方法,當你有比你想像的要少的點雲數據時,
增采樣可以幫你恢復原有的表面(S),通過內插你目前擁有的點雲數據,
這是一個復雜的猜想假設的過程。所以構建的結果不會百分之一百准確,
但有時它是一種可選擇的方案。
所以,在你的點雲雲進行下采樣時,一定要保存一份原始數據!
statisticalOutlierRemoval濾波器移除離群點
作用是去除稀疏離群噪點。在採集點雲的過程中,由於測量雜訊的影響,會引入部分離群噪點,它們在點雲空間中分布稀疏。在估算點雲局部特徵(例如計算采樣點處的法向量和曲率變化率)時,這些噪點可能導致錯誤的計算結果,從而使點雲配准等後期處理失敗。統計濾波器的主要思想是假設點雲中所有的點與其最近的k個鄰居點的平均距離滿足高斯分布,那麼,根據均值和方差可確定一個距離閾值,當某個點與其最近k個點的平均距離大於這個閾值時,判定該點為離群點並去除。統計濾波器的實現原理如下:首先,遍歷點雲,計算每個點與其最近的k個鄰居點之間的平均距離;其次,計算所有平均距離的均值μ與標准差σ,則距離閾值dmax可表示為dmax=μ+α×σ,α是一個常數,可稱為比例系數,它取決於鄰居點的數目;最後,再次遍歷點雲,剔除與k個鄰居點的平均距離大於dmax的點。
#include <pcl/filters/statistical_outlier_removal.h>
統計濾波器用於去除明顯離群點(離群點往往由測量雜訊引入)。
其特徵是在空間中分布稀疏,可以理解為:每個點都表達一定信息量,
某個區域點越密集則可能信息量越大。雜訊信息屬於無用信息,信息量較小。
所以離群點表達的信息可以忽略不計。考慮到離群點的特徵,
則可以定義某處點雲小於某個密度,既點雲無效。計算每個點到其最近的k(設定)個點平均距離
。則點雲中所有點的距離應構成高斯分布。給定均值與方差,可剔除n個∑之外的點
激光掃描通常會產生密度不均勻的點雲數據集,另外測量中的誤差也會產生稀疏的離群點,
此時,估計局部點雲特徵(例如采樣點處法向量或曲率變化率)時運算復雜,
這會導致錯誤的數值,反過來就會導致點雲配准等後期的處理失敗。
解決辦法:對每個點的鄰域進行一個統計分析,並修剪掉一些不符合標準的點。
具體方法為在輸入數據中對點到臨近點的距離分布的計算,對每一個點,
計算它到所有臨近點的平均距離(假設得到的結果是一個高斯分布,
其形狀是由均值和標准差決定),那麼平均距離在標准范圍之外的點,
可以被定義為離群點並從數據中去除。
使用參數化模型投影點雲
使用參數化模型投影點雲
如何將點投影到一個參數化模型上(平面或者球體等),
參數化模型通過一組參數來設定,對於平面來說使用其等式形式。
在PCL中有特定存儲常見模型系數的數據結構。
投影前的Z軸都不為0 ,投影之後,列印的結果表明,xy的值都沒有改變,z都變為0。所以該投影濾波類就是輸入點雲和投影模型,輸出為投影到模型上之後的點雲。
ConditionalRemoval 或 RadiusOutlinerRemoval 移除離群點
ConditionalRemoval 濾波器的理解
可以一次刪除滿足對輸入的點雲設定的一個或多個條件指標的所有的數據點
刪除點雲中不符合用戶指定的一個或者多個條件的數據點
RadiusOutlierRemoval移除離群點
一個比較簡單常用的方法就是根據空間點半徑范圍臨近點數量來濾波,對應的類名是 RadiusOutlinerRemoval,這個很容易理解,它的濾波思想非常直接,就是在點雲數據中,設定每個點一定半徑范圍內周圍至少有足夠多的近鄰,不滿足就會被刪除。比如你指定了一個半徑d,然後指定該半徑內至少有1個鄰居,那麼下圖中只有黃色的點將從點雲中刪除。如果指定了半徑內至少有2個鄰居,那麼黃色和綠色的點都將從點雲中刪除。
球半徑濾波器與統計濾波器相比更加簡單粗暴。
以某點為中心畫一個球計算落在該球內的點的數量,當數量大於給定值時,
則保留該點,數量小於給定值則剔除該點。
此演算法運行速度快,依序迭代留下的點一定是最密集的,
但是球的半徑和球內點的數目都需要人工指定。