机器视觉算法与应用读书笔记(算法)

机器视觉算法与应用读书笔记(算法)

1.数据结构

2.图像增强

1. 灰度值变换

2. 辐射标定

3. 图像平滑

1. 时域去噪法
2. 空间域去噪法
  1. 均值滤波器
    递归线性滤波器:将上次计算得到的值带入到下次的值中
    缺点:噪声并不能被全部消除
  2. 高斯滤波器
    高斯滤波器

4. 傅里叶变换

将函数h(x)从空间域转变到频率域
是一种可逆变换

3. 几何变换

1. 仿射变换

二维to二维之间的变换
对图像中的物体的尺寸进行修正(平移和旋转角度修正)
一般有一个2x2的线性部分和一个平移部分

2. 投影变换

高维to二维之间的变换
仿射变换(特殊的投影变换)
需要八个参数(4个点)

3. 图像变换

1. 最临近插值:

转化后坐标的x位于四个像素点中心店之间,是一个非整数的的位置,对非整数位置取整,以找到与此坐标相邻的四个像素点的中心位置中最近的一个,然后将输入图像里的这个最邻近点位置的像素的灰度值视为输出图像内相应像素点的灰度值。
容易导致锯齿状外观

2. 双线性插值:

首先,分别计算转换后的坐标到四个相邻近像素中心点的垂直方向和水平方向的距离根据距离值(0-1之间)计算不同灰度值所占的权重后得到双线性插值的结果。

4. 极坐标变换:

通常被用来 矫正图像中的圆形物体或被包含在圆环中物体。

4. 图像分割:

1. 阈值分割

一个好的阈值对应着 直方图中两个峰之间的最小值。
But 灰度直方图的随机波动,所以需要鲁棒的方法选定的话,必须对直方图进行平滑处理即将直方图与一个一维高斯滤波器进行卷积来完成平滑处理。为了给高斯滤波器选定合适的 值,一个好的策略是逐渐增大 并平滑直方图,直到可以从平滑后的直方图中得到唯一的最大值和他们之间的一个唯一的最小值。

动态阈值分割 :

使用均值、高斯或中值滤波器,进行平滑处理就可以计算出以当前像素为中心的窗口内的平均灰度值(背景值)。
将图像与局部背景进行的比较被称为动态阈值分割
对亮物体的动态阈值分割处理:
图像值-背景值
对暗物体的阈值分割:
背景值-图像值
平滑滤波器的尺寸决定了能被分割出来的物体的尺寸。(滤波器的大小应该大于被提取物体的大小)
动态阈值分割 可以用来检测异常:
待测物体值-图像物体值>某一阈值
前提:待测物的图像和参考图像必须精确对准,

异常检测:偏差模型法
用n幅训练影像的平均值用来模型化参考图像,用n幅训练影像的标准差来模型化参考图像允许的偏差。(当偏差太小时不适用,此时应添加一个绝对的阈值)

2. 提取连通区域

如何定义像素连通:
  1. 两个像素有共同的边缘
  2. 将对角线也包括进来
    前后景必须使用不同的连通定义
    在用行程表示法描述的区域上计算连通区域,可以使用深度优先搜索

3. 亚像素精度阈值分割

提取到的不可能是面,应该是亚像素精度的轮廓,表示图像中两个区域之间的边界。
表示这两个边界,必须将图像的离散表示转换为一个连续的函数

5. 特征提取

1.区域特征

1. 基于矩的特征

面积是被称为区域的矩的广义特征中的一个特例。

mp,q=(r,c)rrpcq

m0,0 就是区域的面积
p+q1 时。矩除以面积得到归一化的矩
归一化的矩是由图像的位置决定的。通常,使特征不随图像中区域的位置变化而变化是很有用的。这些中心矩是在 (p+q2) 时由下式实现的:
μp,q=1a(rn1,0)p(cn0,1)q

二阶中心距 (p+q=2) 尤其值得关注,它可以用来定义区域的方位和区域的范围。

2. 基于外接几何基元(矩形,圆)

可以计算宽度、高度、宽高比
计算任一方位的外接圆的方法是基于首先计算区域的凸包
基于此区域的凸包,能够定义另一个有用的特性:凸性
凸性被定义为某区域的面积和该区域凸包的面积的比值,用来测量区域的紧凑程度
区域的轮廓长度

2.灰度值特征

在一个参考区域测出的平均值和标准差也能被用来建立一个线性灰度值变换,此变换可以补偿亮度的变化。

6.形态学

1.区域形态学

所有的区域形态学处理能根据六个非常简单的操作来定义:并集,交集,差集,补集,平移和转置。
膨胀、腐蚀、开操作、闭操作
膨胀和腐蚀也被称为最大值滤波和最小值滤波
形态学梯度算子:
膨胀-腐蚀

2.灰度值形态学

7.边缘提取

1. 在一维和二维中的边缘定义

  1. 一维

    |f|0

    通常有很多彼此相连的点都满足此条件,因为背景灰度值到前景灰度值过度是光滑的。因此为了获得唯一的边缘位置,我们必须加入额外的要求,即一维导数的绝对值 |f(x)| 是局部最大值。这就是非最大抑制
    f=0

    ff<0

    f>0

    f<0

  2. 二维

    f=f(r,c)=(ϑf(r,c)ϑr,ϑf(r,c)ϑc)=(fr,fc)

    ||||2=f2r+f2c

    等价于一维中的一阶导数的绝对值 |f(x)|
    梯度方向:
    ϕ=arctan(fr/fc)

    注意 ϕ 沿从横轴开始的算数正方向(逆时针方向)增大
    拉普拉斯算子:
    f=f(r,c)=(ϑ2f(r,c)ϑr2,ϑ2f(r,c)ϑc2)=(frr,fcc)

    边缘能通过拉普拉斯算子过零计算得到:
    f(r,c)=0

    只有在笔直的边缘是局部梯度最大和拉普拉斯算子返回一值,梯度量值局部最大来定义的边缘总落在联想拐角内,拉普拉斯算子过零来定义的边缘总落在理想拐角外

2. 一维边缘提取

速度快常被用来确定一个物体的位置和尺寸

第一个问题:如何计算离散一维灰度值剖面的导数?

一阶倒数

fi=12(fi+1fi1)

二阶导数
f′′i=12(fi+12fi+fi1)

即以下的卷积掩码:
12[1,0,1]12[1,2,1]

计算斜线、圆或椭圆上的剖面时,生成若干条垂直于我们获取灰度值破面的那条线。而线上的点通常不落在像素的中心上,此时需要进行插值处理。
因为噪声容易导致过多的二阶倒数为零,所以使用二阶导数不容易提取出明显的边缘。
为了抑制噪声,可以在灰度值剖面的那条直线的垂线方向上对多个灰度值进行适当的的平均,但是当被检测物体具有非常多的纹理,或者无法选取足够多的像素进行平均时,无法被抑制。
此时我们对灰度值剖面进行平滑处理,这样我们在剖面上提取边缘时需要两个卷积,此时可将这两个卷积合成一个卷积——边缘滤波器
canny准则(怎么样算好的边缘探测器):
1. 对一个边缘点的错检和漏检的可能性都要低
2. 提取出来的边缘尽可能的靠紧真正的边缘
3. 对每个真正的边缘都只返回唯一的边缘(提取出来的边缘位置之间的距离最大化)
canny认为最好的边缘滤波器是高斯滤波器的一阶导数。
Deriche 提出了改进了Canny的算法提出了能以递归方式实现的两个滤波器:
dα(x)=α2xeα|x|

eα(x)=2αsin(αx)eα|x|

对应的平滑滤波器:
dα(x)=14α(α|x|+1)eα|x|

eα(x)=12α[sin(α|x|)+cos(α|x|)]eα|x|

亚像元边缘提取
用边缘幅度最大值周围的三个点来拟合抛物线,然后计算此抛物线的最大值

3.二维边缘提取

fr;i,j=12(fi+1,jfi1,j)

fc;i,j=12(fi+1,jfi1,j)

1a10001a1(1)

注意在卷积时滤波器掩码被镜像:
101a0a101(1)

a=1 ,我们得到 Prewitt 滤波器,垂直与到导数方向上滤波
a=2 时,我们得到了 Frei 滤波器
a=2 ,我们得到了 Sobel 滤波器,垂直与导数的方向上近似于高斯平滑滤波。
a=2.435101 时,我们得到了 Ando 滤波
因为2-范数耗时太大,所以经常用
1-范数(4连通):
||f||1=|fr|+|fc|

或者最大范数(8连通):
||f||=max(|fr|,|fc|)

由于 3×3 鲁棒性不好
所以使用Canny二维形式:
gr=2πσgσ(r)gσ(c)


gc=2πσgσ(c)gσ(r)

边缘检测之Canny算子
非极大值抑制

8. 几何基元的分割与拟合

1.直线拟合

直线的表示方法:黑塞范式

αr+βc+γ=0

α2+β2=1

拟合直线即使点到直线的距离最小化:
ε2=i=1n(αri+βci+γ)2λ(α2+β21)n

以此方法得到的 (α,β) ,它既是直线的法向量,也是从点集的椭圆参数得到的短轴
为了降低远离点的影响可以加入权重。
那么最小化的过程就变成了:
ε2=ωii=1n(αri+βci+γ)2λ(α2+β21)n

确定权重的方法:多次迭代法。
权重函数:
Huber法:
ω(σ)=(x)={1r/|σ||σ|r|σ|>r

Tukey法:
ω(σ)=(x)={[1(σ/r)2]20|σ|r|σ|>r

其中 r 是削波函数,手动设置,一般为r=2σδ
σδ=media|σi|0.6745

RANSAC
相继丢弃离群值,通过随机选择的最少数量的点来构造一个解。

2. 圆拟合

ε2=i=1n((riα)2(ciβ)2ρ

也可以加入权重,和使用 RANSAC

3. 椭圆拟合

椭圆的隐式方程:

αr2+βrc+γc2+δr+ζc+η=0

β24αγ=1

4.将轮廓分割为直线、圆和椭圆

直线拟合:
Rammer算法对轮廓进行递归细分,直到得到的全部线段到各自对应的轮廓段的最大距离小于用户设置的阈值
实际应用:
先以亚像素准确度提取边缘,然后用Rammer算法以多边形对提取后的边缘进行逼近。
将轮廓分割为直线和圆的算法分为两类:
1.将那些与明确实体相对应的轮廓上的断点识别出来
2、一开始将轮廓分割成直线,第二步检查过度分割线段能否被合并成圆或者椭圆。

9.摄像机标定

10.立体重构

11.模板匹配

模板匹配
应用场合:
1.完整性检测2.物体识别3.确定目标物体的位姿

1. 基于灰度值的模板匹配

2.使用图形金字塔进行匹配

3.基于灰度值的亚像素精度匹配

4.带旋转与缩放的模板匹配

对搜索空间离散化:创建多个方向的模板
更大的模板使用更小的步幅,更小的模板使用更大的步幅

5.可靠地模板匹配算法

图像的边缘很少收光线变化的影响,但是边缘提取时存在如何选择合适的阈值的问题,这就是为什么需要匹配算法足够可靠地能够处理遮挡和混乱的情况。
边缘匹配策略:
1、我们可以在匹配中使用原始的边缘点,或者增加每个点的一些特性。
2、将边缘分割为多个几何基元,然后在图像中匹配这些分割得到的几何基元
3、基于边缘的分割,我们可以得到边缘的突变点然后匹配这些突变点。
边缘匹配算法的类别:
1、基于模板边缘与图像边缘的距离
2、基于相似度量
几何哈希法

  • 6
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 《机器学习学习笔记.pdf》是一本关于机器学习的学习笔记的电子书,其内容涵盖了机器学习的基本概念、算法原理和实践应用等方面。 该电子书的主要内容包括但不限于以下几个方面: 1. 机器学习基础:介绍了机器学习的基本概念、发展历史和核心原理,帮助读者建立起对机器学习的整体认识和理解。 2. 机器学习算法:详细介绍了常见的机器学习算法,包括监督学习算法(如线性回归、逻辑回归、决策树、支持向量机等)、无监督学习算法(如聚类算法、降维算法等)和强化学习算法等,使读者能够了解和掌握不同类型的机器学习算法及其应用场景。 3. 机器学习实践:讲解了机器学习的实践方法和流程,涵盖了数据预处理、特征工程、模型选择和评估等方面的内容,帮助读者掌握如何在实际问题中应用机器学习技术。 4. 应用案例:通过实际案例的介绍和分析,展示了机器学习在自然语言处理、计算机视觉、推荐系统等领域的应用,激发读者对机器学习在实际问题中的应用的兴趣和思考能力。 通过阅读《机器学习学习笔记.pdf》,读者可以系统地学习机器学习的基础知识和算法原理,了解机器学习的应用场景和实践方法,并通过实际案例的分析加深对机器学习技术的理解。这本电子书可以作为机器学习初学者的入门学习资料,也适合有一定机器学习基础的读者作为参考和进一步学习的资料。希望通过这本电子书的阅读,读者能够理解和掌握机器学习的相关知识,为未来在机器学习领域的学习和研究打下坚实的基础。 ### 回答2: 《机器学习学习笔记.pdf》是一本介绍机器学习的学习资料。机器学习是一种通过利用数据来训练计算机算法的方法,使其能够自动地从数据中学习和提高性能。这本学习笔记涵盖了机器学习的基本概念、原理和方法,适合初学者和对机器学习感兴趣的读者。 首先,学习笔记从机器学习的基本概念入手,包括机器学习的定义、应用领域以及机器学习的三个主要任务:监督学习、无监督学习和强化学习。然后,详细介绍了机器学习的基本原理,如训练集、测试集、特征选择和模型评估等。此外,学习笔记还介绍了几种常见的机器学习算法,如决策树、支持向量机和深度学习等。 除了理论知识,学习笔记还提供了实践案例和代码示例,帮助读者更好地理解和应用机器学习算法。读者可以通过实践案例来掌握机器学习算法的具体应用,并且可以利用代码示例进行实际编程实践。同时,学习笔记还讨论了机器学习的一些挑战和未来的发展方向,如数据质量、模型解释性和自动化机器学习等。 总的来说,《机器学习学习笔记.pdf》是一本全面介绍机器学习的学习资料。它结合理论和实践,旨在帮助读者建立对机器学习的基本理解,并具备在实际问题中应用机器学习算法的能力。无论是初学者还是有一定机器学习基础的读者,都可以从中获得有益的知识和经验。 ### 回答3: 《机器学习学习笔记.pdf》是一本关于机器学习的学习笔记文档。机器学习是人工智能领域的重要分支,它研究如何使计算机系统自动从数据中学习和改进,以完成特定任务。这本学习笔记以简洁明了的方式介绍了机器学习的基本概念、算法和实践应用。 笔记中首先介绍了机器学习的基础知识,包括监督学习、无监督学习和强化学习等不同的学习类型。然后详细讲解了常用的机器学习算法,如线性回归、逻辑回归、决策树、支持向量机等。每种算法都给出了清晰的定义和示例,并详细解释了算法的原理和应用场景。 此外,《机器学习学习笔记.pdf》还包括了机器学习的实践应用和案例分析。它介绍了如何通过Python等编程语言和机器学习库进行实际的机器学习项目开发,包括数据预处理、特征工程、模型训练和评估等环节。对于初学者来说,这部分内容非常有价值,可以帮助他们快速进入实际应用的阶段。 总结来说,《机器学习学习笔记.pdf》是一本很好的机器学习入门教材,它详细介绍了机器学习的基本概念和常用算法,并提供了实际项目的实践指导。无论是对于想要了解机器学习基础知识的初学者,还是对于已经有一定机器学习经验的开发者来说,这本学习笔记都是一本值得阅读和参考的资料。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值