SIFT(Scale-Invariant Feature Transform) / ORB(Oriented FAST and Rotated BRIEF)

About_work·2024년 4월 3일
0

global mapper

목록 보기
6/37

1. 이미지 데이터 관점

  • SIFT와 ORB는 이미지에서 특징점(예: 모서리, 물체의 윤곽 등)을 찾아내는 데 사용되는 알고리즘
  • 이러한 특징점들은 이미지를 인식하고, 다른 이미지와 비교하는 데 중요한 역할

1.1. SIFT (Scale-Invariant Feature Transform)

1.1.1. 작동 원리:

  1. 다양한 스케일에서의 특징점 찾기:
  • SIFT는 이미지를 여러 스케일(즉, 크기)로 변환하면서 각 스케일에서 특징점을 찾음
  • 이 과정에서 이미지가 확대되거나 축소되어도 동일한 특징점을 찾을 수 있음
  1. 키 포인트 선정:
  • 이미지의 각 지점에서 그 주변과 얼마나 다른지를 계산하여, 주변과 많이 다른 지점들을 키 포인트(특징점)로 선정
  • 이러한 지점들은 일반적으로 이미지의 중요한 부분(예: 모서리, 눈, 입 등)에 해당
  1. 방향 할당:
  • 각 키 포인트에 방향을 할당하여, 이미지의 회전에도 불변한 특성을 갖도록
  • 이는 이미지가 회전되어도 동일한 특징점을 인식할 수 있게 해줍니다.
  1. 특징 디스크립터 생성:
  • 각 키 포인트 주변의 작은 영역을 살펴보고, 그 패턴을 나타내는 숫자들의 집합(디스크립터)을 생성
  • 이 디스크립터는 키 포인트를 나타내는 "지문"과 같은 역할을 하며, 다른 이미지의 키 포인트와 비교할 때 사용됩니다.

1.1.2. 장점:

  • 이미지의 스케일과 회전에 불변
  • 강력하고 정확한 특징점을 제공

1.1.3. 단점:

  • 계산 비용이 높고, 속도가 느린 편입니다.

1.2. ORB (Oriented FAST and Rotated BRIEF)

1.2.1. 작동 원리:

  1. FAST 키 포인트 검출:
  • ORB는 FAST 알고리즘을 사용하여 이미지에서 키 포인트를 빠르게 찾음
  • FAST는 픽셀 주변을 둘러싼 원형의 픽셀들을 검사하여, 중앙 픽셀과 충분히 다른 픽셀들이 많으면 그 위치를 키 포인트로 선택
  1. 키 포인트에 방향 할당:
  • 각 키 포인트에 방향을 할당하여 회전에 불변하는 특성을 부여
  • 이는 이미지가 회전해도 키 포인트를 일관되게 인식할 수 있게 해줍니다.
  1. BRIEF 디스크립터를 회전 불변으로 변환:
  • ORB는 BRIEF 디스크립터를 사용하여 각 키 포인트 주변의 패턴을 나타내는 숫자들의 집합을 생성하지만,
  • 이를 회전에 불변하게 만들기 위해 키 포인트의 방향 정보를 활용하여 디스크립터를 조정합니다.

1.2.2. 장점:

  • SIFT보다 훨씬 빠르며, 메모리 사용량도 적습니다.
  • 회전에 불변한 특징점을 제공합니다.

1.2.3. 단점:

  • SIFT에 비해 덜 정확할 수 있으며, 스케일 변화에 불변성은 SIFT만큼 강력하지 않습니다.

  • SIFT와 ORB는 각각의 장단점이 있지만, 이미지에서 중요한 지점을 찾아내는 데 매우 유용한 알고리즘

  • 사용하는 상황에 따라 더 적합한 알고리즘을 선택할 수 있습니다.


2. 투영된 2D 데이터와 글로벌 2D 맵에서 특징을 추출하는 관점

  • 투영된 2D 데이터와 글로벌 2D 맵에서 특징을 추출하는 과정은 이미지 매칭과 로봇의 위치 인식에 있어 중요한 역할을 합니다.
  • 이를 위해 사용되는 주요 알고리즘으로는 SIFT, SURF, 그리고 ORB
    • 각각의 알고리즘은 독특한 방식으로 특징점을 검출하고 기술

SIFT (Scale-Invariant Feature Transform)

동작 원리:

  • 2D 포인트 클라우드는 일반적으로 (x, y) 좌표로 구성된 점들의 집합으로, 픽셀 기반의 이미지 데이터와는 다릅니다.
  • SIFT (Scale-Invariant Feature Transform) 알고리즘은 원래 이미지 데이터 내에서, 반복 가능하고 스케일 및 회전에 불변인 특징점을 검출하고 기술하기 위해 개발되었습니다.
  • 따라서, SIFT를 직접적으로 2D 포인트 클라우드 데이터에 적용하는 것은 바로 가능하지 않음
  • 그럼에도 불구하고, 포인트 클라우드 데이터에 SIFT와 같은 이미지 기반 특징점 알고리즘을 적용하려는 시도는 있을 수 있으며, 이를 위해서는포인트 클라우드를 이미지 형태로 변환하는 전처리 단계가 필요
포인트 클라우드를 이미지로 변환
  • 밀도 기반 변환:
    • 2D 포인트 클라우드 데이터를 그리드 형태의 이미지로 변환
    • 이 과정에서 각 그리드 셀은 포인트 클라우드 내의 점들의 밀도를 기반으로 그 셀의 픽셀 강도를 결정
    • 높은 밀도의 영역은 높은 픽셀 강도 값을 갖게 하여, 점들의 분포를 이미지 형태로 표현
  • 거리 기반 변환:
    • 포인트 클라우드의 각 점을 중심으로 일정 거리 내에 있는 다른 점들의 수를 계산하고, 이를 이미지의 픽셀 값으로 사용할 수도 있습니다.
    • 이 방법은 국소적인 구조 정보를 반영할 수 있습니다.
그 후 과정
  1. 스케일 공간 극값 검출:
  • 이미지를 여러 스케일에서 관찰하여 특징점을 검출
  • 이는 가우시안 블러를 적용한 후, 인접 스케일 간의 차이(Difference of Gaussians, DoG)를 계산하여 수행
  1. 특징점 위치 정제:
  • 특징점의 위치와 스케일을 정밀하게 조정
  1. 방향 할당:
  • 각 특징점에 대해 방향을 할당하여 회전에 대한 불변성을 제공
  1. 특징 디스크립터 생성:
  • 특징점 주변 영역의 그래디언트 정보를 사용하여 특징점을 기술

장단점:

  • 장점: 스케일과 회전에 대한 높은 불변성, 다양한 환경에서 강력한 매칭 성능.
  • 단점: 계산 비용이 높고, 실시간 처리에는 적합하지 않을 수 있음.

SURF (Speeded Up Robust Features)

동작 원리:

  1. 빠른 헤시안 행렬 근사를 이용한 특징점 검출:
  • SIFT의 DoG에 비해 계산이 더 빠른 박스 필터를 사용하여 스케일 공간을 근사
  1. 특징점 위치 및 스케일 정제:
  • 헤시안 행렬의 결정값을 사용하여 특징점의 위치와 스케일을 정제
  1. 방향 할당 및 디스크립터 생성: SIFT와 유사하게, 특징점에 방향을 할당하고, 주변 영역의 간략화된 정보를 이용하여 디스크립터를 생성합니다.

장단점:

  • 장점: SIFT보다 계산 속도가 빠르면서도, 스케일과 회전에 대한 불변성을 제공합니다.
  • 단점: SIFT에 비해 약간의 정확도 저하가 발생할 수 있음. 계산량이 여전히 많아 제한된 리소스에서의 처리가 도전적일 수 있음.

ORB (Oriented FAST and Rotated BRIEF)

동작 원리:

  1. FAST 특징점 검출과 방향 할당: ORB는 FAST 알고리즘을 사용하여 특징점을 빠르게 검출하고, 각 특징점에 방향을 할당합니다.
  2. 회전 불변 BRIEF 디스크립터: 특징점 주변의 이진 테스트 결과를 사용하여 디스크립터를 생성하며, 이는 회전에 대해 불변하도록 수정됩니다.

장단점:

  • 장점: 매우 빠른 계산 속도, 낮은 메모리 사용량. 실시간 처리와 모바일 또는 제한된 컴퓨팅 리소스 환경에서 유용합니다.
  • 단점: 스케일 변화에 대한 불변성이 SIFT나 SURF만큼 강력하지 않음. 일부 환경에서 매칭 정확도가 낮을 수 있음.


3. 투영된 2D 데이터와 글로벌 2D 맵에서 특징을 추출하는 관점 (2)

  • 2D 포인트 클라우드 데이터에서 특징점을 찾기 위해 이미지 기반 특징점 검출 알고리즘을 사용하는 대신, 다음과 같은 더 직접적이고 포인트 클라우드 데이터에 적합한 방법들이 있습니다.
  • 이 방법들은 주로 포인트 클라우드의 공간적 구조와 점들 간의 관계를 직접 분석하여 특징점을 검출합니다.

1. Random Sample Consensus (RANSAC)

  • RANSAC은 이상치에 강건한 특징점 검출 및 모델 피팅 방법
  • 포인트 클라우드 데이터에서 특정 패턴(예: 선, 원, 평면 등)을 찾는 데 자주 사용
  • 동작 원리:
    • 데이터 포인트의 무작위 샘플을 선택하여 모델을 생성하고, 모델에 잘 맞는 데이터 포인트(일치 집합)를 찾음
    • 이 과정을 여러 번 반복하여 가장 큰 일치 집합을 가진 모델을 최종 모델로 선택
  • 장점: 이상치에 강하고 간단한 형태의 객체나 구조를 효과적으로 찾을 수 있습니다.
  • 단점: 모델의 가정(선, 원, 평면 등)이 데이터와 잘 맞아야 하며, 계산 비용이 높을 수 있습니다.

2. Principal Component Analysis (PCA)

  • PCA는 포인트 클라우드 데이터의 주요 방향성을 찾고, 데이터의 분산이 가장 큰 방향을 기반으로 특징점을 검출하는 방법

  • 동작 원리: 포인트 클라우드의 공분산 행렬을 계산하고, 이를 기반으로 고유값 분해를 수행하여 주성분(고유벡터)을 찾습니다. 주성분은 데이터가 가장 넓게 퍼져 있는 방향을 나타냅니다.

  • 장점: 데이터의 전반적인 형태와 방향성을 파악할 수 있으며, 노이즈에 강건합니다.

  • 단점: 지역적인 특징보다는 전역적인 구조에 더 중점을 둡니다.

3. Local Feature Aggregation

  • 지역적 특성을 기반으로 포인트 클라우드 내의 특징점을 찾는 방법으로, k-최근접 이웃(k-NN)이나 반경 기반 탐색을 이용해 각 포인트의 이웃을 찾고, 이들 간의 상대적인 위치나 공간적인 패턴을 분석합니다.

  • 동작 원리: 각 포인트에 대해 주변 이웃 포인트들을 찾고, 이들의 공간적인 관계나 패턴을 분석하여 특징점을 식별합니다.

  • 장점: 지역적인 구조와 형태를 반영한 특징점을 찾을 수 있으며, 다양한 형태의 포인트 클라우드에 적용 가능합니다.

  • 단점: 적절한 이웃의 크기 선택이 중요하며, 계산 비용이 다소 높을 수 있습니다.

이러한 방법들은 각각의 장단점이 있으며, 구체적인 응용 사례와 요구 사항에 따라 적절한 방법을 선택해야 합니다. 포인트 클라우드 데이터의 특성과 분석 목적을 고려하여, 가장 효과적인 특징점 검출 방법을 결정하는 것이 중요합니다.

profile
새로운 것이 들어오면 이미 있는 것과 충돌을 시도하라.

0개의 댓글