智能化是现代视频监控系统的重要发展方向,目标跟踪成为发展过程中一项不可缺少的重要功能。智能监控技术是指在不依赖人为干预的情况下,采用计算机技术和图像处理技术对摄像机拍摄的图像数据进行自动分析,实现对图像内容含义的理解以及对客观场景的解释。智能监控算法流程如图1所示。
1 系统总体设计方案
嵌入式处理器中数字信号处理器(Digital Signal Processor,DSP)具有强大的数字信号处理功能,适用于视频图像、语音等大量数据的实时处理。ADSP—BF561是一款集音频、视频图像处理和控制于一身的双核DSP,具有高速的内核时钟、灵活的存储器架构和专用的视频接口,在视频图像处理方面具有较大优势。
采用ADSP—BF561作为处理器设计视频跟踪系统硬件平台,系统平台由DSP处理器、摄像机、监视器和云台等部分组成,系统结构如图2所示。硬件结构中摄像机和云台两部分固定为一体,云台的运动反映摄像机监控姿态的调整。DSP通过对摄像机采集的视频图像数据进行跟踪图像处理,获取运动目标所在位置,并在监视器上实时显示监控图像。DSP根据目标位置信息发送云台控制指令,控制云台运动,调整摄像机监控姿态,使运动目标保持在监控中心附近,实现自动跟踪功能。
2 硬件设计
2.1 硬件系统总体设计
系统采用嵌入式ADSP—BF561为核心处理器构建视频跟踪系统硬件平台。系统硬件平台主要由BF561处理器、2自由度云台摄像机、RS232转换器、存储器、视频编码器、视频解码器、监视器、复位电路、下载调试接口、电源和时钟等部分组成,硬件系统结构组成如图3所示。
图像采集设备和跟踪单元采用2自由度云台摄像机,该模块内部集成了摄像系统、云台系统及通信系统3部分。由摄像机采集视频信号并通过视频解码芯片送至DSP,经视频图像分析确定跟踪目标位置,由模拟彩色电视机作为监视器显示监控视频图像。与此同时,DSP通过发送相应命令控制云台运动,实现了运动目标始终处于监控范围内,完成自动跟踪功能。
2.2 视频编解码器
视频编解码器是视频跟踪系统的重要组成部分,摄像机输出的视频信号和监视器直接播放的视频信号均为模拟信号。视频信号在进入DSP处理前必须进行A/D转换成数字信号,DSP处理后的视频信号也需要进行D/A转换。
视频解码器即完成A/D转换功能的器件,系统采用ADI公司的ADV7183A。ADV7183A是一款集成式视频解码器,无需任何配置便能自动检测NTSC、PAL和SECAM制式的模拟基带电视信号,并转换成YUV4:2:2格式的数字视频信号。BF561与ADV7183A接口原理如图4所示。
2.3 视频编码器
视频编码器即完成D/A转换功能的器件,系统采用ADI公司的ADV7179。ADV7179为集成式视频编码器,其可将ITU-656格式的YUV4:2:2数字视频信号转换成PAL、NTSC等标准制式模拟电视信号。因ADV7179需要用I2C总线对其进行配置,但BF561内部并未集成I2C总线,因此利用软件模拟I2C总线进行通信。BF561与ADV7179接口原理如图5所示。
2.4 RS232转换器
系统选用Winyork公司MCC-INOS云台摄像机,它支持工业标准RS232总线,标准UART可通过RS232电平转换获得,所采用的电平转换芯片为ADM3202,其与BF561接口电路如图6所示。将RS232总线经电平转换后与DSP通用异步收发器接口相连,进而与摄像机的云台进行通信。
3 软件设计
3.1 DSP双核资源规划
系统采用ADI公司的DSP芯片BF561作为主处理器,BF561内有双核独特结构,给系统设计带来方便。BF561双核独特结构,既可相互独立运行,也可协调处理并行运行,提高运算速度。根据视频跟踪处理算法,可对A核和B核工作进行合理分配,使其既相互独立互不干扰,同时共同完成自动视频跟踪功能。其中,A核主要工作是完成运动目标检测与跟踪,B核主要工作内容是完成云台运动控制算法的实现,共享存储器L2作为双核公共存储器主要用于双核间的信息交互。其具体工作内容如下:
(1)A核。完成视频图像采集存储至外存储器中;将外存储器中的图像数据传输至内核存储器中;进行运动目标检测及跟踪运算,计算出目标质心坐标并求出目标跟踪矩形框。
(2)B核。根据A核计算得到的目标质心坐标,实现云台运动控制算法;通过串口通信控制云台摄像机跟踪运动目标;将原视频图像增加目标跟踪矩形框,完成视频数据实时输出至监视器。
(3)共享存储器L2。存储A核与B核通信数据与共享数据,主要包括跟踪目标质心坐标、目标跟踪矩形框参数信息和云台静止标志信息等。
根据系统规划可知,BF561采用双核协同工作方式,其双核并行工作结构流程如图7所示。
3.2 视频采集
DSP采用PPI0进行整场图像模式采集,并将整场图像数据存放于外部存储器SDRAM中。摄像机输出复合视频信号经视频解码器AD7183转换成每秒25帧,每帧625行,每行864点像素,每点像素2 Byte视频信号,由PPI0以DMA方式传输至SDRAM,并以PAL整场模式存储,完成视频采集。其PPI0 DMA具体配置如下:
*Pppi0_CONTROL=0x0183;//输入模式,整场模式,32包装模式
*Pppi0_FRAME=625;//接收总行数
*Pdmal_0_X_COUNT=864*2/32;//每行接收包次数,32 Byte包装
*Pdmal_0_Y_COUNT=625;//接收总行数
*Pdmal_0_X_MODIFY=32;//传输间隔
*Pdmal_0_Y_MODIFY=32;//传输间隔
3.3 运动目标检测及跟踪
运动目标检测及跟踪算法为系统软件的核心,现被处理视频亮度信息(Frame_Compress)存储于片上共享存储器L2中,并在DSP的A核中实现运动目标检测和跟踪算法,求出目标质心坐标与跟踪矩形框四顶点坐标参数。
运动目标检测及跟踪核心算法程序流程如图8所示,首先将已压缩的连续3帧图像进行三帧差分运算得到灰度图像*Gray_Image,并经二值化、形态学滤波处理获得准确的运动目标图像* Binary_Image。目标图像通过连通域标记处理得到一组与图像大小一致的标记信息*Conneted_Image,并经卡尔曼跟踪模型确定面积最大目标在本帧图像的位置参数,包括目标质心坐标(X_CENT,Y_CENT)和跟踪矩形框四顶点坐标((X_Left,Y_Up),(X_Right,Y_Up),(X_Left,Y_Down),(X_Right,Y_Down))。
由于运动目标检测及跟踪算法是针对压缩后的图像进行处理,故目标质心坐标和跟踪矩形框四顶点坐标均需放大4倍处理,进而还原成实际图像参数值。最后将得到的实际目标坐标及跟踪矩形框四顶点坐标存放于共享内存L2中,使得B核可直接调用。
3.4 云台控制
云台运转控制由BF561中的B核处理完成,B核调用共享内存L2中的目标质心坐标(X_CENT,Y_CENT),实现对云台的控制。为实现对运动目标的有效跟踪,需在实际有效分辨率为720×576图像进行三级虚拟线圈划分,具体划分参数如图9所示。
系统通过判断目标质心坐标是否超出虚拟线圈,决定云台是否旋转,并结合所选摄像机云台性能特点,将云台移动所需角度和角速度进行设定。采用多级线圈,较好地解决了一级线圈的不足,不仅使目标尽可能地处于中心附近,同时也可根据目标移动的速度调整摄像机的旋转速度,从而使摄像机旋转更加平稳,获得更好的跟踪效果。
3.5 视频输出
监控的视频图像存储于外部存储器SDRAM中,并由B核控制PPI1输出至视频编码器,实现在监视器上的实时播放。在视频数据输出前,可在原图像的基础上增加目标跟踪矩形框进行辅助显示,其矩形框4顶点坐标存储于共享内存L2中,B核可直接在原图像数据中增加矩形框数据。
BF561视频图像输出方法不同,系统采用在缓存中静态建立一个整场模式的方法,即存储器内已是标准ITU-656视频格式,此时按地址顺序直接通过PPI输出即可。PPI以DMA的方式进行传送,具体配置如下:
4 系统测试
运动目标自动跟踪系统,主要通过控制云台摄像机的姿态使运动目标保持在监控范围内,并通过辅助矩形框锁定目标加以提示。当监控范围内出现运动目标时,监视器内便出现跟踪矩形框锁定运动目标。如果运动目标移动至距离监控画面边缘一定距离时,摄像机将转动使目标回到监控画面中心附近。跟踪效果监控画面如图10所示,系统自动识别运动人员并用矩形框锁定,如图10(a);当运动目标移动至监控窗口内一定范围时,云台发生转动如图10(b)和图10(c)。
5 结束语
文中基于ADSP-BF561为核心处理器设计一套自动视频跟踪系统,对智能监控系统中关键技术的实现进行研究,包括运动目标检测、目标跟踪算法、硬件平台搭建及摄像机的运动控制等。实验表明,系统可快速自动识别运动目标并进行跟踪,且具有一定的实时性及稳定性。由于时间限制,系统在设计上仍然存在不足,在多个方面仍需进一步完善。