电子说
紫边
紫边顾名思义,就是在摄影成像时,在对比度强烈,以及大光圈时经常会产生的紫色边缘的Artifact,其实除了紫色也会存在蓝色和绿色的情况。目前大部分人用光学像差来解释这个问题,其实这只是一方面。实际上除了镜头,紫边和Sensor、两者的匹配以及算法都有关系。
通常可以选取比较高档的经过光学优化的镜头以及更好的Sensor来消除紫边。这些方法不管用的情况下还可以用PS,Lightroom等后期软件来后处理消除紫边。
不过在ISP里面,其实有CAC和根据图像分析Depurple两种算法模块来处理这种问题。其中,CAC常用于像差校正。根据图像分析Depurple实现较难,通常只在比较新的ISP中存在。
成因
1.镜头色差
色差是由透镜的光学特性造成的。可见光的每个特定区域都有不同的波长,波长越长,折射率越高。R、G和B光的波长分别为650nm、510nm和475nm。它们的折射率与波长有关,因此色差发生在横向或纵向。因此,R、G、B三个通道在不同位置都呈现出模糊焦点。特别是近边缘出现紫色边缘,其亮度差异较大。
横向色差,看到的大多数紫边是由于镜头的横向色差造成的——同样的色差会在图像的角落出现黄色、红色或蓝色条纹。不同波长的光可以通过镜头并在稍微不同的位置重新聚焦在图像传感器上。横向色差是指光的波长在传感器上没有完全对齐,导致照片的锐利、高对比度部分,尤其是角落处,呈现出经典的红/蓝色条纹外观。即使在具有非常好的色差校正的镜头上,同样的效果也会导致紫边。这是因为导致紫边的情况——即黑暗物体(如树枝)与非常明亮的物体对比——极大地夸大了镜头的像差。即使是经过良好校正的镜头也会在这些情况下显示出一些紫色光晕,通常是在整个图像中,而不仅仅是在角落。
纵向色差,获得紫边的另一种方法是使用具有强纵向色差的镜头(离焦区域中的又名绿色和紫色条纹)。对象前面的物体带有紫色条纹,而背景带有绿色。因此,如果照片中的对比度非常高,并且稍微位于焦点前面,那么大多数镜头都会出现紫边。例如,在天体摄影中,如果你聚焦得太远,在恒星周围出现紫边是很常见的。
此外,由于设计软件里对应短波长的权重一般较低,而紫边场景一般亮度对比度较高,导致短波长部分的色差被放大了。并且传感器B 通道是一个连续的频谱,和设计软件里离散的波长设置有一定出入。所以模拟紫边最好以传感器的频谱为准,平常3-5离散波长的计算结果不一定准确。其次紫边的的本质是RGB 通道各自PSF之间能量分布的差别,不同的曝光条件和饱和度条件下紫边会有所不同。
2.Blooming
CCD图像传感器的原理和结构使其有较好光照灵敏度高、噪音低、图象质量较高的优点,一般CCD工业相机的动态范围在60dB左右。但在图像中有高亮度的点或区域时,CCD图像传感器存在让图像质量严重劣化的“Blooming”和“Smear”效应。
当成像视场中存在亮度较高的点光源或亮区域时,CCD在亮点光源附件区域有Blooming或称为“开花”(也叫光晕或高光溢出)的效应。
它是CCD传感器像素在受到强光照射时,亮点区域像元获得的光照过强,像元光电二极管在强光下产生的光电子数超过CCD电荷存储区可以存储的最大电子数而溢出,溢出的电子将沿行或列方向进入相邻像素,“污染”相邻图像区域 (使相邻区域也饱和),图像出现Blooming “开花”(光晕)现象,Blooming会导致相机图像清晰度明显下降,严重影响成像的质量。
不同程度的“Blooming”会使图像出现不同程度的光晕图像,光晕图像无法真实反映要观测区域的细节信息,会丢失许多有用的信息。焊接实时检测的图像获取系统中,如果没有特殊的抗干扰措施,焊接等离子体的强光会在CCD工业相机上产生严重的光晕,使焊接熔池中心及边缘部分的图像信息全部损失。
3.Sensor和镜头的匹配
由于镜头和Sensor的适配等各种因素导致高角度入射光不仅激发了正确位置的PhotoDiode,也激发了其周围PD,最终形成彩色光晕,如下图所示。
4.ISP算法的Arttifact
去马赛克算法也会造成紫边。由于Sensor的颜色阵列通常被称为拜耳模式,每个照片点都有选择地接收到一个R、G和B颜色的信号,其余两个颜色需要被插值插出来。然而,由于三种颜色之间的不一致性,插值会产生伪影。这种伪影是由于颜色不连续周围的色调突然变化而出现的,称为伪色。
消除
去紫边的算法在ISP分为CAC(Chromatic Aberration Correction)和基于图像分析的方法紫边Depurple。
1.CAC
CAC用来消除镜头引起的像差,类似Distortion Correction。分为标定和校正两步。通常使用拍摄圈点图算出每个圆的圆心和3个通道的偏移量,校正的时候再根据偏移量插值回正确的位置。
这个标定其实就是算法推广的最大困难。另外就是由于CAC标定的是像素的平移动偏差,所以只能对于像差引起紫边比较有效。
2.Depurple
主要分为检测和校正2步。
检测3个条件:
1.NSRs,近饱和区域3通道平均值大于230(8bit);
2.CRs,颜色特性复合紫色区域(B-G》25,R-B《25);
3.颜色梯度,图片经过非均匀量化后的梯度图,紫边一般位于一侧是亮度一侧是较暗的位置。
3个条件处于重合的区域就是检测出的紫边区域,具体每个条件的检测结果可以参考下图。
校正3种方式:
1.使用附近的颜色插值插一个过渡色(计算复杂但是自然);
2.降饱和度(变灰);
3.将R和B的值设置为G。
效果如下图所示。
误判
在紫边纠正的算法中如何防止误判是很关键的,从下图可以看出由于融合了梯度信息,导致紫色衣服这样的的负样本没有被误伤。
误伤的情况如下图所示。
无误伤的情况如下图所示。
总结
目前来看,在实际的Camera生产过程中,如果通过镜头及镜头和Sensor的匹配改善紫边的硬件修改成本会比较高。所以通过一个好的ISP去紫边算法改进这个问题会是一个大的趋势。
全部0条评论
快来发表一下你的评论吧 !