Research on Crosstalk Characteristics of Small Pixel-pitch HgCdTe Infrared Focal Plane Arrays
-
摘要: 基于Silvaco TCAD三维数值模拟方法研究了小像元HgCdTe红外焦平探测器的电串音.通过分析中心像元光生载流子纵向输运和横向输运与电串音的相关性,揭示了光生载流子横向扩散是造成小像元HgCdTe红外焦平面探测器中电串音迅速增加的主要原因.对小像元HgCdTe红外焦平电串音的抑制方法进行探讨,计算结果表明适当调整吸收层厚度和引入组分梯度能够有效抑制小像元HgCdTe红外焦平面探测器中的电串音.本文的研究对小像元碲镉汞红外焦平面探测器的设计具有一定的指导意义.
-
0. 引言
红外热成像技术近些年在国防、战争、探测、监测等领域有着十分广泛的应用。对于应用在边海防的热像监控仪来说,使用过程中红外转台需要固定周期的旋转定位来达到巡视目的,每次转动到新的位置对应新的场景需要重新聚焦来得到清晰的画面显示,因此红外热像仪的自动聚焦功能能够大大方便操作者的观察和使用。
相比于可见白光成像技术,红外成像技术根据被观测物体本身的发热实现对被观测物的成像,由于其成像原理跟可见白光成像原理不一致,因此红外成像技术与白光成像技术在实现上有一定的差异。基于图像实现自动聚焦技术在白光画面处理中已经非常成熟了,文献[1]和文献[2]中,作者分别使用PC和FPGA完成了基于可见白光画面的镜头自动聚焦。
在实际应用中,由于红外探测成像仪的性能受到红外探测器、模数转换电路、结构散热、光学镜头等诸多因素影响,传统的白光图像自动聚焦技术在红外画面的自动聚焦上效果很差。因此要针对红外画面自身的特点(存在竖条纹现象、噪声过高等)提出一种自动聚焦技术。本文提出一种基于FPGA的红外镜头自动聚焦技术,相比于文献[3],针对红外画面竖条纹的特点改进了图像质量评判的算法,相比于文献[4],针对红外图像噪声大的特点优化了爬山算法来实现镜头控制,相比于文献[5],本文不依赖于上位机的参与,完全由FPGA本身实现图像采集、图像优化、图像清晰度评估、爬山算法实现、电机控制等工作,大大提高了热像仪整机的集成度。
1. 热像仪组成与自动调焦原理
1.1 热像仪组成
本文提出的具备自动聚焦功能的热像仪实物如图 1所示。主要组成部分包括红外镜头、红外探测器、图像处理电路、FPGA电路、DDR3、电机驱动电路以及调焦电机和调焦机构(机械齿轮)。
1.2 热像仪工作原理与自动调焦工作原理
红外热像仪的主要架构如图 2所示。
从图 2中可以看出整个热像仪的组成架构,热像仪的工作流程如下。
1)光线通过红外镜头进入到红外探测器焦平面,红外镜头能够通过的光谱有效波长为8~12μm,可以将可见白光滤掉。
2)红外焦平面将红外光转化为电信号,本次选用的红外焦平面能够成像的有效分辨率为720×576。
3)红外焦平面输出的信号为模拟视频信号,电路中需要将其进行数模转换,用AD转换芯片AD9251实现将红外模拟信号转换为奇偶各14bit的数字视频数据。
4)奇偶数据需要在FPGA内部进行重组,然后对红外画面进行非均匀校正、图像增强、去竖条纹、温度补偿等后期图像处理,这一部分不是本文的重点,不多讨论。
这一步中,需要将步骤3)生成的奇偶数据逐行拼接成一幅完整的画面,图像中每一行相邻的两个像素的灰度值来自不同的源(奇偶通道),在成像中会产生“竖条纹”现象。竖条纹在红外成像中普遍存在,在本步骤环节FPGA对画面进行优化处理,消除竖条纹带来的干扰,使整帧画面显示更加平缓流畅。
5)处理好的图像数据通过外部电路编码成PAL制视频格式直接输出到显示器,也可以通过网络压缩编码到服务器端进行显示。
对于自动聚焦来说,需要依赖于这一步生成的图像数据进行。
6)根据5)生成的图像,进行图像清晰度评价。FPGA对并行数据有强大的处理能力,因此选用梯度能量算法进行清晰度评价。常用的梯度能量算法需要对整幅画面的所有像元做数据处理,计算量比较大,同时处理时间长。本文提出了一种改进的梯度能量算法来评价成像清晰度,具体见第2章。
7)FPGA的PL端将图像清晰度评价的结果交给下一个环节处理。对于这一步,文献[5]的设计里整个6)和7)都依赖于上位机的PC实现。本文则是继续在FPGA内部实现根据清晰度来进行自动调焦。
8)FPGA的PL端根据清晰度评价数据采用爬山算法实现对电机的控制,进而调整镜头焦距,最终得到清晰的画面,完成聚焦。
爬山算法在可见光成像自动聚焦中有比较广泛的应用,但是由于红外图像本身噪声大,竖条纹多,在爬山过程中会出现“伪山顶”状态。“伪山顶”的存在会直接导致自动聚焦的失败,为此本文针对爬山算法做了优化和改进,具体见第3章。
概括起来,自动调焦的实现流程如图 3所示,整个过程是一个闭环反馈的过程,需要反复的调整优化,最终达到图像的最清晰状态,即聚焦状态。
本文采用Xillinx公司的ZYNQ系列FPGA-FXC7Z030-2FBG676实现上述4)~8)步。ZYNQ内部分为PL端和PS端,其中PL端为可编程逻辑门阵列,用来实现图像处理和清晰度评价,PS端内部为ARM核,用来实现爬山算法和电机控制。同时FPGA外部配置两片DDR3,型号为Micron公司的MT41J128M16HA,单片容量256 MB,两片容量512 MB,用于缓存视频画面数据。
2. 红外图像质量评判在FPGA中的实现
2.1 清晰度评判算法
文献[6]中对清晰度评判算法做了全面具体地介绍,结合红外图像的特性以及FPGA实现难易程度。本文采用梯度能量算法来对图像清晰度进行评判。
如图 4所示,对图像素3×3掩模区域内的像素灰度值做平方差和处理。
对于图中像素点(x, y),定义其能量值为F(x, y)为其周边8个相邻像素灰度值与其差的平方和。如公式(1)所示:
$$\begin{array}{l} F\left( {x, y} \right){\rm{ = }}{(f(x - 1, y - 1) - f\left( {x, y} \right))^2} + {[f(x, y - 1) - f\left( {x, y} \right)]^2} + \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;{[f(x + 1, y - 1) - f\left( {x, y} \right)]^2} + {[f(x - 1, y) - f\left( {x, y} \right)]^2} + \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;{[f(x + 1, y - 1) - f\left( {x, y} \right)]^2} + {(f(x - 1, y + 1) - f\left( {x, y} \right))^2}\\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;+{[f(x, y + 1) - f\left( {x, y} \right)]^2} + {[f(x + 1, y + 1) - f\left( {x, y} \right)]^2} \end{array} $$ (1) 将所有的像素灰度差方和累计相加得到一幅图像的梯度能量值为:
$${F_{{\rm{value}}}} = \sum\limits_{x = 1}^{719} {\sum\limits_{y = 1}^{575} {F\left( {x, y} \right)} } $$ (2) 对于清晰度高的画面,由于其图像细节比较多,因此梯度能量值Fvalue会是一个比较大的数值。对于模糊的画面,每个像素值都差别不大,Fvalue的值也很小。对于一幅单像素画面(所有像素值都一样)来说,Fvalue=0。
所以,Fvalue数值大小能够反映图像细节的程度,进而反映出一幅图像画面的清晰度。梯度能量算法能够评价出图像的清晰度,本文采用该算法评估红外画面的清晰度。
2.2 梯度能量算法在红外图像清晰度评判中的改进
2.1节中提及的梯度能量对于评价可见白光画面清晰度有很好的结果,但是由于红外画面是奇偶列数据拼接而成(1.2节提及到的第3步),因此左右相邻像素灰度值差别很大,直接采用传统的梯度能量评价算法实施的聚焦效果不佳。本文针对这种现象对算法做了一定的改进,使用3×5掩模而不是3×3掩模,这样能够避免不同视频源的画面像素带来的差异,将竖条纹带来的噪声降到最小。
同时鉴于热像仪自动聚焦对时间的要求,本文采用的梯度能量计算没有对整幅画面像素值进行计算,而是取了中间1/3区域的像素进行计算,这样计算量为整幅画面计算量的1/9。经过大量的实验验证,采取画面中心1/3区域计算完成的自动聚焦效果跟整幅画面计算的效果一致。
改进的掩模与中心区域选择示意见图 5。
2.3 改进算法在FPGA中的实现
FPGA的PL端使用FIFO和寄存器实现掩模窗口9个数据的缓存。在PL端的程序中需要完成①设计FIFO读写控制信号的时序;②缓存3×5掩模的数据;③计算单个像素点3×5掩模的方差和,输出该数据。
FPGA内部对FIFO读写控制示意图如图 6所示。当第一行数据到来时,将其写入FIFO1中;当第二行数据到来时,将FIFO1中保存的第一行数据读出,写入FIFO2中,同时将第二行数据写入到FIFO2中;当第三行数据到来时,同时读出FIFO1和FIFO2中的数据,此时,第三行数据与FIFO1、FIFO2中保存的第一行和第二行数据一同进入其后的寄存器组REG1~REG9。REG1~REG9的数据分别代表 3×3掩模内(x-2, y-1),(x, y-1),(x+2, y-1),(x-2, y),(x, y),(x+2, y),(x-2, y+1),(x, y+1),(x+2, y+1)9个点。
根据图 6中的REG1~REG9寄存器中的9个数据,FPGA计算REG5中像素点与其余8个寄存器所对应的像素点灰度值的方差(公式(1))。由于改进算法只对中间1/3区域进行计算,因此程序设置列计数器和行计数器对一帧画面的行列进行计数,当列计数器计数到241~480以及行计数器计数到193~384的范围内(此范围即对于720×576分辨率的画面,1/3中心区域像素点的范围)时,认为像素数据可以进行计算。对此范围内的所有像素点的方差值进行累加,最终得到32 bit的梯度能量值(公式(2))。
按照前面介绍的理论,该32bit数值越大表明图像越清晰,为后面实现调焦提供爬山依据。
3. 改进型爬山算法在FPGA中的实现
3.1 基于爬山算法的自动调焦
文献[7]中对爬山算法有比较详细的介绍。如图 7所示,爬山算法的基本原理是不断逼近最大梯度能量值的一个过程,从图 3自动聚焦流程图中可以看出,每一次调焦后图像都会发生变化,梯度能量也随之变化,在这个不断的变化过程中,找到最大的梯度能量值,即为图像最清晰的时刻。这个最清晰画面对应的镜头位置即为聚焦位置。
从图 7的示意中可以看出,聚焦过程共爬山8步。其中前3步一直处于“上山”过程,第4、5步处于“下山”过程,这时画面已经比之前第3步后变差,因此第6、7步又开始“回头爬山”。在第7步后已经过了山顶,因此改变步长,最终第8步爬到了“山顶”,完成聚焦工作。
实际工作中,爬山过程往往8次尝试之内可以完成,期间需要不断的调整步长来达到聚焦的目的。
3.2 爬山算法在红外镜头自动调焦中的改进与实现
图 7所示为白光画面下爬山的实现,相对来说是比较理想的一个过程。对于存在比较大噪声的红外图像来说,爬山过程中会出现多个“山顶”的情况,如图 8所示。
图 8中的A、B和D为“伪山顶”,是由红外图像中的噪声引起的。按照爬山的标准流程,从镜头初始位置开始爬山,很容易将A初误判为山顶,这时就无法达到聚焦的目的。为此本文对红外图像自动聚焦的爬山算法做了如下优化处理。
1)FPGA的PS端接收PL端传输的梯度能量值来判断是否爬山。为了减少噪声的影响,每接收3个值做一个平均值作为爬山的依据,即对一个固定画面计算三次梯度能量值取平均值,这样能够减少随机噪声对画面清晰度评判的影响。
2)对于是否“回头爬山”的判断机制,判定在当前的步长下,连续两次都为“下山”则开始回头。这种机制下,A和B这种比较小的山顶在第二次判定过程中会出现梯度能量值反弹现象,这样即判断为是伪山顶,但是这种情况在真山顶C处是不会出现的。
基于上述两条优化方案,本文基于FPGA的PS端实现自动聚焦的流程如图 9所示。
4. 功能实现与性能测试
4.1 聚焦效果
针对本文提出的自动聚焦技术,以及文献[2]和文献[4]提出的自动聚焦的方式分别作了复现和对比。如图 10所示。
图 10的4幅红外图片可以看出红外镜头的聚焦效果。对于本次聚焦过程来说,由于原始画面相对已经比较清楚了,因此更加考验聚焦算法对图片细节的读取和处理能力。对(b)(c)(d)(e)四幅画面客观地评价其清晰度,采用参考文献[8]中提出的“灰度方差值”来评价4幅图片的清晰度。对焦清晰的图像相比对焦模糊的图像,它的数据之间的灰度差异应该更大,即它的方差应该较大,可以通过图像灰度数据的方差来衡量图像的清晰度,方差越大,表示清晰度越好[8]。
将图片在MATLAB进行灰度方差值计算,得到结果如表 1所示。
表 1 四幅画面的灰度方差值Table 1. Gray variance of four picturesPicture Picture description Gray variance Fig. 10(b) Original infrared image 2564.8 Fig. 10(c) Picture focused of Document[2] 2682.6 Fig. 10(d) Picture focused of Document[4] 2735.7 Fig. 10(e) Picture focused of this article 2842.2 原始的红外画面(b)没有经过任何聚焦处理,画面虽然能够显示出对象的画面,但是肉眼观测还是有点模糊,其灰度方差值相对不大,表明细节不够多。
(c) 图片是采用白光图像聚焦方式处理的,没有考虑到红外图像的竖条纹噪声特性,因此聚焦效果一般,从其灰度方差值上也能看出来。
(d) 图片的显示效果较之(c)有一定的改善,但是达不到本文提出的算法(e)的效果。应该是在爬山过程中的优化算法不足够好。
(e) 图片为本文提出的算法实现的聚焦后的显示效果,可以明显看出其显示效果要优于(d)和(c)。
从表 1中4幅画面的灰度方差值大小也能看出画面的清晰度质量,其中本文提出的算法聚焦后的画面最为清晰。表明本文提出的算法在自动聚焦过程有很好的表现和效果。
图 11对比了整幅画面求梯度能量值和1/3区域求梯度能量值后得到的聚焦显示画面。其中图 11的(b)画面即图 10中的(e)。
图 11的两图对比来看,基本看不出差异来,两者的灰度均方值差值不到1,说明了本文提出的图像中心1/3去区域求梯度能量值的方式是可行的。这种优化和改进后的算法优势在于很大程度地节省了自动聚焦时间和FPGA资源消耗。
4.2 聚焦过程中的爬山曲线
本节分析3种算法在实现自动聚焦过程中的爬山曲线。由于整个爬山是基于电机转动实现的,所以通过电机转动的角度可以观测出整个爬山过程。下面对比了3个算法(文献[2]、文献[4]和本文)在自动聚焦过程中,电机转动的情况以及最终聚焦的情况。经过前期的测试,得出电机从初始位置到聚焦位置需要正向转动751°,即图 12的水平参考虚线。
从图 12中可以看出:
1)本文提出的爬山算法在前期设置的步长比较大,因此能够快速地爬到山顶。在第三次爬坡结束已经超过山顶,因此第四次爬坡的步长减少,来判断是否“伪山顶”;
2)3种算法在对“山顶”的判断上都比较准确,是因为图像本身比较干净,噪声小,因此本文算法提出的二次爬坡在这里没有起到作用;
3)本文提出的算法和文献[4]提出的算法在判断下坡趋势上要比文献[2]提出的算法响应快速,并且控制得好;
4)本文提出算法在第7次爬坡后基本达到了稳定状态(聚焦结束),在第3 s达到聚焦结束,另外两种在第8次爬坡后达到稳定状态,其中文献[2]的算法用时3.6 s,文献[4]的算法用时3.4 s;
5)3种算法由于设置步长和每次操作时间上有所差异,因此从图 12中可以看出前期爬坡过程时间上比较一致,后期没调整一次用时不一致;
6)从最终的聚焦效果来看,本文提出的算法优于文献[2]和文献[4]的聚焦效果,其中文献[2]的聚焦效果最差,这个与图 10所示的聚焦效果示意吻合。
4.3 自动聚焦时间测试
基于FPGA架构的红外镜头自动聚焦系统能够比较好地完成自动聚焦工作,单CPU工作方式在产品集成度上较其他架构也有很大的优势,同时本系统在实时性也有比较好的表现。从参考文献中来看,其他方案对自动聚焦的时间没有过多阐述,对于本文提出的设计而言,从开始成像到聚焦完成可以控制在5 s以内,主要的时间消耗分析如图 13所示。
共计时间为3.55 s,这个速度优于市面上大部分红外相机的自动聚焦时间。
4.4 FPGA资源消耗
本文对梯度能量值计算采用了整幅画面1/3区域做计算,主要是为了节省FPGA资源以及计算时间。从计算时间上,计算整幅画面的像素梯度能量和1/3区域计算相差42.84-4.76=38.08 ms。这个时间虽然对于整个聚焦过程所用的4.55 s来说很小,但是对于FPGA内部程序运行来说是一个比较长的时间。
对于FPGA内部资源消耗来说,两者相差也比较大,表 2罗列了两种方式对FPGA资源的消耗情况。
表 2 FPGA资源消耗对比Table 2. Comparison of FPGA resource consumptionWhole area calculation 1/3area calculation FPGA total resource LUT(num) 19405 9814 78600 LUTRAM(num) 6408 2061 26600 FF(num) 84852 13188 157200 Block RAM(num) 165 90 265 DSPs(num) 32 8 400 从表 2中可以看出,本文采用的自动聚焦方法使用FPGA内部资源不多,即使对整幅画面做,XC7Z030的资源也足够使用。但是对于FPGA来说,资源用的越少,程序可控性越强。
5. 总结
针对红外热像仪成像装置的镜头自动聚焦,本文提出一种基于FPGA的红外镜头自动聚焦技术,相比可见白光的自动聚焦技术和传统的红外聚焦技术,本文提出的技术有3大改进:①整机采用单FPGA处理器完成红外图像处理显示和镜头聚焦工作,大大地提升了产品的集成度;②针对红外图像的特点以及FPGA并行处理数据的优势,提出一种改进型的梯度能量算法,能够真实地评价红外图像的清晰度;③针对红外图像的特点,对爬山算法进行改进和优化,有效地滤掉伪山顶,实现爬山的目的。
本文对上述3个技术改进的地方进行了验证,结果也验证了本文提出的算法的优越性。目前本文提出的自动聚焦技术已经成熟地应用在热像仪产品中,功能和性能都处于业界领先的水平,有比较好的推广意义。
-
期刊类型引用(2)
1. 王兆龙,朱文山,牟金震,韩飞,敬忠良. 多航天器协同观测的空间目标状态估计研究进展. 中国科学:物理学 力学 天文学. 2025(02): 23-43 . 百度学术
2. 刘峰,张英杰,高裴裴,樊梦琦. 一种基准关联的空间尺寸远心视觉测量方法. 红外技术. 2024(01): 94-98 . 本站查看
其他类型引用(4)
计量
- 文章访问数: 144
- HTML全文浏览量: 15
- PDF下载量: 28
- 被引次数: 6