基于DM642的运动目标检测系统设计与实现

2019-08-02 16:21发布

引言
  数字视频系统在智能交通、图像识别以及安防监控等领域,都得到了广泛的应用,运动目标检测作为数字视频系统的一个重要环节,是后续目标识别、目标跟踪等应用的基础。本文提出了一个基于DM642的实时运动目标检测系统方案,依靠DM642芯片强大的运算能力,使目标检测的数据吞吐量及实时性得到保证。本方案设计合理、可扩展性强,具有实际应用价值。
  1 运动目标检测算法
  实现运动目标检测的算法很多,一般有光流法、背景差分法、相邻帧间差分法等。光流法通过求解光流方程来实现运动检测,其算法复杂、计算量大,且较难满足实时要求;而相邻帧间差分法虽然算法简单、运算量小,但抗干扰能力很差,检测效果不太理想;而背景差分法算法简单、运算量小、且抗干扰能力强,因此本文采用该方法实现运动目标检测。具体步骤如下:首先获取数字图像进行预处理,之后采用背景差分法实现运动检测,再对所得的图像用大津法进行自适应阀值分割,最后通过滤波得到检测出的运动目标。图1是本文运动目标检测的流程图。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
biechedan
2019-08-03 02:39
2.2 算法的DM642实现

  系统的软件在TI提供的集成开发环境CCS完成,编程用C语言和汇编语言实现,软件采用TI推荐的RF-5架构,采用了三个线程tsk_inpu-t、tsk_process、tsk_output。

  软件的执行流程如下:

  (1)TMS320DM642的初始化。包括初始化BIOS、CSL、设置CACKE;

  (2)初始化RF-5模块。用CHAN_init,ICC_init,SCOM_init分别初始化CHAN模块、ICC模块、SCOM模块;

  (3)DSP/BIOS根据操作系统的调度规则环调度执行tsk_input、tsk_process、tsk_output三个线程。其中tsk_inpufi通过按照顺序调用FVID_create、FVID_control、FVID_aUoc函数实现对FVID驱动的调用,打开输入通道,实现得到SAA7ll5获取的BT.656格式的YUV422数字视频码流。tsk_process负责对tsk_input线程获取的数字图像进行运动图像检测算法的处理,其中要调用到上一节所述的算法函数,经过处理,运动目标被分割出来。tsk-output负责调用FVID_create、FVID_control、FVID_alloc函数,打开输出通道实现对已经分割处理的数字视频流通过SAA7105输出,在显示器上予以显示。这三个线程在DSP/BIOS的调度下循环并行运行,三个线程之间的数据交换通过SCOM模块实现。

  上述程序中,核心程序为tsk_process线程,其主要代码如下:

  While(1)

  {……

  Background()://获取背景并根据条件更新

  Diff_picture()://背景与当前图像差分

  Otsu_binary(): //由改进的大津法进行阀值分割并二值化

  Filter_obitct()://对二值化图像进行滤波得到运动的物体,即为检测的结果。

  ……

  }

一周热门 更多>