computer vision笔记(二)

边缘检测(edge detection)

边缘:一个简单但信息量大的特征(考虑简笔画)
边缘的成因

边缘的定义:灰度值发生突变的地方(这个定义够好吗?存在灰度值不突变,但在人的理解下应该是)

突变 == 函数的一阶导数(变化)的极值点 == 函数的二阶导数的零点
函数是什么? 图片坐标(x, y)到灰度值的映射(一个二元函数)
噪音:求导阶数越大,受噪音影响越大

图片这个“函数”,实际上是离散的, 可以认为相邻像素之间就足够接近
对一个像素求导 –> 和相邻像素做减法
对整个图片求导 –> 对图片做卷积

  1. 最直接的算子Gx,Gy(严格相邻) 2 * 1
  2. Roberts 交叉算子 2 * 2
  3. Sobel 算子(有1有2) 和 Premitt算子 (只有1) 3 *3

二阶求导: 分拆后仍是减法,最后也是卷积

Canny 算法
Guass滤波 –> 一阶导数 –> NMS –> 双阈值

局部特征(local feature)

为什么要局部:更加稳定
最好具有不变性, 如偏移、旋转、拉伸、光线变化
(SIFT = Scale Invariant Feature Transformation)

特征的提取包括了两方面的工作:feature detection 和 feature description
(位置和描述)

一个例子:Harris Corner Detector

边界(Corner)是个有用的特征,因为它是特殊的(unique)。因为一个边界在任意方向移动都会产生较大的不同。
定义在方向上能看到的变化:windows function
E(u,v)=w(x,y)(I(x+u,y+v)I(x,y))2

泰勒展开后把这个函数变为二次型的形式(一个下凹的面)
其特征值代表了等高线的长短轴

是corner –>
1. λ1,λ2 接近 而且
2. |λ|
定义Corner Response R
R=detMk(traceM)2
k为经验常数,通常为0.04 - 0.06

R > 0(接近) 且 |R| 大(变化值大) –> 是corner
R > 0 但 |R|小 –> 平坦区flat
R < 0 边缘 edge

问题: 不是SIFT
可变大小的观察窗口,自动调整到合适的大小:极值仍然是稳定的,通过极值可以估算scale。使用一个和窗口大小相关的函数,用这个函数来表示窗口大小的好坏?
??三维坐标x, y, scale, 每个局部(x, y),测试不同scale的效果

你可能感兴趣的:(course)