시작 프레임 20 개에 칼만 필터를 적용한 경우 다음 대답을 이해할 수 있습니다.
21 번째 프레임이없는 경우.
그런 다음
X(t+1) = A*X(t)+B(u)+Noise
이것은 예측 진술, 당신은 프레임 21의 값을 예측할 수있다. A = 상태, atrix, B = 제어 매트릭스. X (t) = 칼만 필터에 의해 할당 된 20 번째 프레임의 탄환의 위치.
21 번째 프레임이 없다면 위의 값을 사용하여 21 번째 프레임에 글 머리표를 표시 할 수 있습니다. 이것은 칼만 필터의 주요 특징 중 하나입니다. 예를 들어 관측 값이 없더라도 다음 프레임에서 값을 예측할 수 있습니다. 이것은 센서가 감지하지 못하는 대부분의 시간 때문에 매우 일반적인 실용적인 사례입니다. 그 물체를 선택하면 관측 값이 없습니다.
그리고 21 번째 프레임을 얻은 경우 관측 값을 가져 와서 예측을 업데이트하십시오.
유칼리 필터 및 추적을 위해 YouTube에서 Student dave 튜토리얼을 확인하는 것이 좋습니다. Udacity link에있는 우디시 코스로 가십시오.
문제에 대한 칼만 필터 기능은 여기
void Kalman_Filter(float *Zx, float *Zy)
{
Mat Zt = (Mat_<float>(2, 1) << *Zx, *Zy);
//prediction
Predict = A*Prior;// +B*a;
//covariacne
P = P*P*A.t() + Ex;
//measurement uopdate
Mat Kt = P*H.t()*(H*P*H.t() + Ez);
//
Prior = Predict + Kt*(Zt - H*Predict);
//
P = (I - Kt*H)*P;
//
*Zx = Prior.at<float>(0, 0);
*Zy = Prior.at<float>(1, 0);
//
return;
}
싶습니다 * ZX와 * ZY는 관측 값과 x와 당신이 발견 한 포인트 크기의 총알의 y 위치가 포함되어 있습니다.