컴퓨터비전 - 6(지역 특징 검출)

박승현·2023년 10월 2일
0

컴퓨터비전

목록 보기
6/15
post-thumbnail

지역 특징 검출

  • 이전까지의 내용은 low level에서의 영상 처리
  • 지역 특징 : high level단계에서의 영상 처리
  • 주어진 영상 전체에서 특정 구역의 특징을 찾는 것

  • 대응점 찾기 : 파노라마 등에서 같은 장면의 다른 시점 사진의 대응점을 찾아 매핑 시키는데 활용
    • detection(검출) -> description(기술) -> matching(매칭)의 단계

지역 특징 검출의 기초


특징 검출의 역사 : 지역 특징의 대두

  • 무엇을 특징점으로 쓸 것인가
    • 엣지는 강도와 방향 정보만을 가지므로 매칭에 참여하기에는 부족함(같은 강도와 방향을 가지는 엣지는 해당 영상에서 무수히 많을 수 있기 때문)
  • 엣지 토막에서 곡률이 큰 지점을 코너로 검출하여 사용
    • 현재는 사용하지 않지만 지역 특징을 수면위로 올림
    • 코너의 물리적 의미 -> 반복성

지역 특징의 성질

  • 지역 특징
    • 위치 : 주어진 영상에서 주변지점과 구분이 되어야 함
    • 스케일 : 주어진 영상의 x,y좌표값을 가져야함
    • 방향, 특징 벡터 : 세타값이나 벡터값을 가져 표현 가능해야함
    • 검출 단계에서 위치와 스케일, 기술 단계에서 방향과 특징 벡터를 알아냄
  • 지역 특징이 만족해야 할 특성
    • 반복성 : 조명환경이나 사람에따라 다르지 않고 항상 똑같이 반복되게 나타나야 함
    • 분별성 : 주변 지점과 구분되어야 함
    • 지역성 : 주어진 영역에서 이 특징이 대표적으로 나타나야 함
    • 정확성 : 특징이 영역내에서 위치가 변하는 것이 아니라 일정하고 정확한 위치에서 나타나야 함
    • 적당한 양, 계산 효율 : 너무 크거나 작지 않은 크기로 위의 특징들을 만족하면서도 계산 효율도 만족해야 함

지역 특징 검출 원리

  • 인지 실험
    • a,b,c중 a가 대응점을 찾기 가장 유리함
      • 가운데를 기준으로 a는 상하좌우로 밝기의 변화가 있지만
      • b는 가로로만 있고 c는 한 방향도 없음
주어진 하나의 지점으로부터 4,8방향성으로 주변의 명암의 값이 차이가 큰 곳을 지역특징으로 사용가능하다
  • flat, edge, corner
    • flat : 모든 방향의 명암 차이가 없음
    • edge : 한 방향(상하 or 좌우 or 대각선)만 명암차이가 있음
    • corner : 모든 방향의 명암차이가 있음(지역 특징으로 사용)

이동과 회전에 불변한 특징점 검출


모라벡 알고리즘

  • 주어진 x,y에서 u,v만큼 이동시켰을때의 명암값의 차이를 구하는 방식
    • 제곱은 음수방지이고 x,y에서의 명암값과 이동 후의 명암값의 차이를 구하는 식임
  • 오른쪽으로 한 화소 이동시킨 S(0,1)의 계산 과정
    • 3X3의 필터일때 각각의 픽셀의 이동 후 명암값의 차이를 먼저 제곱한 후 모두 더하는 방식
    • (5,3)의 S(0,1)을 구하려면 ((4,2)-(4,3))^2 처럼 원래 픽셀 9개를 각각 이동한 좌표와의 명암차이를 제곱하고 재곱한 값 9개를 더하면 된다
  • 각 좌표에서 모든 방향으로의 S(u,v)
    • 중앙값 S(0,0)은 0일수 밖에 없고 a는 모든 방향으로의 변화가 있음(corner)
    • b는 x축 방향으로 변화가 뚜렷하지만 y축 방향으로는 거의 없음(edge)
    • c는 변화가 없음(flat)
  • S(u,v)맵에서 코너에는 높은 값, 플랫에는 낮은값 엣지에는 그 사이값을 부여하는 함수, 알고리즘이 모라벡 함수, 모라벡 알고리즘임
  • 4방향성에서 미니멈 값을 C로 정하고 C가 특정값을 넘으면 코너로 판단
  • 플랫이나 엣지에서는 4방향 중 최소값을 고르면 0또는 1등의 낮은 값이 나오지만 코너에서는 최소값이 어느정도 높은 값이 나오기 때문에 가능
  • 한 화소만큼 이동하여 4방향만 본다는 한계와 잡음으로 인해 플랫이나 엣지임에도 불구하고 높은값이 나오는 현상에 대한 대처 방안이 없음

헤리스 코너

  • 모라벡 알고리즘의 잡음 문제는 가우시안 필터 적용으로 해결
  • 테일러 확장으로 1픽셀만 이동하는 한계를 해결하는데,,
    • u,v가 끝없이 작아질때를 테일러 확장을 통해 대입해서 식을 기울기에 대한 식으로 간소화 먼저함
    • 결론적으로는 마지막 줄에서 u,v는 사용자가 입력하는 값이고 가운데의 행렬은 상수값임
      • 각각 y,x의 분산,x,y의 공분산을 나타냄(dy^2이 크가는 의미는 y축 방향의 명암값의 차이가 크다는 뜻)
      • 4개의 값이 모두 크면 코너를 의미하는것이고 모두 작으면 플랫을 의미하는것 혹은 4방향성에서는 dy,dx의 제곱 2개만으로 모두 크면 코너 모두 작으면 플랫 둘 중 하나만 크면 엣지로 판별
  • u,v의 값에 무관하게 주어진 점에서 x,y방향의 그래디언트만 가지고 특징 여부를 판정가능한 방법
    • 두값 모두 크면 코너 둘다 작으면 플랫 하나만 크면 엣지

위치 찾기 알고리즘

  • 이동과 회전에 불변(만족)
  • 스케일에 불변?(연산자의 크기가 고정되어 있어서 그렇지 않다)
  • 피라미드 영상을 통해 다양한 스케일에 다양한 연산자 크기를 조절하는 기능이 있어야 함
profile
KMU SW

0개의 댓글