IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 计算机视觉入门学习笔记(二)——图像预处理 -> 正文阅读

[人工智能]计算机视觉入门学习笔记(二)——图像预处理

原视频教程:
https://www.bilibili.com/video/BV19x411X7k6?from=search&seid=9816644268076164289

一、图像显示与储存原理

1.1、图像怎么显示

计算机视觉中,主要有RGB颜色空间HSV颜色空间
RGB:三个颜色通道(RGB),有时候有四个(ARGB)
HSV:三个通道(HSV),色调、饱和度、亮度

1.2、图像怎么储存

在这里插入图片描述

二、图像增强的目标

改善视觉效果,转为更适合人或者机器分析,突出有意义的东西,抑制无用信息
空间域处理:点运算【直方图】,形态学运算【膨胀,腐蚀】,临域运算【卷积,金字塔】
频率域处理:傅里叶变换,小波变换

三、点运算:基于直方图的对比度增强

3.1 直方图是什么

将某一张照片的像素灰度[0,255]全部找出来,并按照个数统计其分布,得到的统计曲线就是直方图,如下图在这里插入图片描述

3.2 直方图均衡化(经典方法)

如3.1图,可以看出此时灰度分布不均匀,图像集中在了较暗的地方。这种情况大多数是因为相机的的成像、曝光等等有问题,可以通过直方图均衡化来调整。对直方图进行非线性拉伸,使得其大致均匀分布。注意通常为非线性拉伸。
在这里插入图片描述

3.3 自适应直方图均衡化(AHE)

简单地非线性拉伸直方图成为直方图均衡化的经典算法,想象一下,当图像中存在过亮的情况,比如正对着光源拍摄,这种情况使用经典算法,会导致亮的部分更亮,因此经典算法作用有限,可以使用自适应直方图均衡化。分为以下几步:
1、设定一个模板,在原始图片上滑动,步长固定;
2、在滑动的时候,对模板覆盖住的区域进行直方图均衡的经典算法,并对每个像素点进行结果赋值;
3、滑动结束后 ,每个像素点会有多个赋值,取多个赋值的均值为最终的结果,这个结果成为即为AHE得到的映射函数。

3.4 限制对比度自适应直方图均衡(CLAHE) 没搞懂

AHE有一个缺点,他在处理的时候,会将图片噪声放大,因此提出了CLAHE。大致过程为,在AHE的基础之上,把左图中超出阈值的部分整体拆分移动到底部,使得整个直方图抬高。
简单地进行上述移动还会带来图片不连续的问题,如相邻两个像素点差距过大,但是我不知道为什么。为了解决这个问题, 需要对AHE得到的映射函数稍微加工一下,如下图2.

图1:CLAHE示意图
图2
图2:映射函数优化
在这里插入图片描述

四、形态学处理

膨胀与腐蚀
开运算:先腐蚀再膨胀,可以去掉目标外的孤立点
闭运算:先膨胀再腐蚀,可以去掉目标内的孔

开运算中:腐蚀后,五角星外的白点会被腐蚀消失,同时五角星会往外扩张一小圈;再膨胀的时候,五角星会缩回原先的样子,而白点已经消失了。
在这里插入图片描述

闭运算中:膨胀后,五角星内的黑点会因为边缘的白色向其膨胀而消失;再腐蚀使得五角星和外部的白点恢复原样,而黑点已经消失了。
在这里插入图片描述

五、空间域处理:卷积

卷积的时候如果不进行边界扩充(Padding),那么卷积结果一定是比原来的图片要小。如图,用3 * 3的卷积核对4 * 4大小的图片进行卷积,当不进行边界扩充时候, 需要把卷积核边缘同图片边缘对齐,得到的结果必定比原图片小。
在这里插入图片描述
进行边界扩充时候,将卷积核中心与目标位置对齐,超出图片的部分假定为某个值,使得卷积后的大小与原图片保持一致。
边界填充策略一般有:0,边界值,镜像,块复制。补0用得最多,但在使用的时候需要避免大卷积核小图片的搭配——这样在卷积的时候,边界有很多本没有的0加入运算,而中心位置没有额外加入的0,导致中间和边界的数值差距变大,会造成较大误差。
在这里插入图片描述
当卷积核是对称的时候,可以将卷积核拆解成 列*行 级联的形式,然后对图片先进行列卷积,再进行行卷积,得到的结果和直接卷积的结果是一样的。这样拆解的好处是降低了卷积运算的复杂度,由N2降为了2N(这里也没搞懂)。

魔鬼细节:卷积运算本身并不是矩阵相乘,而是对应位置直接相乘相加;而有时候,我们会把卷积核倒转一下,或者设定对称的卷积核,使其变成矩阵相乘。

六、卷积的应用(平滑、边缘检测、锐化)

1、平滑

以3*3的卷积核为例,每个位置相乘后应得到9个值,卷积是对这9个位置直接相加,滤波其实是根据这9个值,采用某种方法来计算结果。

滤波方法卷积核过程评价
均值滤波卷积核值全为1对9个值取均值,作为该位置的结果平均值会降低像素间区分度,不能很好地去噪,还破坏了细节
中值滤波卷积核值全为1对9个值取中值,作为该位置的结果很好地去噪
高斯滤波卷积核中心值大,边缘小,所有值相加为1对9个值相加,作为该位置的结果把图片变模糊

高斯滤波的有一个参数δ,这个参数代表了卷积核
看起来似乎没什么用,把图片变模糊算什么本事?在8.1中会有叙述。

2、边缘检测

滤波方法卷积核过程评价
水平梯度滤波(-1,0,1)
(-1,0,1)
(-1,0,1)
相乘相加放大垂直边缘差异,检测垂直边缘
垂直梯度滤波(-1,-1,-1)
( 0, 0, 0)
( 1, 1, 1)
相乘相加放大水平边缘差异,检测水平边缘
Sobel 梯度滤波(-1,-2,-1)
( 0, 0, 0)
( 1, 2, 1)
相乘相加基础梯度滤波的改进版
Laplacian 梯度滤波中间大,四周小,相加等于0,如
( 0, 1, 0)
( 1,-4, 1)
( 0, 1, 0)
相乘相加检测变化明显的地方,并且过滤平滑,用于细节锐化

3、锐化

Laplacian 梯度滤波示例
在这里插入图片描述
边上黑色的区域十分平滑,基本保持某个灰度不变。在和为0的卷积核作用下,会变成0,达到了过滤平滑的效果。环形山部分尤其是环形山边缘变化较明显,在中心大的卷积核作用下,会凸显出来。将卷积后的结果与原图相加,平滑部分值为0不变,细节部分更加明显,达到锐化效果。

七、频率域处理:傅里叶变换,小波变换

1、如何让卷积更快

空间域卷积 = 频率域乘积(看不懂)

八、应用案例

1、高斯金字塔

在应用中,经常会遇到需要缩放图片的情况,举个例子:
将 128 * 128 的图片缩放成 64 * 64,即长宽为 2 * 2 的每四个像素需要合并为一个新的像素。那么新的像素应该选用原先四个像素中的哪一个呢?或者说应该用什么方式来计算得出行的像素?
倘若直接取四个其中的某一个像素作为新像素,会导致缩小后的图片相邻像素间差距过大,图片出现不连续的锐化情况;为解决这个问题,可以先对原先的四个像素进行高斯滤波,可以让四个像素间更加平滑,之后可以任取一个作为新像素,也可以取四个像素点的平均值作为新的像素值。这个过程被称为高斯金字塔。

在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-02 20:48:53  更:2021-08-02 20:49:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/22 14:53:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码