基于TMS320DM642和模型化设计的图像跟踪实验系统

2013-01-17 02:13范哲意周治国刘志文潘丽敏何冰松
实验技术与管理 2013年3期
关键词:代码生成建模模块

范哲意,周治国,刘志文,潘丽敏,何冰松

(北京理工大学信息与电子学院,北京 100081)

基于TMS320DM642和模型化设计的图像跟踪实验系统

范哲意,周治国,刘志文,潘丽敏,何冰松

(北京理工大学信息与电子学院,北京 100081)

介绍一种以TMS320DM642为核心的图像跟踪实验系统,探讨了基于Matalb/Simulink模型化开发的实验方法,给出了一种基于帧间差分法的运动目标跟踪算法的模型化开发流程,包括算法建模、针对DSP目标平台的自动代码生成、性能分析和代码优化等。该实验系统为高素质创新人才的培养提供了有效的平台。

图像跟踪;运动目标设计;TMS320DM642;模型化;自动代码生成

我校信息与电子学院在国家“985工程”三期建设项目的支持下,建设了“电子信息类大学生实践创新平台”,为培养高素质创新人才提供了有利的条件,图像跟踪实验系统是其中为高年级本科生提供创新实践的实验平台之一。

运动目标跟踪是图像处理和计算机视觉领域的研究热点之一,在智能人机交互、医疗诊断、智能机器人、视频监控等许多领域获得广泛应用[1]。本文中的图像跟踪实验系统硬件平台以TI公司TMS320DM642的图像跟踪器为核心,采用模型化开发的方法为学生参与实验提供切入口。基于模型的设计(model based design)[2-3]方法提供了一种方便有效地开发与测试DSP应用程序的方法,采用这种方法,可以使参与实验的学生从手工编写代码的繁琐任务中解脱出来,使学生更加专注于对算法的研究与实现。

1 实验系统介绍

图像跟踪实验系统硬件主要由摄像机、云台、图像跟踪器、仿真器和计算机等组成[4-5],如图1所示,其中采用TMS320DM642实现的图像跟踪器是系统的核心部分,TMS320DM642是TI公司推出的一款高性能定点数字多媒体处理器,它采用C64X内核,片上直接集成了3个可配置的视频接口,十分适合于图像处理。

图1 系统框图

为了使学生集中于运动目标自动检测与跟踪算法的研究和创新,采用了基于Matalb/Simulink的模型化开发方法,避免了学生因对调试软件环境的不熟悉和大量的手工编写代码而影响实验的效果。Matalb/Simulink是由MathWorks公司提供的进行动态系统建模、仿真和综合分析的集成软件包,是基于Matalb的图形化模型仿真设计环境[6-7],结合其另一个产品RTW[8](real time workshop),Simulink模型可以实现针对不同硬件平台的目标代码的自动生成。

Matalb/Simulink提供了针对不同应用领域丰富的模型资源,当一些特殊场合中Matalb/Simulink自带的模型库无法满足需求时,还允许自定义生成模块。通过Matalb/Simulink环境可以实现图形化的对系统的动态性能的建模、仿真与分析,为学生提供了简单快捷的切入点,极大方便了学生实验。

2 图像跟踪实验系统的模型化开发

图像跟踪实验系统的开发过程主要包含视频采集模块的驱动程序编写及封装、跟踪算法的仿真与建模、算法模型针对DSP目标的自动代码生成及硬件平台上的算法验证等几个阶段。其中视频采集模块的驱动编写及封装工作已经完成,可直接提供给学生调用,其他几个阶段由学生自主参与开发完成,作为学生参与实验的内容。

2.1 视频采集模块的封装

图像处理平台的视频A/D模块采用的是TI公司的TVP5150芯片,该芯片的驱动程序在CCS V3.3下基于DDK(driver development Kit)开发。驱动程序和视频采集程序编写完成并经测试通过后,可以利用S-Function进一步封装成Simulink下的模块,如图2所示。该模块可供学生实验时直接调用,实现视频采集功能。

图2 视频采集(A/D)模块

2.2 跟踪算法及仿真建模

运动目标检测与跟踪的算法有很多种,本文中以静止背景中基于帧间差分法[9]和峰值检测法的运动目标跟踪为例来说明算法的仿真及建模过程。

图像序列不同时间的帧之间的关系包含了目标的运动信息[10],帧间差分法利用相邻前后两帧图像对应像素点的灰度值相减进行运动目标检测[11],能够很好适应场景光照变化,实现简单,实时性好。

设tn和tn+1时刻对应的图像帧分别表示为f(x,y,n)和f(x,y,n+1),则帧间差分表示为

差分图像中,灰度值变化较小的区域对应背景区域,灰度值变化较大的区域则反映运动目标的作用,从而将运动目标从背景中分离出来。因此,可以通过查找差分图像中灰度值变化最大的像素点得到运动目标的位置,即

在实际应用中,为了降低光照的影响,一般采用阈值分割的方法检测运动目标的位置:

其中,Th表示选取的阈值,g(x,y)为阈值分割后的二值图像,像素1表示运动目标,像素0表示背景。

在硬件平台上实现上述算法之前,首先要在Matalb/Simulink环境下进行仿真建模,主要用到Simulink下的基本模块库及视频与图像处理模块库中的模型。由于此时尚涉及到硬件平台,这里采用视频与图像处理模块库中的From Multimedia File和To Video Display 2个模块替代实际硬件系统的采集(A/D)与显示(D/A)模块。实现上述跟踪算法的模型如图3所示。

图3 算法模型

模型的第一阶段利用延时模块z-1对图像帧进行1个采样周期的延时,然后与当前帧图像进行相减,实现帧间差;第二阶段利用峰值跟检测方法找到目标的坐标信息,将此坐标信息传递给下一步骤,并对目标进行标定,从而实现跟踪算法。

2.3 针对DSP目标平台的自动代码生成

为了生成针对DSP图像处理平台的代码,需要对上述模型进行一些简单的修改。首先,需要将模型中的视频输入与输出模块替换为TVP5150A/D模块和针对DM642的视频D/A模块,如图4(a)所示;然后,将该模型放到DSP/BIOS(TI公司推出的一款嵌入式RTOS)的一个任务里面运行,生成顶层模型,如图4(b)所示。

完成上述步骤以后,可利用Matalb/Simulink,结合RTW实现针对DSP目标平台的自动代码生成,执行编译操作会自动连接CCS并生成CCS工程文件。进行相应配置后,Matalb将自动调用CCS,将生成的工程文件添加到CCS中,进行编译、连接并加载到DSP上运行。

图4 模型修改

在本实验系统上对模拟沙盘上的火车模型进行跟踪的结果如图5所示。

图5 跟踪结果

3 算法优化

利用Matalb中针对CCS目标提供的剖析工具,可以对该自动代码生成的程序进行剖析,从而得出算法的运行时间。执行剖析的命令如下:

对mdl文件进行相关参数配置后,执行自动代码生成,当模型运行一段时间后,停止程序,然后在Matalb Command window中下输入执行剖析的命令即可生成剖析信息报告,如图6所示。图6所示剖析报告显示本文上述法跟踪算法的平均执行时间约为84.76 ms。为了提高程序的效率,还需要进行算法的优化。

图6 剖析信息报告

C6000的C/C++编译器提供了大量的编译选项,供用户在编译时选择使用,其中部分选项会直接影响或控制编译器优化过程,本文用到的优化选项[12]主要有:

-o3——表示最高程度的优化,编译器将执行各种优化循环的方法,如软件流水、循环展开;

-pm——是程序级优化,使优化器访问整个程序,了解循环次数。

表1显示了代码优化前的Debug(90112B)版本和优化后的Release(87552B)版本的效果对比。表中tmax为最大执行时间为平均执行时间。

表1 代码优化前后效果对比

上述结果显示,优化以后算法的平均执行时间约为26.82ms,更能满足实时处理的要求。

4 结束语

以TMS320DM642为核心,并采用Matalb/Simulink的模型化开发方法,完成了图像跟踪系统算法设计、模型开发、算法实现及算法优化的整个流程,充分展现了模型化开发的优势。该实验平台既可用于科研的算法仿真与研究,也可以作为高素质创新人才培养的实践平台,目前已经在我校电子信息技术实验中心投入使用,主要面向高年级本科生和研究生。

(References)

[1]李培华.序列图像中运动目标跟踪方法[M].北京:科学出版社,2010.

[2]刘杰.基于模型的设计及其嵌入式实现[M].北京:北京航空航天大学出版社,2010.

[3]姚俊,马松辉.Simulink建模与仿真[M].西安:西安电子科技大学出版社,2002.

[4]闫雪梅,赵保军.基于DSP的图像综合信息教学实验系统的开发[J].实验技术与管理,2005,22(12):42-43,59.

[5]李位星,潘峰,周凯.基于DM642的运动目标自动跟踪实验平台研制[J].实验科学与技术,2011,9(5):39-42.

[6]李颖.Simulink动态系统建模与仿真[M].西安:西安电子科技大学出版社,2009.

[7]赵建春,李文举,王新年.基于Simulink的车牌识别系统仿真平台[J].计算机工程与设计,2009,30(5):1154-1156.

[8]袁少强,陈砾,李行善.基于RTW的半实物仿真环境研究与应用[J].仪器仪表学报,2006,27(增刊):2585-2586.

[9]Lipton A,Fujiyoshi H,Patil R.Moving target classification and tracking from real-time Video[C]//Proc of the 4th IEEE on WACV.1998:8-14.

[10]Li Xiaoping,Li Tao,Ling Feng,et al.Research on motion detection and target contour extraction in wearable video system[C]//2010Asia-Pacific Conference on Wearable Computing Systems.2010:90-93.

[11]邱道尹,张文静,顾波,等.帧差法在运动目标实时跟踪中的应用[J].华北水利水电学院学报,2009,30(3):45-46.

[12]刁一平,赵晓群.基于TI C6000DSP的C/C++语言代码效率优化[J].微计算机应用,2007,28(5):544-548.

Image tracking experiment platform based on TMS320DM642and model-based design

Fan Zheyi,Zhou Zhiguo,Liu Zhiwen,Pan limin,He bingsong
(School of Information and Electronics,Beijing Institute of Technology,BeiJing 100081,China)

A TM320DM642-based experiment platform is discussed and a model-based design method based on Matalb/Simulink is applied to the college experiment teaching.The model-based design of moving targets tracking based on the frame difference method is then implemented.The process of model-based design is mainly divided into the following steps:modeling,automatic code generation for DSP,performance analysis and optimization.The experimental platform is quite helpful for training high-quality talents.

image tracking;moving targets;TM320DM642;model-based design;automatic code generation

TP391.41;G484

A

1002-4956(2013)03-0074-04

2012-08-08 修改日期:2012-11-16

国家自然科学基金项目(61001063);北京理工大学“985工程”三期“本科生拔尖创新人才培养”建设项目资助

范哲意(1983—),男,福建莆田,工学硕士,实验师,学院办公室主任,主要从事信号与图像处理方向教学科研及学院实验室与设备管理工作.

E-mail:funye@bit.edu.cn

猜你喜欢
代码生成建模模块
28通道收发处理模块设计
“选修3—3”模块的复习备考
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
Lustre语言可信代码生成器研究进展
基于PSS/E的风电场建模与动态分析
不对称半桥变换器的建模与仿真
代码生成技术在软件开发中的应用
基于XML的代码自动生成工具
三元组辐射场的建模与仿真
集成水空中冷器的进气模块