PURA: Parameter Update-Recovery Test-Time Adaption for RGB-T Tracking
CVPR, 2025
[Paper]
Contributions
- RGB-Thermal Tracking 문제 해결을 위한 논문.
- PURA(Parameter Update-Recovery Adaptation)라는 통계적 특성을 활용한 TTA method를 제안.
Test-Time Adaptation(TTA)이란?
- Test 혹은 inference 단계에서 입력되는 데이터를 자체적으로 사용해 실시간으로 모델의 파라미터를 조정하는 것.
- Train과 test 데이터의 distribution이 달라서 발생하는 distribution shift 문제에 대응 가능하다.
Introduction
기존 TTA method와 제안하는 PURA에 대한 설명은 다음과 같다.
(a) Entropy minimization-based
- 평균 entropy를 최소화하는 방식으로 batch normalization layer의 affine parameter를 조정한다.
- 장기적인 tracking 상황에서 잦은 업데이트가 모델 파라미터의 변화를 급격하게 만들어 모델이 이전에 학습한 지식을 효과적으로 유지할 수 없게 한다.
(b) Consistency regularization-based
- 데이터를 augmentation해도 일관된 결과를 예측하도록 유도하는 방식.
- 입력 데이터 양 증가, gradient descent 방식 → computation 부담을 가중시킨다.
(c) 논문에서 제안하는 Parameter Update-Recovery Adaptation (PURA)
- 성능을 보장하면서도 compuatation cost를 줄일 수 있는 방식.
- 크게 Fast parameter update (FPU) + Parameter decomposition recovery (PDR)로 구성되어 있다.
Method
Fast parameter update (FPU)
TTA는 기본적으로 batch normalization을 변형하는 경우가 많다고 한다.
이 논문 또한 그러하고, batch normalization을 구하는 식은 다음과 같이 작성할 수 있다.
\[\hat{x}_b=\gamma \;\cdot\;\frac{x_b-\mathbb{E}[X]}{\sqrt{Var[X]+\epsilon}}+\beta\]이 때, $x_b$는 현재 입력되는 미니 배치 데이터이고, $\gamma, \beta$가 학습 가능한 파라미터이다.
TTA에서 일반적으로 쓰이는 batch normalization calibration처럼 위 식에서 기댓값과 분산을 test 데이터에서 구한 값($\mu, \sigma_t^2$)으로 변경한다. 이후 테스트 데이터의 통계값을 Exponential Moving Average (EMA)에 넣어 부드럽게 만든다. (단기적 안정성 향상)
\[\hat{\mu}_t=(1-m)\;\cdot\;\hat{\mu}_{t-1}+m\;\cdot\;\mu_t\] \[\hat{\sigma}_t^2=(1-m)\;\cdot\;\hat{\sigma}_{t-1}^2+m\;\cdot\;\sigma_t^2\]Parameter decomposition for recovery (PDR)
EMA로 단기적 안정성을 확보하더라도 에러가 누적될 가능성이 있다. (장기적 불안정성)
따라서 모델이 엉뚱한 방향으로 업데이트되는 것을 막기 위해 다음과 같은 과정을 제안한다.
(1) 모델이 업데이트될 때 마다 파라미터의 변화량 $\nabla_p$를 구하고 이를 pseudo-gradient라 한다.
\[\nabla_p={\hat{\mu}-\mu_{t-1},\hat{\sigma}^2-\sigma_{t-1}^2}\](2) K frame동안의 pseudo-gradient를 모아 $\bf\Theta$를 만든다.
(3) SVD를 통해 파라미터 변화의 주요 방향 ($z_{i,j}$)과 변화량(z가 얼마나 중요한 값인지, $\lambda_{i,j}$)을 구한다.
\[\lambda_{i,j},z_{i,j}=\mathbf{SVD}\left(\frac{1}{K-1}\overline{\mathbf{\Theta}}^{\intercal}\overline{\mathbf{\Theta}}\right)\](4) 정규화를 거친다.
\[\hat{z}_{i,j}=\mathcal{N}_2(\overline{\mathbf{\Theta}}_i^\intercal z_{i,j})\;\cdot\;||\nabla\theta||_2\](5) 내적을 통해 최종적으로 보정된 방향을 결정한다.
SVD를 통해 찾아낸 $\hat{z}_{i,j}$와 K 프레임 동안의 전체적인 파라미터 변화량의 방향이 일치하는 지 확인한다.
\[\nabla_\hat{p}=\sum\limits_{i=1}^K \left(\mathcal{N_2}(\lambda_{i,j})\cdot\delta\left(\nabla\theta_j\cdot\hat{z}_{i,j}\right)\cdot\hat{z}_{i,j}\right)\]$\delta$의 결과로 정방향(1) 혹은 역방향(-1)의 값이 나오고, 이를 가중치 및 정규화된 고유벡터와 곱해준다
(6) 최종 parameter recovery
\[\hat{\mu}_t=\hat{\mu}_{t-1}+\eta_\mu\cdot\nabla_{\hat{p}}^{(\mu)}\] \[\hat{\sigma}_t^2=\hat{\sigma}_{t-1}^2+\eta_\sigma\cdot\nabla_{\hat{p}}^{(\sigma)}\]Adaptive momentum scaling (AMS)
FPU에서 단기적 불안정성 보정을 위해 EMA를 활용했는데, 이 때 상황에 따라 업데이트의 강도를 조절하기 위해 모멘텀인 $m$을 variable하게 만든다.
모든 $\lambda$들을 더해서 K 프레임동안의 업데이트가 얼마나 강력했는지 하나의 값으로 표현한다.
만약 $\lambda$의 값이 매번 비슷하게 유지된다면 업데이트가 안정적으로 이루어지고 있다는 뜻이고, 반대로 급격한 변화가 있다면 업데이트 방향이 불안정하다는 신호이다.
\[\overline{\lambda}=(1-m_\lambda)\cdot\overline{\lambda}+m_{\lambda}\cdot\lambda\] \[r=\mathcal{T}(\xi-|\lambda-\overline{\lambda}|)\]$\mathcal{T}$는 threshold를 의미한다.

