Computer Vision/opencv(python)
[66] 4) 평균 이동 알고리즘
jwjwvison
2021. 3. 28. 14:53
- Detection vs Recognition vs Tracking
- 평균 이동 (Mean shift) 알고리즘 이란?
- A non-parametric feature-space analysis technique for locationg the maxima of a density function
- 국지적 평균을 탐색하면서 이동
- 모드 검출(mode seeking) 알고리즘
- 평균 이동 알고리즘을 이용한 관심 영역 추적
- 평균 이동 알고리즘을 이용한 트래킹
cv2.meanShift(probImage,window,criteria) -> retval,window
• probImage : 관심 객체에 대한 히스토그램 역투영 영상 (확률 영상)
• window: 초기 검색 영역 윈도우 & 결과 영역 반환
• criteria: 알고리즘 종료 기준 . (type, maxCount, epsilon) 튜플
(e.g.) term_crit = (cv2.TERM_CRITERIA_EPS | cv2.TERM_CRITERIA_COUNT, 10,1)
-> 최대 10 번 반복하며 , 정확도가 1 이하이면 (즉 , 이동 크기가 1 픽셀보다 작으면 ) 종료
• retval : 알고리즘 내부 반복 횟수
- 프로그램 동작 방식
- 1) 추적할 객체 등록
- 첫 번째 프레임에서 추적할 객체의 위치를 저장
- HSV 색 공간에서 HS 히스토그램을 구함
- 2) 평균 이동 추적
- 매 프레임마다 히스토그램 역투영을 수행
- 여기에 평균 이동 알고리즘을 적용하여 객체를 추적!
- 1) 추적할 객체 등록
- 평균 이동 객체 추적 예제: HS 히스토그램 계산