CLIPArTT: Adaptation of CLIP to New Domains at Test Time

Gustavo Adolfo Vargas Hakim, David Osowiechi, Mehrdad Noori, Milad Cheraghalikhani, Ali Bahri +3 more
5/1/2024
cs.CVcs.LG

Official code: dosowiechi/CLIPArTT (14 stars, last commit 2024-07-17).

Abstract

Pre-trained vision-language models (VLMs), exemplified by CLIP, demonstrate remarkable adaptability across zero-shot classification tasks without additional training. However, their performance diminishes in the presence of domain shifts. In this study, we introduce CLIP Adaptation duRing Test-Time (CLIPArTT), a fully test-time adaptation (TTA) approach for CLIP, which involves automatic text prompts construction during inference for their use as text supervision. Our method employs a unique, minimally invasive text prompt tuning process, wherein multiple predicted classes are aggregated into a single new text prompt, used as \emph{pseudo label} to re-classify inputs in a transductive manner. Additionally, we pioneer the standardization of TTA benchmarks (e.g., TENT) in the realm of VLMs. Our findings demonstrate that, without requiring additional transformations nor new trainable modules, CLIPArTT enhances performance dynamically across non-corrupted datasets such as CIFAR-100, corrupted datasets like CIFAR-100-C and ImageNet-C, alongside synthetic datasets such as VisDA-C. This research underscores the potential for improving VLMs' adaptability through novel test-time strategies, offering insights for robust performance across varied datasets and environments. The code can be found at: https://github.com/dosowiechi/CLIPArTT.git

View on arXivView PDF

Code Implementations(1)

141PythonMar 11, 20242 years ago

Similar Papers

Cite this paper

@article{hakim2024clipartt,
  title  = {CLIPArTT: Adaptation of CLIP to New Domains at Test Time},
  author = {Gustavo Adolfo Vargas Hakim and David Osowiechi and Mehrdad Noori and Milad Cheraghalikhani and Ali Bahri and Moslem Yazdanpanah and Ismail Ben Ayed and Christian Desrosiers},
  year   = {2024},
  eprint = {2405.00754},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2405.00754v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2405.00754.svg)](https://codeofpaper.com/paper/2405.00754)

Discussion