微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 分布式多视角目标跟踪算法在OMAP3平台上的实现与优化

分布式多视角目标跟踪算法在OMAP3平台上的实现与优化

时间:05-21 来源:电子产品世界 点击:

运算。

E.intrinsics函数(内联函数)的使用: instrinsics是直接映射为内联的C64x+指令的特殊函数,使用instrinsics函数相当于在一定程度上做汇编优化,可以大大提高了代码的执行效率。

  5.实现的性能与结果

5.1 跟踪效果演示

图3所示为遮挡情况下跟踪情况。本系统可以抗各种类型遮挡,包括短期遮挡,长遮挡。此外,本系统为分布式跟踪,也就是说部分节点的失效并不会影响我们最终的跟踪效果,节点的失效可以是网络的出错或者节点断电。在图4中从左到右有三个视角,每个视角内的白框为当前视角跟踪结果,蓝框为其他视角的跟踪结果在本地的投影。视角内的绿色点为粒子位置。

一帧视频消耗的DSP周期数

为了测量优化效果,我们使用CCS对跟踪算法进行了离线仿真。通过使用Clock工具和断点配合,我们可以精确地得到整个程序处理一整帧视频数据及程序内各函数需要的时钟周期数。我们选取了其中一个摄像头的某一帧视频,对跟踪算法所消耗的时钟周期数进行测量。表1显示了优化前和优化后这帧视频所消耗的DSP时钟周期数。表1只对DSP上运行的跟踪算法的主流程进行测量,其他的如视频采集和预处理等不在测量范围中。

从表中可以发现,在小模板的情况下,优化比率并不高,这是由于粒子滤波中产生粒子的开销不随模板的变化而变化。在模板较大的情况下,优化比率迅速上升,因为起主导作用的是SSIM计算函数和插值函数。特别是SSIM计算函数,其优化比率随模板大小增加而迅速上升。在63×63大小的模板下,SSIM计算函数优化比率为117.6倍,而插值函数的优化比率为32.9倍,插值函数的优化比率基本不随模板的大小而变化。

实际系统中的DSP负载测试

我们在OMAP3530开发板上实时地测量了其中一个视角下不同模板大小下的DSP负载和视频的帧率。DSP负载可以通过调用Engine_getCpuLoad()得到,程序中每秒调用一次进行统计。表2显示了不同大小模板下的DSP负载和视频的帧率。

程序最大可以做63×63左右的模板的跟踪,更大的模板就会导致帧率下降。不过,程序可以对63×63以上的目标区域进行跟踪,程序可以将目标区域下采样到63×63的大小。

  结论

本设计在OMAP3530平台上实现分布式多视角目标跟踪系统,构造了分布式目标跟踪软件框架和传输协议,采用目前较为先进的算法,经过程序级和算法级的优化,最终达到了实时、高效、鲁棒跟踪。OMAP3530平台的强大运算性能和网络传输能力为我们的跟踪算法提供了实现的基础。在Codec Engine的软件架构下,我们采用xDM标准扩展了多视角目标鲁棒跟踪算法的接口,在DSP核上实现实时跟踪算法。同时,OMAP3530的ARM核负责数据读写、数据交换、网络通信、系统管理等工作。大量运行结果显示,本分布式多视角目标跟踪系统具有很强的鲁棒性及实时性。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top