如何计算视频中的对象

How to count objects in videos

总的来说,有没有关于如何使用视频作为深度学习模型的输入的"best practise"?我们如何才能以最有效的方式对视频进行注释?

此外,我还有一些鸭子穿过通道的视频。我想数一下经过通道的灰鸭和黄鸭的数量。一只鸭子可以直接通过(最简单的情况),也可以在通道里停留一会儿再通过,也可以走一半通道从另一个方向返回(这种情况不应该算在内)。

我打算用Mask-RCNN在每一帧中分割鸭子,然后查看第i帧的masks和第i+1帧的masks,并制定规则来统计真正通过通道的不同鸭子的数量. 这对我来说似乎不是最佳选择。

任何ideas/help/hints?

我想这取决于视频,但一个不错的选择是

  1. 注释一些'not to similar frames':http://www.robots.ox.ac.uk/~vgg/software/via/
  2. 使用 YOLOMask-RCNN 等模型在每个对象上找到边界框并对它们进行分类。或者使用光流算法。 光流 算法也是一个选项,而不是使用深度学习,但我最终决定不使用它,因为有几种可能的结果,从我的角度来看,这使得它不太自动化:*object that移动、停止和重新开始移动需要特别注意 *具有一种主要颜色的对象可能会被分成两块(中间像素可能会被视为未移动)*一组对象一起传递可能会被视为一个对象
  3. 然后使用跟踪算法,您将能够为每个对象指定一个特定的 ID,从而在它们通过某条线时进行计数。