计算机视觉-拟合

news2025/2/11 7:34:36

一、拟合

拟合的作用主要是给物体有一个更好的描述

根据任务选择对应的方法(最小二乘,全最小二乘,鲁棒最小二乘,RANSAC)

边缘提取只能告诉边,但是给不出来数学描述(应该告诉这个点线是谁的)

1.1 拟合任务

如何从边缘找出真正的线?

存在问题
①噪声(偏离)    
②外点、离群点
③缺失数据(线上的点看不到了)

1.2 最小二乘

沿着y方向的距离

问题:

不能描述垂直的线

摄像机方向改变可能就不能求解了

1.3 全最小二乘

找的线跟这条线上的法向量上的投影越短越好

度量的是点到直线的距离而不是点在y方向到直线的距离

1.4 极大似然估计

真实的点沿着法向量方向产生了一个由噪声引起的误差,这个点的概率满足高斯分布

 概率越大越好,由\varepsilon决定,概率大的那个点就是我们要的直线附近的点

有外点效果不好,用鲁棒的最小二乘

总损失=点到直线的距离

1.5 鲁棒的最小二乘

不用点到直线的距离作为损失

u是点到直线的距离,σ(尺度参数)来控制点到直线距离的影响(距离多少点没有贡献了),太远的点就是噪声点,就不考虑了。

σ=10时,超过10以后贡献就小了,远的点不要了

        σ选的太小

        σ选的太大,和最小二乘就没有区别了,解决不了问题了

        σ最好选择1.5倍的平均残差

1.6 RANSAC

多条线,噪点太多,外点太多

随机采样一致性算法
1.选择一个最小的集合:随机选2个点

2.写出直线方程(2点确定一条直线)
3.剩下的点给这个直线投票,就是看剩下的点到直线的距离之和,设置一个小门限,如果这条直线有90个点进行投票就记下这条直线

再选两点,重复上3个步骤,哪条直线的票数高就留下哪条直线,就是最后的输出

最小二乘的方法: (不对)

 RANSAC方法:

1.任选两点

2.写出直线方程(2点确定一条直线)

3.剩下的点给这个直线投票,就是看剩下的点到直线的距离之和

4.设置一个小门限,如果这条直线有90个点投票(在门限内)就记下这条直线

5.重复上述步骤

6.确定最合适的直线

1.7 RANSAC参数

s:几个点

N:迭代多少次才能选择出合适的点,先给出得出这条线的正确概率

1-e:属于这条线点的概率

外点率e越高,需要迭代的次数N就越多

1.8自适应方法

真实情况下很多时候不知道外点率e,N就不知道

        先假设N=无穷,先随便选两个点计算出内点率,就能得出外点率e,带入算出N。计算出的N越小越好,依次迭代                      找到直线l和内点数d

1.9 RANSAC的应用实例

随便选取三对点,算出abcdef,用其他的点进行投票(满足一致性),重复上述步骤,

1.10 霍夫变换
  • 适用于检测具有明确数学表达式的形状,如直线、圆、椭圆等。在道路检测、车道线检测等场景中,霍夫变换可以快速检测出直线状的道路边界或车道线。

图像空间中的一条直线对应参数空间中的一个点

图像空间中的一个点对应参数空间中的一条直线

直线垂直时?

极坐标表示

一个点选取\theta为0-180度,算出一条直线,选取所有直线的交点对应的\rho\theta

 噪声影响

噪声点多,投票的格子变少

随机点多,也会对产生投票,会产生很多线

梯度方向?(不需要选取θ为180度范围那么大)

霍夫变换改进算法:

Canny算子把边缘的点提取出来,知道梯度方向就知道\theta,只选取\theta附近计算就可以了

针对圆形,先找到梯度方向,针对一个点选取不同的r(一个r就会有两个点,对应两个圆心)画出直线,会有两条,一个向心一个离心,

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JVM详解一】类加载过程与内存区域划分

一、简介 1.1 概述 JVM是Java Virtual Machine(Java虚拟机)的缩写,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。由一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域等组成。JVM屏蔽了与操作系统平台相关…

Unity项目接入xLua的一种流程

1. 导入xlua 首先导入xlua,这个不用多说 2. 编写C#和Lua交互脚本 基础版本,即xlua自带的版本 using System.Collections; using System.Collections.Generic; using UnityEngine; using XLua; using System; using System.IO;[Serializable] public…

Deepseek 接入Word处理对话框(隐藏密钥)

硅基流动邀请码:1zNe93Cp 邀请链接:网页链接 亲测deepseek接入word,自由调用对话,看截图有兴趣的复用代码(当然也可以自己向deepseek提问,帮助你完成接入,但是提问逻辑不一样给出的答案是千差万…

Office/WPS接入DS等多个AI工具,开启办公新模式!

在现代职场中,Office办公套件已成为工作和学习的必备工具,其功能强大但复杂,熟练掌握需要系统的学习。为了简化操作,使每个人都能轻松使用各种功能,市场上涌现出各类办公插件。这些插件不仅提升了用户体验,…

ximalaya(三) playUriList值解密--webpack

本文主要介绍解密音频播放url参数。 本文仅代表个人理解,如有其他建议可在评论区沟通。 声明 仅仅记录一下自己的学习方法,不作为其他参考、更不作为商业用途。如有侵犯请联系本人删除 目标地址:aHR0cHM6Ly93d3cueGltYWxheWEuY29tL3NvdW5k…

ASP.NET Core JWT

目录 Session的缺点 JWT(Json Web Token) 优点: 登录流程 JWT的基本使用 生成JWT 解码JWT 用JwtSecurityTokenHandler对JWT解码 注意 Session的缺点 对于分布式集群环境,Session数据保存在服务器内存中就不合适了&#…

光伏-报告显示,假期内,硅料端签单顺序发货相对稳定。若3月份下游存提产,则不排除硅料价格有上调预期。

据TrendForce集邦咨询报告显示,假期内,硅料端按照前期签单顺序发货,相对稳定。若3月份下游存提产,则不排除硅料价格有上调预期。 002306中科云网 旅游 | 公司为提供复合菜系特色餐饮的连锁企业,形成了以粤菜&#xff…

【信息系统项目管理师-案例真题】2017上半年案例分析答案和详解

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 试题一【问题1】8 分【问题2】4 分【问题3】8 分【问题4】5 分试题二【问题1】10 分【问题2】8 分【问题3】6 分【问题4】5 分试题三【问题1】5 分【问题2】7 分【问题3】6 分【问题4】3 分试题一 阅读下列说明…

滴水逆向_程序实现弹窗修改OEP

作业: 几个很重要的注意事项。 1 我们模拟的是内核如何将一个文件硬盘中拉伸到内存中,但是我们做的仅仅是 模拟拉伸过程。也就是说其中的属性字段是无差别的拷贝的。 但是加载exe的时候 ,imagebase 是随机分配的。 我们打开内存中的exe&…

快速上手——.net封装使用DeekSeek-V3 模型

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:新的征程,用爱发电,去丈量人心,是否能达到人机合一?开工大吉 新的一年就这么水灵灵的开始了,在这里,祝各位读者新春快乐,万事如意! 新年伊…

ReactNative进阶(五十九):存量 react-native 项目适配 HarmonyOS NEXT

文章目录 一、前言二、ohos_react_native2.1 Fabric2.2 TurboModule2.2.1 ArkTSTurboModule2.2.2 cxxTurboModule: 三、拓展阅读 一、前言 2024年10月22日19:00,华为在深圳举办“原生鸿蒙之夜暨华为全场景新品发布会”,主题为“星河璀璨&…

1-2 面向对象编程方法

1.0 面向对象编程思维 在面向对象风格中,结构体被看做数据(data),而操作数据的函数称作方法(method)。目前函数 和数据是分离的,函数并不直接操作数据,我们需要拿到函数返回的结果&a…

CSS 组合选择符详解与实战示例

在 Web 开发过程中,CSS 用于定义页面元素的样式,而选择器则帮助我们精确定位需要添加样式的元素。今天我们主要来讲解 CSS 中的组合选择符,它们能够根据 DOM 结构中元素之间的关系来选中目标元素,从而写出结构清晰、易于维护的 CS…

html为<td>添加标注文本

样式说明: /*为td添加相对定位点*/ .td_text {position: relative; }/*为p添加绝对坐标(相对于父元素中的定位点)*/ .td_text p {position: absolute;top: 80%;font-size: 8px; }参考资料:

apachePoi中XSSFClientAnchor图片坐标简述;填充多张图片

概述 业务中经常会遇到在单元格内填充图片的需求,而且要求指定图片在单元格内的位置。 一般都是用的apache的poi,设置图片坐标。 HSSFClientAnchor(int dx1, int dy1, int dx2, int dy2, short col1, int row1, short col2, int row2)dx1 dy1 起始单元…

无界构建微前端?NO!NO!NO!多系统融合思路!

文章目录 微前端理解1、微前端概念2、微前端特性3、微前端方案a、iframeb、qiankun --> 使用比较复杂 --> 自己写对vite的插件c、micro-app --> 京东开发 --> 对vite支持更拉跨d、EMP 方案--> 必须使用 webpack5 --> 很多人感觉不是微前端 --> 去中心化方…

为飞牛OS基于FRP的内网穿透开启HTTPS加密

前言 玩NAS的朋友应该有比较多只是在家庭局域网使用,比如日常看看电影、备份手机照片什么的,这属于家庭局域网的使用场景。 当然了,如果你经常出差,或者过年回家不想把NAS也背回去,或者是想上班摸鱼,或者是…

《基于Python与DashScope的智能语音合成工具开发》

《基于Python与DashScope的智能语音合成工具开发》 在当今数字化时代,语音合成技术已经广泛应用于各种场景,如智能语音助手、有声读物、导航系统等。本文将介绍如何使用Python和DashScope平台开发一个简单而功能强大的文字转语音工具。通过这个工具&…

快速上手Vim的使用

Vim Linux编辑器-vim使用命令行模式下所有选项都可以带数字底行模式可视块模式(ctrlV进入) Linux编辑器-vim使用 Vim有多种模式的编辑器。能帮助我们很快的进行代码的编辑,甚至完成很多其他事情。 默认情况下我们打开vim在命令模式下&#x…

vue学习第四天 v-on事件绑定

v-on绑定事件如下,点击按钮会弹出alert v-on:事件具体名称“事件调用的函数名” 事件调用的函数写在methods里面 在methods属性的函数里,可以用this获取data的数据,this代表的就是整个vue实例 用this.age就可以拿到age&#xff0…