RGB与通道

RGB与通道

灰度图一节的最后,我们给出了一个由彩色图片转成灰度图的示例,并且通过 ’ color_image.mode '获取了图片的格式:彩色图片获取到的格式为RGBA,灰度图为L。

这一节我们介绍一下RGB图片以及通道的概念,我认为通道在整个深度学习中很重要,并且极为重要

举个例子:在很多时候,对神经网络中的一些算法做工程化实现,或者做性能优化,除了关注算法本身,还会关注数据存储格式。一般在pytorch中,数据存储格式为NCHW,C代表的就是通道(channel),这样对于需要在通道维度中归一化的算法是极其不友好的。
因为数据在通道维度中不是连续的,导致取到完整的通道维度信息要跨越很大的地址范围,CPU或者XPU对于这类的数据寻址性能都是很差的,至少要比连续寻址差。

上面是举了一个在实际中经常会遇到的一类问题,通道维度数据在存储器中摆放不连续。

RGB

彩色通常由红色、绿色、蓝色,三个基本颜色组成,这种颜色表示方式被称为彩色RGB模型。

在这个模型中,每个像素的颜色由这三种基本颜色组合而成,因此,一个平面上看似是一个像素,实际是由三个不同颜色(不同通道)的像素组成。这里的R/G/B三种颜色,就认为是彩色图片的三个通道。
在这里插入图片描述

RGB分量

彩色图片有RGB三个通道。三张分别为红色通道、绿色通道、蓝色通道的图片融合,可以构成一幅色彩斑斓的图片。

下图左侧是一张用AI生成的彩色原图,后面是分别提取的每个通道的分量绘制而成的图片。
在这里插入图片描述

RGB图像在计算机中的数据大小

平时我们说,分辨率为1920x1080的图片,代表在图片的长宽两个方向上,有1920x1080个像素,但是,在学习了RGB模型之后,我们知道除了长宽方向之外,彩色图片还存在一个方向,那就是通道方向。

也就是说,彩色图像应该用三维数据来表示,而不是二维。

举个例子,一张3个通道的RGB图像,长和宽分别为1920x1080个像素,我们可以表示该图像的形状为1920x1080x3。

一张 1920 x 1080 x 3 x 1 Bytes = 7MB,大约7M的数据量,实际存储时受图片压缩算法的影响,在计算机磁盘中看到的图片大小可能会小于这个数值,但是可以通过这种方法来估算图片在计算机中的内存占用。

通道的意义

在后续中,我们会经常提到通道这个概念。

神经网络在推理过程中,很多时候无论时卷积算法还是其他算法,计算的都是特征图中的通道关系,特征图是一种神经网络中间层输出的图像,其通道数有多有少,多则几千,少则几十。在特征图中,一个通道代表一个特征。

假设某一层特征图只有两个通道,那么将这两个通道的特征可视化之后,可能呈现出来的分别是“ 轮廓 ”特征非常明显,或者“ 嘴巴细节 ” 的特征非常明显。回到RGB的图像,因为RGB图像有3个通道,如果把彩色图片当作特征图的话,那我们可以说RGB图片有3个特征通道,每个通道都或多或少的保留着原始图像的某些细节和轮廓特征,就像上面的三张分量图片一样,当然最主要的特征便是颜色:比如R通道,有着B通道没有的红色特征。

  • 23
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值