2. 图像传感器与RAW数据

各位同学,欢迎来到第二章。上一章我们聊了AI ISP的整体架构,今天咱们把镜头拉近,看看整个管线的起点——图像传感器和它吐出来的RAW数据。

说白了,传感器就是相机的“视网膜”。它怎么把光信号变成电信号?RAW数据又是什么鬼?黑电平、增益这些参数到底在调什么?这一章,我们把这些底层的物理细节掰开揉碎讲清楚。

CMOS传感器工作原理

现在市面上99%的摄像头都在用CMOS传感器。CCD?基本只活在教科书和某些工业老设备里了。CMOS为什么能赢?功耗低、集成度高、读出速度快,这三个优势就够了。

CMOS工作的核心,我总结为三步:

  1. 光电转换:每个像素点上的光电二极管,把光子转换成电子。光越强,积累的电子就越多。
  2. 电荷存储与读出:曝光结束后,像素里的电荷被转移到浮置扩散区(FD),然后通过行选、列选逐行读出电压值。
  3. 模数转换:读出电压经过片上的ADC(模数转换器),变成数字码值。这个数字码值,就是RAW数据的雏形。

关键指标:满阱容量(FWC)

每个像素能装多少电子,决定了传感器的动态范围。满阱越大,高光越不容易过曝。我调过一款手机传感器,满阱只有8000e⁻,拍夜景还行,一到白天高光就一片死白。后来换了颗满阱18000e⁻的传感器,高光细节明显好多了。

这里有个坑,我提醒一下:CMOS读出是逐行进行的,不是全局同时。这就导致了卷帘快门效应——拍快速移动的物体时,画面会倾斜或变形。做AI ISP时,如果输入数据有卷帘效应,你的去模糊或超分模型很可能学歪了。

Bayer阵列与RAW图格式

CMOS传感器本身是色盲的,它只能感知光的强度,分不清颜色。那彩色照片怎么来的?答案就是Bayer阵列——在像素表面覆盖一层彩色滤光片(CFA)。

最常见的Bayer模式是RGGB,也就是一个像素滤红光,一个滤蓝光,两个滤绿光。为什么绿光占两个?因为人眼对绿色最敏感,这么做可以模拟人眼的亮度感知。

我的习惯:拿到一颗新传感器,第一件事就是确认Bayer排列顺序。是RGGB还是BGGR?是GBRG还是GRBG?搞错了,整张图颜色全乱套。我曾经因为一份规格书写错了Bayer顺序,浪费了整整两天调试时间。

RAW数据长什么样?说白了,就是一张单通道的灰度图,每个像素只存一个颜色通道的值。比如一个2000万像素的传感器,输出的RAW就是2000万个12bit或10bit的整数。

常见的RAW格式有:

格式 位深 特点 常见场景
RAW10 10bit 带宽小,处理快 手机摄像头
RAW12 12bit 画质好,动态范围高 专业相机、安防
RAW14 14bit 极高画质,数据量大 工业检测、医疗
RAW16 16bit 便于算法处理 AI ISP内部管线

做AI ISP时,我强烈建议把输入统一转成RAW16。为什么?因为10bit或12bit的数据做卷积时,精度损失太明显。尤其是暗部细节,低比特量化后直接就没了。

黑电平与增益控制

这两个参数,是传感器调优的“基本功”。调不好,后面所有算法都是白搭。

黑电平(Black Level)

理想情况下,没有光照时,像素输出应该是0。但现实是,由于暗电流、电路噪声等原因,传感器在全黑环境下也会输出一个非零值。这个值就是黑电平。

黑电平校正,就是把每个像素减去这个基准值。不校正会怎样?暗部发灰,颜色偏色,动态范围被压缩。

避坑指南:我曾经接手过一个项目,ISP管线跑出来的图像暗部总是偏绿。查了三天,最后发现是黑电平校准表没更新——传感器温度变了,黑电平也跟着漂了。记住,黑电平是温度和增益的函数,不是固定值。

黑电平的校准方法:

  • 光学黑区(OB):传感器边缘有一圈被金属遮挡的像素,它们的输出就是实时黑电平参考。
  • 暗场校准:在完全无光环境下拍一张图,取平均值作为黑电平。
  • 动态校准:根据温度和增益查表,实时调整黑电平值。

增益控制(Gain Control)

增益就是放大信号。传感器增益分为模拟增益和数字增益两种:

  • 模拟增益:在ADC之前放大电压信号。好处是信噪比损失小,但增益太高会饱和。
  • 数字增益:在ADC之后乘一个系数。实现简单,但会放大噪声。

我的经验是:优先用模拟增益,尽量少用数字增益。模拟增益每增加一倍(6dB),信噪比大约提升3dB;数字增益每增加一倍,噪声也跟着翻倍。

增益控制还有一个重要概念——ISO。ISO本质上就是模拟增益+数字增益的组合。ISO 100对应0dB增益,ISO 200对应6dB,以此类推。

实战建议:做AI ISP训练时,一定要把增益信息作为输入特征喂给网络。为什么?因为不同增益下的噪声分布完全不同。低增益是光子散粒噪声主导,高增益是读出噪声主导。网络不知道增益,它怎么学去噪?

本章知识结构图

下面这张图,把传感器到RAW数据的完整链路画出来了。你可以对照着理解每个环节的作用。

CMOS传感器 → RAW数据 完整链路 光子输入 外界光线 光电转换 光子→电子 Bayer滤光 RGGB排列 模拟处理 黑电平+模拟增益 ADC转换 模拟→数字码值 数字增益 数字域放大 RAW数据输出 RAW10/12/14/16 💡 关键理解: RAW数据是传感器最原始的“底片”,未经任何ISP处理。黑电平校正和增益控制是RAW域最重要的两个调优参数。 AI ISP的输入质量,直接取决于RAW数据的干净程度。

小结

这一章我们走通了从光子到RAW数据的完整路径。记住三个核心点:

  • CMOS传感器是光电转换器,Bayer阵列让它有了色彩感知能力。
  • RAW数据是单通道的原始数字信号,位深决定了画质上限。
  • 黑电平与增益是RAW域调优的起点,调不好后面全是白费功夫。