1. Introduction
OVOD(Open-Vocabulary Object Detection)은 학습 중에 보지 못한 novel category를 잘 탐지하는 것이 중요합니다. 대규모 이미지-텍스트 쌍으로 학습된 CLIP과 같은 VLM이 zero-shot image classification에서 효과적인 성능을 보이며, OVOD에서도 이를 활용하고자 하는 연구들이 진행되어 왔습니다.
첫 번째로 knowledge distillation 방식입니다. 대표적으로 ViLD는 VLM의 classification 지식을 object detector로 distill한 첫 번째 연구였습니다. 구체적으로는 detector가 생성한 region embedding을 VLM의 feature와 정렬하는 방식이었습니다. 이후 knowlede distillation의 효율성을 개선하기 위한 방법들도 제안되어 왔습니다. 그러나 이러한 knowlede distillation 방식은 classification과 detection의 차이에서 발생하는 context discrepancy(문맥적 불일치) 문제가 있습니다. (예를 들어 CLIP은 전체 이미지의 의미를 이해하는 데 최적화되어 있지만, detector는 이미지 내의 특정 영역을 잘라내어 그 안의 객체를 분류해야 합니다.)
두 번째는 pseudo-labeling 방식입니다. RegionCLIP은 image-caption 데이터셋을 사용하여 이미지 내의 객체 클래스와 위치를 자동으로 생성하는 방식이며, 이렇게 생성된 pseudo label로 detector를 학습시키고자 하였습니다. 그러나 이러한 방식은 말그대로 pseudo label이므로 노이즈의 문제가 있습니다.
이러한 문제들로 인해 최신 OVOD 방법들은 VLM을 detector에 맞게 억지로 학습시키지 않고 freeze하여 활용합니다. 고정된 VLM을 image encoder를 백본으로 사용하여 객체 영역의 특징을 뽑고, 이를 text embedding과 비교해 새로운 novel category를 분류하는 방식을 사용합니다. 그러다보니 결국 성능은 VLM의 classification 능력에 직접적으로 의존할 수밖에 없게 되었고, 따라서 현재의 연구들은 주로 fine-tuning이나 self-distillation을 통해 VLM의 영역 인식 정확도를 향상시키는 데 집중하고 있습니다. 그러나 이러한 방법들은 base category로 학습된 detector가 학습된 category에 더 높은 confidence score를 부여하고, novel category를 배경과 혼동하는 경향이 있다는 문제점이 있습니다.

figure 1-(a)를 보면, CLIP은 사전학습된 강력한 인식 능력을 가지고 있기 때문에 umbrella와 person을 모두 0.99라는 높은 confidence score로 구분하고 있지만, 같은 이미지에 대해 detector는 base category인 person은 0.75, novel category인 umbrella에는 0.25라는 낮은 score를 부여합니다. 즉 이는 윗 문단에서 서술한 것과 같이 novel category를 배경과 혼동하거나 무시하는 문제를 보여줍니다. 또한 바로 오른쪽 그래프에서는 앞선 문제 때문에 객체를 찾았음에도 confidence score를 너무 낮게 산정하여 성능이 저하되고 있음을 보여줍니다. 파란색이 일반적인 OVOD 모델의 성능이고, 주황색이 GT 박스를 고정하고 VLM으로 분류만 수행한 경우(모델이 도달할 수 있는 상한선)이며, 초록색이 detector의 결과에 IoU를 기반으로 confidence score를 인위적으로 보정한 값입니다. 이렇게 단순히 편향만 제거해도 성능이 41.5에서 59.1로 크게 오르는 것을 확인할 수 있습니다.
이러한 발견들을 바탕으로 저자들은 OVOD 모델의 confidence bias를 해결하는 것을 목표로 OV-DQUO 모델을 제안합니다. figure 1-(c)가 그 구조이며, Open-World Detector(OWD)를 사용하여 novel category를 발견하고, Foreground Estimator(FE)를 통해 객체들이 전경(foreground)일 확률을 추정하고, Wildcard Matching을 통해 “a photo of an object”와 같은 일반적인 텍스트 쿼리와 매칭시킴으로써 모델이 novel category를 배경이 아닌 전경(객체)로 인식하도록 학습합니다.
2. Method
2.1. Preliminaries
Task Formulation
일반적인 OVOD와 같이 학습 때 사용하는 클래스를 base class, 사용하지 않는 클래스를 novel class라고 하며 두 집합은 서로소입니다. 추론 단계에서 모델은 base와 novel 두 카테고리의 객체를 모두 인식해야 합니다.
Conditional Matching
OV-DQUO는 DETR 계열 detector를 사용합니다. 이는 backbone network, encoder, decoder의 세 부분으로 구성됩니다. encoder는 backbone에서 추출된 feature map을 정제하고 region proposal을 생성합니다. decoder는 일련의 object query와 region proposal을 최종 box 및 예측 class로 정제합니다. 각 object query q_i 는 다음처럼 region feature와 텍스트 임베딩 사이 코사인 유사도가 최대가 되는 base category를 부여받습니다.

그 다음 query에 위 클래스 정보를 조건으로 더해 class-wise query를 만듭니다.

decoder는 이 (q_i^*, b_i) 쌍 (query, box)를 반복해서 정제하여 (\hat{m}_i, \hat{b}_i) 를 얻습니다. \hat{b}_i 는 정제된 box 좌표이고, \hat{m}_i 는 \hat{b}_i 내의 객체가 query category c_i 와 일치함을 나타내는 sigmoid 확률 스칼라입니다.

2.2. Open-World Pseudo Labeling & Wildcard Matching

Open-World Pseudo Labeling Pipeline
figure 2-(a)와 같이 Open-World Pseudo Labeling Pipeline은 open-world detector 학습, open-world object proposal 생성, 생성된 proposal에 대한 전경 가능성 추정, training set 업데이트로 총 네 가지의 연속적인 반복 과정으로 구성됩니다.
구체적으로 먼저 base category로 OLN을 학습시키는데, OLN은 영역의 objectness를 추정하도록 학습된 open-world detector입니다. 학습된 OLN은 input image가 들어왔을 때 unknown object들의 집합 U = {u_1, u_2, …, u_n} 을 출력합니다. 이 때 각 u_i = (o_i, s_i) 는 좌표(o)와 localization quality(s)를 갖습니다.
OLN이 뽑은 것 중엔 진짜 물체도, 배경도 섞여 있기 때문에 노이즈를 걸러내야 합니다. 전경은 복잡하고 변동성이 큰 반면 배경 영역은 상대적으로 단순하다는 점에 착안하여, 모델이 특징을 reconstruction 할 때 발생하는 오차를 기준으로 해당 영역이 객체인지 아닌지를 판단하는 것이 핵심 아이디어입니다. 아래 수식과 같이 Weibull 분포를 사용하여 특징 재구성 오차(\(\eta\))가 따르는 확률 분포를 전경, 배경 각각에 대해 계산합니다.

그 후 특정 영역 o_i 의 재구성 오차 \eta_{o_i} 가 주어졌을 때, 해당 영역이 전경일 확률 w_i 를 아래와 같이 정의합니다.

즉 전체 오차 중 전경 분포에 속할 확률이 얼마나 높은지를 계산하여 객체 여부를 결정합니다. 이를 통해 집합 U는 GT annotation, localization quality 및 일부 휴리스틱한 기준에 의해 필터링된 후 annotation을 업데이트하는 데에 사용됩니다. 이후 이러한 과정을 반복하여 더 많은 open-world unknown object proposal을 생성할 수 있게 됩니다.
Wildcard Matching
unknown object는 카테고리 이름이 없으므로 일반적인 의미의 텍스트를 사용하며, 저자들은 이를 wildcard라고 칭합니다. wildcard는 “object”나 “thing”과 같은 단어가 될 수 있으며, 이는 모든 전경 객체에 어느정도 일관되게 동작할 수 있습니다. “a photo of {wildcard}”를 VLM text encoder로 인코딩하여 t_ow 를 얻습니다. 그리고 어떤 proposal이 unknown 집합 U와 IoU 임계값 \tau 를 넘기면 wildcard 임베딩을, 아니면 기존처럼 base 클래스 임베딩을 더합니다.

그 다음 decoder는 각 object query를 해당 region proposal과 함께 반복적으로 정제하여 예측 집합 Y_ow 를 얻고, 아래 수식과 같이 이 예측과 unknown 집합 U 사이 최적의 매칭을 헝가리안 매칭을 통해 구합니다.

이때 비용함수는 아래와 같이 정의됩니다.

2.3. Denoising Text Query Training
figure 2-(b)에 해당하는 부분으로, OVOD 모델이 novel 객체를 배경과 구별하는 능력을 향상시키는 또다른 방법으로 denosing text query training을 도입하였습니다. 먼저 각 unknown box마다 2N개의 노이즈 박스를 생성합니다.

여기서 \lambda_1 는 uniform(0, 1)로 상대적으로 적은 노이즈를, \lambda_2 는 uniform(1, 2)로 더 큰 노이즈를 부여합니다. 즉 전자는 미세하게 틀어진 박스에서도 객체를 foreground로 탐지할 수 있도록, 후자는 배경으로 간주하도록 대조학습을 수행하기 위함입니다.

그 후 위와 같이 foreground 쌍에는 wildcard 임베딩을, background 쌍에는 무작위로 엉뚱한 base class 임베딩을 추가해줍니다. 즉 배경 영역에 base class라는 거짓 정보를 의도적으로 주입하여, 시각적 특징과 텍스트가 일치하지 않는 영역을 배경으로 더 확실히 배제하고, 실제 objectness는 더 잘 포착하도록 학습시키는 과정입니다. decoder는 일반 쌍과 denoising 쌍을 동시에 학습시키되, 두 분기 사이의 정보가 누출되지 않도록 attention mask를 사용합니다. denoising loss와 전체 loss는 아래와 같습니다.


2.4. Region of Query Interests Selection
region proposal 과정에서, encoder의 objectness score만으로 영역을 선택하면 base category에만 높은 점수를 주는 편향이 발생하고, 반대로 VLM의 region-text 유사도를 사용하면 base와 novel에 대한 편향은 없지만 localization의 정확성이 떨어진다는 단점이 있습니다. 그래서 저자들은 이 두 정보를 결합하여 후보 영역을 선택하는 방식을 제안합니다.

- v: frozen VLM에서 RoIAlign으로 뽑은 region feature
- t: 클래스 이름들의 텍스트 임베딩
- Max(v \dot t^T) : 모든 텍스트 임베딩에 대한 최대 유사도
- o: encoder의 objectness 점수
- \alpha : 기하평균 가중 지수(하이퍼파라미터, 기본값 0.45)
즉 VLM 유사도와 objectness 점수를 가중 기하평균 한 수식입니다. 그리고 이 점수를 기준으로 아래와 같이 상위 N개를 골라 decoder를 초기화합니다.

3. Experiments
실험에는 OV-COCO와 OV-LVIS 벤치마크를 사용하였습니다. OV-COCO 벤치마크에서는 CLIP 모델 RN50, RN50x4를 백본으로 사용하였으며, OV-LVIS 벤치마크에서는 self-distilled CLIP 모델 ViT-B/16 및 ViT-L/14를 백본으로 사용하였습니다.

Table 1의 결과와 같이 저자들의 OV-DQUO가 동일 백본의 다른 방법론들과 비교했을 때 가장 우수한 성능을 보이고 있습니다. 특히 OV-COCO에서는 더 큰 백본 ViT-L을 사용하는 CLIPSelf와 비교하더라도 더 높은 AP를 보입니다.

Table 2-(a)는 OV-DQUO의 일반화 성능을 입증하기 위한 cross-dataset evaluation 결과를 보여줍니다. 이 실험은 OV-LVIS로 학습된 모델을 COCO 및 Object365 데이터셋의 validation set에 적용한 성능입니다. 전반적으로 기존 방법론들보다 높은 AP를 보여주며, 특히 Object365 데이터셋에서는 이전 최고 성능인 F-VLM을 2.2AP 차이로 크게 앞서고 있음을 보여줍니다.
Table 2-(b)는 OV-COCO 벤치마크에서 제안하는 방법론들과 OV-DQUO 모델과의 비교 결과를 나타냅니다. 마찬가지로 동일 백본을 사용하는 기존 기법들보다 현저히 높은 AP를 보여주고 있습니다.
4. Conclusion
본 논문에서는 confidence bias가 기존 OVOD의 novel category 탐지를 제약한다는 점을 밝히고, open-world object detection에서 영감을 받아, 이러한 편향을 해결하기 위한 OV-DQUO를 제안하였습니다. 저자들은 OVOD와 OWOD를 end-to-end framework로 통합하는 것은 매우 유망하지만, 본 논문에서는 충분히 탐구되지 않았으며 향후 연구 과제로 남겨둔다고 언급하였습니다.
예은님 좋은 리뷰 감사합니다.
Figure 1의 그래프에 대해 설명해주실 때, 초록색이 IoU 기반으로 confidence score를 보정하였다고 하셨는데, 앞서 base category에 대한 score에 비해 novel category에 대한 score가 낮은것이 IoU와 어떤 연관이 있는 지 궁금합니다.
reconstruction 오차가 클 경우 전경이라 간주하는 방식이 타당한지에 대한 의문이 듭니다. 오히려 객체 중심으로 학습된 reconstruction 모델이 객체를 더 잘 만들어낼수도 있을 것 같은데, 저자들의 주장을 뒷받침할만한 실험이나 근거가 있는 지 궁금합니다.
안녕하세요. 좋은 리뷰 감사합니다.
본 논문의 요지는 novel category를 배경이 아닌 객체로 인식할 수 있도록 하는 것!이라고 이해하였는데요. 이 분야 논문은 낯설어 몇가지 의문이 드는 것이 있습니다. 1) 실제로 novel category를 배경으로 인식하는 경우가 많은지? (물론 성능으로 증명했지만) 라는 생각이 먼저 들었고, 2) confidence bias라는 것이 정확히 무엇인지? 였습니다. 배경을 객체로 인지하는 것이 bias라면 이것을 왜 bias라는 용어로 지칭했는지 잘 와닿지 않네요. 설명해주시면 감사하겠습니다!