APP下载

基于FPGA的红外镜头自动聚焦技术研究与实现

2021-05-28孙少伟杨粤涛杨炳伟万安军钟海林

红外技术 2021年5期
关键词:清晰度爬山梯度

孙少伟,杨粤涛,杨炳伟,万安军,钟海林

基于FPGA的红外镜头自动聚焦技术研究与实现

孙少伟,杨粤涛,杨炳伟,万安军,钟海林

(苏州长风航空电子有限公司,江苏 苏州 215001)

自动聚焦技术在红外热像仪监控领域有着非常重要的作用。目前业内红外自动聚焦技术存在聚焦成功率低、架构复杂、聚焦速度慢等状况,为此提出了一种基于FPGA的红外镜头自动聚焦技术,采用单FPGA实现了红外图像处理显示和自动聚焦的功能。鉴于红外图像普遍存在竖条纹噪声和随机噪声等特点,本文在实现聚焦过程中对红外清晰度评价算法和爬山算法做了改进和优化。实验结果表明本文提出的算法和实现方式能够很好地实现红外镜头的自动聚焦,同时具备集成度高、聚焦速度快、成功率高等特点,有比较广泛的应用前景。

红外;自动聚焦;FPGA;清晰度评价;爬山算法

0 引言

红外热成像技术近些年在国防、战争、探测、监测等领域有着十分广泛的应用。对于应用在边海防的热像监控仪来说,使用过程中红外转台需要固定周期的旋转定位来达到巡视目的,每次转动到新的位置对应新的场景需要重新聚焦来得到清晰的画面显示,因此红外热像仪的自动聚焦功能能够大大方便操作者的观察和使用。

相比于可见白光成像技术,红外成像技术根据被观测物体本身的发热实现对被观测物的成像,由于其成像原理跟可见白光成像原理不一致,因此红外成像技术与白光成像技术在实现上有一定的差异。基于图像实现自动聚焦技术在白光画面处理中已经非常成熟了,文献[1]和文献[2]中,作者分别使用PC和FPGA完成了基于可见白光画面的镜头自动聚焦。

在实际应用中,由于红外探测成像仪的性能受到红外探测器、模数转换电路、结构散热、光学镜头等诸多因素影响,传统的白光图像自动聚焦技术在红外画面的自动聚焦上效果很差。因此要针对红外画面自身的特点(存在竖条纹现象、噪声过高等)提出一种自动聚焦技术。本文提出一种基于FPGA的红外镜头自动聚焦技术,相比于文献[3],针对红外画面竖条纹的特点改进了图像质量评判的算法,相比于文献[4],针对红外图像噪声大的特点优化了爬山算法来实现镜头控制,相比于文献[5],本文不依赖于上位机的参与,完全由FPGA本身实现图像采集、图像优化、图像清晰度评估、爬山算法实现、电机控制等工作,大大提高了热像仪整机的集成度。

1 热像仪组成与自动调焦原理

1.1 热像仪组成

本文提出的具备自动聚焦功能的热像仪实物如图1所示。主要组成部分包括红外镜头、红外探测器、图像处理电路、FPGA电路、DDR3、电机驱动电路以及调焦电机和调焦机构(机械齿轮)。

图1 自动聚焦红外热像仪实物图

1.2 热像仪工作原理与自动调焦工作原理

红外热像仪的主要架构如图2所示。

图2 红外热像仪主要架构

从图2中可以看出整个热像仪的组成架构,热像仪的工作流程如下。

1)光线通过红外镜头进入到红外探测器焦平面,红外镜头能够通过的光谱有效波长为8~12mm,可以将可见白光滤掉。

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,单片容量256MB,两片容量512MB,用于缓存视频画面数据。

图3 自动聚焦流程

2 红外图像质量评判在FPGA中的实现

2.1 清晰度评判算法

文献[6]中对清晰度评判算法做了全面具体地介绍,结合红外图像的特性以及FPGA实现难易程度。本文采用梯度能量算法来对图像清晰度进行评判。

如图4所示,对图像素3×3掩模区域内的像素灰度值做平方差和处理。

图4 利用3×3掩码计算梯度能量

对于图中像素点(,),定义其能量值为(,)为其周边8个相邻像素灰度值与其差的平方和。如公式(1)所示:

(,)=((-1,-1)-(,))2+[(,-1)-(,)]2+[(+1,-1)-(,)]2+[(-1,)-(,)]2+[(+1,-1)-(,)]2+((-1,+1)-(,))2+[(,+1)-(,)]2+[(+1,+1)-(,)]2(1)

将所有的像素灰度差方和累计相加得到一幅图像的梯度能量值为:

对于清晰度高的画面,由于其图像细节比较多,因此梯度能量值value会是一个比较大的数值。对于模糊的画面,每个像素值都差别不大,value的值也很小。对于一幅单像素画面(所有像素值都一样)来说,value=0。

所以,value数值大小能够反映图像细节的程度,进而反映出一幅图像画面的清晰度。梯度能量算法能够评价出图像的清晰度,本文采用该算法评估红外画面的清晰度。

2.2 梯度能量算法在红外图像清晰度评判中的改进

2.1节中提及的梯度能量对于评价可见白光画面清晰度有很好的结果,但是由于红外画面是奇偶列数据拼接而成(1.2节提及到的第3步),因此左右相邻像素灰度值差别很大,直接采用传统的梯度能量评价算法实施的聚焦效果不佳。本文针对这种现象对算法做了一定的改进,使用3×5掩模而不是3×3掩模,这样能够避免不同视频源的画面像素带来的差异,将竖条纹带来的噪声降到最小。

同时鉴于热像仪自动聚焦对时间的要求,本文采用的梯度能量计算没有对整幅画面像素值进行计算,而是取了中间1/3区域的像素进行计算,这样计算量为整幅画面计算量的1/9。经过大量的实验验证,采取画面中心1/3区域计算完成的自动聚焦效果跟整幅画面计算的效果一致。

改进的掩模与中心区域选择示意见图5。

图5 在1/3中心窗格内选用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掩模内(-2,-1),(,-1),(+2,-1),(-2,),(,),(+2,),(-2,+1),(,+1),(+2,+1)9个点。

图6 利用FIFO和寄存器缓存3×3掩模数据

根据图6中的REG1~REG9寄存器中的9个数据,FPGA计算REG5中像素点与其余8个寄存器所对应的像素点灰度值的方差(公式(1))。由于改进算法只对中间1/3区域进行计算,因此程序设置列计数器和行计数器对一帧画面的行列进行计数,当列计数器计数到241~480以及行计数器计数到193~384的范围内(此范围即对于720×576分辨率的画面,1/3中心区域像素点的范围)时,认为像素数据可以进行计算。对此范围内的所有像素点的方差值进行累加,最终得到32bit的梯度能量值(公式(2))。

按照前面介绍的理论,该32bit数值越大表明图像越清晰,为后面实现调焦提供爬山依据。

3 改进型爬山算法在FPGA中的实现

3.1 基于爬山算法的自动调焦

文献[7]中对爬山算法有比较详细的介绍。如图7所示,爬山算法的基本原理是不断逼近最大梯度能量值的一个过程,从图3自动聚焦流程图中可以看出,每一次调焦后图像都会发生变化,梯度能量也随之变化,在这个不断的变化过程中,找到最大的梯度能量值,即为图像最清晰的时刻。这个最清晰画面对应的镜头位置即为聚焦位置。

从图7的示意中可以看出,聚焦过程共爬山8步。其中前3步一直处于“上山”过程,第4、5步处于“下山”过程,这时画面已经比之前第3步后变差,因此第6、7步又开始“回头爬山”。在第7步后已经过了山顶,因此改变步长,最终第8步爬到了“山顶”,完成聚焦工作。

图7 爬山算法示意

实际工作中,爬山过程往往8次尝试之内可以完成,期间需要不断的调整步长来达到聚焦的目的。

3.2 爬山算法在红外镜头自动调焦中的改进与实现

图7所示为白光画面下爬山的实现,相对来说是比较理想的一个过程。对于存在比较大噪声的红外图像来说,爬山过程中会出现多个“山顶”的情况,如图8所示。

图8 红外图像聚焦的爬山示意

图8中的A、B和D为“伪山顶”,是由红外图像中的噪声引起的。按照爬山的标准流程,从镜头初始位置开始爬山,很容易将A初误判为山顶,这时就无法达到聚焦的目的。为此本文对红外图像自动聚焦的爬山算法做了如下优化处理。

1)FPGA的PS端接收PL端传输的梯度能量值来判断是否爬山。为了减少噪声的影响,每接收3个值做一个平均值作为爬山的依据,即对一个固定画面计算三次梯度能量值取平均值,这样能够减少随机噪声对画面清晰度评判的影响。

2)对于是否“回头爬山”的判断机制,判定在当前的步长下,连续两次都为“下山”则开始回头。这种机制下,A和B这种比较小的山顶在第二次判定过程中会出现梯度能量值反弹现象,这样即判断为是伪山顶,但是这种情况在真山顶C处是不会出现的。

基于上述两条优化方案,本文基于FPGA的PS端实现自动聚焦的流程如图9所示。

4 功能实现与性能测试

4.1 聚焦效果

针对本文提出的自动聚焦技术,以及文献[2]和文献[4]提出的自动聚焦的方式分别作了复现和对比。如图10所示。

图9 本文提出的改进爬山算法在FPGA PS端实现流程

图10 本文提出的自动聚焦后效果与其他方案效果对比

图10的4幅红外图片可以看出红外镜头的聚焦效果。对于本次聚焦过程来说,由于原始画面相对已经比较清楚了,因此更加考验聚焦算法对图片细节的读取和处理能力。对(b)(c)(d)(e)四幅画面客观地评价其清晰度,采用参考文献[8]中提出的“灰度方差值”来评价4幅图片的清晰度。对焦清晰的图像相比对焦模糊的图像,它的数据之间的灰度差异应该更大,即它的方差应该较大,可以通过图像灰度数据的方差来衡量图像的清晰度,方差越大,表示清晰度越好[8]。

将图片在MATLAB进行灰度方差值计算,得到结果如表1所示。

表1 四幅画面的灰度方差值

从图10的画面以及表1中可以看出:

原始的红外画面(b)没有经过任何聚焦处理,画面虽然能够显示出对象的画面,但是肉眼观测还是有点模糊,其灰度方差值相对不大,表明细节不够多。

(c)图片是采用白光图像聚焦方式处理的,没有考虑到红外图像的竖条纹噪声特性,因此聚焦效果一般,从其灰度方差值上也能看出来。

(d)图片的显示效果较之(c)有一定的改善,但是达不到本文提出的算法(e)的效果。应该是在爬山过程中的优化算法不足够好。

(e)图片为本文提出的算法实现的聚焦后的显示效果,可以明显看出其显示效果要优于(d)和(c)。

从表1中4幅画面的灰度方差值大小也能看出画面的清晰度质量,其中本文提出的算法聚焦后的画面最为清晰。表明本文提出的算法在自动聚焦过程有很好的表现和效果。

图11对比了整幅画面求梯度能量值和1/3区域求梯度能量值后得到的聚焦显示画面。其中图11的(b)画面即图10中的(e)。

图11 两种区域像素求梯度能量值的图像显示对比

图11的两图对比来看,基本看不出差异来,两者的灰度均方值差值不到1,说明了本文提出的图像中心1/3去区域求梯度能量值的方式是可行的。这种优化和改进后的算法优势在于很大程度地节省了自动聚焦时间和FPGA资源消耗。

4.2 聚焦过程中的爬山曲线

本节分析3种算法在实现自动聚焦过程中的爬山曲线。由于整个爬山是基于电机转动实现的,所以通过电机转动的角度可以观测出整个爬山过程。下面对比了3个算法(文献[2]、文献[4]和本文)在自动聚焦过程中,电机转动的情况以及最终聚焦的情况。经过前期的测试,得出电机从初始位置到聚焦位置需要正向转动751°,即图12的水平参考虚线。

从图12中可以看出:

1)本文提出的爬山算法在前期设置的步长比较大,因此能够快速地爬到山顶。在第三次爬坡结束已经超过山顶,因此第四次爬坡的步长减少,来判断是否“伪山顶”;

2)3种算法在对“山顶”的判断上都比较准确,是因为图像本身比较干净,噪声小,因此本文算法提出的二次爬坡在这里没有起到作用;

3)本文提出的算法和文献[4]提出的算法在判断下坡趋势上要比文献[2]提出的算法响应快速,并且控制得好;

4)本文提出算法在第7次爬坡后基本达到了稳定状态(聚焦结束),在第3s达到聚焦结束,另外两种在第8次爬坡后达到稳定状态,其中文献[2]的算法用时3.6s,文献[4]的算法用时3.4s;

5)3种算法由于设置步长和每次操作时间上有所差异,因此从图12中可以看出前期爬坡过程时间上比较一致,后期没调整一次用时不一致;

6)从最终的聚焦效果来看,本文提出的算法优于文献[2]和文献[4]的聚焦效果,其中文献[2]的聚焦效果最差,这个与图10所示的聚焦效果示意吻合。

4.3 自动聚焦时间测试

基于FPGA架构的红外镜头自动聚焦系统能够比较好地完成自动聚焦工作,单CPU工作方式在产品集成度上较其他架构也有很大的优势,同时本系统在实时性也有比较好的表现。从参考文献中来看,其他方案对自动聚焦的时间没有过多阐述,对于本文提出的设计而言,从开始成像到聚焦完成可以控制在5s以内,主要的时间消耗分析如图13所示。

共计时间为3.55s,这个速度优于市面上大部分红外相机的自动聚焦时间。

4.4 FPGA资源消耗

本文对梯度能量值计算采用了整幅画面1/3区域做计算,主要是为了节省FPGA资源以及计算时间。从计算时间上,计算整幅画面的像素梯度能量和1/3区域计算相差42.84-4.76=38.08ms。这个时间虽然对于整个聚焦过程所用的4.55s来说很小,但是对于FPGA内部程序运行来说是一个比较长的时间。

图13 自动聚焦用时分析

对于FPGA内部资源消耗来说,两者相差也比较大,表2罗列了两种方式对FPGA资源的消耗情况。

表2 FPGA资源消耗对比

从表2中可以看出,本文采用的自动聚焦方法使用FPGA内部资源不多,即使对整幅画面做,XC7Z030的资源也足够使用。但是对于FPGA来说,资源用的越少,程序可控性越强。

5 总结

针对红外热像仪成像装置的镜头自动聚焦,本文提出一种基于FPGA的红外镜头自动聚焦技术,相比可见白光的自动聚焦技术和传统的红外聚焦技术,本文提出的技术有3大改进:①整机采用单FPGA处理器完成红外图像处理显示和镜头聚焦工作,大大地提升了产品的集成度;②针对红外图像的特点以及FPGA并行处理数据的优势,提出一种改进型的梯度能量算法,能够真实地评价红外图像的清晰度;③针对红外图像的特点,对爬山算法进行改进和优化,有效地滤掉伪山顶,实现爬山的目的。

本文对上述3个技术改进的地方进行了验证,结果也验证了本文提出的算法的优越性。目前本文提出的自动聚焦技术已经成熟地应用在热像仪产品中,功能和性能都处于业界领先的水平,有比较好的推广意义。

[1] 赵志彬. 机载光电平台可见光摄像机自动调焦技术研究[D]. 长春: 中国科学院研究生院(长春光学精密机械与物理研究所), 2010.

ZHAO Zhibin. Research on Automatic Focusing Technology of Visible Light Camera for Airborne Photoelectric Platform[D]. Graduate School of Chinese Academy of Sciences (Changchun Institute of Optics, Precision Machinery and Physics), 2010.

[2] 倪文佳. 基于FPGA的可自动聚焦视频监控系统[D]. 武汉: 武汉理工大学, 2012.

NI Wenjia. Auto Focusing Video Monitoring System Based on FPGA[D]. Wuhan: Wuhan University of Technology, 2012.

[3] 李申燕. 基于红外图像能量值的自动聚焦算法[J]. 山西电子技术, 2014(4): 6-9.

LI Shenyan. Auto Focusing Algorithm Based on Infrared Image Energy Value[J]., 2014(4): 6-9.

[4] 张博, 张刚, 程永强. 具有自动聚焦功能的视频处理器的设计[J]. 液晶与显示, 2010, 25(3): 396-400.

ZHANG Bo, ZHANG Gang, CHENG Yongqiang. Design of Video Processor WithAuto Focus Function[J]., 2010, 25(3): 396-400.

[5] 万晓帆, 吕耀文, 章冬岩, 等. 在线自动聚焦红外热像仪系统设计[J].红外技术, 2018, 40(8): 743-748.

WAN Xiaofan, LYU Yaowen, ZHANG Dongyan. Design of an Auto-focusing Infrared Thermal Imager Online System[J]., 2018, 40(8): 743-748.

[6] 王健. 基于图像处理的自动调焦技术研究[D]. 成都: 中国科学院研究生院(光电技术研究所), 2013.

WANG Jian. Research on Automatic Focusing Technology Based on Image Processing[D]. Chengdu: Graduate School of Chinese Academy of Sciences(Institute of Optoelectronic Technology), 2013.

[7] 徐志丽. 基于FPGA的SEM自动聚焦系统研究[D]. 南京: 东南大学, 2016.

XU Zhili. Research on SEM auto focusing system based on FPGA[D]. Nanjing: Southeast University, 2016.

[8] 陈国金, 朱妙芬, 张克松. 图像调焦过程的清晰度评价函数研究[J]. 数据采集与处理, 2009, 24(2): 165-169.

CHEN Guojin, ZHU Miaofen, ZHANG Kesong. Study on sharpness evaluation function of image focusing processk[J]., 2009, 24(2): 165-169.

Research and Implementation of Infrared Lens Auto-focus Technology Based on Field Programmable Gate Array

SUN Shaowei,YANG Yuetao,YANG Bingwei,WAN Anjun,ZHONG Hailin

(AVIC Suzhou Changfeng Avionics Co., Ltd., Suzhou 215001, China)

Autofocus technology plays an important role in the field of infrared thermal imager monitoring. At present, there existsome problems withinfrared auto focusing technology, such as low success rate, complex architecture andlow focusing speed. Therefore, this studyproposes an auto focusing technology of infrared lens based on FPGA, which realizes the functions of infrared image processing, display, and auto focusing with a single FPGA. In view of the common characteristics of vertical stripe noise and random noise in infrared images, this studyimproves and optimizes the infrared definition evaluation algorithm and mountain climbing algorithm in the focusing process. The experimental results show that the algorithm and implementation method proposed in this studycan help infocusing on the infrared lens remarkably. Meanwhile, the proposed method has characteristics such ashigh integration, fast focusing speed, and high success rate, and thus haswide application prospects.

infrared, autofocus, FPGA, definition evaluation, mountain climbing algorithm

THB11

A

1001-8891(2021)05-0464-09

2020-11-07;

2021-03-24.

孙少伟(1982-),男,硕士,高级工程师,主要从事图像处理方面研究。E-mail: shaowei_sun171@sina.com.

猜你喜欢

清晰度爬山梯度
新入职护士工作价值观、未来工作自我清晰度与心理弹性研究
带非线性梯度项的p-Laplacian抛物方程的临界指标
鲜明细腻,拥有更好的清晰度 Ascendo Immersive Audio CCRM-12 MKII/CCRM-6P/SMS-15
我们一起去爬山
修身的效果,改善声像和定位的清晰度 意大利新一代架皇 BAS AS-S4/AS-B4避震脚钉
嘈杂语噪声下频段增益对汉语语言清晰度的影响
一个具梯度项的p-Laplace 方程弱解的存在性
爬山
爬山
基于AMR的梯度磁传感器在磁异常检测中的研究