Primeiro você deve assumir um modelo de movimento. Digamos que você deseja rastrear uma bola voando pelo ar. A bola tem uma aceleração descendente devido à gravidade de 9,8m / s ^ 2. Portanto, neste caso, o modelo de movimento de aceleração constante é apropriado.
Sob esse modelo, seu estado é posição, velocidade e aceleração. Dado o estado anterior, você pode prever facilmente o próximo estado.
Você também tem uma noção de detecção. Você tem um vídeo da bola em movimento e precisa detectar a bola em cada quadro de vídeo (por exemplo, usando a subtração de fundo).
Suas detecções são barulhentas. Além disso, o movimento da bola não se encaixa exatamente no modelo de aceleração constante devido à resistência do ar, vento, raios cósmicos etc. O filtro Kalman precisa de duas matrizes que descrevem isso: uma é a covariância do ruído de medição (sua imprecisão de detecção), e um para a covariância do ruído do processo (como o movimento da bola se desvia do modelo que você especificou).
Se você estiver rastreando um único objeto, o filtro Kalman permite suavizar parte do ruído e também prever onde o objeto está quando falta uma detecção (por exemplo, se o objeto está ocluído). Aqui está um exemplo de rastreamento de um único objeto com um filtro Kalman usando o Computer Vision System Toolbox para MATLAB.
Se você estiver rastreando vários objetos, as previsões do filtro Kalman permitem decidir qual detecção combina com qual objeto. Uma boa maneira de fazer isso é usar a probabilidade de log da detecção, dada a covariância de erro da previsão. Aqui está um exemplo de rastreamento de vários objetos com um filtro Kalman .