计算机视觉 2020 北京邮电大学本科课程
这里的计算机视觉中的数学都是比较简单的,不如图形学
课程部分内容
1. 卷积与边缘提取
卷积的padding方式:
clip filter (black)
wrap around
copy edge
reflect across edge
锐化
原图-平滑图=边缘图
原图+边缘图=锐化图
I * e - I * g = detail
I * e + I*(e-g) = sharpened = I * (2e-g)
detail前方再加一个参数alpha,调节锐化度,最终约等于对原图乘一个拉普拉斯高斯分布
不用全1的方形滤波,改成圆形的高斯核(中心大四周小)
为了让滤波器核有意义,覆盖更多的有值区域,3sigma法则,3倍方差的区域能包含99%的值;so:卷积核的一半长度设置为三倍方差,标准正太sigam=1时,核为7*7
高斯核作用:滤除高频;对一个图像连续高斯两次==一次更大的高斯核卷积
降低卷积运算的复杂度:1)可分离的高斯核:G(x,y) = G(x) * G(y) ;2)两次小卷积代替大卷积
高斯滤波去除高斯噪声,中值滤波(非线性:排序选中止代替周围像素)去除椒盐噪声
边缘检测
确定那些是噪声边,更应该关注什么语义信息
image 看作信号,边缘看作出现了脉冲信号,检测脉冲信号的位置,对信号波形求导,找极值点
搞视觉的方便起见,delta = 1,距离为1的像素之间做差,再除以delta,近似为求导结果
∂ f ( x , y ) ∂ x = lim ε → 0 f ( x + ε , y ) − f ( x , y ) ε \frac{\partial f(x, y)}{\partial x}=\lim _{\varepsilon \rightarrow 0} \frac{f(x+\varepsilon, y)-f(x, y)}{\varepsilon} ∂x∂f(x,y)=ε→0limεf(x+ε,y)−f(x,y)
应用到图像中:
∂ f ( x , y ) ∂ x ≈ f ( x + 1 , y ) − f ( x , y ) 1 \frac{\partial f(x, y)}{\partial x} \approx \frac{f(x+1, y)-f(x, y)}{1} ∂x∂f(x,y)≈1f(x+1,y)−f(x,y)
图像求导实现:
用【-1,1】的卷积核对原图操作,即对x方向求导,通常用【-1,0,1】用右边像素-左边像素来衡量我自己
可以求得某一像素的梯度的强度和方向,方向与边缘垂直,强度为勾股弦
其他的卷积核
Prewitt(利用左上左下右上右下像素来近似自己的梯度),
Sobel(卷积核可以分离为两个向量成绩,第一个高斯滤波向量,第二个边缘提取向量,对噪声鲁棒),
Roberts(用斜上方-自己,近似自己的梯度)
噪声对边缘提取有很大影响,一般需要先用一个卷积核去噪,再求梯度
运算速度更快:先对卷积核求梯度,再乘上原图
高斯核梯度可视化
回顾:
- 平滑核:高斯滤波去除高频;卷积核总和=1,保证不改变原图的强度
- 梯度核:有负值;卷积核总和=1,保证平坦区域不会检测出边缘
Canny算子:
- 高斯梯度滤波
- 计算梯度强度和方向
- 非最大化抑制,细化边缘
- 双门限,两头一夹
边缘检测 可以辅助图像分割
2. 拟合
边缘检测的线无法用数学描述;从问题出发,选择什么拟合算法
最小二乘
可以通过纯矩阵运算求得,缺点:无法拟合垂直的线
使用全最小二乘,到 ax+by=d 的距离最小,推导略
从极大似然估计的角度理解(妙啊)
假设每一个观测点是由噪声产生的,噪声又符合正态分布,距离所有观测点最近的直线 等价于 所有观测点对应的噪声的概率值都尽可能大(即epsilon–>0, Probability(epsilon)–>max)
所以,采取最大似然估计法。
P ( x 1 , y 1 , … , x n , y n ∣ a , b , d ) = ∏ i = 1 n P ( x i , y i ∣ a , b , d ) ∝ ∏ i = 1 n exp ( − ( a x i + b y i − d ) 2 2 σ 2 ) P\left(x_{1}, y_{1}, \ldots, x_{n}, y_{n} \mid a, b, d\right)=\prod_{i=1}^{n} P\left(x_{i}, y_{i} \mid a, b, d\right) \propto \prod_{i=1}^{n} \exp \left(-\frac{\left(a x_{i}+b y_{i}-d\right)^{2}}{2 \sigma^{2}}\right) P(x1,y1,…,xn,yn∣a,b,d)=i=1∏nP(xi,yi∣a,b,d)∝i=1∏nexp(−2σ2(axi+byi−d)2)
L ( x 1 , y 1 , … , x n , y n ∣ a , b , d ) = − 1 2 σ 2 ∑ i = 1 n ( a x i + b y i − d ) 2 L\left(x_{1}, y_{1}, \ldots, x_{n}, y_{n} \mid a, b, d\right)=-\frac{1}{2 \sigma^{2}} \sum_{i=1}^{n}\left(a x_{i}+b y_{i}-d\right)^{2} L(x1,y1,…,xn