1.拟合函数的建立不同。这种方法建立拟合函数不是采用传统的多项式或其他函数,而是通过系数向量和基函数来决定在某个x处的值。

2.引入紧支的概念,认为在x处的值y只受到x附近子域内的节点的影响。这个子域称作是x的影响区域,影响区域外的节点对x处的取值没有影响。影响区域内的每个节点对x处的取值的影响是不一样的。所以需要一个权函数来定义每个节点的影响。

从上述的阐述来看,如果取不同的基函数,不同的权函数,不同的影响区域范围,可以得到不同的拟合效果。

下面介绍一下算法:

范数(norm)是数学中的一种基本概念。在泛函分析中,它定义在赋范线性空间中,并满足一定的条件,即①非负性;②齐次性;③三角不等式。它常常被用来度量某个向量空间(或矩阵)中的每个向量的长度或大小。

常用范数

这里以Cn空间为例,Rn空间类似。

最常用的范数就是p-范数。若

,那么

可以验证p-范数确实满足范数的定义。其中三角不等式的证明不是平凡的,这个结论通常称为闵可夫斯基(Minkowski)不等式。

当p取

的时候分别是以下几种最简单的情形:

1-范数:║x║1=│x1│+│x2│+…+│xn│

2-范数:║x║2=(│x1│2+│x2│2+…+│xn│2)1/2

∞-范数:║x║∞=max(│x1│,│x2│,…,│xn│)

其中2-范数就是通常意义下的距离。

对于这些范数有以下不等式:║x║∞ ≤ ║x║2 ≤ ║x║1 ≤ n1/2║x║2 ≤ n║x║∞

另外,若p和q是赫德尔(Hölder)共轭指标,即1/p+1/q=1,那么有赫德尔不等式:

|

当p=q=2时就是柯西-许瓦兹(Cauchy-Schwarz)不等式。

如果直接求解出a,那么可以算出在x处的函数值了。

介绍一下权函数:

在影响区域内,权函数非负,并且沿径向单调递减,即随着到当前x处的距离的增加而递减。比如:

大概的程序流程:

一个例子的matlab code:

clc;clear; 
%曲线拟合

x=[0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0]; 
y=[0, 4, 5, 14, 15, 14.5, 14, 12, 10, 5, 4]; 
scatter(x,y,'filled'); 
len_x = length(x);

max_x = max(x); 
min_x = min(x);

num = 100; 
delta = (max_x-min_x)/num; 
x_f =[]; 
f =[]; 
max_delta = (max_x-min_x)*3/10; 
for i=0:num 
    x_val = min_x + i*delta; 
    x_f = [x_f,x_val]; 
    A = zeros(2,2); 
    B = []; 
    for j=1:len_x 
        s = abs(x(j)-x_val)/max_delta; 
        if s<=0.5 
            w = 2/3-4*s^2+4*s^3; 
        elseif s<=1 
            w = 4/3-4*s+4*s^2-4*s^3/3; 
        else 
            w = 0; 
        end 
        A = A + w*[1;x(j)]*[1,x(j)]; 
        B = [B,w*[1;x(j)]]; 
    end 
    f =[f,[1,x_val]*inv(A)*B*y']; 
end 
hold on 
plot(x_f,f,'r');

MLS(移动最小二乘)相关推荐

  1. MLS 移动最小二乘

    1.拟合函数的建立不同.这种方法建立拟合函数不是采用传统的多项式或其他函数,而是通过系数向量和基函数来决定在某个x处的值. 2.引入紧支的概念,认为在x处的值y只受到x附近子域内的节点的影响.这个子域 ...

  2. OpenCV Eigen Sophus PCL G2O

    外用库学习笔记 OpenCV 需知 OpenCV的结构 OpenCV modules 头文件 数据类型 示例 显示图片 视频 从摄像头中读取 读取文件并存放 读取配置文件 保存图片到文件 图像的像素 ...

  3. 点云的平滑与法线计算

    需要平滑的情况: 1.用RGB-D激光扫描仪等设备扫描物体,尤其是比较小的物体时,往往会有测量误差.这些误差所造成的不规则数据如果直接拿来曲面重建的话,会使得重建的曲面不光滑或者有漏洞,而且这种不规则 ...

  4. 3D点云系列——pcl:点云平滑及法线估计

    通过重采样实现点云平滑 需要平滑的情况: 用RGB-D激光扫描仪等设备扫描物体,尤其是比较小的物体时,往往会有测量误差.这些误差所造成的不规则数据如果直接拿来曲面重建的话,会使得重建的曲面不光滑或者有 ...

  5. PCL——从点云到网格(三)点云到Mesh

    参考: https://mp.weixin.qq.com/s/GFDWOudJ08In6jFyrZ7hhg https://mp.weixin.qq.com/s/FfHkVY-lmlOSf4jKoZq ...

  6. SLAM练习题(九)——点云融合、滤波、平滑、网格化

    SLAM 学习笔记 文章目录 点云融合 题目 项目结构 讨论: 点云滤波 题目 讨论 点云平滑 题目 讨论 点云网格化 题目 讨论 以下题目来自计算机视觉life从零开始一起学习SLAM系列 点云融合 ...

  7. PCL_第13章_重建

    一.resamping重采样 参考:https://www.cnblogs.com/longyp/articles/7435547.html https://blog.csdn.net/DLW__/a ...

  8. 点云的网格化【Win10+VS2015】

    本文为参考[计算机视觉life]公众号的系列文章:从零开始一起学习SLAM | 点云到网格的进化,实现的点云网格化过程. 网格化流程 下采样+统计滤波 通过下采样减少点云数据容量.提高处理速度:使用统 ...

  9. 3D点云系列———pcl:点云网格化

    参考:https://mp.weixin.qq.com/s/FfHkVY-lmlOSf4jKoZqjEA 什么是网格 网格主要用于计算机图形学中,有三角.四角网格等很多种. 计算机图形学中的网格处理绝 ...

  10. 基于移动最小二乘(MLS)的图像扭曲刚性变形python实现

    基于移动最小二乘(MLS)的图像扭曲刚性变形python实现 简单介绍一下基于mls的图像变形 直接上代码 用来做的一个瘦脸前后对比 写在后面 简单介绍一下基于mls的图像变形 先假设我们的图片像素为 ...

最新文章

  1. c++中的auto关键字
  2. 利用进化算法进行仿k-means聚类(可称之为EA-KMeans算法)
  3. linux6.5虛擬機镜像,CentOS 7.2 自动安装光盘实验全过程记录
  4. 重复值处理 - 清洗 DataFrame 中的各种重复类型 - Python代码
  5. 亟需为个人信息安全“保驾护航”
  6. 最详细的js获取当前url的方法
  7. 教你如何破解无线网络密码(无线网络密码破解)
  8. 如何免费使用office软件?
  9. 服务器信号标识是什么意思,手机信号栏的这些“符号”是什么意思,你知道吗?...
  10. WIN7家庭版升级到旗舰版操作
  11. 小鑫の日常系列故事(七)——小纸条 (字符串) SDUT
  12. 高德地图API总结--Marker多点聚合
  13. Python语言程序设计笔记(全)
  14. 翻译:SQL Server 2005中的覆盖索引
  15. npm ERR! Could not install from “Files\nodejs\node_cache\_npx\10184“ as it does not contain a packag
  16. 2017年乌镇互联网大会部分要点实地记录
  17. Type 和 class 的区别
  18. #父与子的编程之旅#第十三章
  19. 寻找市场中的Alpha(上):WorldQuant的阿尔法设计理念
  20. HTML的两种盒子模型

热门文章

  1. 推荐几大免费api接口
  2. PHP反序列化漏洞-CTF实例
  3. 深入理解python中None的真正用法
  4. 雷雨(2008.07.08夜雨杂记)
  5. RK3588编译问题集
  6. 国密算法SSL安全通道Tomcat7的配置,适配360国密浏览器,密信国密浏览器,海泰红莲花国密浏览器
  7. 中国计算机网络专科学校前十名,全国大专排名2021最新排名表 全国大专排名前50名...
  8. Python基础--通用序列操作
  9. 企业招聘管理系统哪家好?应该如何选择
  10. Latent Dirichlet Allocation (LDA)