接上篇 图像分割技术(2)
严格说来这部分应该属于运动检测,是计算机视觉的内容,有光流,卡尔曼,meanshift。。。
对于图像处理,更侧重的是通过分析和转换,突出运动特征。
这里从空间域和频率域上介绍
5.1 空间域
基本思路是帧间做差,按参考帧的不同,又分为帧差法和累积差值。前者使用相邻帧做差,后者固定一帧作为参考,所有后续帧与之做差。
帧差:
按对比的条件,累积差值又分为绝对ADI、正ADI、负ADI:
这里R(x,y)为参考图像,对于累计差值的方法,参考图像如果取某一帧显然是不合适的(考虑监控路口视频流),理想的参考帧应该是当前场景下始终保持静止的图像(如路面,围栏,树)。
而使用正ADI可以重建满足上述要求的参考帧(图5-1):
1. 对一段运动视频,取第一帧为参考,后续帧与之做正ADI,借此获取运动物的初始位置。
2. 对每个初始位置,用后续帧里运动停止的那一帧的相应内容覆盖。
图5-1. 重建参考帧
图5-1的1为视频流第一帧,2为使用正ADI获得的运动初始位置,3为抠去运动物的重建参考帧(结果有点糙。。。)
5.2 频率域
算法出自Rajala等人的Application of the one-dimensional fourier transform for tracking moving objects in noisy environments。
基本思路是:将目标的运动投影到x和y轴,然后分别对其做傅里叶变换,查找变换域内幅值最高的频率,由该频率解算出两个方向的运动速度和方向。
该方法对尺度较小的运动有一定优势,算法也不复杂,但严重依赖参数的选择。
1)对一个K帧M*N大小的视频流,在时间点t上,x轴和y轴上投影加权和为:
其中a1和a2的选择文章写的很含糊:取接近U_max/V_max的整数,前者由帧数和采样频率确定,后者为期望的最大速度。
delta_t为帧间时间间隔。
2)然后对1)的投影做一维傅里叶
3)分别选择频域内x和y方向取最大值的频率u(第一个周期内),由式u=aV获得速度;此外分别对gx的实部和虚部做二次导,若时刻n的值为同符号则表示该时刻x方向速度为正,对gy类似。
实验中最大的问题是a的选择,可能是我没看懂论文,结果基本不可信。