我想要跟踪视频中的对象(例如,移动的球)。参考opencv教程- 'Features2D + Homography to find a known‘,我已经能够通过提供参考图像来跟踪静止图像中的对象。我计划使用参考图像来检测输入视频的第一帧中的运动对象。对于下一帧,前一帧中检测到的对象应充当参考图像,依此类推。
但是我不知道如何从对象的描述符中找到它。一个有几个对象的图像将有几个关键点,但是如何找到哪个关键点或一堆关键点属于图像中的哪个对象。
我正在寻找在运动视频中检测对象的最快和更有效的方法。关于这段视频需要注意的是:它非常粗糙,分辨率很低,而且背景和前景都在同时移动。
注意:我正在尝试在移动视频中检测道路上移动的卡车。
我尝试过的方法:
Training a Haar Cascade -我已经尝试过训练分类器,通过复制所需对象的多幅图像来识别对象。事实证明,这要么产生许多错误检测,要么根本没有检测到(从未检测到所需的对象)。我用了大约100张正片和4000张底片。
SIFT和SURF关键点-当尝试使用这两种基于特征的方法时,我发现我想要检测的对象的分辨率太低,因此没有足够的特征来匹配以进行准确的检测。(从未检测到所需的对象)
模
我正在使用一段视频在测试数据上测试我的自定义yolov5s对象检测模型。然而,并不是视频中的每一帧都具有要检测的有效对象。 [在视频上运行推理测试时,下图显示了模型何时找到具有可以检测和分类的对象的帧 ? 如你所见,帧4401检测到了一个让行交通标志,但帧4399和4400没有检测到任何东西。我的问题是,如何处理4500帧视频,并且只显示检测到对象的帧。我已经提取了JPEGS格式的帧,但只想要有效的JPEGS来评估测试性能?更好的是,是否可以将相关框架中的数据提取到文本文件中? 如果有人可以帮助我,这将是一个很大的帮助和节省时间,非常感谢提前。 the new error
我正在从视频中提取帧,并绘制在每个帧中检测到的每条线中获得的坐标的斜率值,如下所示
我绘制的“斜率”值与“帧”。
从视频中提取帧
for k = 1 :240 %no.of frames
%Here in loop am extracting the line from each frame then
[ycoord,xcoord]=find(line);%finding the coordinates of line
Ymax(k)=max(ycoord);
Ymin(k)=min(ycoord);
Xmax(k)=max(xcoord);
Xmin(k)=min(xcoord);