Machine Vision Technology:Lecture3 Edge detection | Fitting

Machine Vision Technology:Lecture3 Edge detection | Fitting

    • Finite difference filters有限差分滤波器
    • Effects of noise噪声对边缘检测影响
    • Derivative theorem of convolution卷积的导数定理
    • Derivative of Gaussian filter高斯滤波器的导数
    • Smoothing vs. derivative filters平滑滤波器与导数滤波器
    • Canny edge detector
    • Fitting拟合
    • Least squares line fitting最小二乘直线拟合

计算机视觉(本科) 北京邮电大学 鲁鹏


Finite difference filters有限差分滤波器

还有其他近似的导数滤波器:
在这里插入图片描述

对于 Sobel 算子:

[ − 1 0 1 − 2 0 2 − 1 0 1 ] = [ 1 2 1 ] [ − 1 0 1 ] = A B \begin{bmatrix} -1 & 0 & 1 \\ -2 & 0 & 2 \\ -1 & 0 & 1 \end{bmatrix} = \begin{bmatrix} 1 \\ 2 \\ 1 \\ \end{bmatrix} \begin{bmatrix} -1 & 0 & 1 \\ \end{bmatrix} = A B 121000121 = 121 [101]=AB

可以发现Sobel算子先对图像使用 B B B 进行卷积:求取图像边缘,然后使用 A A A 进行卷积:高斯平滑(高斯核的近似值)。

总之:提取边缘、高斯平滑。


此外,对于Roberts算子, M x M_x Mx 提取的是 135度方向的边,在边中像素差距不大,边的两边像素差距大。同理 M y M_y My 提取的是 45度方向的边。

Effects of noise噪声对边缘检测影响

考虑一个真实的图像 f ( x ) f(x) f(x),有很大的噪声干扰:
在这里插入图片描述

使用边缘滤波器进行卷积 d d x f ( x ) \frac{d}{dx}f(x) dxdf(x)

在这里插入图片描述

由于噪声影响太大,一阶导数的极值点有很多,便很难找到边缘。于是便有下面先平滑去噪、再边缘检测。

使用高斯 g g g 滤波器去噪:

在这里插入图片描述

这时,边缘在一阶导的极值点处。

Derivative theorem of convolution卷积的导数定理

  • 因为微分是卷积,卷积具有结合律Differentiation is convolution, and convolution is associative。

这样便有如下公式:
d d x ( f ∗ g ) = f ∗ d d x g \frac{d}{dx} (f*g) = f * \frac{d}{dx}g dxd(fg)=fdxdg

在这里插入图片描述

Derivative of Gaussian filter高斯滤波器的导数

高斯函数的一阶导数不可分离。

在这里插入图片描述

白色表示权重越高,黑色表示负的权值绝对值越大。

  • Scale of Gaussian derivative filter高斯导数滤波器的大小对图像提取边缘的效果

高斯一阶导的方差可以改变高斯导数滤波器的大小。

在这里插入图片描述

1pixel可以看到斑马的胡须细节,而7pixels变得模糊了便看不到这些细节。

去除了噪声但模糊了边缘。

Smoothing vs. derivative filters平滑滤波器与导数滤波器

在这里插入图片描述

平滑滤波器:平滑去噪

  • 高斯滤波器能够去除高频成分,是低通滤波器。
  • 平滑滤波器的值没有负的。
  • 平滑滤波器的值加和为1。不改变图像的强度。

在这里插入图片描述

导数滤波器:边缘提取

  • 高斯导数滤波器:等价于先平滑去噪,再微分求边缘。
  • 导数滤波器的值可以是负的。
  • 导数滤波器的值求和为0。
  • 高对比度处的高绝对值。High absolute value at points of high contrast

Canny edge detector

  • 原始图像:

在这里插入图片描述

  • norm of the gradient:梯度的L2范数

∣ ∣ ∇ f ∣ ∣ = ( ∂ f ∂ x ) 2 + ( ∂ f ∂ y ) 2 || \nabla f || = \sqrt{(\frac{\partial f}{\partial x})^2 + (\frac{\partial f}{\partial y})^2} ∣∣∇f∣∣=(xf)2+(yf)2

对原图进行卷积操作:使用x方向的卷积模版求x方向的导数,使用y方向的卷积模版求y方向的导数。

然后求L2范数得到如下边缘强度的图:

在这里插入图片描述

  • 使用阈值thresholding对边缘强度低的进行过滤。

在这里插入图片描述

上面过程产生的问题:边缘太厚:如上图中的肩膀处。

在这里插入图片描述
在这里插入图片描述

如何将这些厚实的区域梯度变成曲线?How to turn these thick regions of the gradient into curves?

  • 非极大值抑制Non-maximum suppression:用于消除边缘检测中的冗余边缘信息,只保留最具代表性的边缘。

检查像素是否沿渐变方向是局部最大值,选择沿边缘宽度的单个最大值。

在这里插入图片描述
在这里插入图片描述
在边上的某一点,沿着该点的梯度方向(与边的方向垂直),寻找左右两个邻居像素点,如对上面的q点,找到梯度方向的两个点r和p,如果q比r与q都大,则保留q点,如果q比r与q都小,则q剔除不保留。

在这里插入图片描述

上面的过程中还有个问题就是Lena的下巴的边缘消失了。产生的原因是上面使用thresholding阈值设置太高了。但如果阈值设置的太低,一些伪边就会产生。为此便有下面的双门限法:

  • Hysteresis thresholding滞后阈值法:使用高阈值提取出强边缘、然后使用低阈值会产生许多弱边缘,此时根据噪声边缘不会与强边缘有连接关系的假设,便可以剔除一些噪声边。

在这里插入图片描述

原始图像:

在这里插入图片描述

high threshold:提取强边缘。高门限结果:

在这里插入图片描述

low threshold:提取出弱边缘。低门限结果:

在这里插入图片描述

hysteresis threshold:滞后阈值法。双门限法:

在这里插入图片描述

Canny edge detector:

  • 1.使用高斯导数滤波器处理图像。去噪、提取边缘。
  • 2.求梯度的大小和方向Find magnitude and orientation of gradient:非极大值抑制使用。
  • 3.非极大值抑制Non-maximum suppression:使边缘的厚度下降到单个像素的宽度。粗边细化。
  • 4.链接和滞后阈值法Linking and thresholding (hysteresis):定义两个阈值low and high,使用高阈值开始边缘曲线,使用低阈值继续边缘曲线
edge(image, ‘canny’); # matlab

Fitting拟合

前面我们能够检测出边缘,但边缘表示的信息我们不知道,我们不知道是不是圆形、汽车的形状等等。

我们希望通过根据简单模型对多个特征进行分组,从而形成一个更高级别、更紧凑的图像中特征的表示。

拟合:选择一个参数模型来表示一组特征Choose a parametric model to represent a set of features

在这里插入图片描述

拟合面临的问题:

  • 测量特征位置中的噪声Noise in the measured feature locations
  • 无关外部数据:杂乱(异常值),多条线Extraneous data: clutter (outliers), multiple lines
  • 缺失数据:遮蔽区域Missing data: occlusions

在这里插入图片描述


Overview概述:

  • 1.如果我们知道哪些点属于这条直线,我们如何找到“最佳”线路参数?最小二乘法Least squares

找到了属于这条线上的点,拟合这条线,使用最小二乘法。

  • 2.如果有异常值怎么办?抗差拟合Robust fitting, RANSAC

这些点中有一些噪声点。噪声点少时使用Robust fitting,噪声点多时使用RANSAC。

  • 3.如果有很多条线呢?投票方式:RANSAC、Hough变换Voting methods: RANSAC, Hough transform

有很多条线,拟合一条线时,其余的点都是噪声点。噪声点比较多使用RANSAC方法,或者使用霍夫变换。

  • 4.如果我们甚至不确定这是一条线呢?Model selection

不知道图形的数学方程,如汽车边缘。可以使用Snake蛇形模型方法。

Least squares line fitting最小二乘直线拟合

在这里插入图片描述

Normal equations正规方程法。

上面是垂直Vertical最小二乘法,使用点到直线的垂直距离。会有下面问题:

  • 没有旋转不变性Not rotation-invariant。
  • 对于垂直线完全无效Fails completely for vertical lines。

Total lease squares 全最小二乘:最小化点到直线的距离。

Unit normal单位法向量: ( a , b ) a 2 + b 2 = 1 (a,b) \qquad \sqrt{a^2 + b^2}=1 (a,b)a2+b2 =1

在这里插入图片描述

对d求导,令导数等于0得到a和b表示的d,然后带入使用矩阵求:

在这里插入图片描述

最后等价于求 ( U T U ) N = 0 (U^T U)N=0 (UTU)N=0 N N N 的解,可以看成线性方程组的解,也可以看做是求 U T U U^TU UTU 的特征值0对应的特征向量 N N N

在这里插入图片描述

其中称 U T U U^TU UTU 为二阶矩矩阵second moment matrix。

在这里插入图片描述

上图中,直线 a x + b y = d ax + by = d ax+by=d 是我们要寻找的直线,单位法向量为 N = ( a , b ) N=(a,b) N=(a,b) ,带入 ( 0 , 0 ) (0,0) (0,0) 点,则 d d d 为零点到直线的距离。 ( x ˉ , y ˉ ) (\bar{x},\bar{y}) (xˉ,yˉ) 是直线上的点,则 U N UN UN 表示点在单位法向量上的投影,即求点在单位法向量上投影的和的最小值满足的 N ( a , b ) N(a,b) N(a,b)


使用概率的方式理解:

噪声点对直线的偏移服从均值为0,标准差为 σ \sigma σ 的正态分布。

在这里插入图片描述

由于要拟合的各点独立同分布iid于正态分布,利用极大似然估计,已经发生的事件概率最大化,再求对数似然估计:

在这里插入图片描述

最大化对数似然估计,等价于最小化:
∑ i = 1 n ( a x i + b y i − d ) 2 \sum_{i=1}^{n}(ax_i + by_i -d)^2 i=1n(axi+byid)2
这便转换为了上面的全最小二乘。


使用最小二乘拟合红点:

在这里插入图片描述

最小二乘与离群值(异常点)拟合:受外点影响较大。

在这里插入图片描述

使用下面的鲁棒最小二乘法。


Robust estimators稳健估计:

定义Robust function鲁棒函数 ρ \rho ρ
ρ ( u ; σ ) = u 2 σ 2 + u 2 \rho(u;\sigma) = \frac{u^2}{\sigma^2 + u^2} ρ(u;σ)=σ2+u2u2
函数图像如下:其中水平方向为 u u u σ \sigma σ 为已知参数。

在这里插入图片描述

y = x 2 y=x^2 y=x2 作为对比。

u u u 较小时,近似等价于 u u u 的平方, σ \sigma σ 越小这种近似越明显。 u u u 较大时,趋近于1。

针对上面的问题,此时可以把 u u u 看做点到直线的距离 r i ( x i , θ ) r_i(x_i,\theta) ri(xi,θ),于是最小二乘改进为最小化:
∑ i = 1 n ρ ( r i ( x i , θ ) ; σ ) \sum_{i=1}^{n} \rho(r_i(x_i, \theta) ; \sigma) i=1nρ(ri(xi,θ);σ)
σ \sigma σ 为0.1时, u u u 很小就可饱和,超过 u u u 之后的点就不用管了。 σ \sigma σ 可以形象理解为控制 u u u 超过多少以后的点不用管了。 σ \sigma σ 越小,点到直线的距离很小时该点才可以作为拟合点。 σ \sigma σ 越大,点到直线的距离大一点也可以作为拟合点。

选择的 σ \sigma σ 刚刚好just right,优化的结果异常值的影响被最小化

在这里插入图片描述

选择的 σ \sigma σ 太小too small:每个点的误差值几乎相同,拟合很差。

在这里插入图片描述

选择的 σ \sigma σ 太大too large:和最小二乘差不多。

在这里插入图片描述

Robust estimations:Details

  • 鲁棒拟合是一个非线性优化问题,必须通过迭代求解。
  • 最小二乘法求出的(a,b,d)参数可用于初始化。
  • σ \sigma σ 的选择:approx. 1.5 times median residual大约1.5倍平均残差 u u u

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mybatis(搭建,CRUD,方法参数,XML映射文件,动态SQL)【详解】

目录 一.准备基础代码 Mybatis的通用配置 二. 基本CURD操作 1.查询-根据id查询一条 2.查询-查询数量 3.删除 4.新增 获取主键值 5.修改 6.查询-模糊查询 预编译SQL #{}与${}的区别【面试题】 三. Mybatis的方法参数与结果集 1.SQL里取方法参数的值 2.查询结果集…

win10虚拟机安装驱动教程

在虚拟机菜单栏中选择安装VMware Tools: 安装好后,在虚拟机中打开此电脑,双击DVD驱动器进行安装: 一直点击下一步: 安装完成: 此时重启虚拟机,发面小屏幕页面的虚拟机自动占满了全部屏幕&#x…

空气源热泵、地源热泵和水源热泵三种热泵的优缺点和选型比较

空气源热泵 空气源热泵是由电动机驱动的,利用空气中的热量作为低温热源,经过空调冷凝器或蒸发器进行热交换,然后通过循环系统,提取或释放热能,利用机组循环系统将能量转移到建筑物内用户需求。 1、适用范围广:适用温度范围在-7至40℃,并且一年四季全天候使用,不受阴、…

力扣209. 长度最小的子数组

思路:题目是 数组和 > target,不是等于target 双指针法:用for循环中的 r 来界定右边界的下标,右边界每移动一位,左边界可能需要移动多位,所以内部再用while, 当满足 数组和>target时,记录…

LabVIEW电液伺服作动器

LabVIEW电液伺服作动器 随着工业自动化技术的快速发展,电液伺服作动器在各类精密控制领域得到了广泛应用。基于CRIO架构,利用LabVIEW软件开发了一套电液伺服作动器测控系统,实现了高精度的位移同步控制与测量,有效提高了系统的控…

论文阅读:FCB-SwinV2 Transformer for Polyp Segmentation

这是对FCBFormer的改进,我的关于FCBFormer的论文阅读笔记:论文阅读FCN-Transformer Feature Fusion for PolypSegmentation-CSDN博客 1,整体结构 依然是一个双分支结构,总体结构如下: 其中一个是全卷积分支&#xff…

动漫人物和泉纱雾404源码

动漫人物和泉纱雾404源码,源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面,重定向这个界面 下载地址 动漫人物和泉纱雾404源码

基于直方图均衡化的图像去雾算法,Matlab实现

博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码/项目合作可以联系(QQ:3249726188) 个人主页:Matlab_ImagePro-CSDN博客 原则:代码均由本人编写完成,非中介,提供有偿…

【目标检测-数据集准备】DIOR转为yolo训练所需格式

【目标检测】DIOR遥感影像数据集,转为yolo系列模型训练所需格式。 标签文件位于Annotations下,格式为xml,yolo系列模型训练所需格式为txt,格式为 class_id x_center,y_center,w,h其中,train,text&#xff…

如何在Linux上使用git远程上传至gitee托管(add-commit-push指令详解)

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …

从0开始回顾MySQL---事务四大特性

事务概述 事务是一个最小的工作单元。在数据库当中,事务表示一件完整的事儿。一个业务的完成可能需要多条DML语句共同配合才能完成,例如转账业务,需要执行两条DML语句,先更新张三账户的余额,再更新李四账户的余额&…

html和winform webBrowser控件交互并播放视频(包含转码)

1、 为了使网页能够与winform交互 将com的可访问性设置为真 [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name "FullTrust")][System.Runtime.InteropServices.ComVisibleAttribute(true)] 2、在webBrow…