基于RF5的红外弱小目标跟踪系统的实时性改进方法

2014-05-15 02:21汲清波王飞祥谢宇
应用科技 2014年5期
关键词:弱小实时性线程

汲清波,王飞祥,谢宇

哈尔滨工程大学信息与通信工程学院,黑龙江哈尔滨 150001

基于RF5的红外弱小目标跟踪系统的实时性改进方法

汲清波,王飞祥,谢宇

哈尔滨工程大学信息与通信工程学院,黑龙江哈尔滨 150001

利用基于粒子滤波的检测前跟踪算法对红外弱小目标进行检测跟踪时,由于算法的复杂性以及所处理数据量大等原因,使得该系统不能满足实时性的要求。针对这一问题,提出了在RF5框架下实现基于粒子滤波的检测前跟踪算法的改进方案,并成功地在DM642上实现了该算法。实验结果表明,与传统的单线程方式相比,系统的实时性得到了很大提高,可以满足系统实时性的要求。

粒子滤波;RF5框架;红外弱小目标;DM642

随着红外图像处理技术的发展,红外跟踪系统在军用和民用领域得到了广泛的应用,而红外弱小目标检测[1]和跟踪作为其中一项关键技术,逐渐成为了国内外研究的热点[2]。在跟踪算法的选择上,由于粒子滤波算法在处理非线性、非高斯信号上的优势[3],许多学者都将其用于红外弱小目标的检测和跟踪。但是简单的利用单线程在DSP上实现该算法,由于算法的复杂性以及所处理的数据量大等原因,使得系统的实时性差,无法满足实际需要。

RF5是TI公司推出的DSP软件开发的起步代码参考框架,它以DSP/BIOS为基础,利用其中的数据处理元素和数据通信元素方便快捷地完成DSP软件的设计与开发[4]。RF5主要实现3个功能:存储管理、线程模型和通道封装。在利用RF5对系统程序进行设计时,可以借助存储管理功能对数据进行合理的管理以提高数据的利用率;可以利用线程模型进行多线程同步执行提高算法的实时性;还可以利用通道封装将封装好的算法封装在通道之中,提高算法的处理速度[5]。

文中采用了实时操作系统DSP/BIOS,并通过TI推出的RF5框架进行系统的软件设计,从而大幅度提高了算法的执行效率,提高了系统的实时性。

1 粒子滤波算法

粒子滤波,又称作蒙特卡洛滤波,它通过非参数化的蒙特卡洛模拟方法实现递推贝叶斯滤波,适用于非线性非高斯模型描述的动态系统。递推贝叶斯估计的实质是构造状态变量的后验概率密度,进而可得到状态的最优估计,由预测和更新步骤反复迭代可最优地估计出后验概率密度的准确解。

1)预测模型

2)更新模型

式中:k表示时刻,z表示状态,x表示观测量。

2 RF5框架

2.1 构成RF5框架底层的DSP/BIOS

DSP/BIOS是一个简易的实时嵌入式操作系统,主要用于实时调度与同步、主机/目标系统通讯以及实时监测等应用,具有实时操作系统的诸多功能,如任务的调度管理、任务间的同步和通讯、内存管理、实时时钟管理、中断服务管理、外设驱动程序管理等。TI已在其DSP集成开发环境CCS中嵌入了DSP/BIOS开发工具。DSP/BIOS由3个部分组成:DSP/BIOS实时内核与API、DSP/BIOS分析工具以及DSP/BIOS配置工具。DSP/BIOS为用户提供150多个API函数,根据应用程序的具体使用情况,DSP/BIOS的代码大小从500字到6 500字不等;DSP/BIOS分析工具可以辅助CCS实现程序的实时调试;DSP/BIOS的配置工具可以进行可视化地设置DSP/BIOS模块参数,建立DSP/BIOS对象,如软件中断和任务等[6]。

2.2 RF5框架的各个组成要素

RF5是RF的最新版本,其区别于RF1和RF3的显著特点是其支持动态对象创建和支持线程(任务)挂起功能,因此适合系统较复杂的应用场合[7]。RF5共有4个基本的数据处理部件:任务(task)、通道(channel)、单元(cell)和标准算法(XDAIS algo-rithms)[8],它们之间的关系如图1所示。任务总是顺序的执行所包含的通道,任务在一个比较高的级别上把数据组织在一起,他们可以与其他任务、设备驱动以及其他类似结构进行通讯。每个任务都在不断地等待消息、处理数据,并将结果发送给其他任务,同时有可能还要发送同步消息给其他任务以实现任务间的通讯[9]。其中任务间的通信通过SCOM实现。

图1 RF5的基本要素

2.3 任务间的通信对象SCOM

SCOM消息是用户自定义的一个结构,RF5使用SCOM对象来实现线程间的通讯。SCOM消息是用户定义的一个数据结构,用于task之间交换信息。为实现信息传递,某个task申请一定大小的数据缓冲区,以供其他task读、写数据。每个task需要知道其他task的缓冲区位置,并阻止多个task同时访问自己的缓冲区。为保证这些功能,利用SCOM消息作为缓冲区描述器,并将其在任务之间传递,如图2所示。

图2 线程之间的通信

3 基于RF5的系统软件框架的实现

3.1 软件框架的实现

根据本系统所要实现的功能,可将应用程序分为3个线程,根据实时性的要求以及各个线程的工作特点,将其设置了相同的优先级,如图3所示。

各个线程及其功能如下:

1)tskVideoInput:主要负责采集摄像机的视频图像,为tskVideoProcess线程提供清晰的图像帧以备处理。

2)tskVideoOutput:主要的任务是将tskVideo-Process线程处理后的图像帧传递到显示器进行显示。

3)tskVideoProcess:对tskVideoInput线程传递来的图像进行红外弱小目标的检测与跟踪,并将处理后的视频图像传递给tskVideoOutput线程。

图3 线程在DSP/BIOS下的设置

系统的软件执行流程图如图4所示。

图4 本系统的软件执行流程

3.2 具体各个线程的实现

1)tskVideoInput线程。

tskVideoInput线程主要的功能是获取实时的视频图像,它首先从摄像机获得一帧视频图像,对这帧图像进行隔行隔列操作之后,将图像数据存入InBuf缓冲区中,然后发送一个SCOM消息给tskVideoPro-cess线程,此SCOM消息包含了指向InBuf缓冲区的指针,操作完成后,tskVideoInput线程转为挂起状态,直至tskVideoOutput线程发送SCOM消息再次激活此线程。

2)tskVideoOutput线程。

tskVideoOutput线程的主要功能是把结果图像输出到显示器进行显示。视频输出启动后,它首先为挂起状态,等待tskVideoProcess线程发送的SCOM来激活它;当接受到发送来的SCOM消息后,将指针指向输出缓冲区OutBuf进行显示,显示完毕后,发送SCOM消息给tskVideoInput线程,之后它转为挂起状态直到下一帧的到来。

3)tskVideoProcess线程。

tskVideoProcess线程主要功能是对输入的图像进行红外弱小目标的检测前跟踪,tskVideoProcess线程首先为挂起状态,当它接受到tskVideoInput线程发送来的SCOM消息后,此线程得以激活,此时对指针指向的输入缓冲区的图像进行红外弱小目标的跟踪,跟踪完毕后,发送SCOM消息给tskVideoOut-put线程,通知其进行显示,之后此线程转为挂起状态,等待tskVideoInput线程发送SCOM消息再次激活它。

4 实验与分析

为了比较该方案相对于传统的单线程系统在实时性上的优劣,文中首先使用传统的单线程系统来跟踪模拟的红外弱小目标。红外弱小目标的模拟方法为:在采集的红外图像中加入2×2像素大小的模拟红外弱小目标,并编写目标运动轨迹函数TRACE让红外弱小目标按照一定的轨迹运动;然后再按照本方案所设计的系统来对该模拟红外弱小目标进行跟踪,最后利用DSP/BIOS系统提供的实时分析工具来观察系统处理效率的变化。

跟踪系统软硬件实施环境为:计算机:ACPI Multiprocessor PC;系统:Windows XP系统;内存:1 GB;CPU:Intel Pentium 4;仿真软件:CCS2.2;仿真环境:系统运行的环境为实验室,实验室长9 m、宽5 m,室内温度在15~18℃。

系统硬件平台由红外成像仪、ICETEK-DM642-PCI开发板和显示器组成,其中ICETEK-DM642-PCI开发板为系统的数据处理平台,该平台以TMS320DM642(DSP)为数据处理核心。

1)在信噪比为2.901 7,粒子数为500的前提下,系统的跟踪效果如图5所示。

图5 跟踪结果

可见系统能够精确地对红外弱小目标进行跟踪,经统计分析,此时系统的检测概率为95.47%,虚警概率为0。

2)在信噪比均为2.901 7的前提下,改变系统的粒子数,比较系统实时性上的优劣,系统的处理效率如表1所示。

表1 系统处理效率的变化(粒子数改变)

由表1可以看出:在不同粒子数的情况下,本方案相对于传统的单线程方案在算法处理效率上提高了一倍左右,但是随着粒子数的提高,这种效率上的提升逐渐变小。

2)在粒子数均为500的情况下,改变系统的信噪比,比较系统实时性上的优劣,系统的处理效率如表2所示。

表2 系统处理效率的变化(信噪比改变)

从表2可以看出:在不同信噪比的情况下,本方案相对于传统的单线程方案在算法处理效率上上提高了一倍左右,但是随着信噪比的提高,这种效率上的提升会出现上下波动。

5 结束语

文中利用RF5框架对传统的单线程红外弱小目标跟踪系统进行了软件框架的设计,将原先的单线程系统改进为多线程并行执行,并且成功地在DM642开发板上实现了该算法。实验表明,该方案大幅度地提高了系统的处理效率,改善了系统的实时性,并且该方案也为其他复杂算法系统的设计提供了参考。但是该方案的缺点在于并没有将算法封装进通道,进一步的工作将着重于此,从而提高算法的移植性。

[1]杨洋.基于粒子滤波的红外弱小目标检测前跟踪算法的DSP实现[D].哈尔滨:哈尔滨工程大学,2011:1-66.

[2]潘涛.基于DM642的红外运动目标检测与跟踪技术实现[D].南京:南京理工大学,2012:1-66.

[3]朱志宇.粒子滤波算法及其应用[M].北京:科学出版社,2010:1-257.

[4]郑仁福,刘杰.基于RF5框架的X264编码器的实现[J].电视技术,2009,33(3):26-27,33.

[5]李雁斌,曹作良,刘常杰,等.基于DSP利用粒子滤波算法实现目标跟踪[J].光电子·激光,2009,20(6):771-774.

[6]尹勇,欧光军,关荣锋.DSP集成开发环境CCS开发指南[M].北京:北京航空航天大学出版社,2003:1-278.

[7]曹磊,范彩霞.基于RF5框架的视频处理系统研究[J].单片机与嵌入式系统应用,2008(6):17-19.

[8]蒋宇.基于DSP的运动目标检测系统的实现[D].天津:天津大学,2010:1-48.

[9]李志远.基于RF5框架及算法标准下的多任务程序设计[D].西安:西安理工大学,2009:1-59.

The real-time improvment method for the infrared small dim target’s tracking system based on RF5

JI Qingbo,WANG Feixiang,XIE Yu
College of Information and Communication Engineering,Harbin Engineering University,Harbin 150001,China

When the track-before-detect(TBD)algorithm based on particle filtering(PF)is utilized to detect and track the infrared small dim target,the system can not meet the real-time requirement because of complexity of the algorithm and a large amount of data needed to be processed.An improved TBD algorithm based on particle filtering under the frame of RF5 is proposed to solve the problem.Furthermore,the algorithm is successfully implemented on DM642.Simulation results show that the real-time of the system is greatly improved in comparison with the tradi-tional single-thread way,which basically meets the real-time requirement.

particle filtering;RF5 framework;infrared small dim target;DM642

TN911.73

A

1009-671X(2014)05-019-04

10.3969/j.issn.1009-671X.201310020

http://www.cnki.net/kcms/doi/10.3969/j.issn.1009-671X.201310020.html

2013-11-01.

日期:2014-09-22.

黑龙江省自然科学基金资助项目(F201407).

汲清波(1975-),女,副教授,工学博士;

王飞祥(1988-),男,硕士研究生.

王飞祥,E-mail:wangfeixiang0824@163.com.

猜你喜欢
弱小实时性线程
基于C#线程实验探究
强大与弱小
基于国产化环境的线程池模型研究与实现
对人世的告白(组诗)
航空电子AFDX与AVB传输实时性抗干扰对比
浅谈linux多线程协作
计算机控制系统实时性的提高策略
柴的嘲笑
一种车载Profibus总线系统的实时性分析
动物神奇脱身术