一种基于FPGA的线阵红外盲元的工程化处理方法及系统与流程

文档序号:24121413发布日期:2021-03-02 11:41阅读:75来源:国知局
一种基于FPGA的线阵红外盲元的工程化处理方法及系统与流程
一种基于fpga的线阵红外盲元的工程化处理方法及系统
技术领域
[0001]
本发明属于图像处理技术领域,更具体地,涉及一种基于fpga的线阵红外盲元的工程化处理方法及系统。


背景技术:

[0002]
针对红外产品逐步实现国产化的现状,目前国产制冷红外线阵探测器应用不断推广,288*4、576*4、768*8系列的红外热像仪产品众多。
[0003]
红外焦平面探测器因材料缺陷和制作工艺等因素的影响,靶面像元的光电特性不一致,即造成探测器非均匀性问题。光电特性太差的像元会形成盲元,而盲元的存在会在生成的图像中形成较亮或较暗的坏线,对诸如红外小目标检测等会造成大概率的漏检和虚警。由于探测器需求日益广泛,国产化进程加快,探测器靶面分辨率越来越高,盲元的产生难以避免。因此,从软件算法入手,研究盲元的检测与补偿有着非常重要的意义。
[0004]
不同于制冷面阵探测器,制冷线阵探测器可通过serdat在探测器端进行盲元处理。根据探测器手册中的盲元分布,通过测试不同bypas通道下像元响应,剔除异常通道,使该盲元正常输出。但是,在探测器端通道均异常的盲元,以及在使用过程出现的盲元,目前缺乏有效的解决方式。


技术实现要素:

[0005]
针对现有技术的以上缺陷或改进需求,本发明提出了一种基于fpga的线阵红外盲元的工程化处理方法及系统,旨在处理探测器端通道均异常的盲元,以及在使用过程出现的盲元,通过后端图像处理进行盲元处理。
[0006]
为实现上述目的,按照本发明的一个方面,提供了一种基于fpga的线阵红外盲元的工程化处理方法,包括:
[0007]
(1)nios执行数据锁定命令,停止帧缓存乒乓操作,对ddr中存储的校正后的图像中心若干行数据进行采样滤波,得到归一化处理后的图像数据,并获取归一化处理后的图像数据的图像均值,根据图像均值确定均值下限和均值上限;
[0008]
(2)基于均值下限和均值上限,对由归一化处理后的图像数据构成的数组进行直方图统计;
[0009]
(3)根据直方图统计结果确定正常像元区间位置,并标记盲元位置,将盲元位置写入到ddr对应像元数据的目标位,nios发送解锁数据命令,使能帧缓存乒乓操作;
[0010]
(4)对于每帧数据,根据盲元位置完成盲元替代。
[0011]
在一些可选的实施方案中,所述归一化处理后的图像数据为:其中,m表示图像数据行数,n表示图像数据列数,j=0,1,2

n-1,y(j)表示第j列数据归一化后的结果,i(i,j)表示第i行第j列数据的像素值。
[0012]
在一些可选的实施方案中,由确定归一化处理后的图像数据的图像均值,由av_down=av_1-255确定均值下限,由av_up=av_1+256确定均值上限。
[0013]
在一些可选的实施方案中,步骤(2)包括:
[0014]
基于均值下限和均值上限,对由归一化处理后的图像数据构成的数组进行直方图统计得到直方图数组:hist(k),k=0,1,2

256-1,k表示灰度级其中,
[0015]
在一些可选的实施方案中,步骤(3)包括:
[0016]
(3.1)设定盲元阈值参数t1,计算正常像元输出均值正常像元输出均值下限av_min=hist(t1),正常像元输出均值上限av_max=hist(256-t1-1);
[0017]
(3.2)设定盲元阈值参数t2,采用(3.2)设定盲元阈值参数t2,采用标记盲元位置。
[0018]
在一些可选的实施方案中,步骤(4)包括:
[0019]
(4.1)对于盲元簇,采用盲元簇上一行或下一行进行替代;
[0020]
(4.2)对于孤立盲元,以盲元为中心,建立相邻像元矩阵,以像元矩阵中间位置作为盲元中心,计算图像边缘方向像素的均值进行盲元替代。
[0021]
在一些可选的实施方案中,步骤(4.2)包括:
[0022]
(4.2.1)通过移位寄存器ip核实时缓存三行数据,每个时钟下依次输出第一行三个数据x11、x12、x13,第二行三个数据x21、x22、x23,第三行三个数据x31、x32、x33;
[0023]
(4.2.2)根据已标记盲元行像素矩阵,计算三个方向梯度因子:det1=|x11-x33|,det2=|x21-x23|,det3=|x13-x31|,其中,det最小的方向即为图像边缘方向,用于盲元替代;
[0024]
(4.2.3)判断三行像元盲元标记位置,计算各方向图像均值,选择盲元替代。
[0025]
在一些可选的实施方案中,对于盲元x,盲元替代后输出y为:
[0026]
其中,其中,
[0027]
按照本发明的另一方面,提供了一种基于fpga的线阵红外盲元的工程化处理系统,包括:
[0028]
数据处理模块,用于通过nios执行数据锁定命令,停止帧缓存乒乓操作,对ddr中
存储的校正后的图像中心若干行数据进行采样滤波,得到归一化处理后的图像数据,并获取归一化处理后的图像数据的图像均值,根据图像均值确定均值下限和均值上限;
[0029]
直方图统计模块,用于基于均值下限和均值上限,对由归一化处理后的图像数据构成的数组进行直方图统计;
[0030]
盲元标记模块,用于根据直方图统计结果确定正常像元区间位置,并标记盲元位置,将盲元位置写入到ddr对应像元数据的目标位,nios发送解锁数据命令,使能帧缓存乒乓操作;
[0031]
盲元替代模块,用于对于每帧数据,根据盲元位置完成盲元替代。
[0032]
按照本发明的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述方法的步骤。
[0033]
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
[0034]
目前国产红外探测器盲元较多,影响红外成像质量、观瞄性能。在均匀场景下,对校正后数据按振镜扫描方向进行若干行数据缓冲,并进行加权平均处理,解决热像仪因电气噪声干扰引起的数据波动。针对得到响应值,建立直方图模型,计算图像均值。根据3σ原则,正态分布在(μ-3σ,μ+3σ)之外的响应值,如果其响应值超过均值一定范围,表示该像元响应异常,即认定为盲元。根据盲元标记信息,基于fpga设计了三种盲元自动替代方法,解决了相邻盲元簇替代问题,孤立盲元按梯度方向加权平均替代,经过盲元处理后,明显提高了红外成像效果。
附图说明
[0035]
图1是本发明实施例提供的一种基于fpga的线阵红外盲元的工程化处理方法的流程示意图;
[0036]
图2是本发明实施例提供的另一种基于fpga的线阵红外盲元的工程化处理方法的流程示意图;
[0037]
图3是本发明实施例提供的一种采样示意图;
[0038]
图4是本发明实施例提供的一种像素矩阵示意图。
具体实施方式
[0039]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0040]
由于像元具有非均匀性响应特性,在校正过程中处理盲元,过检率高,容易将一些响应较差的像元被处理成盲元。而这些响应差的像元通过校正,可以在不同温度环境下正常输出成像。因此,本发明提供的工程化方法在校正后对盲元进行检测和替代。
[0041]
在本发明实施例中使用国产长波红外288
×
4hgcdte焦平面探测器,14位输出,帧频50hz。红外热像仪制冷开机后,探测器经光学系统对均匀黑体进行非均匀性校正,输出校正后14位数据i(i,j)。fpga程序设计中,i(i,j)实际位宽16位,其中低14位用于存储数据,
高2位用于标记盲元信息。如图1所示是本发明实施例提供的一种基于fpga的线阵红外盲元的工程化处理方法的流程示意图,包括以下步骤:
[0042]
s1:nios执行数据锁定命令,停止帧缓存乒乓操作,对ddr中存储的校正后的图像中心若干行数据进行采样滤波,得到归一化处理后的图像数据,并获取归一化处理后的图像数据的图像均值,根据图像均值确定均值下限和均值上限;
[0043]
s2:基于均值下限和均值上限,对由归一化处理后的图像数据构成的数组进行直方图统计;
[0044]
s3:根据直方图统计结果确定正常像元区间位置,并标记盲元位置,将盲元位置写入到ddr对应像元数据的目标位,nios发送解锁数据命令,使能帧缓存乒乓操作;
[0045]
s4:对于每帧数据,根据盲元位置完成盲元替代。
[0046]
本发明的基于fpga的线阵红外盲元的工程化处理方法包括线阵盲元检测和基于fpga的线阵盲元替代。
[0047]
如图2所示,本发明公开的线阵盲元检测方法,利用校正后正常像元输出成高斯正态分布的特性检测盲元,包括如下步骤:
[0048]
(1)nios执行数据锁定命令,停止帧缓存乒乓操作,当前帧16位校正数据i(i,j)锁存在ddr中。nios访问ddr中的i(i,j)低14位数据,图像分辨率为288*768(列*行),对图像中心32行数据进行采样,如图3所示,图像分辨率为288列*768行,中心为第384行,中心32行数据的首行位置为第(384-15)行,中心32行数据的末行位置为第(384+16)行。采样位宽为14位,并做归一化处理,以消除图像噪声干扰,得到滤波后数据:
[0049]
其中,j=0,1,2

288-1
[0050]
(2)计算图像均值,设定均值下限av_down=av_1-255,均值上限av_up=av_1+256;
[0051]
(3)对由y(j)构成的数组y进行直方图统计,为节约内存,减小资源占用,校正后14位数据压缩至8位处理,直方图数据范围由16384压缩为256灰度级,直方图数组为hist(k),k=0,1,2

256-1,对于灰度级k,如公式所示:
[0052][0053]
该方法只需要256级灰度即可完成直方图统计,每个灰度用两个字节表示。相比14位数据对应的16384级灰度,大大节省了fpga内部逻辑资源。
[0054]
(4)由于图像数据经过非均匀性校正,正常像元输出呈高斯分布,盲元输出异常,盲元分布位于高斯直方图两侧。设定盲元阈值参数t1,计算正常像元输出均值正常像元输出均值下限av_min=hist(t1),正常像元输出均值上限av_max=hist(256-t1-1);
[0055]
(5)设定盲元阈值参数t2,用于判断盲元与正常像元输出均值差,数组bp用于标记盲元位置,如公式所示:
[0056][0057]
(6)盲元检测完成后,将盲元信息bp写入到ddr对应像元数据的最高位,nios发送解锁数据命令,使能帧缓存乒乓操作。
[0058]
其中,上述盲元检测方法实时性要求不高,一般计算时间控制在1s之内完成,nios软件可实现完成。
[0059]
进一步地,本发明公开的基于fpga的线阵盲元替代方法,要求每帧数据实时完成盲元代替,对于50hz探测器输出,要求20ms内完成所有功能。
[0060]
本发明提供三种实时盲元替代方法。对于盲元簇,采用盲元簇上一行或下一行进行替代。上述两种方法对孤立盲元同样有效,但如果对目标边缘成像,效果较差,容易出现马赛克现象。第三种方法对于孤立盲元,以盲元为中心,建立3
×
3相邻像元矩阵。以x22作为盲元中心,由于线阵探测器扫描成像原理,x12、x22、x32为同一探测器盲元在不同扫描位置成像,即垂直方向不能用于盲元替代。因此,图像边缘只有另外三个方向的正常像元可用,计算图像边缘方向两像素的均值进行盲元替代,有效解决盲元在边缘的马赛克现象。具体步骤如下:
[0061]
(a)通过移位寄存器ip核(shift register)实时缓存三行数据,每个时钟下依次输出第一行三个数据x11、x12、x13,第二行三个数据x21、x22、x23,第三行三个数据x31、x32、x33;
[0062]
其中,利用fpga流水线技术,3*3图像矩阵即可遍历每帧图像数据,延迟时间约为3个行周期之和。
[0063]
(b)根据已标记盲元行3*3像素矩阵,计算三个方向梯度因子,如图4所示,det1=|x11-x33|,det2=|x21-x23|,det3=|x13-x31|,其中det最小的方向即为图像边缘方向,用于盲元替代;
[0064]
(c)判断三行像元最高位盲元标记信息bp,自动选择三种盲元替代方法,对于盲元x,盲元替代后输出y,公式如下:
[0065][0066][0067]
本发明设计的盲元检测和替代方法,实现了自动化盲元处理,占用fpga内部资源少,有效解决了国产线阵探测器盲元多的问题。
[0068]
本申请还提供了一种基于fpga的线阵红外盲元的工程化处理系统,包括:
[0069]
数据处理模块,用于通过nios执行数据锁定命令,停止帧缓存乒乓操作,对ddr中存储的校正后的图像中心若干行数据进行采样滤波,得到归一化处理后的图像数据,并获取归一化处理后的图像数据的图像均值,根据图像均值确定均值下限和均值上限;
[0070]
直方图统计模块,用于基于均值下限和均值上限,对由归一化处理后的图像数据
构成的数组进行直方图统计;
[0071]
盲元标记模块,用于根据直方图统计结果确定正常像元区间位置,并标记盲元位置,将盲元位置写入到ddr对应像元数据的目标位,nios发送解锁数据命令,使能帧缓存乒乓操作;
[0072]
盲元替代模块,用于对于每帧数据,根据盲元位置完成盲元替代。
[0073]
其中,各模块的具体实施方式可以参考上述线阵红外盲元的工程化处理方法实施例的描述,本发明实施例将不再复述。
[0074]
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现方法实施例中的基于fpga的线阵红外盲元的工程化处理方法。
[0075]
需要指出,根据实施的需要,可将本申请中描述的各个步骤/部件拆分为更多步骤/部件,也可将两个或多个步骤/部件或者步骤/部件的部分操作组合成新的步骤/部件,以实现本发明的目的。
[0076]
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1