总结
本系列是机器学习课程的系列课程,主要介绍机器学习中图像处理技术。
参考
02图像知识
色彩基础知识整理-色相、饱和度、明度、色调
图像特征提取(VGG和Resnet特征提取卷积过程详解)
Python图像处理入门
【人工智能】Python+OpenCV图像处理(一篇全)
一文讲解方向梯度直方图(hog)
【杂谈】计算机视觉在人脸图像领域的十几个大的应用方向,你懂了几分?
本门课程的目标
完成一个特定行业的算法应用全过程:
懂业务+会选择合适的算法+数据处理+算法训练+算法调优+算法融合
+算法评估+持续调优+工程化接口实现
机器学习定义
关于机器学习的定义,Tom Michael Mitchell的这段话被广泛引用:
对于某类任务T和性能度量P,如果一个计算机程序在T上其性能P随着经验E而自我完善,那么我们称这个计算机程序从经验E中学习。
图像数据
图像处理技术应用场景
我们对图像并不陌生,图像处理技术已得到广泛应用,涵盖了社会生活的各个领域。例如,手机自拍美颜、人脸/指纹识别、光学字符识别(OCR)、车牌号检测与识别、广告图设计、影视剧特效制作、安防监控、无人驾驶、X光片、遥感卫星对地观测成像
我们能看到的图像
我们能看到什么色彩?
光是电磁光波的一个部分,它是一种连续性的类似于波状的能量(从伽马射线,可见光到电波)。所有的这些光波都是可被测量的,既可以测量伽马射线的一个顶点到另一顶点(两个顶点之间的距离仅为0.000 000 001mm),也可以测量一些电波,(其两个顶点之间的距离大约为6km长)。
人类的肉眼只对光谱中间的一小段光波具有反应(400纳米-700纳米之间)。当这一部范围中的光线触击到人类的眼睛时,我们的大脑就能够感知出光与色彩。大部分影像传感器与胶片对光线的感光与人类的眼睛几乎是相同的。但是,它们还能够对一些人眼看不到的光波也产生反应,例如:紫外线与红外线。
模拟图像与数字图像
根据记录方式的不同,图像可分为模拟图像
和数字图像
。模拟图像通过某种具有连续变化值的物理量(如光、电等的强弱)来记录图像亮度信息
,在计算机和数码相机发明之前的电视、照相机等设备获取或展示的都是模拟图像。普通图像包含的信息量巨大,需要将其转变成计算机能处理的数字图像。数字图像,又称数码图像或数位图像,是由模拟图像数字化得到的、以像素为基本元素的、可以用数字计算机或数字电路存储和处理的图像,其光照位置和强度都是离散的
。
传统意义上的图像是连续的(又称模拟图像),而计算机只能处理0101…这种离散的数据,因此为了便于利用计算机对图像进行处理,需要把连续图像(模拟图像)在空间上和幅值上进行离散化,转换成数字形式。
离散化过程包括两种处理:取样和量化。离散化的图像称为数字图像。
取样和量化
取样:数字化坐标值,即一幅图像用多少个像素点来表示,由图知,取样后像素点越少/分辨率越低,图像越模糊。取样时需满足二维取样定理(一维需满足香农取样定理)
量化:数字化幅值度称为量化。即用一个多大的范围来表示取样后点的亮度和彩色深度,最大范围是0-255,也可以是0-100,0-任意数值。
数字图像中的概念
通常,图像处理指的是处理数字图像。
数字图像
可以看作定义在二维空间区域上的函数 f ( x , y ) f(x,y) f(x,y)(通常使用矩阵表示),其中, x , y x,y x,y表示空间坐标。
数字图像中包含如下基本概念:
像素和分辨率
灰度
通道
RGB与CMYK
加色法和减色法原理
像素和分辨率
分辨率指屏幕上像素的数目,为了控制像素的亮度和彩色深度,每个像素需要很多个二进制位来表示,如果要显示256种颜色,则每个像素至少需要8位(一个字节)来表示,即2的8次方等于256;当显示真彩色时,每个像素要用3个字节的存储量.
真彩色是指图像中的每个像素值都分成红、绿、蓝三个基色分量,每个基色分量直接决定其基色的强度,这样产生的色彩称为真彩色。
电子显示设备上将图像放大数倍,会发现图像的连续色调其实是由许多色彩相近的小方块所组成,这些小方块就是构成影像的最小单元——像素。
像素(Pixel)
是数字图像的重要概念,又称为图像元素(Picture Element),是指图像的基本原色素及其灰度的基本编码,是构成数码影像的基本单元
,
通常以像素每英寸PPI(Pixels Per Inch)为单位来表示影像分辨率的大小。例如300*300PPI分辨率
,即表示水平方向与垂直方向上每英寸长度上的像素数都是300,也可表示为一平方英寸内有9万(300*300)像素
。越高位的像素,其拥有的色板也就越丰富,也就越能表达颜色的真实感。
灰度
表示图像像素明暗程度的数值,范围一般为0-255,0是黑色,255是白色
通道
根据像素取值的不同,数字图像可以分为二值图像(由1位二进制存储,表示只有两种颜色)、8位图像(由8位二进制表示像素值,可以表示256种颜色或亮度)、16位图像(每个像素由16位二进制表示)等。
如图所示,每张图像都是由一个或者多个相同维度的数据通道构成。以RGB彩色图像为例,每张图片都是由三个数据通道构成,分别为红、绿和蓝色通道。而对于灰度图像,则只有一个通道。多光谱图像一般有几个到几十个通道。高光谱图像具有几十到上百个通道。
单通道:一个像素点只需一个数值表示,只能表示灰度0-255
三通道:RGB模式,把图像分成红绿蓝三个通道,可以表示彩色
四通道:RGBA模式,A为透明度,alpha=0表示全透明
数字图像中的色彩原理
RGB与CMYK
RGB是显示器显示标准,CMYK是打印机标准。
RGB分别代表着3种颜色:R代表红色,G代表绿色、B代表蓝色。RGB色彩模式使用RGB模型为图像中每一个像素的RGB分量分配一个0~255范围内的强度值。
CMYK色彩模式以打印油墨在纸张上的光线吸收特性为基础,图像中每个像素都是由靛青(C)、品红(M)、黄(Y)和黑(K)色按照不同的比例合成。
加色法和减色法原理
色光三原色——加色法原理
人的眼睛是根据所看见的光的波长来识别颜色的。可见光谱中的大部分颜色可以由三种基本色光按不同的比例混合而成,这三种基本色光的颜色就是红(Red)、绿(Green)、蓝(Blue)三原色光。这三种光以相同的比例混合、且达到一定的强度, 就呈现白色(白光);若三种光的强度均为零, 就是黑色(黑暗)。这就是加色法原理,加色法原理被应用于早期的彩色摄影之中,现在被广泛应用于电视机、监视器等主动发光的产品中。
颜料三原色——减色法原理
而在打印、印刷、油漆、绘画等靠介质表面的反射被动发光的场合,物体所呈现的颜色是光源中被颜料吸收后所剩余的部分,所以其成色的原理叫做减色法原理。 减色法原理被广泛应用于各种被动发光的场合。在减色法原理中的三原色颜料分别是青(Cyan)、品红(Magenta)和黄(Yellow)。
对比度
对比度=最大灰度值/最小灰度值,是画面黑与白的比值,也就是从黑到白的渐变层次。比值越大,从黑到白的渐变层次就越多,从而色彩表现越丰富。好的对比率120:1就可容易地显示生动、丰富的色彩,当对比率高达300:1时,便可支持各阶的颜色。
色相
色相就是颜色,调整色相就是调整景物的颜色,例如:彩虹由红、橙、黄、绿、青、蓝、紫七种颜色组成,那么它就有七种色相。顾名思义既各种色彩的相貌称谓,如大红、普蓝等。色相是色彩的首要特征,是区别各种不同色彩的最准确的标准。事实上任何黑白意外的颜色都有色相的属性,而色相也就是由原色、间色和复色来构成的。
饱和度
饱和度是指图像中颜色的浓度。饱和度越高,颜色越饱满,即所谓的青翠欲滴的感觉。饱和度越低,颜色就会显得越陈旧、惨淡,饱和度为0时,图像就为灰度图像。
明度
明度就像是色彩的开关灯按钮。见下图,在黄色中添加白色,提高明度,添加的足够多,就会变成白色;添加灰色,明度就会降低,变为暗黄;添加黑色,明度进一步降低,变为深黄,添加的足够多,就会变为黑色。
所以明度就像是开关灯,明度最高,会失去本身色彩,变为白色,明度最低,则变为黑色。
色调
色调是各种图像色彩模式下原色的明暗程度,范围级别是从0到255,共256级色调。例如对灰色图像,当色调级别为255时,就是白色,当级别为0时,就是黑色,中间是各种不同程度的灰色。在RGB模式中,色调代表红、绿、蓝三种原色的明暗程度,对绿色就有淡绿、浅绿、深绿等不同的色调。色调是指色彩外观的基本倾向。在明度、纯度、色相这三个要素中,某种因素起主导作用时,就可以称之为某种色调。
数字图像结构
图像是由像素组成的二维矩阵或三维张量,表示了图像中每个像素的亮度或颜色信息。图像结构是指在图像中的像素排列方式、边缘、纹理等视觉特征的分布和布局。
数字图像处理
广义的数字图像处理,又称为图像工程,是与图像有关的技术的总称,
包括图像的采集、编码、传输、存储、生成、显示、输出、图像的变换、增强、恢复和重建、图像分割、目标检测、图像的表达和描述、特征提取、图像分类和识别、图像匹配、场景理解等。
图像工程一般可以分为三个层级:
(1)狭义的图像处理,包括图像采集和从图像到图像的变换,主要作用是改善图像视觉效果和为图像分析和理解作初步的处理,包括对比度调节、图像编码、去噪以及各种滤波技术的研究、图像恢复和重建等。
(2)图像分析,是指从图像中取出感兴趣的数据,以描述图像中目标的特点。该层级输入是图像,输出是从图像中提取的边缘、轮廓等特征属性。
(3)图像理解是在图像分析的基础上,利用模式识别和人工智能方法研究各目标的性质和相互关系,对图像中的目标进行分析、描述、分类和解释。一般输入为图像,输出为该图像的语义描述。
从技术的角度,图像数据分析的常用方法有:
1.图像变换
1.图像变换。由于图像矩阵一般具有很高的维度,直接在空间域中进行处理计算量很大。通常采用各种图像变换的方法,如傅立叶变换、沃尔什变换、离散余弦变换、小波变换等,将空间域的处理转换为变换域处理,不仅可减少计算量,而且往往对噪声更鲁棒。
当涉及到图像数据分析时,有许多常用的方法和图像变换技术可以应用。下面是一些常见的方法和变换的简要介绍:
(1)直方图均衡化:均衡化就是将直方图中的概率分布函数,变成累计分布函数,仍然放回到直方图中。通过重新分布图像的像素强度,增强图像的对比度和亮度。该方法可以改善图像的视觉效果,使得图像中的细节更加显著。
(2)图像滤波(Image Filtering):应用不同类型的滤波器来平滑图像、去噪或增强图像的细节。常用的滤波器包括均值滤波器、中值滤波器和高斯滤波器。
(3)边缘检测(Edge Detection):识别图像中的边缘或轮廓。边缘检测算法能够帮助我们提取图像中的边界信息,常见的边缘检测算法包括Sobel算子、Canny算子和Laplacian算子。
左右相等,上下相等,就为0,即非边缘处为0
(4)尺度变换(Scale Transformation):改变图像的尺寸大小。尺度变换常用于图像缩放、裁剪或放大的操作,常见的插值算法有最近邻插值、双线性插值和双立方插值。
最近邻插值法:最近邻插值法nearest_neighbor是最简单的灰度值插值。也称作零阶插值,就是令变换后像素的灰度值等于距它最近的输入像素的灰度值。
优点:容易理解,计算简单
缺点:一般保留左上角的像素值,容易造成图像失真,边缘不连续
单线性插值法
双线性插值法👇
优点:解决灰度不连续问题,图像光滑
缺点:与最近邻相比计算量大,运算时间长
注意:为了防止一些像素没有参与运算,需要先对原图和放大图像做中心对称,然后进行双线性插值。
(5)色彩空间转换(Color Space Conversion):将图像从一个色彩空间转换到另一个色彩空间。常见的色彩空间包括RGB、HSV、Lab等,色彩空间转换可以改变图像的颜色表示方式,有助于特定任务的处理。
YUV 色彩空间,Y 代表 亮度(luminance),U代表色调(Hue),V代表色饱和度(saturation)。
(6)字符识别(Optical Character Recognition, OCR):将图像中的文字转换为可编辑的文本形式。OCR技术广泛应用于文档处理、数字化、车牌识别等领域。
(7)特征提取(Feature Extraction):从图像中提取出具有代表性的特征,常用于图像分类、目标检测等任务。常见的特征包括边缘、纹理、颜色直方图等。
图像特征提取三大算法:HOG特征,LBP特征,Haar特征。
(8)运动分析(Motion Analysis):分析图像序列中物体的运动信息。运动分析常用于视频处理、动作识别等应用,能够帮助我们理解物体的运动行为。
2.图像编码和压缩
2.图像编码和压缩。编码是压缩技术中最重要的方法,它在图像处理技术中是发展最早且比较成熟的技术。图像编码压缩技术可减少描述图像的数据量(即比特数),以便节省图像传输、处理时间和减少所占用的存储器容量。压缩分为有损压缩和无损压缩,不失真的前提下获得图像是无损压缩,在允许的失真条件下获得图像是有损压缩,例如,一种常用的图像压缩技术是只保留图像变换后频域的大系数,采用对应的反变换得到恢复图像。
当涉及到图像数据分析时,图像编码和压缩是非常重要的技术。下面是关于图像编码和压缩的简要介绍:
(1)图像编码(Image Encoding):图像编码是将图像数据转换为一种紧凑的表示形式的过程,以便更有效地存储、传输或处理图像。常见的图像编码方法包括无损编码和有损编码。
1)无损编码(Lossless Encoding):无损编码能够以不损失图像质量的方式压缩图像数据。常用的无损编码方法有Run-length Encoding (RLE)、Huffman编码和Lempel-Ziv-Welch (LZW)编码等。
2)有损编码(Lossy Encoding):有损编码通过淘汰图像中的一些不重要信息,以牺牲一些图像质量为代价,实现更高的压缩比。常见的有损编码方法包括JPEG、WebP和HEVC等。
(2)图像压缩(Image Compression):图像压缩是通过减少图像数据的冗余性,以减小图像文件的存储空间或传输带宽的过程。图像压缩可以分为无损压缩和有损压缩两种类型。
1)无损压缩(Lossless Compression):无损压缩能够以不损失图像质量的方式减小图像文件的大小。常见的无损压缩算法有Deflate、PNG和GIF等。
2)有损压缩(Lossy Compression):有损压缩通过牺牲一定的图像细节和质量,以较低的比特率来进一步压缩图像数据。常见的有损压缩算法有JPEG、WebP和AVC等。
图像编码和压缩在图像处理和图像通信中扮演着重要的角色,能够减小图像数据的存储和传输成本。需要根据特定的应用情景和需求来选择合适的编码和压缩方法。
3.图像增强和复原
3.图像增强和复原。
客观世界是三维空间,但一般图像是定义在二维区域上的,图像在反映三维世界的过程中必然丢失了部分信息。即使是记录下来的信息也可能有失真,影响人的主观感受和物体识别等后续应用。因此,需要从成像机理出发,建立合适的数学模型,通过模型求解提高图像质量或从图像中恢复和重建信息。图像增强和复原的目的是为了提高图像的质量,如去除噪声,提高图像的清晰度等。图像增强不考虑图像降质的原因,突出图像中所感兴趣的部分。如强化图像高频分量,可使图像中物体轮廓清晰,细节明显;如强化低频分量可减少图像中噪声影响。图像复原要求对图像降质的原因有一定的了解,一般讲应根据降质过程建立“降质模型”,通过模型求解恢复或重建原来的图像,常用于图像去噪、插值、超分辨率等。
1)图像增强:
-直方图均衡化:通过调整图像的像素分布,使图像的亮度范围更广,从而增强图像的对比度。
-噪声滤波:使用滤波器来减少图像中的噪声,可以采用线性滤波器(如均值滤波、高斯滤波)、非线性滤波器(如中值滤波)等方法。
-锐化:通过提高图像的边缘和细节来增强图像的清晰度,常见的方法有拉普拉斯锐化和增强边缘的非锐化掩蔽。
-色彩校正:调整图像的色彩平衡、饱和度和色调等,使图像更加真实和生动。
-超分辨率重建:通过图像插值或深度学习等技术,从低分辨率图像重建出高分辨率图像。
>2)图像复原:
- 退化模型:通过了解图像的退化过程,建立数学模型来描述图像受损的情况,例如模糊模型、噪声模型等。
- 逆滤波:利用图像退化模型的逆运算,通过频域或空域的滤波器来尝试恢复原始图像。
- 超分辨率复原:通过利用图像的多个低分辨率观测或引入先验信息,以重建图像的高分辨率版本。
- 去噪:采用去噪滤波器消除图像中的噪声,常见的方法包括小波去噪、总变差去噪等。
- 解卷积:基于图像退化模型,通过寻找退化过程的逆过程来估计原始图像。
这些方法的选择和应用取决于图像的具体情况、所需的增强或恢复效果以及可用的数据和先验知识。现代技术中,深度学习在图像增强和复原方面的应用也取得了很大的进展,例如使用卷积神经网络进行图像超分辨率、去噪等任务。
4.图像分类
图像分类属于模式识别的范畴,其主要内容是图像经过某些预处理(增强、复原、压缩)后,进行图像分割和特征提取,从而进行判决分类。图像分类常采用经典的模式识别方法,有统计模式分类和句法(结构)模式分类,近年来新发展起来的模糊模式识别和人工神经网络模式分类在图像识别中也越来越受到重视。
图像分类是图像数据分析中的重要任务,旨在从输入的图像中识别和分类出物体、场景或图像中的其他内容。下面将更详细地介绍这两个方法:
1)图像分类:
图像分类是将输入图像分为不同的预定义类别或标签的任务。常见的图像分类方法包括:
- 传统机器学习方法:使用经典的机器学习算法,如支持向量机(SVM)、K最近邻(KNN)、决策树等,通过提取图像特征并训练分类器来进行分类。特征可以是颜色、纹理、形状或深度学习特征等。
- 深度学习方法:使用卷积神经网络(CNN)进行端到端的图像分类。深度学习方法具有极强的表达能力和自适应性,可以从原始图像数据中学习高层次的特征表示。常见的CNN模型包括AlexNet、VGG、ResNet、Inception等。
5.图像分割
5.图像分割。
图像分割是数字图像处理中的关键技术之一。图像分割是提取图像中有意义的特征,包括图像中的边缘、区域等,这是进一步进行图像识别、分析和理解的基础。虽然目前已研究出不少边缘提取、区域分割的方法,但还没有一种普遍适用于各种图像的有效方法。因此,对图像分割的研究还在不断深入之中,是目前图像处理中研究的热点之一。
图像分割是一种图像数据分析方法,旨在将图像划分为具有相似特征的区域或对象。图像分割在计算机视觉和图像处理中扮演着重要的角色,它为目标检测、图像理解、医学影像分析等应用提供了基础。
6.目标检测
6.目标检测。
目标检测的目标是在给定一张图像或是一个视频帧的条件下,让计算机找出其包含的所有目标,并标出它们处在图像中的具体位置。这意味着,计算机不仅要用算法来判断出图像中哪个物体是汽车、 自行车或者狗,还要在图像中标记出它们的坐标位置, 用边框或红色方框把它们圈起来, 这就是目标检测问题。
7.图像生成(Image Synthesis)
图像生成是根据一张图片生成修改部分区域的图片或者是全新的图片的任务。这个应用最近几年快速发展,主要原因也是由于 GANs 是最近几年非常热门的研究方向,而图像生成就是 GANs 的一大应用。
一个图像生成例子如下:
8.人脸图像的应用
人脸方面的应用,包括人脸识别、人脸检测、人脸匹配、人脸对齐等等,这应该是计算机视觉方面最热门也是发展最成熟的应用,而且已经比较广泛的应用在各种安全、身份认证等,比如人脸支付、人脸解锁。
人脸检测
关键点检测
人脸表情识别与检测
人脸年龄识别与编辑
确定方向过程
针对完全没有基础的同学们
1.确定机器学习的应用领域有哪些
2.查找机器学习的算法应用有哪些
3.确定想要研究的领域极其对应的算法
4.通过招聘网站和论文等确定具体的技术
5.了解业务流程,查找数据
6.复现经典算法
7.持续优化,并尝试与对应企业人员沟通心得
8.企业给出反馈