[23 동계 모각소] 02. Optical Flow를 활용한 Sparse Motion Field 추적

동엽·2024년 1월 25일
0

23 동계 모각소

목록 보기
2/6
post-thumbnail

요약

  • 2024년 1월 25일 18:30 ~ 21:30 (원천정보관, 전원 참석)

내용

1. 지난주에 했던 과제: OpenCV로 영상 읽고 재생하기

  • OpenCV 바이너리에서 videoio~가 붙어있는 dll 파일을 프로젝트 빌드 폴더에 추가해준다.
  • 영상 파일 읽는 데에 사용한 예제 코드
    Sparse Motion Field

2. 영상을 읽고 Sparse Motion Field 계산해서 추적하기

https://docs.opencv.org/4.x/d4/dee/tutorial_optical_flow.html

2-1) cv::goodFeaturesToTrack() 분석

  • 이미지에서 분명한 corner를 찾아주는 함수
  • cv::Mat 이미지를 입력 받아서, Point2f vector에 corner의 좌표를 알려줌
  • 감지할 corner의 갯수, corner 간의 minimum distance 등을 설정 가능
  • minimum eigenvalue를 사용할지, Harris detector를 사용할지 설정 가능

2-2) cv::calcOpticalFlowPyrLK() 분석

  • Optical Flow를 Lucas-Kanade method로 pyramid를 건설해서 iterative하게 적용한다.

결과


추후 논의

추가할 기능들

  • Mouse로 추적할 feature를 골라서, goodFeaturesToTrack()으로 나온 feature와 대조해서 feature와 맞으면 계속 추적하기.
  • 영상마다 parameter tuning이 필요한 부분이 있으므로 어느 정도 일반적으로 적용할 수 있는 범위 한정
  • 위 사진에서 볼 수 있듯이, 멀어서 거의 움직이지 않는 점들, 나무와 같은 점들도 feature로 감지되고 있기 때문에 적절한 parameter 범위를 찾아야 할 필요가 있다.
profile
in verbs, not nouns

0개의 댓글