1、计算机视觉概览
- 计算机视觉是一门让计算机如何像人一样看懂图片的学科,其输入是图像,输出是对图像的处理和理解
- 计算机视觉是计算机三大技术方向中最成熟的,其他两大方向分别是:自然语言处理、语音处理
- 计算机视觉的应用
![在这里插入图片描述](https://img-blog.csdnimg.cn/7eccb65a6ee748aca0cfc7c498a6585b.png) - 计算机视觉的核心功能
![在这里插入图片描述](https://img-blog.csdnimg.cn/e2a043aff1ec4facae06e890493759e6.png)
2、数字图像处理基础
→一幅图像是怎么形成的
2.1、图像的感知和获取
通过光敏传感器来获取图像,光敏传感器可以获取图像的场景元素,场景元素经过成像系统得到数字化的图像。描述传感器的性能包括传感器的单元数、尺寸以及性能
2.2、图像数字化
多数传感器的输出是连续的电压波形,图像数字化是将连续色调的图像转换为计算机能够处理的数字影像的过程。图像数字化包括两种处理过程:采样和量化。
2.2.1、采样
- 图像数字化的采样过程是将空间上连续的图像变化为离散的点。 采样后得到离散图像的尺寸称为图像分辨率。分辨率由宽(width)和高(height)两个参数构成。宽表示水平方向的细节数,高表示垂直方向的细节数。 例如:
- 一幅640* 480分辨率的图像,表示这幅图像是由640*480=307200个点组成。
- 一幅1920* 1080分辨率的图像,表示这幅图像是由1920*1080= 2073600个点组成。
- 采样间隔越小,所得图像像素数越多,空间分辨率高,图像质量好,但数据量大
![在这里插入图片描述](https://img-blog.csdnimg.cn/cad6b1338fd04c13a774f698598d994f.png)
2.2.2、量化
- 数字图像处理的量化过程是将采样点的传感器信号转换成离散的整数值。 量化后得到离散图像的每个采样点的变化范围称为灰度级(Gray level scale)。灰度级通常是2的整数次幂。我们用m级或者n位来表示灰度级。图像数据的灰度级越多视觉效果就越好,层次越丰富。计算机中最常用的是8位图像。 例如:
- 一幅8位的图像,表示每个采样点有2^8=256级。也就是说每一个采样点从最暗到最亮,可以分辨256个级别。
- 一幅32级的灰度图像,每个采样点从最暗到最亮,可以分辨32个级别。
![在这里插入图片描述](https://img-blog.csdnimg.cn/cff48d47d5a74eb6b6552b16bbf04a98.png)
2.3、数字图像的表示
- 取样和量化后的数字图像在数学上表示为一个矩阵。矩阵的每一个点都描述了被量化的强度,其宽和高表示图像分辨率的宽和高。
- 对于灰度图像,其图像是一个0到灰度级的整数。
![在这里插入图片描述](https://img-blog.csdnimg.cn/9a126466c69542578fc947a698841fba.png) - 数字图像中的每一个采样点,被称之为像素(Pixel)。像素可以由它在图像中的位置坐标(𝑥,𝑦)来描述。 像素的数据维度被称为通道(Channel)。描述彩色图像需要多通道。
![在这里插入图片描述](https://img-blog.csdnimg.cn/8415c73bf9db40399e67e888952cbff4.png)
2.3.1、灰度图
灰度图像的表示是在样本点上标注它的灰度值,0表示最暗,255表示最亮。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/7941790cfabb49fa88ba70347735a460.png)
2.3.2、彩色图像
RGB
![在这里插入图片描述](https://img-blog.csdnimg.cn/168bb399cbec42d89632e3c38f86188a.png)
HSV
H:色相,颜色的相位角,范围0-356°,不同色相值对应不同的颜色 S:饱和度,0-1,越靠近远点,饱和度越低 V:亮度,0-1,越靠近0越暗,越尖越暗 相比于RGB,HSV所能包含的颜色空间更大,颜色更多 ![在这里插入图片描述](https://img-blog.csdnimg.cn/d920604d741147fea391b9e5608474c2.png)
其他色彩空间
![在这里插入图片描述](https://img-blog.csdnimg.cn/75eea037fedc42c0bb7aea49af64b6d4.png)
2.3.2、颜色空间的转换
![在这里插入图片描述](https://img-blog.csdnimg.cn/76da393de78047f7b7ab08ac16602898.png)
2.3.4、图像灰度化
![在这里插入图片描述](https://img-blog.csdnimg.cn/e6246b230ecb4165820882accf778d77.png)
2.3.5、像素关系
![在这里插入图片描述](https://img-blog.csdnimg.cn/30b4b12796d84a45a61b9a6a0b7bb118.png)
2.3.6、像素的连接
条件: 1、像素是否是在邻域中的 2、像素值相等或者像素值在一个灰度集合V中
![在这里插入图片描述](https://img-blog.csdnimg.cn/0f645a2638b5478abd8badbcde4d20be.png)
2.3.7、像素的连通
2.3.8、距离度量
以上说的领域、连通和连通域都是像素的空间度量,那么如何度量这个空间的大小呢,这个时候需要有距离的度量。主要包括: ![在这里插入图片描述](https://img-blog.csdnimg.cn/281f963ed8ec44fc907797133abc1676.png)
2.3.9、图像的计算(这里先介绍算数运算)
- 数字图像是由矩阵表示的,一切矩阵的计算都适用于图像,但是按照实际意义,图像的计算一般分为算数运算(点操作)和坐标变换(集合操作)
- 算数运算是通过一些运算规则,包括加减乘除和逻辑运算,改变像素点的灰度值来实现一些像素变化的应用
- 坐标变换是通过像素点的几何坐标变换来改变像素的位置以实现特定的应用。这个知识点会在图像预处理中讲到。
- 应用
1、对多幅图像的加法求均值,可以达到去噪声的效果;图像的加法可以实现图像添加水印 ![在这里插入图片描述](https://img-blog.csdnimg.cn/67295a1953934f0d9a5d3ee909b2fbf3.png) 2、对连续的图像的减法可以去除背景,还可以检测图像是否有运动的物体 ![在这里插入图片描述](https://img-blog.csdnimg.cn/c208d00c480646b89b9f97bf39a52be1.png)
3、图像预处理技术
3.1、图像处理的形式
![在这里插入图片描述](https://img-blog.csdnimg.cn/63e6902668c5451b9a83ba3d6fe87c88.png)
3.2、图像预处理
![在这里插入图片描述](https://img-blog.csdnimg.cn/4fe02b04d7814c96bffe677ee9ebedab.png)
3.2.1、图像的灰度变换
3.2.1.1、基于原图的图像灰度变换
![在这里插入图片描述](https://img-blog.csdnimg.cn/5041e4fa55b4460dbfd70aee4a6be11d.png)
- 反转
![在这里插入图片描述](https://img-blog.csdnimg.cn/2a80eb6403e8496b950573070761bb74.png) - 对比度增强(中间变大两边变小)
对比度增强就是把s1-s2之间(中间部分)的灰度值映射到d1-d2这个更大的的灰度值当中,而把边缘部分的灰度值映射到一个更小的灰度值范围内,其效果就是白的地方更白,黑的地方更黑。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/28885a3e866e49eb9153c0117b87984f.png) - 对比度压缩(中间变小两边变大)
把中间部分映射到灰度值更小的一个范围内,而两边部分映射到一个灰度值更大的范围内,达到白的地方变暗,黑的地方变亮。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/cec1e673d5854aa89af2829d7eca11cd.png) - γ矫正(伽马矫正)
→当γ=1的时候,图像无变换。 →当γ>1的时候,像素值比较低的位置会被压缩,像素值高的位置会被拉伸,从而暗部压缩,亮部增强的效果。 →当γ<1的时候,像素值比较低的位置会被拉伸,像素值比较高的位置会被压缩,从而暗部增强,亮部压缩的效果。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/6a7055125dba4d3aa041a61b0268a431.png) ![在这里插入图片描述](https://img-blog.csdnimg.cn/e562d1b93571426ba818e45152b79116.png)
3.2.1.2、基于直方图的图像灰度变换
- 直方图
横坐标表示灰度级,也就是2的位数次方,比如8位图的横坐标有2^8=256,纵坐标表示灰度级出现的频率。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/842b9721591147ea9d0fc0d5a99f6cd0.png) 灰度图像的直方图 ![在这里插入图片描述](https://img-blog.csdnimg.cn/69d8ea0dbfa84caa94c4b6eca87d77a5.png) 彩色图像的直方图: ![在这里插入图片描述](https://img-blog.csdnimg.cn/8b849d6c271e4f6f8757d25e5af3ff17.png) - 直方图的计算
![在这里插入图片描述](https://img-blog.csdnimg.cn/9335f0aaf4804831b90fefc14ec12830.png) - 直方图的应用
- 直方图均衡化
直方图的均衡化可以有效改善图像有过暗、过亮、或者不清晰的点 ![在这里插入图片描述](https://img-blog.csdnimg.cn/094989a74a594c2eb546dfc1b092df45.png) 这幅图中暗的部分有提亮效果,从而显示出草丛细节部分![在这里插入图片描述](https://img-blog.csdnimg.cn/30e5c3eab8854420a218bfbe61782b9a.png) - 直方图规定化:对特定部分的调整
![在这里插入图片描述](https://img-blog.csdnimg.cn/142acf5adfb64aafb5b71aab1dc00c05.png) ![在这里插入图片描述](https://img-blog.csdnimg.cn/ec9f9aecf15948dcb84762c035d62b45.png)
3.2.2、图像的滤波
- 空间滤波:
空间滤波是说像素p的输出值值由像素p以及其邻域决定的 ![在这里插入图片描述](https://img-blog.csdnimg.cn/d7e5eb968b544b988bcff40df4bb786a.png) ![在这里插入图片描述](https://img-blog.csdnimg.cn/105b1665a60f4c59b2e23dd9c918322a.png) 常见的滤波器主要有:
- 均值滤波
去噪声、图像模糊 ![在这里插入图片描述](https://img-blog.csdnimg.cn/d68b72991f014a4eb9b921c331eed035.png) - 高斯滤波
![在这里插入图片描述](https://img-blog.csdnimg.cn/2ded16e57ba04bf6b89b254d083fb857.png) - 中值滤波
模板排序(中位数)滤波器的一种,有降噪、保持图像锐度 ![在这里插入图片描述](https://img-blog.csdnimg.cn/07fbc38efc9742ca99afac05a161201f.png)
- 图像锐化
![在这里插入图片描述](https://img-blog.csdnimg.cn/54ad5a9aaddf412182b99c2af98536fe.png)
3.2.3、坐标变换
![在这里插入图片描述](https://img-blog.csdnimg.cn/02c6759d6f634fdf994fa5b8323bdc05.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/dc5a259300254f2aba325838ec220fbe.png)
- 透视变换:近大远小-非线性的
![在这里插入图片描述](https://img-blog.csdnimg.cn/ba10fc61bc834d30be9e354ba75f8165.png) ![在这里插入图片描述](https://img-blog.csdnimg.cn/5835b7f69c754cc4b7977cf8b1d44944.png)
3.2.4、彩色图像的图像预处理方法
![在这里插入图片描述](https://img-blog.csdnimg.cn/21c22f43e7074228aef06ee90b402658.png)
- 单通道变换
![在这里插入图片描述](https://img-blog.csdnimg.cn/b9ec9ded44f841f8b9b6d6b9d5f4331d.png) - 色调增强:H
![在这里插入图片描述](https://img-blog.csdnimg.cn/5d2dd54e1abc41e5a7da77bf7320e9ac.png) - 饱和度增强:S
![在这里插入图片描述](https://img-blog.csdnimg.cn/81d7c0cc9a664ef08608c8c24b0567c8.png) - 亮度增强:V
![在这里插入图片描述](https://img-blog.csdnimg.cn/d7b1ff79f3834de89176dc6397ad2337.png) - 图像预处理技术在深度学习中的应用
![在这里插入图片描述](https://img-blog.csdnimg.cn/14f2af7ff060460aaaa9f49ef6aa8e97.png)
4、图像处理的基本任务
4.1、数字图像处理的层次
- 图像处理:输入和输出都是图像,也就是图像预处理的过程。这一步是为了减少图像噪声,去掉无用的信息,增强和检测有关的信息。
- 图像分析:输入的是图像,输出的是图像的特征、目标信息和感兴趣的内容。
- 图像理解:最高层次,输入的是图像分析后的结果,输出的是计算机对这幅图像的理解、这幅图像的标签。
![在这里插入图片描述](https://img-blog.csdnimg.cn/57c1cc3a150d4764b1239edb7dcc5834.png)
4.1.1、图像处理
图像处理是数字图像处理中较低层的操作。图像处理主要在像素级上进行操作,它需要处理的数据量和计算量非常大。 一副1080P的图像有超过两百万个像素点,逐像素做灰度变换需要算两百万次重复的操作。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/6771935a0432425e8b055e758ba10c9a.png)
4.1.2、图像分析
图像分析是数字图像处理中的中层操作。它通过直方图、特征描述和分割等图像处理操作,将以像素描述的图像中感兴趣的目标转变为更简洁的数据描述。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/c99e005603b04b21bed78630b32ceea9.png)
4.1.3、图像理解
图像理解是数字图像处理中的高层次操作。它主要对图像分析操作提取出的目标进行计算和逻辑推理操作,达到类似人类思维的理解图像内容。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/34c7bd6c0fb84c2d83498e66adfd91e5.png)
4.2、图像分类
- 图像分类(image classification)是图像理解在人工智能领域的基本研究主题之一,是计算机视觉领域的核心问题。 图像分类需要根据图像理解技术,判断输入的图像属于固定K个类别中的哪一类。K的大小取决于训练数据集。
![在这里插入图片描述](https://img-blog.csdnimg.cn/bf53bcd9c4eb4d469b9be6147c8460c1.png) - 置信度:衡量图像分类结果的可信度,其他度量图像分类的如下:
- Ground Truth:图像处理中,数据集中的真实标签被称为Ground Truth(GT)
- 正确率 accuracy:判断正确样本数占所有样本数的比例
- 错误率 error rate:判断错误的样本数占所有样本数的比例
- 我们希望混淆矩阵中对角线上的数据,也就是被正确标记的数据越大越好
![在这里插入图片描述](https://img-blog.csdnimg.cn/d8a300a21bd04eafbc0f1200f318d2c9.png) - 其他性能度量指标
![在这里插入图片描述](https://img-blog.csdnimg.cn/402974f4b5134113b4e64b1d4928526e.png)
4.3、目标检测
- 目标检测(object detection)相对于图像分类,不仅要判断图像目标是什么还需要定位出目标在图像画面中的位置(location)。 类别的判断和分类一致,目标位置的输出一般使用边界框(bounding box)的描述方法
- 目标检测=图像分类+添边界框
![在这里插入图片描述](https://img-blog.csdnimg.cn/edd2ad4e522e42429e79d88503d3a261.png) - 目标检测性能度量
![在这里插入图片描述](https://img-blog.csdnimg.cn/1e17306267a24b4bbe78d319b9d1cb24.png)
4.4、图像分割
- 图像分割(segmentation)是根据需要解决的问题,将图像细分为目标内容所构成的不同子区域。图像分割要求能够精确的分割出图像的前景和背景。 图像分割的算法和应用方向有很多,常见的图像分割应用有**连通域分割(连通域技术划分图像的边界:光学字符识别OCR、车牌号识别),运动分割(通过目标在连续运动帧当中的运动关系对目标进行前后背景分割:安防、自动驾驶),目标分割(要求像素级的精确分割:自动驾驶)**等。
![在这里插入图片描述](https://img-blog.csdnimg.cn/41d1f96aba004b979358ddf5c8618229.png) - 度量指标
![在这里插入图片描述](https://img-blog.csdnimg.cn/b80dc09d631a4ce593340744d03ec625.png)
4.5、目标跟踪
- 目标跟踪(object tracking)是计算机视觉中的基础研究方向,有着广泛的应用,如:智能交通,人机交互, 无人驾驶等。
- 目标跟踪和目标检测类似,都需要在图像中定位出目标的位置。区别在于目标检测是在静态的单帧图像中定位目标,而目标跟踪是在连续的多帧图像中定位目标。 除了使用目标检测的技术在单帧图像中找到目标,目标跟踪的技术更强调利用多帧图像的连续性,根据上下文相关的信息,预测出目标的准确位置。他可以画出目标的运动轨迹,预测目标下一步的运动位置。
![在这里插入图片描述](https://img-blog.csdnimg.cn/2460796878e84cc59702dab9c70c4a4f.png) - 性能指标:和目标检测的是一样的。
4.6、复杂任务
我们上面介绍了四种图像识别的基本任务:图像分类、目标检测、图像分割和目标跟踪。通过对图像识别基本任务的算法进行集成应用,可以完成更为复杂的任务:文字识别、人脸识别、内容检测。
4.6.1、文字识别
- 文字识别(Optical Character Recognition,OCR)是将图片或扫描件中的文字识别成可编辑的文本,其中使用了文字目标检测,目标分类等图像处理技术。可代替人工录入,提升业务效率。常见的文字识别应用有身份证、驾驶证、行驶证、发票、英文海关单据、通用表格、通用文字等场景文字识别。
![在这里插入图片描述](https://img-blog.csdnimg.cn/b4279f6690ee40bca5f2ca5ced5c0796.png)
4.6.2、人脸识别
- 人脸识别通过图像处理技术,对图像中给的人脸进行分析和理解,人脸识别主要分为一下三个方向:人脸检测(检测图像中的人脸大小和位置,但是不需要分辨人脸是谁)、人脸对比(对比两张脸的相似度)、人脸搜索(对输入的图像从数据库中搜索,并返回n个相似程度高的对象出来)
4.6.3、内容检测
- 内容检测指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对象的技术。 自然图像的语义内容非常丰富,一个图像包含多个标签内容,图像内容检测能够更智能、准确地理解图像内容,让智能相册管理、照片检索和分类、基于场景内容或者物体的广告推荐等功能更加精准。和图像理解比较相似。
![在这里插入图片描述](https://img-blog.csdnimg.cn/70d8555b3a99448d9d1c5a0d4bb78deb.png)
5、特征提取与传统图像处理算法
5.1、传统图像处理算法
![在这里插入图片描述](https://img-blog.csdnimg.cn/2c7e4b2b7042475a8e3c76ab2991b23f.png) 为什么要对图像进行特征提取和特征选择: 因为数字图像是非结构化数据,不方便使用模式识别的算法进行计算。所以需要把非结构haul数据转换成结构化数据。
5.2、图像特征提取
为了将数字图像有效的转换为结构化数据,需要用到图像特征提取的技术降低数据的维度。其主要思路有:
- 降采样:通过缩放等降采样技术降低待分析图像数据的分辨率。
- 分割感兴趣区域(Region of Interest,ROI):通过分割技术,提取图像中的感兴趣目标的区域(前景区),减少待处理的数据量。
- 特征描述子:使用特征描述子将图像转为固定长度的特征向量。
- 常见的图像特征提取算法有:
5.2.1、图像二值化
- 图像二值化(image binarization)是将图像上的像素点的灰度值全部设置为黑色(0)或白色(255),也就是将整个图像分割成明显的黑白效果的过程。(本节都以8位图像为例) 。 其中最常用的是阈值分割,将图像中灰度值大于阈值的像素点设置为白色(或黑色),小于阈值的点设置为黑色(或白色),阈值(Threshold)通常用T表示。
![在这里插入图片描述](https://img-blog.csdnimg.cn/b5c6ae9da42c408da863aa512d3c7d32.png)
5.2.2、自适应阈值分割
- 用阈值分割来分割图像,需要对图像的阈值进行设置(超参数)。为了避免阈值不同而影响,我们可以使用自适应阈值分割。
- 由于阈值的选取直接影响了二值化分割的效果,如何选择合适的阈值是二值化算法的核心。通过算法自动计算出分割阈值的方法叫做自适应阈值分割。自适应阈值分割能够根据图像的灰度分布特征求取出分割视觉效果最佳的阈值。 常用的自适应阈值分割有双峰法与最大类间方差法(OTSU)。
- 自动阈值分割算法可以适应光照不均匀的图像,它还衍生出局部自适应阈值分割算法,这类算法会对图像的不同局域计算适合这个局部的阈值,以达到最佳分割的效果
5.2.2.1、双峰法
- 不是所有的图像都可以采用双峰法进行分割,能够采用双峰法的它的直方图一定是有双峰的,而且还可以找到一个明显的波谷。把波谷对应的最低的灰度值设定为阈值。
![在这里插入图片描述](https://img-blog.csdnimg.cn/23a1dece3485485196e29592853e9ff4.png)
5.2.2.2、最大类间方差法
- 把图像分为前景和背景两个部分,然后使得前景和背景的类间方差最大,所以需要遍历整幅图像的灰度级,知道使得前后背景的类间方差最大的值,作为阈值。
![](https://img-blog.csdnimg.cn/93ad99cf05f54f1095d0b03d21530fee.png)
5.2.3、形态学处理
- 图像的形态学处理(morphology)有简化图像数据,增强形状特征,去除干扰噪声等功能。形态学处理的基本操作是膨胀(dilation)和腐蚀(erosion)运算。由基本操作进行组合可实现开运算(opening)、闭运算(closing)等实用的算法。
- 形态学处理在噪声滤除、边界提取、目标定位和区域填充等任务中有着广泛的应用。 图像的形态学处理操作对象既可以是二值图像也可以是灰度图像,本节我们用二值图像来介绍形态学处理理论,同样的处理操作可以拓展到灰度图像。
5.2.3.1、膨胀
- 对于需要膨胀的图像A,结构元素B,对A中所有的像素点集合进行按照B形状进行遍历,,对于不满足B形状的进行扩张(扩展后的点不包括在遍历的点集合中)
- 膨胀有扩展前景区域边缘的作用
![在这里插入图片描述](https://img-blog.csdnimg.cn/7c623fd63f3e47cf9e5e82abc0daa89a.png)
5.2.3.2、腐蚀
- 和膨胀运算相反,对于需要腐蚀的图像A,结构元素B,对A中所有的像素点集合进行按照B形状进行遍历,,对于满足B形状的进行腐蚀。
- 腐蚀有压缩前景区域边缘的作用
![在这里插入图片描述](https://img-blog.csdnimg.cn/1f106502aefd469e9b5a3de22702873f.png)
5.2.3.3、开运算
- 开运算=先腐蚀+后膨胀,开运算可以把目标外面的噪声去掉
- 开运算就是用结构元素B对图像A腐蚀,再用B对结果进行膨胀得到最终结果。 开运算能够滤除比结构元素小的亮点噪声和突刺,并分离细长的接。例如将因噪声影响粘连在一起的区域分割开来。
![在这里插入图片描述](https://img-blog.csdnimg.cn/723577829d434974a5ad16aa1b64c437.png)
5.2.3.4、闭运算
- 闭运算=先膨胀+后腐蚀,闭运算可以把目标区域里面的噪声去掉
- 闭运算就是用结构元素B对图像A膨胀,再用B对结果进行腐蚀得到最终结果。 闭运算可以把填补比结构元素小的暗点缺憾或者空洞,连通细小断的区域并平滑边界。例如将因图像质量而断裂的目标区域进行合并连通。
![在这里插入图片描述](https://img-blog.csdnimg.cn/d09d00df1e46416da8abaa943636aa77.png)
5.2.4、模板匹配
- 使用一个模板在目标图像中不断计算模板在原始图像的匹配距离,当距离小于阈值的时候,模板匹配成功,就表示在原始图像中找到了目标的位置。
![在这里插入图片描述](https://img-blog.csdnimg.cn/1a301e2ca3b24de9a813dc82e24676b0.png)
5.2.5、滑动窗口法
![在这里插入图片描述](https://img-blog.csdnimg.cn/353280290ba64e878c8828255eb31a46.png)
5.2.6、特征描述子
![在这里插入图片描述](https://img-blog.csdnimg.cn/813b64ddac934e9793571678be1bea01.png)
5.2.6.1、HOG
- 图像中物体的轮廓和边缘是图像很重要的特征。图像模糊是因为图像中物体的轮廓不明显,像素值灰度变化不剧烈。图像中物体轮廓和边缘变化明显与否如何定义?
- 梯度的方向是函数变化最快的方向。图像中,在物体边缘的梯度值较大,相反,在图像比较平滑的部分,灰度值变化较小,则相应的梯度也较小,图像处理中把梯度的模简称为梯度,由图像梯度构成的图像成为梯度图像。
- **图像的梯度能反映图像的边缘和轮廓特征,但是梯度的大小受光照的影响。**解决的办法是:方向梯度直方图HOG
- 防止光照的干扰,合理利用图像梯度的策略:
- 将图像分为若干个块(Block)。
- 用统计学的方法,计算每块内的像素梯度直方图,防止光照的干扰。
- 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。HOG特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。需要提醒的是,HOG+SVM进行行人检测的方法是法国研究人员Dalal在2005的CVPR上提出的,而如今虽然有很多行人检测算法不断提出,但基本都是以HOG+SVM的思路为主。
- HOG算法流程
HOG是常用的特征描述子。其功能是将图像转换为能表示图像特征的向量的形式,再将对应的向量作为分类模型的训练数据。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/bf33e3a76b2a41118c1a7067fb1228e1.png)
5.2.6.2、LBP
- 局部二值模式(Local Binary Pattern,LBP)是一种可以描述图像局部纹理特征的描述子。 LBP具有旋转不变性和灰度不变性等显著的优点。
- LBP能很好的地表达图像的局部纹理信息,在应用过程中,LBP被不断得改进和优化,发展出圆形LBP算子,旋转LBP算子等。
![在这里插入图片描述](https://img-blog.csdnimg.cn/530f7378a84f427c96e18b2242318c64.png) - SVM:支持向量机,也就是找到两个类中的最大分类间隔。支持向量机通过把低维数据映射到高维中去,可以使得原来线性不可分的数据线性可分。
![在这里插入图片描述](https://img-blog.csdnimg.cn/ad2e910fd1114ea19483035925cf5d22.png)
5.2.6.3、Haar
6、深度学习和卷积神经网络CNN
- 卷积神经网络(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于图像处理有出色表现。它包括卷积层(convolution layer),池化层(pooling layer)和全连接层(fully connected layer)。
- 它可以避免图像预处理的过程,可以自动提取图像的特征。
![在这里插入图片描述](https://img-blog.csdnimg.cn/bb91469ad1a0478dbe9742495fadac30.png)
6.1、单卷积和计算
- 滑动窗口法
![在这里插入图片描述](https://img-blog.csdnimg.cn/0826d02b61c84fca98b0a0fd14b79b22.png) ![在这里插入图片描述](https://img-blog.csdnimg.cn/244aeb1288c0436fb5d880980c39df4d.png)
6.2、深度学习卷积的重要概念
- 卷积核(convolution kernel):根据一定规则进行图片扫描并进行卷积计算的对象称为卷积核。卷积核可以提取局部特征。
- 卷积核尺寸(kernel size):卷积核是一个3维的矩阵,可以用一个立方体表示,宽w,高h,深度d。深度d由输入的通道数决定,一般描述卷积核尺寸时,可以只描述宽w和高h。
- 特征图(feature map):经过卷积核卷积过后得到的结果矩阵就是特图。每一个卷积核会得到一层特征图,有多个卷积核则会得到多层的特征图。(简单来说就是卷积后的结果)
- 特征图尺寸(feature map size):特征图也是一个3维的矩阵,可以用一个立方体图示,宽w,高h,深度d。深度d由当前层的卷积核个数决定,一般描述特征图尺寸时,可以只描述宽w和高h
- 步长(stride):卷积核在输入图像上滑动的跨度。如果卷积核一次移动一个像素,我们称其步长为1。
- 零填充(zero padding):为了提取图像的边缘信息,并且保证输出特征图的尺寸满足要求,可以对输入图像边缘填充一个全为0的边框,边框的像素宽度就是padding。
6.3、多卷积核的计算
我们看到这个计算是有两个卷积核(粉红色有两个),所以对应两个特征图(青色),并且计算的时候,因为输入的通道有三个,所以需要对三个通道分别求单卷积后累加,并且不能忘记还要加上偏置值(最后那个1×1的红色小色块) ![在这里插入图片描述](https://img-blog.csdnimg.cn/fe5c0433c9c24a5394626b55eab32be8.jpeg)
6.4、图像不变性
- 图像不管在画面左侧还是右侧,都会被识别为同一物体,这一特点就是不变性,或者是图像不管经过哪种角度的旋转或者图像如何光照,都会被识别为同一物体,不变性对图像识别的效果影响很大。
![在这里插入图片描述](https://img-blog.csdnimg.cn/4edd6f4fe11d4d18a8fab7282cbdcf63.png) - 普通前馈神经网络来训练下面的图像的时候,因为图片会被展开成25的向量,当图片中的横折处于不同位置的时候,由于展开后位置不同,所以会被视为不同的图像,但是实际上,这些图像应该被视为一样的图像。
- 但是如果使用卷积神经网络的话,可以大大减低图像不变性对训练造成的困难。
![在这里插入图片描述](https://img-blog.csdnimg.cn/99eaad78ff5f4ee78f74f23cfcc9f579.png)
6.5、CNN的核心思想
6.5.1、局部感知
- 一般认为人对外界的认知是从局部到全局的,图像像素点的空间联系也是局部的像素联系较为紧密,而距离较远的像素相关性则较弱。
- 但是使用一般的神经网络来训练的时候,每一个神经元接收到的会是全部的图像信息,这样不仅仅信息量大,而且它和人处理图像顺序是不一样的。这样不能很好的处理一些图像的信息。而且一般来说,相邻的像素点之间的相关性比较强,而较远的像素点线性相关性比较弱,所以每一个神经元没有必要去感知全部的图像信息,只需要感知局部信息就可以了。这就是局部感知。
- 局部感知的实现:用比图像小很多的kernel(卷积核)来扫描图像
6.5.2、参数共享
- 优点: 解决图像位置不变性的问题。减少计算和内存需求。
- 实现: 用参数相同的Kernel去扫描整副图像。不管目标在图像哪一个位置都可以正确扫描到。
![在这里插入图片描述](https://img-blog.csdnimg.cn/c1e19151d13d488f82c27abd5d562626.jpeg)
6.6、卷积神经网络的结构
- 输入层:输入的图像
- 卷积层:用来提取图像的特征
- 池化层:用来降维且能保留图像的特征
- 全连接层:用于做最后的分类
![在这里插入图片描述](https://img-blog.csdnimg.cn/1ab33e9da0ec4190b63c5680936ff74d.png)
- 卷积层
卷积层通过不同的特征核提取图像的局部特征信息。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/e278693af0b6434baf1ab29b63b0177d.png) 不同深度卷积层提取特征,一般四层之后就可以提取到整一个目标特征了 ![在这里插入图片描述](https://img-blog.csdnimg.cn/83d823244eb140a0b65aa4fdb4c738e0.png) - 池化层
池化的目的是减少图像特征图(feature map)的空间尺寸。 有时图像太大,我们需要减少训练参数的数量,因此会在随后的卷积层之间周期性地引进池化层。 池化层一般分为最大池化(max pooling)和平均池化(mean pooling)。**池化层的最常见形式是最大池化。**池化过后不仅仅减少了数据量,而且还保持了图像显著的图像特征。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/ee59ee77f4f64b5c9fe590319c659cf1.png) 最大池化例子:每一次提取卷积尺寸中最大的那个值 ![在这里插入图片描述](https://img-blog.csdnimg.cn/f4a7c53874b54781a6e5d21c69e56652.png) ![在这里插入图片描述](https://img-blog.csdnimg.cn/8a6e9dc2e0284b999cddc435c2f62b04.png) - 全连接层:一般在最后面
全连接层可以用来将最后得到的特征映射到线性可分的空间,通常,卷积神经网络会将末端得到的特征图平摊成一个长的列向量,经过全连接层的计算得到最终的输出层。 全连接层在整个卷积神经网络中起到“分类器”的作用。连接所有特征,将所有特征传递给具体的分类器进行分类或者回归处理,一般都使用的softmax激活函数将最终的输出数值向量化。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/196121c0eb724d50bf64dca90d81f18e.png)
思考题
![在这里插入图片描述](https://img-blog.csdnimg.cn/1c37d8fd70aa4fcbb640f80d17c7478b.png)
|