人形目标检测与跟踪
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
——人形目标检测与跟踪
一、
本组研究方案,算法系统框图
二、 检测算法、原理、程序实现方法、调试过程
【视频处理】
老师提供的两端视频两段视频并不能直接用来输入OpenCV 所编程序处理,需要将其转化为无压缩的avi 格式。利用软件WinAVI Video Converter ,转换为ZJMedia uncompressed RGB24格式。
【背景建模】
我们小组利用N 帧图像的平均来求取背景,并实时对背景进行更新。由于考虑到ExhibitionHall.avi 视频中运动物体所占场景比例少,运动轨迹为直线,为了处理的简单,所以在这不刻意区分物体和背景像素点。即(1)(1)()()A A A B k B k I k αα+=-+ ,这里的α 很小(0.003) 。
【前景提取】
灰度图像的处理比彩色图像的处理过程简单。我们小组将读入的彩色图像变成灰度图像,并二值化;同样,背景也进行二值化。两者做差值,得到一些离散的黑白点块。也就
是要识别的目标。但是,这样得到的块是分散开的,程序
整的人形被分块识别成多个目标。为此,我们做了一些简
单的后处理。先腐蚀元素,去除不必要的杂点,然后进行
膨胀块处理,自定义块的大小,使其膨胀成能被识别成一
个人形的目标。另外,我们还做个简单的高斯低通滤波,
是得到的结果光滑些。其流程图如右。
【目标检测】
根据前景处理的结果,得到一些连续的块目标。利用帧间差,可以提取出目标的轮廓。根
据轮廓的位置分布,计算出检测目标的形心和大小。并予以标记。
【目标跟踪】
根据目标帧间的位移差值,可以计算出运动目标在x,y方向上的运动速度。可以利用这
个关系判断下一帧目标的位置。设置一个合适的阈值,就可以实现目标的跟踪。在此,我们还
引入了重叠判断机制。如果目标重叠,即通过遍历,发现块重叠大于一定阈值后,根据前面得
到的位置预测判断当前物块位置;如果不重叠,则遍历这幅图像中的所有物块,寻找临近最优
物块,以保持编号连续性。在目标跟踪过程中,还进行了Kalman滤波,对目标轨迹进行滤波
处理。
三、实验结果,图示
【背景建模】
【前景提取】
直接与背景做差值得到的图像
加入腐蚀膨胀后得到的图像
【目标检测】
【目标跟踪】
【目标重叠处理】
四、总结、存在问题分析
这段程序能基本检测出在场景中的运动目标,并且对目标没有长时间停留和背景中的场景固定的视频检测效果好。
我们小组在刚开始做的时候并没有注意到是“人形目标检测与跟踪”,而是直接作为“运动目标的识别和跟踪”进行处理。由于建的模型很简单,只要是与背景相比有变化的部分都能被检测出来。如果要做人形目标识别,就需要对人形目标进行建模,规定一定的长宽比,设定一个阈值,在这范围内的目标就能被识别出来。这样,在镜中的成像,光照的影响都可以被滤掉。
另外,这段程序在某些与背景相似的目标检测上效果较差,容易把它识别成两个目标。这
是因为背景建模采用了“背景更新”法和前景提取用了
“二值化处理”。虽然采用了“背景更新”,但是给定的
很小,只有0.003,相当于我们认为背景一直是固定的。
“二值化处理”使得在识别上忽视了很多像素点。这样
和背景颜色相似点就很容易被判为背景,这样就会造成
一个人形目标会被识别成几个目标。采用“帧差法”能
较好的避免这个问题,得到的人形轮廓与背景的像素没关系。
物体长时间停留,会产生目标丢失。当该物体再次移动时,会产生虚假目标。这也与背景建模有关系。这也许是采用了“背景法”建模的同学心中的永远的痛。因为roomWalk.mpg 里就有人形物体长时间停留。经过小组内讨论,采用“背景法”和“帧间差”结合的方法能较好的避免这个问题。如果物体长时间停留,采用“背景法”和“帧间差”得到的结果肯定会不一样。在这要进行一点简单处理,就是把“帧间差”图像做镜像,然后用与“背景法”中区域像素填充“帧间差”图像中人形区域。两者做差值,根据得到的差值就会把整幅图像分成两个区域,一个是物体长时间停留得到的“虚假目标区域”,一个是“正常目标区域”。借用图像分割技术中的“基于区域的分割”中的‘拆分和聚合’思想,在背景更新中将“虚假目标区域”进行‘忽略’,这样得到的结果就只有运动目标了。