当前位置: 首页 > news >正文

网站建设制作做网站优化推广公司登录百度app

网站建设制作做网站优化推广公司,登录百度app,网站模板设计,wordpress目录详解文章目录基本原理open3d调用绘图基本原理 ICP, 即Iterative Closest Point, 迭代点算法。 ICP算法有多种形式,其中最简单的思路就是比较点与点之间的距离,对于点云P{pi},Q{qi}P\{p_i\}, Q\{q_i\}P{pi​},Q{qi​}而言,如果二者是同一目标&am…

文章目录

    • 基本原理
    • open3d调用
    • 绘图

基本原理

ICP, 即Iterative Closest Point, 迭代点算法。

ICP算法有多种形式,其中最简单的思路就是比较点与点之间的距离,对于点云P={pi},Q={qi}P=\{p_i\}, Q=\{q_i\}P={pi},Q={qi}而言,如果二者是同一目标,通过旋转、平移等操作可以实现重合的话,那么只需要固定QQQ而不断地旋转或平移PPP,最终二者一定能最完美地重合。

设旋转PPP的矩阵为RRR,平移矩阵为ttt,在完美匹配的情况下,必有qi=Rpi+tq_i = Rp_i + tqi=Rpi+t

又因三维点云不具备栅格特征,故而很难保证qiq_iqipip_ipi是同一点,所以要使得目标函数最小化

arg min⁡R,t12∑i=1n∥qi−Rpi−t∥2\argmin_{R,t}\frac{1}{2}\sum^n_{i=1}\Vert q_i-Rp_i-t\Vert^2 R,targmin21i=1nqiRpit2

1992年Chen和Medioni对此方案进行了改进,提出了点对面的预估方法,其目标函数为

arg min⁡R,t12∑i=1n[(qi−Rpi)⋅np]2\argmin_{R,t}\frac{1}{2}\sum^n_{i=1}[(q_i-Rp_i)\cdot n_p]^2 R,targmin21i=1n[(qiRpi)np]2

其中npn_pnp是点ppp的法线,这种方案显然效率更高。

open3d调用

open3d中实现了ICP算法,参数如下

registration_icp(source, target, max_correspondence_distance, init, estimation_method, criteria)

source为点云PPPtarget为目标点云QQQmax_correspondence_distance为匹配点在未匹配时的最大距离,init为初始变化矩阵,默认为单位矩阵;criteria为精度。

estimation_method可以理解为上面提到的两种方案,下面选择点对点ICP方法进行计算

import numpy as np
import open3d as o3dpipreg = o3d.pipelines.registrationpcd = o3d.data.DemoICPPointClouds()
src = o3d.io.read_point_cloud(pcd.paths[0])
tar = o3d.io.read_point_cloud(pcd.paths[1])
th = 0.02
trans_init = np.array([[0.862, 0.011, -0.507, 0.5], [-0.139, 0.967, -0.215, 0.7],[0.487, 0.255, 0.835, -1.4], [0.0, 0.0, 0.0, 1.0]])reg = pipreg.registration_icp(src, tar, th, trans_init,pipreg.TransformationEstimationPointToPoint())print(reg.transformation)
''' 变换矩阵
[[ 0.83924644  0.01006041 -0.54390867  0.64639961][-0.15102344  0.96521988 -0.21491604  0.75166079][ 0.52191123  0.2616952   0.81146378 -1.50303533][ 0.          0.          0.          1.        ]]
'''
print(reg)

print(reg)的返回信息如下,表示点云配准的拟合程度

RegistrationResult with fitness=3.724495e-01, inlier_rmse=7.760179e-03, and correspondence_set size of 74056 Access transformation to get result.

绘图

为了对比配准前后的区别,对srctar放在图中对比

import copy
srcDraw = copy.deepcopy(src)
tarDraw = copy.deepcopy(tar)
srcDraw.paint_uniform_color([1, 1, 0])
tarDraw.paint_uniform_color([0, 1, 1])
srcDraw.transform(tf)
o3d.visualization.draw_geometries([srcDraw, tarDraw])

此为原图,可以看到两组点云完全是错位的

在这里插入图片描述

srcDraw = copy.deepcopy(src)
tarDraw.paint_uniform_color([0, 1, 1])
srcDraw.transform(reg.transformation)
o3d.visualization.draw_geometries([srcDraw, tarDraw])

得到结果如下,可见两组不同颜色的点云已经几乎重合到了一起

在这里插入图片描述

http://www.yayakq.cn/news/101886/

相关文章:

  • 做网批有专门的网站吗?怎么做网站登录界面
  • 怎么改版一个网站北京做网站优化多少钱
  • 曲阳网站制作公司上海 网站备案系统
  • 做网站工作好么销售一个产品的网站怎么做的
  • 河北大名网站建设招聘群辉搭wordpress
  • 软件定制图片衡阳专业的关键词优化终报价
  • dns解析失败登录不了网站农产品网络营销策划方案
  • 浙江省住房和城乡建设厅网站 文件西安建设银行网站
  • html电影网站源码线上小程序
  • 山西网站建设服务公司有哪些专门做减肥内容的网站
  • 怎样优化排名自己网站网站策划书撰写
  • 佛山网站制作建设2024年个体工商户年报怎么填
  • 成都 网站 建设各大网站热搜榜排名
  • 建设工程职称 在哪个网站网站的后台
  • 用asp制作一个简单的网站服务器安全狗
  • 网站备案怎么注销爱站工具有加超人下拉系统
  • 网站建设活动海报wordpress建网站详细教程
  • 建设部网站注册中心商品推广软文范例200字
  • 哪个是网络营销导向网站建设的基础营销型网站建设0469z
  • 安平县做百度网站电话朔州做网站的公司
  • 正规网站建设找哪家好wordpress菜单html5
  • 盐城市城乡建设局网站网站建设制作收费
  • wordpress 静态化 插件哪些网站可以做seo
  • 在网上做效果图的网站.net做的大型网站吗
  • 网站开发连接效果软文推广策划方案
  • 网站上线流程图小程序开发工具编辑器
  • 夹江企业网站建设报价九易建网站的建站流程
  • 桂林网站建设凡森网络上街区网站建设
  • 云南网站推广的目的用dw做的网站能用吗
  • 网站建设策划怎么沟通怀化网站优化公司推荐