웹 비디오를 활용한 Semantic Correspondence의 Self-supervised 학습 방법

기존 Semantic Correspondence 데이터셋은 수작업 레이블링 비용으로 인해 데이터 양과 다양성에 한계가 있었습니다. 이 논문은 웹에서 자동으로 수집한 대규모 비디오를 활용하는 최초의 Self-supervised learning 프레임워크를 제안합니다. 연속적인 비디오 프레임 간의 부드러운 변화를 이용해 별도의 감독 없이 정확한 space-time correspondence를 구축하고, 이를 통해 비디오 내의 멀리 떨어진 프레임 간의 pseudo correspondence label을 생성하여 학습에 사용합니다. 이 방법은 기존 self-supervised 모델을 능가하며, 사전 학습으로 활용될 경우 supervised learning 모델의 성능도 크게 향상시킵니다. 논문 제목: Self-supervised Learning of Semantic Correspondence Using Web Videos

Kwon, Donghyeon, Minsu Cho, and Suha Kwak. "Self-supervised learning of semantic correspondence using web videos." Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision. 2024.

Self-supervised Learning of Semantic Correspondence Using Web Videos

Abstract

의미론적 대응(semantic correspondence)을 위한 기존 데이터셋은 수동 대응 라벨링의 엄청난 비용 때문에 라벨링된 데이터의 양과 라벨링된 keypoint의 다양성 모두에서 제한적인 경우가 많다. 이 문제를 해결하기 위해 우리는 대량의 웹 비디오를 완전히 자동으로 수집하고 주석 처리하여 활용하는 최초의 self-supervised learning 프레임워크를 제안한다.

우리의 주요 동기는 연속적인 비디오 프레임 간의 부드러운 변화를 통해 사람의 개입 없이 정확한 시공간 대응(space-time correspondence)을 구축할 수 있다는 점이다. 따라서 우리는 각 웹 비디오 내에서 시공간 대응을 설정하고, 이를 활용하여 비디오의 두 먼 프레임 간의 pseudo correspondence label을 도출한다. 또한, 이러한 pseudo label이 있는 웹 비디오를 사용하여 안정적인 학습을 촉진하는 전용 학습 전략을 제시한다.

공개 벤치마크에 대한 우리의 실험 결과는 다음과 같다:

  • 제안된 방법이 기존 self-supervised learning 모델들을 능가한다.
  • supervised learning을 위한 pretraining으로서의 self-supervised learning이 성능을 상당히 향상시킨다.

웹 비디오 크롤링 및 pseudo label 생성을 위한 우리의 코드베이스는 향후 연구를 촉진하기 위해 공개될 예정이다.

1. Introduction

Semantic correspondence [9, 10, 40]는 클래스 내 변화(intra-class variations)와 시점(viewpoint) 변화가 있는 이미지들 사이에서 대응점(correspondences)을 찾는 task로, 컴퓨터 비전 분야의 도전적인 문제이며, **객체 탐지(object discovery) [3, 4, 51], few-shot segmentation [13, 21, 39], 시각적 위치 파악(visual localization) [53, 56, 58]**과 같은 흥미로운 응용 분야를 가진다. 최근에는 학습 기반 방법론들이 이 분야에서 놀라운 발전을 이끌어냈다 [6, 11, 15, 17, 19, 24, 25, 34, 38, 42, 46, 47, 49, 60].
하지만 이러한 성공에도 불구하고, 더욱 견고한 매칭(matching)을 학습하는 데에는 치명적인 장애물이 있다: 바로 학습을 위한 대규모의 densely annotated 데이터의 부족이다. 점대점(point-to-point) 대응점을 수동으로 주석하는 것은 이미지 쌍의 수와 매칭해야 할 keypoint의 수가 모두 방대하기 때문에 엄청난 비용이 든다. 따라서 기존 데이터셋들 [2, 9, 10, 22, 41, 43, 57, 63, 69]은 레이블링된 데이터의 양과 주석된 keypoint의 다양성 측면에서 모두 제한적이다. 이러한 문제는 특히 딥러닝과 같은 데이터 의존적인 모델에 주로 의존하는 최근의 학습 기반 방법론들에게는 치명적일 수 있다.

본 논문에서는 웹에서 크롤링한 비디오를 활용한 학습을 통해 제한된 학습 데이터 문제를 해결한다. 웹에서 크롤링한 비디오를 활용하는 이유는 세 가지이다.
첫째, 비디오는 YouTube와 같은 웹 저장소에 풍부하게 존재하며 쉽게 접근 가능하므로, 대규모 학습 데이터셋을 구축할 수 있다.
둘째, 동일한 클립에서 샘플링된 시간적으로 멀리 떨어진 두 프레임은 종종 객체의 비자명한 기하학적/광학적 변화(non-trivial geometric/photometric variations)를 포착하며, 따라서 다르게 증강(augmented)될 경우 semantic correspondence task의 일반적인 입력, 즉 동일 클래스의 다른 이미지 [41]를 잘 시뮬레이션한다.
셋째, 두 멀리 떨어진 프레임 간의 대응점을 얻는 것은 쉽지 않지만, 클립 내의 중간 프레임들은 부드러운 변화로 그 간극을 메워주어, 어떠한 감독(supervision) 없이도 프레임 간에 신뢰할 수 있는 시공간 대응점(spacetime correspondences)을 계산하는 것을 용이하게 한다 [6, 20, 26, 27, 31, 55, 61, 64, 65, 68]. 따라서 우리의 전략은 자동으로 크롤링된 비디오 클립 내에서 멀리 떨어진 프레임의 무작위 쌍을 사용하여 학습하고, 이들의 시공간 대응점을 pseudo label로 활용하는 것이다.

그러나 semantic correspondence 학습에 웹 비디오를 사용하는 것은 새로운 도전 과제를 야기한다. 예를 들어, 비디오 검색 실패(failures of video retrieval)신뢰할 수 없는 pseudo correspondence label 등이 있다. 실제로 우리는 웹 비디오를 사용한 데이터셋 구축과 학습 모두에 특화된 방법론이 필요하다.
첫째, 우리는 비디오를 완전히 자동으로 수집하고 주석하는 알고리즘을 개발했으며, 이는 Fig. 1에 설명되어 있다. 우리의 알고리즘은 검색된 비디오의 썸네일 이미지를 분류하여 올바른 썸네일을 가진 비디오만 다운로드하도록 검사한다. 그런 다음 다운로드된 각 비디오는 안정적인 시공간 대응점을 보장하는 급격한 전환이 없는 클립으로 분할된다. 또한, 우리의 pseudo labeling 파이프라인은 설정된 대응점들에서 이상치(outliers)를 감지하여 잠재적으로 부정확한 pseudo label을 제거한다.

더 나아가, 우리는 이러한 웹 비디오를 학습 데이터로 사용하여 semantic correspondence를 학습하는 최초의 프레임워크를 제시한다. Fig. 2에 묘사된 이 프레임워크는 멀리 떨어진 프레임의 무작위 쌍과 그들의 pseudo correspondence label을 활용하여 네트워크를 학습시킨다. 또한, **웹 비디오와 task를 위한 일반적인 이미지 데이터셋 간의 domain gap을 줄이기 위해 domain adversarial learning 전략 [8]**이 사용된다.

Figure 1: 웹 비디오를 수집(Section 3.2)하고 pseudo correspondence label로 주석(Section 3.3)하는 우리의 완전 자동화된 알고리즘. 이 알고리즘은 먼저 썸네일 이미지만 다운로드하여 분류함으로써 관련 비디오를 식별한다. 그런 다음 관련 비디오를 다운로드하고 급격한 전환이 없는 여러 클립으로 분할한다. 이 알고리즘은 클립을 사용하여 시공간 대응 모델을 학습시켜 클립의 임의의 프레임 쌍에 대한 dense pseudo correspondence label을 생성한다.

제안된 프레임워크는 **세 가지 공개 데이터셋(PF-Willow [9], PF-PASCAL [10], SPair-71K [41])**에서 평가되었고 이전 연구들과 비교되었다. 그 결과, 기존 self-supervised 모델들을 크게 능가했으며, transfer learning을 통해 state-of-the-art supervised learning 모델의 성능을 향상시켰다. 결과적으로, 우리의 연구는 self-supervised 및 strongly-supervised 학습 설정 모두에서 모든 데이터셋에서 최고의 성능을 달성했다. 우리의 주요 기여는 네 가지이다:

  • 우리는 self-supervised learning 방식으로 semantic correspondence 학습에 웹 비디오를 활용하려는 최초의 시도를 제시한다.
  • 우리는 웹 비디오를 사용한 데이터셋 구축 및 레이블링을 위한 완전 자동화된 프로세스를 제공한다. 우리의 전략은 정확한 pseudo correspondence label 생성을 위해 이미지에 비해 비디오가 가지는 독점적인 장점을 활용한다.
  • 우리의 방법은 기존 self-supervised learning 모델들을 능가했으며, transfer learning을 통해 supervised learning 성능까지 크게 향상시켰다.
  • 웹 비디오 크롤링 및 pseudo-labeling을 위한 우리의 코드베이스는 향후 연구를 촉진하기 위해 공개될 예정이다.

Semantic Correspondence
Semantic correspondence [9, 10, 40] task는 클래스 내 변화(intra-class variation)와 시점(viewpoint) 변화가 있는 이미지들 사이의 대응 관계를 설정하는 것을 목표로 한다. 초기 접근 방식들 [5, 36, 57]은 수작업으로 설계된 feature를 활용하여 매칭할 keypoint를 기술했다. 최근 방법들 [6, 11, 15, 17, 19, 24, 25, 34, 38, 42, 46, 47, 49, 60]은 수동으로 주석된 데이터셋 [2, 9, 10, 22, 41, 43, 57, 63, 69]을 사용하여 딥 뉴럴 네트워크를 통해 feature와 매칭 파이프라인을 학습함으로써 놀라운 발전을 보여주었다.
그러나 기존 데이터셋은 점대점(point-to-point) 대응 관계를 주석하는 데 엄청난 비용이 들기 때문에, 이미지 쌍의 양과 주석된 keypoint의 수/다양성 측면에서 제한적인 경우가 많다. 이러한 문제는 특히 최근의 학습 기반 방법론에 결정적인 영향을 미칠 수 있다.
이 문제를 해결하기 위해 self-supervised learning 전략이 semantic correspondence 모델에 통합되었다 [30, 37, 47, 59, 60]. 한 가지 예시는 실제 이미지를 warping하여 ground-truth 대응 관계를 가진 이미지 쌍을 합성하여 학습에 사용하는 것이다. 그러나 이러한 합성된 기하학적 변환은 실제 세계에서 나타나는 클래스 내 변화를 시뮬레이션하는 데 실패하는 경우가 많다.
제한된 학습 데이터 문제를 다루는 또 다른 접근 방식은 weakly supervised learning [15, 24, 46, 50]으로, 이는 이미지 쌍이 동일한 클래스에 속하는지 여부를 나타내는 이미지 수준의 클래스 레이블만 활용한다. 또한, semi-supervised learning 방법 [23]이 도입되어 기존 학습 데이터의 대량의 pseudo correspondence label을 생성하고 이를 활용하여 성능을 더욱 향상시켰다.

Space-Time Correspondence
Space-time correspondence비디오 클립의 프레임 간 대응 관계를 찾는 것을 목표로 한다 [16, 20, 26, 27, 32, 55, 62, 66, 68]. 이 task는 레이블이 없는 비디오에 대한 self-supervised learning을 통해 다루어져 왔다. 이러한 self-supervised learning을 위한 pretext task의 예시로는 색상 재구성(color reconstruction) [26, 27, 61], auto-encoder를 사용한 이미지 재구성(image reconstruction) [32], 그리고 시간적 cycle-consistency [16, 65, 68] 등이 있다. 특히, Jabri et al. [16]은 contrastive random walk를 사용하는 확률론적 프레임워크를 제안했다.
우리의 pseudo label 생성 기술각 웹 비디오 내에서 dense space-time correspondence를 찾기 위해 Jabri et al. [16]의 방법론을 기반으로 한다. 웹 비디오와 그 pseudo label은 차례로 이미지 쌍에서 작동하는 semantic correspondence 모델을 학습하는 데 사용된다.

3. Method

우리의 프레임워크는 세 가지 단계로 구성된다: (1) 웹 저장소에서 비디오를 검색하는 단계, (2) 각 웹 비디오에 대한 space-time correspondence를 구축하는 단계, (3) 웹 비디오에서 샘플링된 멀리 떨어진 프레임들의 무작위 쌍을 사용하여 semantic correspondence model을 학습하는 단계. 이때, space-time correspondencepseudo label로 활용한다.

Figure 2. 웹 비디오를 활용한 우리 프레임워크의 개요. 웹 비디오는 기반 모델(이 그림에서는 CATs [6])의 전통적인 supervised learning에 사용된다. 추가적으로, common dataset웹 비디오와 common dataset 간의 domain gap을 메우기 위한 domain adaptation learning에 활용되며, 이때 common dataset으로부터 어떠한 형태의 supervision도 받지 않는다.

첫 두 단계는 Figure 1에 묘사되어 있으며, 마지막 단계는 Figure 2에 설명되어 있다. 이 섹션의 나머지 부분에서는 먼저 우리 작업의 예비 지식을 제공한 다음, 세 가지 단계를 자세히 설명한다.

3.1. Preliminaries

IsI_sItI_t를 각각 의미적으로 유사한 객체를 포함하는 source 및 target 이미지라고 하자. Semantic correspondence의 목표는 IsI_sItI_t 사이의 keypoint를 매칭하는 것이다. 두 이미지 간의 correspondence를 구축하기 위해, 먼저 feature extraction network가 feature map FRh×w×cF \in \mathbb{R}^{h \times w \times c}를 추출한다. 여기서 h×wh \times w는 공간 해상도(spatial resolution)이고 cc는 채널 수이다. 그런 다음 correlation map CRhw×hw\mathcal{C} \in \mathbb{R}^{h w \times h w}를 계산하는데, C(i,j)=FtiFsj\mathcal{C}(i, j)=F_{t}^{i^{\top}} F_{s}^{j}FtF_t의 픽셀 iiFsF_s의 픽셀 jj 사이의 유사도를 나타낸다.

안타깝게도, 이 초기 correlation map은 종종 모호하며 반복적이거나 텍스처가 없는(textureless) correspondence에 취약하다. 최근 방법들 [6, 19, 29, 38, 40, 48, 49]은 cost aggregator를 사용하여 초기 correlation map C\mathcal{C}로부터 정제된 correlation map C\mathcal{C}'을 얻음으로써 이 문제를 해결한다. 우리는 semantic correspondence를 위한 기본 모델로 CATs [6]를 채택한다. 또한, 이미지와 비디오 간의 domain gap을 줄이기 위해 일반적인 데이터셋 [9, 10, 41]을 레이블 없이 활용한다.

3.2. Crawling Videos from Web Repository

우리가 미리 정의된 객체 클래스 집합에 대한 일반적인 semantic correspondence 데이터셋에 접근할 수 있다고 가정해 보자. 비디오 크롤링의 첫 번째 단계는 클래스 레이블을 검색 쿼리로 사용하여 YouTube에서 해당 객체 클래스와 관련된 비디오를 검색하는 것이다. 그러나 검색된 비디오는 검색 엔진의 오류나 검색 쿼리로 사용된 클래스 레이블의 의미적 모호성(semantic ambiguity)(예: 클래스 레이블이 여러 의미를 가질 때)으로 인해 우리가 관심 있는 클래스와 관련이 없을 수 있다.
이러한 문제를 완화하기 위해 Hong et al. [14]의 방식을 따라, 우리는 먼저 검색된 비디오의 썸네일 이미지만 다운로드한 다음, 레이블이 지정된 데이터셋을 사용하여 관심 클래스에 대해 학습된 간단한 분류기로 이 이미지들을 분류한다. 비디오는 검색 쿼리로 사용된 클래스 레이블에 대한 썸네일 분류 점수가 미리 정의된 임계값을 초과할 때만 다운로드된다.

이러한 방식으로 관련 없는 비디오가 필터링되더라도, 다운로드된 비디오는 **인접 프레임 간의 급격한 전환(즉, 샷 변경)**으로 인해 시공간 correspondence를 통해 pseudo correspondence 레이블을 추정하는 데 부적절할 수 있다. 따라서 각 다운로드된 비디오는 샷 감지 방법 [1]을 통해 급격한 전환이 없는 여러 클립으로 분할된다.

3.3. Generating Pseudo Labels for Web Videos

다음 단계는 Section 3.2에서 얻은 비디오 클립에 대한 pseudo correspondence label을 생성하는 것이다. 이를 위해 우리는 먼저 어떠한 사람의 개입 없이 self-supervised space-time correspondence model을 학습 및 배포하여, 모든 클립의 연속적인 프레임 쌍에 대해 dense space-time correspondence를 설정한다. 이렇게 설정된 space-time correspondence는 임의의 프레임 이미지 쌍 간의 pseudo correspondence label을 도출하는 데 사용된다. Section 3.2의 비디오 수집 전략 덕분에 각 클립의 연속적인 프레임은 갑작스러운 전환 없이 부드러운 움직임을 보여주므로, 모델은 안정적으로 학습될 수 있으며, 이에 따라 연속적인 프레임 간에 정확한 correspondence를 구축할 수 있다.

학습된 space-time correspondence model이 주어지면, 첫 번째 프레임의 keypoint를 동일 클립 내의 나머지 프레임으로 전파하여 pseudo correspondence label을 생성한다. 웹 비디오에는 수동 keypoint annotation이 없으므로, 첫 번째 프레임의 모든 픽셀 위치를 keypoint로 간주한다. ϕ\phi를 space-time correspondence model의 encoder라고 하고, F=ϕ(I)F=\phi(I)를 입력 이미지 II의 feature map이라고 하자. 그러면 각 프레임의 픽셀 수를 mm이라고 할 때, **프레임 간 affinity matrix Ak,k+1Rm×m\mathcal{A}_{k, k+1} \in \mathbb{R}^{m \times m}**는 다음과 같이 계산된다:

Ak,k+1i,j=cos(Fki,Fk+1j)\mathcal{A}_{k, k+1}^{i, j}=\cos \left(F_{k}^{i}, F_{k+1}^{j}\right)

여기서 cos\cos는 cosine similarity 함수를 나타내고, FkiF_{k}^{i}는 프레임 kk의 픽셀 ii의 feature vector를 나타낸다. affinity matrix Ak,k+1\mathcal{A}_{k, k+1}두 연속적인 프레임 kkk+1k+1 사이의 픽셀 간 semantic affinity를 나타낸다.

모든 연속적인 프레임 쌍 간의 affinity matrix가 주어지면, 첫 번째 프레임의 keypoint는 클립 내에서 dense space-time correspondence를 구축하기 위해 다른 프레임으로 순차적으로 전파된다. ykNm\mathbf{y}_{k} \in \mathbb{N}^{m}를 프레임 kk의 픽셀에 대한 keypoint ID라고 하자 (즉, yki\mathbf{y}_{k}^{i}는 프레임 kk의 픽셀 ii가 가지는 keypoint의 ID를 나타낸다). 그러면 yk\mathbf{y}_{k}는 프레임 간 affinity matrix를 통해 프레임 k+1k+1로 전파되어 yk+1\mathbf{y}_{k+1}을 다음과 같이 추정한다:

yk+1j=yk, where =argmaxi(Ak,k+1i,j)\mathbf{y}_{k+1}^{j}=\mathbf{y}_{k}^{\ell}, \quad \text { where } \ell=\underset{i}{\operatorname{argmax}}\left(\mathcal{A}_{k, k+1}^{i, j}\right)

pseudo correspondence label의 정확도를 향상시키기 위해, 우리는 잘못된 label 전파를 감지하고 제거한다. 이는 outlier detection에 특화된 알고리즘인 Isolation Forest [33]를 Eq. (2)에 의해 생성된 pseudo label에 적용함으로써 달성된다. 우리는 연속적인 프레임 간에 전파된 대부분의 label이 위치 변화에서 유사한 정도를 보일 것이라고 가정한다. Isolation Forest를 통해 우리는 각 전파된 label의 xxyy 축 변화 정도를 측정하고, 비정상적인 변화량을 가진 label을 식별하여 제거한다. 이 과정은 오류에 강한 pseudo correspondence label을 생성하게 한다.

이러한 결과를 바탕으로, 각 클립의 임의의 두 프레임 kkkk' 사이의 pseudo correspondence label두 프레임 모두에서 함께 나타나는 keypoint를 식별함으로써 간단히 얻어진다. 즉, yk\mathbf{y}_{k}yk\mathbf{y}_{k'}의 교집합을 찾는 것이다.

3.4. Learning Correspondence with Web Videos

우리의 학습 프레임워크는 주로 이전 섹션에서 구축된 웹 비디오 데이터셋과 해당 task를 위한 일반적인 데이터셋을 활용한다. 학습 전략에 대한 자세한 내용은 다음 섹션에서 설명한다.

3.4.1 Supervised Learning with Web Videos

웹 비디오를 사용한 supervised learning의 경우, 우리는 [6, 38, 40, 42]에서 사용된 학습 objective를 따른다. 무작위로 선택된 각 이미지 쌍에 대해 생성된 pseudo keypoint가 주어지면, 우리는 먼저 [40]에서와 같이 pseudo ground-truth flow field Fgt \mathbb{F}_{\text {gt }}를 생성하고, refined correlation map C\mathcal{C}^{\prime}를 estimated flow field Fest \mathbb{F}_{\text {est }}로 변환한다. 그런 다음, average end-point error [37]라고 불리는 supervised loss가 두 flow field에 다음과 같이 적용된다:

Lsup =FgtFest2\mathcal{L}_{\text {sup }}=\left\|\mathbb{F}_{\mathrm{gt}}-\mathbb{F}_{\mathrm{est}}\right\|_{2}

3.4.2 Domain Adaptive Learning

우리는 일반적인 correspondence 데이터셋의 이미지와 웹 비디오 간의 feature space에서의 domain gap으로 인한 잠재적인 부정적 영향을 완화하기 위해 domain adaptive learning 기법을 채택한다. 목표는 웹 비디오와 일반 데이터셋에 대한 correspondence 모델의 feature가 discriminator에게 구별 불가능하도록 학습하는 것이다. 이를 위해 우리는 gradient reversal layer [8]를 사용한다.
dd를 discriminator라고 하고, DwD_wDcD_c를 각각 웹 비디오와 일반 이미지 데이터셋의 프레임 이미지 집합이라고 하자. 그러면 domain adaptation loss는 다음과 같이 주어진다:

Ldomain =1DcXcDcLce(d(r(Gc)),c)+1DwXwDwLce(d(r(Gw)),w),\begin{aligned} \mathcal{L}_{\text {domain }}= & \frac{1}{\left|D_{c}\right|} \sum_{X_{c} \in D_{c}} \mathcal{L}_{\mathrm{ce}}\left(d\left(r\left(G_{c}\right)\right), c\right)+ \\ & \frac{1}{\left|D_{w}\right|} \sum_{X_{w} \in D_{w}} \mathcal{L}_{c e}\left(d\left(r\left(G_{w}\right)\right), w\right), \end{aligned}

여기서 rrgradient reversal layer를 나타내고, Lce\mathcal{L}_{\mathrm{ce}}cross-entropy loss를 의미한다. wwcc는 각각 웹 비디오와 일반 이미지 데이터를 나타내는 domain label이며, GwG_wGcG_c는 semantic correspondence 모델에서 주어진 이미지 XwX_wXcX_c로부터 얻은 feature map이다.

우리 프레임워크의 **총 손실(total loss)**은 다음과 같이 주어진다:

Ltotal =Lsup +λLdomain ,\mathcal{L}_{\text {total }}=\mathcal{L}_{\text {sup }}+\lambda \mathcal{L}_{\text {domain }},

여기서 λ\lambdaloss re-scaling factor이다.

4. Experiments

4.1. Implementation Details

네트워크 아키텍처 (Network architecture)
우리는 Section 3.3에서 웹 비디오의 pseudo labeling을 위해 **CRW [16]**를 채택했으며, Section 3.4의 학습을 위한 기본 semantic correspondence 모델로는 **CATs [6]**를 사용했다. 이 두 모델의 backbone은 모두 **ResNet [12]**이다: CRW의 encoder는 ResNet-18, CATs의 feature extraction network는 ResNet-101이다. CRW와 CATs의 학습에는 논문에서 보고된 것과 동일한 하이퍼파라미터를 사용했다. Section 3.2의 thumbnail classifier에는 ResNet-18이 사용된다. 웹 비디오를 사용한 domain adaptation 학습(Ldomain \mathcal{L}_{\text {domain }} in Section 3.4)을 위해, 우리는 channel-wise 평균화되기 전의 마지막 feature map을 사용한다.

MethodSupervision typeSupervision SignalPF-PASCALPF-WillowSPair-71k
0.050.10.150.050.10.150.1
SF-Net ResNet-101 { }_{\text {ResNet-101 }} [28]Weak-sup.bounding box53.681.990.646.374.084.2-
Weakalign ResNet-101 { }_{\text {ResNet-101 }} [46]image-level label49.074.884.037.070.279.920.9
RTNs ResNet-101 { }_{\text {ResNet-101 }} [24]55.275.985.241.371.986.225.7
NC-Net ResNetio1 { }_{\text {ResNetio1 }} [50]54.378.986.033.867.083.720.1
PCSNet-SE ResNetio1 { }_{\text {ResNetio1 }} [18]59.880.388.542.675.188.026.5
PF hog { }_{\text {hog }} [10]None-31.462.579.528.456.868.2-
CNNGeo ResNet-101 { }_{\text {ResNet-101 }} [47]Self-sup.synthetic image pairs41.069.580.436.9\underline{36.9}69.277.820.6
A2Net ResNet-101 { }_{\text {ResNet-101 }} [54]42.870.883.336.368.884.422.3\underline{22.3}
PMD ResNet-101 [30]_{\text {ResNet-101 }}[30]-80.5\underline{80.5}--73.4--
Ours resNet-101Self-sup.synthetic keypoints50.780.690.044.574.787.927.3

Table 1. PF-PASCAL, PF-Willow, SPair-71k 데이터셋에서 PCK(%)를 기준으로 self/weakly-supervised 방법들과 비교한 결과. 각 방법의 backbone 네트워크는 아래첨자로 표시되어 있다. 가장 좋은 결과는 굵게(bold), 두 번째로 좋은 결과는 밑줄(underline)로 표시되어 있다.

MethodSupervision typeSupervision SignalPF-PASCALPF-WillowSPair-71k
0.050.10.150.050.10.150.1
SCNet vgg-16 [11]Strong-sup.keypoints36.272.282.038.670.485.3-
ANC-Net ResNet-101-FCN { }_{\text {ResNet-101-FCN }} [29]-86.1----28.7
HPF ResNet-101 { }_{\text {ResNet-101 }} [40]60.184.892.745.974.485.628.2
DHPF ResNet-101 [42]{ }_{\text {ResNet-101 }}[42]75.790.795.049.577.689.137.3
CHMNet ResNet-101 { }_{\text {ResNet-101 }} [38]80.191.694.952.779.487.546.3
MMNet ResNet-101 { }_{\text {ResNet-101 }} [67]77.689.194.3---40.9
TransforMatcher ResNet-101 { }_{\text {ResNet-101 }} [25]80.891.8--76.0-53.7\underline{53.7}
CATs ResNet-101 { }_{\text {ResNet-101 }} [6]75.492.696.450.379.2\underline{79.2}90.349.9
Ours ResNet-101Strong-sup. (transferred)keypoints80.493.696.854.880.991.054.0

Table 2. PF-PASCAL, PF-Willow, SPair-71k 데이터셋에서 PCK(%)를 기준으로 supervised 방법들과 비교한 결과. 각 방법의 backbone 네트워크는 아래첨자로 표시되어 있다. 가장 좋은 결과는 굵게(bold), 두 번째로 좋은 결과는 밑줄(underline)로 표시되어 있다.

Methodsaero.bicy.birdboatbott.buscarcatchai.cowdoghors.mbik.pers.plan.shee.trai.tvall
CNNGeo [47]23.416.740.214.336.427.726.032.712.727.422.813.720.921.017.510.230.834.120.6
A2Net [54]22.618.542.016.437.930.826.535.613.329.624.316.021.622.820.513.531.436.522.3
WeakAlign [46]22.217.641.915.138.127.427.231.812.826.822.614.220.022.217.910.432.235.120.9
NC-Net [50]17.912.232.111.729.019.916.139.29.923.918.815.717.415.914.89.624.231.120.1
HPF [40]25.218.952.115.738.022.819.152.917.933.032.820.624.427.921.115.931.535.628.2
SCOT [34]34.920.763.821.143.527.321.363.120.042.942.531.129.835.027.724.448.440.835.6
DHPF [42]38.423.868.318.942.627.920.161.622.046.946.133.527.640.127.628.149.546.537.3
CHMNet [38]49.133.664.532.744.647.543.557.821.061.354.643.835.143.738.133.570.655.946.3
MMNet [67]43.527.062.427.340.150.137.560.021.056.350.341.330.919.230.133.264.243.640.9
TransforMatcher [25]59.239.373.041.252.5\underline{52.5}66.355.467.126.167.156.653.2\underline{53.2}45.039.942.1\underline{42.1}35.3\underline{35.3}75.2\underline{75.2}68.6\underline{68.6}53.7\underline{53.7}
CATs [6]52.034.772.234.349.957.543.666.524.463.256.552.042.641.743.033.672.658.049.9
SemiMatch [23]53.637.074.6\underline{74.6}32.347.557.742.467.4\underline{67.4}23.764.257.351.743.840.4\underline{40.4}45.333.174.165.950.7
Ours55.838.877.338.252.757.550.067.825.465.463.859.344.2\underline{44.2}49.740.441.775.370.554.0

Table 3. SPair-71K 데이터셋에서 PCK(%) (αk=0.1\alpha_{k}=0.1)를 기준으로 클래스별 정량적 결과. 가장 좋은 결과는 굵게(bold), 두 번째로 좋은 결과는 밑줄(underline)로 표시되어 있다.

cost aggregator에서 channel-wise 평균화되기 전의 마지막 feature map을 사용한다. Ldomain \mathcal{L}_{\text {domain }}에 사용되는 discriminator는 두 개의 3×33 \times 3 convolutional layer와 두 개의 fully-connected layer로 구성된다.

웹 비디오 데이터셋 (Web video dataset)
우리는 Section 3.2에서 검색된 2,124개의 비디오를 수집하여 36,879개의 클립과 2,806,736개의 프레임 쌍을 얻었다. PF-PASCAL, PF-WILLOW, SPair71K의 객체 클래스들이 비디오 검색 쿼리로 사용되었다. Section 3.2에 사용된 thumbnail classifier는 PASCAL VOC 데이터셋으로 학습되었다. 우리는 모든 실험에서 동일한 pseudo correspondence label을 사용한다.

평가용 데이터셋 (Datasets for evaluation)
우리는 semantic correspondence를 위한 세 가지 표준 벤치마크인 **SPair-71K [41], PF-PASCAL [10], PF-Willow [9]**에서 실험을 수행한다. SPair-71k는 다양한 시점(viewpoint) 및 스케일 변화를 포함하는 70,958개의 이미지 쌍으로 구성된다. PF-PASCAL은 PASCAL VOC [7] 데이터셋의 20개 카테고리에서 1,351개의 이미지 쌍을 제공하며, PF-Willow는 4개 카테고리에서 900개의 이미지 쌍을 제공한다. Table 1과 Table 2에서 평가된 모든 이전의 weakly, self, strongly-supervised 방법들은 표준 평가 프로토콜 [6, 15, 40, 42]을 따른다: SPair-71K의 경우, 학습 및 평가는 각각 training 및 test split에서 수행되며, PF-PASCAL 및 PF-Willow의 경우, PF-PASCAL의 training split에서 학습하고 각 데이터셋의 test split에서 평가한다.

Figure 3. SPair-71K [41] test set에 대한 정성적 결과.

데이터 증강 (Data augmentation)
데이터 증강을 위해 [6]과 동일한 photometric augmentation 목록을 사용한다. Random horizontal flip, random perspective transform, color jittering, random grayscale은 동일한 클립의 다른 프레임에 다르게 적용된다.

옵티마이저 (Optimizer)
우리는 learning rate 3e53 \mathrm{e}-5 및 weight decay 0.050.05를 사용하는 AdamW [35] 최적화를 채택한다.

하이퍼파라미터 (Hyper-parameters)
Section 3.2의 thumbnail classification score에 대한 임계값은 [14]에 따라 0.8로 설정된다. Ldomain \mathcal{L}_{\text {domain }}의 loss re-scaling 파라미터 λ\lambda는 0.025로 설정된다. Isolation Forest에 사용되는 estimator의 수는 기본 설정에 따라 100으로 설정된다.

소프트웨어 (Software)
우리는 딥러닝 프레임워크로 주로 **Pytorch [44]**를 사용하고, Isolation Forest를 위해 **Scikit-learn [45]**을 사용한다.

평가 지표 (Evaluation metric)
성능 지표로 **PCK (percentage of correct keypoints)**를 채택한다. 추정된 키포인트 쌍과 ground-truth 키포인트 쌍의 집합 K={(kest (m),kGT(m)}\mathcal{K}= \left\{\left(k_{\text {est }}(m), k_{\mathrm{GT}}(m)\right\}\right.이 주어졌을 때, PCK는 다음과 같이 계산된다:

PCK(K)=1Mm=1M1[kGT(m)kest(m)αkmax(H,W)]\begin{aligned} & \operatorname{PCK}(\mathcal{K})= \\ & \frac{1}{M} \sum_{m=1}^{M} \mathbb{1}\left[\left\|k_{\mathrm{GT}}(m)-k_{\mathrm{est}}(m)\right\| \leq \alpha_{k} \cdot \max (H, W)\right] \end{aligned}

여기서 MM은 키포인트 쌍의 수, HHWW는 전체 이미지 또는 객체 bounding box의 너비와 높이, αk\alpha_{k}는 스케일 팩터이다.

4.2. Results

Self/weakly-supervised 방법과의 비교
우리는 먼저 우리의 접근 방식을 self-supervised 방법들 [30, 47, 54] 및 **weakly-supervised 방법들 [18, 24, 28, 46, 50]**과 비교한다. 이 설정에서 우리는 웹 비디오에서 생성된 pseudo label을 사용하여 matching supervision을 위해 모델을 학습시키고, domain adaptation learning을 위해 **일반적인 데이터셋 [9, 10, 41]**을 사용한다.
우리의 방법은 Table 1에서 보여지듯이 state-of-the-art 결과를 달성하며, 도전적인 SPair71K 데이터셋에서 27.3%의 PCK@0.1를 기록하여 다른 모든 self-supervised 방법들과 심지어 weakly-supervised 방법들까지 능가한다.
PF-PASCAL의 경우, 우리의 방법은 PCK@0.1 설정에서 80.6%의 PCK를 달성하며 기존 self-supervised 방법들을 지속적으로 능가한다. 유사하게, PF-Willow에서도 우리의 방법은 그 효과를 입증하며 모든 기존 self-supervised 방법들을 능가한다.
우리의 모델은 주로 웹 비디오에서 생성된 pseudo label로 학습되며, 다른 일반적인 데이터셋은 어떠한 supervision 없이 domain adaptation learning에만 사용된다는 점이 중요하다.

Figure 4. 웹에서 크롤링된 비디오에서 얻은 pseudo correspondence label의 정성적 결과. 각 프레임 쌍에 대해 무작위로 8개의 keypoint를 pseudo correspondence label로 샘플링하였다. 원본(source) 및 대상(target) 이미지는 다르게 증강(augmented)되었다.

Strongly-supervised 방법과의 비교
우리는 우리의 접근 방식의 효과를 입증하기 위해 최신 state-of-the-art strongly-supervised 모델들과 비교를 수행했다. 우리는 transfer learning을 사용했는데, 모델은 처음에 웹 비디오의 pseudo label로 학습된 다음, Eq. (3)의 supervised learning loss만을 사용하여 대상 일반 데이터셋에서 fine-tuning되었다.
Table 2에 제시된 결과는 우리의 방법이 state-of-the-art 성능을 달성함을 보여준다.
PF-PASCAL의 경우, 우리는 96.8%의 PCK@0.1593.6%의 PCK@0.1를 얻었으며, PF-Willow의 경우 54.8%의 PCK@0.05, 80.9%의 PCK@0.1, 그리고 91.0%의 PCK@0.15를 달성했다.
또한, 우리의 방법은 SPair-71K에서 54.0%의 PCK@0.1 점수로 상당한 성능 향상을 보여준다. 우리는 SPair-71K의 클래스별 정확도 측면에서 다른 방법들과 우리의 방법을 추가로 비교하여 그 성능을 자세히 보여준다. Table 3에서 보듯이, 우리의 방법은 SPair-71K의 거의 모든 클래스에서 최고 또는 두 번째로 좋은 성능을 달성하며, 18개 클래스 중 9개 클래스에서 다른 방법들을 능가한다. 평균 PCK 성능은 **54.0%**이다.
정성적 분석 (Qualitative analysis)
Fig. 3SPair71K에 대한 우리의 결과를 보여주며, Fig. 4웹에서 크롤링된 비디오에서 얻은 pseudo correspondence label을 가진 예시 프레임 쌍을 보여준다.

4.3. Ablation Studies

우리는 제안된 방법의 각 구성 요소의 효과를 조사하기 위해 ablation study를 수행한다.

λ\lambda0.00250.0050.0250.050.250.5
PCK@0.127.026.927.327.026.527.1

Table 4. SPair-71K 테스트 세트에서 Eq. (5)의 λ\lambda가 미치는 영향.

Lsup \mathcal{L}_{\text {sup }}Ldomain \mathcal{L}_{\text {domain }}PCK@0.1
\checkmark\checkmark27.3\mathbf{27 . 3}
\checkmarkX\boldsymbol{X}25.7

Table 5. SPair-71K [41] 테스트 세트에서 PCK@0.1에 대한 Eq. (5)의 다양한 손실 조합에 대한 ablation study.

ORBISFPCK@0.1
\checkmarkx\boldsymbol{x}15.2
x\boldsymbol{x}x\boldsymbol{x}22.5
x\boldsymbol{x}\checkmark27.3\mathbf{27 . 3}

Table 6. SPair-71K [41] 테스트 세트에서 PCK@0.1에 대한 우리의 pseudo label 생성 방법에 대한 ablation study. ORB는 space-time correspondence encoder를 사용하는 대신 ORB 알고리즘 [52]을 직접 사용하여 pseudo label을 생성하는 것(두 이미지 간의 대응 관계 찾기)을 나타내며, ISF는 Isolation Forest [33] 기반의 오류 필터링 기법을 사용하는 것을 나타낸다.

실험은 SPair-71K [41]의 테스트 세트에서 수행되었다. Eq. (5)의 λ\lambda가 미치는 영향. Table 4에서 볼 수 있듯이, 우리 방법은 λ\lambda 값에 민감하지 않으며, λ=0.025\lambda=0.025일 때 가장 좋은 성능을 달성했다. Eq. (5)의 손실 구성 요소 분석. Section 3.4에서 설명된 학습 단계에서 Lsup \mathcal{L}_{\text {sup }}Ldomain \mathcal{L}_{\text {domain }}은 함께 최적화된다. **Domain adaptation loss인 Ldomain \mathcal{L}_{\text {domain }}**은 correspondence model의 feature space에서 공통 데이터셋과 웹 비디오 간의 domain gap으로 인한 부정적인 영향을 최소화하는 데 사용된다. 우리는 Eq. (5)의 각 손실 항의 효과를 조사하기 위해 비교 실험을 수행했다. Table 5에 제시된 결과는 각 항이 전체 성능에 기여하며, 두 손실을 모두 활용할 때 가장 좋은 결과가 달성됨을 나타낸다. Pseudo label 생성 방법 분석. Section 3.3에서 설명된 pseudo label 생성 단계에서, 우리는 먼저 space-time correspondence encoder를 활용하여 웹 비디오로부터 pseudo correspondence label을 생성한다. 이 label들은 Isolation Forest 알고리즘 [33]을 사용하여 오류가 있는 것들을 필터링한다. 이 섹션에서는 pseudo label 생성 전략의 효과를 조사하기 위해 비교 실험을 수행한다. 첫째, space-time correspondence encoder를 사용하는 우리 접근 방식의 효과를 입증하기 위해, 우리는 동일한 조건(예: augmentation) 하에서 encoder를 사용하는 대신 기성 이미지 feature 매칭 알고리즘인 ORB [52]에 의해 생성된 pseudo label로 모델을 학습시켰다. Table 6의 첫 번째 행에 나타난 결과는 우리 접근 방식이 27.3% PCK@0.1을 달성한 것에 비해, ORB만 사용했을 때는 15.2% PCK@0.1로 저조한 성능을 보였다. 둘째, 우리는 Isolation Forest 알고리즘 [33]에 의해 필터링되지 않은 pseudo label을 사용하여 모델을 학습시켰다. Table 6의 두 번째 및 세 번째 행에서 입증된 바와 같이, 필터링 알고리즘을 적용하는 것이 모델의 성능을 크게 향상시켰다. 이러한 결과들을 바탕으로, 우리는 웹 비디오에서 대응 관계를 찾기 위해 space-time encoder를 활용하는 것이 매우 효과적이며, 오류 필터링 알고리즘을 적용하는 것이 성능을 효과적으로 향상시킨다고 결론 내릴 수 있다.

Figure 5. 웹 크롤링 비디오에서 pseudo correspondence label의 일부 실패 사례에 대한 정성적 결과. 텍스처 패턴이 반복적이거나(a) feature가 없는(b) 경우이다.

5. Limitation and discussion

우리의 방법이 연속적인 프레임에서 밀도 높고 신뢰할 수 있는 correspondence를 포착할 수 있었지만, 텍스처가 반복적이거나(Fig. 5(a)) feature가 없는(Fig. 5(b)) 경우에는 실패 사례가 발생한다. 우리는 쉽게 구할 수 있는 labeled data를 활용하여 웹 비디오의 시공간 correspondence에서 발생할 수 있는 오류를 감지하거나 수정하는 알고리즘을 개발하는 것이 유망한 미래 연구 방향 중 하나가 될 수 있다고 생각한다.

6. Conclusion

우리는 웹 비디오를 활용한 데이터셋 구축 및 pseudo labeling 프로세스를 포함하는 semantic correspondence를 위한 self-supervised learning 프레임워크를 제시했다. semantic correspondence 학습을 위한 대규모 dense annotation 데이터의 부족을 완화하기 위해, 우리는 웹 저장소에서 대량의 비디오를 검색하고 space-time correspondence 모델을 활용하여 pseudo correspondence label을 생성한다. 그런 다음, 이 pseudo correspondence label과 일반적인 데이터셋을 사용하여 모델을 학습시킨다. 우리의 프레임워크는 세 가지 벤치마크 모두에서 기존 self-supervised 방법들보다 성능을 크게 향상시켰다.

감사의 글 (Acknowledgement). 본 연구는 Samsung Electronics Co., Ltd (IO201210-07948-01)의 지원을 받아 수행되었다.