C-MIL: Continuation Multiple Instance Learning for Weakly Supervised Object Detection

Original article was published on Deep Learning on Medium

C-MIL: Continuation Multiple Instance Learning for Weakly Supervised Object Detection

이 글은 2019년 8월 루닛 블로그에 게시된 포스트입니다. (https://blog.lunit.io/2019/08/01/c-mil-continuation-multiple-instance-learning-for-weakly-supervised-object-detection/)

Introduction

딥러닝 모델을 학습시키기 위한 annotation 과정은 비용이 많이 듭니다. 때문에 supervision이 더 적도록 설계한 weakly supervised learning 방법론이 최근에 많이 제안되고 있습니다. 이번 주에는 weakly supervised learning을 효과적으로 object detection (OD)에 적용한 최근 논문인 “C-MIL: Continuation Multiple Instance Learning for Weakly Supervised Object Detection“을 소개하고자 합니다.

OD은 computer vision 분야에서 널리 알려진 문제입니다. 주어진 사진에 대해 물체가 무엇이고 어디에 있는지를 찾는 게 목적입니다. 이런 문제를 푸는 모델을 학습하려면 두 가지의 annotation이 필요합니다. 하나는 object의 위치 및 크기를 표현하는 bounding box이고, 또 다른 하나는 그 물체가 무엇인지를 나타내는 물체의 category입니다. Weakly supervised object detection (WSOD)은 데이터가 좀 더 제한된 상황을 가정합니다. Training data의 사진 내에 어떤 물체가 있는지 category만 주어지고, 해당 물체의 크기와 위치를 나타내는 bounding box는 빠져있습니다.

Bounding box만 있다면 어떻게 object detection 모델이 물체를 찾도록 학습시킬 수 있을까요? WSOD는 selective search [1] 등을 통해 bounding box 후보를 미리 찾으면 multiple instance learning (MIL) 문제로 치환해 풀 수 있습니다. MIL은 기존의 image classification과 비슷하나 다소 차이가 있습니다. 개별 데이터가 하나의 instance가 아니라 여러 개인 bag으로 이루어졌다는 점입니다. Bag의모든 instance가 positive여야만 할 필요는 없고, 하나라도 positive인 instance가 있다면 bag의 label은 positive가 됩니다.

출처: https://www.etsmtl.ca/Unites-de-recherche/LIVIA/Seminars/Introduction-to-Multiple-Instance-Learning.pdf

위 그림은 MIL의 예시입니다. 각각의 bag은 세 개의 열쇠 묶음이고, 세 개의 열쇠를 통해 잠긴 문을 열 수 있다면 그 bag은 positive이고, 못 연다면 negative입니다. 문을 열 수 있는 가능성이 있는 열쇠는 빨강, 파랑, 보라, 회색입니다. 하지만 문을 확실하게 못 여는 경우에 파랑, 보라, 회색이 있으므로, 문을 열 수 있는 열쇠는 빨간색 열쇠여야만 합니다. 오른쪽에

Method

사진을 bag이라고 하고 selective search를 통해 나온 bounding box를 instance라고 보면, WSOD는 일종의 MIL입니다. 하지만 MIL은 (모델이 아닌) 문제 자체에 non-convexity가 강합니다. 때문에 단순한 classification 문제보다 local minimum에 더 쉽게 빠집니다.

위의 사진은 기존의 MIL과 continuation method를 적용한 C-MIL의 비교입니다. 기존 MIL의 경우, 학습할 때 instance를 잘못 고름으로써 local minimum에 빠지기 쉽습니다. C-MIL은 이런 문제를 해결하기 위해 처음부터 모든 instance를 독립적으로 보지 않고, subset을 만들어 문제를 해결하

Continuation parameter λ를 이용한 subset 구성 및 학습은 다음의 과정을 거칩니다.

  1. (아직 선택되지 않은) 가장 높은 prediction score를 내는 box를 고르고, 그 box에 λ만큼의 IoU로 걸쳐 있는 같은 class의 box를 한 subset으로 묶습니다.
  2. 1.의 과정을 반복하여 모든 subset을 구성합니다.
  3. subset 내의 prediction score의 평균으로 instance selector를 위한 loss를 구합니다.
  4. subset 내에서 prediction score가 가장 높은 box와 IoU가 1-λ/2 이상이면 positive box, λ/2 미만이면 negative box로 두고 detector를 위한 loss를 구합니다.
  5. 구한 loss를 이용해 모델을 학습합니다.
  6. 1.~5.의 과정을 λ를 0에서 1로 증가시키며 반복합니다.

처음 λ가 0일 때는 모든 instance가 하나의 subset이 됩니다 (1~2). 그리고 최종적으로 λ가 1이 됐을 때는 모든 subset은 instance가 하나로만 구성됩니다. 또, box detection은 처음(λ=0)에는 subset의 한 box만 positive로 보지만, 마지막에는 subset의 모든 box를 positive로 보도록 학습됩니다.

논문에서 사용된 모델의 개요입니다. ROI pooling으로 pretrained network의 feature를 뽑은 뒤 이를 이용하여 loss를 구하고 모델을 학습시킵니다.

Experiments

저자들은 VGGF 및 VGG16의 ImageNet pretrained model을 backbone으로 사용했고, PASCAL VOC 2007 및 2012 dataset에 C-MIL을 실험했습니다.

위의 그림은 epoch별로 본 MIL과 C-MIL의 detection 결과 비교입니다. Continuation method가 잘 적용되었기 때문에 저자들은 학습 도중에 stable semantic extremal regions (SSER)을 발견합니다. 위의 비교 그림에서 볼 수 있듯이, 기존의 MIL에서는 나타나지 않지만, C-MIL에서는 모델의 결과가 semantic 안정화되는 구간이 생기는 것을 확인할 수 있습니다. MIL는 non-convexity 가 심하여 안정된 지점을 쉽게 찾지 못하지만, C-MIL은 continuation method를 통해 local minimum에 빠지지 않고 학습이 안정적으로 수렴합니다.

C-MIL은 기존의 다른 WSOD 방법들보다 정량적으로 더 좋은 성능을 보입니다. WSOD의 결과는 다시 OD의 pseudo-label로 사용될 수 있습니다. 저자들은 C-MIL의 결과로 FRCNN [2]을 학습시켜 더 높은 성능을 냅니다.

Conclusion

Weakly supervised learning은 딥러닝에 필요한 annotation을 줄여 더 효율적인 학습을 추구하는 연구 분야입니다. 본문에서 소개한 논문은 MIL에 continuation method를 적용해, WSOD 분야에서 최고 성능을 냅니다. Supervised learning을 따라잡기는 아직 개선할 점이 많아보이지만, 딥러닝 모델을 위한 데이터의 생성이 아직 어려운 만큼 weakly supervised learning은 다양하게 이용될 수 있을 것이라 기대됩니다.

References

  1. Selective search for object recognition
  2. Fast R-CNN