Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Object 使用卡尔曼滤波器跟踪对象的位置,但需要知道该对象的位置作为卡尔曼滤波器的输入。发生了什么事?_Object_Image Processing_Video Processing_Kalman Filter - Fatal编程技术网

Object 使用卡尔曼滤波器跟踪对象的位置,但需要知道该对象的位置作为卡尔曼滤波器的输入。发生了什么事?

Object 使用卡尔曼滤波器跟踪对象的位置,但需要知道该对象的位置作为卡尔曼滤波器的输入。发生了什么事?,object,image-processing,video-processing,kalman-filter,Object,Image Processing,Video Processing,Kalman Filter,我试图学习如何使用卡尔曼滤波跟踪视频序列中移动的物体(球),所以请解释给我,因为我是一个孩子 通过一些算法(颜色分析、光流…),我能够得到每个视频帧的二值图像,其中有跟踪对象(白色像素)和背景(黑色像素)->我知道对象大小、对象质心、对象位置->只需在对象周围画一个边界框-->完成。为什么我需要在这里使用卡尔曼滤波器 好的,有人告诉我,由于噪声的影响,我无法在每个视频帧中检测到物体,所以我需要使用卡尔曼滤波器来估计物体的位置。好的。但正如我所知,我需要为卡尔曼滤波器提供输入。它们是先前的状态和

我试图学习如何使用卡尔曼滤波跟踪视频序列中移动的物体(球),所以请解释给我,因为我是一个孩子

  • 通过一些算法(颜色分析、光流…),我能够得到每个视频帧的二值图像,其中有跟踪对象(白色像素)和背景(黑色像素)->我知道对象大小、对象质心、对象位置->只需在对象周围画一个边界框-->完成。为什么我需要在这里使用卡尔曼滤波器

  • 好的,有人告诉我,由于噪声的影响,我无法在每个视频帧中检测到物体,所以我需要使用卡尔曼滤波器来估计物体的位置。好的。但正如我所知,我需要为卡尔曼滤波器提供输入。它们是先前的状态和度量

    • 前一个状态(所以我认为它是前一帧中物体的位置、速度、加速度)->好的,这对我来说很好
    • 测量当前状态:以下是我无法理解的。测量可以是什么? -对象在当前帧中的位置?这很有趣,因为如果我知道对象的位置,我只需要在对象周围绘制一个简单的边界框(矩形)。为什么我还需要卡尔曼滤波器?因此,不可能将对象在当前帧中的位置作为测量值。 -“视频监控系统中基于卡尔曼滤波的跟踪”文章说

      卡尔曼滤波块的主要作用是分配跟踪 过滤从输入系统的每个测量值 光流分析模块

      如果您阅读全文,您将看到作者将blob的最大数量和最小大小作为卡尔曼滤波器的输入。如何将这些参数用作测量

我想我现在陷入了困境。我想用卡尔曼滤波器来跟踪一个物体的位置,但是我需要知道这个物体的位置作为卡尔曼滤波器的输入。发生了什么事


还有一个问题,我不理解术语“卡尔曼滤波器的数量”。在视频序列中,如果有2个对象需要跟踪->需要使用2个卡尔曼滤波器?这就是它的意思吗?

卡尔曼滤波器的目的是减轻测量中的噪声和其他不精确性。在您的例子中,测量值是从帧中分割出来的对象的x,y位置。如果你能在每一帧中完美地将球和背景中的球分开,那么就没有必要使用卡尔曼滤波器,因为你的测量实际上不包含任何噪声

在大多数应用中,由于许多原因(照明变化、背景变化、其他移动对象等),无法保证完美的测量,因此需要有一种过滤测量的方法,以产生真实轨迹的最佳估计

卡尔曼滤波器所做的是使用一个模型来预测下一个位置,假设该模型成立,然后将该估计值与您传入的实际测量值进行比较。实际测量值与预测和噪声特性一起使用,以形成最终位置估计值,并更新噪声特性(测量值与模型的差异程度的测量值)

模型可以是对您试图跟踪的系统建模的任何东西。一个常见的模型是恒速模型,该模型仅假设对象将继续以与先前估计中相同的速度移动。这并不是说该模型不会跟踪速度变化的物体,因为测量结果会反映速度的变化并影响估计

有许多方法可以解决同时跟踪多个对象的问题。最简单的方法是对每条轨迹使用独立的卡尔曼滤波器。这就是卡尔曼滤波器真正开始发挥作用的地方,因为如果您使用的是仅使用边界框质心的简单方法,那么如果两个对象相互交叉会发生什么情况?在它们分开后,你能再次区分哪个物体是哪个吗?有了卡尔曼滤波器,你就有了模型和预测,当其他物体发生干扰时,它将帮助你保持正确的轨迹


还有一些更先进的方法可以联合跟踪多个物体,比如一个物体。

Jason在什么是Kalman filter方面有了一个良好的开端。关于你的问题,即论文如何使用最大数量的水滴和最小大小的水滴,这正是卡尔曼滤波器的威力

测量不需要是位置、速度或加速度。度量可以是您在某个时间实例中可以观察到的任何数量。如果您可以定义一个模型,在给定当前测量值的下一个时间实例中预测您的测量值,那么卡尔曼滤波器可以帮助您减轻噪声

我建议你阅读更多关于图像处理和计算机视觉的介绍性材料。这些资料几乎总是涵盖卡尔曼滤波器

这是一个关于跟踪器的SIGGRAPH课程。它不是介绍性的,但应该让你更深入地了解这个主题。
你不需要使用卡尔曼滤波器来给你一个初步的估计;您可以使用它根据一系列嘈杂的估计值为您提供改进的估计值

为了让这更容易理解,假设你正在测量一些非动态的东西,比如成年人的身高。你测量一次,但你不确定结果的准确性,所以你连续测量10天,每次测量都略有不同,比如说几毫米