日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人文社科 > 生活经验 >内容正文

生活经验

Open3d学习计划—高级篇 2(彩色点云配准)

發(fā)布時(shí)間:2023/11/27 生活经验 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Open3d学习计划—高级篇 2(彩色点云配准) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Open3D是一個(gè)開(kāi)源庫(kù),支持快速開(kāi)發(fā)和處理3D數(shù)據(jù)。Open3D在c++和Python中公開(kāi)了一組精心選擇的數(shù)據(jù)結(jié)構(gòu)和算法。后端是高度優(yōu)化的,并且是為并行化而設(shè)置的。

本系列學(xué)習(xí)計(jì)劃有Blue同學(xué)作為發(fā)起人,主要以O(shè)pen3D官方網(wǎng)站的教程為主進(jìn)行翻譯與實(shí)踐的學(xué)習(xí)計(jì)劃。點(diǎn)云PCL公眾號(hào)作為免費(fèi)的3D視覺(jué),點(diǎn)云交流社區(qū),期待有使用Open3D或者感興趣的小伙伴能夠加入我們的翻譯計(jì)劃,貢獻(xiàn)免費(fèi)交流社區(qū),為使用Open3D提供中文的使用教程。

本教程演示了一種同時(shí)使用幾何和顏色進(jìn)行配準(zhǔn)的ICP變體。它實(shí)現(xiàn)了這篇文章的算法 [Park2017] ,實(shí)現(xiàn)了顏色信息鎖定與切平面的對(duì)齊(The color information locks the alignment along the tangent plane)。這個(gè)算法與之前的ICP配準(zhǔn)速度相當(dāng),但是實(shí)現(xiàn)了更高的精度和魯棒性。本教程使用的符號(hào)來(lái)自ICP配準(zhǔn)。

可視化函數(shù)

為了掩飾不同顏色點(diǎn)云之間的對(duì)齊,draw_registration_result_original_color使用原本的顏色可視化源點(diǎn)云.

def draw_registration_result_original_color(source, target, transformation):source_temp = copy.deepcopy(source)source_temp.transform(transformation)o3d.visualization.draw_geometries([source_temp, target])

注意:這里原來(lái)的教程里可視化函數(shù)都加了初始視角之類的,但是很多人反映這個(gè)會(huì)報(bào)錯(cuò),并且官方函數(shù)里也沒(méi)給出可接受的參數(shù),所以在這里把初始視角的參數(shù)都去掉了

輸入

這段代碼從兩個(gè)文件中讀取源點(diǎn)云和目標(biāo)點(diǎn)云.使用單位陣作為初始化的配準(zhǔn)矩陣.

print("1. Load two point clouds and show initial pose")
source = o3d.io.read_point_cloud("../../TestData/ColoredICP/frag_115.ply")
target = o3d.io.read_point_cloud("../../TestData/ColoredICP/frag_116.ply")# draw initial alignment
current_transformation = np.identity(4)
draw_registration_result_original_color(source, target, current_transformation)

Point-to-plane ICP

我們首先使用?Point-to-plane ICP?作為一個(gè)基準(zhǔn)算法.下面的可視化結(jié)果展示了未對(duì)其的綠色三角形紋理.這是因?yàn)閹缀渭s束不能夠阻止兩個(gè)平面滑動(dòng).

# point to plane ICP
current_transformation = np.identity(4)
print("2. Point-to-plane ICP registration is applied on original point")
print("   clouds to refine the alignment. Distance threshold 0.02.")
result_icp = o3d.registration.registration_icp(source, target, 0.02, current_transformation,o3d.registration.TransformationEstimationPointToPlane())
print(result_icp)
draw_registration_result_original_color(source, target, result_icp.transformation)

彩色點(diǎn)云配準(zhǔn)

彩色點(diǎn)云配準(zhǔn)的核心函數(shù)是 registration_colored_icp .
在這篇文章中,他使用的是具有聯(lián)合優(yōu)化目標(biāo)的ICP迭代(細(xì)節(jié)請(qǐng)看?Point-to-point ICP):

這里的?T 是被估計(jì)旋轉(zhuǎn)矩陣. E_C 和? E_G分別是光度項(xiàng)和幾何項(xiàng).?δ ∈ [ 0 , 1 ]? δ∈[0,1]是通過(guò)經(jīng)驗(yàn)決定的權(quán)重變量.
這里的幾何項(xiàng) E_G 和?Point-to-plane ICP?的目標(biāo)是相等的.

這里的 K是當(dāng)前迭代的對(duì)應(yīng)集, n_p 是對(duì)應(yīng)點(diǎn) p?的法線.
顏色項(xiàng)E_C測(cè)量的是q 點(diǎn)的顏色(用 C(q))?表示)與其在點(diǎn)p的切平面的投影上的顏色之間的差.

這里的C_p 是在?p? 的切平面上連續(xù)定義的預(yù)計(jì)算函數(shù). 函數(shù) f(?)?將3D點(diǎn)投影到切平面.更多細(xì)節(jié)請(qǐng)參看?[Park2017].
為了提高效率,?[Park2017]提供了多尺度的配準(zhǔn)方案,已經(jīng)在以下接口中實(shí)現(xiàn).

# colored pointcloud registration
# This is implementation of following paper
# J. Park, Q.-Y. Zhou, V. Koltun,
# Colored Point Cloud Registration Revisited, ICCV 2017
voxel_radius = [0.04, 0.02, 0.01]
max_iter = [50, 30, 14]
current_transformation = np.identity(4)
print("3. Colored point cloud registration")
for scale in range(3):iter = max_iter[scale]radius = voxel_radius[scale]print([iter, radius, scale])print("3-1. Downsample with a voxel size %.2f" % radius)source_down = source.voxel_down_sample(radius)target_down = target.voxel_down_sample(radius)print("3-2. Estimate normal.")source_down.estimate_normals(o3d.geometry.KDTreeSearchParamHybrid(radius=radius * 2, max_nn=30))target_down.estimate_normals(o3d.geometry.KDTreeSearchParamHybrid(radius=radius * 2, max_nn=30))print("3-3. Applying colored point cloud registration")result_icp = o3d.registration.registration_colored_icp(source_down, target_down, radius, current_transformation,o3d.registration.ICPConvergenceCriteria(relative_fitness=1e-6,relative_rmse=1e-6,max_iteration=iter))current_transformation = result_icp.transformationprint(result_icp)
draw_registration_result_original_color(source, target, result_icp.transformation)

Colored point cloud registration
[50, 0.04, 0]
3-1. Downsample with a voxel size 0.04
3-2. Estimate normal.
3-3. Applying colored point cloud registration
registration::RegistrationResult with fitness=8.763667e-01, inlier_rmse=1.457778e-02, and correspondence_set size of 2084
Access transformation to get result.
[30, 0.02, 1]
3-1. Downsample with a voxel size 0.02
3-2. Estimate normal.
3-3. Applying colored point cloud registration
registration::RegistrationResult with fitness=8.661842e-01, inlier_rmse=8.759721e-03, and correspondence_set size of 7541
Access transformation to get result.
[14, 0.01, 2]
3-1. Downsample with a voxel size 0.01
3-2. Estimate normal.
3-3. Applying colored point cloud registration
registration::RegistrationResult with fitness=8.437191e-01, inlier_rmse=4.851480e-03, and correspondence_set size of 24737
Access transformation to get result.

使用 voxel_down_sample 創(chuàng)造了三層多分辨率的點(diǎn)云.使用頂點(diǎn)法線估計(jì)來(lái)計(jì)算的法線.核心的配準(zhǔn)函數(shù) registration_colored_icp 在每一層從粗糙到精細(xì)都有調(diào)用.lambda_geometric 是 registration_colored_icp 中可選的參數(shù),用于確定(1-δ)E_c + δE_G 中的?δ ∈ [ 0 , 1 ]?
輸出的是兩組緊密對(duì)齊的點(diǎn)云,注意看上面的綠色三角形.

資源

三維點(diǎn)云論文及相關(guān)應(yīng)用分享

【點(diǎn)云論文速讀】基于激光雷達(dá)的里程計(jì)及3D點(diǎn)云地圖中的定位方法

3D目標(biāo)檢測(cè):MV3D-Net

三維點(diǎn)云分割綜述(上)

3D-MiniNet: 從點(diǎn)云中學(xué)習(xí)2D表示以實(shí)現(xiàn)快速有效的3D LIDAR語(yǔ)義分割(2020)

win下使用QT添加VTK插件實(shí)現(xiàn)點(diǎn)云可視化GUI

JSNet:3D點(diǎn)云的聯(lián)合實(shí)例和語(yǔ)義分割

大場(chǎng)景三維點(diǎn)云的語(yǔ)義分割綜述

PCL中outofcore模塊---基于核外八叉樹(shù)的大規(guī)模點(diǎn)云的顯示

基于局部凹凸性進(jìn)行目標(biāo)分割

基于三維卷積神經(jīng)網(wǎng)絡(luò)的點(diǎn)云標(biāo)記

點(diǎn)云的超體素(SuperVoxel)

基于超點(diǎn)圖的大規(guī)模點(diǎn)云分割

更多文章可查看:點(diǎn)云學(xué)習(xí)歷史文章大匯總

SLAM及AR相關(guān)分享

【開(kāi)源方案共享】ORB-SLAM3開(kāi)源啦!

【論文速讀】AVP-SLAM:自動(dòng)泊車系統(tǒng)中的語(yǔ)義SLAM

【點(diǎn)云論文速讀】StructSLAM:結(jié)構(gòu)化線特征SLAM

SLAM和AR綜述

常用的3D深度相機(jī)

AR設(shè)備單目視覺(jué)慣導(dǎo)SLAM算法綜述與評(píng)價(jià)

SLAM綜述(4)激光與視覺(jué)融合SLAM

Kimera實(shí)時(shí)重建的語(yǔ)義SLAM系統(tǒng)

SLAM綜述(3)-視覺(jué)與慣導(dǎo),視覺(jué)與深度學(xué)習(xí)SLAM

易擴(kuò)展的SLAM框架-OpenVSLAM

高翔:非結(jié)構(gòu)化道路激光SLAM中的挑戰(zhàn)

SLAM綜述之Lidar SLAM

基于魚(yú)眼相機(jī)的SLAM方法介紹

往期線上分享錄播匯總

第一期B站錄播之三維模型檢索技術(shù)

第二期B站錄播之深度學(xué)習(xí)在3D場(chǎng)景中的應(yīng)用

第三期B站錄播之CMake進(jìn)階學(xué)習(xí)

第四期B站錄播之點(diǎn)云物體及六自由度姿態(tài)估計(jì)

第五期B站錄播之點(diǎn)云深度學(xué)習(xí)語(yǔ)義分割拓展

第六期B站錄播之Pointnetlk解讀

[線上分享錄播]點(diǎn)云配準(zhǔn)概述及其在激光SLAM中的應(yīng)用

[線上分享錄播]cloudcompare插件開(kāi)發(fā)

[線上分享錄播]基于點(diǎn)云數(shù)據(jù)的?Mesh重建與處理

[線上分享錄播]機(jī)器人力反饋遙操作技術(shù)及機(jī)器人視覺(jué)分享

[線上分享錄播]地面點(diǎn)云配準(zhǔn)與機(jī)載點(diǎn)云航帶平差

點(diǎn)云PCL更多活動(dòng)請(qǐng)查看:點(diǎn)云PCL活動(dòng)之應(yīng)屆生校招群

掃描下方微信視頻號(hào)二維碼可查看最新研究成果及相關(guān)開(kāi)源方案的演示:

如果你對(duì)Open3D感興趣,或者正在使用該開(kāi)源方案,就請(qǐng)加入我們,一起翻譯,一起學(xué)習(xí),貢獻(xiàn)自己的力量,目前階段主要以微信群為主,有意者發(fā)送“Open3D學(xué)習(xí)計(jì)劃”到公眾號(hào)后臺(tái),和更多熱愛(ài)分享的小伙伴一起交流吧!如果翻譯的有什么問(wèn)題或者您有更好的意見(jiàn),請(qǐng)?jiān)u論交流!!!!

以上內(nèi)容如有錯(cuò)誤請(qǐng)留言評(píng)論,歡迎指正交流。如有侵權(quán),請(qǐng)聯(lián)系刪除

掃描二維碼

? ? ? ? ? ? ? ? ? ?關(guān)注我們

讓我們一起分享一起學(xué)習(xí)吧!期待有想法,樂(lè)于分享的小伙伴加入免費(fèi)星球注入愛(ài)分享的新鮮活力。分享的主題包含但不限于三維視覺(jué),點(diǎn)云,高精地圖,自動(dòng)駕駛,以及機(jī)器人等相關(guān)的領(lǐng)域。

分享及合作方式:微信“920177957”(需要按要求備注) 聯(lián)系郵箱:dianyunpcl@163.com,歡迎企業(yè)來(lái)聯(lián)系公眾號(hào)展開(kāi)合作。

點(diǎn)一下“在看”你會(huì)更好看耶

總結(jié)

以上是生活随笔為你收集整理的Open3d学习计划—高级篇 2(彩色点云配准)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。