检测和跟踪视频中的任意对象

信息处理 Python 追踪 视频 物体检测
2022-01-29 23:35:28

我有来自固定(固定)相机的视频。有时帧中有轻微的移动(例如,树在风中移动了一点)。其他时候,有些人可能会走进相机的视野,一只鸟可能会飞过,等等。

我可以建立一个分类器来检测鸟类和人......但我不知道相机会拾取什么。我知道诸如imageNetYOLO之类的模型,但我不想对帧中可能出现的内容做出假设(颜色、形状、大小、类型等)。

因此,我正在寻找一种方法来检测视频中的任意对象(即相对于图像的其余部分移动的任何对象)并跟踪它们。分类可以在以后进行。

有哪些方法可以解决这个问题?我将用 Python 编写。

1个回答

如果您要做的只是隔离*并跟踪与背景有一些对比的对象,那么您要搜索的关键词是“对象跟踪”、“视频跟踪”、“视频对象跟踪”或这三个用“目标”替换“对象”。

不需要神经网络来做到这一点——基于普通旧规则图像处理的视频跟踪器可以正常工作。
我在上一段中说“将”,然后将其更改为“可以”,因为它取决于很多变量——如果你有一个对象与无聊的背景具有高对比度,这很容易。试图在一堆树上追踪多只鸟——这可能很困难。用神经网络来做这件事不一定会更容易。

如果您从第一原则开始,您确实需要花一些时间在上面——视频跟踪并不容易,您需要从图像处理和动态系统理论的良好基础开始(做“跟踪”部分) .

OpenCV 有一个 Python 接口,在“OpenCV 视频对象跟踪”上的快速搜索让我对似乎是 OpenCV 的对象跟踪模块有很多有希望的点击。如果我是你,我想这就是我要开始的地方。尤其是如果您对拥有视频跟踪器而不是制作视频跟踪器更感兴趣,那么仅使用 OpenCV 为您提供的东西应该是一个好的开始。

* “隔离”而不是“识别”或“分类”——即,如果你的分类开始和结束于“那是一件事”,那么你很好。