本系列主要介绍图像信号处理器 (ISP, Image Signal Processor) 中各核心算法模块的设计以及相关的前沿研究,以典型的相机成像系统为基础,涉及的内容包括各类缺陷校正,去马赛克,去噪,3A算法(自动对焦,自动曝光,自动白平衡),超分,HDR,风格迁移等主题。
本文介绍坏点产生的原因、现有坏点矫正方法及其优缺点。
模块背景介绍
CMOS/CCD镜头上对于外界光照失效而呈现为极亮或极暗的点,可分为坏点 (Deadpixel)、粘滞点 (StuckPixels) 与亮点 (Hotpixel),前者是高度曝光下的暗像素点,中者是高度曝光下相同位置出现的彩色像素点,后者为极暗条件下产生的亮点。
坏点产生的原因主要包括感光元件芯片自身工艺技术以及材料瑕疵、光线采集存在缺陷、光信号转化的过程错误、制造商产品差异以及产品使用损耗等。其中感光元件芯片工艺及材料瑕疵是CMOS/CCD图像传感器产生坏点的基本原因。
从坏点的静动态分布上可以分为静态坏点与动态坏点,从像素亮度上可分为亮点与暗点。
静态坏点 (Static Defective Pixel, SDP) 是由缺图像传感器技术的芯片缺陷导致,解决方案是基于既定静态坏点表,比较当前坐标是否与静态坏点表中的某坐标一致,若坐标一致则判定为坏点,然后再计算校正结果并校正。
动态坏点 (Dynamic Defective Pixel, DDP) 与传感器温度、增益有关,传感器温度升高或者增益值增大时,动态坏点会变会增多,与ISO的大小有关,文献[1]表明,对于不同的ISO设定,其缺陷随着ISP增大而增多。
像素点的亮度一般正比于入射光的强度,而亮点的亮度值明显大于入射光乘以相应比例,并且随着曝光时间的增加,该点的亮度会显著增加。
暗点即无论在什么入射光下,该像素点的值都接近于0。
现存坏点矫正及其优缺点分析
现存坏点矫正主要包括Pinto[2]算法与Kakarala[3]算法等。通过拜尔阵列中同一通道的邻域像素的计算与判断,对坏点所在位置的像素值进行替换。Pinto 算法
Pinto 算法根据坏点是其邻域内的极亮、极暗的点,像素为邻域内的最大(小)值。以R通道为例,首先将中心像素RT与周围的像素R1~R8分别作差,根据结果Result的正负进行判断,如果Result全为正值或负值,则该点为坏点,并用周围像素点R1~R8的中值进行替代;反之,如果Result有正有负,则视为正常像素点,不进行坏点校正。Pinto算法选取R、G、B通道的模板分别进行滤波处理,G通道与B通道与R通道的处理方式相同,示意图如图1所示。
图1
Kakarala算法通过首先计算中心像素值XT与周围像素的平均值,如通过X1、X2、X3与XT的平均值计算得到x11,其中X∈[R,G,B],x∈[r,g,b],其余x13、x31、x33计算过程类似,R通道与B通道还需通过类似的方式计算得到x12、x21、x22、x32的结果,最终在三通道均组成3*3的模板并通过排序找到其最大值max、最小值min与平均值avg;最值相减得到dif值,即dif= max- min,若根据avg±dif的结果设置阈值T1与T2(假设T1>T2)并进行判断,若该处像素值XT大于T1或者小于T2,则视XT处为坏点,并用均值avg代替该处的像素值,滤波模板示意如图2所示。
图2
Pinto算法的优点是作用域广泛,对于图片的大部分区域均有效果;模糊边缘效果较弱。其缺点是位于边缘处的坏点无法检测。原因主要在于对于Pinto算法的假设在边缘情况下可能不成立,比如算法假设像素点为邻域内的最大值或最小值,但这在边缘处是显然不成立的,边缘处的像素值可能作为正常像素点,本身比坏点值更大。
Kakarala算法同样作用域广泛;可检测大部分的边缘处坏点。但是缺点是有明显的模糊效果。主要原因是Kakarala算法在滤除大部分坏点的同时由于其滤波特性模糊了图像的边缘。
总之,两种算法对于平坦区域均有良好的效果,但是对于边缘处坏点的处理效果欠佳。
参考文献:
[1] Leung J, Chapman G H, Choi Y H, et al. Analyzing the impactof ISO on digital imager defects with an automatic defect tracealgorithm[C]//Sensors, Cameras, and Systems for Industrial/ScientificApplications XI. SPIE, 2010, 7536: 129-140.
[2] Pinto V, Shaposhnik D. Dynamicidentification and correction of defective pixels: U.S. Patent 8,098,304[P].2012-1-17.
[3] Baharav I, Kakarala R, Zhang X,et al. Bad pixel detection and correction in an image sensing device: U.S.Patent 6,737,625[P]. 2004-5-18.