计算机视觉实战的深度学习实战二:图像预处理
图像预处理
更多精彩内容请关注微信公众号:听潮庭。
写在前面:
- 图像显示与存储原理
- 图像增强的目标
- 点运算:基于直方图的对比度增强
- 形态学处理
- 空间与处理:卷积
- 卷积的应用(平滑、边缘检测、锐化等)
- 频率域处理:傅里叶变换,小波变换
- 应用案例:平滑、边缘检测、CLAHE等
一、颜色空间
1、RGB颜色空间
- 加法混色(越叠加越白:255,255,255=白色),彩色显示
- 3个通道 (后面提到一张图片有三个维度,长,宽和通道(r,g,b))
- Red通道
- Green通道
- Blue通道
- 一个像素颜色值
- (b,g,r)
- 取值范围
- [0, 255]
- [0.0, 1.0]
2、CMYK颜色空间
- 减法混色,多用于印刷
- 4通道
- Cyan通道
- Magenta通道
- Yellow通道
- Key通道
- 一个像素颜色值
- (c,y,m,k)
- 取值范围
- [0, 255]
- [0.0, 1.0]
3、HSV颜色空间
- 人类视觉概念,画家配色
- 3各要素
- H/Hue:色调,颜色种类
- S/Saturation:饱和度,颜色的纯度
- V/Value:明度,颜色明亮度
- 一个像素颜色值
- (h,s,v)
- 取值范围
- [0, 255]
- [0.0, 1.0]
4、CIE-XYZ颜色空间
- 国际照明协会,1931
- 基于人类颜色视觉的直接测定
- 其他颜色空间基础
- 人类视觉系统-视锥细胞
- 短波(S,420-440nm)
- 中波(M,530-540nm)
- 长波(L,560-580nm)
- 3色刺激值通道
- X,Y,Z约略对应于红色,绿色,蓝色
- 一种波的刺激等于几种波的混合刺激
二、图片存储原理
1、主流颜色空间
-
RGB三通道彩色图
- 图片->3维矩阵([0,255])
-
单通道灰度图
- 亮度信息[0,255]
- Gray=R×0.3+G×0.59+B×0.11(常用的图片灰度化转换公式)
三、图像增强的目标
- 改善图像的视觉效果
- 转换为更适合人或机器分析处理的形式
- 突出对人或机器分析有意义的信息
- 抑制无用信息,提高图像的使用价值
- 具体包括图像锐化,平滑,去噪,灰度调整(对比度增强)
四、图像处理的方法
1、特征提取方法
-
直方图Histogram
- 对图片数据/特征分布的一种统计
- 灰度、颜色
- 梯度/边缘、形状、纹理
- 局部特征点、视觉词汇
- 区间bin
- 具有一定的统计或物理意义
- 一种数据或特征的代表
- 需要预定义或基于数据进行学习
- 数值是一种统计量:概率、频数、
- 对数据空间bin进行量化
- 对图片数据/特征分布的一种统计
-
直方图均衡化
- 直方图均衡化是指:利用图像直方图对对比度进行调整德方法
- 直方图均衡化通常用来增加许多图像的局部对比度,尤其是当图像的有用数据的对比图相当接近的时候
- 直方图均衡化以后,亮度可以更好的在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效的扩展常用的亮度来实现这种功能
- 直方图均衡化:实质上是对图像进行非线性拉伸
- 重新分配各个灰度单位中的像素点数量,是一定的灰度范围像素点数量的值大致相等
-
自适应直方图均衡
- 直方图均衡的经典算法对整幅图像的像素使用相同的变换,如果图像中包括明显亮的或者暗的区域,则经典算法有限
- 自适应直方图均衡(AHE)算法通过对局部区域进行直方图均衡,来解决上述问题;
- 移动模板在原始图片上按特定步长滑动
- 每次移动后,模板区域内做直方图均衡,映射后的结果赋值给模板区域内所有点
- 每个点会有多次赋值,最终的取值为这些赋值的均值。
-
CLAHE
- AHE会过度放大图像中相对均匀区域的噪声,可采用限制对比度自适应直方图均衡(CLAHE)。
- 与普通自适应直方图均衡相比,CLAHE的不同地方在于直方图修剪过程,用修剪后的直方图均衡图像时,图像对比度会更自然
- 等面积挪到下面垫高
- 如下图
- 小黑点的灰度直接由映射函数计算得到
- 粉色区域内点的灰度由映射函数计算得到
- 绿色区域内点的灰度由相邻两块灰度映射值线性插值得到
- 其他区域所有点的灰度由相邻四块的灰度映射值双线性插值而得、
- CLAHE算法步骤
- 1、图像分块,以块为单位
- 2、先计算直方图,然后修建直方图,最后均衡
- 3、遍历操作各个图像块,进行块间双线性插值
- 4、与原图做图层绿色混合操作。(可选)
-
形态学运算
- 开运算:先腐蚀在膨胀,可以去掉目标外的孤立点
- 闭运算:先膨胀再腐蚀,可以去掉目标内的孔
- 通常,当有噪声的图像用阈值二值化后,所得到的边界是很不平滑的,物体区域具有一些错判的孔洞,背景区域散布着一些小的噪声物体,连续的开和闭运算可以显著的改善这种情况
-
空间域处理及其变换
- 滤波/卷积
- 在每个图片位置(x,y)上进行基于邻域的函数计算
- 滤波函数->权重相加
- 卷积核、卷积模板
- 滤波器、滤波模板
- 扫描窗
- 滤波函数->权重相加
- 不同功能需要定义不同的函数
- 平滑/去噪
- 梯度/锐化
- 边缘、显著点、纹理
- 模式检测
- 在每个图片位置(x,y)上进行基于邻域的函数计算
- 参数解释
- x,y是像素在图片中的位置/坐标
- k,l是卷积核中的位置/坐标,中心点的坐标是(0,0)
- f(k,l)是卷积核中在(k,l)上的权重参数
- I(x+k,y+l)是与f(k,l)相对应的图片像素值
- h(x,y)是图片中(x,y)像素的滤波/卷积结果
- 边界填充(Padding) 将卷积核的中心对上顶点
- 获得同尺寸输出的情况下
- 卷积核越大,补充越多
- 补充类型
- 补零(zero-padding) 目前用的最多
- 边界复制(replication)
- 镜像(reflection)
- 块复制(wraparound)
- 滤波/卷积
-
均值滤波
-
平滑均值滤波/卷积
-
3*3
-
扫描步长:1
-
边框补零
-
均值滤波本身存在缺陷,既没有很好的去除噪声点,也破坏了图像的细节反而使图像变得模糊
-
奇数尺寸:3×3、5×5,7×7,2n-1×2n-1
-
参数和为:1
-
-
-
平滑中值滤波/卷积
- 奇数尺寸:3×3、5×5,7×7,2n-1×2n-1
- 操作原理:
- 卷积域内的像素值从小到大排序
- 取中间值作为卷积输出
- 有效去除椒盐噪声
- 将领域矩阵中的N个像素进行排序,并将这个矩阵的中心点赋值为这N个像素的中值
-
平滑高斯滤波/卷积
-
奇数尺寸:3×3、5×5,7×7,2n-1×2n-1
-
模拟人眼,关注中心区域
-
有效去除高斯噪声
-
参数
- x,y是卷积参数坐标
- 标准差σ /`sigma/
- 人眼特性:离关注中心越远,感受精度越模糊
- σ 越小 关注区域越集中
- 分解特性(级联高斯)
- 2D卷积拆分成两个相同的ID卷积
- 列卷积
- 行卷积
- 降计算
- 2D卷积:K×K次计算
- 2×1D卷积:2K次计算
-
- 2D卷积拆分成两个相同的ID卷积
-
-
梯度Prewitt滤波/卷积
- 水平梯度/垂直边缘 梯度:某一函数在该点处的方向导数
- 垂直梯度/水平边缘
-
梯度Laplacian滤波/卷积
- 二阶微分算子
- 一阶导数极值
- 作用
- 团块检测:周边高于(低于)中心点
- 边缘检测:像素值快速变化的区域
-- Laplacian滤波器条件,相加等于0;
- Laplacian滤波锐化
- 二阶微分算子
-
其他滤波/锐化
- 左移位滤波
- 锐化
- 左移位滤波
面壁十年图破壁,难酬蹈海亦英雄