본문 바로가기
Boostcamp

[부스트캠프] object detection overview

by Yonghip 2023. 5. 3.

이때까지는 매주 모르는 내용을 정리해서 조금씩 작성했는데 detection 이후로는 처음 보는 개념이 많아져

거의 매일 관련 내용으로 블로깅 할 것 같다.

 

이번에는 object detection task를 진행하기 위해 필요한 기초 지식에 대해 몇개 설명해 보겠다.

 

 

Precision & Recall

detection task의 평가지표를 알기 위해서는 몇 가지 기초지식이 필요하고 가장 기본이 되는 게 precision&recall이다.

 

precision과 recall을 구하기 위해서는 confusion matrix를 계산할 수 있어야 한다.

평가지표로 precision, recall, f1을 사용할 때마다 매번 여러 사이트에 들어가서 외웠던 기억이 있는데 개인적으로 한번 제대로 정리해 두면 딥러닝 분야에서는 계속 쓰이므로 통째로 암기해 두는 게 좋을 것 같다.

이제 이 4가지 값으로 precision, recall을 구할 수 있다.

 

 

 

Precision은 위처럼 모델이 예측한 모든 것에 대한 TP의 비율이다.

모델의 예측이 틀리지 않음을 확인하는 지표이며  Precision을 높인다는 것은 모델의 오 검출율을 줄인다는 의미이다.

 

 

 

 

Recall은 모든 라벨값에 대한 TP의 비율이다.

모델이 예측을 빠짐없이 수행했음을 확인하는 지표이며 Recall을 높인다는 것은 모델의 검출력?을 높인다는 의미이다.

 

 

 

 

 

mAP

detection task는 mAP를 평가지표로 사용하는데 이를 알기 위해 PR Curve라는 개념에 대해 알고 있어야 한다.

 

Confidence를 기준으로 sort한 모델의 예측들이다.

이 중 첫 번째 예측을 자세히 살펴보자.

위에서 언급한 Precision은 모델의 예측이 정확해야 한다는 의미이며 모델은 하나의 예측을 맞췄으므로 Precision은 1이 되고 10개의 bbox 중 하나를 맞췄으므로 Recall은 0.1이 된다.

 

모델의 예측은 TP 혹은 FP 중 하나인데 TP인 경우 Precision과 Recall의 분자가 1씩 오르고 FP인 경우 Precision의 분모만 1이 증가한고 이를 반복한다.

 

 

따라서 PR그래프는 전체적으로 이와 같은 형태가 되며 이 면적을 클래스별로 구한 뒤 평균내면 모델 예측의 mAP를 알 수 있다.

 

 


Precision과 Recall만 벌써 10번 넘게 공부한 것 같은데 드디어 개념이 조금은 자리 잡은 느낌이 든다.

이후에는 대게 논문 내용에 대해 리뷰하고 사용해 보는데 단순히 사용만 하던 모델에 이렇게 다양한 개념이 들어갔는지 처음 알았다. 이제부터 조금씩이라도 논문을 리뷰하고 강의를 정리해 보겠다.