简单的对象跟踪 Matlab 算法

Easy Object Tracking Matlab Algorithms

我有从细胞培养物中移动哺乳动物细胞的延时图像,我正在尝试使用 Matlab 为细胞设计跟踪算法。我正在尝试寻找一种简单易用且处理时间短的算法。最重要的是,我更愿意使用一种需要最少数学理解的算法。到目前为止,我发现卡尔曼滤波器在运动跟踪方面很受欢迎,但我想了解更多有关此类应用程序的不同可用选项的信息。图像中可用的任何动态信息或参数都是有限的:面积、质心等。

Here is an example of what a typical image might look like (but with less background noise than this particular image from the web

我还想知道分段和跟踪之间的确切关系,因为这对我来说有点不清楚。分段是跟踪的必要准备步骤吗?或者是否可以在没有分割步骤的情况下进行跟踪?

如果有人能提出任何实施起来不会太复杂的跟踪算法,我将不胜感激。感谢您的帮助。谢谢!

传统上,分割是跟踪的关键第一步。分割的思想是识别感兴趣的对象。这项任务通常受到采集图像中存在噪声的挑战。因此,人们通常会应用多个降噪滤波器(例如,高斯模糊)来尽可能多地去除噪声,从而使分割算法的工作更轻松。

分割步骤后生成的图像是二值图像。在右下方,您会看到一个分段图像。

分割后,下一个自然步骤就是跟踪这些细胞。选择合适的跟踪器需要考虑几个参数:

  • 细胞流动性和方向:线性、随机等
  • 细胞数量(又名算法复杂度):你的算法如何随细胞数量扩展
  • 细胞分裂意识:您的追踪器能否在有丝分裂后成功追踪子细胞。
  • 缩小差距:您的跟踪器能否处理 enter/leave 场景
  • 的单元格

还有很多事情需要考虑,但作为第一个开始,您可以编写一个简单的最近邻跟踪器。该跟踪器会在时间帧 t 中为每个单元格找到它在 t+1 中最近的邻居。这显然是一个非常简单的跟踪器,可能不适用于大多数情况,但它可以为您提供一个开始构建的基础。

我还建议您在完成分割后检查 Fiji/ImageJ 的细胞跟踪插件。