问题标签 [video-tracking]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
95 浏览

c++ - 构建 MultiTarget-tracker 库时出现 CMake 错误

我正在尝试在 Windows 中使用 CMake构建Multitarget-tracker 。最初我在下面有这个警告:

我手动指出了 OpenCV 库构建版本的目录,并尝试构建. 我在构建时引用了这个链接。我现在收到这个警告:

我试图检查OpenCV_FOUND变量,但在我再次按“配置”后,它会自动取消选中。

0 投票
1 回答
575 浏览

python - 如何捕获由按钮创建的节点?

在 The Foundry Nuke 中,我正在尝试编写脚本。按下Create按钮后,我得到了一个特殊的Transform节点。我想捕获正在创建的这个节点,即如果它是一个跟踪器,我希望那个跟踪器在我的脚本中获取它,以便我可以操作它。

例子:

我试图寻找最后创建的节点内置函数,但我找不到。我尝试了一些回调,但我不确定如何正确使用它们。

0 投票
0 回答
461 浏览

opencv - 带学习的实时多目标跟踪

我的目标是拥有实时的 MultiTracker with Learning。
我使用卡尔曼滤波器跟踪对象,但在跟踪时发现估计错误。
该对象未被连续跟踪。我想实现一些学习机制以及跟踪。
我想到的一种方法是,
1)计算特定 roi 的平均 HSV,然后将该 HSV 值存储在一个向量(ScalarVec3b)中
2)将新的 HSV 值(来自某个 ROI 的平均值)与所有以前的 HSV 值进行比较矢量集合。3)如果新的 HSV 值与向量
中的 HSV 值 不匹配,则将其作为新的单独对象进行跟踪。 4) 否则,如果新的 roi 匹配向量中的 HSV 值
,那么就说它是 roi 中存在的同一个对象。继续跟踪旧对象。
5) 进行一些基于时间的定期检查以删除vector 中的旧 HSV 值

我尝试过 KCF、MIL 等,它们不是实时的。你能推荐任何实时学习机制或改进上述建议的方法吗?

0 投票
1 回答
177 浏览

arduino - 将 am 文件嵌入 Simulink

我正在 Matlab Simulink 中研究球和板。我有一个球跟踪 Matlab 文件。如何在 Simulink 中运行它?我想要来自球跟踪 Matlab 文件的位置数据。我从用户定义的函数中尝试了 s 函数,但由于视频输入错误,我的代码无法正常工作。我应该怎么办?

0 投票
1 回答
448 浏览

video-tracking - 我无法理解从 MOSSE 得到的过滤器(Visual Object Tracking using Adaptive Correlation Filters)

我运行 mosse 代码并得到跟踪过滤器,然后进行 IDFT 并显示为图像: 过滤器图像中心有一个黑点在汽车顶部。

但是论文显示过滤器是: 这是论文作者的图像显示。

0 投票
0 回答
698 浏览

android - OpenCV、Android、Android-Studio:从视频 URI 检测对象

我对 android 应用程序开发非常陌生,我目前正在开展一个学校项目,该项目需要我的应用程序使用我的 android 手机捕获视频,然后检测一个对象,在这种情况下,该对象是 AA 电池,使用 openCV,在拍摄的视频中。我想知道如何让 OpenCV 使用视频的 uri 检测预先捕获的视频中的对象,我只能使用 openCV 的 javaCameraView 实时检测对象。

如果 OpenCV 无法仅使用视频的 URI 进行检测,还有其他可能的方法吗?请注意,我必须使用 openCV,因为这是一个学校项目

这是我用于视频捕获的 java 代码:

}

0 投票
1 回答
974 浏览

c++ - 从实时相机源而不是图像中按形状跟踪对象

我有下面的 C++ 代码,它旨在从预先指定的图像中检测形状并围绕形状的周边进行绘制。但是,我希望将其带到下一步,并从相机馈送中跟踪形状,而不仅仅是图像。但是,我不熟悉如何进行这种过渡。

在这件事上的任何帮助都非常感激。谢谢!

0 投票
1 回答
296 浏览

cluster-analysis - 聚类时间事件

我有一个关于使用点云进行聚类的问题,其中一维(代表时间)受到一定程度的保护。

为了让它超级清楚,请考虑这个视频

cloud_of_points

用肉眼可能会看到一些像蚊子一样的密云飞来飞去,它们可能代表着几个东西进出一个场景。现在假设我们有一个 3 维点数组(x,y,time)并应用一些简单的聚类(比如 DBSCAN)

聚类

现在聚类效果很好,只是会议事件被考虑在同一个聚类中,得出了 X 轨迹。现在,如果有某种方法可以区别对待第三个坐标,也许人们可以恢复基本事实。哪些算法可能非常适合这个问题?

0 投票
0 回答
536 浏览

python - 匈牙利/munkres 算法不能基于最大“价格”链接点

我一直在使用一些已经在 python 中实现的匈牙利/munkres 算法(munkres 包和 scipy linear_sum_assignment 是具体的)并且它们都运行良好(无论如何它们都基于相同的 C 实现),但是它们缺乏我特别需要的功能。

为了给出一些上下文,我正在跟踪从一个图像到另一个图像的点,所以成本矩阵是图像 1 中的点到图像 2 中的所有点之间的距离。

问题出现在一个非常特殊的情况下,即如果图像 1 中的一个点在第二个图像中丢失,但在图像 2 中也检测到一个新的不同点,那么图像 1 中的一个点总是与新的点匹配观点。这是匈牙利算法按预期工作,不要误会我的意思。但是我需要的是匈牙利算法返回一个“不匹配”的点,如果它想要匹配的点太远的话。在 matlab 中,文件交换中有一个名为 simpletracker.m 的示例,那里的 munkres 实现可以允许没有良好链接的情况。因此,即使您有两个图像,例如 5 个粒子,它也可能只链接这些粒子中的 2 个,因为您可以使用最大链接距离参数来决定是否应该进行分配。

举个简单的例子,如果我们有一个在 (1,1) 和 (10,1) 有两个点的 image1,并且为了争论,我们知道它们会在下一张图像中向右移动一个像素,所以我们希望它们在图像 2 中位于 (2,1) 和 (11,1) 处,如果在第二张图像中找到正确的粒子,匈牙利算法将很容易链接正确的粒子。但是,如果没有找到其中一个,就会出现问题,比如 (11,1) 处的点,而是在 (20,1) 处发现视频中出现的随机噪声点或新点。然后匈牙利算法将按预期链接点 (1,1) 和 (2,1),但现在也将 (10,1) 链接到 (20,1)。

所以在matlab实现中你可以选择一个最大链接距离值,然后将成本矩阵条目设置为无穷大,如果只能分配一个粒子,那么没关系,算法只返回一个链接。在 munkres.py 包中,有一个叫做 DISALLOWED 的东西,但是一旦这阻止了对每个点的分配,算法就会失败。例如,差分矩阵将是 [[1, 9^2],[8^2, 10^2]]。如果我们将 70 设置为最大链接距离,则矩阵为 [[1, DISALLOWED],[64, DISALLOWED]] 这意味着唯一有效的分配是图像 1 (1,1) 中的点 1 到图像 2 中的点 1 (2 ,1)。然而,munkres 算法只会返回 UnsolvableMatrix: Matrix cannot besolved!因为它无法链接第二点。

很抱歉文字墙和可能的混乱。我要问的是,是否有人知道可以允许非赋值的 munkres 实现,它已经在 python 中实现了?或者,处理错误匹配点的最佳做法是什么?我在想我可以在分配完成后尝试过滤掉异常值,或者如果所有值都被禁用,或者在计算距离矩阵后可能从距离矩阵中删除列,但是我不确定这是否足够强大以涵盖所有可能案例。

0 投票
1 回答
568 浏览

image-processing - MeanShift公式理解

我正在使用来自这里的想法来实现用于对象跟踪的 MeanShift 算法:http ://www.cse.psu.edu/~rtc12/CSE598C/meanShiftColor.pdf

现在我有后续帧的反投影图像。此类图像中的每个像素都标记了属于被跟踪对象的概率:在此处输入图像描述

上述来源中的 MeanShift 公式如下所示: 在此处输入图像描述

w(x i ) = 反投影图像中的像素。
x = 当前中心像素。

我不明白是什么spatial kernel
假设它可以是大小为 5x5 的 2D 高斯核,则 K(x i -x)*w(x i ) 可以用预模糊图像的像素代替。

我的代码看起来是这样的:

所以我只是通过平滑的反投影图像进行迭代,并且对于每个像素:
将其值添加到分母,
将其值乘以从当前中心到分母的偏移。

它在第二次迭代时收敛,但 shift 是错误的,我不知道如何调试它。可能是公式实现中的问题。 在此处输入图像描述

请用人类语言向我解释什么是空间内核以及如何将其应用于权重图像。谢谢!