从光子到图像——相机如何捕获世界?

引言

你是否想过为何我们按一下相机快门就可以将眼前广袤多彩的世界显示于一个小小的相机屏幕上?本期推文中将带着大家重现从光子转换为电子、电子转换为图像中数字驱动值的整个流程。

▲人们通过相机捕获眼前的场景

从光子到电子的转换

光线首先通过光学镜头进入相机并到达传感器,再通过传感器上的微透镜聚焦。为了得到彩色图像,相机需要获得不同波段的光线,因此传感器前需加上颜色滤波器阵列。

▲传感器像素前部分示意图

透过特定波段的滤波器后的光子会进入一个叫做"像素"的小型势阱。最简单的像素结构采用一个PN结作为感光机制,以及一个与之相连的Reset晶体管(RS)作为开关。在曝光时间内,PN结内的硅吸收光线。当光子的能量足够大时,硅原子中的电子便从价带被激发到导带,从而产生电子-空穴对。随后,由于PN结内电场的影响,电子-空穴对会分成两个电荷载体,而电子会流向PN结的n+端。

在该过程中,光电转换效率通常用量子效率来表征,其数值等于捕获电子数除以入射光子数。对于同一个传感器,其量子效率可认为是固定不变的。

▲传感器像素结构

在光子转换为电子的整个过程中,难免会引入一些噪声。首先在曝光期间,撞击光电二极管的光子数存在数量上的涨落,通常被认为是均值为总光子数的泊松分布,并被称作为光子散粒噪声。由于泊松分布的性质,该噪声均值等于方差,即入射的光子数越多,噪声方差越大。同时,在光电转换期间,有一些聚集在光电二极管上的电子是由于热效应产生,这些电子同样服从均值为总电子数的泊松分布,通常被称为暗电流噪声。

由于传感器制造时难以保证每个像素的物理特性完全一致,所以对于不同的像素,其量子效率与热效应的影响不同,对应的光子散粒噪声与暗电流噪声的方差也不同。通常,这种噪声的空间分布被称为非均匀性。

▲传感器转换总电子数公式

从电子到数字驱动值的转换

从光子转换成电子后,会进入浮动扩散节点(floating diffusion)。在浮动扩散节点中,电子被转移到浮动扩散电容并转换为电压值。电容等于电荷除以电压,所以对于同样的电子数,浮动扩散电容越小,转换后的电压值就越大。通常,由于浮动扩散电容引发的电压变化也被称为转换增益。

▲浮动扩散节点在传感器中的位置

浮动扩散电容将电荷数转换成了电压值,并通过源极跟随器(source follower,SF)输出电压信号。在入射光子数极少的情况下,由于噪声的存在,最终通过浮动扩散节点转换成的电压值可能是负数。为了防止电压为负的情况,制造商通常会加上一个偏置电压。

然后,电压信号将通过一个可编程增益放大器(PGA)进一步放大,即所谓的模拟增益。

这里我们来讨论一下改变最终图像的关键参数------ISO感光度。如前所述,电荷在变为最终的电压信号过程中经过了两次增益,一次是电荷转换成电压的转换增益,另一次是PGA带来的模拟增益。同时,目前许多制造商也给相机加上了通过直接放大数字信号改变图像像素值的数字增益。我们可以在相机中调节ISO感光度来切换转换增益或者调节模拟增益和数字增益,从而改变最终图像的亮度。

▲不同ISO感光度设置下拍摄的图像

经PGA放大后的电压模拟信号最终会通过一个模数转换器(ADC)转换为数字信号,即为Raw图像的数字驱动值。然后,Raw图像将进一步通过ISP流程,从而最终输出在用户眼前的图像。

▲电压信号转换为数字信号流程示意图

在电荷到电压的转换过程中,通常会引入复位噪声,即前端读出噪声。在PGA放大电压信号时,也会引入一些白噪声与闪烁噪声,即所谓的后端读出噪声。同时,在模拟信号转换为数字信号的过程中,还会不可避免地引入量化噪声。其中,读出噪声通常可以建模为均值为0的高斯噪声,而量化噪声可以认为是均匀分布的噪声。

▲电子转换为数字驱动值公式

总结

在本期推文中,带大家走进了相机成像流程中的微观世界,了解了光子如何转换成电子、电子又如何转换为输出图像的数字驱动值。相机捕获到的信息,不只包含真实的场景信号,还有我们不希望看到的各式各样的噪声。无论是相机里的世界还是眼前的世界,都要去伪存真、忠实还原。

相关推荐
AndrewHZ10 小时前
图像处理入门(第005期):颜色空间入门——RGB/HSV/CMYK/Lab
图像处理·python·opencv·hsv·rgb·色彩空间
爱分享的康康13 小时前
解锁路测数据价值|康谋自动驾驶采集‑分析全链路方案解读
人工智能·数码相机·自动驾驶
搞科研的小刘选手14 小时前
【河南省科学院、河南工业大学主办 | 郑州举办】2026年计算机视觉与具身智能国际学术会议(CVEI 2026)
人工智能·计算机视觉·具身智能·学术会议·会议推荐
光电的一只菜鸡14 小时前
semi planar和planar的区别
数码相机
雨晨源码(同名B站)18 小时前
【2027届人工智能专业选题】基于yolov8的农业病虫害图像识别与分类系统 |深度学习 计算机视觉
人工智能·深度学习·yolo·计算机视觉·分类
格林威18 小时前
多相机并行采图最佳实践:Task.WhenAll + 异常处理 + 资源释放
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·机器视觉
动物园猫18 小时前
狗行为目标检测数据集:6类别、近3,000张图像 | 目标检测
人工智能·目标检测·计算机视觉
一个王同学18 小时前
从零到一 | CV转多模态大模型 | week22 | 实战项目-DocuMind-VL:基于 OCR 与 Qwen-VL 的文档多模态问答系统(二)
人工智能·深度学习·机器学习·计算机视觉·ocr
大明者省1 天前
WSL2 Ubuntu22.04 GPU训练环境配置指南
人工智能·算法·计算机视觉