一种基于SOPC的小型化红外成像方法与流程

文档序号:14393876阅读:316来源:国知局

本发明属于机载红外探测信号处理领域,涉及一种基于sopc的小型化红外成像方法。



背景技术:

随着红外成像领域不断发展,红外图像分辨率也在不断提高,要处理的信息量也在大幅增加。红外探测系统是一个对实时性要求较高的系统,高性能红外成像技术有助于提高机载红外探测设备整体目标探测、识别和跟踪能力。目前采用的dsp+fpga的图形硬件加速架构随着分辨率不断增加,产品体积、成本的急剧增加,功耗也在不断上升。为机载红外探测设备配置更合理的硬件设计和软件架构变得尤为迫切。zynq7000系列芯片将处理器的软件可编程能力与fpga的硬件可编程能力实现完美结合,以低功耗和低成本等系统优势实现良好的系统性能、灵活性和可扩展性。

zynq7000片上系统内部主要分为两部分:处理器系统(processingsystem,ps)和可编程逻辑(programblelogic,pl)。zynq7000片上系统具有基于arm的高速运算性能与基于fpga灵活数据处理能力,同时系统内部具有丰富的外设资源且配置灵活,有利于降低目标应用系统的整体体积以及功耗。对于芯片内部的这两个部分是可以分开开发,处理器系统拥有绝大多数的单核处理器该有的部分:中央处理单元(cpu)、指令高速缓存、mmu、协处理器neon和外设接口模块。将两个部分连接在一起的是axi总线协议,它是由arm公司提出的,是一种高性能、低延迟、高带宽的片内总线。



技术实现要素:

要解决的技术问题

为了避免现有技术的不足之处,本发明提出一种基于sopc的小型化红外成像方法,在zynq7000基础上完成红外成像小型化、低功耗、通用化实时高速红外成像。

技术方案

一种基于sopc的小型化红外成像方法,其特征在于步骤如下:

步骤1:接收红外探测器输出温差信息,先进行自适应滤波坏元填充,然后进行非均匀校正

所述自适应滤波坏元填充:

1)初始化窗口宽度ω=3,ωmax=5;

2)使窗口在图像上滑动,当窗口中心运动到某一像素点,坐标为(i,j)处的像素灰度值为yi,j,计算此时窗口中像素灰度的最大值maxi,j,最小值mini,j和中间值mediani,j;

3)如果maxi,j>mediani,j>mini,j则跳到第5)步,否则ω=ω+2;

4)如果ω<=ωmax,则转到2),否则将坐标为(i,j)的像素点标记为盲元。像素灰度为yi,j=(maxi,j+mini,j)/2;

5)满足:maxi,j>yi,j>mini,j,则yi,j不是坏元,输出yi,j,否则输出mediani,j;

坏元检测和填充过程中信号点和噪声点是根据maxi,j,mini,j来判断的,如果maxi,j>mediain,j>mini,j,将mediani,j视为信号,否则为噪声;如果maxi,j>yi,j>mini,j,yi,j视为信号,否则为噪声;当yi,j与mediani,j都是信号时,优先输出当前值yi,j;当mediani,j为噪声时,输出当前值yi,j=(maxi,j+mini,j)/2;当前值yi,j为噪声时,输出中值mediani,j;

所述非均匀校正:yi,j(φ)=gi,j·xi,j(φ)+oi,j;式中,gi,j和oi,j分别为校正增益参数和校正偏移量参数,yi,j则为校正后的输出图像数据;

步骤2:通过vdma单元完成数字视频高速输出:在程序存储器ddr3中程序存储区之外开辟显存空间,通过vdma单元进行多缓冲存储实现高速视频数据输出。ddr通过axi_hp通道将axi-stream类型的数据流依次写入ddr3三个缓冲区buffer0、buffer1和buffer3中,同时依次从ddr3buffer3、buffer1、buffer2中以axi-stream类型的格式读取,然后经过fifo处理后以camerlink接口时序标准输出。

利用zynq7000片上系统arm硬核高速运算性和逻辑硬件高效并行处理能力,软硬协同完成对原始红外图像非均匀校正:在arm硬核中完成匀校正系数的计算并存储在flash中,利用zynq7000系列fpga,fpga内部开辟存储空间存储校正系数,arm实时读取内部ram系数完成非均匀校正。

有益效果

本发明提出的一种基于sopc的小型化红外成像方法,接收红外探测器输出温差信息,在fpga中完成坏元填充和非均匀校正后,通过在内部sram中进行乒乓缓存操作完成图像放大、镜像变换,黑热/白热切换等功能。接着实现灰度映射功能后通过vdma(videodirectmemoryaccess)单元完成数字视频高速输出。本发明通过带arm硬核fpga的应用,省去了以往帧存和显存外部存储器设计,集成度高,实现小型化、低功耗高速实时红外成像。

附图说明

图1:vdma显示单元示意图;

图2:5×5滤波模板生成示意图;

图3:红外成像流程图。

具体实施方式

现结合实施例、附图对本发明作进一步描述:

本发明提出利用zynq7000系列fpga软硬结合优势,在arm硬核中完成匀校正系数的计算并存储在flash中。利用zynq7000系列fpga资源丰富的优势,fpga内部开辟存储空间存储校正系数,arm实时读取内部ram系数完成非均匀校正。接收红外图像数据后,在fpga中以双缓冲的方式即采用乒乓操作方式通过控制写地址和控制信号完成图像放大、镜像变换,黑热/白热切换等功能。

两点校正是以黑体作为辐射源,红外探测器各探测元分别对高温和低温两种状态下的黑体进行响应,并利用各探测元两次的响应值进行校正参数的计算。充分利用zynq7000片上系统arm硬核高速运算性能完成对原始红外图像非均匀校正

本发明提出自适应滤波坏元检测和填充。具体步骤如下:

坏元使用椒盐噪声模型进行建模,在具有灵活处理能力的fpga中进行自适应滤波盲点检测和填充,具体步骤如下:

1)初始化窗口宽度ω=3,ωmax=5。

2)使窗口在图像上滑动,当窗口中心运动到某一像素点,坐标为(i,j)处的像素灰度值为yi,j,计算此时窗口中像素灰度的最大值maxi,j,最小值mini,j和中间值mediani,j。

3)如果maxi,j>mediani,j>mini,j则跳到第5)步,否则ω=ω+2。

4)如果ω<=ωmax,则转到2),否则将坐标为(i,j)的像素点标记为盲元。像素灰度为yi,j=(maxi,j+mini,j)/2

5)满足:maxi,j>yi,j>mini,j,则yi,j不是坏元,输出yi,j,否则输出mediani,j。

坏元检测和填充过程中信号点和噪声点是根据maxi,j,mini,j来判断的,如果maxi,j>mediani,j>mini,j,将mediani,j视为信号,否则为噪声;如果maxi,j>yi,j>mini,j,yi,j视为信号,否则为噪声;当yi,j与mediani,j都是信号时,优先输出当前值yi,j;当mediani,j为噪声时,输出当前值yi,j=(maxi,j+mini,j)/2;当前值yi,j为噪声时,输出中值mediani,j;

两点校正是以黑体作为辐射源,红外探测器各探测元分别对高温和低温两种状态下的黑体进行响应,并利用各探测元两次的响应值进行校正参数的计算。充分利用zynq7000片上系统arm硬核高速运算性能完成对原始红外图像非均匀校正

yi,j(φ)=gi,j·xi,j(φ)+oi,j

式中,gi,j和oi,j分别为校正增益参数和校正偏移量参数,yi,j则为校正后的输出图像数据。

本发明提出在程序存储器ddr3中程序存储区之外开辟显存空间,通过vdma单元进行多缓冲存储实现高速视频数据输出。图1为vdma显示单元示意图,ddr3通过axi_hp总线与arm硬核相连,arm硬核通过axi_gp总线与axi总线相连,vdma单元通过axi总线与arm硬核通信。视频数据通过vdma单元以axi-stream类型的数据流依次写入ddr3三个缓冲区buffer0、buffer1和buffer3中,同时依次从ddr3buffer3、buffer1、buffer2中以axi-stream类型的格式读取,然后经过fifo处理后以camerlink接口时序标准输出。

具体实施方式:

fpga中5×5窗口模板由25组寄存器和4个fifo组成,fifo的深度为635,宽度为14bit。第一行图像数据存储在fifo1中进行行延迟,第二行图像数据存储在fifo2中进行行延迟,以此类推,第四行图像数据存储在fifo4中。在接下来的五个时钟内,数据依次输入到寄存器d1~d25中,此时4个fifo和25个寄存器分别串连起来,由于图像数据是以数据流的形式依次进入的,这样,就可以很容易地依次进行滤波。具体形式如图1所示:

模板生成后,每个时钟都会有一个14bit图像数据依次输入到各寄存器和fifo中并从d25寄存器输出。3×3窗口模板可从寄存器d7、d8、d9、d12、d13、d14、d17、d18、d19九个寄存器中获得。自适应中值滤波盲点检测和填充,具体步骤如下:

1)初始化窗口宽度ω=3,ωmax=7。

2)使窗口在图像上滑动,当窗口中心运动到某一像素点,坐标为(i,j)处的像素灰度值为yi,j,计算此时窗口中像素灰度的最大值maxi,j,最小值mini,j和中间值mediani,j。

3)如果maxi,j>mediani,j>mini,j则跳到第5)步,否则ω=ω+2。

4)如果ω<=ωmax,则转到2),否则将坐标为(i,j)的像素点标记为盲元。像素灰度为yi,j=(maxi,j+mini,j)/2

5)满足:maxi,j>yi,j>mini,j,则yi,j不是盲点,输出yi,j,否则输出mediani,j。

利用逻辑的高效并行处理能力,非均匀校正部分采用硬件实现,通过采用复用技术有效地降低了硬件成本。校正系数计算部分由软件实现,利用软件的灵活性提供对多种参数计算方法的支持。

红外探测器各探测元分别对高温和低温两种状态下的黑体进行响应,并利用各探测元两次的响应值进行校正参数的计算,所得参数存储在非易失存储器flahs中。在标定阶段,硬核arm将根据一帧红外图像数据计算出每个像素的16位校正增益参数和16位校正偏移量参数,并存储在片外flash中;

校正阶段,系统上电后arm硬核读取flash系数参数存储在fpga内部sram中。fpga读取sram内部系数来完成红外图像的非均匀校正。

yi,j(φ)=gi,j·xi,j(φ)+oi,j

式中,gi,j和oi,j分别为校正增益参数和校正偏移量参数,yi,j则为校正后的输出图像数据。

如图3红外成像流程图所示,红外图像经过非均匀校正后,第一帧图像写入srm1中,第二帧图像写入sram2中,与此同时,通过控制写地址和控制信号从sram1中读取红外数据完成图像放大、镜像变换,黑热/白热切换等功能。接下来第三帧画面写入sram1中,与此同时读出sram1中红外图像数据,如此不断切换双缓冲区srm的读写来完成高速数据传输。

本发明所设计的vdma显示单元包含用于处理红外图像的arm控制单元,内存ddr3,内存读写ipvdma,视频驱动单元。如图1vdma显示单元示意图所示,arm硬核通过axi_hp总线与ddr3程序存储器通信。ddr3程序存储器开辟一块存储空间作为显存进行多缓冲存储实现高速视频数据输出。arm硬核通过axi_hp通道将axi-stream类型的数据流依次写入ddr3三个缓冲区buffer0、buffer1和buffer3中,同时依次从ddr3buffer3、buffer1、buffer2中以axi-stream类型的格式读取,每个缓冲器大小空间为16kb。

通过axis2fifo模块将axi-stream类型的格式数据存储在fifo缓存空间内。视频驱动单元通过控制fifo控制信号读取红外图像数据,最终以canmerlink标准时序格式输出。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1