我正在寻找一种算法/方法,通过它我可以检测视频中的流动区域。该视频是灰度热图的视频,其中大部分图像没有运动。运动中的区域通常显示为闪烁/移动的白点,而在图像的其余部分中,这些点不移动。最简单的形象化方法是想象一个有噪音的电视屏幕,但噪音只在某些区域发生变化;我想检测这些区域。
当前实现的方法是简单地计算每个像素随时间的标准偏差,并将其用作运动的粗略估计。虽然这确实产生了所需的图像,而且速度相当快,但我不是该方法的忠实拥护者,因为它不关心事情的变化速度有多快(std(sin(x) == std(sin(2x) )))。
根据德克萨斯大学的这篇论文,我尝试通过 Black 和 Anandan 算法估计流动区域。具体来说,我使用了布朗大学制作的这段 Matlab 代码。不幸的是,它不仅需要很长时间才能运行,而且它似乎真的没有工作(显示了最肯定没有的高流量区域)。我在图像/信号处理方面没有太多背景,所以我完全有可能搞砸了实现,但我认为情况并非如此。
我的问题是:谁能想到我可以用来帮助估计流动区域的任何替代方案?另外,我认为当前的方法(采用标准偏差时间)是有缺陷的,我错了吗?
提前感谢您的帮助。