计算机视觉课程学习笔记
“The question of whether computers can think is like the question of whether submarines can swin.”—— Edsger W. Dijkstra
特征的形式app
图像局部特征dom
特征检测方法函数
两种技术路线学习
四种独立步骤spa
建模rest
直观的建模orm
局部特征视频
泰勒级数展开对象
$$ \begin{aligned} E_{AC}({\Delta u})&=\sum_iw(x_i)[I_0 (x_i+\Delta u)-I_0(x_i)]^2\\ &\approx \sum_iw(x_i)[I_0 (x_i)+\triangledown I_0(x_i)\cdot\Delta u-I_0(x_i)]^2\\ &=\sum_iw(x_i)[I_0 (x_i)\cdot\Delta u]^2\\ &=\Delta u^TA\Delta u\\ &\triangledown I_0(x_i)=(\frac{\partial I_0}{\partial x},\frac{\partial I_0}{\partial y})(x_i) \end{aligned} $$
特征点的判断
基本特征提取的算法流程
- 将原始图像与高斯导数进行卷积,获得水平方向和垂直方向的导数$I_x$和$I_y$;
- 计算着图像对应这些梯度的外积;
- 用一个更大的高斯来对这些图像进行卷积;
- 用公式计算出标量度量;
- 找到某个阈值以上的局部极大值,并将其报告为检测到的特征点位置。
移动$[u,v]$的强度改变:$E(u,v)=\sum_{x,y}w(x,y)[I(x+u,y_v)-I(x,y)]^2$
Moravec的问题
解决方法:
使用高斯函数(Gaussian function)替代二分函数(binary function)
把上下左右滑窗找极值转为用泰勒展式找梯度变换状况:
$$ \begin{aligned} E(u,v)&=\sum_{x,y}w(x,y)[I(x+u,y+v)-I(x,y)]^2\\ &=\sum_{x,y}w(x,y)[I_xu+I_yv+O(u^2+v^2)]^2\\ E(u,v)&=Au^2+2Cuv+Bv^2\\ A&=\sum_{x,y}w(x,y)I_x^2(x,y)\\ B&=\sum_{x,y}w(x,y)I_y^2(x,y)\\ C&=\sum_{x,y}w(x,y)I_x(x,y)I_y(x,y)\\ E(u,v)&\approx[u,v]M\begin{bmatrix}u\\v\end{bmatrix}\\ M&=\sum_{x,y}w(x,y)\begin{bmatrix}I_x^2\quad I_xI_y\\I_xI_y\quad I_y^2\end{bmatrix} \end{aligned} $$
判断
算法
- 寻找途中有较大边角相应函数值$R$的点($R>threshold$)
- 寻找$R$中的局部极值
Harris Detector的特性
$R$值不具有尺度不变性(如弧线缩小,可能会被识别为铰点)
特征点
特征匹配
应用
拒绝野点--NN
SSD
偏差平方和算法(Sum of Squared Differences, SSD),也叫差方和算法
平均偏差平方和算法(Mean Square Differences, MSD),也叫均方差算法
绝对偏差和算法(Sum of Absolute Differences, SAD)
平均绝对差算法(Mean Absolute Differences, MAD)
归一化互相关算法(Normalized Cross Correlation, NCC)
拒绝野点更好的方法--NNDR[Lowe, 1999]
进一步排除点--ANMS
随机采样一致性(Random Sample Consensus)
RANSAC 循环
通用的RANSAC算法
运行$k$次:
- 随机选取$n$个采样;
- 对$n$个采样配合合适的参数$\Theta$;
- 对另外$N-n$个点,计算对应模型的适应度,获得匹配集合的点数$c$。
输出参数$\Theta $和最大适配集合$c$。
计算$k$
关于图像特征部分的一半内容,包含提取、匹配。中间概念较多,但理解后仍是蛮清晰的,只是计算、公式、实现部分须要多多思考。计算机视觉的魅力开始渐渐体现了...