키포인트 디스크립터를 사용하는 이유는 무엇입니까?


17

방금 SURF에 대해 연구했으며 구현을 시도하지만 설명자를 사용하는 이유를 여전히 이해하지 못했습니다.

나는 키포인트가 무엇인지와 그 목적을 이해하지만, 키포인트를 추출 할 때 왜 설명자를 사용해야합니까? 인식에서 그들의 중요성과 역할은 무엇입니까?


SURF 에 대해 구체적 으로 알고 싶 습니까, 아니면 "키포인트에 대한 설명자가 필요한 이유는 무엇입니까?" (방금 SURF에 대해 배움으로써 영감을 얻음)
페넬로페

@penelope 내 질문은 디스크립터에 대해 더 일반적입니다
ARG

3
답변하기 전에 질문을 좀 더 일반적으로 하셨다는 것을 신경 쓰지 않기를 바랍니다.
penelope

답변:


22

이해해야 할 중요한 점은 키포인트를 추출한 후 자신의 위치적용 범위 에 대한 정보 만 얻을 수 있다는 것 입니다 (보통 원 또는 타원으로 대략적인)에 입니다. 키포인트 위치 에 관한 정보 는 때때로 유용 할 수 있지만, 키포인트 자체에 대해서는 많이 말하지 않습니다.

키포인트 (SIFT, Harris corners, MSER)를 추출하는 데 사용 된 알고리즘에 따라 몇 가지 일반적인 특성을 알 수 있습니다. 에 따라 추출 된 키포인트의 (예 : 키, 얼룩, 모서리, 눈에 띄는 모서리를 중심으로 함)을 알 수 있지만 얼마나 다른지 알 수는 없습니다. 또는 유사한 하나의 요점은 다른 것입니다.

위치와 키포인트 영역만으로는 도움이되지 않는 두 가지 간단한 예가 있습니다.

  • 이미지 A (흰색 배경의 곰)와 다른 이미지 B가있는 경우 A의 정확한 사본이지만 몇 픽셀로 번역됩니다. 추출 된 키포인트는 동일합니다 (곰의 같은 부분에서). 이 두 이미지는 동일하거나 유사하게 인식되어야합니다.

    그러나 우리가 가진 유일한 정보가 그들의 위치이고 번역으로 인해 변경된 경우 이미지를 비교할 수 없습니다.

  • 이미지 A (이번 오리의 경우)와 다른 이미지 B (두 배 크기를 제외하고는 A와 동일한 오리)가있는 경우 추출 된 키포인트는 동일합니다 (오리의 동일한 부분). 이것도 같은 (유사한) 이미지입니다.

    그러나 모든 크기 (영역)는 달라집니다. 이미지 B의 모든 키포인트는 이미지 A의 키포인트 크기의 두 배입니다.

그래서, 여기에 설명을 제공 : 그들은 키포인트를 비교하는 방법입니다. 키포인트에 대한 몇 가지 특성을 일정한 길이의 벡터 형식으로 요약 합니다. 예를 들어, 가장 뚜렷한 방향으로 강도가 될 수 있습니다. 키포인트가 참조하는 이미지 영역에 숫자 설명을 할당합니다.

디스크립터에 중요한 몇 가지 사항은 다음과 같습니다.

  • 키포인트 위치와 독립적 이어야합니다.

    동일한 키포인트가 다른 위치에서 추출 된 경우 (예 : 번역으로 인해) 설명자는 동일해야합니다.

  • 그들은해야합니다 이미지 변환에 대한 강력한

    일부 예는 대비 변경 (예 : 맑고 흐린 날 같은 장소의 이미지) 및 원근 변경 (중앙에서 왼쪽으로의 건물 이미지, 동일한 건물로 인식하고 싶습니다)입니다. .

    물론, 모든 변형에 대해 완벽하게 강력한 설명자는 없습니다 (예를 들어, 원근감이 큰 경우에는 하나의 변형에 대해).

    다른 디스크립터는 다른 변환에 대해 견고하게 설계되었으며, 때로는 변환하는 데 걸리는 속도와 반대입니다.

  • 그들은 규모에 독립적 이어야한다

    디스크립터는 스케일을 고려해야합니다. 한 키포인트의 "눈에 띄는"부분이 10px의 수직선 (반경이 8px 인 원형 영역 안에 있음)과 다른 또 하나의 수직선이 5px (반경이 4px 인 원형 영역 안에 있음) 인 경우- 이 키포인트에는 유사한 설명자가 할당되어야합니다.

이제 모든 키 포스트에 대한 설명자를 계산 했으므로 해당 키포인트를 비교할 수 있습니다 . 이미지 일치에 대한 간단한 예 (이미지가 동일한 객체에 있고 장면의 동일한 부분을 나타내는 다른 이미지의 부분을 식별하거나 두 이미지 간의 원근 변화를 식별하려는 경우) 한 이미지의 모든 키포인트 설명자를 다른 이미지의 모든 키포인트 설명자와 비교합니다. 설명 자는 숫자로 구성된 벡터이므로 유클리드 거리만큼 간단한 것과 비교할 수 있습니다 . 물론 유사성 척도로 사용할 수있는 좀 더 복잡한 거리가 있습니다. 하지만 결국에는 누구의 기술자 그들 사이의 최소 거리가 키포인트 입니다 일치하는 다른 이미지에서, 예를 들어 같은 "장소"또는 "개체의 일부".

들어 더 복잡한 키포인트 / 기술자의 사용, 당신은에서 살펴 보셔야합니다 이 질문 - 특히에서 "낮은 수준의 지역 접근" 내 대답 과에서 "가방 - 중 - 단어"접근 @Maurits 대답을. 또한 해당 답변에 제공된 링크가 유용합니다.


기능이라는 용어를 사용하는 가장 좋은 대답과 좋은 설명은 설명자와 동일합니까? 둘 다 같거나 다릅니 까? 서핑에서 방향이라는 용어의 의미는 무엇입니까?
ARG

1
'기능'이라는 용어는 '키포인트'와 동일합니다. 이미지에서 눈에 띄는 지점입니다. 디스크립터는 "키포인트 디스크립터"또는 "피처 디스크립터"입니다. 불행히도, 나는 SURF에 대해 잘 모르기 때문에 일반적인 설명자 또는 SURF에 대해 알고 싶은지 묻습니다. SIFT의 경우 방향이 매우 중요하다는 것을 알고 있습니다.
penelope

용어 방향이 아닌 특정 난 그냥 것입니다, 그것에 대해 알고 싶지도 SIFT에서 사용하는 그것, SURF에 사용됩니다
ARG

로컬 그래디언트를 기반으로 키포인트의 "주체 방향"을 계산합니다. 그런 다음 기울기 계산시 회전 불변을 달성하기 위해 해당 방향이 키포인트에 대해 "위"가됩니다. SIFT의 경우, Wikipedia에
penelope

:) 내 질문은 오리엔테이션이란 무엇입니까? 체로 치거나 서핑하지 않음
ARG

2

아이디어를 이해하기위한 이상적인 서술자를 생각해 봅시다. 이상적인 디스크립터는 픽셀 공간에서 다른 공간으로의 함수로 같은 객체는 동일한 결과를 가지지 만 다른 객체는 다른 결과를 갖습니다.

예를 들어, 피사체는 동일하지만 노출 레벨이 다른 두 개의 이미지를 촬영하면 여러 버전의 이미지가 생성됩니다. 픽셀을 가져 와서 평균 및 표준 편차 수준으로 정규화하는 설명자는 동일한 결과를 가져 와서이 두 객체가 동일하다고 말합니다. 그것은 우리가 올바른 매칭을 할 수 있기 때문에 좋습니다

여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오

따라서 설명자는 동일한 객체를 올바르게 일치시켜야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.