法向量估计

法向量估计

  • 1. 求解点P法向量的原理
  • 2. 法向量估计的证明
  • 3. 为什么求点P的法向量,需要使用以P为中心的邻域内的点?
  • 4. 法向量估计的应用和思考
  • 5. 权重法向量估计

1. 求解点P法向量的原理

已知有一组点 P = ( p 1 , p 2 , p 3 , . . . , p n ) , p i ∈ R 3 P = (p_1,p_2,p_3,...,p_n),p_i \in R_3 P=(p1,p2,p3,...,pn),piR3,求点 p 3 p_3 p3的法向量的通用步骤:

  • 确定邻域:首先需要确定点 P 的邻域,即在点云中与点 P 相邻的点的集合。通常情况下,可以通过设置一个固定的半径或者固定数量的最近邻来定义邻域。
  • 计算局部表面拟合:对于确定的邻域内的点,可以使用拟合曲面的方法来估计局部表面形状。常用的拟合方法包括最小二乘拟合、主成分分析(PCA)拟合等。这些方法可以得到一个与邻域内点最适合的平面、曲线或曲面。
  • 计算法向量:通过拟合得到的局部表面形状,可以计算点 P 的法向量。对于平面拟合,法向量即为拟合平面的法向量;对于曲面拟合,可以通过对曲面方程求导得到法向量。
  • 后处理:在计算法向量后,可以进行一些后处理操作,比如法向量的平滑化、去噪等,以提高法向量的质量和稳定性。

这里给出使用PCA求解的步骤和代码

  • 确定领域,得到邻域内的所有点
  • 求邻域内点组成的矩阵 M ∈ R n × 3 M \in R_{n \times 3} MRn×3的协方差矩阵的奇异值分解
  • 求左奇异值矩阵的特征向量,最小的特征值对应的特征向量即为所求
    normals = []
    radius = 0.05
    leaf_size = 5  
    tree = KDTree(points,leaf_size)
    near_point_idx = tree.query_radius(points,radius)#每一点的邻居点索引,包含自身点
    
    for i in range(points.shape[0]):
        point_near = points[near_point_idx[i]] #某一点的邻居点,
        v = PCA(point_near)
        normal = v[:,2]
        normals.append(normal)
    normals = np.asarray(normals)

2. 法向量估计的证明

为什么最小特征值对应的特征向量即为法向量方向
在这里插入图片描述

3. 为什么求点P的法向量,需要使用以P为中心的邻域内的点?

假设点P为这组点的中心,只要求所有点到点P的切平面的距离的L2范数最小,就说明这个切平面最接近这簇点的表面形状
在这里插入图片描述
在这里插入图片描述

4. 法向量估计的应用和思考

  • 应用
    分割,聚类,平面检测
  • 思考半径选择太大,会受到不相关部分影响,导致法向量平滑;半径过小会容易受到噪声影响;半径不仅可以使用欧式空间邻域,同样可以使用其他尺度的邻域,包括反射率邻域,颜色邻域等;也可以根据周围点对点P的影响程度,在求法向量的时候为每个点加上权重

5. 权重法向量估计

在这里插入图片描述
也就是求 X ˉ W X ˉ T \bar{X} W \bar{X}^{T} XˉWXˉT的最小特征向量, X ˉ \bar{X} Xˉ是一组输入向量的去中心化向量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/518080.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

该主机与 Cloudera Manager Server 失去联系的时间过长。 该主机未与 Host Monitor 建立联系

该主机与 Cloudera Manager Server 失去联系的时间过长。 该主机未与 Host Monitor 建立联系 这个去集群主机cm界面上看会出现这个错误 排查思路: 一般比较常见的原因可能是出问题的主机和集群主节点的时间对应不上了。还有就是cm agent服务出现问题了 去该主机的…

阿里 对象存储OSS 云存储服务

1.简介 对象存储服务(Object Storage Service ,OSS) 是一种 海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。 2.如何使用。参考文档 看文档,说的…

水离子雾化壁炉与传统壁炉的区别与比较

水离子雾化壁炉与传统壁炉在工作原理、燃料、安全性和环保性等方面存在明显的区别和比较: 工作原理: 传统壁炉:传统壁炉通常使用木材、煤炭、天然气等燃料,并通过燃烧产生真实的火焰和热量。 水离子雾化壁炉:水离子雾…

备考ICA----Istio实验16---HTTP流量授权

备考ICA----Istio实验16—HTTP流量授权 1. 环境准备 kubectl apply -f istio/samples/bookinfo/platform/kube/bookinfo.yaml kubectl apply -f istio/samples/bookinfo/networking/bookinfo-gateway.yaml访问测试 curl -I http://192.168.126.220/productpage2. 开启mtls m…

MATLAB入门教程(带详细注释的MATLAB代码)

使用方法 将mlx文件在MATLAB上运行,即可得到下列结果: 完整代码 给出mlx文件的全文 MATLAB软件入门分析 Date:2023年3月13日 Author:Evand 入门综述 使用matlab编程时,通常使用.m文件,把所有代码编好后…

JAVA毕业设计133—基于Java+Springboot+Vue的网上宠物店商城管理系统(源代码+数据库+12000字论文)

毕设所有选题: https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootVue的网上宠物店商城管理系统(源代码数据库12000字论文)133 一、系统介绍 本项目前后端分离,分为管理员、用户两种角色 1、用户: 注册…

注意,这类人无法在视频号开店!

我是王路飞。 视频号也可以开店铺去卖货了吗? 是的!其实早在22年的时候,视频号就上线【小店】功能了,可以通过短视频、直播达人带货的形式,帮助商家转化商品。 当然了,视频号小店跟我一直在科普的抖音小…

团体程序设计天梯赛-练习集 01

天梯赛题解合集 团体程序设计天梯赛-练习集 (L1-001 - L1-012) 团体程序设计天梯赛-练习集 (L1-013 - L1-024) 团体程序设计天梯赛-练习集 (L1-025 - L1-036) 团体程序设计天梯赛-练习集 (L1-037 - L1-048) L1-001 Hello World 输出题 样例 输入 输出 Hello World!思…

kafka集群介绍+部署Filebeat+Kafka+ELK

一、消息队列 1、为什么需要消息队列(MQ) 主要原因是由于在高并发环境下,同步请求来不及处理,请求往往会发生阻塞。比如大量的请求并发访问数据库,导致行锁表锁,最后请求线程会堆积过多,从而触…

Mac电脑清理垃圾软件 Mac电脑清理垃圾的文件在哪 cleanMyMac X 4.8.0激活号码

Mac用户经常会有这样一些烦恼,比如软件之间的管理,应用生成的缓冲文件怎样删除,还有软件的卸载等等... 如何有效清理Mac中的垃圾文件,删除多余的软件成为Mac用户迫切的需求。本文就为大家介绍几款好用的Mac电脑清理垃圾软件&#…

AJAX —— 学习(一)

目录 一、原生 AJAX (一)AJAX 介绍 1.理解 2.作用 3.最大的优势 4.应用例子 (二)XML 介绍 1.理解 2.作用 (三)AJAX 的特点 1.优点 2.缺点 二、HTTP 协议 (一)HTTP 介…

GPT3, llama2, InternLM2技术报告对比

GPT3(September 22, 2020)是大语言应用的一个milestone级别的作品,Llama2(February 2023)则是目前开源大模型中最有影响力的作品,InternLM2(2023.09.20)则是中文比较有影响力的作品。…

05 - 7 段十进制数码管显示

---- 整理自B站UP主 踌躇月光 的视频 1. 实验设计 根据前一节的内容,这里也通过 ROM 的方法显示十进制。这里我们设计显示 3 位十进制数,需要三个数码管,地址位宽为 8,数据位宽为 12。 A7A6A5A4A3A2A1A0number000000000000000011…

SambaNova 芯片:深入解析其架构和高性能秘诀

SambaNova——一家总部位于帕洛阿尔托的公司已经筹集了超过10亿美元的风险投资,不会直接向公司出售芯片。相反,它出售其定制技术堆栈的访问权限,该堆栈具有专门为运行最大的人工智能模型而设计的专有硬件和软件。 最近,SambaNova…

【科研笔记】知识星球不可选择内容爬虫

知识星球不可选择内容爬虫 1 背景2 实现3 拓展遗留问题1 背景 针对与知识星球中,电脑打开网页不可选择复制粘贴的问题,进行爬虫处理,获取网页的内容,并保存在本地 2 实现 需要下载python,和爬虫的第三方库selenium,可以查看博客中有关selenium的内容进行回顾。当前使用…

在云端遇见雨云:一位服务器寻觅者的指南

引言:寻觅一座云端归宿 当我踏入数字世界的边缘,带着对网络的探索与期待,我迫切需要一座安全可靠的数字栖息地。云计算技术正如一场魔法般的变革,而在这片广袤的云端中,雨云就像是一位友善的向导,引领我穿越…

最优算法100例之28-n个骰子点数和出现的次数

专栏主页:计算机专业基础知识总结(适用于期末复习考研刷题求职面试)系列文章https://blog.csdn.net/seeker1994/category_12585732.html 题目描述 把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n,打印出S的…

OpenTofu路在何方:定量分析Terraform issue数据,洞察用户需求|OpenTofu Day 闪电演讲

数澈软件 Seal 首席架构师李平辉提交的演讲议题“Alias TerraformTofu. Job’s Done, Now What?”入选 KubeCon EU 同场活动 OpenTofu Day,本文为演讲实录。 大家好,我是 Lawrence,是 Seal 的首席架构师。今天将由我为大家带来 Lightening T…

Linux: linux常见操作指令

目录 01.ls 指令 02. pwd命令 03. cd 指令 04. touch指令 05.mkdir指令(重要) 06.rmdir指令 && rm 指令(重要) 07.man指令(重要) 07.cp指令(重要) 08.mv指令&#…

如何创建一个TCP多人聊天室?

一、什么是TCP? TCP(Transmission Control Protocol)是一种可靠的 面向连接的协议 ,可以保证数据在传输过程中不会丢失、重复或乱序。 利用TCP实现简单聊天程序,需要客户端和服务器端之间建立TCP连接,并通…