文章目录
- 零、前言
- 1.先行课程:python、深度学习、数字图像处理
- 2.查文献
- 3.环境安装
- 第一章:概论
- 1.计算机视觉的概念
- 2.机器学习
- 第二章:图像处理相关基础
- 1.图像的概念
- 2.图像处理
- 3.滤波器
- 4.卷积神经网络CNN
- 5.图像的多层表示:图像金字塔
- 6.人类对比敏感度函数
- 第三章:图像的特征
- 1.图像特征
- 2.特征点、角点
- (1)Harris角点特征检测
- (2)SIFT特征描述子
- 3.图像边缘、边缘检测
- 第四章:图像对齐问题
- 1.图像对应
- (1)概念
- (2)SIFT特征算法
- (3)SURF特征算法
- 2.图像对齐
- (1)概念
- (2)RANSAC
- (3)仿射变换 (六自由度)
- (4)刚体的对齐
- (5)非刚体的对齐
- 第五章:二值图像分析
- 1.二值图像的定义和通途
- 2.二值图像的创建
- 3.二值图像特征计算
- 第六章:纹理特征及分析
- 1.纹理分析
- 2.纹理的定义
- (1)纹理的定义、类型
- (2)纹理特征分析
- (3)共生矩阵:灰度共生矩阵GLCM
- (4)局部二值模式算子 (LBP算子)
- 3.GAN网络
- 第七章:图像分割
- 1.图像分割的定义、目标、本质
- 2.图像分割算法的种类
- (1)OTSU方法 (最大类间方差法)
- (2)区域生长 (Region growing)
- (3)分裂合并算法
- (4)能量方法:蛇模型、水平集模型
- (5)聚类分割方法
- (6)图割(Graph-based segmentation)
- 第八章:语义分割
- 1.语义分割的概念
- 2.基于CNN的语义分割
- 3.基于FCN的语义分割
- 4.语义分割网络架构
- (1)编码器-解码器(encoder-decoder)结构
- (2)空洞卷积的结构
- (3)隐神经
零、前言
每章内容:
1.深度学习概念
2.filter,滤波:去噪,增强
3.多层特征表达:全局特征、局部特征、点特征、边缘特征
4.图像对齐
5.二值图像
6.纹理特征
1.先行课程:python、深度学习、数字图像处理
2.查文献
1.查文献的网址
①dblp:dblp.org
②paperswithcode
2.查文献的关键词
①image matching:图像匹配
②tiny object
3.环境安装
1.Python的安装:https://blog.csdn.net/Edward1027/article/details/142702722
2.Anaconda软件安装与环境配置:https://blog.csdn.net/Edward1027/article/details/142703627
3.PyTorch的安装:https://blog.csdn.net/Edward1027/article/details/142722503
标识符:数字、字母、下划线,且首字符不能是数字
第一章:概论
1.计算机视觉的概念
1.计算机视觉是什么?
计算机视觉(Computer Vision) 是人工智能和计算机科学的一个重要分支,旨在让计算机从图像、视频或其他视觉数据中自动理解、分析和解释现实世界的信息。计算机视觉模仿了人类的视觉系统,试图通过算法来让计算机“看懂”并“理解”图像和视频。
2.计算机视觉的主要任务是什么?
计算机视觉的目标是使机器能够像人类一样“看到”、“理解”、并分析视觉信息,它的主要任务包括:图像分类(Image Classification)、目标检测(Object Detection)、图像分割(Image Segmentation)、物体跟踪(Object Tracking)、人脸识别(Face Recognition)、动作识别(Action Recognition)、三维重建(3D Reconstruction)、图像生成与合成(Image Generation and Synthesis)、场景理解(Scene Understanding)、光流估计(Optical Flow Estimation)
3.多模态输入(图像、文本),视觉语言模型
4.图像是2D的,视觉是理解2D→3D的。
5.模型 = 形式 + 参数
模型的形式不变,模型的参数可调节。比如 y = kx + b,这个形式不变,但参数k b可变。
6.pytorch[批量大小batch size,通道数channels,高 height,宽width(空域尺度)]
2.机器学习
1.机器学习的框架
2.机器学习算法的常见类型
①有监督学习
②无监督学习
③增强学习
3.常见的机器学习问题
4.感知器、神经元
5.卷积神经网络:5层卷积、3层神经元,输出1000个类别
权重矩阵的维度:权重矩阵通常是二维的,形状为 [输入维度×输出维度]
6.前馈网络和反馈网络
7.计算机视觉的应用:
8.计算机视觉算法的流程
(1)传统算法
(2)深度学习算法
9.深度学习
感知器、神经元、前馈神经网络、反馈神经网络、卷积神经网络
第二章:图像处理相关基础
1.图像的概念
1.图像是二维空间中的像素集合。
2.三种图像:
①彩色图像:RGB,一个像素是24bit,有RGB三个颜色通道,每个通道8bit,0-255
②灰度图像:0-255,一个像素是8bit,灰度像素是0-255,0是黑,255是白
③二值图像:只有0和1,一个像素是1bit
3.彩色图像转灰度图像
在很多图像处理任务中,彩色图像的灰度值是通过将每个像素的RGB值按照一定的加权比例合并计算得出的。最常用的公式基于人眼对不同颜色的敏感度,一般的加权公式为:
G r a y = 0.299 R + 0.587 G + 0.114 B Gray=0.299R+0.587G+0.114B Gray=0.299R+0.587G+0.114B
在这个公式中,红色、绿色和蓝色通道的贡献不同,因为人眼对绿色最敏感,对蓝色最不敏感。
2.图像处理
1.图像预处理:低频→高频
①低级处理:图像锐化和去噪
②中级处理:识别物体
③高级处理:图像理解,物体位置
扩展数据集的方法:将图像进行剪切、旋转、翻转 (数据集越多,神经网络学到的知识越多)
3.滤波器
1.滤波:先算卷积和,再对应相乘相加
2.滤波器的作用:
①图像增强处理:去除噪声、图像修复、超分辨率重建
②特征提取:边缘检测、角点信息
低通滤波器:用于去除图像中的噪声、平滑信号。
高通滤波器:用于图像锐化、边缘检测。
带通滤波器:在生物医学信号处理中,用于提取心电图中的特定频率成分。
带阻滤波器:在音频处理中,用于去除特定的噪声频段(如50Hz电源噪声)。
[10,10,10]
[255,255,255]
[255,255,255]
4.卷积神经网络CNN
分类,只需要下采样。
分割、检测、超分辨率重建,要下采样再上采样。
①下采样(downsampling):提取特征、对齐维度、减少计算量
②上采样(upsampling):还原细节
5.图像的多层表示:图像金字塔
1.图像金字塔:0层、1层、2层、3层(顶层)。原始图像为0层。
2.图像金字塔的构建方法
①上采样:由第k层删除第k-1层图像,图像尺寸加倍 (由上层采样得到下层,图像由小变大,增加图像的分辨率)
②下采样/降采样:由第k层产生第k+1层图像,图像尺寸减半 (由下层采样得到上层,图像由大变小,减少图像的分辨率)
3.常见的图像金字塔
①高斯金字塔
②拉普拉斯金字塔
4.图像金字塔的用途:
①视觉感知
②消除噪声
③分析纹理
④识别目标和场景
⑤标记图像特征
6.人类对比敏感度函数
1.对比敏感度函数(Contrast Sensitivity Function, CSF)描述了人眼对不同空间频率的对比度变化的敏感度,它反映了人类视觉系统如何感知图像中的细节。人类的视觉对中等空间频率的变化最敏感,而对非常高或非常低频率的变化不太敏感。
2.人类对中等空间频率的感知最好
第三章:图像的特征
1.图像特征
1.什么是图像特征?
(1)图像特征是数字图像全局或者局部的特点。例如:点特征、形状特征、颜色特征
(2)特征是指图像中的某些局部区域或模式,它们在图像处理和计算机视觉中可以帮助描述、辨别或识别图像中的内容。不同的特征可以表示图像的边缘、角点、纹理或颜色分布等。
(3)以下是图像中几个常见特征的例子:
①角点特征:角点是图像中的独特点,通常是边缘相交的地方或局部变化比较明显的区域。在图中的第二个例子,砖墙的复杂纹理中,角点特征会出现在每个砖块的交汇处。
②边缘特征:图像中的边缘是亮度突然变化的区域,通常表示物体的轮廓。在图中的第一个例子中,使用边缘检测算法可以提取人脸的轮廓作为特征。
③颜色特征:颜色是自然场景中特别明显的特征。在图中的第三个例子,森林场景中可以提取绿色和棕色区域作为颜色特征,反映树木和地面的分布。
这些特征被提取后可以用于物体识别、场景理解、跟踪等计算机视觉任务。
(4)图像显著特征(Salient Features)是指在图像中最能引起注意的区域或点,通常包括边缘、角点、纹理、颜色对比等。这两者之间有紧密的联系,因为显著特征往往对应于人类视觉最敏感的区域或频率。
2.图像特征的分类
(1)特征从整体-局部结构分类:
①全局特征:是指图像全局属性的描述,颜色特征和纹理特征是图像典型的全局特征
②局部特征:是指图像中灰度有明显变化的局部点或者局部区域特性。边缘特征、点特征、形状特征、局部区域特征是图像典型局部特征。
③从全局到局部感知的特征:是指从全局图像中感知到的图像中目标特性。空间位置特征是图像典型的这类特征。
(2)特征从属性分类:
①颜色特征
②形状特征
③纹理特征
④运动特征
3.常见特征:
①颜色特征 (全局特征)
②形状特征 (局部特征)
③纹理特征 (全局特征)
④空间位置特征 (从全局到局部感知的特征)
⑤局部区域特征
⑥边缘特征
⑦点特征
2.特征点、角点
1.特征点是指像中具有显著性和独特性的点,包括边缘、纹理区域和斑点等
2.角点,是图像上局部的区域灰度有明显变化的像素点。
3.角点是特征点的子集
4.角点的检测方法
①Harris角点特征提取
②尺度不变特征变换算法 (SIFT算法)
③加速鲁邦特征检测算法 (SURF算法)
④快速角点特征检测方法
⑤高斯拉普拉斯算子检测方法
⑥基于Hessian矩阵的特征检测方法
(1)Harris角点特征检测
(2)SIFT特征描述子
关键点(keypoint)描述子128维:4*4*8
整体对齐 与 局部对齐
3.图像边缘、边缘检测
1.边缘的定义
边缘:一个区域向另一个区域过渡的交接处,即强度不连续的过渡区,称为边缘。
2.图像边缘特征的用途
①目标识别
②图像几何信息计算:灭点、灭线
灭点:两条或多条平行线向远处地平线伸展直至聚合的一点
灭线:平面上,所有直线灭点的轨迹
3.常见的边缘类型:
①阶跃边缘
②斜坡边缘
③脊边缘
④屋顶边缘
4.常用边缘检测算法
①梯度边缘检测方法
②非最大抑制边缘检测方法
③Canny边缘检测器
④Roberts算子边缘检测器
⑤Prewitt算子边缘检测器
⑥Sobel算子边缘检测器
⑦拉普拉斯算子
⑧LOG算子边缘检测器
用于计算梯度偏导数的滤波器模板,通常称之为梯度算子、边缘算子和边缘检测子等。
5.其他
①池化:平均池化(averagepooling)、最大池化(maxpooling)
②步长
③pytorch差值函数
第四章:图像对齐问题
1.图像对应
(1)概念
①对应点
②对应目标
③特征匹配:点对点匹配(point to point matching)
优点:高准确度
缺点:速度慢,每个点都是128维的SIFT特征
对应与对齐的区别:
对齐要变换
(2)SIFT特征算法
SIFT(Scale Invariant Feature Transform):尺度不变特征转换
SIFT由David Lowe在1999年提出。SIFT的主要特点是能够在尺度和旋转上保持不变性,因此在图像匹配、物体识别等任务中具有广泛应用。用于图像特征点检测和描述。
1.SIFT特征描述具有尺度不变和旋转不变特性,对光照变化和仿射变换具有很强的鲁棒性。
2.SIFT存在的问题:128维特征的维度太大,计算相似性的时间复杂度较高
总结:SIFT的点特征信息丰富,但计算速度慢
(3)SURF特征算法
2.图像对齐
(1)概念
1.2D图像对齐的基本步骤
①求特征点
②特征点匹配
③求变换矩阵:求图像之间的对应变换参数
④b图像变形与a图像对齐:得到两视点图像对齐关系
⑤图像拼合
(2)RANSAC
基于RANSAC的优化算法:
RANSAC的核心思想是通过随机抽样和迭代,寻找一个能最大限度拟合“内点”(inliers)的模型,忽略那些被认为是“外点”(outliers)的数据。
(3)仿射变换 (六自由度)
整体对齐:仿射变换矩阵
局部对齐
变形:每个点×M矩阵 = 变形后的图像
仿射变换在计算机图形学中广泛应用,例如图像的旋转、缩放和裁剪;在机器学习中的数据预处理和数据增强也常用仿射变换来生成不同视角下的图像。
(4)刚体的对齐
(5)非刚体的对齐
第五章:二值图像分析
1.二值图像的定义和通途
1.优点
存储只需要1bit
2.用途
①目标实例分离
②目标形状分析
③用于缺陷检测
2.二值图像的创建
1.传统方法:分割策略
(1)基于阈值方法
(2)基于区域方法
(3)基于能量方法
①如果是彩色图像:先灰度化,再二值化
②如果是灰度图像:直接二值化
单阈二值化就一个阈值。
多阈二值化,有多个阈值,阈值用阈值函数f(x,y)表示。
对于多阈值二值化,存在多个阈值Tk(k=1,2,…,n),每个阈值Tk将像素的灰度级别划分为一个区间。如果像素的灰度值f(x,y)落在某个区间内,则赋予该像素对应的二值化结果g(x,y)。
2.深度学习方法:语义分割
利用训练好的语义分割模型进行预测
3.前景:比阈值大,前景是1,白色
背景:比阈值小,背景是0,黑色
4.确定阈值、以分离前景和背景
3.二值图像特征计算
1.二值图像的特征计算
①二值图像的面积:为1的元素的个数
②二值图像目标的方向及伸长率
2.4连通、8连通
3.前景、背景、洞
4.欧拉数
E = C - H
欧拉数 = 连通数 - 洞数
5.连通成份标记
①递归算法
②序贯算法
6.中轴,主骨架,细化
有边界点就剥去
7.利用数学形态学方法处理二值图像
形态学算子:
①膨胀(dilation):或运算,中心击中,4邻域补上,多了外边界
②腐蚀(erosion):整体与运算,全部集中,少了外边界。用途:将粘连的物体分离开
③开运算:先腐蚀,后膨胀
④闭运算:先膨胀,后腐蚀。用途:去除小的孔洞
先开后闭构成噪声滤波器
第六章:纹理特征及分析
1.纹理分析
1.纹理研究两个的目的:
①研究纹理的观赏特性
②纹理分析
2.纹理分析的目标:
纹理特征提取,图像分割与分类,目标识别与分析,医疗诊断,纹理合成,遥感图像分析,人脸分析,生物特征识别
2.纹理的定义
(1)纹理的定义、类型
1.纹理的定义
定义1: 按一定规则对元素或基元进行排列所形成的重复模式。
定义2:当图像函数近似周期性的变化,则图象中的对应区域就具有恒定的纹理
2.纹理的类型
①规则纹理
②随机纹理
(2)纹理特征分析
3.纹理特征分析
(1)统计分析方法:通过纹理的灰度分布情况来描述纹理一些特征,比如利用粗糙度特征对区域进行分类。图像局部区域统计中,常用纹理特征统计方法有:灰度共生矩阵(GLCM)、局部二值模式(LBP) 算法、自相关函数、灰度游程、灰度分布
(2)结构分析法
(3)模型分析法
(4)频谱分析法
(3)共生矩阵:灰度共生矩阵GLCM
4.共生矩阵统计方法
共生矩阵:是对纹理中相距一定距离两像素的灰度分布进行统计的矩阵
共生矩阵是统计纹理特征的基础
色阶是0-2,所以共生矩阵是3×3。
若色阶是0-3,则共生矩阵是4×4。
5.自相关函数
纹理粗,则缓降
纹理细,则速降
(4)局部二值模式算子 (LBP算子)
6.局部二值模式算子
(1)概念
局部二值模式 (Local Binary Patterns,LBP)是一种用于图像纹理特征提取的算子。LBP算子在计算图像中像素的局部纹理模式时,能够很好地描述图像的纹理信息,常用于图像分类、纹理分析、目标检测、人脸识别等任务中。
(2)LBP计算
局部二值模式 LBP( Local Binary Pattern )是一种非参数算子,用于描述图像特征
先统计LBP值值,然后分析纹理的模式
(3)LBP算子的应用
①每个像素可以计算得到局部二值模式特征
②整幅图像划分为若干的子区域,每个子区域提取局部二值模式特征,用直方图表示
③整幅图像特征:用所有统计直方图组成
④整幅图像的特征统计量,用于虹膜图像分割、分类识别等。
7.分形理论
Koch曲线
分形维数特征 (FD)
8.傅里叶变化频谱图 (频域变换)
靠近原点的是低频,远离原点的是高频
9.纹理分类方法
3.GAN网络
1.GAN网络的定义
生成对抗网络,generative adversarial network,GAN网络
2.GAN网络的组成
GAN 由两个主要的神经网络组成:
①生成器 (Generator,G):生成器负责从随机噪声中生成伪造的数据。其目的是尽可能骗过判别器,使判别器认为这些生成的数据是真实的。生成器是一个神经网络,它接受一个随机的输入向量(通常是噪声),然后输出与真实数据相似的样本。
②判别器 (Discriminator,D):判别器的任务是区分输入数据是真实数据还是生成数据。它接受真实样本和生成样本作为输入,并输出它们是“真实”还是“伪造”的概率。判别器也是一个神经网络,它通过不断学习来提高区分能力。
跨层连接
3.GAN的工作流程
(1)GAN 的训练过程是生成器和判别器之间的“对抗”过程,类似于一个博弈过程:
①生成器的目标: 生成器通过学习产生与真实样本尽量相似的假样本,以最大程度地欺骗判别器,使其无法区分生成的假样本和真实样本。
②判别器的目标: 判别器则要提高自身区分真假样本的能力,即最大化它在区分真实数据与伪造数据上的准确性。
(2)整个训练过程就像一个博弈游戏:
①生成器试图生成高质量的伪造数据来欺骗判别器。
②判别器则不断改进,力图准确识别伪造数据。
这种对抗性的训练最终会使生成器越来越擅长生成逼真的数据,直到判别器难以区分生成数据和真实数据。
4.GAN的损失函数
损失函数Loss越大,网络调参的粒度越大。
结合Encoder-Decoder 网络结构和 GAN (Generative Adversarial Networks)
5.GAN网络的应用
①图像修复:Image Inpainting
6.代码
①train.py
②test.py
③model:model.py(3-1)、training(3-2)
④configs.py
⑤DataSet.py
第七章:图像分割
本章内容:
①什么是图像分割
②图像分割的目标及本质
③图像分割算法的种类
④区域分割常用算法
⑤图像分割的难点
1.图像分割的定义、目标、本质
1.图像分割的定义:就是把图像分成若干个特定的、具有独特性质的区域
2.分割目标
①把人们感兴趣的部分从图像中提取出来
②有选择地对感兴趣对象定位
3.分割的本质:对图像上的每一个像素点分类
torch.argmax()
2.图像分割算法的种类
1.基于阈值分割方法
2.基于边缘分割方法
3.基于区域分割方法
4.基于能量分割方法
5.基于图论分割算法
6.基于学习分割方法
(1)OTSU方法 (最大类间方差法)
0-255可分出254个类间方差,比较出最大的类间方差。
(2)区域生长 (Region growing)
(3)分裂合并算法
分裂规则:灰度均方差>1.5则分裂
合并规则:灰度均方差≤2.5,则合并
(4)能量方法:蛇模型、水平集模型
1.蛇模型 (主动轮廓线模型 Active contour model)
蛇模型的核心思想是,通过定义一个可变形的曲线(即“蛇”),在图像中不断调整其形状,使其逐渐收缩到目标物体的边缘。这个过程通过能量最小化来实现。
内部能量的影响(平滑性和弹性)
外部能量的影响(图像梯度)
2.水平集模型
符号距离函数 SDF
(5)聚类分割方法
聚类概念:特征无监督学习,没有标签
将一系列无标签的数据(像素)输入到算法中,然后根据数据之间的相似性,
将它们分成几组(簇),这种能够找到这些簇的算法称为聚类算法
1.K-means聚类算法
缺点:只考虑了颜色,没有考虑位置信息
2.均值漂移聚类
加入了位置信息
(6)图割(Graph-based segmentation)
第八章:语义分割
1.语义分割的概念
1.语义概念的来源: 语言所蕴含的意义就是语义(semantic)
2.图像或视频具有语义:图像或视频是从三维客观世界采集得到的信息,其中蕴含着现实世界中事物所代表概念的含义,以及这些含义之间的关系,就是其语义。
3.图像语义分割概念 (semantic segmentation):把图像或视频内容按照其含义,进行对象分割
像素级分割本质:标注出像素所属类别(heightwidth1)
2.基于CNN的语义分割
3.基于FCN的语义分割
4.语义分割网络架构
人们提出了不同形式的网络结构解决语义分割问题,例如:
(1)编码器-解码器(encoder-decoder)结构
1.U-Net
2.SegNet
(2)空洞卷积的结构
灰度值隔开一个写一个。膨胀卷积、感受野。
backbone骨干网络