这里写目录标题
CS131学习
1 introduction+logistics
- 无重要内容
- 介绍课程内容作业评分
2 color
- Physics of color
- Human encoding of color
人眼感光单元:锥形感受器(强光) vs 杆状感受器(弱光)
本质:光谱滤波器
RGB:对三种不同波段敏感的滤波器
- Color spaces
RGB space:三原色的权值向量
Linear color spaces: CIE XYZ
Nonlinear color spaces: HSV
- White balancing
滤波器:不同光源的照明情况(日光灯/太阳/阴天)的拍摄照片与人眼观察相一致
方法:伽马校正等
3 线性代数入门
- 向量和矩阵
范数:
四大条件:正定、齐次、三角不等式
代表:一范数、无穷范数、二范数
运算:
加法
缩放
点乘(dot production,向量之间)
乘法(multiplication,矩阵之间)
转置
逆/伪逆( 左/右逆矩阵、伪逆矩阵详见)
行列式(几何意义:矩阵行向量组成的多面体的面积/体积)
迹(对角线元素之和)
3.1 矩阵演算
-
gradient
一阶偏导
-
Hessian
二阶偏导
对称矩阵
3.2 矩阵的秩(rank)
- 行秩/列秩
线性无关的行/列向量的最大个数
行秩 = 列秩( 知乎的证明) - 作用:变换矩阵T的秩,用于判断变换后的输出维度
- 意义:知乎对理解秩的讨论
- 满秩矩阵
- 奇异矩阵(Singular matrix):m x m矩阵的秩小于m
3.3 特征值和特征向量
-
定义:经过该矩阵变换后方向不变的向量,只是发生了伸缩变化
-
Ax = kx (x != 0)
-
性质:
1.矩阵的迹等于特征值的和
2.矩阵的行列式等于特征值的乘
3.矩阵的秩等于矩阵的非0特征值的个数
4.对角矩阵的diag的特征值就是对角线上的值 -
谱论(Spectral Theory)
参考链接:link
意义:PCA(主成分分析)和SVD(奇异值分解)的理论基础
一些定义:
1.特征对(eigenpair,特征值和它的特征向量)
2.特征子空间(eigenspace,一个特征值的特征向量对应一个特征空间,构成n维空间的子空间(subspace))
3.谱(spectrum,特征值的全体)
4.谱半径(spectral radius,谱中各个特征值模的最大值)
for more details
- 对角化(Diagonalization)
相似矩阵的特征值都相同,希望在相似矩阵中找到结构最简单的矩阵,即对角矩阵或Jordan标准形矩阵
可对角化的条件: 可逆 | 满秩 | n个线性无关的列/行向量 | n个不同的特征值 | normal matrix(正规矩阵,A的共轭转置A*, 满足AA*=A*A)
A对角化为D的方法如下:
如果A的特征值多项式没有重根,则V是正交矩阵(orthogonal matrix),则:
- 对称矩阵
- 应用:
1.PageRank算法
2.薛定谔方程
3.主成分分析法(PCA)
4 像素和滤波器
-
Image sampling and quantization
-
Image histograms
灰度直方图 -
Images as functions
-
Linear systems (filters)
S是线性系统的判断标准(其中函数f看作图片):
线性时不变系统(LSI (linear shift-invariant) systems): 无论输入信号作用的时间先后,输出的信号均相同,仅是出现的时间不同。
一个二维的LSI系统h与图片f的卷积运算,过程如下:
1.将图像函数变换为一系列2维脉冲采样函数的和
2.根据LSI系统的性质(线性叠加+脉冲响应),得到最终结果
Convolution and correlation(卷积和相关)
卷积:
典型的卷积核:均值/中值/高斯/梯度/拉普拉斯
相关(翻转了h, 符号为**):
其实CNN里面的卷积核的卷积操作数学上应该是相关算子
相关的性质:
卷积 vs 相关
卷积是一个滤波操作
相关是对两个信号相似程度的测量
5 Edge Dection(边缘检测)
- Edge detection
Image Gradients
- 1D的离散导数
- 2D的离散导数
gradient magnitude是梯度的幅度值,可以反映边缘的显著程度
A simple edge detector
边缘检测前可以去噪(均值滤波、高斯滤波)
卷积的导数定理:
按照上面的公式,只需要使用使用卷子算子 dg/dx 与图片 f 进行卷积,就可以实现边缘检测。
例子:
边缘检测的要求:检测出正确的边缘+对边缘的准确定位+单一的响应(边而不是条带)
Sobel edge detector
卷积核:
本质:平滑+差分
缺点:
1.定位能力差
2.可能会遗漏倾斜的边缘
Canny edge detector
大致流程:
- 高斯滤波(Gaussian filter to suppress Noise)
- 经过sobel算子卷积,并计算每个像素的梯度幅值和方向(gradient magnitude and direction)
- 非最大抑制(Non-Maximum Supression, 得到薄边缘)
- 滞后阈值和连通性去追踪边缘(Hysteresis thresholding,除去非边缘,设置两个阈值,大于大阈值为边,小于小阈值不为边,介于二者之间通过连通性判断)
详细可参考:Canny边缘检测算法
高斯滤波器方差系数的选择:
Hough Transform(HT)
检测系数方程确定的形状(线、圆等)
在噪声情况下健壮性强
6 RANSAC(随机抽样一致算法) and feature detectors
6.1 A model fitting method for edge detection —— RANSAC
参考:随机抽样一致RANSAC: Random Sample Consensus
大体思路:
1.loop:取数据集的随机样本,计算该样本参数方程,计算数据集中满足该方程的inlier集(点在方程上或者靠近方程)。
2.选取inlier集包含点数最多的参数方程(voting)。
6.2 Local invariant features(局部不变特征)
Motivation:
- Occlusions(遮挡)
- Articulation(关节)
- Intra-category variations(内类别变化)
General Approach:
- 找key-point(6.3)
- 一个key-point定义一个局部区域region(7.1)
- 提取局部区域生成一个局部描述符local descriptor(7.1)
- 匹配局部描述符(7.2)
Invariance: Geometric Transformations:
- 图片物体的伸缩、色带的偏移等仿射转换不会影响描述符的匹配
- 如下是已存在的匹配算法
6.3 Keypoint localization —— Harris corner detector(Harris 角点检测)
- 作用:定位角点
- 原理:
- 像素(u, v)处移动[x, y]之后的 “密度变化” E(u, v),公式如下:
注解:
w(x, y): 可以是0/1分布或者是高斯分布(高斯效果更好,结果是旋转无关的)
E(u, v): 累加移动[x, y]之后的窗口与原窗口灰度值的加总平方差(SSD)
- 上述公式可以近似为如下,使用了泰勒展开
注解:
链接:公式推导与数学原理链接
推导的关键步骤:
M是实对称矩阵,可以对角化。
如果是角落,则矩阵M的特征值 lamda1 和 lamda2,二者几乎相当且都较大,即Ix和Iy的分布是椭圆,如下图。
利用二阶矩阵的秩行列式(Det)和迹(Trace)避开计算特征值α,β。
- 总结
流程:
性质:
1.Translation invariance ——YES!
2.Rotation invariance ——YES!
3.Scale invariance ——NO!
7 Feature Descriptors
7.1 Scale invariant region selection
- Automatic scale selection
原因: Harris 角点检测等不满足缩放不变性(scale invariance)
问题: 如何在不同比例的图片中自适应地确定合适的区域大小
解决:
- 在区域里定义一个缩放不变性的函数,如平均灰度值(average intensity)
- 该函数应该是单峰函数,最大值点(区域大小)应该和图像尺寸相关(co-variant),如下图
- 一个好的函数是一个关于对比度的函数,也就是局部灰度值随区域改变剧烈变化
- 决定区域大小的函数:f = Kernel*Image,Kernel有以下两种:
这两种核都满足旋转不变性和缩放不变性
二阶微分是拉普拉斯变换,也叫散度
L等式的右侧乘上方差是规范化,防止方差增大导致的信号衰减
详见(LOG)Laplacian of Guassian & (DOH)Determinant of Hessian 斑点检测
- Scale Invariant Detectors
- 借助上述两个内核函数,得到Harris角点检测法改进的Harris-Laplacian算法和SIFT算法:
- 二者都是三维模型
- SIFT的空间上是DoG,尺度上也是DoG
- Harris-Laplacian算法流程:
(1)首先预设一组尺度,在每个尺度下进行Harris检测
(3)对(1)中找到的每个角点,比较以这个点为中心的不同尺度的区域的L相应值,如果也为局部极大值(即7.1讨论的函数的极大值),则认为该点为最终角点,对应尺度的区域是该角点的区域
- Difference-of-Gaussian (DoG,高斯差) detector
At different resolutions of kernel size, we see different
fine details of the image. In other words, we can capture
keypoints at varying scales.
不同sigma的高斯差得到不同尺度下图像的细节和对应的关键点
- 总结:
7.2 SIFT: an image region descriptor
- 如何匹配两张图对应的关键点