AI 논문리뷰 - Vision

Research Paper Review (DINO-Foresight) : Looking into the Future with DINO

study_love 2025. 12. 30. 14:17

 오늘은 DINO-Foresight라는 논문에 대해서 리뷰해보려고 한다. 

https://arxiv.org/abs/2412.11673

 

DINO-Foresight: Looking into the Future with DINO

Predicting future dynamics is crucial for applications like autonomous driving and robotics, where understanding the environment is key. Existing pixel-level methods are computationally expensive and often focus on irrelevant details. To address these chal

arxiv.org

Background

 예전부터 과거의 k개 frame을 입력으로 받아 미래 frame을 예측하려는 연구들은 꾸준히 존재해왔다. 최근에는 과거 frame들로부터 하나의 latent vector를 구성한 뒤, 이를 diffusion 모델을 통해 미래 frame의 RGB 이미지를 생성하는 방식이 하나의 트렌드로 자리 잡고 있다.

 그러나 미래 frame 예측이라는 task의 궁극적인 목적을 다시 생각해보면, 우리가 진정으로 원하는 것은 미래 frame의 RGB 자체라기보다는, 그로부터 얻을 수 있는 semantic segmentation, object detection과 같은 downstream task에 필요한 정보라고 볼 수 있다. 실제로 이러한 downstream task의 입력을 살펴보면, 형식적으로는 RGB 이미지일 수 있지만, 모델 내부에서는 결국 DINO와 같은 Vision Foundation Model(VFM)의 feature를 사용하게 된다.

 

그렇다면 이 지점에서 자연스럽게 다음과 같은 질문을 던질 수 있다.
"굳이 미래 frame의 RGB를 예측하는 과정을 거쳐야 할까? 미래 frame의 VFM feature를 직접 예측하는 것이 더 합리적이지 않을까?"

 이 질문은 매우 타당하다. 일반적으로 최종 목표를 간접적인 중간 과정을 통해 달성하는 것보다, 목표 자체를 직접적으로 맞추는 것이 더 쉬울 가능성이 크다. 특히 RGB 공간은 저수준 디테일이 매우 풍부하기 때문에, 모델은 downstream task에 필수적이지 않은 정보까지 정확히 맞추는 데 상당한 표현력을 소모하게 된다. 이로 인해 학습이 불안정해지거나, 수렴 속도가 느려질 가능성도 존재한다.

 따라서 semantic segmentation이나 object detection에 충분한 수준의 DINO feature만 정확히 예측할 수 있다면, 불필요한 저수준 디테일을 포함한 RGB를 굳이 복원할 필요는 없다. 만약 미래 frame의 RGB를 생성한 뒤 downstream task를 수행하는 방식보다, 미래의 DINO feature를 직접 예측하여 downstream task에서 더 나은 성능을 얻을 수 있다면, 이러한 접근을 선택하지 않을 이유는 없다.

Methods

 가장 먼저 결정해야 할 것은 입력으로 사용할 과거 frame의 개수와 시간적 간격이다. 본 논문에서는 데이터의 특성에 따라 frame 간의 시간 간격을 약 0.18초에서 1.5초 사이로 설정하고, 4개의 과거 context frame을 입력으로 사용하여 1개의 미래 frame을 예측하는 설정을 따른다. 즉, 일정한 시간 간격으로 샘플링된 4개의 과거 frame을 기반으로, 그 이후 시점에 해당하는 단일 미래 frame의 DINO feature를 예측하는 문제로 정의한다.

 다음으로는 미래 frame을 예측하기 위해 사용할 과거 frame들의 DINO feature와, 예측 대상이 되는 미래 frame의 DINO feature를 어떻게 구성할 것인지를 살펴본다. 이때 과거 frame과 미래 frame에 대해 DINO feature를 추출하는 과정은 완전히 동일하게 적용된다.

 하나의 frame에 대한 DINO feature 추출 과정을 구체적으로 살펴보도록 하자.

semantic segmentation이나 object detection과 같은 dense downstream task에서는 이미지를 하나의 글로벌 벡터로 표현하기보다는, 모든 visual token에 대한 feature 정보를 활용하는 것이 중요하다. 또한 서로 다른 추상화 수준의 정보를 포착하기 위해, VFM의 여러 transformer layer에서 추출한 feature들을 모두 활용해야한다. 

 이에 따라 본 논문에서는 VFM의 여러 layer에서 모든 visual patch의 embedding을 추출한 뒤, 서로 다른 layer에서 동일한 spatial 위치에 해당하는 patch embedding들을 channel-wise로 concatenation하여 각 위치마다 하나의 고차원 embedding을 구성한다. 이후 이러한 embedding은 차원이 지나치게 커지는 문제를 가지므로, PCA를 적용하여 차원을 축소하고, 이를 통해 각 visual patch에 대해 최종적인 DINO feature representation을 생성한다.

 

 이제 우리에게는 과거 4개의 frame에 해당하는 DINO feature와, 예측 대상이 되는 미래 frame의 DINO feature가 모두 정의되어 있다. 남은 문제는, 과거 4개의 frame의 DINO feature를 어떻게 활용하여 미래 1개의 DINO feature를 예측할 것인가이다.

이를 위한 접근은 비교적 간단하다. 미래 frame에 해당하는 모든 patch token을 masked token으로 설정한 뒤, 과거 frame의 patch token들과 함께 self-attention을 수행하는 방식이다. 이 과정에서 모델은 과거 frame들로부터 제공되는 시공간적 정보를 바탕으로, 마스킹된 미래 patch token들을 복원하도록 학습된다.

 다만, 다섯 개의 frame에 포함된 모든 patch token들 사이에서 완전한 self-attention을 적용할 경우, 계산량이 지나치게 커지는 문제가 발생한다. 이를 해결하기 위해, 각 patch token은 같은 frame 내의 patch token들 또는 서로 다른 frame에서 동일한 spatial 위치에 해당하는 patch token들과만 self-attention을 수행하도록 제한한다. 이러한 제약을 통해 계산 복잡도를 크게 줄이면서도, 시간적 변화와 공간적 일관성을 효과적으로 모델링할 수 있다.  

 

 이와 같이 self-attention의 범위를 제한하였음에도 불구하고, 전체 계산량은 여전히 상당히 크다. 이에 따라 본 논문에서는 계산 부담을 완화하기 위해 Two-Phase Training with Resolution Adaptation 전략을 사용한다.

구체적으로, **저해상도 이미지(224 × 448)**를 이용해 모델을 먼저 학습한 뒤, **고해상도 이미지(448 × 896)**로 fine-tuning을 수행한다. 이러한 두 단계 학습 방식은 초기 학습 단계에서 계산 비용을 크게 줄이면서도, 이후 고해상도 입력에 대해 필요한 세밀한 공간 정보를 효과적으로 보완할 수 있도록 한다.

Experiments

 Downstream task에서 예측된 DINO feature를 활용하는 방식은 크게 두 가지로 나눌 수 있다. 첫 번째 방법은, semantic segmentation이나 object detection과 같은 기존 downstream task에서 사용하는 입력 형태와, 본 모델이 예측한 DINO feature의 구조가 거의 동일하다는 점을 활용하여, 기존 downstream head를 그대로 사용하는 방식이다. 이 경우의 차이점은, 입력 feature가 원본 DINO feature가 아니라 PCA를 적용한 feature라는 점이다.

 두 번째 방법은, PCA가 적용된 예측 DINO feature의 특성에 맞추어 downstream head를 새롭게 학습시키는 방식이다. 즉, downstream task의 입력으로 PCA 이후의 feature를 직접 사용하도록 설정하고, 이에 맞춰 task-specific head를 다시 훈련한다.

실험 결과에 따르면, 이 두 가지 방식 중 후자의 접근이 일관되게 더 높은 성능을 보이는 것으로 보고된다.

(이해를 편하게 시키고자 실제와 살짝 다르게 설명했다, 정확한 설명은 논문의 3.4를 참고하자)

 

 이제 실험을 살펴보자. 먼저 다른 RGB 예측 모델들에 비해서 downstream task를 잘 푼다는 사실을 말하기 위한 실험을 했다. 결과는 밑과 같다. 

 

두 번째 평가 방식으로는, **미래 frame 기준의 downstream task 성능에 대한 기준선(baseline)**을 함께 제시한다. 구체적으로, 과거 frame들 중 가장 최근 frame의 DINO feature를 그대로 사용하여 미래 frame 기준의 downstream task를 수행한 결과를 lower bound로 설정한다. 이는 미래 정보를 전혀 사용하지 않았을 때 달성할 수 있는 최소 성능을 의미한다.

반면, 실제 미래 frame에서 추출한 DINO feature를 입력으로 사용하여 동일한 downstream task를 수행한 결과를 oracle 성능으로 정의한다. 이는 예측 오차가 전혀 없을 경우 달성 가능한 상한 성능에 해당한다.

이러한 설정을 통해, 제안한 모델이 예측한 미래 DINO feature를 사용할 때의 downstream task 성능이 lower bound와 oracle 사이에서 어느 위치에 놓이는지, 즉 모델이 oracle 성능에 얼마나 근접하는지를 정량적으로 평가한다.

 

Comments

 사실 이 방법은 DINO feature에 되게 많이 의존할 수 밖에 없다. sementic segmentation이나 object detection같은건 dino feature를 input으로 줘도 너무너무 잘 하지만, robotics task의 경우는 사실 그렇진 않다. 그렇다면 robotics task를 되게 잘 푸는 visual embedding을 가지고 이러한 실험을 해서 robotics task에 미래 frame에 대한 embedding을 visual input으로 넣어주면 어떻게 될지 궁금하다.