基于DSP的视频运动目标实时跟踪系统研究与实现

2024-01-10 08:30刘小敏范梦晴
江西科学 2023年6期
关键词:像素点滤波物体

刘小敏,范梦晴,李 杰

(南昌交通学院,330100,南昌)

0 引言

由于目前的监控系统使用的方法是事后看录像带或硬盘,研究当时发生的情况,是一种被动的监控方式,随着社会的不断发展,人们需要更高水平、更智能化的设备来保证社会安全。在智能视频分析环节涉及到了识别和跟踪运动目标,它能根据相关特征,在视频序列图像中分析出有效的信息,具有提取、定位、识别和跟踪运动目标的功能,对其行为进行分析和解释,以此为基础,最终能够做出科学的决策。实时检测和跟踪运动目标功能的视频监控系统具有更高的智能化程度,能够第一时间实现对异常状况的发现。因此,本文对此进行了研究分析。

1 DSP技术及其特点

现代视频监控系统的主要特点是数字化、智能化和规模化。而以往的计算机视频监控系统存在着一定的滞后性。嵌入式系统具有许多特点,例如小体积、低价格以及稳定的系统等,适用于面积较大的领域,是视频系统中最重要的一种。

嵌入式系统中通常会用到ARM、FPGA以及GPP等处理器,其中ARM缺乏良好的信号处理能力,FPGA具有复杂的设计。与GPP相比,DSP在实时视频处理领域更加适用,其主要具有如下特点。

1)DSP处理器中包含支持单周期乘法运算和密集乘法的硬件。

2)哈佛结构是DSP最常见的结构,处理器的数据访问和指令下达可同时进行。

3)DSP芯片中具有支持零开销循环的硬件。

4)DSP的选址方式十分专业,能够为普通的信号处理和算法提供良好的支持。

5)一般来说,为了实现对性能的优化,DSP应用程序在编写重要代码时,应用了汇编语言,且此类代码大多由DSP厂家提供。

6)在嵌入式系统中通过对DSP的应用,能够降低功耗。

7)优化了视频应用。

2 运动目标跟踪

运动跟踪是为了获取运动目标在图像序列中的运动轨迹[1]。目前为止,已经研发出许多目标跟踪算法,在分类时具有不同的标准,但主要用于跟踪匹配和跟踪运动特性这两种。其中,跟踪运动特性时,跟踪目标期间需要用到其运行信息,特定时间内相应的运动信息点属于同一类。然而,此类算法需要进行大规模的算法处理,且十分费时,想要满足实时处理的需求难度较大。在跟踪匹配时主要跟踪对象为目标区域、目标轮廓和目标特征等。

在进行区域匹配跟踪时,所匹配的运动区域是预先提取或人为设定的,接着需要在下一幅图像中,对目标模板进行搜索,匹配最优性能指标的位置。此类算法在所获取到的运动目标存在着影子和遮挡,难以实现对该问题的处理,且在大面积匹配时,需要耗费大量时间。区域跟踪法还可结合卡尔曼滤波及粒子滤波等预测算法共同使用,能够实现对搜索过程的优化;也可借助彩色信息实现对运动目标阴影的处理,最常用的就是这种方法。在跟踪运动目标活动轮廓时,需要用到封闭边界轮廓曲线的提取,跟踪这一曲线在图像序列中的运动轨迹,进而跟踪运动目标。近几年,主要采用了主动法和Hausdorff距离法来跟踪运动目标活动轮廓。通过轮廓匹配能够在减少计算量的同时,获得理想的匹配效果。然而初始轮廓会决定着该算法能否获得理想的跟踪效果,且难以实现轮廓初始化。

在跟踪运动目标特征时,主要的跟踪对象就是角点或边界线等相同性质的运动目标特征点。该方法的实现并不困难,且可以避免遮挡运动目标,但难以选取特征点。

目前,最稳定、最可靠的方法就是区域匹配法,目前研究最多的就是MeanShift,这一典型方法的匹配载体就是区域直方图[2]。在应用MeanShift技术跟踪运动目标时,通过对概率密度的核算,能够实现对目标特征的描述,然后借助MeanShift对目标位置进行搜索。MeanShift是1975年Fukunaga等提出的,1995年Cheng对该技术的适用范围进行了扩展,Comanciu等通过对MeanShift技术的应用,完成了跟踪非刚体的问题。然而,由于该技术也需要在直方图中进行匹配,在应用MeanShift技术时,也会出现遮挡目标、运算结果不准确等问题。

事实上,如果能够通过检测运动物体来进行运算,那么就能够更加简便地跟踪运算运动目标。相比匹配静态图像等方法来说,在跟踪运动目标时,主要的匹配对象就是目标远动物体和检测到的运动物体,并且相同目标在连续图像序列中不会存在过大的距离差和空间差。所以,匹配算法大幅的缩小了运算范围[3]。

3 系统总体结构

3.1 系统硬件

如图1所示,该系统主要包括以下几个部分。

图1 运动检测与跟踪监控系统结构框图

1)TMS320C6711DSK目标板。此开发板中所应用的DSP浮点为TMS320C6711型,每秒可以发出100万种指令,运算浮点900万次,能够实现对复杂问题的实时高效运算;SDRAM的内存在16 M,支持多帧图像存储。在进行开发的过程中,在并口可直接调试软硬件,或在JTAG口可直接调试仿真器。

2)视频采集输出子板。其主要能够采集图像、输出图像和转换图像格式等,如图2所示。

图2 系统程序流程

板上的video芯片、FPGA芯片数量分别为2块和1块,SDRAM为16 M。其中采集到RGB图像经过TVP5022Video芯片的解码后,会转变为HSV格式,并在SDRAM子板中存储,图像经过TVP3026Video芯片的编码能够输出为RGB格式。FPGA能够控制板卡、管理外部存储接口等。在进行图像显示时,SDRAM可直接向FIFO传输SDK目标板上的数据,由TVP3026输出编码[4]。

3)CCD摄像头、云控制器及显示器。DSK目标板具有处理采集图像数据的功能,通过对处理结果的应用,可实现对云台的控制及对运动目标的锁定,且具有适当缩放功能[5]。

3.2 系统软件流程

系统软件具有如图3所示总体流程,首先需要初始化上电或复位后的系统,DM642可将Flash芯片由EMIFACE1空间向1kbyte程序中的RAM搬运,在完成传输后,CPU由零地址开始进行程序代码的执行,由于大多数系统程序都超过1kbyte,所以,需要对1kbyte程序的初始化和跳转进行指令设置。然后需要初始化外围设备,在完成初始化后,需要借助DM642在视频序列图像中连续采集两帧,并计算相邻帧差,根据差分结果对目标的运动进行判断,Cam-shift算法在检测到出现运动目标时,会对其进行跟踪,并向单片机输出跟踪结果。单片机结合了跟踪到的目标质心和视场中心这2个坐标的差值,能够实现对舵机转动的控制,进而实现对目标的跟踪[6]。

图3 系统软件流程图

4 基于序列图像的运动目标识别跟踪

4.1 序列图像预处理

摄像机在对物体运动图像进行拍摄的过程中,会受到各种因素的影响,例如,光照变化及相机抖动等,难免会存在噪声。然而想要获取到精确的处理结果,就需要锐化和加强图像。因此,在分析识别开始前,需要预选处理图像,重点做好对图像的滤波处理。

在图像噪声消除环节,为了保证轮廓及边缘等图像重要信息的完整性,进而,做出准确的处理,需要采用多图像平均法和中值滤波法等来消除图像噪声。其中,前者对硬件有着较高的要求,缺乏良好的实时性;而后者可以实现对脉冲型噪声的有效去除,且可为凸显边缘提供良好的保护。中值滤波指的就是在小窗口内将(x,y)作为中心点,按照由大到小的灰度顺序,排列所有像素,在(x,y)将mid(x,y)中间值作为灰度值,此类低通滤波器十分典型,由于图像细节偶尔会被中值滤波损坏,本文对中值滤波进行了改进[7]:

其中,(x,y)点的滤波前后灰度值分别为g(x,y)和f(x,y),滤波窗口内阈值和中间点灰度值分别为ε和mid(x,y),在结合了各类应用背景后,能够根据试验得知。

如此,中间点和像素点之间不存在大于预定阈值的灰度值差,能够实现对原值的保留,保证图像细节不会受到完全中值滤波的影响,同时也取得了理想的实际应用效果。

4.2 运动目标识别与跟踪

帧间差阈值法是序列图像中最简单的运动目标检测法,它在速度、硬件实现方面具有一定的优势,然而却难以实现对物体运动速度的获取,对重叠物体的运动检测。在序列图像中最重要的运动目标分析法就是光流场,不仅能够检测运动目标,还可以跟踪运动目标,尤其是对于重叠物体运动的检测,通过分布光流场来实现检测和跟踪。然而在噪声以及阴影等因素的影响下,无法实现对光流场分布的可靠、准确计算,同时需要大量时间计算光流场分布。

结合以上2种算法后,可达到扬长避短的目标,使系统具有更高的效率和实时性。也就是在目标区域内,先根据帧间差阈值对运动物体进行检测,然后再根据局部光流场对该区域进行分析,以此来跟踪运动目标[8]。

4.2.1 背景的估计和更换 如果像素点存在无效背景值,或覆盖了运动物体,那么就可根据连续帧差来分析该像素点,如此能够实现对背景实效、物体离开等突变背景的处理,其采用了如下基本原理:实时采集前帧和后帧的图像,如果相应位置的两帧图像的像素点差分值比系统维护该像素点的阈值更小,那么达到了如下条件:

|I(x,y,t)-I(x,y,t-1)

那么对应Count(x,y)计数值+1,反之Count(x,y)为零。如果增加Count(x,y)与设定的N相等时,系统会根据实时像素值来对背景像素值进行估算。

4.2.2 运动物体检测 借助背景差分法对运动物体进行检测时,系统会拆分实时采集到的图像和估计所得的背景图像,通过比较差值和阈值来确定区域中相应像素点的运动情况,并获取相应的二值图像。

如果BW(x,y)的值为1,那么B(x,y,t)与B(x,y,t-1)的值相同

如果BW(x,y)的值为0,那么B(x,y,t)与αB(x,y,t-1)+βI(x,y,t)的值相同。

其中α+β=1,学习率是α,α关系着目前实时图像会给背景图像带来怎样的影响,此类更新方法具有选择性,借助此类方法不仅可加快背景对场裂变化的适应速度,还可保证背景不受到运动像素的污染。

4.2.3 运动物体检测后处理 采用背景剪除法会获取到带有大量孤立噪声的二值图像,由于人体在视频图像中的长宽不同,所以系统在开运算检测结果时所采用的掩膜图像为长方形,其长、宽像素点为16和4。经过滤波后,系统会在二值图像中借助四连通分量来标记其连通区域,为了实现连续标签,系统会借助独立的等价数组来对等价标签进行标记。在标签完每一个运动像素后,系统会合并等价标签,进而获取物体的运动区域,并对物体运动参数进行计算,同时,连通区域中需要具有比设定阈值更小的像素点数目,如此能够实现对噪声的滤除[7]。

5 实验结果

本试验在具有稳定光照的室内识别和跟踪单个运动。采用的彩色CCD摄像头为普通PAL制,能够达到720*576分辨率。目标平面为1 cm2大小,距离摄像头大约2 m,在固定镜头后,跟踪处于低速运动的物体,获取到如图4的序列图像。

图4 算法跟踪效果图

据图4可知,当采用DM642计算运动状态的目标的相邻帧差,能够实现对运动物体的准确捕获,如果物体的移动是按照从左到右的顺序,那么采用背景减除法可实现对物体的有效跟踪。为了了解摄像头运动是否会影响系统,在识别目标物体后,在物体保持不动的情况下,转动摄像头,这个时候背景减除法的跟踪效果依然良好,如图5所示[8]。

图5 摄像头运动跟踪效果

5.1 分析时间精度

如果处理速度为10 f/s(帧/秒),那么在采集相邻两帧图像时只存在大约0.1 s的时间差。在时间差较小的情况下,帧差法可根据后续连续的各帧图像信息,实现对错误的自动纠正,故帧差法能够实现对光照影响的有效规避。

5.2 分析位置精度

在做迭代算法时,搜索窗是一直存在的,假设当目标处于非常快的速度运动时,由于速度非常快,那么就会有可能丢失跟踪的目标。这时想要跟踪连续运动目标,跟踪的目标其运动速度不能太快,应为相邻两帧中目标位置差不能超过本身尺寸的1.5倍。

6 结束语

本文提出并实现了一种基于 DSP 的视频图像运动目标检测与跟踪系统的设计方法。系统基于高性能数字信号处理器 DM642,采用背景减除法检测运动目标,采用帧间差分法处理背景的突变,采用实验分析了时间精度和位置精度,进而得出运动目标的运动轨迹。实验结果表明,系统能够实时检测,且跟踪运动目标。

猜你喜欢
像素点滤波物体
基于局部相似性的特征匹配筛选算法
深刻理解物体的平衡
我们是怎样看到物体的
基于5×5邻域像素点相关性的划痕修复算法
基于canvas的前端数据加密
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
RTS平滑滤波在事后姿态确定中的应用
为什么同一物体在世界各地重量不一样?
基于线性正则变换的 LMS 自适应滤波
基于随机加权估计的Sage自适应滤波及其在导航中的应用