2012-10-14 3 views
3

파이썬을 사용하여 움직이는 여러 객체를 추적하고 레이블을 지정하는 프로세스를 이해하지 못했습니다. 각 프레임을 회색조로 변환 한 다음 흐리게 처리 한 다음 BGS를 수행하여 움직이는 객체를 격리 할 수 ​​있습니다 (이진 이미지에는 여전히 많은 노이즈가 포함되어 있음).칼만 필터는 Opencv python에서 여러 객체를 어떻게 추적합니까?

윤곽선을 cv2.findContours()으로 찾았습니다.이 점은 나에게 얼룩진 매트 목록을 제공합니다. 나는 노이즈가있는 블롭의 위치를 ​​예측할 때 매우 유용하기 때문에 이러한 블롭을 추적하기 위해 칼만 필터를 사용하고자합니다. 그러나 윤곽선을 찾는 것이 KF의 특성을 고려할 때 불필요한 단계 인 것처럼 보입니다. 특히 윤곽선 기능이 많은 의심스러운 얼룩을 반환했기 때문입니다.

kalman filter에 대한 코드를 살펴본 결과, 얼룩을 추적하도록 말할 수는 없지만 얼룩이있는 필터를 알려주거나 (예 : KF 만 사용하여 얼룩을 만드는 방법) 알려주지 않습니다.

내 질문은 Blob이 미리 또는 어떤 위치에 있는지를 모르는 경우 KF가 여러 객체 추적을 처리하는 방법입니다 (이것이 내가 윤곽선을 얻은 이유이지만이 결과는 다소 끔찍합니다). 그리고 일단 KF가 객체를 추적하기 시작하면 객체를 쉽게 저장할 수 있도록 객체를 어떻게 저장합니까?

답변

6

칼만 필터 자체에는 여러 개체 추적 장치가 포함되어 있지 않습니다. 이를 위해 알려지지 않은 개체 수 또는 다양한 수의 개체가있는 경우 Reid 1979의 Multiple Hypothesis Tracking (MHT) 또는 알려진 수의 개체가있는 경우 Joint Probabilistic Data Association과 같은 추가 알고리즘이 필요합니다.

실제로 MHT를 구현하려면 Cox와 Hingorani 1996에 "Reid의 다중 가설 추적을 효율적으로 구현 ..."이라는 추가 개선 사항이 필요합니다.

관련 문제