1. 图像质量基础:从光子到数字图像
做图像处理这么多年,我越来越觉得——不懂传感器原理,就别谈图像质量。你想想看,一张照片从光进入镜头到最后显示在屏幕上,中间经历了多少道工序?每一道都在损耗信息,每一道都在引入噪声。
这一章,咱们就从源头开始,把图像传感器、ISP Pipeline 和质量评价指标这三个基础打牢。嗯,都是干货。
1.1 图像传感器原理:光是怎么变成电信号的
图像传感器说白了就是一个光子计数器。每个像素点就是一个微型光电二极管,光子打上去产生电子,电子数量正比于光强。
目前主流传感器就两种:
| 类型 | 工作原理 | 优点 | 缺点 |
|---|---|---|---|
| CCD | 电荷逐行转移读出 | 噪声低、均匀性好 | 功耗高、速度慢 |
| CMOS | 每个像素独立放大+读出 | 功耗低、速度快、集成度高 | 固定模式噪声(FPN)较明显 |
我个人习惯用 CMOS,因为现在手机、安防、车载基本都是它。但要注意——CMOS 的像素结构决定了它的噪声特性。
关键概念:量子效率(QE)与满阱容量(FWC)
- 量子效率:入射光子转化为电子的比例。QE 越高,弱光性能越好。
- 满阱容量:一个像素能容纳的最大电子数。FWC 越大,动态范围越宽。
我在项目中遇到过一款传感器,QE 标称 70%,但实际弱光下只有 40%——后来发现是微透镜工艺偏差。所以,别只看 datasheet,要实测。
1.2 ISP Pipeline 概述:图像质量的"流水线"
传感器出来的原始数据叫 RAW,它还不是一张能看的图。ISP(Image Signal Processor)就是负责把 RAW 变成漂亮 RGB 图像的流水线。
典型的 ISP Pipeline 长这样:
每个模块都有讲究。我重点说几个:
- 黑电平校正:传感器在无光时也有暗电流,得减掉。我曾经调过一款 sensor,黑电平随温度漂移严重,最后加了温度查表补偿才搞定。
- 去马赛克:Bayer 模式每个像素只有 R/G/B 之一,得靠插值补全。插值算法选不好,边缘就出现伪彩色——嗯,这就是"拉链效应"。
- 去噪:这是 ISP 里最"艺术"的一步。去多了糊,去少了噪。我一般先做空域去噪,再做时域去噪,两者配合效果最好。
我的经验:ISP 调优的顺序很重要。先调黑电平,再调白平衡,最后调色彩和锐化。顺序乱了,后面全白费。
1.3 图像质量评价指标:怎么量化"好"与"坏"
图像质量不能光靠"看着舒服"来评价,得有数学指标。常用的三个:
1.3.1 SNR(信噪比)
SNR 是信号与噪声的比值,单位 dB。公式很简单:
SNR = 20 * log10(信号均值 / 噪声标准差)
SNR 越高,图像越干净。一般 SNR > 40dB 算不错,> 50dB 算优秀。
注意:SNR 只反映噪声水平,不反映细节保留程度。一张糊图 SNR 可能很高——因为噪声被抹平了。
1.3.2 PSNR(峰值信噪比)
PSNR 是 SNR 的变种,用像素最大值代替信号均值:
PSNR = 20 * log10(255 / RMSE)
其中 RMSE 是均方根误差。PSNR 常用于有参考的质量评价——比如压缩前后对比。
| PSNR 范围 | 主观感受 |
|---|---|
| > 40 dB | 几乎看不出差异 |
| 30 - 40 dB | 轻微差异,可接受 |
| 20 - 30 dB | 明显失真 |
| < 20 dB | 不可接受 |
1.3.3 SSIM(结构相似性)
SSIM 比 PSNR 更"聪明"。它从亮度、对比度、结构三个维度比较两幅图像:
SSIM(x, y) = [l(x,y)]^α * [c(x,y)]^β * [s(x,y)]^γ
SSIM 取值范围 [0, 1],越接近 1 越相似。0.95 以上人眼基本看不出区别。
实战对比:
- PSNR:对噪声敏感,对模糊不敏感。一张高斯模糊图 PSNR 可能还行,但人眼觉得糊。
- SSIM:对结构变化敏感,更符合人眼感知。我调去噪参数时,主要看 SSIM——PSNR 只做参考。
1.4 本章小结
这一章我们走了三个台阶:
- 传感器原理——光变电,电变数。量子效率和满阱容量决定了底子好坏。
- ISP Pipeline——从 RAW 到 RGB 的流水线,每个模块都在做"修复"和"增强"。
- 质量指标——SNR 看噪声,PSNR 看误差,SSIM 看结构。三个指标配合使用,才能全面评价。
我记得刚入行时,总觉得 ISP 就是调几个参数。后来踩了无数坑才明白——不懂底层原理,调参就是瞎蒙。这一章的内容,后面每一章都会用到。尤其是去噪和锐化,没有 SNR 和 SSIM 的概念,你根本不知道调对了还是调过了。