计算机视觉图像处理路线

329 阅读21分钟

2024.4.28

计算机视觉

6d5b3ef0-0acb-11ef-b0cf-c523de0f1361_20240505183710.jpeg

一、图像生成

1.图像表示

数字图像表示:

定义:

在数字图像处理中,图像通常表示为一个二维数组,其中每个元素称为像素(Pixel)。像素值表示该位置的亮度或颜色。根据图像的类型,像素值可以有不同的表示方式。

转换方法:

  • 采样:

    将连续的模拟图像按照特定的采样频率离散成像素点,改变空间分辨率

  • **量化:
    **将采样后的图像中的每个采样点的灰度值进行离散化,改变幅度分辨率

2.图像采集

图像采集是将现实世界中的场景转换成数字图像的过程。这个过程通常涉及以下几个步骤:

  • 光信号转换:当光线照射到场景上时,它被反射到图像传感器上,如电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)传感器。

  • 模数转换:图像传感器将捕捉到的光信号转换为电信号,然后通过模数转换器(ADC)将这些信号转换为数字信号。

  • 图像处理:转换后的数字信号经过一系列处理,如白平衡调整、伽马校正、色彩空间转换等,以生成适合显示或进一步分析的图像。

  • 存储或传输:最后,生成的数字图像被存储在计算机内存中,或通过有线或无线方式传输到其他设备。

在实际应用中,图像采集通常使用摄像头、扫描仪等设备来完成。在采集过程中,可能需要考虑多种因素,如光照条件、分辨率、图像质量等,以确保获得高质量的图像数据。

3.机器视觉检测应用分类

  • 尺寸测量

  • 有无检测

  • 残次,瑕疵检测

  • 数字统计

  • 位置定位

4.光源选型

1.光源照射物体的类型

  • 镜面反射型

  • 满反射型

  • 透射型

2.光源的颜色

  • 红外光(Infrared Lighting)

    使用红外光源,适用于夜视或需要排除环境光干扰的应用。

  • 紫外光(Ultraviolet Lighting)

    紫外线照射可以激发物体表面的荧光特性,用于特定的检测和识别任务。

3.光源照射方式

  • 背光:

    用于轮廓检测

  • 同轴光:

    用于表面缺陷检测

  • 暗场照明:

    特点:适用于表面光滑,容易反射的物体检测

  • 侧光(Side Lighting)

    从物体的侧面照射的光线,用于增强物体表面的纹理和轮廓,常用于检测表面缺陷或形状变化。

  • 环状光(Ring Lighting)

    环状或圆环形的光源,均匀地照亮物体表面,减少阴影和反射,适用于检测光滑或反射性物体。

  • 点光源(Point Lighting)

    从单一点向物体发射的光线,可以用于突出显示特定区域或特征。

  • 多角度照明(Multi-Angle Lighting)

    结合多个不同角度的光源,以获得物体表面的多视角信息,常用于复杂形状的物体检测。

  • 结构光(Structured Lighting)

    通过投射已知图案(如条纹或网格)到物体表面,用于三维扫描和形状重建。

5.相机选型

6.图像成像模型

7.图像格式

  1. JPEG(Joint Photographic Experts Group)

    • 特点:有损压缩格式,适用于存储和传输照片。它通过牺牲一部分图像质量来减小文件大小。

    • 应用场景:网页图像、电子邮件附件等。

  2. PNG(Portable Network Graphics)

    • 特点:无损压缩格式,支持透明背景,适用于网页设计。

      应用场景:网页图像、图标等。

  3. BMP(Bitmap)

    • 特点:无损压缩格式,文件较大,不适用于网络传输。

    • 应用场景:Windows桌面壁纸等。

  4. GIF(Graphics Interchange Format)

    • 特点:无损压缩格式,支持动画和透明背景,颜色限制为256色。

    • 应用场景:网页动画、简单图标等。

  5. TIFF(Tagged Image File Format)

    • 特点:无损压缩格式,支持多种颜色和图像数据,文件较大。

    • 应用场景:印刷、出版等高分辨率图像。

  6. RAW

    • 特点:无损压缩格式,直接从图像传感器获取的原始数据,需要后期处理。

    • 应用场景:专业摄影,需要大量后期处理。

  7. SVG(Scalable Vector Graphics)

    • 特点:基于XML的矢量图像格式,图像可以无限放大而不失真。

    • 应用场景:网页图形、图标等。

  8. HEIF/HEIC(High Efficiency Image File Format/High Efficiency Image Coding)

    • 特点:高效压缩格式,比JPEG提供更好的压缩效果,支持高效编码。

    • 应用场景:移动设备上的照片存储。

每种图像格式都有其特定的用途和优势。在选择图像格式时,需要考虑图像质量、文件大小

二、图像增强(底层处理)

对于图像进行像素级别的处理,不涉及对图像内容的理解

图像处理包括:图像增强与图像恢复

==图像增强==:

  • 空域增强

  • 频域增强

  • 颜色增强

    ==图像恢复==:

  • 图像退化

  • 图像矫正

  • 图像修补

1.图像增强预备知识

1.像素间的空间关系

  • 相邻: 某个像素与其四周接触的像素间的位置关系称之为相邻

  • 邻域: 由这四周的像素组成的集合称之为邻域 四邻域:由周围四个像素组成的元素集合

  • 对角邻域: 由四周对角像素组成的集合称为对角邻域 四对角邻域:由对角四个像素组成的元素集合

  • 八邻域: 四邻域与四对角邻域的组合

  • 邻接: b像素在a像素的邻域中就称a与b邻接 4-邻接,8-邻接,M-邻接

  • 连接: 邻接且a与b像素灰度值满足特定相似准则

  • 连通: 俩个像素不直接连接,但都在第三个像素的邻域中

  • 通路: 俩个像素间是连通的

2.像素间的距离度量 距离度量是评估像素之间、特征之间或图像之间相似度的一种基本方法。

  • 欧式距离

  • 棋盘距离(8-邻接距离)

  • 街区距离(4-邻接距离)

  • 余弦相似度

3.亮度、对比度与颜色

  1. 对比度

    • 定义:对比度是描述图像中亮度差异的度量。高对比度图像中,亮部和暗部之间的差异明显,使得图像更加清晰和易于区分。

    • 影响:对比度影响图像的清晰度和细节的可视性。增强对比度可以改善图像的视觉质量,尤其是在低光照或低对比度的场景中。

    • 调整方法:可以通过调整图像的亮度级别、应用对比度增强算法或使用图像处理软件中的对比度调整工具来改变对比度。

  2. 亮度

    • 定义:亮度是描述图像整体亮度水平的度量。它决定了图像的明暗程度。

    • 影响:亮度影响图像的整体外观和情绪。提高亮度可以使图像更加明亮,降低亮度则使其变暗。

    • 调整方法:可以通过调整图像的亮度级别、使用图像处理软件中的亮度调整工具或通过增加光源来改变亮度。

  3. 颜色

    • 定义:颜色是描述图像中不同区域所具有的不同色调和饱和度的度量。颜色赋予图像视觉上的丰富性和真实感。

    • 影响:颜色影响图像的视觉吸引力和传达的情感。适当的颜色可以增强图像的吸引力,而不适当的颜色可能会导致视觉上的不协调。

    • 调整方法:可以通过调整图像的颜色平衡、应用颜色校正算法或使用图像处理软件中的颜色调整工具来改变颜色。

在图像处理中,这些因素经常被单独或组合调整,以达到特定的视觉效果或满足特定的应用需求。例如,可以通过调整对比度和亮度来改善图像的清晰度和可读性,通过调整颜色来增强图像的视觉吸引力。

==图像处理== ==目的:对图片进行分析、分割、特征提取==

2.空域图像增强

1.图像运算:

  • 算数运算:

    • 加法: 增加图像亮度与对比度 去除叠加性的噪音: g(x,y) = 1/M (g0(x,y)+g1(x,y)+…+ g M (x ,y)) 前提:噪音h(x,y)i为互不相关

    • 减法: 背景去除,用于图像分割

    • 乘法: 改变图像对比度,乘常数时整体缩放像素值

    • 除法: 校正对比度或亮度

  • 逻辑运算: OR NOT AND: 对于二值化图像进行处理

2.灰度映射:

定义:通过特定的灰度映射函数,改变图像原本的灰度值,生成新的图像

预备知识: 直方图: 将图像的灰度等级作为x,将每个灰度等级在该图像的占比作为y 映射规则:

  • 图像求反:
    对图像的灰度值求反

  • 对比度拉伸:(调整对比度)
    扩大图像的灰度值范围,提高图像的对比度

  • 动态范围压缩:(调整亮度)

    自然下光亮度范围过大,数字图像通常为0-255,所以需要将图像亮度压缩到适当的范围

    实现:设定映射规则,将大范围映射到小范围上

  • 直方图均衡化:

    缺点:变换固定,只能做到灰度值的相对均衡

  • 直方图规定化

    流程:计算原始图像的直方图——确定规定直方图——计算规定累计直方图——通过规定累计直方图与原始直方图间的关系确定映射函数——使用映射函数对原始图像的灰度值进行转化——获得转化后的图

3.空域滤波:

通过卷积增强(模板操作)运用不同的卷积核以及权重系数来实现滤波操作

用处:图像锐化(线性与非线性),图像平滑(线性与非线性),图像分割

4.灰度映射与卷积增强的区别:

灰度映射是对单个像素进行灰度值的转化,不考虑像素间的关系。

卷积增强每个像素的输出是由模板以及周围像素值决定的,考虑到了像素间的关系。

3.频域图像增强

4.图像特征提取

三、图像处理(中层处理)

对图像具体内容的处理

1.图像分割

将图像的不同特征的区域进行分割

图像分割算法分类:
串行:前处理的结果可以被后处理的结果所利用

并行:同时处理互不干扰

区域:从图像中各个特征相似的区域入手

边界:通过图像各个不同特征区域间的边界入手

可以组合成并行区域/边界;串行区域/边界

接下来是对具体的图像分割算法的展示

1.微分边缘检测:(并行边界)

边缘检测:所有串行与并行边界分割的关键步骤

微分边缘检测原理:

通过对边缘图像的一阶与二阶导数来检测边缘:

一阶导数:确定边缘的存在

二阶导数:确定边缘具体位置以及当前边缘像素所处的位置(明/暗)

常见的图像边缘剖面:

阶跃边缘

脉冲边缘

屋脊边缘

空域微分算子:

通过对图像进行空域微分算子的模板卷积实现微分边缘检测,又因为一阶与二阶微分被分为一阶微分算子与二阶微分算子

一阶微分算子:

通过水平与垂直方向的算子对图像进行模板卷积,得到每个像素点的水平与垂直微分的值,通过这俩个值可以求出每个像素的梯度幅度(表示图像亮度变换的快慢)与方向角(表示亮度变换最快的方向)

常见的一阶微分算子:

sobel算子,罗伯特交叉算子

二阶微分算子:
通过二姐微分算子与图像进行模板卷积,得到像素在明或暗区以及边缘的具体位置
常见的二阶微分算子:
laplace算子

算子要求:

中心点数值为正;周围数值为负;全部数值相加为0;

一阶与二阶微分算子的异同:

同:都能进行边缘检测

异:

定位能力:一阶只能定位粗略的边缘位置,二阶能定位精准的边缘位置

抗干扰能力:二阶对于噪声的更加敏感,一阶的抗干扰能力更强

2.主动轮廓:

原理:通常给定一个大致的曲线主动轮廓,通过求解最小能量函数来不断逼近一个直线目标轮廓

能量函数:

内部能量函数:(依赖轮廓形状)

连续能量

膨胀力

外部能量函数:(依赖图像性质)

图像灰度能量

图像梯度能量

最后要将能量全部归一化

3.区域阈值化分割:(并行区域)

原理:当目标内的区域的像素灰度值高度相关,背景的区域内的像素灰度值高度相关,而目标与区域的像素灰度值差异明显,此时计算该图像的灰度直方图可以发现直方图的形状呈现双峰状,此时以一个灰度值作为阈值对直方图进行切割,即可实现图像的分割

阈值的选取:
1.极小值法:

对图像的直方图做曲线得到对应的函数,求该函数的最小值作为图像的阈值分割点

缺点:遇到噪声无法准确的分割

2.直方图变换法:

1.低梯度直方图:将原来的直方图通过计算像素的梯度值变换为一个新的直方图,这个新的直方图由低梯度的像素组成。变换后消除了高梯度即边界或者噪声的影响,形成了更深的双峰谷,更好的确定了阈值

加权低梯度:给低梯度像素加大权重,高梯度趋于0

2.高梯度直方图:将原来的直方图通过计算像素的梯度值变换为一个新的直方图,这个新的直方图由高梯度的像素组成。变换后消除了低梯度即区域内像素,将边界像素凸显出来,形成更高的峰,更好的确定了阈值。加权高梯度:给高梯度像素加大权重,低梯度趋于0

3.灰度-梯度值散射图:

通过统计具有相同灰度值和梯度的像素点,来确定阈值。该图可以将目标与区域的像素点分离开,将各自区域内的像素点聚集起来,效果类似于聚类

4.过渡区阈值化分割(并行边界):

过渡区:图像中的边缘不是一条线,是有宽度的

5.区域生长:(串行区域)

原理:为每个区域选取生长种子,在确定好相应的生长准则与停止准则之后,让种子像素开始生长,将符合生长准则的像素包含起来,最后通过设定的停止准则停止生长,形成区域。类似与密度聚类

生长准则:

1.基于区域灰度差准则:

找到一个无归属像素,比较该像素与邻域像素的灰度值的差值,若差值小于阈值,则并入区域,直到无法并入,继续找无归属像素延续前面的步骤。

缺点:对于阈值以及种子像素的选取有较大的依赖性

改进:

2.基元检测

图像基本单元的检测,对于图像中各种几何形状的检测

本质:图像分割

1.兴趣点检测:

兴趣点:指图像中的目标上具有特定几何属性或性质的点,如图像目标上的角点,交叉点,拐点等

兴趣点检测方法:
1.二阶导数检测角点:
通过微分算子求出目标图像的每个像素点的梯度值——根据梯度值求出每个像素点的自相关矩阵——根据自相关矩阵求出俩个特征值——比较俩个特征值就可以确定该像素点是否为角点

特征值:俩个都很小,不是角点;一很大一很小,为边缘点;俩都很大为角点

二阶微分方阵算子:
laplac算子:
更适合检测直线与边缘

hessian算子

harris算子:可以角点检测以及交叉点检测

2.积分角点检测:

usan面积:

指的是由模板核所处的灰度值占改模板的面积

原理:

设置一个圆形的模板,模板中心为模板核——将模板依次放在目标图像的每一个点上——检测每一个点上的模板的usan面积——通过usan的面积确定该点是否为角点

积分算子:

susan算子:可以角点检测也可以边缘检测

优点:
不需要计算积分以及非线性相应,抗噪声能力强

边缘检测时,边缘越平滑模糊,检测效果越好

边缘检测时不受模板面积的影响

2.椭圆目标检测
3.哈夫变换:

原理:

边缘检测获取边缘点——将边缘点映射到参数空间变为直线——累计参数空间中每个点经过的直线数量——设置阈值过滤累计值少的点——将剩余的点映射回代数空间获得直线

优点:

对于一条经过很多边缘点的线,即使被遮挡也能显示出来,能有效的检测图像的直线或形状

缺点:

计算量大

对噪声敏感

只能检测直线以及圆

4.广义哈夫变换:

可以检测任意形状的几何图形

3、目标表达:

用各种表达方式对图像目标进行表示,将目标转换为计算机可以理解的格式

表达方式:

1.内部表达法:当关心目标内部的像素集合的性质,如:颜色,纹理,灰度时

2.外部表达法:当关心目标外部轮廓的像素的性质,如:形状时

1.轮廓链码表达:
2.轮廓标志
3.轮廓多边形
4.四叉树表达法
5.二叉树表达法
6.目标围绕区域
7.骨架表达

4.目标描述

对图像表达后的目标,我们需要将目标的特征以数字形式描述出来,可以通过定义描述符来进行目标的描述。

1.空域轮廓描述:

1.轮廓长度描述

2.轮廓直径描述

3.斜率,曲率描述

2.空域区域描述:

1.区域面积描述

2.区域重心描述

3.区域灰度特性描述

3.频域与小波域轮廓描述

1.傅里叶描述

2.小波描述

4.区域不变矩描述
5.目标关系描述

1.字符串描述

2.树结构描述

6.区域纹理描述
7.轮廓形状描述

5.纹理描述

6.局部特征描述

四、图像表达(高层处理)

3.目标分类(模式识别,模式分类)

五、三维视觉

常用方法:图像重建法

六、运动视觉

目标检测:完成对目标的框定

目标跟踪:挖掘连续图像帧中目标的局部与全局关联性

关系:目标检测是前提,为目标跟踪提供目标图像

运动分类:前景运动:目标动相机不动 后景运动:目标不动相机动

背景差分法:将先后帧的图像相减可以显示出运动的目标

缺点:噪声大可见光的运动目标检测效果差,静止一段时间后再运动的目标无法检测,背景移动差分会出现空洞

优点:计算速度快,适用于噪声少的红外视频

光流法:

三个假设:1.亮度恒定不变 2.时间连续 3.小幅度运动

优点:小范围小区域表现好,特征点稀疏

缺点:大运动,非纹理区域效果差

卡尔曼滤波:

初始化模型——预测目标下一状态——根据真实的下一状态更新模型参数——不断重复迭代

缺点:由于是线性预测,不适于用来预测非线性的系统

优点:最优线性预测,算法简单

卡尔曼与光流法:

前者输出预测的目标的位置或状态,后者给出运动目标的运动趋势

N.

图像的大小取决于像素的数量,像素点越多意味这采样点越多,图片越大越清晰,

像素点同时还有物理大小,同样像素数量的图片,像素点越小图片越清晰

放大与缩小图片都是改变图像的


数字图像处理中,木刻画效果、振铃效应和虚假轮廓是常见的图像质量问题,它们通常出现在图像的压缩、滤波或重建过程中。下面我将分别解释这些效果是如何产生的:

  1. 木刻画效果(Woodblock Art Effect)

    • 木刻画效果通常是在图像处理中,特别是在图像的锐化或边缘增强时产生的。这种效果使得图像看起来像是木刻画或版画,特点是图像中的边缘被过度增强,而其他区域则相对平滑。

    • 这种效果的产生通常是因为使用了高通滤波器或边缘检测算法,这些方法会增强图像的高频成分,即图像中的边缘和细节。但如果处理不当,比如滤波器设计不合理或参数设置过高,就会导致边缘过度增强,产生木刻画效果。

  2. 振铃效应(Ringing Effect)

    • 振铃效应是在图像进行去噪或滤波时常见的现象,特别是在使用低通滤波器(如高斯滤波器)时。

    • 当图像中存在尖锐的边缘或突变时,低通滤波器在去除噪声的同时,也会模糊这些边缘。在边缘附近,滤波器会产生一种“波动”效果,即边缘周围的像素值出现周期性的波动,形成类似铃声的振荡,这就是振铃效应。

    • 振铃效应的产生是因为滤波器的频率响应在截止频率附近不是理想的阶跃函数,导致高频信息泄露,从而在图像中产生振荡。

  3. 虚假轮廓(Artifact Contours)

    • 虚假轮廓是图像压缩(如JPEG压缩)中常见的问题,特别是在图像中存在大范围渐变或平滑区域时。

    • 在压缩过程中,图像的某些细节会被丢弃或简化。当这些被简化的细节在图像的渐变区域中时,就会导致视觉上不自然的轮廓或边缘出现,这些轮廓并不是原始图像中真实存在的,而是压缩过程中产生的伪迹。

    • 虚假轮廓的产生通常是因为压缩算法在量化过程中引入了误差,特别是在颜色或亮度变化平缓的区域,量化误差更加明显。 为了减少这些图像质量问题,可以采取不同的策略,如选择合适的滤波器、调整滤波参数、使用更高级的图像压缩算法等。在图像处理中,理解这些效应的产生原因对于设计有效的图像处理算法和参数调整至关重要。