본문 바로가기

지식 저장소

Imbalance Problems in Object Detection : 객체 검출 분야의 불균형 문제 A Review(3)

해당 논문은 part1~part3까지 포스팅될 예정입니다.

2020/11/02 - [지식 저장소] - Imbalance Problems in Object Detection : 객체 검출 분야의 불균형 문제 A Review(1)

2020/11/03 - [지식 저장소] - Imbalance Problems in Object Detection : 객체 검출 분야의 불균형 문제 A Review(2)

Imbalance 4 : Objective Imbalance

Fig. 16: (a) Randomly sampled 32 positive RoIs using the pRoI Generator [66]. (b) Average classification and regression losses of these RoIs at the initialization of the object detector for MS COCO dataset [90] with 80 classes. We use cross entropy for the classification task assuming that initially each class has the same confidence score, and smooth L1 loss for regression task. Note that right after initialization, the classification loss has more effect on the total loss.

Definition Objective Imbalance는 훈련 과정 loss function이 최소화되는 것과 관련이 있다. (i)Task에 따라 기울기의 Norm 규칙들이 하나의 작업에 지배 될 수 있다. (ii)Task에 따라 Loss function 의 범위가 다를 수 있고, 이 것은 optimization을 방해한다. (iii)Task의 어려운 정도가 다를 수 있고, 학습되는 속도에 영향을 미치므로 training process를 방해한다.

(여기서 Task란 classification과 regression작업과 같은 훈련과정의 작업에 대한것을 말한다.)

Figure 16을 보면 Classification loss가 전체 기울기를 지배하는 경우를 확인할 수 있다.

Solutions 가장 일반적인 해결법은 Task Weighting이다. 가중치 factor로 작용할 수 있는 hyperparameter를 추가하는 방법이다. hyperparameter는 validation set에 의해 선택된다. 말하자면, 2-stage 모델의 경우 Task의 수를 늘리면 가중치 factor와 search space가 증가한다. Multi-task 특성 때문에 서로 다른 loss function 간의 범위 불일치가 발생한다. AP loss는 smooth L1이 같이 사용되고, GIoU는 cross-entropy와 같이 사용되는 것 처럼 loss function이 같이 사용되기 때문이다.

서로 다른 범위의 균형을 맞추는 것은 어려운 일이기 때문에, 범위를 비교할 수 있도록 만드는 것이 더 나은 전략이다.

classification과 regression을 결합하는 것중 두드러지는 접근 방식중 하나는 **Classification-Aware Regression Loss(CARL)**이다. 이 는 classification과 regression이 상관 관계가 있다고 가정한다. loss term을 결합하기 위해, regression loss는 classification의 confidence score에 의해 결정된 계수로 scale이 조정된다.

위 식에서 c'_i는 p_i를 기반으로 하는 classification task의 추정치이다. 이러한 방법은 regression branch에도 classification의 기울기 신호를 제공해서 고품질 example에도 localization을 향상시킨다.

CARL방법은 regression과 classification의 상관관계를 사용할 수 있다는 것에 기여했다.

최근에는 cross-entropy가 사용될 때, 각각의 epoch 마다 개별의 loss component 기여율이 다를 수있다는 것을 통해 cross-entropy에 발생하는 loss를 동적으로 weighted 해야한다는 것을 보여준다.

Objective Imbalance를 방지하기위해 loss의 총 크기를 고려하여 classification component에 가중치를 부여하는 Guided Loss가 제안 되었다.

이 방법은 regression loss가 foreground 예제를 통해서만 구성되고 foreground의 클래스 수에 의해서만 정규화 되기 때문에, classification loss를 통해 정규화 할 수 있도록 한 방법이다.

7.1 Comparative Summary

현재, linear task weighting을 제외하고, objective imbalance를 완화할 수 있는 적합한 방법이 없으며, 이에 따라 task 가중치를 설정하지 않으면 훈련이 분산되어 버린다. 많은 논문에서 regression과 classification에 동일한 가중치를 사용하지만, 적절한 선형 가중치가 성능을 약간 향상시킬 수 있다는 것을 보여준다.

7.2 Open Issues

Fig. 18: An example suggesting the necessity of considering different imbalance problems together in a unified manner. Blue, green and red colors indicate ground-truth, positive example (prediction) and negative examples, respectively. The larger example (i.e. the one with higher IoU with the blue box) in (a) is shifted right. In (b), its IoU is significantly decreased and it eventually becomes a negative example in (c). This example shows the interplay between class imbalance, scale imbalance, spatial imbalance and objective imbalance by a change in BB positions.

현재 일반적인 접근 방식은 전체 loss function을 얻기위해 작은 task들의 loss function을 선형적으로 결합하는 방식이지만, box가 이미지 위에서 이동할때, regression및 classification loss 모두 영향을 받으며 그에 따른 종속성을 알 수 있다. 이는 (i)loss value와 그것의 기울기 (ii)작업 속도를 선형 가중치 결합 방식이 objective imbalance를 해결하고 있지 못함을 알 수있다.

8 Imbalance Problem In Other Domains

해당 section은 object detection 분야에 적용될 수 있는 관련 domain들의 불균형 문제를 다룬다. 본 글에서는 이 부분 중 많은 관심이 있는 image classification에 대해서만 정리하며, 나머지는 논문을 통해 확인하기를 바란다.

8.1 Image Classification

이미지 분류에서는 Class imbalance에 대해 광범위한 연구가 진행되고 있다.

일반적으로 사용되는 Resampling the dataset은 dataset의 균형을 맞추기 위해 oversampling과 undersampling을 포함하여 resampling하는 방법을 사용한다. oversampling은 under-represented classes에서 더 많은 샘플을 추가하고, undersampling은 over-represented classes의 일부 데이터를 무시하여서 클래스간의 균형을 맞춘다.

만약, under-represented classes를 단순히 복제하여 불균형을 해소하는 oversampling을 사용한다면 overfitting이 일어날 가능성이 높다. 따라서, 데이터를 일부 무시하는 방법이지만, non-deep-learning 방식에서는 undersampling이 선호되었다.

그러나, deep-learning에서는 oversampling에서 overfitting의 어려움을 겪지 않으며, undersampling에 비해 나은 성능을 보여준다고 한다. 단순히 복제하는 것이 아닌 interpolation of neighboring samples를 통해 새로운 sample을 생성하는 방법과 동일한 example과 class가 동일한 순서로 나타나게끔 제한하여, 모든 class에서 최대한 균일한 mini-batch를 sampling하는 방법이 연구되었다.

다른 방법으로는 transfer learning이 제안되었다. train set크기가 증가할 때, 모델이 어떻게 진화되는지 확인하기 위한 연구를 하였는데, meta-learner를 생성하여 점진적으로 example의 수를 늘려주었다. 그 결과 meta-model은 적은 example로 훈련된 모델에서 더 많은 example로 훈련된 모델로 변환 될 수 있다는 것을 알아 내었고, 이것을 under-represented class를 개척하는데 쓸 수 있다는 것을 의미한다.

Weighting the loss function 방법은 inverse class frequency를 사용하여 under-represented class에 더 많은 가중치를 부여하는 방법이다. 또한 더 'useful'한 example에 중요성을 더 준다.

Data redundancy관점에서 해결하는 방법도 제안되었다. 데이터의 중복을 해결하는 것은 쓸모없는 데이터를 무시하여 더 빠른 수렴을 얻을 수 있다. 기울기의 크기를 보고 중복성을 결정하여 훈련과정에 서용하는 방법이다.

dataset을 보강하는 또 다른 방법은 weak supervision 방법이다. label이 없는 example을 통합하기 위해 사용되는데 Instagram 이미지를 hashtag로 label을 하여 보강한다던지, classification 을 통해 데이터에 label을 추가하여 train sample에 추가한다.

GAN을 통해 데이터를 확장하는 방법 또한 활발한 연구가 이루어지고 있다.

위 방법들은 모두 Foreground-Foreground class imbalance의 대한 현재 solution이며, 이 것들은 모두 object detection 분야에서는 완전히 사용될 수 없다. 이러한 접근 방식들에 대해 연구가 필요하고, 발전해 나가야 한다.

8.2 Metric Learning

Metric learning은 Sampling 방법, Generate 방법, 새로운 loss function를 통해 완화하는 방법을 소개한다. 이는 Foreground-background imbalance에 사용될 수 있다고 한다.

위 방법들은 데이터자체에서 직접 학습한 Metric이 더 나은 결과를 가져올 수 있다고 한다. self-pace learning 또한 불균형을 해결하기 위한 중요한 개념이며, label지정이 online으로 진행되는 것 또한 균형을 맞추는 것에 효과적이라고 한다.

8.3 Multi-Task Learning

Multi-Task Learning에는 여러 task를 동시에 학습하는 것이며, 일반적으로 task의 목표를 평가하여 균형을 맞추는 방식을 사용한다.

위 방법은 object detection분야에서 상당한 이점을 가질 수 있지만, 이러한 방법은 주목받지 못하고 있다고 한다.

9 Open Issue for All Imbalance Problems

해당 section에서는 모든 불균형 문제에 대해 미해결된 open issue를 소개한다. 본 글에서는 짧게 알아보고 넘어간다.

9.1 A Unified Approach to Addressing Imbalance

불균형 문제간의 상호 의존성을 고려해서 모든 불균형을 해결하는 통합 접근방식을 찾아야 한다.

9.2 Measuring and Identifying Imbalance

불균형을 정량화하거나 측정하는 방법, 불균형이 있을 때 식별하는 방법이 필요하다.

  1. What is a balanced distribution for a property that is critical for a task? (task에서 중요한 property 의 균형 분포가 무엇인가?)
  2. What is the desired distribution for the properties that are critical for a task? (task에서 중요한 property 의 원하는 분포가 무엇인가?)
  3. How can we quantify how imbalanced a distribution is? (분포의 불균형을 어떻게 정량화 할 것인가?)

9.3 Labeling a Bounding Box as Positive or Negative

Fig. 19: An illustration on ambiguities resulting from labeling examples. The blue boxes denote the ground truth. The green boxes are the estimated positive boxes with IoU > 0.5. The input image is from the MS COCO.

현재는 IoU 기반 임계 값을 사용하여 positive와 negative로 labeling하지만, 이에 대한 합의가 없으며 labeling을 통한 어려운 example인지 여부를 결정하는데 중요하므로 합의가 필요하다.

Figure 19를 보면 positive로 분류된 두개의 box를 확인할 수 있는데, 그림으로 봐도 꽤나 큰 차이가 보인다.

9.4 Imbalance in Bottom-Up Object Detectors

Bottom-up detector는 1-stage, 2-stage detector와 완전히 접근방식이 다르며, 이런 Bottom-up detector에 대한 불균형 문제를 분석하고 해결하기 위한 연구가 필요하다.

Conclusion

이 논문에서는 object detection의 불균형 문제에 대한 철저한 검토를 하였다. 일관된 관점을 위해 분류와 해결방법을 적었고, 비판적인 관점을 유지하며 solution을 제공했다고 한다.

여러가지 불균형 문제는 수 없이 존재하고, 이를 식별하고 해결해 나가는 과정이 해당 논문의 저자들의 연구방향이라고 한다. 커뮤니티를 통해 발전 시키고자하는 의지를 표현하며 논문은 마무리된다.

논문에 대한 개인 의견

논문은 여러가지로 Imbalance를 분류하여 상세히 알아보았고, 그에 대한 해결과정부터 문제제기까지 굉장히 좋은 내용들이 많았다. 하지만 논문의 큰 맹점은 약간의 억지스러운 Imbalance 분류, 또 그것의 해결과정에서 등장하는 Dataset이 PASCAL VOC나 MS COCO뿐만으로 대부분 설명되기 때문에, 실제로 해당 해결방법들이 Deep learning분야에 정말 해결책인가를 알기는 쉽지는 않았다. 물론 이론적인 설명을 덧붙여서 어느정도 이해가 되긴하지만, 현재 Deep learning 분야가 0.1%~1% 정도의 성능향상만 있어도 순위나 좋은 모델이라고 평가받기 때문에 Dataset에 상당히 의존되는 경향이 있다. (정말 실세계 어디서든 잘할수 있는 모델을 만드는 것은 매우 어렵겠지만) 하지만 논문이 Object detection 분야를 다각도로 보고 있고, 최대한 객관적으로 보려고 하기 때문에 좋은 부분이 더 많은 논문임에 틀림없다. 가장 기억에 남는 멘트는 기준자체가 없이 연구되는 이 학문에 어떠한 기준을 마련해야 한다는 것이 굉장히 기억에 남는다. 어쨌든, 약간의 비판적인 사고를 가지고 보면 상당히 얻을 것이 많고, 내용이 전부 이해되지 않더라도 처음 입문하는 사람에게는 도움되는 논문임에 틀림없다.