第1章:图像基础——像素、分辨率、色彩空间与质量评价
大家好,我是这门课的主讲。在正式开始超分辨率算法之前,咱们得先把地基打牢。你想想看,连图像的基本构成都不清楚,怎么去谈「让模糊变高清」?
这一章,我会带你从最底层的像素开始,一步步往上走。放心,不会太枯燥。我会穿插一些我实际踩过的坑,希望能帮你少走弯路。
1.1 像素:图像的最小单元
像素是什么?说白了,就是图像里最小的「点」。每个点都有自己的颜色值。一张图,就是由成千上万个这样的点拼起来的。
我个人习惯把像素想象成「马赛克」。你凑近了看,每个小方块就是一个像素。离远了看,这些小方块就组成了完整的画面。
关键点:像素本身没有物理尺寸。它只是一个数字。只有在显示器或打印纸上,它才对应一个实际的物理点。
举个例子:一张 1920×1080 的图片,就是横向有 1920 个像素,纵向有 1080 个像素。总像素数就是 1920 × 1080 ≈ 207 万,也就是我们常说的 200 万像素。
我的经验:我在做图像去噪项目时,经常需要处理单个像素的异常值。比如一个纯黑背景上突然冒出一个白点,那就是坏像素。处理这种问题,你得先理解像素的邻域关系。
1.2 分辨率:清晰度的直接体现
分辨率这个词,大家应该不陌生。但我要提醒你,它其实有两个层面的含义。
- 图像分辨率:指图像本身的像素尺寸。比如 640×480、1920×1080。
- 显示分辨率:指显示设备每英寸能显示的像素数(PPI,Pixels Per Inch)。
为什么超分辨率算法只关心图像分辨率?因为我们的目标是增加像素数量,而不是改变显示器的物理特性。
避坑指南:我曾经犯过一个错误——把一张低分辨率图片直接拉伸到高分辨率,结果图像变得模糊不堪。这就是典型的「插值放大」,不是真正的超分辨率。真正的超分辨率,是要「无中生有」地生成新的细节。
这里我画了一张图,帮你理清像素、分辨率、图像质量之间的关系:
1.3 色彩空间:RGB 与 YCbCr
色彩空间,就是描述颜色的数学模型。最常用的是 RGB,但超分辨率领域更偏爱 YCbCr。
1.3.1 RGB 色彩空间
RGB 就是红、绿、蓝三原色。每个像素由三个通道组成,每个通道取值 0-255。比如纯红色就是 (255, 0, 0)。
但 RGB 有个问题:三个通道的相关性很强。你改变亮度,三个通道都得跟着变。这对图像处理来说不太友好。
1.3.2 YCbCr 色彩空间
YCbCr 把亮度(Y)和色度(Cb、Cr)分开了。Y 代表亮度信息,Cb 和 Cr 代表颜色信息。
为什么超分辨率算法喜欢用 YCbCr?因为人眼对亮度变化更敏感,对颜色变化相对迟钝。所以我们只需要对 Y 通道做超分辨率,Cb 和 Cr 通道直接插值放大就行。这样能省下不少计算量。
核心结论:在超分辨率任务中,我们通常只处理 Y 通道。Cb 和 Cr 通道用简单的双线性插值放大即可。这是业界的标准做法。
下面这个表格,帮你快速对比 RGB 和 YCbCr:
| 特性 | RGB | YCbCr |
|---|---|---|
| 通道数 | 3 (R, G, B) | 3 (Y, Cb, Cr) |
| 通道相关性 | 高 | 低 |
| 亮度与色度 | 混合在一起 | 分离 |
| 超分辨率适用性 | 一般(需处理三个通道) | 优秀(只处理 Y 通道) |
1.4 图像质量评价指标:PSNR 与 SSIM
做超分辨率,你得知道怎么评价结果好不好。总不能光靠眼睛看吧?
业界最常用的两个指标:PSNR 和 SSIM。我一个个说。
1.4.1 PSNR(峰值信噪比)
PSNR 衡量的是两幅图像之间的像素级差异。数值越高,说明差异越小,图像质量越好。
公式长这样:
PSNR = 10 * log10( MAX^2 / MSE )
其中 MAX 是像素最大值(通常是 255),MSE 是均方误差。
我的经验:PSNR 超过 30dB 通常算不错,超过 40dB 就非常好了。但要注意,PSNR 高不代表视觉效果好。我见过 PSNR 很高但图像很模糊的情况。所以别只看 PSNR。
1.4.2 SSIM(结构相似性)
SSIM 从亮度、对比度、结构三个维度来评价图像。它更接近人眼的视觉感知。
SSIM 的取值范围是 0 到 1。1 表示两幅图完全一样,0 表示完全不同。通常 SSIM 在 0.9 以上就算不错。
避坑指南:我曾经在项目里只盯着 PSNR 优化,结果模型收敛到很高的 PSNR,但生成的图像细节全没了,像被磨皮了一样。后来我改用 PSNR + SSIM 联合优化,效果才真正好起来。所以,两个指标要一起看。
最后,我整理了一个小总结:
- 像素:图像的最小单元,没有物理尺寸。
- 分辨率:像素数量的多少,决定图像尺寸。
- 色彩空间:RGB 适合显示,YCbCr 适合处理。
- 质量评价:PSNR 看像素差异,SSIM 看结构相似性。
嗯,这一章的内容就到这里。记住这些基础概念,后面讲算法的时候你会觉得轻松很多。