[KCCV 2020] Consistency-based Semi-supervised learning for object Detection (NeurIPS2019)

이번 KCCV 2020 기간에 다른 프로젝트와 겹치면서 주의 깊게 못들었어서 녹화된 영상으로 다시 시청하게 되었습니다. 영상을 들으면서 인상 깊었던 논문을 이 글을 통해 리뷰해보려합니다.

Fig 1. Paper

첫번째는 서울대학교 MIPAL 연구실에서 NeurIPS2019에 게재한 Consistency-based Semi-supervised learning for object Detection 입니다. 본 논문은 기존 Semi-supervised learning에서 좋은 성능을 내던 Consistency Regularization을 Object detection 분야에 적용한 논문입니다.

Consistency Regularization이란 동일한 입력에 다양한 perturbation(이미지에 함수를 적용시키는 것)을 주고 output으로 나온 값이 같아지도록 loss 함수를 설계한 것입니다. 이렇게 같게 만들면 mainfold를 smooth 하게 하고 성능을 높일 수 있습니다.

Fig 2. Semi-supervised learning을 object detection에 적용시 문제점

만약, Semi-supervised learning을 Object detection에 바로 적용하게 되면 label이 없는 상황에서 값이 같아지도록 하는 proposal을 어떤 proposal으로 정할지가 어려워집니다. 추가로 localization에 대한 loss 적용도 매우 어려워지게 됩니다.

Fig 3. Single stage detector에서의 consistency-based semi-supervised learning

이를 해결하기 위해 input에 대해 horizontal flip을 적용하였습니다. 여기서 p는 주로 SSD 같은 single stage detector에서 pyramid를 쌓으므로 pyramid의 인덱스를 의미합니다. c는 column, r은 row를 의미하며 d는 default box를 의미하며 c’은 flip된 input에 대응되는 column 입니다. 학습은 label이 있는 데이터에는 기존에 하던 것처럼 supervised loss를 구하는 동시에 대응되는 두 feature map 사이에 consistency loss 를 구하고, label이 없는 데이터에는 consistency loss만을 구하게 됩니다.

Fig 4. Two stage detector에서의 consistency-based semi-supervised learning

그리고 faster-rcnn과 같은 two stage detector에도 consistency loss를 적용할 수 있는 방법을 제안하였습니다. 여기서도 마찬가지로 input을 horizontal flip 하여 feature map을 얻어내고, 입력에 따라 roi가 다르게 나와 각 input으로 생성된 roi를 대응시키기 어려움으로 flip 되지 않은 input으로 얻은 roi를 flip 하여 사용하게 됩니다. 이를 classifier에 넣어 label이 있는 데이터는 supervised loss와 consistency loss를, label이 없는 데이터는 consistency loss 만을 구하게 됩니다.

Fig 5. Consistency classification loss

제안된 consistency classification loss는 input과 horizontal flip된 것에 대응되는 object들의 classification output이 같아지도록하는 classification loss의 평균으로 구성되었습니다.

Fig 6. Consistency localization loss

그리고 제안된 consistency localization loss는 input과 horizontal flip된 것에 대응되는 object들의 위치의 차이가 (x방향만 반대일 때로 생각하고) 줄어들도록하는 localization loss의 평균으로 구성되었습니다.

Fig 7. Background elimination

그리고 앞선 loss들을 구할 시, background의 영향을 줄이기 위해 높은 확률로 background인 box를 masking 하여 평균 계산에서 제외됩니다.

Fig 8. Overall loss

이렇게 얻어진 consistency classification loss와 consistency localization loss를 더해 consistency loss를 구성했고 이를 기존 supervised learning의 classification loss와 localization loss에 같이 사용하였습니다.

Fig 9. Experiments

앞선 방법 내용들을 SSD와 R-FCN에 적용하여 기존 성능보다 더 좋은 성능을 얻어낼 수 있었다고 합니다. 이 논문의 발표를 들으면서 느꼈던 것이 내용은 그렇게 어렵지 않다는 것입니다. Loss 함수를 설계할 때 엄청 어려운 이론이 들어가 있는 것도 아니고 network의 구조가 엄청 복잡한 것도 아니였습니다. 그러나 다른 분야에서 사용하던 방식을 object detection에 잘 적용했다는 것이 이 논문의 주된 제안이자 NeurIPS 2019에 accept이 될 수 있었던 이유라 생각하며 저도 한 쪽의 분야만 보는 것이 아닌 여러 분야를 follow-up 하며 각 분야에 아이디어를 다른 분야에 적용시켜보는 것이 중요하다는 것을 다시 한번 느끼게 되었습니다.

Author: 조 원

1 thought on “[KCCV 2020] Consistency-based Semi-supervised learning for object Detection (NeurIPS2019)

  1. 좋은 리뷰 감사합니다. 저도 해당 발표를 흥미롭게 들었습니다. 결국 해당 방법론은 Semi-Supervised 방법으로 라벨이 있는 데이터와 라벨이 없는 데이터를 함께 사용해 학습을 수행합니다. 여기서 ‘라벨이 없는 데이터’는 정확히 어떤것을 의미하나요? 위의 성능 표를보면 VOC데이터를 가지고 비교하였는데, 결국 기존의 SSD와 R-FCN의 방법은 Supervised 방법으로 라벨을 사용하는 방법론이고 VOC데이터는 모든 데이터에 라벨링이 되어있으니 해당 방법론이 적용이 가능했습니다. 그러면 현재 논문에서 제안하는 방법은 기존 VOC 데이터에서 일부는 라벨을 사용하고 일부는 라벨링을 사용하지 않은것인지 아니면 기존 VOC에 라벨이 없는 데이터를 추가로 사용한 것인지 궁금합니다. 만약 후자라면 fair하지 않은것 같고, 전자일것 같은데 혹 labeled sample을 어떻게 sampling하였는지도 설명하고 있나요?

답글 남기기

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