SIFT특징 (Scale-Invariant Feature Transform (SIFT))
쉽게 풀면
사진을 확대하거나 회전시켜도, 심지어 밝기가 바뀌어도 똑같이 찾아낼 수 있는 특별한 점들을 찾아주는 기술입니다. 특히 사진 속에서 크기와 각도가 서로 다르게 나타난 같은 물체를 찾아낼 때 강점을 보이는 방식입니다.
왜 중요한가
영상의 크기와 회전 변화에 강건해, 서로 다른 시점에서 촬영된 영상 간의 특징점을 매칭해야 하는 비주얼 오도메트리나 물체 인식에 오랫동안 활용되어 왔습니다.
논문에서는 이렇게 쓰입니다
이미지를 여러 흐림 정도로 흐리게 만든 뒤 그 차이가 가장 두드러지는 지점을 특징점으로 삼고, 그 주변의 명암 변화 패턴을 숫자로 요약한다는 뜻입니다.
이 문장은 밝기가 크게 다른 두 사진에 SIFT와 좀 더 가벼운 ORB 방식을 각각 적용해 보고, 어느 쪽이 같은 지점을 더 정확하게 찾아내면서도 빠른지를 비교했다는 뜻입니다. 앞선 예문이 SIFT의 작동 원리 자체를 설명한 것이었다면, 이 예문은 다른 알고리즘과의 성능 비교라는 실증 단계를 보여줍니다.
조금 더 깊게 보면
SIFT는 강건성이 뛰어나지만 연산량이 비교적 커서 실시간성이 중요한 응용에서는 ORB 등 더 가벼운 특징점 알고리즘으로 대체되는 경우가 많습니다. SIFT의 128차원 기술자는 특징점 주변을 4x4 칸으로 나누고 칸마다 8방향 그래디언트 히스토그램을 만들어 이어 붙인 것(16x8=128)으로, 이 세밀한 실수값 표현 덕분에 ORB류의 이진 기술자보다 대체로 변별력이 높습니다. 관련 특허가 2020년에 만료되어 OpenCV 기본 모듈에 다시 포함되었지만, 연산 비용 때문에 실시간 응용에서는 ORB나 학습 기반 특징(예: SuperPoint)이 함께 쓰입니다.
주의할 점
특허 및 계산 비용 문제로 실시간 응용에서는 ORB와 같은 더 가벼운 대안이 자주 사용됩니다. 스케일 공간을 이산적인 옥타브와 그 안의 몇 단계 스케일로만 샘플링하므로, 스케일 불변성은 이 이산화 수준 안에서의 근사입니다. 가우시안 피라미드 생성과 특징점마다의 기술자 계산에 많은 부동소수점 연산이 들어가, 전용 가속기 없는 저전력 임베디드 로봇에서는 실시간 처리와 전력 소모가 부담이 될 수 있습니다.