📖

【論文まとめ】 Semantic Library Adaptation (CVPR2025)

に公開

Semantic Library Adaptation: LoRA Retrieval and Fusion for Open-Vocabulary Semantic Segmentation (CVPR2025) [1]

Open-vocabulary semantic segmentationのためのtraining-freeなtest-time domain adaptation手法であるSemantic Library Adaptation (SemLA)を提案。
使用している図表および計算式はすべて論文[1:1]のものを使用、引用しています。

背景

Open vocabulary(OV) semantic segmentationモデルは、学習したデータセットとは異なる分布のデータ(domain shift)に対しては性能が低下しやすく、これは実世界のアプリケーションにおいて問題となる。また、OV semantic segmentationに特化したドメイン適応手法は提案されていない。
そこで、SemLAを提案。

提案手法

example
SemLAでは、まず各データセットにおいてLoRA[2]を用いた個別のadapterを学習し、それぞれのドメインを表現するための特徴としてCLIP[3] embeddingsのセントロイドを計算する。各LoRA adapterとセントロイドはペアで保存しておき、LoRA Adapters Libraryを構築する。テスト時には入力画像のCLIP embeddingsとセントロイドの距離をもとにlibraryから使用するadapterを選択し、ドメインに適応した推論を行う。

LoRA Adapters Libraryの構築


各データセットに対してfine-tuningを行い、LoRA adapterを作成。対応するデータセットのセントロイドとの対応付けを行い格納する。
モデルのオリジナルの重みは固定されつつ、LoRAパラメータのみが更新されるため、ドメイン特有のadapterが得られる。

CLIP Embeddingsとセントロイドの計算

各データセットD_iのセントロイド計算にはCLIPのimage encoderを使用する。
各画像x_jに対してCLIP embeddings \mathbf{e}_jは以下のように計算される:

\mathbf{e}_j = CLIP_{image}(x_j)

N_i枚の画像に対して計算されたCLIP embeddingsをもとに、D_iのセントロイド
\mathbf{c}_iは以下のように計算される:

\mathbf{c}_i = \frac{1}{N_i} \sum_{j=1}^{N_i} \mathbf{e}_j

Dynamic Test-Time Adaptation

テスト時には入力画像のCLIP embeddingsをもとに最適なadapterを複数選択しつつ、それらをマージすることで動的なtest-time adaptationを行う。

Adapterの選択とfusion

入力画像から得られるCLIP embeddings \mathbf{e}_tと各データセットのセントロイド\mathbf{e}_tのユークリッド距離d_iをもとに、インデックスが\mathcal{K} = \{ i_1, i_2, \ldots, i_K \}で示されるtopk adapterを選択する。
また、各adapterと入力画像の関係性を定量化するために、温度パラメータ\tauを持つsoftmax関数を適用する:

w_i = \frac{\exp\left(\frac{1}{d_i \cdot \tau}\right)}{\sum_{k \in \mathcal{K}} \exp\left(\frac{1}{d_k \cdot \tau}\right)}, \quad \forall i \in \mathcal{K}.

この重みw_iを使用して、adapterのfusionを行う。
LoRAでは、LoRAパラメータである学習可能な低ランク行列\mathbf{B} \in \mathbb{R}^{d \times r}\mathbf{A} \in \mathbb{R}^{r \times k}、(r \ll \min(d, k))をもと各linear layerの重み\mathbf{W} \in \mathbb{R}^{d \times k}は以下のように計算される:

\mathbf{W}' = \mathbf{W} + \Delta \mathbf{W}, \quad \Delta \mathbf{W} = \mathbf{B} \mathbf{A}.

そのため、SemLAでは選択されたadaptersと計算された重みを使用して、モデルのパラメータは以下のように更新される:

A'_i = w_i A_i, \quad \forall i \in \mathcal{K}.
\mathbf{A}_{\text{fused}} = \left[ A_{i_1}^{\prime \top}, A_{i_2}^{\prime \top}, \ldots, A_{i_K}^{\prime \top} \right]^\top \in \mathbb{R}^{rK \times d}.
\mathbf{B}_{\text{fused}} = \left[ \mathbf{B}_{i_1}, \mathbf{B}_{i_2}, \ldots, \mathbf{B}_{i_K} \right] \in \mathbb{R}^{k \times rK}.
\Delta \mathbf{W}_{\text{fused}} = \mathbf{B}_{\text{fused}} \mathbf{A}_{\text{fused}}.
\mathbf{W}' = \mathbf{W} + \Delta \mathbf{W}_{\text{fused}}.

結果

評価にはOV segmentationのSOTAモデルであるCAT-Seg[4]を使用。
以下の手法について比較:

  • Uniform LoRA Merging
    ターゲットドメインに対応するLoRA adapterを除いた全てのLoRAアダプタを平均する。
    各ドメインのLoRAの重要度や近さを一切考慮しない。
  • SemLA
    提案手法。
  • Uniform (Late Fusion)
    テスト画像をターゲットドメイン以外のすべてのLoRA adapterで個別に推論し、その出力を平均する。LoRA weightsを合成してから推論ではなく、各adapterで個別に推論してから出力を後で平均する。
  • SemLA (Late Fusion)
    SemLAと同様に、重みを距離に応じて決める。ただし、その重みはLoRAパラメータではなく、softmax出力のfusionに使う。
    SemLA: パラメータに重みをかけて1つのモデルに統合。
    SemLA (Late Fusion): 出力(softmax)に重みをかける。
  • Oracle
    ターゲットドメインで直接訓練されたLoRAアダプタを使って推論。


定量的評価


定性的評価

脚注
  1. Qorbani, Reza, et al. "Semantic Library Adaptation: LoRA Retrieval and Fusion for Open-Vocabulary Semantic Segmentation." arXiv preprint arXiv:2503.21780 (2025). ↩︎ ↩︎

  2. Hu, Edward J., et al. "Lora: Low-rank adaptation of large language models." ICLR 1.2 (2022): 3. ↩︎

  3. Radford, Alec, et al. "Learning transferable visual models from natural language supervision." International conference on machine learning. PmLR, 2021. ↩︎

  4. Cho, Seokju, et al. "Cat-seg: Cost aggregation for open-vocabulary semantic segmentation." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2024. ↩︎

Discussion