基于线性外推理论的红外焦平面阵列盲元检测算法
2013-10-27赵春晖刘振龙
赵春晖,刘振龙
(哈尔滨工程大学 信息与通信工程学院,黑龙江 哈尔滨 150000)
盲元的产生主要是由生产工艺和材料的缺陷引起的,引起盲元产生的阵列元是完全失效或严重失效的,从而它对红外辐射的响应明显偏离正常值.在人眼看来,盲元的表现形式是图像中一个个亮点或黑点,其中亮点称为过热像元,黑点称为死像元[1].在成像过程中,这些像素点不能够正确地反映场景的信息和场景的变化,严重地影响了红外系统成像的质量.虽然常用的非均匀性校正算法,能够在一定程度上对这些严重的非均匀性进行校正,但是由于这些像素点偏离正常值较远,从而也导致了校正的深度不够,达不到理想的效果,所以就需要利用检测算法检测出这些盲元点,然后单独的对它们进行补偿[2].
目前,国内外已经有许多关于盲元检测的算法,如基于参考源的检测算法、基于统计量的检测算法等[3].其中,基于参考源的检测算法需要使用均匀黑体作为辐射源,这样就增加了设备的复杂度,也不利于实时的检测和补偿,另外由于焦平面阵列非均匀性的存在,使得采用全局阈值的统计量检测算法不可避免地存在一定的误差[4].本文通过详细分析盲元所具有的奇异性,并结合趋势外推理论,提出了基于二维线性外推理论的盲元检测算法,本文算法能够在不借助外部设备的情况下,从单帧场景图像中检测出盲元所在的位置,并且能够保证较高的检测率.
1 盲元特点分析
由于盲元的产生是阵列元传感器的缺陷引起的,因此,盲元在图像序列中表现为固定模式的,不会随时间变动[5],它们表现在图像中就是一系列的亮点或者黑点.并且,与一般的点目标不同,盲元的灰度值与邻域像素的灰度值相关性很小,它的变化是一个突变过程.而点目标的灰度值变化一般在邻域像素间都会有一个逐渐变大或变小的趋势,这是因为点目标与周围环境存在热交换,所以温度的变化只能是一个连续变化的过程,表现在红外图像中就是点目标周围像素逐渐地变亮或变暗.下面就两幅红外图像以及它们的灰度分布三维网格图来进一步说明盲元与点目标的区别.
从图1中可以看出过热像元与点目标的区别,图中只给出了过热像元的灰度分布示意图,死像元与它相似.因此,可以利用盲元灰度值的突变性这一特点来对它们进行检测,在检测算法中利用了线性外推理论.
图1 灰度分布三维网格图Fig.1 Three-dimensional grid map of gray level distribution
2 趋势外推理论
如果将像素与周围像素的灰度值由远及近抽象成一种事物发展的趋势,当了解这种趋势的变化时,就可以利用这种趋势对像素的灰度值进行预测,这就是趋势外推法.当然趋势外推的基本假设是变化的连续发展,预测的对象依空间或时间呈现上升或下降趋势,并且没有明显的周期性波动,如果有函数能够拟合这种变化,则通过这个函数就能够对它的未来的值进行预测.
趋势外推理论利用事物发展的趋势进行预测,但事物在空间或时间上的变化不能太大,是一种渐进式的变化,对于跳跃式的变化规律很难掌握,因此趋势外推理论不适用于这种变化.从上面的分析中可以知道,正常的目标像素点灰度值与其邻域像素灰度有很强的相关性,是一种渐进式的变化.虽然目标边缘也会有很大的跳变性,但是总体来说它们也会呈现出一种趋势的变化,而不是突变.盲元的灰度值变化有所不同,它相对于邻域像素的灰度值是跳变的,属于跳跃式变化,使用趋势外推理论不能预测出这种变化.利用这个区别,可以用简单的函数曲线拟合像素与其邻域像素之间的灰度变化,这样就可以对像素灰度进行预测,再设定一个阈值,如果实际灰度值在预测结果的阈值动态范围内,则认定它为正常像素点,如果超出这个范围,则认定为盲元点.
3 基于线性外推理论的盲元检测算法
线性趋势外推法是趋势外推理论中最简单的一种,它可以拟合随时间或空间按恒定增长率变化的事物.应用到红外图像中,如果以空间位置为横坐标,相邻像素灰度值变化接近一条直线,利用这条直线可以推断出像素灰度值的变化.下面将点目标的响应特性与盲元的响应特性做个比较,并对它们进行一维线性外推计算[6].点目标与盲元响应的一维灰度分布,如图2所示[7].
对图2中所示的正常点目标像素序列进行一维线性外推计算,计算公式如下:
如果像元C实际灰度值满足下式:
则可以判定C像元是过热像元,式中T为阈值.
如果像元C实际灰度值满足下式:
则可以判定C像元是死像元.
图2 一维灰度分布示意图Fig.2 Diagram of one-dimensional gray level distribution
4 利用场景信息的线性外推检测算法
上面论述的是基于一维线性外推的盲元检测算法,为了能更好地利用场景信息[8],可以将检测算法推广到二维线性空间,所使用的二维线性外推算子像素分布如图3所示.
图3 二维线性外推算子像素分布图Fig.3 Pixel distribution map of two-dimensional linear extrapolation operator
从图3可以看出,二维线性外推算子的像素分布是距离像元C市区距离t≤2的像素的集合,将距离像元C市区距离t=2像素的灰度值归为集合X2={X20,X21,X22,…,X27};将距离像元C市区距离t=1像素的灰度值归为集合X1={X10,X11,X12,X13}.
记集合X2的最大元素值为maxX2、最小元素值为minX2、元素均值为meanX2:
记集合X1的最大元素值为maxX1、最小元素值为minX1、元素均值为meanX1:
如果像素点C是正常像素点,则它的灰度值与等距离点的集合X1、X2内部元素有一定的相关性,可以通过离C不同距离的点集合的统计信息对它进行线性趋势外推,类似于前述的一维线性外推运算,计算过程如下:
假设输入图像的整体灰度平均值为meanX,如果像素点C处实际获取的灰度值满足:
则可以将它判定为过热像元.
如果像素点C处实际获取的灰度值满足如下关系
则可以将它判定为死像元.
上述公式中的判定阈值T1、T2是根据实际情况赋值的,过高的阈值会造成漏判,同样过低的阈值会造成误判,所以选取合适的判断阈值是检测算法的一个重要的步骤.本文将阈值T1赋值为15%、T2赋值为10%,这是经过对不同场景的图像进行统计得到的值,然而在实际应用中不宜选用固定的阈值,需要根据实际情况进行调整,具体的调整原则是:当场景中目标边缘与背景灰度相比跳跃性较大时,可以适当提高阈值,防止误判;当场景中目标边缘灰度变化比较平缓时,可以适当降低阈值,这样可以防止漏判.
在完成了检测以后,下一步就是要对盲元进行补偿,盲元的补偿可以通过单帧图像信息进行补偿(空间补偿),也可通过序列图像进行补偿(时间补偿)[9].本文采用空间补偿算法中的邻域平均法对盲元进行补偿,即用像素邻域灰度值的平均值代替原灰度值,虽然这一算法会在一定程度上带来图像的模糊,但是由于算法计算过程简单、补偿效果比较明显,从而也得到了广泛的应用[10].
5 实验结果分析
为了验证本文检测算法的有效性,在红外图像中随机的添加50个亮点和50个暗点,所得到的噪声图像表现为在图像上随机分布着一个个的黑点或白点,总数为100个,这些噪声点可以准确地模拟红外图像的盲元点.使用本文的检测算法对添加了盲元的红外图像进行检测,对于检测到的盲元(包括过热像元和死像元),使用盲元蒙版来记录它们的位置信息,然后通过蒙版上的位置信息,对红外图像上的盲元点进行补偿,处理结果如图4所示,检测到的死像元和过热像元的统计个数信息如表1所示.
图4 算法处理结果Fig.4 Results obtained by given algorithm
表1 检测结果对比Table 1 Comparison of test results 个
从表1的统计信息可以看出,本文检测算法的检测结果还是比较准确的.虽然有一定的偏差,这是由于图像的细节信息比较丰富,所选的阈值不能够完全满足场景信息的变化所致,这也说明了本文算法对于阈值的依赖性,它直接决定着检测的准确率.
6 结 论
本文首先分析了盲元的特性以及它与点目标的区别,利用这种差异,再结合线性外推理论,提出了本文关于盲元的检测算法,并对检测算法进行了实验验证.实验结果表明本文算法,不仅算法复杂度较低,而且在检测精度方面也完全能够满足需求,是一种比较实用的算法.由于固定阈值或多或少都会带来一定的误差,所以在实际使用中也可以通过选取动态阈值的方式对其进行改进,这也是下一步要做的工作.
[1] 黄英东,安建波,曹礼宝.一种新的红外焦平面阵列盲元检测与补偿方法[J].弹箭与制导学报,2010,30(6):39-41.(Huang Yingdong,An Jianbo,Cao Libao.A New Method of Bad Pixel Detection and Compensation for IRFPA[J].Journal of Projectiles,Rockets,Missiles and Guidance,2010,30(6):39-41.)
[2] 朱红,刘永进,赵亦工.红外焦平面阵列盲元补偿算法研究[J].半导体光电,2009,30(1):156-158.(Zhu Hong,Liu Yongjin,Zhao Yigong.Study on Blindpixel Compensation Algorithm for Infrared Focal Plane Arrays[J].Semiconductor Optoelectronics,2009,30(1):156-158.)
[3] 陈大川,刘缠牢,郑阳光.红外焦平面阵列盲元检测及补偿算法[J].激光与红外,2008,38(12):1215-1217.(Chen Dachuan, Liu Chanlao, Zhen Yangguang.Algorithm of Blind Pixels Auto-searching and Compensation for IRFPA[J].Laser and Infrared,2008,38(12):1215-1217.)
[4] 张小龙,赵桂芳,催瑞清.红外焦平面阵列盲元检测与补偿算法研究[J].弹箭与制导学报,2008,28(1):200-202.(Zhang Xiaolong,Zhao Guifang,Cui Ruiqing.Bad Pixel Detection and Compensation for IRFPA[J].Journal of Projectiles,Rockets,Missiles and Guidance,2008,28(1):200-202.)
[5] 胡明鹏,马冬梅,刘志祥,等.红外焦平面阵列无效像元检测技术研究[J].半导体光电,2008,29(2):184-187.(Hu Mingpeng,Ma Dongmei,Liu Zhixiang,et al.Study of IRFPA Non-effective Pixel Discrimination [J].Semiconductor Optoelectronics,2008,29(2):184-187.)
[6] 李怀琼,陈钱,高文昆.红外焦平面阵列失效元动态检测与校正算法[J].红外与激光工程,2006,35(2):192-196.(Li Huaiqiong,Chen Qian,Gao Wenkun.Dynamic Detection and Compensation Algorithm of Defective Pixels for IRFPA [J].Infrared and Laser Engineering,2006,35(2):192-196.)
[7] Dierickx B, Meynants G.Missing Pixel Correction Algorithm for Image Sensors[C].Proc.SPIE,1998,3410:200-203.
[8] 赖睿,刘上乾,周慧鑫,等.红外焦平面阵列盲元检测技术研究[J].半导体光电,2005,26(3):199-201.(Lai Rui,Liu Shangqian,Zhou Huixin,et al.Blind-pixel Detection for Infrared Focal Plane Arrays [J].Semiconductor Optoelectronics,2005,26(3):199-201.)
[9] 顾国华.基于滑动窗口与多帧补偿的自适应盲元检测与补偿算法[J].红外技术,2010,32(7):420-423.(Gu Guohua.A Blind Pixel Self-adaptive Detection And Compensation Algorithm Based on Sliding Window and Multi-frame Compensation[J].Infrared Technology,2010,32(7):420-423.)
[10] 罗茂捷,周金梅,廖胜.盲元综合检测和补偿算法[J].光电工程,2011,38(12):57-62.(Luo Maojie,Zhou Jinmei,Liao Sheng.Compositive Blind-pixel Detection and Compensation Algorithm[J].Opto-Electronic Engineering,2011,38(12):57-62.)