논문 요약
Learning-based optical flow estimation의 정확성 향상을 이끄는 속성을 밝히기 위해 많은 synthetic optical flow dataset이 연구되었다. 그러나 이러한 속성을 수동으로 식별하고 검증하는 것은 비효율적이며 많은 실험과 생성 시간이 필요하다. 본 논문에서는 DFlow라는 미분 가능한 optical flow data 생성 파이프라인과 이를 위한 손실 함수를 제안하며 이를 통해 효율적으로 목표 도메인에 맞는 데이터셋을 합성한다.
1. Paper Bibliography
논문 제목
DFlow: Learning to Synthesize Better Optical Flow Datasets via a Differentiable Pipeline.
저자
Byung-Ki, Kwon, et al.
출판 정보 / 학술대회 발표 정보
The Eleventh International Conference on Learning Representations. 2023.
2. Problems & Motivations
딥러닝 기반으로 optical flow를 예측할 수 있는 많은 방법들이 연구되었다. 이를 위해 대용량의 optical flow label이 있는 supervised datasets가 필요하다. 하지만 real-world에서는 이를 구하기는 쉽지 않아 많은 합성 데이터셋(e.g. FlyingChairs, FlyingThings3D)이 만들어졌다. 그럼에도 어떻게 합성 데이터셋을 만들어야 학습에 좋은 영향을 미칠 수 있을지는 불분명하다.
이러한 데이터셋 생성 디자인을 수동으로 하는 대신 AutoFlow는 최초로 학습 기반 접근법을 제안하였다. AutoFlow는 타겟 데이터셋에 대한 validation 성능을 최대화하는 하이퍼파라미터를 최적화 하는 방식을 사용하였다. 이 때 '단순한 2D 레이어'의 조합을 통해 데이터 샘플을 생성하는데, 이 과정에서 '미분 불가능한 하이퍼파라미터'가 사용된다. 이러한 하이퍼파라미터는 학습 과정에서 조절되는 것이 아니라 'sampling-based evolutionary search'를 통해 최적화된다. 이는 매우 큰 탐색 공간에서 최적의 해결책을 찾아내는 방법이며 가장 성능이 좋은 '샘플' (즉, 하이퍼파라미터의 설정)이 '생존'하고 그렇지 않은 샘플은 '사라지는' 방식으로 작동한다. 이 방법은 많은 리소스를 필요로 하며, 각 타겟 시나리오에 따라 데이터셋을 재생성해야하는 한계가 있다.
이에 반해 제안한 DFlow는 데이터 생성 파이프라인이 미분가능기에 매우 효율적이다.
3. Method
제안한 데이터 생성 파이프라인은 연속적인 프레임 $I_t$, $I_{t+1}$과 그 사이의 flow map $F_{GT}$을 포함하는 데이터 샘플을 만든다. 각 데이터 샘플은 색상 변조와 기하학적 왜곡과 같은 그래픽 작업의 조합을 특징짓는 학습 가능한 매개변수 벡터 $θ$로 파라미터화한다. 이러한 파라미터화 과정을 수행하는 시스템을 'data generator'라고 부르며, 타겟 데이터셋의 정확도를 향상시키는 optical flow 데이터셋을 합성한다. 학습 가능한 파라미터를 효과적으로 업데이트하기 위해, 손실 함수 $L_{total} = L_{task} + L_{reg}$를 정의하였고, 이를 통해 데이터 파라미터 ${θ}$를 완전히 미분 가능한 방식으로 효율적으로 학습시킨다.
3.1 Task Loss Function
미분가능한 data generator가 주어지면 샘플 파라미터 $θ$는 데이터 샘플 $I_t(θ)$, $I_{t+1}(θ)$, $F_{GT}(θ)$로 렌더링된다. 렌더링은 $θ$에 따라 그래픽을 생성하는 과정을 의미한다. Optical flow model의 정확도를 향상시키는 업데이트된 파라미터 $θ^*$ 를 찾기 위해 적당한 기준이 필요하다. 연구팀은 learning-to-augment 및 dataset condensation 접근 방식에서 영감을 얻었다. 이 방식들은 학습에 두 개의 유사한 데이터셋을 사용하면 정확도가 향상될 가능성이 있다는 가정하에, 목표 데이터와 유사한 특성을 가진 데이터를 합성하는 것이다. 하지만, 목표 데이터셋과 합성 데이터셋의 샘플 조합을 직접 비교하는 것은 컴퓨팅 비용이 많이 들고 복잡하다.
이를 효율적으로 하기 위해 데이터-데이터로 비교하는 것이 아닌 target data의 정보를 알고있는 proxy(대리) 네트워크를 이용한다.
1) Target optical flow dataset의 일부를 사용하여 target network를 pre-train한다. 이 네트워크는 원래 목표 데이터셋의 '대리인' 혹은 proxy라 생각할 수 있다.
2) 이 target network를 사용하여 target loss $L_{target}$를 정의한다. 이는 $θ$를 통해 생성하는 optical flow 샘플이 얼마나 target 도메인과 가까운지 측정한다. Target loss가 작다는 것은 만들어진 샘플이 타겟과 비슷하다는 것이다. 하지만 이 loss만으로는 학습이 충분히 되지 않는다.
3) 이에 따라 대규모 합성 데이터셋에 대해 훈련된 base network를 추가로 사용한다. 이 base network는 flow errors $L_{base}$를 최대화 하는 것을 제외하고는 target network와 비슷하게 작동한다. 이것은 'contrastive learning'이라는 방식으로, 생성된 데이터가 타겟 데이터셋에 더 가깝고, 기본(일반적인) 데이터셋과는 다른 특성을 가질 수 있게 한다. 이를 위해 task loss라 불리는 wrapping loss $L_{task}(L_{target},L_{base}): ℝ^2→ℝ$를 정의하였다. 이는 네트워크가 타겟 데이터셋과 유사하게, 그리고 기본 데이터셋과는 다르게 데이터를 생성하도록 하는 방향으로 네트워크를 유도하는 역할을 한다.
What Function Type is Suitable for $L_{task}$
어떤 loss function이 적당한지 알아보기 위해 Sintel 데이터셋을 대상으로 생성된 1,000개의 데이터 샘플을 사용하여 다양한 손실 함수의 정확도를 비교했다. 그 결과 지수 함수가 있는 형태가 좋은 결과를 내었다.
이 때 balance parameter ${β, γ}$를 ${1,0}$으로 설정했으며 표 2에 대한 $α$ 는 20이다. $α$ 값에 따라 생성된 데이터의 특성이 다른데 저자들은 다양한 $α$ 값을 사용하여 여러 부분집합을 생성하고 이들을 합쳐서 최종적으로 다양한 특성을 가진 데이터셋을 만들었다.
3.2 Data Generator
그림 2처럼 data generator는 geometric warping, flow field translation, layer composition, color perturbation, real-world effects로 구성되어있다. $N$쌍의 레이어 이미지와 마스크를 입력으로 받으면 data generator은 연속적인 프레임 $I_t$, $I_{t+1}$과 flow map $F_{GT}$를 합성한다. 이때 여러장(1부터 N장)이 있기 때문에 layer라고 표현한다.
Geometric Warping
Geometric warping은 rigid transformation, perspective warping, and grid warping로 이루어져있다. 연속된 $N$쌍의 레이어 이미지, 마스크가 주어지면 warping field를 만들어 적용해 연속된 프레임과 GT flow를 만든다.
1) 먼저 처음 입력 0에서 t+1을 만든다
2) 그 다음 t+1에서 t를 만든다. 이때 복잡한 flow를 표현하기 위해 각 레이어마다 flow field translation를 적용해 레이어별 warping을 만든다.
Layer Composition
Geometric warping 후 깊이 순서에 따라 images, masks, and warping fields의 $N$쌍을 가지게 된다. 이 레이어들을 각각 겹치게 함으로써 프레임 $I_t$, $I_{t+1}$과 flow map $F_{GT}$를 생성한다. 이 때 알파 블렌딩(alpha blending)과 소프트맥스 스플래팅(softmax splatting)을 사용할 수 있으며 두 방법 모두 비슷한 성능을 보이지만, 실험에서는 주로 소프트맥스 스플래팅을 사용하였다.
Color Perturbation and Real-world Effects
선행 연구에 의하면 synthetic data가 real-world effects들은 가지고 있을 때 optical flow network의 성능이 증가하고 더 잘 일반화된다고 한다. 이에 따라 data generator는 color perturbation을 통해 이미지의 white balance를 조정하고 real-world effectsdls texture noises, fog, and motion blur를 적용한다.
이와 같은 요소들을 적용하여 optical flow data를 만들 수 있으며 구성 요소들은 각각 파라미터를 가지고 있다. 이를 통해 생성된 샘플은 다음과 같다.
4. Experiments
논문에 결과들과, appendix가 잘 나와있습니다
Google Scholar Link
GitHub
-
댓글