본문 바로가기

[ 프로그래밍 ]/OpenCV 관련

OpenCV find-obj를 이용한 마커리스 AR

위성/심해 영상 정합과 관련된 논문을 읽으며, SIFT, SURF 테스트 프로그램을 좀 짜봐야겠다고 생각하고 있던 차에
OpenCV에서 이미 SURF를 구현해 두었기에 간단히 테스트를 해 보았다.

아래는 데모프로그램에서 제공하는 예제 사진인데 생각했던 것 보다 성능이 괜찮다. 다만 문제는 수행시간이다.
상단의 책 영상의 크기가 324 x 223 px, 아래 타겟 영상은 512 x 384 px 인데,
키포인트를 찾고 하는데 걸리는 시간이 290ms. 과연 실시간으로 가능할지 궁금해졌다.


먼저 몇 개의 테스트 영상으로 다른 응용방법을 생각해 보았다.
테스트 영상으로 사용한 영상(손쉽게 구할 수 있는 데이타가 이것 밖에 없음에)은 참으로 나답게도 번호판 영상이다.


수행시간이 좀 오래 걸리는 편이라 이미지를 작게 해서 테스트를 했는데 결과는 고만고만하다.
OpenCV 라이브러리에서 제공한 예제 이미지와 비교해볼 때,
SURF는 키포인트의 수가 부족한 영상에 대해서는 확실히 제기능을 발휘하지 못한다.
그런 관점에서 SURF는 마커리스 AR 같은 응용에 적합할 것 같은 생각이 들었다.


아래는 '그런 관점에서' 만들어 본 테스트 프로그램이다.


집에서 추워서 이러고 있다.

 

대체적으로 제성능을 발휘하는 것으로 보여지며, 수행시간 또한 평균 200ms(5 frames/sec) 정도로 크게 나쁘지는 않아 보임.
빠른 움직임 때문에 포커스가 나가는 경우 칼만필터 등을 적용하여 개선이 가능할 것으로 판단된다.


  • ㅎㅎㅎ
    글을 읽었지만 무슨 내용인지 몰라 새해 인사만 올리고 갑니다.
    새해에도 건강하시고 소망하는 일 모두 이루십시오.

  • oullim 2011.01.03 23:25 댓글주소 수정/삭제 댓글쓰기

    새해복도 많이 받고...뱃속에 아기도 잘 키우고...근데 집에서 뭐하는 짓이고..지금 남북을 둘러싼 주변 관계 국가들의 첨예한 이해관계의 대립과 남북간의 분단 논리의 조장을 통한 한민족끼리 날카로운 대립각을 세우고 있는 요즈음......날씨도 너무 춥고..ㅡ,.ㅡ 구제역 잡는다고 뿌리는 석회가루에 사람도 죽갔다..ㅜ,.ㅜ..해피 뉴이어 하고..씨유 어게인...

    • 오래간만이시네요. 잘 지내시죠?
      새해라고 안부도 전하고 해야 하는데 올해는 무슨일인지 그 어느때보다 정신 없네요.
      새해 복 많이 받으시고, 건강하시고, 화이팅 하세욤! ^^

  • 그러게요....글을 읽어도 무슨 내용인지 모르고 갑니다....ㅋ
    새해 복 많이 받으시고 블레이어 앱 같은 작품도 기대하겠습니다^^

    • 또 들러 주셨네요. 고맙습니다.
      방구석님도 새해 복 많이 받으시구요,
      블레이어앱은 한 번 도전해 보겠습니다.

  • 임세 2011.01.12 00:01 댓글주소 수정/삭제 댓글쓰기

    다른 사람들은 무슨 내용인지 모르겠다고 그러는데... 난 왜 재밌지 ㅎㅎ

  • 거의 똑같이 구현해봤는데 겁나 느리네요.. 영상을 얼마로 설정하셨는지는 몰겠지만 640x480영상에 참조는 494x321로 해봤는데 약 100ms정도 더 느리군요.. 뭐 디버그버전은 거의 천가깝지만 =_=;; 아마 surf대신 다른거 쓰면 빠를거같은데..

    • 네. 만들어져 있는 것이니까 테스트를 해 본 것인데,
      만약에 논문 보고 직접 코딩을 했는데 이정도 퍼포먼스라면 억울할 뻔 했지요.
      개선의 여지는 많은 알고리즘인 것 같습니다.