基于DSP的运动目标实时检测自适应算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于DSP的运动目标实时检测自适应算法
高阳;樊永生;余红英;于雅慧
【摘要】嵌入式系统中运动目标检测存在噪声影响大、实时性差的问题.采用TI系列的TMS320DM642设计了一种运动目标自适应检测系统.首先计算相邻帧图像差值的熵值,通过三帧差法自适应地提取目标.最后,将该算法移植到了DSP平台.实验结果表明,该算法能有效解决三帧差法中噪声干扰问题,而且实时性好.
【期刊名称】《科学技术与工程》
【年(卷),期】2014(014)017
【总页数】5页(P92-96)
【关键词】TMS320DM642;熵值;三帧差;自适应
【作者】高阳;樊永生;余红英;于雅慧
【作者单位】中北大学计算机与控制工程学院,太原030051;中北大学计算机与控制工程学院,太原030051;中北大学计算机与控制工程学院,太原030051;中北大学计算机与控制工程学院,太原030051
【正文语种】中文
【中图分类】TP391.41
近年来,运动目标的检测已成为模式识别和智能控制领域中一个重要的研究方向。
它主要研究从图像帧中检测到运动目标,能够成功有效地检测到运动目标是进一步处理的重要基础,如人脸识别、行人检测等领域[1]。
目前对运动目标进行检测的
算法主要有:背景差分法[2]、帧间差分法[3]、光流法[4]等。
背景差分法的性能依赖于所使用的背景建模技术。
由于场景的复杂性、不可预知性,以及各种环境干扰和噪声的存在,比如光照的突然变化、实际背景图像中有些物体(树叶、水纹)的波动、摄像机的抖动、运动物体进出场景对原场景的影响等,使得背景差分法中背景建模变得十分复杂,因此运算量比较大。
光流法进行运动目标检测需要对每个像素点计算光流,运算量非常大。
所以,背景差分法和光流法都很难用于实际的嵌入式系统中。
帧间差分法可以避免背景差分法中背景建模等复杂的问题。
为了更准确地识别运动目标,研究人员进一步提出了三帧差分算法;但是三帧差分法二值化的时候阈值是
根据经验值选定的,所以不能在滤除噪声干扰和保留完整目标轮廓之间选择一个合适的值。
因此,三帧差分法往往与别的目标检测方法相结合[5,6],或者先进行三帧差分法,再进行一些数学形态学算法[7](膨胀、腐蚀、开操作、闭操作)进行滤波。
这些方法会使计算量显著增大,实时性不是很理想。
为此,提出了一种自适应阈值的三帧差分算法,在保证识别运动目标滤除背景中噪声干扰的前提下,明显地改善了实时性,更好地应用到实际的嵌入式系统中。
1 算法设计
1.1 图像的熵值
在信息论领域中,熵(entropy)是不确定性的量度。
由于本文要研究的是数字图像,这里给出离散序列熵的定义。
在一维的情况下,假定随机变量为X,X有N个可
能的取值,分别为:x1,x2,…,xN,可能发生的事件有N个
每个事件发生的概率为
那么所有事件X=xi的平均自信息量H就是随机变量的熵。
式(3)中H表示熵值,p表示事件发生的概率。
显然,当随机变量X取所有值的概率相等的时候,X的熵值H取值最大[8];反之,当X取一个值的时候,熵值最小为0。
同样,对于一帧图像可以看作是随机变量,图像在每个像素点处的灰度值相当于某一个特定的事件。
当图像帧中每个像素点的灰度都不一样或者说所有的灰度等级均匀地分布在该帧图像中时,这帧图像的灰度熵值最大;反之,当图像帧中只有一个灰度级,也即图像为单一颜色时,图像的灰
度熵值最小。
由此,可以得出一个结论:图像越规则,图像中灰度越一致,图像的熵值就越小。
1.2 自适应阈值确定
在运动目标检测的三帧差分法中,当前帧图像与前后两帧图像差分后需要二值化。
二值化阈值T的选择直接影响运动目标检测结果,如果阈值T选择得太小,那么
不能充分地消除背景中的干扰(背景中非目标对象的微小波动,如树叶、水纹),因此需要后面增加数学形态学滤波,无疑增加了运算量;相反,如果阈值T选择得太大,进行运动目标检测后的目标轮廓会不连续,导致目标的轮廓不完整,需要用数学形态学方法修复不连续的目标轮廓,同样会很大程度地增加运算量。
三帧差分法二值化阈值时,根据实际图像灰度熵值的大小来确定二值化阈值的大小。
根据前面得出的结论,图像中噪声干扰越少,说明图像灰度级取值越少,图像的灰度熵值越小;因此,选择较小的阈值T来使目标的轮廓尽可能完整;相反图像中噪声干扰越大,说明图像中灰度级变多,图像的灰度熵值越大,这时,需要选择稍微大点的阈值T来消除背景中的干扰。
这样,就可以在滤除背景中的噪声干扰和保持
轮廓的完整性之间自适应地选择一个合适的阈值T。
1.3 自适应三帧差分算法及步骤
帧间差分法是实时系统中常用的方法之一,它是通过相邻两帧图像做差来检测运动
目标的,三帧差分法是在帧间差分法的基础上发展而来的,它的主要思想是从视频序列中取出三帧相邻的图像,中间的图像帧为当前帧,然后让当前帧图像分别与前一帧图像和后一帧图像做差分,然后将两个差分结果进行“与”操作。
三帧差分法具体步骤如下。
1)从待检测的视频图像中取出n帧图像f(0)(x,y),f(1)(x,y),…,f(n-1)(x,y);
其中下标0,1,…,n-1表示图像帧标号,x,y表示图像帧中像素点的坐标值。
取出连续三帧图像f(k-1)(x,y),f(k)(x,y),f(k+1)(x,y);其中 f(k)(x,y)为当前
帧图像。
分别计算当前图像帧与相邻前后两帧图像的差值
式中 d(k-1,k)(x,y)、d(k,k+1)(x,y) 分别表示差分结果。
2)对于得到的差分结果图像,设定一个阈值T,进而得到二值化图像b(k-1,k)(x,y),b(k,k+1)(x,y)。
式中 b(k-1,k)(x,y)、b(k,k+1)(x,y)表示二值化后的
图像,T1、T2即为前面根据差分图像的熵值所确定的自适应阈值。
3)将上面得到的二值化图像b(k-1,k)(x,y)和b(k,k+1)(x,y)按像素点进行“与”操作,进一步得到一个二值图像 B(k-1,k)(x,y)。
式(8)中 B(k-1,k)(x,y)表示 b(k-1,k)(x,y)和 b(k,k+1)(x,y)按像素点进行“与”操作后的二值图像。
2 硬件配置及算法移植
2.1 DM642简介
TI公司6000系列的TMS320DM642是一款功能强大的DSP芯片,它在音视频[9]和图像处理的强大功能,使得DM642在运动目标检测以及相关的嵌入式系统
中被广泛应用。
DM642是32位定点DSP,工作主频最高达720 MHz,处理性能可达5760 MIPS。
为了协调同外部慢速设备进行通信,DM642内置16 KB的一级高速缓冲程序存储器和16 KB的一级高速数据缓冲存储器,同时片内还有256 KB的SRAM,既可以配置成二级缓冲存储器又可以配置成DSP的内存,也就是说,二级缓冲存储器和DSP内存复用这256 KB的存储空间。
当与外部慢速设备之间数据吞吐量大的时候需要增大二级缓冲,同时就会相应地减小DSP内存,根据实际应用合理分配这两部分的大小。
此外DM642还有丰富的片上外设:3通路32位定时器、2通路 McBSP、1通路 McASP、3通路视频端口(Video Port)、1 通路VIC、1 通路 PCI、1 通路 IIC、8路 GPIO、1路 EMAC&MDIO、1路16/32位HPI。
2.2 硬件系统配置及算法移植
2.2.1 视频采集输入
经过CCD摄像机采集输入视频信号,如图1(a)所示,该视频信号是PAL制式的,画面解析度为720×576。
然后将视频信号输入到视频解码器TVP5150,如图1(b)所示,该解码器可以接受2路复合视频信号(CVBS)输入和1路超级视频信号
(S_Video=Super_Video,Y/C)输入。
视频解码器的输出是8位BT.656格式的视频信号,可以直接输入到DM642中进行处理。
2.2.2 DM642配置
DM642内置256 KB的SRAM,程序中指定为L2,开发板上外扩32 MB的SDRAM,程序中指定为CE01和CE02。
图1 视频输入Fig.1 video input
此外开发板上还有4 MB的Flash存储器,分配的地址空间为0x90000000h。
将
程序中的各个段指定到具体的内存空间中,其中.cinit表示全局变量和静态变量存
放地址,.test表示代码段,.stack表示堆栈段,.bss表示变量空间(为未初始化的临时变量存储地址),.const表示全局不变量段(字符串或恒量),.data表示常用数据段(对变量的初始化数据),.far表示程序中用far声明的全局和静态变量的保留
空间,.switch表示switch语句存放的表格段,.sysmem表示保留空间为动态内
存分配使用,.capChaAYSpace、. capChaACbSpace 以及.capChaACrSpace
表示视频数据采集缓冲区,.dis-ChaAYSpace、. disChaACbSpace 以及. dis-ChaACrSpace表示视频数据输出缓冲区。
完成了上面的存储区域分配之后,就可以将opencv中的程序移植到DM642芯片中了。
2.2.3 视频输出
DM642处理后的视频,以BT.656格式输出,然后输入到视频编码芯片
SAA7121,编码器输出的信号直接给到TFT彩色显示器中显示出来,如图2所示。
图2 TFT彩色液晶显示器Fig.2 Transflektiver Farb-TFT
2.2.4 CPLD进行配置
开发板上的CPLD通过IIC总线对解码器TVP5150、编码器SAA7121、异步串行口UART以及EMAC等进行初始化配置。
3 实验结果及分析
实验设计用三种方法对拍摄的视频进行运动目标检测:第一种方法是三帧差分法;第
二种方法是首先使用三帧差分法与形态学滤波组合的算法;第三种方法是用本文中
提出的自适应阈值三帧差分算法。
嵌入式平台选择的是合众达公司的SEEDVPM642实验箱。
将三种检测算法分别移
植到嵌入式系统中,对拍摄的200帧含有运动目标的图像帧进行处理,从中选取
一帧最具代表性的图像进行分析,如图3(a)所示为从CCD摄像头拍摄视频中提取的原图,图3(b)为三帧差分法进行运动目标检测的结果,图3(c)为三帧差分加上
形态学滤波组合算法检测的结果,图3(d)为本文中自适应阈值三帧差分法检测结果。
对实验中的200帧图像分别进行处理,记录每帧图像用三种算法的运行时间,如
表1所示。
分别列出了每种算法运行的最长时间max,最短时间min和平均时间mean。
图3 实验结果对比Fig.3 Compared with the result of the test
其中算法1表示三帧差分算法,算法2表示三帧差分与形态学滤波组合算法,算
法3表示自适应阈值三帧差分算法。
表1 三种算法运行时间对比Table 1 runtime comparson of three algorithm算法max min mean 11.0 s 0.8 s 0.7 s 23.7 s 3.3 s 3.4 s 31.3 s 1.1 s 0.9 s
从上面的实验效果图以及运行时间对比表中可以看出,运用自适应阈值三帧差分算法检测的运动目标轮廓完整性明显优于三帧差分法,可以和形态学滤波后的检测结果相媲美,但是,响应时间明显快于三帧差分与形态学滤波组合的算法。
因此,本文中的自适应阈值三帧差分算法能更好地运用到嵌入式系统中。
4 总结
提出了一种自适应阈值三帧差分算法。
该算法通过计算帧间差分后图像的熵值,自适应地确定二值化的阈值,从而解决了三帧差分法中二值化阈值选择的问题,可以自动地在滤除噪声干扰和保留目标完整性之间选择一个合适的值。
从实际测试结果来看,该算法的时间复杂度没有明显增加,但是运动目标的轮廓得到了明显的改善,在一定程度上解决了嵌入式系统中运动目标检测的实时性问题。
参考文献
【相关文献】
1 Yu Jaehoon,Miyamoto R,Onoye T.A speed-up scheme based on multiple-instance pruning for pedestrian detection using a support vector machine.IEEE Transactions on Image Processing,2013;22(12):4752—4761
2 Huang Zhenkun,Hu Ruimin,Wang Zhongyuan.Background subtraction with video coding.IEEE Signal Processing Letters,2013;20(11):1058—1061
3 Wang Kongqiao,Xu Lei,Fang Yikai,et al.One-against-all frame differences based hand detection for human and mobile interaction.Neuro Computing,2013;11(23):185—191
4 Katica B,Patricio O,Thierry V,et al.Quantitative analysis of cell migraion using optical flow.Plos One,2013;6(23):1—10
5 袁国武,陈志强,龚健,等.一种结合光流法与三帧差分法的运动目标检测算法.小型微型计算机
系统,2013;34(3):668—671 Yuan G W,Chen Z Q,Gong J,,et al.A moving object detection algorithm based on a combination of optical flow and three-frame difference.Journal of Chinese Computer Systems,2013;34(3):668—671
6 王小峰,王吉华,王远鹏,等.混合高斯模型和差分法相融合的运动目标检测.小型微型计算机系统,2013;34(3):685—688 Wang X F,Wang J H,Wang Y P,et al.Moving target detection algorithm based on mixture caussian model and subtraction.Journal of Chinese Computer Systems,2013;34(3):685—688
7 徐国保,王骥,赵桂艳,等.基于数学形态学的自适应边缘检测新算法.计算机应用,
2009;29(4):997—999 Xu B G,Wang J,Zhao G Y,et al.Adaptive algorithm of edge detection based on mathematical morphology.Journal of Computer Applications,2009;29(4):997—999
8 孙即祥,史慧敏,王宏强.信息融合中的有关熵理论.计算机学报,2003;26(7):796—801 Sun J X,Shi H M,Wang H Q.The theory relative to entropy in information fusion.Chinese Journal
of Computers,2003;26(7):796—801
9 宋辉,刘加.基于微分麦克风阵列的自适应语音增强算法研究及DSP实现.自动化学报,
2009;35(9):1240—1244 Song H,Liu J.Research on adaptive speech enhance-ment algorithm based on differential microphone array and its implementation with DSP.Acta Automatica Sinica,2009;35(9):1240—1244。