基于VPX的多DSP+FPGA红外图像处理系统设计与实现

2017-09-28 07:56祝树生李晶吕殿君陈冉仇公望
电子测试 2017年8期
关键词:图像匹配运算量子图

祝树生,李晶,吕殿君,陈冉,仇公望

(1.中国运载火箭技术研究院研究发展中心,北京,100076;2.西安北方光电股份有限公司,陕西西安,710043)

基于VPX的多DSP+FPGA红外图像处理系统设计与实现

祝树生1,李晶1,吕殿君1,陈冉2,仇公望1

(1.中国运载火箭技术研究院研究发展中心,北京,100076;2.西安北方光电股份有限公司,陕西西安,710043)

针对大面阵红外图像快速处理要求及模块化设计原则,本文采用了4片TI公司的DSP和1片Virtex7 FPGA设计了一个多DSP的红外图像实时处理系统,试验表明该系统适用于复杂图像处理算法的计算和实时图像中跟踪目标的实时处理。

VPX;多DSP;红外图像处理系统

0 引言

随着精确制导导弹对红外末制导系统性能要求的不断提高,红外导引头的成像焦平面由早期的256×256逐步升级为640×512和512×512,并且图像的处理周期也越来越高。

针对大面阵红外焦平面图像的高速处理要求,采用“规范化、标准化、通用化”的设计原则,选用目前最流行的VPX总线,设计了基于VPX总线的多DSP+FPGA架构的通用红外图像处理系统,不但能满足导引头红外图像处理实时性、大数据量要求,还可建立基于VPX标准的通用高速图像处理平台。

1 系统设计

1.1 硬件设计

图像处理系统采用基于VITA46标准的VPX模块架构,以四片Ti公司C667x系列DSP和一片Xilinx公司7系列FPGA为核心节点。DSP处理器选用TI公司的TMS320C6678,该处理器有八个内核,最高主频1.25GHz,DSP外接DDR3 SDRAM,位宽64bit,时钟666.7MHz,容量2GB。两片DSP通过Hyper Link接口互联,每个DSP均设计一个千兆以太网接口。FPGA为Xilinx公司的XC7K325T,实现一个FMC接口,一个DDR3接口,一个SRIO 4×接口,一个PCIe 4×接口,两个GTX 4×接口。板上通过IDT公司的SRIO交换片CPS-1848将四片6678和一片XC7K325T的SRIO互联,并扩展六个SRIO 4×接口到VPX的P1连接器上。

处理系统的实现采用符合OpenVPX 6U平台的标准板卡,满足高带宽高处理性能的需求。板卡原理框图如图 1所示。

1.2 目标识别

目标识别算法的输入为红外探测器实时成像的视频数据和已装订的目标图像信息。图像匹配过程中,将目标图像信息作为模板图像,将实时成像的图像作为搜索图像。目标识别算法的输出是在当前搜索图像中,与模板图像匹配度最高的子图左上角所在的像素位置。

对于实时图为640×512,采用基于归一化互相关系数的方法实现目标求解。根据对探测目标的预测,选择行数和列数覆盖待识别目标的矩形区域作为模板图像,矩形区域的分辨率可变,如图 2所示。

图 2 互相关图像匹配的搜索图及放大后的模板图示意

设待识别的模板图像大小为m×n,在640×512的搜索图像中进行逐行逐列搜索匹配时,搜索图像依次形成(640-m+1)×(512-n+1)个子图,每个子图尺寸为m×n。则第k个子图X与模板图Y的相关系数为:

式中,xij为搜索图的子图X中第i行、第j列像元的灰度值;yij为模板图Y中第i行、第j列像元的灰度值。相关系数极大值对应子图在搜索图上的位置即为最佳匹配位置。

图 1图像处理板卡框图

由公式可知,计算相关系数的运算量相当巨大,乘加运算次数与3×(640-m+1)×(512-n+1)×m×n成正比,开方次数运算与2×(640-m+1)×(512-n+1)成正比。由于本方案采用DSP作为运算平台,开方运算较复杂,需要消耗大量的时钟周期。根据C6678的运算能力,达不到对100Hz图像实时处理的需求,因此还需要对算法加以优化和改进来减少运算量及复杂度。

为实现快速图像计算,本方案采用以下措施来优化算法,以实现图像相关匹配和目标识别。

(1)相关系数计算公式变换

将计算得到的rk值转化为计算的值:

(2)图像预处理

为搜索图子图像素灰度平方和,每个子图都需重新计算,可采用事先计算基准图像灰度平方和积分图像来减少运算量。设H为搜索图X对应的积分图像,有:

H( i , j)即为搜索图中每个像素点左上方全部区域内像素灰度值平方求和结果。对于每个子图来说,计算程可以被 计 算 H ( i , j) − H ( i − m , j ) − H ( i , j − n ) + H ( i − m , j − n )来 代 替,(640-m+1)×(512-n+1)×m×n次运算被4×m×n次计算代替。

可见,经过事先预处理优化后,相关匹配的主要运算算量可大大减少。

(3)搜索策略优化

相关匹配的基本搜索策略是遍历性搜索,即在搜索区域内逐行逐列每个像素位置上计算相关系数值。因此,使用改进搜索策略的方法,实现非遍历性搜索,将大大减少相关匹配的运算量。

根据TMS320C6678DSP的特点,使用分层搜索,实现有效的非遍历性搜索策略。该设计采用金字塔分解、逐级匹配的策略,通过2×2邻域平均方法降分辨率生成下层分解图像,如此逐层递推,从而构成多级金字塔图像。

假设已分解获得k级金字塔图像,搜索匹配时,首先在k层(分辨率最低)图像中的所有位置上计算互相关系数,得到k层图像的匹配位置。然后将k层图像的匹配位置映射到k-1层图像作为k-1层图像的粗匹配位置。再在k-1层图像的粗匹配位置和附近几个位置(通常以粗匹配位置为中心的一个n×n区域)计算互相关系数,得到k-1层图像的匹配位置。以此类推,一直到在0层图像中找到匹配位置为止。显然,只有k层图像中的搜索匹配是在所有位置上遍历进行的,而其它层的搜索匹配位置都相当少。同时,由于降分辨率的关系,k层图像的大小只有原始图像的1/4k,相应的运算量则只有原始的1/16k。本方案采用3级金字塔图像进行初始粗匹配,每次精匹配在上一级粗匹配位置为中心的16×16区域计算相关系数。可实现运算量变为未改变搜索策略前的1/4096。

使用上述经过优化的算法,利用数帧实际成像结果,在上位机Matlab中进行算法仿真,在每帧图像中求出与模板图像相关匹配程度最高的子图,以此子图的左上角坐标为基准,以模板图像大小在搜索图(大图)中使用矩形边框标记目标匹配的位置如图像分割和任务分配,DSP1的Core1~Core7及DSP2为从处理单元,根据主处理单元分配的任务完成相应处理。图像匹配算法的主要处理流程如图 4所示。

其中,DSP1的Core0为主处理单元,控制整个相关匹配的工作流程,接收到待处理的图像数据后,首先对图像进行预处理,包括图像滤波去噪,旋转、几何校正等,并对图像进行金字塔分解。然后将搜索图(大图)分解为从处理单元数整数倍个数据块,并分配给从处理单元进行处理。从处理单元接收到任务后,完成指定的相关系数计算后,将结果送回给Core0,由Core0综合所有的相关系数形成相关面,并求得最高峰所在位置即为匹配位置。每一级金字塔都如此操作,直至在原始图像中获得最终的匹配结果。图 3所示。

可以看到,在Matlab算法仿真过程中,在多帧图像中具有相同目标且目标位姿发生变化时,识别率高,位置准确。

2 系统实现及测试

为了实现实时处理实现归一化互相关图像匹配,经上述优化的算法还要结合多核并行处理的DSP运算方式进行专用设计。板卡上的4个DSP中分别用作主控调度、视频压缩和目标识别计算,DSP1和DSP2用作目标识别算法,DSP3和DSP4用作主控和视频压缩。在目标识别方面,把DSP1的Core0作为主处理单元,负责

图 3图像匹配算法Matlab仿真结果

图 4 基于多DSP系统的目标识别流程

在任务分配给每个处理器核后,使用DSP特有的优化方式对运算过程作进一步优化。这部分的工作主要分为两部分:一部分是充分利用DSP上集成的各种硬件加速器为匹配算法服务,充分发挥DSP的硬件结构优势;另一部分为语言级的优化,即通过C语言或汇编语言对耗时最多的循环进行优化,进一步提高算法的实时效率。同时,由于C6678的C语言编译器具有70%~80%的汇编语言级处理能力,所以通常采用基于C语言的优化方法就可以达到性能要求。

鉴于使用的相关匹配算法的特点是计算量和数据量都很大,对于DSP系统,片内RAM速度通常可以达到2.56 Gbit带宽,并且可以随机操作而不降低效率,但是容量只有64 k字节。而片外RAM容量很大,但是速度通常只有100~300 Mbit带宽,随机操作时效率将严重下降。这时,由于数据交换瓶颈,算法效率严重下降,浪费了DSP的计算能力。因此,必须优化算法的数据流结构,使得算法需求与硬件结构相吻合。采取先将基准图和实时图存储于外部存储,待计算时再将它们分块搬入到片内RAM,这样既可以合理地分配存储区域,又能提高数据处理的效率。对于程序代码也是相同的,将核心代码及与实时性要求紧密相关的放在片内,以便获得较高的代码执行效率;而一般代码及实时性要求不高的放在片外,节省片内存储空间。

同时使用C6678的EDMA控制器来进行内存管理与控制,通过设置其控制寄存器和参数RAM,可以方便高效地实现图像的填充、转置、子图截取、行列变换互相转化等操作。

综上可知,经过算法的优化及其针对多DSP平台的移植与优化,可实现对100Hz红外图像的实时目标识别。利用归一化互相关图像匹配算法,在完成图像匹配,计算出实时成像的红外图像中与待识别目标所在的模板图相关度最高的子图后,将此子图的左上角坐标作为识别结果,输出至通用处理器模块和遥测采集模块。实时解算结果如图 5所示。

图 5目标跟踪实时解算图

3 结束语

采用4片6678DSP芯片和1片Virtex7 FPGA实现的红外图像处理系统,通过图像预处理和搜索策略的优化减少了实时处理的运算量,提高了目标识别、跟踪速度,能够满足未来大视场红外导引头图像实时计算要求,且该系统采用了基于VITA46.0标准的VPX接口,满足了信号处理模块通用性、小型化、低成本的要求。

[1]杨刚,向聪,袁子乔,赵博.基于TMS320C6678的ISAR实时成像方法研究[J].火控雷达技术,2015,44(2):449-454.

[2]叶伟,符广平,周安.基于多DSP+FPGA图像实时解码系统的设计与实现[J].计算机与数字工程,2015,43(11):37-46.

[3]王风贺,杨乾,王刚.红外图像预处理设计及非均匀性算法应用[J].光电技术应用,2013,28(5):46-53.

[4]王勇,张平.高性能多DSP互联技术[J].电子产品世界,2009(4):33-36.

[5]孙莉,吴顺君,苏涛.DSP并行系统设计方法研究[J].计算机应用研究 .2002(9):68-70.

Design and implementation of an infrared image processing system with multiple DSP+FPGA based on VPX

Zhu Shusheng1,Li Jing1,Chen Ran2,Lv Dianjun1,Qiu Gongwang1
(1.R&D Center,China Academy of Launch Vehicle Technology,Beijing,10076;2. Sicong Optoelectronic Company Limited,Xi’an Shaanxi,710043)

For the infrared image fast real-time processing system with large format and modular design principles,the paper desgins an infrared image real time system which has four pieces of TI’DSP and one Virtex7 FPGA.The experiment shows that this system is the same with complex image algorithm and real-time processing of target tracking.

VPX;multi-DSPs; a infrared image processing system

祝树生(1984-),男,山西朔州人,工程师,主要从事电气系统总体设计工作。

猜你喜欢
图像匹配运算量子图
用平面几何知识解平面解析几何题
临界完全图Ramsey数
减少运算量的途径
一种用于光照变化图像匹配的改进KAZE算法
让抛物线动起来吧,为运算量“瘦身”
基于频繁子图挖掘的数据服务Mashup推荐
挖掘机器人图像匹配算法研究
基于SIFT和LTP的图像匹配方法
不含2K1+K2和C4作为导出子图的图的色数
基于降落图像匹配的嫦娥三号着陆点位置评估