본문 바로가기

AI(ML, DL)

[TIL]mean IoU(Intersection over Union)

IoU란?

  • IoU :: Intersection over Union
  • Object detection, Semantic segmentation에서 주로 성능 평가를 위해 사용되는 척도 중 하나이다.
  • 실제 객체가 존재하는 박스와 모델이 객체라고 인식한 박스가 얼마나 차이 나는지를 표현한 값이다. [수식 1]과 같이 정의할 수 있으며 이를 그림으로 표현하면 [그림 1]과 같이 표현할 수 있다.

 

[수식  1]IoU의 정의

 

[그림 1] IoU의 그림 표현

 

즉, IoU는 ground truth(이하 GT)의 박스 크기와 모델이 평가한 결과(이하 infered)의 박스 크기를 합한 넓이 중 두 박스가 겹치는 부분의 넓이가 차지하는 비율(합집합 중 교집합이 속하는 영역의 넓이)이라고 할  수 있다.

 

[그림 2] GT와 infered의 박스 차이

 

[그림 2]를 예시를 들어 살펴보자. 초록색 박스는 GT 박스이고, 빨간색 박스는 학습된 모델이 손가락 끝이라고 인식한 범위인 infered 박스이다.  Object detection(또는 Semantic segmentation)에서는 IoU 값이 1에 가까울수록 좋은 성능을 가졌다고 평가한다. IoU 값이 1에 가깝다는 뜻은 두 박스 사이의 겹치는 영역이 크다는 뜻과 두 박스가 일치한다는 뜻과 일맥상통한다. 평가 이미지의 GT 박스 정보와 모델을 통해 얻어낸 박스 정보를 활용하면 IoU를 계산할 수 있다. 그렇다면 mIoU는 무엇일까?

mIoU란?

mIoU는 mean Intersection over Union의 약자로 평균 IoU값을 의미한다. 보통 모델 평가는 하나의 데이터가 아닌 여러 평가 데이터 셋을 통해 이루어진다. 결국 좋은 성능인 모델이라고 말하기 위해서는 많은 평가 데이터에 대해서 높은 IoU 값을 보여야 한다. 모든 평가 데이터에 대한 평균적인 모델의 성능을 평가하기 위해 각 평가 이미지에 대한 IoU값을 측정한 뒤 이에 대한 평균을 계산하게 되는데, 이 값을 mIoU라고 부른다.

 

[그림 3] mIoU의 활용

 

mIoU는 가장 처음 언급한 바와 같이 Object detection 또는 Semantic segmentation 모델에 대해서 성능 평가 지표로 많이 사용된다. [그림 3]은 Semantic segmentation 모델 중 하나인 DeepLabV2 모델 논문에서 다른 모델들과의 성능 비교를 위해서 제시한 표이다.[1] 표에서 확인할 수 있듯이 성능 평가를 위한 지표로 mIoU를 사용하는 것을 확인할 수 있다. 이 논문 외에도 다른 많은 Object detection, Semantic segmentation 논문들에서 평가 지표로 mIoU를 사용한다.

출처

[1] Chen, Liang-Chieh, et al. "Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs." IEEE transactions on pattern analysis and machine intelligence 40.4 (2017): 834-848.

반응형