计算机视觉
NLP:自然语言处理
Computational theory:计算机理论
Representations and algorithms:算法和概述
Hardware implementation:硬件实现
SLAM:同时定位和建图
第一章 卷积(Linear filtering)
二进制图像(Binary image representation):只有0和1 要么黑色要么没有
灰度图(Grayscale image representation):0~255
彩色图像(Color Image-one channel):RGB
三个通道,每个通道取值0~255
图像去噪(Image denoising)
某个点与周围点加权平均的权值叫做卷积核(filter kernel),为了描述周围点所占的权重
卷积核应用:卷积核与所覆盖图像所对应的点相乘之后相加,可以得到一个全新像素的图像
注:操作时,使用的是卷积核倒过来的数值,是对称要翻转(通常不强调)
在机器学习中一般使用到的是互相关,也就是不用进行翻转直接对输入的数组进行卷积处理
m,n是卷积核中心点坐标
k,l是卷积核的取值
特性:
1.先卷积再求和与求和之后卷积是一样的
2.平移不变性
结论:任何平移不变的操作都可以用卷积来表示
更多特性:
交换律:
结合律:
分配律:
如果一个实数乘以向量积:
如果一个信号乘以脉冲向量得到信号本身:
MATLAB函数:filter2(g,f,shape)
卷积操作中的图像处理
如果卷积核与图像进行卷积,图像不够大的时候需要扩大
方法一:补0(源图像上加了一圈黑边)
方法二:环绕图片
方法三:复制边缘
方法四:镜像
去噪操作:
平滑操作:
演示:
解析:
原始图为I,卷积核为e,平滑卷积核为g
两者相减结果为 Ie - Ig = I(e-g)
将原始图像与处理结果相加
Ie + I(e-g) = (2e-g) * I
得到的结果图像就是锐化后的图像
存在的问题1:
图像处理后出现振铃现象
原因:卷积核模板为方形,且值相同
解决方案:使用中间权值大的模板
可以使用高斯滤波
高斯滤波
高斯函数:
其中σ为给定的数值
图像:
高斯核(Gaussian Kernel)
特征为中间大,两边小
得到高斯核模板:
将中间值作为(0,0) 每个值计算G值,就可以得到一个5*5的高斯核(注:权重和要为1)
最后要进行规划 用每个得到的G值除以总和
存在的问题2:
当长和宽相同时,σ越小数据越集中。
当σ相同时,长宽不同。长宽越大,平滑越明显
当进行运用时,最理想的生成高斯核就是中间像素与左右间隔3σ
当σ=1时,得到7*7的高斯核。
所以给定σ就可以得到长宽,反之亦然(代码的原理)
效果:
高斯核特性
1.高斯核主要作用就是滤除高频(high-frequency),去掉突兀的地方
2.大高斯核可以通过小高斯核连续操作得到。(使用勾股定理得到)用于减少运算量
3.高斯公式可以分解(减少运算量)
用处在于减少时间复杂度。
O(n² * m²)分解之后为O(n² * m) + O(n² * m)
噪声
椒盐(Salt and pepper noise)噪声
脉冲(Impulse noise)噪声
高斯(Gaussian noise)噪声
高斯滤波虽然能去噪,但是可能会导致图像平滑
选择模板时,当噪声大就选择σ较大的
中值滤波
不是一个线性滤波器,其模板无权值
PS:线性滤波:通过滤波范围内所有像素值之间的线性组合可以求取中心像素滤波后的像素值
排序,选择中间位置的数值作为新的中心值
中值滤波在处理噪声点时根据模块会保持原有像素不变,只改变突兀噪声点
而高斯滤波会造成原本像素的改变
中值滤波在处理椒盐噪声和脉冲噪声时非常有效
得到的结果为拉普拉斯高斯