Machine Vision Technology:Lecture3 Edge detection | 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
  • 17
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shlyyy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值