- 博主简介:努力学习的22级计算机科学与技术本科生🌸
- 博主主页: @是瑶瑶子啦
- 每日一言🌼: 每一个不曾起舞的日子,都是对生命的辜负。——尼采
前言
文章目录
- 前言
- 一、图像传感器技术
- 1.0:前言
- 1.1:两种典型图像传感器
- 1.2:图像传感器主要参数解析
- 1.2.1:传感器材料⭐
- 1.2.2:传感器的光电二极管元件⭐
- 1.2.3:传感器分辨率⭐
- 1.2.4:图像传感器的两种基本结构⭐
- 1.2.5:灵敏度
- 1.2.6:动态范围:
- 1.3:传感器成像原理
- 1.3.1:光腔阵列和光腔
- 1.3.2:如何获得彩色图像
- 1.3.3:马赛克变换(DEMOSAICING)
- 1.4:传感器中的数据流程
- 1.5:传感器的处理
- 1.5.1:去马赛克(De-Mosaicking)
- 1.5.2:坏像素矫正((Defective Pixel Correction)
- 1.5.3:色彩和光照矫正(Color and Lighting Corrections)
- 1.5.4:几何校正(Geometric Corrections)
一、图像传感器技术
- 本节目的:
- 了解图像的获取和形成
- 了解为优化计算机视觉的图像质量而进行有效处理 (developing effecticve strategies for image sensor processing to optimize the image quality for computer vision)
1.0:前言
首先,图像本身就是信号(图像由像素信息构成,每个像素信息又包含了灰度值:光照强度或者RGB:颜色等信息),获取图像的过程就是获取信号的过程。
如何获取图像信息呢?——图像传感器(Image Sensor)
下面从各个方面对图像传感器技术进行讲解,来达到本节的两个目的
1.1:两种典型图像传感器
🌸典型图像传感器:
-
CCD单元(charge-coupled device ,电耦合器件)
- 工作原理:通过镜头的光线使得每一个光电二极管的电容积累一定的电荷,而电荷的数量则正比于该处的入射光强。
结束曝光后,周边的控制电路会将 CCD 每一列中的每个电容把自己的电荷传给相邻的下一个像素的电容,最后经过传感器末端的一个电荷放大器,转化为电压信号。(这种采用电荷传递的方式进行数据传送,可以想象为电流的串联,当一个像素异常,会导致一整排的像素异常,所以良品率较低。)
- 工作原理:通过镜头的光线使得每一个光电二极管的电容积累一定的电荷,而电荷的数量则正比于该处的入射光强。
-
标准CMOS单元(complementary meta-oxide semiconductor,互补金属氧化物半导体)
每个像素的光电二极管都会连接一个放大器和 ADC 电路,读出该像素的值需要补充的是,这里的“像素”和一般口头的“像素”还不太一样,这里的一个像素就会对应一个光电二极管,可以理解为一个接受光信号的最小单元(个人这样理解,如有错误,还请指出)
1、ADC:analog digital converter,AD转换,模数转换(也就是模拟转数字) 2、模拟信号只有通过A/D转化为数字信号后才能用软件进行处理,这一切都是通过A/D转换器(ADC)来实现的。
1.2:图像传感器主要参数解析
1.2.1:传感器材料⭐
传感器材料影响图像的噪声水平和动态范围,通常采用基于硅材料的CCD、CMOS、BSI和Foveon方式制造普通图像传感器。
特性:
- 具有非线性的光谱响应曲线,并且能很好的感知光盘的近红外部分,但对近紫外线部分(蓝色、紫色)感知欠佳
应用上需注意:
- 如果直接读取原始数据(连续的模拟信号),并离散成数字像素时,要关注硅的光谱响应曲线。虽然传感器制造商在设计上可能做了补偿,但根据标定照相机设计传感器的处理方法使,需要考虑颜色响应问题
其他材料的传感器?
Ga(稼)
:常用在工业和军事应用中,它能覆盖相较于硅来说更长的红外波长
1.2.2:传感器的光电二极管元件⭐
光电二极管元件的作用感受光信号并且将光信号转换成电信号,是传感器技术的关键。
它对成像的影响:
- 光电二极管的面积大小(photo-diode size)/元件尺寸(cell size)
- 面积过小:捕获的光子数量小,缺乏累计光子(反映到电信号上就是缺乏累计电荷),导致对噪声敏感
- 元件尺寸小于所捕获的可见光波长:那么需要为了校正颜色,在传感器设计时解决更多问题
- 元件尺寸和面积过大:划不来,所需更多硅材料成本,没有优势可言。
所以传感器厂商必须花费大量精力来设计优化元器件的面积大小,确保所有颜色都能同等成像,且成本最佳
1.2.3:传感器分辨率⭐
指的是CCD或者CMOS上每一行和每一列的光敏像元的个数
PS:这和我们常说的图像分辨率的概念不能混为一谈:图像长边和宽边所包含的像素个数
传感器里所讲的像素,也是指的光敏像元的个数,当然和图像概念的那个像素也不同
不同类型的照相机使用的传感器分辨率有所不同,比如单像素的光电晶体管照相机、一维线扫描相机、二维矩形阵列和高分辨率球形阵列。
-
像素尺寸: 像元尺寸指芯片像元阵列上每个像元的实际物理尺寸,像元尺寸从某种程度上反映了芯片的对光的响应能力,像元尺寸越大,能够接收到的光子数量越多,在同样的光照条件和曝光时间内产生的电荷数量越多。对于弱光成像而言,像元尺寸是芯片灵敏度的一种表征。
-
坏点数: 由于受到制造工艺的限制,对于有几百万像素点的传感器而言,所有的像元都是好的情况几乎不太可能,坏点数是指芯片中坏点(不能有效成像的像元或相应不一致性大于参数允许范围的像元)的数量,坏点数是衡量芯片质量的重要参数。
所以在传感器的范畴谈论分辨率高低,分辨率高就是坏点数少,和我们图像范畴的那个分辨率高低也不能混为一谈!
- 位分辨率、位深:指的是一个像素中,每个颜色分量(RGB)通道的比特数,至少是八位(0~255)
1.2.4:图像传感器的两种基本结构⭐
-
层叠结构:
不同波长的光深度渗透到半导体材料的不同深度,每个像素可以获取全色信息。这种结构的典型例子是Foveon传感器。 -
马赛克(mosaic) 结构:
每个像素覆盖不同的颜色滤光片(通常是RGB),获得对应颜色的信息。ps:为什么要叫马赛克呢?其实是翻译问题,这里的马赛克不是我们平时里的那个马赛克,马赛克的英文是
mosaic
,英文翻译:
a pattern or picture made by placing together small pieces, stone, etc. of different colors.这样看,马赛克这个描述确实挺形象!🌻马赛克结构的工作原理如下
sensor中四个像素点对应rgb一个像素点
下面是元件颜色的几个不同的马赛克配置,包括白色、基本RGB和次要CYM元件。每种配置为传感器处理过程中优化颜色或空间分辨率提供了不同的方法。(关于马赛克变换后面还会详细讲解)
1.2.5:灵敏度
灵敏度表示当sensor被光均匀的照射时,当照度是1LUX(勒克斯:照度单位)时,在1s内,光电转换器所能达到的电压幅值的最大值。单位一般是LUX/s
1.2.6:动态范围:
动态范围指的是传感器指图像中包含的亮度信息从最暗到最亮的对比度范围。
当前最先进的图像传感器,每个颜色通道能提供8-14位的动态范围
越高的动态范围意味着相机越能同时适应暗光以及亮光的场景。例如在车载的应用上,汽车从阴暗的隧道中驶出时,如果动态范围太小,就会看不清隧道外的场景,容易发生安全隐患。如图所示,左边是低动态范围的CMOS,无法看清隧道外的场景,右图是高动态范围的CMOS,可清楚地看到外部的场景。
1.3:传感器成像原理
首先:相机或摄像头使用数百万个微小的光腔(感光元件,就是前面说的光电二极管)来记录图像。
- 成像时,sensor将镜头投射来的光信号转换为模拟电信号(连续的)
- 曝光完成后,相机关闭这些光腔(发光二极管感光元件),将测量的模拟电信号转化为数字电信号,电信号的数值由上面提到的
位深(bit depth
决定
1.3.1:光腔阵列和光腔
👇🏻光腔阵列
👇🏻光腔(没有层叠或者马赛克配置,无法分辨每种颜色的多少,只能构建灰度图像)
1.3.2:如何获得彩色图像
上面提到,单纯只有光腔,只能构建灰度图像,要想构建彩色图像,还得在感光元件之上加上一层颜色滤镜,如下图的RGB filter
👇🏻带颜色滤镜的光腔
但是这样带来的问题也是:每个光腔将会舍去2/3
的光,数据一旦被丢弃就再也没人知道它们到底是多少——但是人们还可以猜,图像信号一般都会存在大量的冗余,相邻像素间的差异一般不大,所以很多时候人们都能猜个八九不离十.
为了解决这个问题,需要用到上面讲道德传感器两种基本结构的mosaic结构
,即构建颜色滤镜阵列
,也就是mosaic
,以达到图像中的一个组合邻近像素的信息(其实就是根据原始数据进行猜,也叫做插值)来优化颜色再现或提高空间分辨率
对RAW数据进行插值(就是根据已知的数据去推测未知的数据)的过程叫做Bayer demosaicking(也就是下面讲到的马赛克变换),其原理如下图所示。
可以看到马赛克变换的核心是有一个RGB阵列,表示感光元件的排布,上面用到的RGB阵列就是最常见的拜尔阵列。
👇🏻最常见的“拜尔阵列”
注意拜耳阵列中包含的绿色传感器是红色或蓝色传感器的两倍。由于人眼对绿光比红光和蓝光更敏感,因此每种原色不会获得总面积的同等比例。
1.3.3:马赛克变换(DEMOSAICING)
👇🏻下面讲的是基于拜尔阵列的马赛克变换
马赛克变换(DEMOSAICING):原色阵列转换为包含每个像素全彩色信息的最终图像的过程。
这样裁出来只有9个像素点,比sensor光腔数量实际的要少7个。原因可能和sensor设计相关,sensor的光腔数量和实际像素不对应,实际光腔数量要大得多,出来的图像是裁剪过的。
这也和sensor的安装有关,sensor不可能严丝合缝,一定存在误差,于是足够大的sensor就可以避免由于安装的偏移导致的图像显示不完全的问题
存在其他马赛克变换(DEMOSAICING)算法,可以提取略多的分辨率,生成噪音较小的图像,或适应每个位置的图像的最佳近似值。总之本质都是: 采用不同的像素处理算法,可以组合邻近传感器像素(光腔)的信息来优化颜色再现或提高空间分辨率
1.4:传感器中的数据流程
-
光电转换
image sensor将镜头投射来的环境光转化为模拟电信号的过程 -
模数转换
即把模拟电信号转换为数字电信号的过程,也称ADC
,AD
(Analog-to-digital ),次过程也是产生具体RGB的数值是多少,即产生RGB-Byte
,这时RGB_BYRE的位深度根据sensor的ADC转换器决定,如上两张图都是10bit -
ISP
即:image sensor processor
,传感器处理器(下面会详细讲解),接收来自数模转后后的具体原始数据。关于传感器处理这里不赘述,只需要知道它是对传感器成像后的图像数据进行一定的处理即可,即调优作用 -
image output
ISP处理完生成YUV数据流,而后通过接口发送给CPU
这个接口有很多,如DVP、LVDS、MIPI,常用MIPI
还有传输控制信号的接口,常用I2C
1.5:传感器的处理
通常每个成像系统都会提供一个专有的传感器处理器,即上面所提到的ISP
.通常,传感器处理过程透明,且自动化,并且由成像系统的生产商设置,来自传感器的图像数据均由同样的方式经过ISP进行处理。
下面讨论基本的传感器处理方法
1.5.1:去马赛克(De-Mosaicking)
其实这部分在1.3.2
和1.3.3
中关于原理已经大致讲解,这里不再赘述。
《Computer Vision Metrics》原书中对去马赛克这个描述是这样的:"Sensor processing is required to de-mosaic and assemble the pixels from sensor array, and also to correct sensing defects. "
通俗来说,就是马赛克模式的图像传感器,每个传感器只能获取一种颜色,有一些问题:
- 空间分辨率受限,细节不够丰富
- 需要颜色插值(马赛克变换)生成全色像素,会引入颜色混叠和假影
- 不同颜色之间存在排布格局,容易产生莫尔纹等视觉伪影
- 单色像素对光谱响应有限,色彩再现不够广泛准确
- 不同颜色像素面积比例不均匀,导致色彩平衡失真
去马赛克可以充分利用传感器的原始数据(也就是每个传感器的数据),将这些数据进行算法重建(assemble the pixels),提高空间和色彩细节,减少混叠和伪影,改善色彩平衡,获得更逼真的图像质量。关键在于设计对各色通道信息的合理融合与优化处理。
所以去马赛克是提升感光质量、还原真实场景色彩的重要手段。它与超分辨率技术存在相通之处,是图像处理中的热点难点。
1.5.2:坏像素矫正((Defective Pixel Correction)
图像传感器在制造和使用过程中,都有可能出现像素异常,表现为:亮点、暗点、无响应等,这些都是坏像素
主要原因如下:
-
制程缺陷,使该像素无法正常响应光照。
-
使用损坏,如射线辐射、过热等造成像素失效。
坏像素矫正能够有效提高图像质量,是数字图像处理中的标准流程之一,主要手段如下:
-
工厂标定已知坏像素,提供映射表进行处理。
-
相机系统自适应检测比邻像素异常的坏像素,并进行修补。
-
利用周围正常像素的冗余信息,通过插值算法修复坏像素点。
1.5.3:色彩和光照矫正(Color and Lighting Corrections)
-
色彩校正
进行色彩校正的目的是:平衡总的色彩精确度和色彩平衡。通过色彩校正,可以大大提升图像的色彩美观性、真实性和一致性,获得色彩高保真的视觉效果。它是数字图像处理中必不可少的步骤。
矫正方法:比如硅材料传感器对红色和绿色这两种颜色比较敏感,而对蓝色不敏感。所以,需要考虑光学系统、传感器特性等,通过标定获得最佳参数。 -
光照校正
目的:消除光照不均匀现象,改善图像的整体亮度和对比度
适当的光照校正可以提亮阴暗区域,增强图像的层次感和细节,使整体视觉效果更好。
1.5.4:几何校正(Geometric Corrections)
镜头可能因为几何相差或者朝边缘发生扭曲,产生径向失真或光学几何畸变。
校正方法主要有:补偿镜头的光学畸变、调整传感器取景偏差、修正透视形变、标准化图像方位。
几何校正可以有效消除条形变形、枕形变形等光学畸变引起的图像形变,调整视角失真,实现图像的标准化处理,是确保图像几何标准化以及后续算法效果的重要预处理过程
💐写在最后:文章内容主要来自以下参考以及个人理解、实验室学长讲解和讨论,因为个人专业能力和知识还在提高中,若文章内容有错误或有失偏颇的地方,还请大家多多指出🍊
后续还会围绕《计算机视觉度量从特征描述到深度学习》这本书的学习持续更新相关内容🌺
参考:
- 《Computer Vision Metrics》/《计算机视觉度量从特征描述到深度学习》
- 详解相机的sensor工作原理