본문 바로가기
딥러닝/CV 논문

[Object Detection] CenterNet2 요약

by 혜 림 2022. 3. 21.

[참조]

CenterNet1 요약 : https://hyelimkungkung.tistory.com/67?category=935163 

원문 : https://arxiv.org/pdf/2103.07461v1.pdf

 

Probabilistic two-stage detection

 

1 stage는 빠르지만 정확도가 아쉽고, 2 stage는 정확하지만 속도가 아쉽다. 2 stage는 보통 region proposal을 한 후에 classification을 한다. 이때 문제가 되는 건 region proposal을 할 때다. Faster R-CNN을 기준으로 말을 해보자. RPN의 경우 anchor를 이용해서 각 영역에 object가 있는지, 혹은 없는지만 말해준다. 즉, maximize recall을 목표로 기능하기 때문에 정확도를 해석할 수 없다. classifcation 단계에서 또 RPN을 거쳐 나온 영역을 대상으로 score를 계산하기는 하지만, 이 두 단계가 dependent 하게 score를 계산하는데 반영되지는 않는다. dependet 하게 하려면 우리는 RPN할 때 단순히 물체가 있냐 없냐만 보는게 아니라, 나아가서 얼만큼 있음직 한지, 즉 object likelihood 까지 계산해야 한다. 그런데! 생각해보면... 정확한 object likelihood를 예측하는 건? 1 stage model에서 하는 일이다! 

 

 그래서 centernet2에서는 기존의 SOTA 모델인 1 stage model을 RPN으로 사용한다.(는 느낌이다) 이렇게 2 stage model에서 region proposal 단계가 정교하게 이루어지면, 다음 classification에서는 검사해야할 (ROI)영역이 줄어든다. 즉? 시간이 절약된다!!

 

 

 위 사진은 기존의 1 stage detector랑 2 stage detector, 그리고 최종적으로 본 논문에서 소개하는 probalistic 2 stage detector이다. 사실 나는 이 그림을 봐도 그렇게 와닿지 않는다.. 

 

 

 모델의 구조는 위에 보는 것과 같다. 물체가 얼마나 있음직한지, 즉 object likelihood를 1단계에서 계산한다. notation은  $O_{k}$ 이다. 첫번째 단계에서 이 값을 계산한 후에는 conditional probability를 계산한다. 이때, 만약 $O_{k}$가 0인 확률이 1이라면 당연히 두 번째 단계에서 계산하는 conditional probability는 background를 제외한 다른 클래스에서는 0이 되는 게 타당한 추론일 것이다. 여하튼, 이런 느낌으로 이루어진다. 

 

 개별 K bbox에 대한 classification은 아래와 같은 식으로 이루어진다. 첫번째 단계에서 계산하는 likelihood와 두번째 단계에서 계산하는 likelihood를 곱함으로써 dependent하게 bbox 의 score를 계산할 수 있다. o는 0또는 1의 값을 가진다. 

 

 위의 prediction score를 이용해서 우리는 최종적으로 objective function, 목적 함수를 만들 수 있다. 뚝딱뚝딱

 이때 class 값이 bg인가, 아닌가에 따라서 다른 식을 이용한다. 

 

 만약 k 번째 bbox가 bg가 아닌 class의 score를 계산할 때는, 위 식을 최대화해야 한다. 

만약 k 번째 bbox가 bg일 확률을 계산할 때는, 위 식을 이용한다. 

 

 보면 실제로 object가 있는 경우면 첫번째 단계와 두번째 단계의 확률을 독립적으로 계산해서 합하지만, 반대로 bg라면 첫번째 단계와 두번째 단계를 factorize하지 않음을 확인할 수 있다. 

 

 하지만 이런식으로 목적함수를 만들고 최적화를 하다보면 오히려 시간이 더 걸린다고 한다. 그래서 이렇게 무제한으로 최적화를 시키는 대신, 우리는 어떤 한계를 걸어두기로 한다. 

 

 

(3) 과 (4) 가 그 한계, 제한인데, 이 식을 유도하는 데 이용한 수학적 근거는 논문을 직접 확인해보도록 하자.

 

앞에서도 말했듯이, 이렇게 거창하게 이야기했지만, 사실 1 stage에 숟가락 얻는 2 stage model을 만들겠다는 거다. 그 1 stage model은 다양하지만, 제목이 ceternet 인만큼, centernet만 설명하고 본문을 마무리하도록 하겠다. 

 

 

 

 그리고 이건 결과!

'딥러닝 > CV 논문' 카테고리의 다른 글

[Object Detection] Faster R-CNN  (0) 2022.07.27
[Classification] ResNet 요약  (0) 2022.07.10
[GAN] pix2pix HD  (0) 2022.02.10
[Classification] VGGNet 요약  (0) 2022.02.10
[Object Detection] CenterNet 요약  (0) 2022.01.28

댓글