Resnet图像识别入门—— 图像的色彩空间

本文涉及的产品
视觉智能开放平台,分割抠图1万点
视觉智能开放平台,图像资源包5000点
视觉智能开放平台,视频资源包5000点
简介: 了解 图像的色彩空间会让你对像素有更多的认识。

大家好啊,我是董董灿。

上一篇文章Resnet图像识别入门——像素从像素开始,聊到了 RGB 这一常见的色彩空间模型。

之所以还想继续聊聊 RGB 以及另一种色彩空间模型-YUV ,不是说想要以后去学摄影,学学如何需要调节色度、曝光和饱和度啥的。

而是在图像识别的深度学习任务中,RGB以及YUV这些概念,总是会时不时的出现一下,让枯燥无味且高度抽象的深度学习算法,突然之间,变得具体一些,光鲜一些。

RGB

Red,Green,Blue(RGB)是我们最常见的图像表示方法。

这个非常好理解,三原色的融合,几乎可以构造出所有需要的颜色。

三张RGB分量图片的融合,就可以构成一幅色彩斑斓的图片。

原图与R G B 三个分量图片

平时我们说,分辨率为19201080的图片,它代表的是在长宽两个方向上,有 1920 1080 个像素,但是,在色彩这个方向上,还有 3 个通道(channel),也就是RGB,往往被我们忽略。

我们看到的一个像素点的颜色,在计算系统中,并不是简单的由一个数值来表示的,而是由RGB三个分量的三个数值来表示的。

一个像素点的 RGB 表示

因此,想要计算一张1920*1080的图片的大小,或者说计算这张图片在计算机内存中所占用的大小时,不能仅仅用图片的长度乘以宽度这么算,还需要考虑通道数。

数值表示和图片大小计算

我们可能用过画图这一软件来调过颜色。

通过简单的设置红色,绿色,蓝色的数值,就可以在调色板中得到一个颜色。

有没有注意到,无论红色,还是绿色,还是蓝色,其表示的数值都没有超过255。

为什么?

因为像素值,在计算机语言中,是用一个 uint8 的数据来表示的。

而 uint8 ,指的是 8bit 无符号整数,其能表示的范围就是 0 - 255。

画图面板

自从几年前微软宣布停止更新画图软件之后,画图就越来越少的出现在人们的视野中,你或许可以打开电脑看看,左下角的菜单里,是否还有画图软件,就像当年window xp 系统被停用一样,慢慢的就会消失在人们的记忆里

说到这,我们就可以算一算,一张 1920 x 1080 的RGB图像,在计算机的表示中,到底占多少的内存?

很简单,长宽方向上每个像素由 3 个通道组成,每个通道由一个 8 bit 的数值表示,一个 8 bit 数值代表一个字节(Byte)。

因此,一张1920 x 1080的 RGB 图像,占计算机存储大小为 1920 x 1080 x 3 x 1 Bytes = 6075 KB = 5.9 MB。

5.9 MB 的内存占用!

  • 大么?和目前动辄几个G的手机内存相比,不算大
  • 小么?和边缘侧图像识别终端内存,比如摄像头里的嵌入式芯片内存相比,又不算小

更何况在公路违法拍照的摄像头场景下,在车流量很大的时候,需要实时处理的图片,可远远不止一张!

那怎么办?

有没有办法可以在进行图像处理时,减少图片的数据量,从而减少图片大小和内存占用呢?

有,YUV就是其中一种办法。

YUV

YUV是将亮度信息和颜色信息进行编码的一种颜色空间表示方法。

和RGB类似,YUV 也使用3个字母维度来表示颜色。

为了简单点,我们暂时将这3个值称为Y,U和V。(事实上,YUV的称呼很多,比如Y'CbCr,也很细节,这里不多描述,我们只要知道它是另外一种表示颜色的方法就可以。)

Y 代表亮度,U 代表色彩度,V代表饱和度。

原图

仅有Y分量也就是亮度,黑白图片

仅有U分量,只有色度
)

仅有V分量,只有饱和度
)

上面的几张图片,除了原图之外,我们可能更加倾向于使用只有Y分量的图片,也就是那张黑白图像。
因为即使没有色彩,但是它的轮廓以及明亮程度,也足以让我们分辨出图片中的物体。

其视觉效果远远好于其他两个分量的图片。

相反,只有色度和饱和度的图片,反而变得模糊不堪。

这就是问题所在!

人眼对于亮度具有更高的敏感度,而对色度和饱和度反而显得迟钝一些。

说到这,有没发现什么?

既然人眼对于色度和饱和度的反应不敏感,那就没有必要把所有的色度和饱和度信息都放在图片里了啊。

YUV422编码
)

举个例子,色度和饱和度我隔一个像素放一个,剩下的像素没有饱和度,不就可以了么。

没错,是可以,而且效果很好。

这就是YUV的不同编码。实际上,YUV的编码方式有很多种,比如YUV444, YUV422等。

大致意思就是,保留全部的Y分量(人眼最敏感的亮度分量),但是只保留部分的U/V分量(人眼不敏感),以此来减少图片的占用,但又不失重要信息。

还记得上面的1920 x 1080的RGB图片的内存占用么,为5.9MB。

如果用YUV444的编码,结果也同样是5.9MB, 因为YUV444也是全采样,所有的亮度、色度、饱和度信息都保留了。

而如果采用YUV422的编码,相当于U分量减少一半,V分量减少一半。那么最终的图片占用大小就变成了

1920 x 1080 x (1 + 0.5 + 0.5) Bytes = 4050KB = 3.9MB。

只有3.9MB,减少了1/3的内存占用!

是不是好很多?更多关于YUV的编码知识,有兴趣的同学可以Google。如果不做相关课题,可以不用深究。

我们只需要知道,YUV这一色彩编码方法,在保留亮度这一人眼最敏感信息的基础上,通过降低其他人眼不太需要的信息,可以来达到降低图片大小的目的。就足够了。

YUV编码的用途

原始图片,channel数代表的是RGB通道,可以理解为原始图片具有的三个特征。

可在深度学习网络中,随着网络深度的增加,图片的channel数会不断的增大。

就拿Resnet50这个网络来说,最后面的一层图片,channel数已经增大到了2048。

这时channel代表的信息,早已不再是RGB这种基础的特征了,而是通过了大量的神经网络训练,代表了图片的分类,比如是猫还是狗。

YUV这种编码方法,可以用在图片的上下采样中,通过降低或增加通道数,实现图片的上下采样,以此来实现图片的增大或减少,但又不损失太多我们希望保留的信息。

总结一下

聊了聊 RGB、YUV 两种颜色空间,以及YUV可能的用途和它的优势。

为什么聊这么多关于图片的东西,因为在深度学习处理图像的任务中,图片是原材料。

正所谓知己知彼,百战不殆。了解了图片这一深度学习的原材料之后,我们就可以更加高效的来完成图片数据的处理和分析,就可以开始图像识别的算法之旅了!

本文为作者原创,请勿随意转载,如需转载,请与作者联系

相关文章
|
9天前
|
机器学习/深度学习 人工智能 算法
【昆虫识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+机器学习+TensorFlow+ResNet50
昆虫识别系统,使用Python作为主要开发语言。通过TensorFlow搭建ResNet50卷积神经网络算法(CNN)模型。通过对10种常见的昆虫图片数据集('蜜蜂', '甲虫', '蝴蝶', '蝉', '蜻蜓', '蚱蜢', '蛾', '蝎子', '蜗牛', '蜘蛛')进行训练,得到一个识别精度较高的H5格式模型文件,然后使用Django搭建Web网页端可视化操作界面,实现用户上传一张昆虫图片识别其名称。
140 7
【昆虫识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+机器学习+TensorFlow+ResNet50
|
2月前
|
机器学习/深度学习 并行计算 算法
【计算机视觉+CNN】keras+ResNet残差网络实现图像识别分类实战(附源码和数据集 超详细)
【计算机视觉+CNN】keras+ResNet残差网络实现图像识别分类实战(附源码和数据集 超详细)
104 0
|
12月前
|
机器学习/深度学习 算法 TensorFlow
基于python+ResNet50算法实现一个图像识别分类系统
在本文中将介绍使用Python语言,基于TensorFlow搭建ResNet50卷积神经网络对四种动物图像数据集进行训练,观察其模型训练效果。
558 0
基于python+ResNet50算法实现一个图像识别分类系统
|
机器学习/深度学习 算法
Resnet图像识别入门——Softmax分类是如何工作的
softmax作为一个分类器,它只是把重要的信息变得更重要了而已。
Resnet图像识别入门——Softmax分类是如何工作的
|
机器学习/深度学习 算法 计算机视觉
Resnet图像识别入门——全连接
全连接,到底连接的是什么?看完这篇文章,相信你会有所了解。
Resnet图像识别入门——全连接
|
机器学习/深度学习 算法
Resnet图像识别入门——池化层
池化和卷积不同,它没有channel维度的累加。
Resnet图像识别入门——池化层
|
机器学习/深度学习 人工智能 算法
|
1天前
|
机器学习/深度学习 安全
深度学习在图像识别中的应用与挑战
随着人工智能技术的飞速发展,深度学习已成为图像识别领域的核心技术之一。本文将深入探讨深度学习在图像识别中的应用场景、技术优势以及面临的主要挑战。通过分析最新的研究数据和案例,本文旨在揭示深度学习如何推动图像识别技术的进步,并讨论其未来发展趋势。
|
1天前
|
机器学习/深度学习 人工智能 监控
探索深度学习在图像识别中的应用
【6月更文挑战第30天】在人工智能的浪潮中,深度学习技术凭借其强大的数据处理和学习能力成为图像识别领域的佼佼者。本文将深入探讨深度学习如何革新图像识别技术,包括卷积神经网络(CNN)的基础原理、关键技术点以及面临的挑战。文章旨在为读者提供深度学习在图像识别应用中的全面视角,并预测未来的发展方向。