욜로 비전 선전
선전
지금 참여하기

SIFT(Scale-Invariant Feature Transform)란 무엇입니까?

Abirami Vina

6분 소요

2025년 9월 9일

SIFT 알고리즘을 살펴보세요. SIFT의 정의와 스케일 불변 컴퓨터 비전을 위한 강력한 기능을 알아보고 이미지 처리 능력을 향상시키세요.

오늘날 우리가 사용하는 휴대폰과 카메라에서 스마트 홈 시스템에 이르기까지 많은 스마트 장치에는 얼굴, 사물, 심지어 전체 시각적 장면을 인식할 수 있는 AI 솔루션이 함께 제공됩니다. 이러한 기능은 기계가 이미지와 비디오를 이해하고 해석할 수 있도록 하는 인공 지능 분야인 컴퓨터 비전에서 비롯됩니다.

예를 들어, 어떤 각도나 거리에서 에펠탑 사진을 찍더라도 일반적으로 장치는 컴퓨터 비전을 사용하여 이를 인식하고 갤러리의 올바른 폴더에 정리할 수 있습니다. 이는 간단하게 들리지만 객체를 인식하는 것이 항상 간단한 것은 아닙니다. 이미지는 크기, 각도, 축척 또는 조명에 따라 매우 다르게 보일 수 있으므로 기계가 일관되게 식별하기 어렵습니다. 

이 문제를 해결하기 위해 연구자들은 Scale Invariant Feature Transform(SIFT)라는 컴퓨터 비전 알고리즘을 개발했습니다. 이 알고리즘을 사용하면 다양한 보기 조건에서 객체를 감지할 수 있습니다. 1999년 David Lowe가 만든 SIFT는 이미지 크기가 조정되거나 회전되거나 조명이 다르게 비춰지더라도 인식할 수 있는 모서리, 가장자리 또는 패턴과 같은 이미지의 고유한 키포인트를 찾아 설명하도록 설계되었습니다.

Ultralytics YOLO11과 같은 딥러닝 기반 컴퓨터 비전 모델이 대중화되기 전에 SIFT는 컴퓨터 비전에서 널리 사용되는 기술이었습니다. 사진에서 특정 항목을 식별하는 것을 목표로 하는 객체 인식 및 겹치는 이미지 특징을 찾아 사진을 정렬하는 이미지 매칭과 같은 작업에 대한 표준 접근 방식이었습니다.

이번 글에서는 SIFT가 무엇인지, 높은 수준에서 어떻게 작동하는지, 그리고 컴퓨터 비전의 진화에서 왜 중요한지에 대한 간략한 개요와 함께 SIFT를 살펴보겠습니다. 그럼 시작해 볼까요!

컴퓨터 비전에 SIFT 알고리즘이 필수적인 이유는 무엇인가

이미지에서 객체는 여러 가지 다른 방식으로 나타날 수 있습니다. 예를 들어 커피 머그는 위에서, 옆에서, 밝은 햇빛 아래에서 또는 따뜻한 램프 아래에서 촬영할 수 있습니다. 같은 머그도 카메라에 가까울 때는 더 크게 보이고 멀리 있을 때는 더 작게 보일 수 있습니다.

이러한 모든 차이점으로 인해 컴퓨터에 객체를 인식하도록 가르치는 것은 복잡한 작업이 됩니다. 객체 감지라고 하는 이 컴퓨터 비전 작업은 Vision AI 모델이 크기, 각도 또는 조명 조건이 변경되더라도 객체를 정확하게 식별하고 찾아야 합니다.

이를 가능하게 하기 위해 컴퓨터 비전은 특징 추출 또는 감지라는 프로세스에 의존합니다. 모델은 전체 이미지를 한 번에 이해하려고 하는 대신 각도, 스케일 및 조명 조건에서 인식할 수 있는 날카로운 모서리, 고유한 패턴 또는 텍스처와 같은 고유한 이미지 특징을 찾습니다.

특히 이것이 Scale Invariant Feature Transform, 즉 SIFT가 설계된 목적입니다. SIFT는 이미지가 어떻게 캡처되든 관계없이 이미지에서 객체를 안정적으로 식별할 수 있는 특징 감지 및 설명 알고리즘입니다.

스케일 불변성 달성

SIFT 알고리즘에는 객체 인식을 위해 유용한 몇 가지 중요한 속성이 있습니다. 주요 속성 중 하나는 스케일 불변성이라고 합니다. 즉, SIFT는 객체가 크고 카메라에 가까이 있든 작고 멀리 떨어져 있든 객체의 다양한 부분을 인식할 수 있습니다. 객체가 완전히 보이지 않더라도 알고리즘은 동일한 키 포인트를 선택할 수 있습니다.

스케일-공간 이론이라는 개념을 사용하여 이를 수행합니다. 간단히 말해서, 이미지는 다양한 수준으로 흐리게 처리되어 여러 버전을 생성합니다. 그런 다음 SIFT는 이러한 버전을 검색하여 이미지 크기나 선명도가 어떻게 변하든 동일하게 유지되는 패턴과 세부 정보를 찾습니다. 

예를 들어, 몇 미터 떨어진 곳에서 촬영한 도로 표지판은 멀리서 촬영한 동일한 표지판보다 훨씬 크게 보이지만 SIFT는 여전히 동일한 고유한 특징을 감지할 수 있습니다. 따라서 표지판이 매우 다른 크기로 나타나더라도 두 이미지를 올바르게 일치시킬 수 있습니다.

회전 불변성 보장

이미지 속 객체는 회전되어 나타날 수도 있고, 때로는 거꾸로 나타날 수도 있습니다. SIFT는 회전 불변성이라는 속성을 통해 이를 처리합니다. 알고리즘은 감지하는 모든 키포인트에 대해 로컬 이미지 기울기를 기반으로 일관된 방향을 할당합니다. 이렇게 하면 동일한 객체가 어떻게 회전하든 상관없이 인식될 수 있습니다.

각 키포인트를 향하는 방향을 나타내는 작은 화살표로 표시하는 것과 같다고 생각할 수 있습니다. SIFT는 이러한 방향에 특징을 정렬함으로써 객체가 회전된 경우에도 키포인트가 올바르게 일치하도록 합니다. 예를 들어, 풍경 사진에서 캡처된 랜드마크는 카메라가 각도를 기울여 촬영한 다른 사진에서도 올바르게 식별할 수 있습니다.

다른 이미지 변형에 대한 복원력

크기 및 회전 외에도 이미지의 조명 변화와 같은 다른 방식으로도 변경될 수 있습니다. 객체의 조명이 밝음에서 어두움으로 바뀌거나, 카메라 각도가 약간 이동하거나, 이미지가 흐릿하거나 노이즈가 발생할 수 있습니다.

SIFT는 이러한 종류의 변화를 처리하도록 구축되었습니다. 조명 변화나 시점의 작은 변화에 덜 영향을 받는 고유하고 대비가 높은 키포인트에 집중함으로써 이를 수행합니다. 결과적으로 SIFT는 조건이 변경될 때 종종 실패하는 단순한 edge 또는 corner detection 방법보다 더 안정적인 경향이 있습니다.

Fig 1. (a) 비 오는 이미지와 (b) 해당 깨끗한 입력 이미지에서 추출한 SIFT 특징점. (출처)

갤러리에 있는 그림을 생각해 보세요. 부드러운 햇빛 아래에서 촬영하든, 밝은 인공 스포트라이트 아래에서 촬영하든, 심지어 손으로 들고 찍은 카메라로 약간의 모션 블러가 있더라도 여전히 인식할 수 있습니다. 이러한 차이에도 불구하고 키포인트는 정확한 매칭을 위해 충분히 안정적으로 유지됩니다.

SIFT(Scale-Invariant Feature Transform) 알고리즘 작동 방식

다음으로, SIFT 알고리즘이 어떻게 작동하는지 살펴보겠습니다. 이 프로세스는 키포인트 감지, 키포인트 현지화, 방향 할당 및 키포인트 설명의 네 가지 주요 단계로 나눌 수 있습니다.

1단계: 스케일-스페이스 극값 감지

첫 번째 단계는 객체를 추적하거나 인식하는 데 도움이 되는 이미지의 특징적인 지점(예: 모서리 또는 텍스처의 급격한 변화)인 키포인트를 찾아 감지하는 것입니다.

이러한 잠재적 키포인트가 어떤 크기에서도 인식될 수 있도록 SIFT는 스케일 공간이라는 것을 구축합니다. 이는 가우시안 필터(스무딩 기술)로 원본 이미지를 점진적으로 흐리게 하여 생성된 이미지 모음이며, 결과를 옥타브라고 하는 레이어로 그룹화합니다. 각 옥타브에는 동일한 이미지가 점점 더 흐려진 수준으로 포함되어 있으며, 다음 옥타브는 이미지의 더 작은 버전입니다.

SIFT는 흐릿한 이미지 간의 차이를 계산하여 밝기가 급격하게 변하는 영역을 강조하는 DoG(Difference of Gaussians)를 계산합니다. 이러한 영역은 이미지를 확대하거나 축소할 때 일관성을 유지하므로 후보 키포인트로 선택됩니다.

그림 2. DoG는 서로 다른 수준으로 흐리게 처리된 이미지를 빼서 주요 구조를 강조 표시합니다. (출처)

2단계: 키포인트 지역화

일부 후보 키포인트는 약하거나 불안정할 수 있으므로 유용하지 않습니다. 이를 개선하기 위해 SIFT는 Taylor Series Expansion이라는 수학적 방법을 사용하여 키포인트의 정확한 위치를 더 정확하게 추정합니다.

이 단계에서는 신뢰할 수 없는 포인트가 제거됩니다. 주변 환경과 섞이는 낮은 대비의 키포인트와 너무 쉽게 이동할 수 있으므로 가장자리에 직접 놓여 있는 키포인트는 삭제됩니다. 이 필터링 단계를 통해 가장 안정적이고 독특한 키포인트만 남게 됩니다.

3단계: 방향 할당

안정적인 특징점이 식별되면 SIFT는 회전 불변성을 만들어 이미지가 옆으로 또는 거꾸로 뒤집혀도 여전히 매칭될 수 있습니다. 이를 위해 SIFT는 각 특징점 주변의 밝기 변화, 즉 그래디언트를 분석합니다. 그래디언트는 픽셀 강도의 변화 방향과 강도를 모두 보여주며, 함께 해당 점 주변의 로컬 구조를 캡처합니다.

SIFT는 각 키포인트에 대해 주변 영역 내의 기울기를 고려하고 이를 방향 히스토그램으로 그룹화합니다. 이 히스토그램에서 가장 높은 피크는 강도 변화의 지배적인 방향을 나타내며, 이는 키포인트의 방향으로 할당됩니다. 강도가 변하는 위치를 보여주는 기울기 방향과 변화의 강도를 나타내는 기울기 크기는 모두 이 히스토그램을 만드는 데 사용됩니다.

거의 비슷한 강도의 다른 피크가 있는 경우 SIFT는 동일한 키포인트에 여러 방향을 할당합니다. 이렇게 하면 물체가 특이한 각도로 나타날 때 중요한 특징이 손실되는 것을 방지할 수 있습니다. 각 키포인트를 해당 방향에 정렬함으로써 SIFT는 다음 단계에서 생성된 설명자가 일관성을 유지하도록 보장합니다. 

다시 말해, 동일한 객체의 이미지가 서로 다르게 회전되어 있어도 방향이 정렬된 특징점은 여전히 정확하게 일치합니다. 이 단계가 SIFT에 회전 처리 능력을 부여하고, 기존 특징 감지 방법보다 훨씬 더 강력하게 만들어 줍니다.

Fig 3. SIFT 알고리즘의 3단계 상세 보기 (출처)

4단계: 키포인트 설명자

SIFT의 마지막 단계는 각 키포인트에 대한 설명을 만들어 다른 이미지에서 인식할 수 있도록 하는 것입니다. 

SIFT는 각 키포인트 주변의 작은 정사각형 패치(약 16x16 픽셀 크기)를 살펴봄으로써 이를 달성합니다. 이 패치는 먼저 키포인트의 방향에 맞춰 정렬되므로 회전이 영향을 미치지 않습니다. 그런 다음 패치는 4x4 크기의 더 작은 정사각형 그리드로 나뉩니다.

각 작은 사각형에서 SIFT는 다양한 방향으로 밝기가 어떻게 변하는지 측정합니다. 이러한 변화는 히스토그램이라는 것에 저장되는데, 이는 어떤 방향이 가장 일반적인지 보여주는 차트와 같습니다. 각 사각형은 자체 히스토그램을 가지며, 16개의 사각형이 함께 16개의 히스토그램을 생성합니다.

마지막으로, 이러한 히스토그램은 총 128개의 숫자로 된 단일 목록으로 결합됩니다. 이 목록을 특징 벡터라고 하며, 키포인트의 지문 역할을 합니다. 이 지문은 해당 지점 주변의 고유한 텍스처와 구조를 캡처하므로 크기가 조정되거나 회전되거나 조명이 다르게 비춰지더라도 서로 다른 이미지에서 동일한 키포인트를 매칭할 수 있습니다.

그림 4. SIFT 작동 방식에 대한 개요입니다. (출처)

컴퓨터 비전에서 SIFT의 주요 응용 분야

이제 SIFT가 무엇이고 어떻게 작동하는지 더 잘 이해했으니, 컴퓨터 비전 분야에서 실제 응용 사례를 살펴보겠습니다.

객체 인식 및 탐지

SIFT의 주요 용도 중 하나는 객체 인식 및 감지입니다. 여기에는 객체가 항상 동일하게 보이지 않더라도 컴퓨터가 이미지에서 객체를 인식하고 찾도록 가르치는 것이 포함됩니다. 예를 들어 SIFT는 책이 카메라에 가까이 있든, 멀리 떨어져 있든, 각도로 회전되어 있든 관계없이 책을 감지할 수 있습니다.

이것이 작동하는 이유는 SIFT가 매우 독특하고 안정적인 키포인트를 추출하기 때문입니다. 이러한 키포인트가 SIFT 설명자와 결합되면 서로 다른 이미지에서 동일한 객체를 일치시키는 신뢰할 수 있는 방법을 제공하는 SIFT 특징을 형성합니다. 이러한 특징은 객체의 크기, 위치 또는 방향이 변경되더라도 이미지에서 안정적인 특징 일치를 가능하게 하는 객체의 고유한 세부 정보를 캡처합니다.

Fig 5. SIFT를 사용하여 원본과 다른 방향으로 촬영된 새로운 이미지에서 책 표지를 인식합니다. 이미지 출처: 작성자.

딥러닝이 대중화되기 전에 SIFT는 객체 인식 시스템을 구축하는 데 가장 신뢰할 수 있는 방법 중 하나였습니다. 많은 컴퓨팅 리소스가 필요했지만 대규모 이미지 데이터 세트에서 객체를 매칭해야 하는 연구 및 애플리케이션에서 널리 사용되었습니다.

이미지 스티칭 및 파노라마 생성

SIFT는 여러 사진을 함께 이어 붙여 만든 넓은 사진인 파노라마 이미지를 만드는 데에도 사용할 수 있습니다. SIFT를 사용하여 서로 다른 이미지의 겹치는 부분에서 고유한 키포인트를 찾은 다음 서로 일치시킵니다. 이러한 일치 항목은 사진을 정렬해야 하는 방법에 대한 스티칭 프로세스를 안내하는 앵커 역할을 합니다.

매칭이 완료되면 스티칭 알고리즘을 사용하여 올바른 정렬을 계산할 수 있으며, 종종 한 이미지를 다른 이미지에 매핑하는 기하학적 변환을 사용합니다. 그런 다음 이미지를 혼합하여 이음새가 사라지도록 합니다. 최종 결과는 여러 컷에서 생성되었음에도 불구하고 마치 하나의 넓은 사진처럼 보이는 매끄러운 파노라마입니다.

3D 재구성 및 로보틱스

SIFT의 또 다른 흥미로운 응용 분야는 서로 다른 각도에서 촬영한 여러 2D 사진을 결합하여 3차원 모델을 구축하는 3D 재구성입니다. SIFT는 이러한 이미지에서 동일한 점을 찾아 일치시켜 작동합니다. 

일단 매칭이 완료되면, 삼각 측량법을 사용하여 해당 점들의 3D 위치를 추정할 수 있습니다. 삼각 측량법은 서로 다른 시점에서 깊이를 계산하는 방법입니다. 이 과정은 여러 개의 겹치는 이미지를 사용하여 장면의 3D 모양과 사진을 찍은 카메라의 위치를 추정하는 기술인 SfM(Structure from Motion)의 일부입니다.

결과는 일반적으로 객체 또는 환경의 윤곽을 나타내는 공간의 점 모음인 3D 포인트 클라우드입니다. SIFT는 structure-from-motion을 실용적으로 만든 최초의 도구 중 하나였습니다. 최신 기술이 더 빠르고 일반적이지만 정확성이 속도보다 중요한 경우 SIFT가 계속 적용됩니다.

SIFT는 특히 visual SLAM(Simultaneous Localization and Mapping)에서 로보틱스에도 사용되었습니다. SLAM을 통해 로봇은 주변 환경의 지도를 동시에 구축하면서 자신의 위치를 파악할 수 있습니다. 

SIFT 키포인트는 조명이나 각도가 바뀌어도 로봇이 프레임 전체에서 인식할 수 있는 신뢰할 수 있는 랜드마크 역할을 합니다. 이러한 랜드마크를 추적함으로써 로봇은 자신의 위치를 추정하고 즉석에서 지도를 업데이트할 수 있습니다. 오늘날 로봇 공학에서는 더 빠른 특징 감지기가 더 자주 사용되지만 SIFT는 초기 SLAM 시스템에서 중요한 역할을 수행했으며 속도보다 견고성이 더 중요한 경우 여전히 핵심입니다.

SIFT의 장점 및 고려 사항

SIFT 알고리즘은 컴퓨터 비전에서 널리 사용되어 왔으며 신뢰할 수 있는 방법으로 알려져 있지만 몇 가지 절충점이 있습니다. 따라서 프로젝트에 적합한지 결정하기 전에 장단점을 따져보는 것이 중요합니다. 다음으로 주요 강점과 한계를 살펴보겠습니다.

SIFT의 핵심 장점

SIFT 알고리즘 사용의 장점은 다음과 같습니다:

  • 크기 및 회전 불변성: SIFT는 객체가 다른 크기나 방향으로 나타날 때 비교적 안정적으로 유지되는 크기 불변 키포인트를 제공하며, 이는 이전의 특징 검출기에 비해 크게 발전된 것입니다.
  • 조명 및 시점 변화에 대한 적당한 견고성: SIFT는 밝기, 대비 또는 시점의 작은 변화를 처리할 수 있지만 극단적인 조건에서는 신뢰성이 떨어집니다.
  • 복잡하거나 부분적으로 가려진 장면에서 작동하는 능력: SIFT는 많은 로컬 키포인트를 감지하므로, 객체의 일부가 가려져 있거나 배경이 복잡하더라도 객체를 식별할 수 있습니다.

성능 고려 사항 및 대안

SIFT 알고리즘 사용의 단점은 다음과 같습니다:

  • 계산 비용이 많이 듦: SIFT의 다단계 프로세스와 자세한 설명자는 최신 기능 감지기보다 느리고 리소스가 더 많이 필요합니다. 이를 개선하기 위해 연구자들은 더 빠른 계산을 사용하여 기능을 찾고 설명하는 SURF (Speeded-Up Robust Features) 알고리즘을 개발했습니다. SURF는 경우에 따라 SIFT보다 정확도가 떨어지지만 훨씬 빠르게 실행되므로 시간에 민감한 작업에 더 실용적입니다.
  • 실시간 사용에 적합하지 않음: SIFT는 계산 비용 때문에 실시간 추적 또는 모바일 로봇 공학과 같이 속도가 중요한 애플리케이션에는 적합하지 않습니다.
  • 제한적인 다재다능함: SIFT는 많은 경우에 강력하지만, 극단적인 조명 변화, 큰 시점 변화 또는 최신 알고리즘이나 머신 러닝 방법이 더 나은 성능을 보이는 매우 역동적인 장면에서는 효과가 떨어집니다.

SIFT의 장단점을 탐색하는 동안 많은 제한 사항이 더 발전된 기술의 길을 열었다는 것을 알 수 있습니다. 특히, 컨볼루션 신경망(CNN)이 강력한 대안으로 등장했습니다. 

CNN은 인간 시각 시스템의 작동 방식에서 영감을 받은 딥러닝 모델의 한 유형입니다. 가장자리 및 텍스처와 같은 단순한 패턴에서 시작하여 점차적으로 더 복잡한 모양과 객체로 구축되는 레이어에서 이미지를 처리합니다. SIFT의 수작업으로 만든 특징 규칙과 달리 CNN은 데이터에서 직접 특징 표현을 학습합니다. 

이러한 데이터 기반 학습을 통해 CNN은 디스크립터 매칭 및 분류 작업에서 SIFT보다 뛰어난 성능을 발휘할 수 있습니다. 또한 CNN은 시각적 데이터의 가변성과 복잡성에 더 잘 적응하여 더욱 표현력이 뛰어나고 강력합니다. 

예를 들어, CNN 기반 모델은 수천 개의 범주에 걸쳐 수백만 개의 레이블이 지정된 이미지를 포함하는 대규모 벤치마크 데이터 세트인 ImageNet에서 획기적인 결과를 얻었습니다. 알고리즘이 객체를 얼마나 잘 인식하고 분류할 수 있는지 테스트하도록 설계된 ImageNet은 이전 기능 기반 방법과 딥 러닝 간의 격차를 강조할 수 있습니다. 

CNN은 훨씬 풍부하고 유연한 표현을 학습하여 SIFT를 빠르게 능가했으며, 이를 통해 조명 변화, 다양한 관점, 심지어 부분적으로 가려진 경우에도 객체를 인식할 수 있게 되었습니다. 이러한 시나리오에서 SIFT는 종종 어려움을 겪습니다.

주요 내용

Scale Invariant Feature Transform 알고리즘은 컴퓨터 비전 역사에서 중요한 위치를 차지합니다. 변화하는 환경에서도 특징을 안정적으로 감지하는 방법을 제공했으며 오늘날 사용되는 많은 방법에 영향을 미쳤습니다. 

최신 기술이 더 빠르고 효율적이지만, SIFT는 이러한 기술의 토대를 마련했습니다. SIFT는 오늘날 컴퓨터 비전의 발전이 어디에서 시작되었는지 보여주고 최첨단 AI 시스템이 얼마나 발전했는지 강조합니다.

글로벌 커뮤니티에 참여하고 GitHub 저장소를 확인하여 컴퓨터 비전에 대해 자세히 알아보세요. 솔루션 페이지를 탐색하여 농업 분야의 AI리테일 분야의 컴퓨터 비전과 같은 혁신을 찾아보세요. 라이선스 옵션을 확인하고 자신만의 컴퓨터 비전 모델 구축을 시작하세요.

함께 미래의 AI를 만들어 갑시다!

미래의 머신러닝 여정을 시작하세요

무료로 시작하기
클립보드에 링크가 복사되었습니다.