色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

三維點云配準算法,包括4PCS、K-4PCS、SAC-IA、ICP、PCA、深度學習方法等

3D視覺工坊 ? 來源:3DCV ? 2023-07-10 15:16 ? 次閱讀

1 什么是點云配準

點云配準指的是輸入兩幅點云 Ps (source) 和 Pt (target),輸出一個變換矩陣T(即旋轉R和平移t)使得 T(Ps)和Pt的重合程度盡可能高。我們可以把點云想象成由無數個三維點組成的云彩,而點云配準就是要把這些云彩按照它們實際的位置和姿態拼接在一起,就像把多個拼圖拼接在一起,最終形成一個完整的三維模型。粗配準(Coarse Registration)在兩幅點云之間的變換完全未知的情況下進行較為粗糙的配準,目的主要是為精配準提供較好的變換初值。精配準(Fine Registration)精配準是給定一個初始變換,進一步優化得到更精確的變換。粗配準和精配準流程如下圖所示:8dd41c96-1ec8-11ee-962d-dac502259ad0.png

2 常見的配準算法

2.1 4PCS配準

1 原理

并非全共線的共面四點a,b,c,d,定義了兩個獨立的比率r1和r2,其在仿射變化中是不變且唯一的。現在給定一個具有n個點的點集Q,以及兩個由點P得到的仿射不變的比率r1,r2,對每一對點q1,q2? Q,計算他們的中間點:8def955c-1ec8-11ee-962d-dac502259ad0.png若任意兩對這樣的點,一對由 r1計算得到的中間點和另一對由 r2計算得到的中間點在允許范圍內一致,那么可以認為這兩對點可能是 P中基礎點的仿射對應點。將四點轉化應用到全局點云轉化,計算點云的匹配重疊度,若達到設置的閾值,則完成點云粗配準。8dffa370-1ec8-11ee-962d-dac502259ad0.png2 核心代碼

pcl::FPCSInitialAlignmentfpcs;
fpcs.setInputSource(source_cloud);//源點云
fpcs.setInputTarget(target_cloud);//目標點云
fpcs.setApproxOverlap(0.7);//設置源和目標之間的近似重疊度。
fpcs.setDelta(0.01);//設置常數因子delta,用于對內部計算的參數進行加權。
fpcs.setNumberOfSamples(100);//設置驗證配準效果時要使用的采樣點數量

2.2 K-4PCS配準

1 步驟

K-4PCS方法主要分為兩個步驟:

(1)利用VoxelGrid濾波器對點云Q進行下采樣,然后使用標準方法進行3D關鍵點檢測

(2)通過4PCS算法使用關鍵點集合而非原始點云進行數據的匹配,降低了搜索點集的規模,提高了運算效率

2 核心代碼

pcl::KFPCSInitialAlignmentkfpcs;
kfpcs.setInputSource(source);//源點云
kfpcs.setInputTarget(target);//目標點云
kfpcs.setApproxOverlap(0.7);//源和目標之間的近似重疊。
kfpcs.setLambda(0.5);//平移矩陣的加權系數。
kfpcs.setDelta(0.002,false);//配準后源點云和目標點云之間的距離
kfpcs.setNumberOfThreads(6);//OpenMP多線程加速的線程數
kfpcs.setNumberOfSamples(200);//配準時要使用的隨機采樣點數量
pcl::PointCloud::Ptrkpcs(newpcl::PointCloud);
kfpcs.align(*kpcs);

2.3 SAC-IA配準

1 步驟SAC-IA配準的實現流程:

①分別計算源點云和目標點云的FPFH特征描述子

②基于FPFH特征描述子對兩個點云中的點進行匹配;

③隨機選擇 n (n >= 3) 對匹配點;

④求解該匹配情況下的旋轉與平移矩陣;

⑤計算此時對應的誤差;重復步驟3-5,直到滿足條件,將最小誤差對應的旋轉和位移作為最終結果。

2 核心代碼

pcl::SampleConsensusInitialAlignmentsac_ia;
sac_ia.setInputSource(source);
sac_ia.setSourceFeatures(source_fpfh);
sac_ia.setInputTarget(target);
sac_ia.setTargetFeatures(target_fpfh);
sac_ia.setMinSampleDistance(0.1);//設置樣本之間的最小距離
sac_ia.setCorrespondenceRandomness(6);//在選擇隨機特征對應時,設置要使用的鄰居的數量;
pointcloud::Ptralign(newpointcloud);
sac_ia.align(*align);

2.4 主成分分析法(PCA)配準

1 原理

主要利用點云數據的主軸方向進行配準。首先計算兩組點云的協方差矩陣,根據協方差矩陣計算主要的特征分量,即點云數據的主軸方向,然后再通過主軸方向求出旋轉矩陣,計算兩組點云中心坐標的便移直接求出平移向量。

2 核心代碼

voidComputeEigenVectorPCA(constpcl::PointCloud::Ptr&cloud,Eigen::Vector4f&pcaCentroid,Eigen::Matrix3f&eigenVectorsPCA)
{
pcl::compute3DCentroid(*cloud,pcaCentroid);
Eigen::Matrix3fcovariance;
pcl::computeCovarianceMatrixNormalized(*cloud,pcaCentroid,covariance);
Eigen::SelfAdjointEigenSolvereigen_solver(covariance,Eigen::ComputeEigenvectors);
eigenVectorsPCA=eigen_solver.eigenvectors();
}

2.5 ICP配準

1 原理

ICP算法的核心是最小化一個目標函數,實際上就是所有對應點之間的歐式距離的平方和8e1da50a-1ec8-11ee-962d-dac502259ad0.png2 步驟

①尋找對應點:我們在有初值的情況下,假設用初始的變換矩陣對source cloud進行變換,將變換后的點云與target cloud進行比較,只要兩個點云距離小于一定閾值,我們就認為這兩個點就是對應點。

②R、T優化:有了對應點之后,我們就可以用對應點對旋轉R與平移T進行估計。這里R和T中只有6個自由度,而我們的對應點數量是龐大的。因此,我們可以采用最小二乘等方法求解最優的旋轉平移矩陣,一個數值優化問題。

③迭代:我們優化得到了一個新的R與T,導致了一些點轉換后的位置發生變化,一些對應點也相應的發生了變化。因此,我們又回到了步驟②中的尋找對應點方法。②③步驟不停迭代進行,直到滿足一些迭代終止條件,如R、T的變化量小于一定值,或者上述目標函數的變化小于一定值,或者對應點不再變化等。

3 核心代碼

icp.setInputSource(source);//源點云
icp.setInputTarget(target);//目標點云
icp.setTransformationEpsilon(1e-10);//為終止條件設置最小轉換差異
icp.setMaxCorrespondenceDistance(1);//設置對應點對之間的最大距離(此值對配準結果影響較大)。
icp.setEuclideanFitnessEpsilon(0.05);//設置收斂條件是均方誤差和小于閾值,停止迭代;
icp.setMaximumIterations(35);//最大迭代次數
pcl::PointCloud::Ptricp_cloud(newpcl::PointCloud);
icp.align(*icp_cloud);

3 深度學習的配準算法

①PointNetLK (Deep ICP)是基于 PointNet的改進版ICP算法。PointNet被用來提取點云的全局特征,然后使用牛頓法迭代近似相似性變換參數,并且使用這個過程中估計的點對映射來更新權重。

②Deep Closest Point (DCP)基于深度神經網絡的點云配準算法,它先通過PointNet提取特征,然后計算每個點在目標點云中的最近鄰點,并計算這兩個點之間的距離。之后,它將這些信息傳遞到一個形狀編碼器來學習在兩個點云之間尋找最優配準關系,并輸出變換矩陣使得兩個點云重合。

③PRNetPRNet是基于 PointNet++ 的點云配準算法。它的主要思想是將兩個點云投射到一個球面上,然后計算在這個球面上的卷積特征。卷積完成后,PRNet使用粗配準階段進行初始配準,再使用 RANSAC 進行細配準,最終輸出配準矩陣。

④PPFNetPPFNet是基于局部點對特征(PPF)的點云配準算法,使用神經網絡學習點對之間的相對變換,并輸出變換矩陣使得兩個點云對齊。這個算法使用卷積神經網絡對點云進行編碼,并學習 PPF 匹配關系的特征,并使用訓練過的網絡對新的點云對進行配準。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 算法
    +關注

    關注

    23

    文章

    4613

    瀏覽量

    92948
  • 深度學習
    +關注

    關注

    73

    文章

    5503

    瀏覽量

    121200
  • 點云數據
    +關注

    關注

    0

    文章

    13

    瀏覽量

    1510

原文標題:匯總!三維點云配準算法,包括4PCS、K-4PCS、SAC-IA、ICP、PCA、深度學習方法等

文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于深度學習三維方法

    基于深度學習三維
    發表于 11-29 11:41 ?1836次閱讀

    機器視覺之ICP算法和RANSAC算法

    迭代最近ICP(Iterative Closest Point迭代最近算法是一種集對
    發表于 06-19 08:00

    一種快速的三維自動方法

    采用主成分分析方法(PCA)定義了簡單的數學模型和軸向確定方法來實現。大量實驗證明,
    發表于 09-23 17:59 ?25次下載

    三維顱骨自動非剛性方法

    針對三維顱骨模型在初始姿態相差較大以及存在較多缺失情況下自動困難的問題,提出一種基于邊緣對應的三維顱骨非剛性自動
    發表于 12-09 10:23 ?0次下載

    基于平移域估計的全局算法

    針對迭代最近ICP算法需要兩幅具有良好的初始位置,否則易陷入局部最優的問題,提出了一種基于平移域估計的
    發表于 12-18 13:50 ?0次下載
    基于平移域估計的<b class='flag-5'>點</b><b class='flag-5'>云</b>全局<b class='flag-5'>配</b><b class='flag-5'>準</b><b class='flag-5'>算法</b>

    基于分層策略的三維非剛性模型算法

    三維非剛性模型分析中,通常需要對不同姿態下的模型進行。針對傳統配算法存在復雜度高、計算量大、精確度低等問題,提出一種新的基于分層策略
    發表于 01-23 14:50 ?3次下載
    基于分層策略的<b class='flag-5'>三維</b>非剛性模型<b class='flag-5'>配</b><b class='flag-5'>準</b><b class='flag-5'>算法</b>

    使用PCL進行數據粗算法的研究資料分析

    傳統ICP算法精度受點初始位姿影響較大,收斂速度慢,不能滿足精細化建模的要求。基于此問題,通過基于快速
    發表于 03-01 09:34 ?14次下載
    使用PCL進行<b class='flag-5'>點</b><b class='flag-5'>云</b>數據粗<b class='flag-5'>配</b><b class='flag-5'>準</b><b class='flag-5'>算法</b>的研究資料分析

    匹配與ICP算法基本思想

    ICP(Iterative Closest Point迭代最近算法是一種集對
    的頭像 發表于 09-24 12:43 ?3865次閱讀
    <b class='flag-5'>點</b><b class='flag-5'>云</b>匹配與<b class='flag-5'>ICP</b><b class='flag-5'>算法</b>基本思想

    計算機視覺:三維數據處理學習內容總結

    三維匹配的目的就是把相鄰掃描的數據拼接在一起。三維匹配重點關注匹配算法,常用的算法有最近
    的頭像 發表于 11-27 10:32 ?4862次閱讀

    基于深度學習三維語義分割研究分析

    近年來,深度傳感器和三維激光掃描儀的普及推動了三維處理方法的快速發展。
    發表于 04-01 14:48 ?16次下載
    基于<b class='flag-5'>深度</b><b class='flag-5'>學習</b>的<b class='flag-5'>三維</b><b class='flag-5'>點</b><b class='flag-5'>云</b>語義分割研究分析

    自動駕駛圈黑話:常用的方法以及未來發展方向

    深度學習在自動駕駛領域可謂無往不利,領域也不例外。基于
    發表于 11-11 14:18 ?2091次閱讀

    三維過程及集到點集ICP算法研究

    的模式基本上已經固定為使用ICP算法及其各種變種。ICP算法由Besl and McKay
    的頭像 發表于 11-28 16:12 ?1546次閱讀

    三維的相關知識學習技巧

    過程就是求一個兩個之間的旋轉平移矩陣(rigid transform or eucl
    的頭像 發表于 12-02 09:40 ?1928次閱讀

    基于深度學習三維方法

    一、摘要 本文介紹了一種基于深度學習三維
    的頭像 發表于 06-17 09:54 ?1395次閱讀
    基于<b class='flag-5'>深度</b><b class='flag-5'>學習</b>的<b class='flag-5'>三維</b><b class='flag-5'>點</b><b class='flag-5'>云</b><b class='flag-5'>配</b><b class='flag-5'>準</b>新<b class='flag-5'>方法</b>

    三維算法原理及推導

    就是再兩個還差得十萬八千里、完全不清楚兩個的相對位置關系的情況下,找到一個這兩個
    的頭像 發表于 09-25 11:31 ?1001次閱讀
    主站蜘蛛池模板: 18日本人XXXXXX18| 免费果冻传媒2021在线观看| 凌馨baby| V8成品人视频| 午夜DV内射一区二区| 精品精品国产yyy5857香蕉| 伊人青青青| 漂亮的av女演员| 国产精品色吧国产精品| 伊在香蕉国产在线视频| 欧美性xxx极品| 国产在线成人一区二区三区| 8X拨牐拨牐X8免费视频8| 色情www日本欧美| 久久观看视频| 嘟嘟嘟在线视频免费观看高清中文 | 美女久久久| 国产91综合| 中文无码第3页不卡av| 肉肉的各种姿势高H细文| 九九热精品在线观看| 岛国大片在线观看完整版| 伊人国产在线视频| 中文字幕无码一区二区免费| 欧美丰满白嫩bbxx| 国产在线观看香蕉视频| 99久久免费只有精品| 妈妈的职业3完整版在线播放| 超碰97视频在线观看| 一点色成人| 色综合久久天天影视网| 看看妇女的B免费看| 国产精品久久久久久久久LI无码| 最近日本字幕MV免费观看在线| 歪歪爽蜜臀AV久久精品人人槡| 美国大臿蕉香蕉大视频| 国产人妻精品午夜福利免费不卡| fyeex性欧美人与曾| 在线 国产 欧美 专区| 快穿女主有名器的H纯肉黄暴拉文| 国产99久久久国产精品成人|