본문 바로가기
Open Vocabulary/Object Detection

Learning to Detect and Segmentation for Open Vocabulary 리뷰

by khslab 2023. 7. 17.

이 논문도 open vocabulary를 사용한 최신(2023) 논문인데

내가 이 분야에 대해 기본 지식이 적어서 처음 읽을때

되게 난해하다는 느낌을 받았다..

왜냐하면 기존 open bocabulary는 class agnostic head에 초점을 맞췄고

이 논문은 class-wise head에 초점을 맞췄기 때문이다.

즉 어디든지 쓸 수 있는 head를 만드는게 아니라

각 input에 최적화된 head를 만들어내고 싶은 것이다.

 

CVPR'23

https://arxiv.org/abs/2212.12130

 

Learning to Detect and Segment for Open Vocabulary Object Detection

Open vocabulary object detection has been greatly advanced by the recent development of vision-language pretrained model, which helps recognize novel objects with only semantic categories. The prior works mainly focus on knowledge transferring to the objec

arxiv.org


Abstract

 

저자들은 CondHead라는 open vocabulary setting을 위한

box regression과 mask segmentation을 더 잘 일반화 하도록 디자인된

principled dynamic network를 제안한다.

핵심 아이디어는 조건적으로 network head를

semantic embedding에서 파라미터화 하는것이다.

따라서 모델은 novel category를 더 잘 감지하는

class-specific knowledge로 가이드 된다.

구체적으로 CondHead는 2개의 network head 가지로 구성되는데,

이것은 dynamically aggregated head와 dynamically generated head다.

전자는 조건적으로 모으는(aggregate) 정칙 head의 집합으로 설명된다.

이 head들은 전문가(expert)로 최적화 되고

세련된(sophisticated) 예측을 학습하도록 예측된다.

후자는 동적으로 만들어진 파라미터로 설명되고

일반적인 class-specific 정보를 인코딩한다.

각 조건부 설계에 대해 detection model은

강하게 일반화가 가능한 class-wise box와 mask prediction을 제안하도록

semantic embedding에 의해 연결된다.


1. Introduction

 

기존 object detection 방식의 data 수집과 annotation은

매우 비용이 많이 든다.

이를 해결하기 위해 최근 open vocalbulary object detection가

제안되었다.

이 방법은 label이 있는 데이터로 학습할 때

novel class detection에도 일반화가 가능하도록 하는 것이다.

핵심은 image-text aligned feature transfer이다.

기존 방법은 class-agnostic network head를 간단하게 사용하는 것이다.

이러면 class agnostic head가 순조롭게 novel class에도 적용될 수 있지만

성능에 한계가 있다.

위 그림처럼, 저자들의 직감은 class-wise knowledge는

자연적으로 object category를 가로질러 일반화 할 수 있고

category-specific manner로 target category에 있는

더 좋은 퀄리티의 box regression과 mask segmentation을

달성하는데 이것이 사용될 수 있을 것이라는 거다.

 

저자들은 class-wise bounding box regression과

mask segmentation을 파라미터화 하기 위해

semantic embedding을 conditional prior으로 사용하는 것을 제안한다.

각 conditioning은 base category로 학습되고

semantic embedding으로 쉽게 novel category에 일반화한다.

CondHead는 신경망의 동적 파라미터 생성을 기반으로 한다.

높은 효율성을 위해, 모델은 표현력을 위한 크고 복잡한 network head와

효율성을 위한 작고 가벼운 network head를 둘다 사용한다.

복잡한 head는 정칙 head의 집합을 넘어

조건적인 weight 모음(aggregation)에 의해 사용된다.

가벼운 head는 semantic embedding에 있는 파라미터를

동적으로 base화 함으로써 사용된다.

최종 예측은 두 head의 결과로부터 예측을 결합하여 얻는다.

base category에 있는 최적화를 통해,

정칙 head의 집합은 복잡한 형태와 표현에 대응하는

세련된 전문가 지식을 학습하도록 예측되고

동적 head는 색과 의미(context)와 같은

class-specific 지식을 일반화 하는데 타고난다.

 

CondHead는 sementic-visual representation의 선택에 대해

유연하다.

aligned 표현의 강한 퀄리티는 높은 퍼포먼스를 가져오리라 예측된다.

semantic embedding으로부터 조건부 지식은

target visual featuere을 더 잘 일반화 할것이다.

 

저자들의 기여는 3가지다.

1. 최고의 지식을 얻기 위해 저자들은

open vocabulary box regression과 mask segmentation을 위한

semantic-visual aligned 표현을 최초로 사용한다.

2. 저자들은 base category로 학습된 강한 category-specific 예측을

target novel category와 효율적으로 연결하는 미분 가능한

semantic-conditioned head 설계를 설계한다.(design을 design한다)

3. 저자들은 해당 방법론의 효용성을 검증하기 위해

광범위한 실험을 했다.


3. Methodology

 

저자들의 방법론 개요는 다음과 같다.

논문 읽는데에 도움이 되도록 핵심 그림도 그려봤다.

해당 논문은 중심부에 있는 파란 박스가 핵심이다. 해당 부분에서 Dynamically Aggregated Head와 Dynamically Generated Head를 조합하는 부분이 나온다.
Region-Semantic Alignment는 위와같이 일반적인 zero-shot method를 기반으로 진행되지 싶다.
Dynamically Aggregated Head는 그림과 같이 여러개의 expert heads에 각각 가중치 w를 매긴 후 이 가중치를 semantic embedding을 통해 학습 시킨 뒤, 이 가중치를 기반으로 여러개의 heads를 조합하여 하나의 Dynamically Aggregated Head를 만든다.
Dynamically Generated Head는 그림과 같이 semantic embedding에서 바로 head하나를 만들어내는 방식이다.

3.1. Problem Definition

 

base object category $\mathbb{F} = \left\{ C_{1}, C_{2}, ..., C_{N}\right\}$의 set에

bounding box annotation이 주어지면, open vocabulary object detection은

base data로 training하고 target object category $\mathbb{F}^{*} = \left\{ C_{1}, C_{2}, ..., C_{M}\right\}$의

open set을 만들어내는데 초점을 맞춘다.

 

모델은 image encoder (${\Large \tau }_{i}$)와 language encoder (${\Large \tau }_{l}$

로 초기화 되고, 이것은 이미지 image feature $\textbf{F} = {\Large \tau}_{i}(I)$와

semantic embedding $\textbf{s}_{n} = {\Large \tau}_{l}(C_{n})$를 추출한다.

이 encoder는 전형적으로 large-scale image-caption data로 pre-train되고

따라서 강하게 연관된(correleated) visual-semantic representation를 추출한다.

object proposal를 추출하도록 base category에 학습된

region proposal network에 대해

open vocabulary detection은 region-wise 방식으로 학습된다.

 

구체적으로, 한 object propsal bounding box $\textbf{p} = (x_{1}, y_{1}, x_{2}, y_{2})$가 주어지면,

feature pooling은 region featuer $\textbf{f}$를 얻기 위해

image feature map $\textbf{F}$에 시행된다.

object proposal box는 이제 ground-truth object instance set $\aleph$와 매칭된다.

$\textbf{b} = (x_{1}^{*}, y_{1}^{*}, x_{2}^{*}, y_{2}^{*})$는 ground-truth

bounding box를 의미하고

$c$는 대응되는 object category를 의미한다.

 

그다음, 최적화는 ground-truth semantic embedding $\textbf{s}_{c}$와 region featuer $\textbf{f}$의

alignment를 더 최소화 하도록 수행된다.

이것은 similairty-based cross entropy loss로 수행된다.

 

bounding box regression을 일반화 하기 위해 prior works는

parameter $\theta$에 대한 class-agnostic network head

$mathcal{B}$를 사용하고 base category data로 이것을 최적화 한다.

$\mathcal{B} = (\textbf{p}, \textbf{f}, \textbf{b})$ proposal,

region feature, bounding box의 tuple data로나타낸다.

$L_{\mathcal{B}}$는 전형적으로 regressed bounding box와

ground-truth box 사이의 L1, L2 error로 정의된다.

 

instance segmentation에서, mask region featuer $\textbf{v}$는

box head로부터 정제된 bounding box로 가둬진(pool) 다음

parameter $\vartheta$에 대한 class-agnostic mask segmentation

network head $\mathcal{M}$는 다음을 통해 학습된다.

$\textbf{m}$은 대응되는 ground-truth mask segmentation이고

$mathcal{Y} = (\textbf{v}, \textbf{m})$는 region feature와 mask 쌍을 나타낸다.

$L_{\mathcal{M}}$는 전형적으로 예측된 mask와 ground-truth 사이의

pixel-wise segmentation error로 정의된다.

 

비록 class-agnostic bounding box regression과 mask segmentaiton head가

손쉽게 target novel object category에 일반화 하지만

이것들은 less representative capability때문에

부족한 최적화 결과를 제공한다.

하지만, semantic embedding은 강하게 visual feature와 연관되어 있기 때문에,

저자들은 training동안 base category semantic embedding에 있는

network parameter를 조건화 함으로써

generalizable class-wise prediction을 달성하는 것을 제안한다.

$\alpha$와 $\beta$는 conditioning function $\theta (\cdot )$와

$\vartheta (\cdot )$의 파라미터다.

이 접근법을 통해 model은 inference동안 대응되는 파라미터

$\theta (\textbf{s}_{m} )$와 $\vartheta (\textbf{s}_{m})$을 예측 함으로써

class-wise manner에서 novel category에

regression과 segmentation을 일반화 하도록 학습한다.

 

내가 요약하자면 저자는 network parameter 자체를

한번 더 조건화 하여 semantic embedding에 따라

inference때 알맞는 파라미터를

가져와서 시행한다는 뜻으로 보인다.


3.2. CondHead Formulation

 

CondHead는 base와 target category의 차이를

semantic conditioning 매커니즘으로 줄이는데 초점을 맞춘다.

저자들은 conditioning func.를 유연하게 최적화 하고

inference할 수 있는 신경망으로 설명한다.

 

각 conditioning 프레임워크를 구성하기 위해,

저잗르은 network capacity에 있는 문제를 관측한다.

1. 더 복잡한 head architecture는 강한 representative ability를 제공하지만

그러나 이것은 많은 수의 파라미터가 필요하여

효율적이지 않고 최적화도 어렵다.

2. 덜 복잡한 head architecture는 쉽게 최적화가 가능하고

효율적 연산이 가능하지만 제한된 capacity를 제공한다.

 

이 문제를 다루기 위해 저자들은 dual contioning framework를 설계한다.

이것은 complex head와 light head 둘다 사용하는 방식이다.

이 프레임워크는 dynamically aggregated head와

dynamically generated head로 구성된다.

 

Dynamically Aggregated Head

 

complex head의 능력을 사용하기 위해,

저자들은 complex head들 $\left\{ \mathcal{B}_{1}, \mathcal{B}_{2}, ..., \mathcal{B}_{H}\right\}$의

연관된 파라미터 $\left\{ \theta_{1}, \theta_{2}, ..., \theta_{H} \right\}$의 집합을

모으는 dynamic weight를 만들어내는 것을 제안한다.

이 head들은 특정한 형태와 외관을 가지는 object category를 위한

bounding box를 정제하고 mask segmentation을 예측하는것을 잘하는

전문가(expert) 역할을 한다.

구체적으로 aggregation weight는 다음으로 만들어진다.

$\textbf{w} \in \mathbb{R}^{H}$고 $mathcal{A}$는 파라미터 $\phi$를 가진

작은 신경망이다.

최적화를 위해 convex hull로 weight aggreation space를 규제하기 위해

weight $\textbf{w}$는 Sfotmat func.로 정규화된다.

normalized aggregation weight에 대해

expert head들은 paraemter $\widehat{\theta }$를 가지는

하나의 head $\widehat{\mathcal{B}}$로 결합된다.

비슷하게, mask head들 $\left\{ \mathcal{M}_{1}, \mathcal{M}_{2}, ..., \mathcal{M}_{H}\right\}$의

연관된 parameter $\left\{ \vartheta_{1}, \vartheta_{2}, ..., \vartheta_{H} \right\}$에도

weight generation과 aggregation이 하나의 mask head $\widehat{\mathcal{M}}$

parameter $\widehat{\vartheta }$로 결합될 수 있다.

 

dynamic aggregation이 box regression과 mask segmentaion 둘다에 적용될 때

box regression과 mask segmentation이 exper model을 가로지러 같은

attentio을 공유하지 않을수도 있으므로 별도의 weight generation network를 사용한다.

 

Dynamically Generated Head

 

semantic embedding에 있는 강한 dondiontioning을 도입하기 위해,

저자들은 직접적으로 network parameter를 만들어내는것을 제안한다.

파라미터는 다음과 같이 만들어진다.

parameter $\dot{\theta}$는

새로운 box head $\dot{\mathcal{B}}$를 설명하는데 사용된다.

$\dot{\theta}$가 직접적으로 semantic embedding으로부터 만들어지기 때문에

익서은 더 쉽게 aspect 비율이나 색 같은 일반적인

class-specific 정보를 인코딩한다.

비슷하게, dynamic mask segmentaion head $\dot{\mathcal{M}}$은

만들어진 parameter $\dot{\vartheta}$로 얻을 수 있다.

 

Combining the Dynamic Predictions

 

저자들은 dynamically aggregated head $\widehat{\mathcal{B}}, \widehat{\mathcal{M}}$와

dynamically generated head $\dot{\mathcal{B}}, \dot{\mathcal{M}}$을 결합하여

최종 결과를 다음과 같이 만든다.

이것은 가중 평균을 사용한다.

$\lambda$와 $\mu$는 하이퍼 파라미터다.

 

식 4와 5를 통해 base category data에 최적화된 다음,

$\overline{\mathcal{B}}$와 $\overline{\mathcal{M}}$은 $\overline{\mathcal{B}}_{\theta_{(\textbf{s}_{m})}}(\cdot )$와 $\overline{\mathcal{M}}_{\vartheta_{(\textbf{s}_{m})}}(\cdot )$으로 target semantic embedding을 조건화 함으로써

target category에 inference하는 동안 사용한다.

 

Optimizing the Expert Heads with Temperature Annealing

 

최적화 단계의 초반부 동안, dynamically aggregated head사이에 있는 expert head들은

basic regression과 segmentation capability의 학습을 전수하는

training signal들이 모두 필요하다.

반면에 최적화 단계의 후반부에서, expert들은 서로다른 object를

다루는 것에 있는 특별한 capability를 제공하도록 예측된다.

저자들은 따라서 temperature annealing Softmax 전략으로

expert head들의 최적화를 용이하게 한다.

구체적으로, aggregation weight의 정규화는

temperature $\tau$로 수행된다.

학습 초반에는 temperature값이 매우 크게 하여

모든 expert head들을 위해 거의 동일한 gradient를

제공하는 학습을 하도록 한다.

이후 점진적으로 값을 작게 하여 의도된 학습을 하도록 한다.

 

(참고로 annealing을 찾아보니 다음과 같았다.)

금속 재료를 적당한 온도로 가열한 다음 서서히 상온(常温)으로 냉각시키는 조작. 이 조작은 가공 또는 담금질로 인하여 경화(
硬化)한 재료의 내부 균열을 제거하고, 결정 입자를 미세화(微細化)하여 전연성(展延性)을 높인다.
[네이버 지식백과] 풀림 [annealing] (기계공학용어사전, 1995. 3. 1., 기계공학사전편찬위원회)

3.3 Relation to Close Works

 

Conditionally Parameterized Convolution

 

CondHead는 Dynamic Conv.CondConv.와 밀접한 관련이 있다.

CondHead와는 동기(motivation)와 application에서 다르다.

이것들은 conditional parameterizatoin을 통해 conv. kernel의

representation capacity를 높이는데 초점을 맞춘다.

그래서 conditioning은 각 network layer의 visual feature에 수행된다.

게다가 이것들은 image recognition task에도 적용된다.

반면에 CondHead는 강하게 visual-align된 semantic embedding을

conditioning 함으로써 base training object category와

taret novel object category의 perception gap을 줄이는데 초점을 맞춘다.

CondHead는 더 여려운 bounding box regression과

mask segmetation tak에 적용된다.

 

Partially Supervised Instance Segmentation

 

최근 연구들은 parially supervised instance segmentation을 연구하고 있다.

여기에서 base category는 box와 mask annotation을 가지는 반면

novel category는 box annotation만 가진다.

$ \mathrm{Mask^{X}}$ $\mathrm{R-CNN}$은 box regression weight를

mask segmentatino weight로 전달하는 파라미터화된

transformation func.를 제안한다.

Shapemask는 더 나은 calss-agnostic object segmentation 달성하는

strong shape prior를 연구한다.

그리고 이것은 mask annotation 없이 novel category에 더 잘 일반화된다.

저자들의 open vocabulary object detection과 instance segmentation는

좋은 detection quality와 strong object region representation을

기반으로 하는 partially supervised instance segmentation보다

더 어렵다.

$ \mathrm{Mask^{X}}$ $\mathrm{R-CNN}$은 box annotation을

사용 못함에 따라 이 분야에 적용할 수 없다.

Shapemask는 적용할 수 있어 저자들은

이것과 성능을 비교한다.


4. Experiments

 

저자들은 다음 4가지를 평가한다.

1. ConHead는 open vocabulary detection의 성능을 높이고

또 효율적인가?

2. semantic-visual representation의 quality가 얼마나

성능에 영향을 미치는가?

3. CondHead가 box regression과 mask segmentation

을 어떻게 개선시키는가

4. 각 요소와 hyper parameter는 얼마나 영향을 미치는가?

 

실험에서 network 구조는 다음과 같다.


4.1 Dataset and Setup

 

dataset은 COCO와 LVIS를 채택하고

일반화 평가를 위해 PASCAL VOC와 Object365도 평가한다.

또 저자들은 state-of-the-art open vocabulary method를 사용한다.

1. OVR-CNN

image-caption pair data로 pre-train multi-modal encoder를 제안한다.

2. ViLD

CLIP의 stronger visual semantic representation을

전달함으로써 OVR-CNN보다 더 높은 성능을 달성한다.

3. RegionCLIP

region-wise pre-training을 함으로써

semantic과 visual embedding사이의

alignment를 더 개선시켰다.

개선된 representation은 novel object의 인식을 더 향상시키고

상당한 performance를 가져온다.


4.2. Results

 

Results on COCO

저자들은 class-agnostic mask segmentation head를 추가함으로써

baseline method를 재평가한다.

그다음 bounding box regression과 mask segmentation head들을

ConHead로 교체하고 이 실험을 다시 한다.

실험은 다음과 같다.

CondHead는 stronger bounding box regression과

mask segmentation 능력을 달성하기 위해

visual representation을 더 잘 align하는

semantic embedding을 이용할 수 있다.

 

Results on LVIS

COCO와 같이 LVIS에도 실험을 한다.

Cross Dataset Evaluation

저자들은 cross dataset scenario에 대해 CondHead를 평가한다

여기서 open vocabulary object detector는 학습 때 사용한 것과

다른 dastaset에도 일반화 될것이라 예측된다.

Qualitative Results

CondHead가 얼마나 bounding box와 mask segmentation 성능을

향상시키는지 보여주기 위해, ViLD와 Qualitative Results를 비교한다.


4.3 Analysis

 

The Effect of Language Descriptions

저자들은 CondHead가 language description에 의해 얼마나

영향을 받는지 평가한다.

Naive Class-wise Transfer

저자들은  본 놈논문의 첫번째 그림처럼 저자들의 직감이

효과가 있는지에 대한 실험을 진행한다.

저자들의 직관은 class-specific knowledge는

categories 별로 공유될것이기 때문에,

저자들은 base category에 대해 class-wise heads들을 학습시키고

target category에 대해 실행한다.

저자들은 semantic embedding의 consine similarity를 사용해

가장 높은 similarity에 대한 category를 선택한다.

실험결과 ClassWise방법보다 더 나은 일반화 성능을 보여준다.

Augmenting CondHead with Shape Priors

저자들은 Shapemask 논문과 CondHead를 비교한다.

그다음 Shapemask를 CondHead에 더함으로써

증강된 버전도 함께 비교한다.

Component Analysis

CondHead에 대해 ablation study를 진행한 결과

box AP와 mask AP는 독립적으로 성능 향상이 이뤄진다는 것을 알 수 있다.

또 CondHead는 매주 적은 계산 overhead를 가져온다는 것을 보여주기 위해

Expert Heads와 하이퍼파라미터에 대한

ablation study도 보여준다.


5. Conclusion

 

저자들은 open vocabulary bounding box regression과

mask segmentation을 개선하기 위해 조건적으로 파라미터화된

neural network 설계를 제안한다.

구체적으로, 저자들은 pre-trained semantic embedding을 이용하여

box와 mask head의 파리미터를 가이드 한다.

semantic embedding은 강하게 visual representation에 align되어 있다.

따라서 bounding box와 segmenting object를 정체하기 위한

효과적인 cue를 제공한다.

저자들의 모델은 CondHead라 부르고

향후 이것이 open vocabulary detection에 통찰력을 제공하길 바란다.


Example Aggregation Weights

 

CondHead가 class-wise knwledge를 expert predictino head로

강화하는 법을 어떻게 학습하는지 분석하기 위해,

저자들은 몇개의 object category에 있는

dynamically aggregated head에 대한 aggregation weights들을 그린다.

다음은 class semantic 의미에 대한

object category의 weight disribution의 분명한 분포를 관측한다.

e~는 expert head 번호인데 클래스마다 서로다른 head가 활용되는 것을

확인할 수 있다.


Architectural Illustration and Training Details

 

저자의 모델 구조의 개요는 다음과 같다.

앞서 내가 그린 그림과 비교해서 보면 모델 구조 이해에

도움이 될 것이다.

Temperature Annealing

 

앞서서 temperature annealing을 한다고 했는데,

처음 5k iteration동안 20.0에서 1.0까지 선형적으로 감소한다.

 

Intergrating Shapemask into CondHead

 

CondHead와 Shapemask를 합치는 구조는 다음과 같다.


The Effect of Architectural instantiation

 

저자들은 네트워크 구조에 대해서도 ablation study를 진행했다.


Ablation on Dynamic Designs

 

저자들은 본 실험의 구체적인 ablation study를 진행했다.

그 결과는 다음과 같다.