[ECCV2022]Detecting Twenty-thousand Classes using Image-level Supervision

#676478

이번에 리뷰드릴 논문은 Object Detection 데이터셋의 다양성 한계를 극복하는 방법론을 다루는 논문입니다. Meta AI(이하, 메타)와 텍사스 대학에서 발표된 연구이며 ECCV 2022에 등재되었습니다. 그럼 리뷰를 시작하겠습니다.


문제 정의 및 소개

일반적으로 Object Detection Datasets은 Vocabulary Size (즉, 구분 할 수 있는 카테고리의 수)가 작습니다. 이는 논문의 Fig.1(Bottom) 에서도 확인 할 수 있습니다. Fig.1(Bottom)은 Obect Detction Datasets인 LVIS[1]와 다른 데이셋(ImageNet, Conceptual Captions[2])의 분포차이에 대한 그래프 입니다. x축은 카테고리를 y축은 카테고리에 포함된 이미지의 개수를 의미하는데, 노란색으로 나타난 LVIS 데이터셋의 분포 그래프가 가장 짧은것으로 포함된 카테고리-즉 Vocabulary Size-가 가장 작습니다.

LVIS(엘비스) 데이터셋[1]은 메타의 전신인 페이스북에서 COCO 데이터셋의 확장을 목표로 구축한 데이터셋으로 기존 Object Detection 데이터셋 보다 확장된 Vocabulary Size를 갖지만 비교 데이터에 비하면 카테고리 수가 매우 작습니다. 논문은 이러한 현상(Object Detection Datasets의 Vocabulary Size가 작음)의 이유가 데이터셋의 크기 차이 때문이라고 밝힙니다. Object Detection Datasets의 예시를 보면: LVIS(2019공개)-120K개 이미지/OpenImages(2020공개)[3]-1.8M개 이미지로 구성된 반면에 ImageNet(2009공개)-14M개의 이미지로, 10년 전에 구축된 데이터셋 임에도 데이터셋의 크기가 압도적으로 큽니다.

* K:천(1,000) M:백만(1,000,000)

논문은 이러한 Object Detection Datasets의 문제점으로 인해 Open-vocabulary Object Detection을 수행시 Fig.1(Top)과 같은 카테고리 오분류 문제를 지적하였고, 이를 해결하기 위한 방법을 제안합니다. 제안하는 방법론을 간단하게 소개하면 Classification Datasets을 Object Detection Model 학습에 활용하는 방법을 소개합니다. 본 리뷰에서는 제안된 방법론(Part. 방법론)을 간단하게 소개하고, 해당 논문에 언급된 실험을 제안 방법론의 우수성 검증 실험(Part. 실험: 우수성)과 Ablation study를 포함한 분석 및 검증 실험(Part. 실험: 검증)으로 나누어 다루겠습니다.

방법론

Fig. 3 은 제안된 방법 Detector with image classes (이하, Detic)의 개요도 입니다. 주석에도 나와있듯이 Detic은 Detection Data와 Image-labeled data를 동시에 학습하기 위한 방법론이며 매우 간단합니다. Detection 테스크는 일반적으로 Localization과 Classification이라는 하위 테스크로 나뉘는데, Detection Data는 Localization과 Classification 테스크를 학습할 때, Image-labeled data는 Classification을 학습할 때 사용하도록 제안한 것입니다. 본 논문은 이러한 Detection 테스크의 특성을 잘 나타내고 있는 2-stage-detector에 타겟한 목적함수를 설계했으며 수식과 구현 방식은 아래와 같습니다.

[보충1]
[보충2]

[보충1]에서 확인할 수 있듯이 구현은 매우 간단합니다. Image-labeled Datasets의 경우 RPN의 출력 중 가장 큰 bounding box를 기준으로 feature 를 추출하고, 해당 feature에 대한 카테고리 예측값을 기준과 정답 클래스의 binary cross-entropy(BCE) Loss를 계산합니다. 이를 Image Loss라고 하겠습니다. 같은 batch 내에의 Detection Data의 경우에는 기존 Object Detection 테스크를 학습과 동일하게 GT bounding box와 예측에 대한 Loss(1 Stage Loss(RPN) + 2 Stage Loss(REG+CLS))를 계산합니다. 이를 Detection Loss라고 하겠습니다. 이후 Image Loss에 λ(=0.1) 가중치를 곱하고 Detection Loss와 더한것이 최종 Loss 입니다. 또한 Dataloader는 [보충2]와 같이 ImageNet 데이터와 LVIS 데이터를 합쳐서 하나의 Dataloader를 구성했습니다.

간단한 접근법이지만, 기존 방법론 대비 새로운 점은 Classification Datasets을 Object Detection에 사용하기 위해 RPN Network에 Proposal Box를 직접적으로 사용하지 않았다는 점입니다(RPN의 출력을 직접 사용하는 대신, 예측 중 가장 큰 Bounding Box를 사용하여 Proposal Box 예측 성능의 불안전성으로 인한 오류를 줄였습니다). 추가적인 Loss 설계 없이 BCE Loss를 통해 간단하게 Classification Datasets을 학습에 통합하고 성능 개선을 이루어냈습니다. 이러한 특이점에 대한 내용은 실험: 검증 파트에서 추가적으로 다루겠습니다.

실험: 우수성

본 논문은 Open-vocabulary Object Detection에서 Object Detection Datasets의 특징으로 발생하는 Fig.1(Top)과 같은 예측 정확도 한계를 해결하기 위해, 기존에 구축된 Image-labeled Datasets을 활용하는 간단한 해결책을 제시합니다. 제안하는 방법론의 우수성을 보이기 위해 Open-vocabulary Object Detection 벤치마크 데이터셋인 Open-vocabulary LVIS(Table 2)와 Open-vocabulary COCO(Table 3)에서 SOTA 방법론과의 성능비교를 한 결과는 아래와 같습니다.

Comparison with the state-of-the-art

먼저 Open-vocabulary LVIS는 CLIP embedding을 open-vocabulary detection에 처음 적용한 ViLD[5]와 비교하였습니다. ViLD-text는 CLIP을 그냥 활용한것, ViLD는 knowledge distillation을 통해 CLIP을 추가학습한것, ViLD-ensemble은 앞의 두 방법의 결과를 0.5 가중치로 앙상블 한 것으로 모두 ViLD[5]에서 제안한 방법이며, Detic이 Novel Class와 Base Class 모두에서 ViLD의 성능을 개선했음을 확인할 수 있습니다. 해당 벤치마크의 비교를 위해서는 주석에 언급되었듯 MaskRCNN을 Detector로 사용했습니다.

* LVIS의 카테고리(vocabulary)는 rare, common, frequent 세 단계로 분류되며,
rare를 학습에 사용하지 않는 novel classes로, common과 frequent 를 합하여 학습에 사용하는 base classes로 함.
Tabel 2에서 mAP 하단의 작은 c와 f는 각각 common/frequent로 두 분류 모두 Base Classes에 포함됨.

다음으로 Open-vocabulary COCO[6]는 SOTA인 OVR-CNN[7]과 유사한 실험세팅을 위해 Faster R-CNN을 Detector로 하여 성능을 비교하였으며, 그 결과 제안하는 방법에서 가장 높은 성능을 보였습니다. Open-vocabulary LVIS과 다르게 Baseline 대비 우수성을 보였는데, Open-vocabulary LVIS의 Baseline 대비 우수성은 아래의 Table 1에서 확인할 수 있습니다. 여기서 Baseline이란 ImageNet-21K pretrained weight를 기반으로 Novel Data를 제외한 Base Data를 활용해 학습한 모델이며, novel class에 대한 예측을 위해 Classifer를 CLIP embedding으로 바꾼 방법입니다(CLIP을 활용하는 방법은 Open-vocabulary datasets에 대한 성능 리포팅시 주로 활용하는 방식이라고 합니다).

* [6]에서 제안된 Open-vocabulary COCO는
학습에 사용하는 Base Classes와 학습에 사용하지 않는 Novel Classes로 구성되며, All은 두 Classes 모두를 포함한 Test Data에 대한 성능임

실험: 검증

다음은 제안하는 방법론의 특성에 관한 실험입니다. 제안하는 방법론은 기존 다수의 접근법과 다르게 RPN의 출력 중 가장 큰 Bounding Box를 통해 Classification Datasets을 Object Detection 테스크 학습 프로세스에 통합합니다. 위의 Fig. 2는 기존 방법론과 제안하는 방법론의 접근법 차이를 시각적으로 보여주는데, Fig. 2(b)의 기존 접근법은 이미지에서 RPN(1-stage-network)을 통해 제시된 박스에서 feature를 추출하고, feature를 2-stage-network에 입력한 출력(class)을 학습에 사용하기 때문에 GT가 없는 weakly supervised 학습의 경우 RPN 네트워크의 성능에 학습 효율의 의존성이 있습니다. 반면 제안하는 방법론의 경우 max-size 박스는 대체로 물체를 커버하고 있을 확률이 높으며, 대체로 크기가 일관성있기 때문에 RPN 네트워크의 낮은 성능에도 Classification 데이터를 안정적으로 전체 학습 프로세스에 통합할 수 있습니다. (아래 인용 참고) 아래의 Fig.4 는 RPN 네트워크로 제시된 Bounding Box를 사용할 때(Pred-based)와 제안하는 Max-size를 활용할 때의 결과를 비교한 것인데, Pred-based(1행)의 경우 Box의 크기가 학습이 진행됨에 따라 다양하게 변하며, 물체를 포함하지 않는 경우가 많은 반면, Max-size의 경우는 박스의 크기의 학습정도에 따른 변화량이 비교적 적고, 물체의 대부분의 영역을 포함함을 확인할 수 있습니다.

[Max-size Box를 활용한 이유에 대해 다룬 논문 내용의 인용]

아래의 Table 1에서는 Prediction-based 접근법보다 제안하는 방법이 우수함을 정량적으로 검증하였습니다. 실험 세팅은 아래와 같은데 Base Classes와 Novel Classes로 구성된 LVIS 데이터셋을 활용하여 성능을 측정하였고, 기존 Image-level Labeled Datasets 활용 방식과 비교를 위해 Base Classes로 구성된 LVIS의 Train Data와 Image Data인 ImageNet(IN-L, ImageNet 데이터셋 중 LVIS와 겹치는 997개의 클래스로 구성된 데이터셋)과 Conceptual Captions(CC)를 각각 학습에 활용해 비교하였습니다. Baseline인 첫번째 행은 기존 Open-world Datasets의 평가방식 기반의 성능이며 LVIS의 Train Data을 이용하여 학습하되, 동등한 비교를를 위해 ImageNet-21k pretrained backbone weights를 초기화에 사용했다고 합니다. 또한 CLIP classifier를 활용해 성능을 측정했습니다. (Open-world Datasets에서 Novel Data에 대한 성능 평가를 가능하도록 하는 주된 리포팅 방식[4]으로 classification weights로 CLIP 임베딩을 활용한다고 함) 제안하는 방법론은 CLIP을 사용한 기존 방법론이나, Prediction-based로 Image-level Labeled Data를 Detection Task에 통합시키는 것 보다 Base Classes와 Novel Classes에 대한 예측에서 모두 높은 성능을 보였습니다.

Table 1에서 Detic은 3가지 버전으로 리포팅 되었는데, Max-size가 최종적으로 선택된 방법입니다. Max-object-score는 RPN의 결과 중 objectness score가 가장 높은 박스를 활용하는 것이고, Image-box는 이미지 전체를 Bounding box로 가정하는 방법입니다. Max-size를 활용하는 방식이 Object가 물체 중앙에 크게 존재하는 ImageNet 데이터에 특이한 특징 때문일 수 있기 때문에, Detection Datasets인 MS-COCO를 기반으로 구축된 Conceptual Captions 데이터셋을 활용하여 동일한 실험을 했을때도 Max-size와 Image-box가 다른 비교 방법론 대비 Novel Classes와 Base Classes 모두에서 높은 성능을 보였음을 확인할 수 있습니다.

Max-size가 제공하는 이점이 논리적이지 않다고 하더라도, Image-box 결과 역시 비교 방법론 대비 의미있는 성능 개선을 보인것을 통해 논문에서 제안한 “RPN 네트워크의 영향력 감소”방법이 효과가 있음을 보일 수 있는 실험입니다. 해당 벤치마크의 비교를 위해서는 CenterNet2를 Detector로 사용했습니다.

(Conceptual Captions 데이터셋은 캡셔닝 데이터셋이며 LVIS의 Class 정보를 활용하여 Captions이 해당 Class 단어를 포함할 경우 해당 단어를 image labels로 사용하도록 했다고 함)

<Prediction-based vs non-prediction-based methods> & <Comparison with a fully-supervised detector>

참조 논문

[1] LVIS 데이터셋: LVIS: A dataset for large vocabulary instance segmentation. In: CVPR (2019)
[2] Conceptual Captions: Conceptual captions: A cleaned, hypernymed, image alt-text dataset for automatic image captioning.
[3] OpenImagesThe open images dataset v4. IJCV (2020)
[4] Open-world Datasets에 대한 성능 측정에서 주로 사용하는 리포팅 방식: Open-vocabulary object detection via vision and language knowledge distillation. ICLR (2022)
[5] ViLD: Open-vocabulary object detection via vision and language knowledge distillation. ICLR (2022)
[6] Open-vocabulary COCO: Zero-shot object detection. In: ECCV (2018)
[7] OVR-CNN: Open-vocabulary object detection using captions. In: CVPR (2021)


이상으로 Detic 논문의 리뷰를 마쳤습니다. 본 논문은 Object Detection 데이터셋의 특징에서 발생하는 문제를 해결하기 위해, Detection의 하위 테스크인 Classification에 집중하여 문제를 해결했습니다. 해당 논문에서 개인적으로 아쉬웠던 점은 제안 방법에 대한 Localization 성능에 대한 리포팅/분석이 없었다는 점입니다. 전체 프로세스에 대한 성능 개선이 명확한 만큼 Localization 성능의 향상을 확인할 수 있었다면 제안하는 방법으로 Image-level Labeled Dataset 활용하는 접근법에 대해 풍부한 인사이트가 추가될 수 있지 않았을까 합니다. 그럼에도 개인적으로 명확하게 전달하는 인사이트가 있는 논문이라 생각하며, 제가 발견한 두가지 인사이트는 다음과 같습니다.

  • 테스크 의존성에 의한 학습 불안정 요소를 제거
    • Image-labeled Datasets을 Object Detection 테스크에 이용할 때 고려해야하는 것은 해당 데이터셋을 학습에 적용할 수 있는 Classification 테스크가 ROI(Region of Interest) 추출 테스크에 의존성이 있다는 점입니다. 본 논문은 ROI 추출 결과의 Max-size box를 기반으로 Classification을 수행하여 ROI 예측 프로세스 자체의 영향력을 줄였습니다.
  • 종속적 테스크의 성능 개선을 통한 전체 프로세스 성능 개선
    • 아래의 논문 인용에서 말하듯 무한히 꼬리를 무는 프로세스 자체의 문제에서 종속된 하나의 문제를 해결하므로써 전체 프로세스의 문제 고리를 끊어냈습니다.
[논문 인용]

이외에 발견하신 인사이트가 있거나 이해가 되지 않는 부분에 대해서는 댓글로 남겨주시면 감사하겠습니다.

Author: 황 유진

2 thoughts on “[ECCV2022]Detecting Twenty-thousand Classes using Image-level Supervision

  1. 안녕하세요 황유진 연구원님, 해당 리뷰 궁금했는데 리뷰해주셨네요 감사합니다

    실험 부분에서 궁금한 게 하나 있는데,
    Baseline 이외에도 novel Classes에 대한 Prediction 할때 CILP을 썼는지 궁금합니다.

    감사합니다

    1. 안녕하세요 홍주영 연구원님 답변 드리겠습니다.
      네 Baseline 이외의 방법론도 novel classes에 대한 예측을 위해서는 CLIP을 적용했습니다.

      해당 내용이 자세하게 적혀있지 않았네요
      감사합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다