首页> 中国专利> 基于FPGA的红外焦平面阵列条带状非均匀性校正系统和方法

基于FPGA的红外焦平面阵列条带状非均匀性校正系统和方法

摘要

本发明公开了一种基于FPGA的红外焦平面阵列条带状非均匀性校正系统和方法,属于红外成像技术领域。本发明以中值红外均衡算法(MIRE)为核心,针对算法以及FPGA的特性进行了优化,包括图像缓存模块、参数计算模块、非均匀性校正模块与数据输出模块。参数计算模块根据上位机指令得到加权系数,原始图像经过缓存后,按列方向顺序输入非均匀性校正模块得到每一列图像的直方图、累计直方图与逆直方图,然后通过对累计直方图和逆直方图进行索引将每一列原始图像分别规范化到相邻列的直方图上,最后将各个规范化后的像素值进行加权得到最终的校正结果并输出。本发明可有效校正红外焦平面阵列条带状非均匀性,且由于全部使用FPGA实现,速度快,可以实时完成校正。

著录项

  • 公开/公告号CN104776919A

    专利类型发明专利

  • 公开/公告日2015-07-15

    原文格式PDF

  • 申请/专利权人 华中科技大学;

    申请/专利号CN201510181531.X

  • 发明设计人 王岳环;张磊;宋琼;张天序;

    申请日2015-04-17

  • 分类号G01J5/00(20060101);G06T5/40(20060101);

  • 代理机构42201 华中科技大学专利中心;

  • 代理人廖盈春

  • 地址 430074 湖北省武汉市洪山区珞喻路1037号

  • 入库时间 2023-12-18 09:48:08

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-03-24

    未缴年费专利权终止 IPC(主分类):G01J 5/00 专利号:ZL201510181531X 申请日:20150417 授权公告日:20180126

    专利权的终止

  • 2018-01-26

    授权

    授权

  • 2015-08-12

    实质审查的生效 IPC(主分类):G01J5/00 申请日:20150417

    实质审查的生效

  • 2015-07-15

    公开

    公开

说明书

技术领域

本发明属于红外成像技术领域,更具体地,涉及一种基于FPGA实现的 利用中值红外均衡算法进行红外焦平面阵列条带状非均匀性校正系统和方 法。

背景技术

现今使用的红外成像系统多是基于红外焦平面阵列(IRFPA)器件,但 由于制造工艺水平与材料的问题,红外焦平面阵列器件存在信噪比低的问 题,这一方面是由于探测单元响应不一致所引起的固定图案噪声,另一方 面是由于读出电路的非均匀性与偏置电压噪声所引起的条带状非均匀性, 这种非均匀性严重影响了红外图像的质量,限制了红外焦平面阵列器件的 应用。

传统的非均匀性校正的方法虽然在去除红外图像非均匀性上有优异的 表现,但是条带状非均匀性既有结构性,又有随机性。现有的基于定标的 方法(例如:单点定标、两点定标)利用对黑体的观测进行图像校正,只 适用于参数时域固定的情况。而传统基于场景的方法(例如:恒定统计法、 神经网络法、时域高通滤波法、Kalman滤波法)一般需要对时域上连续的 若干帧进行运算,其收敛速度较慢,无法适应参数时域上的变化。因此需 要研究专门针对条带状非均匀性进行校正的算法。目前此类算法主要停留 在软件实现层面,处理时间长,无法满足图像实时性处理要求。已有的采 用硬件实现的实时红外焦平面条带状非均匀性校正系统采用的算法过于简 单,处理效果较差。因此需要设计一种处理效果好的实时性红外焦平面阵 列条带状非均匀性校正系统。

中值红外均衡(MIRE)算法由Y.Tendero等人在2010年提出,对条 带状非均匀性有较好的校正效果,并且没有迭代运算,复杂度较低。其基 本过程如下:第一,计算每一列图像Cj的直方图Ij;第二,计算每一列图 像的累计直方图Hj;第三,计算每一列图像累计直方图的逆直方图;第 四,计算其中值累计直方图使第五,将每一列的列直方图规范化到该列的中值直方图,得 到校正后的图像X~i,j=H~j-1(HJ(Xi,j)).

采用FPGA实现中值红外均衡算法时存在如下难点:原算法流程中五个 步骤相互之间必须要完全完成上一步的所有计算后才可以进行下一步计算, 无法形成一条连贯的流水线,不利于硬件的实现,并且需要相当大的存储 空间以缓存中间结果。

发明内容

针对现有技术的以上缺陷或改进需求,本发明提供一种基于FPGA的红 外焦平面阵列条带状非均匀性校正系统和方法,以中值红外均衡算法(MIRE) 为核心,针对算法以及FPGA的特性进行了优化,其目的在于用以填补现有 的针对条带状非均匀性进行校正的硬件系统和方法的空缺。

为实现上述目的,按照本发明的一个方面,提供一种基于FPGA的红外 焦平面阵列条带状非均匀性校正系统,包括图像缓存模块、参数计算模块、 非均匀性校正模块以及数据输出模块,其中:

所述图像缓存模块,用于缓存外部输入的红外图像,当缓存完一帧图 像之后将所述图像按列向所述非均匀性校正模块输出数据;

所述参数计算模块,用于接收并解析输入的外部指令得到校正参数, 并根据所述校正参数换算得到加权系数后传递给所述非均匀性校正模块;

所述非均匀性校正模块,包括:

输入控制与数据分发模块,用于控制所述图像缓存模块每次输出一列 图像到直方图统计模块,同时计数已经输出的列数,当计算某一列图像规 范化像素所需要的全部数据都已获得后,控制所述图像缓存模块输出二次 缓存后的该列图像数据到累计直方图处理模块;

所述直方图统计模块,用于对所述输入控制与数据分发模块输出的图 像列数据进行直方图统计,同时将上一列图像的直方图信息传递给所述累 计直方图处理模块;

所述累计直方图处理模块,用于根据每一列图像的直方图信息计算该 列图像的累计直方图并进行缓存,同时产生计算累计直方图的逆直方图所 需使用的标记值并传递给标记值转发模块,并且根据所述输入控制与数据 分发模块传递的图像数据索引对应列的索引值传递给索引值转发模块;

所述标记值转发模块,用于将所述标记值进行缓存并转发给逆直方图 计算模块组;

所述索引值转发模块,用于将所述索引值转发给所述逆直方图计算模 块组;

所述逆直方图计算模块组,包含多个逆直方图计算模块,用于通过所 述标记值完成逆直方图的计算并更新模块内部DPRAM,然后根据所述索引值 对所述模块内部DPRAM进行索引,并将对应数据转发给规范化计算模块;

并行控制模块,用于控制所述逆直方图计算模块组中的每个逆直方图 计算模块完成所述逆直方图的计算、更新和对应数据转发;以及

所述规范化计算模块,用于通过所述参数计算模块更新加权系数,并 将所述逆直方图计算模块组的输出结果与对应加权系数相乘,所乘结果相 加后得到图像校正结果,并将所述图像校正结果传递给所述数据输出模块; 以及

所述数据输出模块,用于缓存并输出校正后的图像。

按照本发明的另一方面,提供一种基于FPGA的红外焦平面阵列条带状 非均匀性校正方法,包括:

步骤1计算加权系数其中,表示标准差;k表示加权系数的序号,取值为1,2,…,2N+1,2N+1为计算 窗口大小;

步骤2缓存原始输入的红外图像;

步骤3对所述原始输入的红外图像边缘进行镜像拓展,调整输出列与 输出图像地址的映射关系,设所述原始输入的红外图像缓存空间起始地址 为0,图像列数为L,计算窗口大小为2x+1,则输出第n列图像时的首地址m 为:

m=x-n(nx)n-x-1(x<n(L+x))2×L+x-n((L+x)<n(L+2×x))

每输出当前列的下一个像素时,地址偏移一列像素的地址空间;

步骤4对当前列图像Cj进行直方图统计,得到直方图Ij

步骤5计算当前图像列Cj的累计直方图Hj

步骤6计算当前图像列Cj累计直方图的逆直方图;

步骤7当某一列图像校正计算窗口中所有列的逆直方图都已计算完毕 后,将二次缓存的该列图像像素Xi,j输入,在缓存的累计直方图对应列区域 中以此像素灰度值为地址查找累计直方图得到索引值Hj(Xi,j);

步骤8以所述索引值Hj(Xi,j)作为地址索引得到目标列图像像素Xi,j分 别规范化到对应列的直方图后的像素值

步骤9将每一列图像规范化到相邻列直方图后的像素值乘以对 应的加权系数ψσ(k),所乘结果相加后得到图像校正结果 X^i,j=Σk[-N,Nψσ(k)X~i,j(k);

步骤10重复所述步骤4至9,直到完成所述原始输入的红外图像全部 列的处理;

步骤11将校正后的图像数据缓存并输出。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有 以下有益效果:

1、与利用DSP进行运算实现红外焦平面阵列条带状非均匀性校正的方 法相比,本方法所有算法都由FPGA完成,不需要使用DSP辅助运算,系统 处理速度快,可以实现大幅面红外图像的实时校正,同时还有效地降低了 校正成本;

2、将原算法4、5步进行等效变换,使两个步骤可以形成一条完整的 流水线,大大简化了系统的结构,同时节省了存储中值直方图所需要的存 储空间;

3、利用标记值实现累计直方图及其逆直方图同时计算,节省了系统处 理时间;

4、利用片上存储资源配合乒乓操作以及对存储区域的合理规划实现了 列的尺度上的流水处理。即在一列图像的传输周期中,流水线上的各级模 块分别完成一列图像数据的处理并将处理得到的中间结果使用片内DPRAM 进行缓存,同时将上一个列周期中运算得到的中间结果输出给下一级模块 进行处理。充分利用了FPGA并行计算的优势,有利于系统运行速度的提升;

5、本发明FPGA资源占用量很小,可以使用低成本的FPGA器件实现, 算法处理模块还可以作为一个子模块与其他算法处理模块集成到一个FPGA 中,这只需要对图像缓存模块的入口逻辑与数据输出模块的出口逻辑进行 修改以适应其他模块的时序而不用对核心算法模块进行修改,十分方便, 增大了方法的实用性。

附图说明

图1为本发明基于FPGA的红外焦平面阵列条带状非均匀性校正系统的 结构图;

图2为本发明基于FPGA的红外焦平面阵列条带状非均匀性校正方法的 流程图;

图3为本发明规范化计算模块加权系数寄存器更新示意图;

图4为本发明原始红外图像、人工添加条带状非均匀性的红外图像与 本发明处理后的图像对比示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图 及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体 实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的 本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可 以相互组合。

图1所示为本发明基于FPGA的红外焦平面阵列条带状非均匀性校正系 统的结构图,包括图像缓存模块、参数计算模块、非均匀性校正模块与数 据输出模块。其中非均匀性校正模块是整个系统的主体,包括输入控制与 数据分发模块、直方图统计模块、累计直方图处理模块、标记值转发模块、 索引值转发模块、逆直方图计算模块组、并行控制模块与规范化计算模块。 其中:

图像缓存模块,利用外部图像缓存DPRAM(DUAL-PORT STATIC RAM)缓 存外部输入的红外图像,当缓存完一帧图像之后向非均匀性校正模块的输 入控制与数据分发模块发出数据准备好信号,同时响应输入控制与数据分 发模块发出的控制命令,按列的顺序输出图像。图像缓存模块将外部DPRAM 存储区域划分为两个部分,采用乒乓方式进行操作:在使用A区域缓存当 前帧图像的同时,将B区域中缓存的前一帧图像输出给输入控制与数据分 发模块。图像缓存模块在输出缓存图像的同时利用FPGA芯片内部的DPRAM (图1中未示出)对图像进行二次缓存,并在输入控制与数据分发模块的 控制下输出。

参数计算模块,采用UART实现与上位机的接口,接收外部指令输入并 解析上位机指令,得到校正参数。计算所需的加权系数事先在计算机上计 算完成并存入片上ROM中,参数计算模块根据校正参数换算得到对应地址 从ROM中得到对应的加权系数传递给规范化计算模块。

输入控制与数据分发模块,与图像缓存模块相连,当收到图像缓存模 块发出的数据准备好信号后产生非均匀性校正模块其余部分的逻辑复位信 号,然后控制图像缓存模块按列的顺序每次输出一列图像到直方图统计模 块,同时计数已经输出的列数。当计算某一列图像规范化像素所需要的全 部数据都已获得后,控制图像缓存模块输出二次缓存后的该列图像数据到 累计直方图处理模块。

直方图统计模块,与输入控制与数据分发模块相连,对输入控制与数 据分发模块输出的图像列数据进行直方图统计。直方图统计模块利用内部 DPRAM实时统计每一列图像的直方图,同时将上一列图像的直方图信息传递 给累计直方图处理模块。直方图统计模块将内部DPRAM存储区域划分为两 个部分,采用乒乓方式进行操作:在使用A区域统计当前图像列直方图的 同时,将B区域中缓存的前一列图像的直方图输出给累计直方图处理模块。

累计直方图处理模块,与直方图统计模块和输入控制与数据分发模块 相连,根据每一列图像的直方图信息计算该列图像的累计直方图并利用片 上DPRAM进行缓存,同时产生计算累计直方图的逆直方图所需使用的标记 信息传递给标记值转发模块,并且根据输入控制与数据分发模块传递的图 像数据索引对应列的DPRAM缓存区域读出对应的索引值传递给索引值转发 模块。

标记值转发模块,与累计直方图处理模块相连,将每一列图像累计直 方图的标记信息通过内部FIFO进行缓存并转发给逆直方图计算模块组中对 应需要更新的逆直方图计算模块。因为逆直方图计算模块更新速度较累计 直方图处理模块处理速度慢,因此标记值转发模块内部含有两个FIFO,保 证同时可以有两个逆直方图计算模块进行更新。

索引值转发模块,与累计直方图处理模块相连,将对应列图像得到的 索引值转发给逆直方图计算模块组。

逆直方图计算模块组,与标记值转发模块、索引值转发模块和并行控 制模块相连,其包含多个逆直方图计算模块,每一个逆直方图计算模块有 刷新与输出两种状态,由并行控制模块控制进行切换。处于刷新状态时, 通过标记值转发模块传递的标记值来完成逆直方图的计算并更新模块内部 DPRAM,具体做法为:先读出一个标记值将其中的灰度值填入存储器中其高 度值对应地址中,再将两个地址之间空白部分用该灰度值进行填充;处于 输出状态时,根据索引值转发模块转发的索引值对模块内部DPRAM进行索 引并将对应数据转发给规范化计算模块。在本发明实施例中,逆直方图计 算模块组中包含的模块个数由计算窗口大小决定,对应关系为:窗口大小 为2×N+1的情况下,需使用2×N+4个逆直方图计算模块并行进行处理。

并行控制模块,与逆直方图计算模块组相连,向逆直方图计算模块发 出刷新起始信号,控制逆直方图计算模块组中的各个单独的模块在需要刷 新时切换到刷新状态,并在刷新结束时切换到输出状态。

规范化计算模块,与逆直方图计算模块组及参数计算模块相连,通过 参数计算模块更新加权系数。每一个逆直方图计算模块输入接口处都有一 个乘法器,将该逆直方图计算模块的输出结果与对应加权系数相乘,所乘 结果相加后得到规范化后像素值即图像校正结果,并将结果传递给数据输 出模块。

数据输出模块,利用片外DPRAM缓存校正后的图像,提供面向DSP的 EMIF接口,可以将结果输出给DSP进行后续处理,并采用VGA接口实现外 部测试接口。

图2所示为本发明基于FPGA的红外焦平面阵列条带状非均匀性校正方 法的流程图,具体包括以下步骤:

步骤1计算加权系数ψσ(k)。

加权系数ψσ(k)计算公式如下:其中, 其中,σ表示标准差;k表示加权系数的序号,取值为 1,2,…,2N+1(假设计算窗口大小为2N+1)。为了节省系统占用的硬件资 源,硬件系统并不直接设定标准差σ计算加权系数,而是设定若干档,每 一档事先用软件计算好加权系数ψσ(k)然后存储在片上ROM中以供调用。在 本发明实施例中,分档方式如下:首先依照成像器的幅面与特性确定最大 计算窗口大小(2P+1)与最小计算窗口大小(2Q+1)(注意需要为奇数), 对于大小为(2N+1)(Q≤N≤P)的每一个窗口,定义不均匀性系数 取Λ分别为0.5、0.4、0.3、0.2与0.1时的 ψσ(k)(k∈[1,2N+1])作为加权系数,其中,所有加权系数均放大256倍(即 左移8位)。应当注意实际上每一档的加权系数一共有(2P+1)个,对于 N<P的情况,其第x项系数映射到第x+P-N项,空的项数系数为0。每一帧 图像开始处理时,首先检测上位机是否发送参数变更指令,如果没有,则 判断当前帧是否为第一帧,如果是第一帧,则采用默认的参数,如果不是 第一帧,则不更新参数;如果上位机发送了参数变更指令,则解析出新的 参数进行更新。然后将参数映射到系数ROM中对应的存储空间,读出对应 的加权系数ψσ(k)更新到规范化计算模块。

步骤2缓存原始输入的红外图像。

因为图像输入按行的顺序输入,而本发明后续处理要求按列的顺序输 出图像,因此需要对原始图像进行缓存,待一帧完整的图像缓存完毕时才 进行处理。

步骤3原始图像边缘镜像拓展。

后续处理过程存在当前列图像与相邻列图像之间的运算,而对于处于 边缘的像素则缺少相应的相邻列的数据进行处理,因此需要对原图像行方 向上的边界进行特殊处理,本发明通过对原始图像边缘进行镜像拓展解决 此问题。图像的镜像拓展通过调整输出列与输出图像地址的映射关系来实 现,设输入图像缓存空间起始地址为0,图像列数为L,计算窗口大小为2x+1, 则输出第n列图像时的首地址m为:

m=x-n(nx)n-x-1(x<n(L+x))2×L+x-n((L+x)<n(L+2×x))

每输出当前列的下一个像素时,地址偏移一列像素的地址空间。

步骤4计算当前图像列Cj的直方图Ij

以像素灰度值映射DPRAM地址来使用片内DPRAM对当前列图像Cj进行 直方图统计,得到直方图Ij。关于直方图统计具体细节,此为本领域技术 人员公知常识,在此不做详细介绍。

步骤5计算当前图像列Cj的累计直方图Hj

为了节省处理时间,本发明并行计算当前图像列的累计直方图Hj与累 计直方图的逆直方图因此需要在计算当前累计直方图的同时生成用于 计算逆直方图的信息,具体包括以下子步骤:

(5-1)读取直方图对应灰度值的高度值,初始状态时灰度值为0;

(5-2)对于每一个灰度值得到的高度值,将该高度值与累计高度值(初 始状态时为0)相加得到新的累计高度值,并将新的累计高度值写入DPRAM 中当前灰度级对应的地址来更新累计直方图;

(5-3)如果该高度值为0,则执行步骤(5-5),否则将新的累计高度 值与当前灰度值作为标记值下传至标记值转发模块中;

(5-4)如果当前高度值为1,则标记值的填充标志位填0,否则填1;

(5-5)如果达到最大灰度值,则结束,否则灰度值加1,然后执行步 骤(5-1)。

步骤6计算当前图像列Cj累计直方图的逆直方图具体包括以下 子步骤:

(6-1)当有新的标记数据时,从标记值转发FIFO中读出标记值数据, 将灰度值部分数据内容填入累计高度值对应的地址中;

(6-2)如果填充标志位为0,则执行步骤(6-3),否则将当前累计高 度值与前一次收到的累计高度值之间对应的地址区域全部填入当前灰度值;

(6-3)如果已到达最大高度值则结束,否则继续执行步骤(6-1)。

步骤7计算索引值Hj(Xi,j)。

当逆直方图统计模块计算完校正某一列图像需要的所有相邻列的逆直 方图之后,将二次缓存的该列图像像素Xi,j输入,在缓存的累计直方图对应 列区域中以此像素灰度值为地址查找累计直方图得到索引值Hj(Xi,j)。

步骤8计算待校正图像列像素Xi,j分别规范化到相邻列的直方图后的 值

各个处于输出状态的逆直方图统计模块以索引值Hj(Xi,j)作为地址索 引自身的逆直方图存储DPRAM,得到目标列图像像素Xi,j分别规范化到对应 列的直方图后的像素值

步骤9将规范化到相邻列直方图后的值加权平均得到最终的校 正结果

在窗口大小为2×N+1的情况下,一共有2×N+4个逆直方图统计模块的 数据输出接口接到规范化计算模块上,其中同一时刻只有2×N+1个接口上 的输入为有效输入。在规范化计算模块的每一个输入接口处都有一个乘法 器,将每一列的输出结果乘以对应的加权系数ψσ(k)。对应加权系数 存放于寄存器中,一共有2×N+4个寄存器,其中3个处于更新状态中的无 效输入接口对应的系数为零,这样保证了计算结果不会被无效数据干扰。 本发明以加权系数寄存器循环赋值更新实现计算窗口的滑动,图3所示为 本发明规范化计算模块加权系数寄存器更新示意图,图的上半部分所展示 的是计算第N+1列图像规范化像素值时的情形,计算窗口为图像的第1列 至第2N+1列,对应逆直方图计算模块中的1至2N+1号,其所乘的加权系 数寄存器中的值正好对应ψσ(1)到ψσ(2N+1)。图中下半部分所展示的是计算 第N+2列图像规范化像素值时的情形,计算窗口为图像的第2列至第2N+2 列,对应逆直方图计算模块中的2至2N+2号,此时加权系数寄存器进行循 环赋值,第1号的值赋给第2号,第2号赋给第3号,以此类推,第2N+4 号的值赋给第1号,这样对应逆直方图计算模块所乘的加权系数寄存器中 的值正好对应ψσ(1)到ψσ(2N+1)。因为加权系数放大了256倍,所以将所有 乘积相加后,需要将结果右移8位,得到最终的校正结果 X^i,j=Σk[-N,Nψσ(k)X~i,j(k).

步骤10重复步骤4至9,直到完成图像全部列的处理。

步骤11校正结果输出。将校正后的图像数据缓存起来,通过EMIF接 口输出给DSP以进行后续算法处理,同时通过VGA接口将校正后的图像显 示在显示器中,以供测试使用。此类逻辑为本领域技术人员公知常识,在 此不做详细介绍。

图4所示为本发明原始红外图像、人工添加条带状非均匀性的红外图 像与本发明处理后的图像对比示意图。图4(a)为没有条带状非均匀性的 原始红外图像;图4(b)为人工加入条带状非均匀性的的图像;图4(c) 为本发明得到的处理结果,可以看到条带状非均匀性得到了很好的校正并 且图像没有明显的失真,视觉效果得到了明显的改善。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等 同替换和改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号