- 声明:本文是计算机视觉课程期末复习整理(使用卡内基梅隆大学教材,课程链接:https://www.cs.cmu.edu/~16385/)
- 内容个人整理,转载请注明出处,谢谢
- 计算机视觉期末复习(上)详见:https://blog.csdn.net/programmer_jiang/article/details/124209552
内容如下:- C1图像解构
- C2颜色科学
- C3图像滤波
- 计算机视觉期末复习(中)详见:https://blog.csdn.net/programmer_jiang/article/details/124338516
内容如下:- C4图像金字塔和傅里叶变换
- C5霍夫变换
- C6Harris Corners检测
何为图像? 图像是连续世界的离散或采样表示
C4图像金字塔和傅里叶变换
- 处理图像压缩等作用,理解图像金字塔是sift特征提取的基础
4.1 图像缩减像素采样 Image downsampling
4.1.1朴素下采样
结果导致采样结果的像素化( pixelated )
4.2 二意性 Aliasing
(在信号频谱上可称作叠频,在影像上可称作叠影 )
4.2.1采样
欠采样可以将信号伪装成较低频率之一
- 正弦的采样
-
采样过少:信息丢失
信号与较低频率混淆。 -
采样过多:我们总是可以将信号与更高频率的信号混淆。
4.2.2欠采样、采样率过低
具体到实时渲染领域中,可以将锯齿(走样)分为以下三种:
-
几何走样(Geometry Aliasing),几何物体的边缘有锯齿,是对几何边缘采样不 足导致。
-
着色走样(Shading Aliasing),渲染方程也是一个连续函数,对某些部分(比如 法线,高光等)在空间变化较快(高频部分)采样不足也会造成走样,比较明显的 现象就是高光闪烁或高光噪点。
-
时间走样,主要是对高速运动的物体采样不足导致。比如游戏中播放的动画发生跳 变等。
-
纹理的欠采样
-
摩尔纹
-
实例
4.2.3 抗二义性 Anti-aliasing
-
法一:增加采样频率
如果以频率进行采样,可以使用线性插值从其离散版本完美地重建连续信号:
等效重构:在下采样时,如果以奈奎斯特频率或更高频率进行采样,则不会发生混叠
-
法二:平滑信号 Smooth the signal
• 去除一些导致混叠的细节效果。
• 丢失信息,但比混淆伪影要好。
先使用高斯再去掉偶数行
- 但是该方法无法从上层重现构建底层的金字塔
4.3 高斯金字塔 Gaussian image pyramid
- 用于向下采样
4.3.1构建高斯金字塔
-
算法流程
-
How much bigger than the original image is the whole pyramid?
图片总量:1+1/4+1/16+…+=4/3 ( Just 4/3 times the size of the original image )
4.3.2高斯金字塔的特性
- 随着我们进入更高级别,图像会变得平滑,越往下特征丢失越多
- 上层保留了什么? 感受野来自原图的大块区域。
- 能否从上层的图像重建原始图像? 不可能
4.3.3模糊有损 Blurring is lossy
- 高斯有损
4.4 拉普拉斯图像金字塔Laplacian image pyramid
- 在每个级别,保留残差而不是模糊图像本身。 我们可以使用金字塔重建原始图像。配合高斯金字塔使用
4.4.1构建拉普拉斯金字塔
- 存剩余矩阵
4.4.2重建原始图片
-
存储勾选内容:Upsample:1个像素变成4个
一般新增列使用0填充,存储部分打勾表示
4.4.3优点
剩余矩阵的细节信息小 拉普拉斯本质就是对高斯进行二阶导,对剩余矩阵相减就是求导过程(可以数学证 明,区别就是拉普拉斯)
- 这里圆图减去高斯就是拉普拉斯
4.4.4运用
4.4.5其他金字塔
4.5 傅里叶级数 Fourier series
- Fourier series claim:一个周期函数可以重写为不同频率的正弦和余弦的加权和。
- 累加小波变为方波,小波振幅低,频率高
4.6频域 Frequency domain
- 时域(上)和频域(下)的表示
4.6.1一维的表示
-
自变量是频率,即横轴是频率,纵轴是该频率信号的幅度,也就是通常说的频谱图 ; 从频域图中,可以一眼看出正弦波的频率和峰值振幅,整个正弦波在频域图上只是一个立柱立柱的位置显示了正弦波的频率,立柱的高度显示了正弦波的峰值振幅
-
频率为0在频域里就是点,时域中是直线,周期无穷大
4.6.2 二维频率
-
二维的频率:类似纸张的抖动
左下角,矢量 (u, v) 的大小给出了一个频率,它的方向给出了一个方向。 点离原点的距离就是频率
-
当u,v变大
4.6.3一维二维频域可视化
-
二维频域的点
-
点间距代表频率,间距大振幅大
-
方向性(时域->频域)
-
叠加
4.6.4基本结构
4.7傅里叶变换 Fourier transform
4.7.1数学复习
- 实数和虚数
R ( 实部 ) + j I ( 虚部 ) R(\textbf{实部})+jI(\textbf{虚部}) R(实部)+jI(虚部)
其他形式:极坐标、指数表示:欧拉公式
4.7.2傅里叶变换
-
将连续函数写成积分形式 :傅里叶展示了时域到频域的变换
-
反傅里叶:对应F(k)积分又可以得到f(x)
-
离散是方波的叠加,时域变为频域 同理反傅里叶是频域变为时域
- 频域和时域的转换
4.7.3对称性
4.7.4DFT
离散傅里叶变换(分离定律,本质是时域和频域的变换,将不同的波拉开)
4.7.5变换实例
4.8 Frequency-domain filtering
4.8.1性质
两个函数的卷积的傅里叶变换是它们的傅里叶变换的乘积:
两个傅里叶变换的乘积的傅里叶逆变换是两个傅里叶逆变换的卷积:
4.8.2 用傅里叶代替卷积&FFT
时域中使用卷积定理,我们可以将所有类型的线性平移不变滤波解释和实现为频域中的乘法
快速傅里叶变换 (fast Fourier transform),即利用计算机计算离散傅里叶变换(DFT)的高效
4.8.3 实例
对图和卷积核都进行变换,再反向变换,最后再用FFT变换回来(等价于卷积)
4.8.4 低通滤波、高通滤波、带通滤波
-
高斯滤波过滤了很多细节信息
-
高通滤波、带通滤波、低通滤波;右边展示了频率的波
可以看出高斯模糊是低通滤波。
高通滤波,通过了高频信息,提取了图像边缘和噪声;
低通滤波,通过了低频信息,保留了图像背景和基本内容,图像边缘被阻挡,图像变模糊;
带通滤波,阻挡了部分特别高频信息和特别低频信息,相对高通滤波来讲,提取的图像边缘减少,相对低通滤波来讲,保留的图像内容也减少。
高斯模糊是低通滤波。
4.9 Revisiting sampling
4.9.1 奈奎斯特-香农定理与高斯金字塔的关系
- 如果以频率进行采样,则可以使用线性插值从其离散版本完美地重建连续信号:
- 等效重构:在下采样时,如果以奈奎斯特频率或更高频率进行采样,则不会发生混叠
4.9.2人眼对波的感受
中频的感知线索支配感知
C5 霍夫变换
5.1 拟合直线Line fitting
5.1.1最小二乘拟合
问题
-
没法拟合竖直情况
-
受异常点的影响大、
- 二次方在异常点影响很大
5.1.2 拟合方法-直线参数化
斜截式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kDb5JzVo-1650613861516)(复习2.assets/1640478867553.png)]
双截距形式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yDhGTwfD-1650613861517)(复习2.assets/1640478916626.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NsZpR6ze-1650613861517)(复习2.assets/1640479004617.png)]
一般形式(可以表达垂直直线)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XDhKxUCo-1650613861517)(复习2.assets/1640479040596.png)]
5.2霍夫变换
用于检测参数模型的通用框架
边缘不必连接 ;线可以被遮挡
关键思想:边缘为可能的模型投票
5.2.1二维空间与参数空间
- 直线变为参数空间上的一个点
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YdZDjdAW-1650613861518)(复习2.assets/1640479494231.png)]
-
左边的点其实是规定线要穿过点,右边是无数个点变为一条线
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9aeHKMIh-1650613861518)(复习2.assets/1640479629845.png)]
其中参数空间两直线交点为过二维空间两点的直线
-
通过投票方式确定直线
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-li6aQZSw-1650613861519)(复习2.assets/1640479720641.png)]
5.2.2霍夫变换的直线拟合算法描述
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AH5uUPDT-1650613861519)(复习2.assets/1640480004265.png)]
问题:参数空间太大了,绘制显得不切实际
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I4sPVI5c-1650613861519)(复习2.assets/1640480103161.png)]
5.2.3更好的参数化(使用一般形式)
-
使用原点到切线长度和 θ ∈ [ 0 , 2 π ] \text{使用原点到切线长度和}\theta \in [0,2\pi] 使用原点到切线长度和θ∈[0,2π]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AQBNRWJ6-1650613861520)(复习2.assets/1640480199914.png)]
-
可以表示出垂直情况
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yGrzMGJs-1650613861520)(复习2.assets/1640480838776.png)]
-
同一条线的两个点表示
注意向负方向延时 ρ \rho ρ是负数
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gkOrhs2m-1650613861521)(复习2.assets/1640481301616.png)]
直线的两种表达方式
本质上一样;是同一条直线
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TjY3DMPC-1650613861521)(复习2.assets/1640481350654.png)]
5.2.4对应的参数检测和算法
-
多点多个波线
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k3QhM8xN-1650613861521)(复习2.assets/1640481456854.png)]
算法流程
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d68I67LH-1650613861521)(复习2.assets/1640481608368.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P4VFwAUw-1650613861522)(复习2.assets/1640481687051.png)]
- 注意直线角度和点的对应
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZliUgkD1-1650613861522)(复习2.assets/1640481721636.png)]
5.2.5噪声点影响
- 噪声越多投票误差越大
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FICeI5hW-1650613861522)(复习2.assets/1640481872621.png)]
5.3霍夫圆 Hough Circles
5.3.1半径已知
- 对a,b进行判断
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o79cJ4jv-1650613861523)(复习2.assets/1640482030572.png)]
5.3.2半径未知(难以表达)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wsy9JNdz-1650613861523)(复习2.assets/1640482092177.png)]
5.3.3检测过程半径误差
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-va38oFJR-1650613861523)(复习2.assets/1640482544693.png)]
- 小物体:大半径(中心出去了)
- 大物体:小半径(未到中心)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O99CkT1N-1650613861523)(复习2.assets/1640482389825.png)]
5.4特点总结
很好地处理遮挡;
检测多个实例 ;
对噪音有抵抗力;
- 差的计算复杂度
- 参数设置不方便
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4nnOSZGb-1650613861524)(复习2.assets/1640482275810.png)]
6.检测角度
6.1为什么检测角度
图像对齐(单应性、基本矩阵)
3D 重建 运动跟踪 对象识别 索引和数据库检索 机器人导航
- 使用角度定位信息
6.2二次方程可视化
6.2.1方程可视化
- 矩阵表示 f ( x , y ) = x 2 + y 2 \text{矩阵表示}f(x,y)=x^2+y^2 矩阵表示f(x,y)=x2+y2
- 系数x方向;y方向同理
- 特征值(eigenvalues)和特征向量(eigenvector)
svd分解
6.2.2 Error function for Harris Corners
- 化简、泰勒展开
6.3 Harris角检测
https://zhuanlan.zhihu.com/p/449970674
6.3.1区分平坦、边和角
- 使用小窗口-> 强度变化剧烈的是边角
查看几类情况:沿着边没有剧烈变化
6.3.2算法细节
6.3.2.1 计算小区域上的图像梯度
- x方向的导数检测出竖直边;观察图形我们可以看出边的方向和强度
6.3.2.2 从每个图像梯度中减去平均值
6.3.2.3 计算协方差矩阵
- 其中IxIy对应梯度的点乘积
深层原因:Error function
对整体移动导致的插值进行误差计算
- 通过化简最后有,每个像素点有一个M矩阵可以获得对应的误差
对比不同的M矩阵我们发现
6.3.2.4 计算特征向量和特征值
- 考虑对称性
结合矩阵知识,M分解过程中R提供的是选择,我们考虑对应的变化情况即特征值
-
解释特征值
λ 1 和 λ 2 \lambda_1和 \lambda_2 λ1和λ2变化都很大的地方有可能是边角
6.3.2.5 使用特征值上的阈值来检测角点
我们选取 R = d e t M − k ( t r a c e ( M ) ) 2 R=det M -k(trace(M))^2 R=detM−k(trace(M))2,当然指标可以自选,k一般取0.04 到0.06
其中:当R大于0时是角点,当然也可以选择其他评判标准
- 不同检测标准和对比
6.3.3Harris角检测特点
-
旋转不变性
椭圆旋转但其形状(特征值)保持不变
-
对仿射强度强度有部分不变性但还是会有影响,仿射会改变方向
-
对尺度变化没有不变性
6.4 多尺寸检测Multi-scale detection
- 找到局部最大的位置和尺寸(和高斯一一匹配)
当信号具有与滤波器相同的特征标度时的最高响应,我们可以找到对应的局部极大值
-
同样的图片、小图在小的滤波器的情况下更容易达到峰值
原尺寸在拉普拉斯滤波器参数为9.8时达到峰值
3 4 \frac{3}{4} 43尺寸在6.0达到峰值
**如何实现
检测**