1. 摄像头成像原理:从光子到数字信号

做图像质量调优,第一件事就是搞清楚——你手里的图像到底是怎么来的。很多人一上来就调参数,结果越调越乱。说白了,你得先理解从光子到数字信号这条流水线,才知道每个旋钮是干什么的。

我个人习惯把成像过程分成三段:光子捕获 → 电荷转换 → 数字输出。每一段都有坑,咱们一个一个说。

1.1 光子到电子:CMOS 传感器在干什么?

你想想看,镜头把光线聚到传感器上,传感器表面有上千万个像素点。每个像素点其实就是一个光电二极管。光子打上去,产生电子——这叫光电效应。

嗯,这里要注意:产生的电子数量跟光子数量成正比。光越强,电子越多。但有个上限,叫满阱容量(Full Well Capacity)。一旦电子装满了,再多光子也没用,图像就“过曝”了。

核心概念:CMOS 传感器每个像素输出的不是“亮度值”,而是“电子数量”。这个电子数量经过一系列处理,才变成你看到的数字图像。

我在项目中遇到过一个问题:某款传感器在强光下拍出来的高光区域发紫。查了半天,原来是像素的满阱容量不够,电子溢出到相邻像素了。这就是 blooming(溢出现象)。后来换了更大阱容的传感器才解决。

1.2 从模拟到数字:ADC 转换

电子信号是模拟量,计算机只认数字。所以每个像素的电压值要经过模数转换器(ADC)变成数字码。

ADC 的位数决定了图像的量化精度:

ADC 位数 灰度等级 常见应用
8-bit 256 级 老式摄像头、低端安防
10-bit 1024 级 主流手机摄像头
12-bit 4096 级 专业相机、车载摄像头
14-bit 以上 16384+ 级 工业检测、医疗影像

我曾经踩过一个坑:某项目用 10-bit ADC,但 ISP 流水线里有个模块只支持 8-bit 输入。结果每次处理完,暗部细节全丢了。后来我强制要求所有模块对齐位宽,才把问题解决。

避坑指南:ADC 位数越高,动态范围越大,但数据量也越大。调优时一定要确认 ISP 流水线各模块的位宽是否一致。我曾经因为位宽不匹配,浪费了整整两周排查暗部噪声问题。

1.3 ISP 流水线:从 RAW 到 YUV

传感器输出的 RAW 数据,说白了就是一堆“灰蒙蒙”的像素值。它既不是彩色图像,也不符合人眼视觉习惯。这时候就需要 ISP(图像信号处理器) 上场了。

ISP 流水线通常包含以下模块:

  1. 黑电平校正(BLC)——去掉传感器暗电流带来的固定偏移
  2. 镜头阴影校正(LSC)——补偿镜头边缘亮度衰减
  3. 坏点校正(DPC)——修复传感器上的死像素
  4. 去马赛克(Demosaic)——从 Bayer 模式恢复全彩色
  5. 白平衡(AWB)——让白色在不同光源下看起来都是白的
  6. 色彩校正矩阵(CCM)——把传感器色彩空间映射到标准色域
  7. 伽马校正(Gamma)——调整亮度响应曲线,适配显示设备
  8. 降噪(NR)——去除传感器和电路引入的噪声
  9. 锐化(Sharpening)——增强边缘细节

你想想看,这 9 个模块串在一起,任何一个参数调不好,最终图像都会出问题。我见过有人把锐化拉满,结果图像全是振铃效应——边缘像长了毛刺一样。

个人经验:调 ISP 参数时,我习惯从后往前调。先调降噪和锐化,再调色彩和伽马。因为后面的模块对前面的结果有放大作用。顺序搞反了,前面调得再好,后面一处理又乱了。

1.4 知识结构总览

下面这张图把整个成像流水线串起来了。我建议你保存下来,以后调参时对照着看。

摄像头成像流水线:从光子到数字信号 场景光线 光子入射 镜头组 光学聚焦 CMOS 传感器 光电转换 ADC 转换 模拟→数字 ISP 流水线(RAW → YUV) BLC LSC DPC Demosaic AWB CCM Gamma NR+锐化 YUV / RGB 数字图像 供编码、存储、显示 💡 关键理解: ISP 流水线中每个模块都会影响最终图像质量。调优时建议从后往前调,先降噪锐化,再调色彩伽马。

1.5 几个你必须记住的关键指标

做图像质量调优,有些数字你得烂熟于心。我列了个表,建议你贴在工位上:

指标 含义 典型值 调优影响
动态范围 最亮与最暗区域的比值 60-80 dB 高动态范围保留更多细节
信噪比(SNR) 信号与噪声的比值 > 40 dB SNR 越低,图像越“脏”
量子效率(QE) 光子转化为电子的效率 50-80% QE 越高,暗光性能越好
读出噪声 传感器读出电路引入的噪声 < 5 e- 噪声越低,暗部越干净
帧率 每秒输出图像数量 30-120 fps 帧率越高,运动越流畅

一个小技巧:拿到新传感器,我第一件事就是看它的动态范围和读出噪声。这两个指标基本决定了这颗传感器的底子好不好。如果动态范围不到 60 dB,后期调优再努力也救不回来。

1.6 本章小结

从光子到数字信号,这条流水线看起来复杂,但核心就三件事:光电转换、模数转换、ISP 处理。你只要把这三段的原理和关键参数搞明白,后面调优时就知道每个参数在动什么。