응축 알고리즘
Condensation algorithm응축 알고리즘(조건밀도 전파)은 컴퓨터 비전 알고리즘이다.주요 애플리케이션은 어수선한 환경에서 움직이는 물체의 윤곽선을 감지하고 추적하는 것이다.객체 추적은 컴퓨터 비전의 보다 기본적이고 어려운 측면 중 하나이며 일반적으로 객체 인식의 전제조건이다.이미지에서 개체의 윤곽선을 구성하는 픽셀을 식별할 수 있는 것은 일반적인 문제가 아니다.응축은 이 문제를 해결하려는 확률론적 알고리즘이다.
알고리즘 자체는 1998년 Isard와 Blake가 International Journal of Computer Vision의 출판물에 자세히 기술되어 있다.[1]알고리즘의 가장 흥미로운 면 중 하나는 이미지의 모든 픽셀을 계산하지 않는다는 것이다.오히려 처리할 픽셀은 무작위로 선택되고, 결국 일부 픽셀만 처리된다.무엇이 움직이고 있는지에 대한 여러 가설은 접근법의 확률론적 특성에 의해 자연스럽게 뒷받침된다.평가 기능은 주로 해당 지역의 이전 연구에서 비롯되며 많은 표준 통계 접근법을 포함한다.본 연구의 원래 부분은 입자 필터 추정 기법의 적용이다.
알고리즘의 생성은 Kalman 필터링이 상당한 배경 잡음이 있는 곳에서 객체 추적을 잘 수행할 수 없다는 데서 영감을 받았다.잡동사리의 존재는 다중 모델인 객체 상태에 대한 확률 분포를 생성하는 경향이 있으며, 따라서 Kalman 필터에 의해 제대로 모델링되지 않았다.가장 일반적인 형태의 응축 알고리즘은 물체의 확률 분포나 측정값에 대한 가정을 요구하지 않는다.
알고리즘 개요
응축 알고리즘은 주어진 관측치 ,. . . . . . . . . . . . 에서벡터 t }, ,에 의해 기술된 개체의 순응을 추정하는 문제를 해결하려고 한다.o 및 현재 시간 포함.이 알고리즘은 상태 조건부 확률 밀도에 p은 비선형적 필터 계수 견본에 기반을 적용하여고 몬테카를로 법 개발로 생각될 수 있는 견적()tz1..., zt){\displaystyle p(\mathbf{x_{t}}\mathbf{z_{1},...,z_{t}})}출력합니다.[1]p()tz.,... . . . ) p}, 은 이전의 순응 및 측정에 기초한 객체에 대해 가능한 순응 확률을 나타낸 것이다.응축 알고리즘은 물체와 관찰자의 공동 분포를 모델링하기 때문에 생성 모델이다[2].
The conditional density of the object at the current time is estimated as a weighted, time-indexed sample set 가중치 (N은 선택한 샘플 세트의 수를 결정하는 매개 변수다.( ,.. .. . . z }, 의 실현은 {\의 해당 요소와 동일한 확률로 에서 대체하여 얻는다[1]
물체 역학이 시간적 마르코프 체인을 형성하고 관찰이 서로 독립적이며 역학이 응축 알고리즘의 구현을 촉진한다는 가정.첫 번째 가정은 물체의 역학을 조건부 p( t- p에 의해 완전히 결정하도록 허용한다( x - 1 p에 의해 결정된 시스템 역학의 모델도 알고리즘에 대해 선택해야 하며, 일반적으로 결정론적 역학과 확률론적 역학을 모두 포함한다.
알고리즘은 t = 에서 초기화하여 요약할 수 있으며, 각 시간 t:
초기화
이전 분포에 따라 표본 추출하여 초기 표본 집합과 가중치를 형성한다.예를 들어 가우스어로 지정하고 가중치를 서로 동일하게 설정하십시오.
반복적 절차
- 된 N 번 샘플은 세트{ 0( n), = ,.. . n}^{ ,{ ( ) , . . . . 0}^{ (x z ,... . z ) {}, 의 실현을 생성한다
- 학습된 p t x -1 ){\ p를 이 새 세트의 각 요소에 적용하여 새세트 {를 생성하십시오
- To take into account the current observation , set for each element ( )
이 알고리즘은 추적 대상의 다른 모멘트뿐만 아니라 추적 대상의 평균 위치를 계산하는 데 직접 할 수 있는확률 분포 ( z ,. . .. z t ){\p(\mathbf {1 z_}}}})를 출력한다.
대신 더 효율적인 샘플링을 위해 누적 가중치를 사용할 수 있다.[1]
구현 고려 사항
객체 추적은 실시간 목표가 될 수 있기 때문에 알고리즘 효율성의 고려가 중요해진다.응축 알고리즘은 Kalman 필터링에 필요한 Ricatti 방정식의 계산 강도와 비교했을 때 비교적 간단하다.샘플 세트의 샘플 수를 결정하는 파라미터 N은(는 효율 대 성능의 트레이드오프를 분명히 보유할 것이다.
알고리즘의 효율성을 높이는 한 가지 방법은 물체의 모양을 나타내기 위한 낮은 자유도 모델을 선택하는 것이다.Isard 1998에 의해 사용된 모델은 스플라인들이 특정 구성으로 제한되는 B-스플라인들의 선형 파라미터화다.다중 뷰, 서로 다른 포즈에서 객체의 등고선 조합을 분석적으로 결정하고 변형 객체에 대한 주성분 분석(PCA)을 통해 적합한 구성을 찾았다.
Isard and Blake model the object dynamics as a second order difference equation with deterministic and stochastic components:
여기서 {은(는) 주의 평균값이며, A 은(는) 동적 모델의 결정론적 및 확률적 구성요소를 각각 나타내는 행렬이다.개체에서 인 이동을 수행하는 동안 최대우도 추정을 통해 A B 및 을(를) 추정한다.[1][3]
관측 모델 ( ) p는 데이터로부터 직접 추정할 수 없으므로 추정하기 위해 가정을 해야 한다.Isard 1998은 물체가 보이지 않게 할 수 있는 잡동사니가 공간 밀도 을(를) 가진 Poisson 랜덤 공정이라고 가정하며, 모든 실제 표적 측정은 편차가 없으며 표준 {{\}과 함께 정규 분포한다
기본 응축 알고리즘은 단일 물체를 적시에 추적하는 데 사용된다.한 장면에서 여러 물체를 동시에 추적할 수 있는 여러 물체의 가능한 상태를 설명하기 위해 단일 확률 분포를 사용하여 응축 알고리즘을 확장할 수 있다.[4]
잡동사니 때문에 객체 확률 분포가 여러 개의 피크로 분할될 수 있으므로, 각 피크는 객체 구성에 대한 가설을 나타낸다.스무딩은 다중 피크의 영향을 줄이기 위해 추적이 완료되면 과거 및 미래 측정에 기초한 분포를 조절하는 통계 기법이다.[5]평활은 향후 측정에 대한 정보가 필요하기 때문에 실시간으로 직접 수행할 수 없다.
적용들
이 알고리즘은 모바일 로봇의 비전 기반 로봇 국산화 등에 사용할 수 있다.[6]그러나 장면에서 물체의 위치를 추적하는 대신 카메라 플랫폼의 위치를 추적한다.이를 통해 카메라 플랫폼을 환경 비주얼 맵으로 글로벌하게 현지화할 수 있다.
응축 알고리즘의 확장은 이미지 시퀀스에서 인간의 동작을 인식하는 데도 사용되었다.응축 알고리즘의 이 적용은 가능한 인간-컴퓨터 상호작용 범위에 영향을 미친다.화이트보드에서 사용자가 인쇄하거나 저장할 보드의 영역을 선택하는 등의 동작을 제어하기 위한 간단한 제스처를 인식하는 데 사용되어 왔다.[7]같은 장면에서 여러 대의 차량을 추적하는 데도 다른 확장자가 이용됐다.[8]
응축 알고리즘은 비디오 시퀀스의 얼굴 인식에도 사용되었다.[9]
자원.
C에서 응축 알고리즘의 구현은 Michael Isard의 웹사이트에서 확인할 수 있다.
MATLAB의 구현은 Mathworks File Exchange에서 찾을 수 있다.
OpenCV 라이브러리를 사용한 구현 예는 OpenCV 포럼에서 확인할 수 있다.
참고 항목
- 입자 필터 – 응축은 등고선 추적에 샘플링 중요도 재샘플링(SIR) 추정을 적용하는 것이다.
참조
- ^ a b c d e Isard, M.; Blake, A (August 1998). "CONDENSATION-- conditional density propagation of visual tracking". International Journal of Computer Vision. 29 (1): 5–28. doi:10.1023/A:1008078328650.
- ^ Sminchisescu, C.; Kanaujia, A.; Metaxas, D.N. (November 2007). "BM3E: Discriminative Density Propagation for Visual Tracking". IEEE Transactions on Pattern Analysis and Machine Intelligence. 29 (11): 2030–2044. CiteSeerX 10.1.1.78.1751. doi:10.1109/tpami.2007.1111. PMID 17848782.
- ^ Blake, Andrea; Isard, Michael; Reynard, David (October 1995). "Learning to track the visual motion of contours". Artificial Intelligence. 78 (1–2): 179–212. doi:10.1016/0004-3702(95)00032-1.
- ^ Koller-Meier, Esther B.; Ade, Frank (28 February 2001). "Tracking multiple objects using the Condensation algorithm". Robotics and Autonomous Systems. 34 (2–3): 93–105. doi:10.1016/s0921-8890(00)00114-7.
- ^ Isard, Michael; Blake, Andrew (28 May 2006). A smoothing filter for condensation. Lecture Notes in Computer Science. Vol. 1406. pp. 767–781. doi:10.1007/BFb0055703. ISBN 978-3-540-64569-6.
- ^ Dellaert, F.; Burgard, W.; Fox, D.; Thrun, S. (1999). "Using the CONDENSATION algorithm for robust, vision-based mobile robot localization". Computer Vision and Pattern Recognition. 2: 588–594. doi:10.1109/CVPR.1999.784976. ISBN 0-7695-0149-4.
- ^ Black, M.J.; Jepson, A.D. (14 April 1998). "Recognizing temporal trajectories using the condensation algorithm". Automatic Face and Gesture Recognition: 16–21. CiteSeerX 10.1.1.154.1402. doi:10.1109/AFGR.1998.670919. ISBN 0-8186-8344-9.
- ^ Meier, E.B.; Ade, Frank (1999). "Tracking cars in range images using the CONDENSATION algorithm". Intelligent Transportation Systems: 129–134. doi:10.1109/ITSC.1999.821040. ISBN 0-7803-4975-X.
- ^ Zhou, Shaohua; Krueger, V.; Chellappa, R. (21 May 2002). "Face recognition from video: a CONDENSATION approach". Automatic Face and Gesture Recognition: 221–226. doi:10.1109/AFGR.2002.1004158. ISBN 0-7695-1602-5.