harris角点
- u,v →E(u,v) 可以给定:变化这么多
- E(u,v)→taylor→M矩阵
- M矩阵:判断角点。两个方向信息变化的强弱。
M不是正则? 拆分为正则R-¹ [λ1 0 , 0 λ2]R
其中R是旋转角度。λ是代表椭圆轴长,越大,梯度变化越快。
- 定义R=det(M)-α trace²(M)
步骤
- 计算每一个像素点的高斯偏导 Ix, Iy
- 计算每一个像素点的二阶矩矩阵M.
- 计算R
- 阈值r
- 非最大化抑制
特征点分类:
invarious:直接能建立关联
光照可能只是拉伸+偏值的线性变化,部分invarious.
covarious:有机会建立关联
不能识别尺寸变化
局部特征blob
局部特征→Blob detection
- 特征的自适应:解决尺度变化的检测问题:不论尺寸怎么变,都有一个函数,函数最值为半径,能在同一块地方圈出一个圆。(寻找尺度不变点)
- 一阶高斯平滑偏导→
- 二阶高斯平滑偏导(拉普拉斯算子)→响应矩形信号,乘σ²,(防止信号衰减)实现算子和信号作用后尺度不变,绝对值最大汇合处,就找到了合适的半径r.
拉普拉斯模板的σ选择:
-两个方向上的拉普拉斯模板(σ²(偏x二阶导+偏y二阶导))→倒着的魔女帽!
-只有当拉普拉斯模板在z=0上,和信号的宽度正好相同时,才会有极值点,卷积的值才最大。此时r=√2σ. 也就是函数最值的√2处。
拉普拉斯应用:
对于图上的每个像素点,取三个σ形成的拉普拉斯模板,分别卷积,形成尺度空间(魔方)。输出结果最大的σ. 同时和魔方周围的26个比较,输出最大的像素(圆心)和σ(半径)。(也是非最大化抑制)
实际:
方法一:
- Harris角点解决光照,平移,旋转。
- laplace解决尺度问题。
- 在角点附近进行laplace模板检测,提取有效的特征点。
方法二:
SIFT(scale-invariant)尺度不变特征
laplace卷积计算复杂,慢→DOG(DifferenceofGaussians)
DOG=G(x,y,kσ)-G(x,y,σ)≈(k-1)σ² ▽²G
[用高斯差代替拉普拉斯]
步骤:
1.构造高斯空间k,k²,k³…
利用高斯性质:先卷积σ,再卷积√(kσ)²-σ². 相当于卷积kσ(卷积核小,方便)。再做差得到DOG(σ和kσ的Gaussian做差,相当于σ的拉普拉斯卷积结果)
2.把尺度空间划为几个类:kσ→2kσ…(图缩小一倍)
窗口不变,图缩小几倍。效率提高.所以只要把2kσ(缩小一倍的图)类中的σ=1-2的卷积结果,拼接到 kσ(原图)中σ=1-2的后面,就直接得到后续结果,得到上面提到的函数,而不用使用σ很大的来卷积。
实际:s=每组要输出的值的个数2.
k=2^(1/s)
输出两个→(三个DOG比较输出一个)至少四个DOG→(由于是相减得到)五个σ,kσ,…k^4σ(s+3个高斯卷积核卷积)
才能保证每组输出的尺度空间是连续的σ(相差k倍)
- 第二组的起始卷积核,和由他下数第三个一样,得到2σ。
优势
- DOG代替laplace可以复用卷积结果。
- 分组octer: 每组的图像大小是倍数,但是卷积核大小不变,卷积完拼起来就行啦。
仿射变化
圈出一个圆→算出圆中梯度最大的两个方向(M中的R)→收缩轴长直到梯度相同,得到两个椭圆
旋转问题→SIFT
将椭圆归一化为圆→得到每个像素的梯度方向→投票统计,得到角度最大的区间→旋转原图
光强问题→SIFT description
将圆划分成小格→每个小格中的像素梯度,统计汇成直方图→描述该格→对比两个图
本质:梯度变化不随光强变化而变化。
纹理 Texture
应用:
- 从纹理恢复形状 shape from texture
- 分割,分类
- 生成类似的
文理的分类segmentation/classification
- 局部模式的描述
提取纹理,描述纹理 - 整体的统计特性
均值,方差
例:
1.每个像素点的x,y方向导数为坐标轴,绘制分布图&。
2.聚类,给像素点分类,划分纹理类型
尺度区分: 逐渐取更大的框,直到框内的&图统计分布几乎不变,就用该框。
filter banks
实际中描述不仅有 xy方向的梯度(边),还有边edge,条状bar,点spot等各种滤波核来描述。
一种卷积操作
用filters(七个)向量卷积图,每个元素核卷积出来的结果平均,拼成七个结果。
或者向量卷积的每个像素的结果,拼接起来。