[DL] IOU(Intersection over Union)

나개발자.__.·2024년 7월 21일

[DL] Computer Vision

목록 보기
2/5

이 게시물은 권철민님의 강의 "[개정판] 딥러닝 컴퓨터 비전 완벽 가이드"를 공부하며 작성한 게시물입니다.

IOU(Intersection over Union)

Object Detection을 수행하면 이 결과가 과연 어느정도 정확하게 맞췄는지 알려줄 지표가 필요하다.
마치 clasiffication에서 정확도(accuracy)처럼!

IOU는 Object Detection을 했을 때 Bounding Box가 GT(Ground Truth)와 비교했을 때 얼마나 겹쳐있냐에 의해 알려주는 지표다.

공식은 다음과 같다.

IOU = 교차된 영역의 넓이/두 영역의 합집합 넓이

즉, 교차된 영역의 넓이가 클수록 IOU는 1에 근사한다.
IOU가 1에 가까울수록 GT와 근접함

NMS는 이런 IOU를 이용한다.

NMS(Non Max Suppression)

NMS란, Selective Search된 Bounding Box를 조건에 맞는 Box만 남겨주는 알고리즘이다.

NMS의 수행 로직은 다음과 같다.

  • Search된 Bounding Box중 Confidence Score > Confidence threshold인 경우를 택한다.
  • 이제 이렇게 간추려진 Bounding Box를 Confidence Score가 큰 순서대로(내림차순)정렬해준다.
  • 정렬된 Bounding Box를 살피면서 다른 겹쳐있는 Bounding Box의 IOU >= IOU threshold인 경우 제외시켜준다.
  • 남아있는 Bounding Box만 선택해준다.

아래 그림처럼 특정 Image에 Bounding Box를 Selective Search해준다.
이때 Confidence threshold = 0.5로 했다고 가정하고 두 Box가 나왔다고 가정했다.

이렇게 나온 Box를 Confidence Score가 높은 순서대로 정렬한다.
즉, 빨간색 0.9, 파란색 0.9, 파란색 0.7, 빨간색 0.6 순서로 정렬한다.

IOU threshold = 0.5라고 가정했다.
이때 다음처럼 IOU가 나온다고 가정하면 모두 IOU threshold보다 큰 값이므로 제거된다.

각각 빨간색 0.9, 파란색 0.9를 기준으로 겹쳐진 IOU가 IOU threshold보다 큰 경우를 나타낸 것이다.

최종적으로는 다음과 같은 Bounding Box만 남게된다.

mAP

mAP란, 실제 Object가 Detected된 재현율(Recall)의 변화에 따른 정밀도(Presion)의 값을 평균한 성능 수치다.

한마디로 AP를 평균(mean)한 수치다.

Precision(정밀도)와 Recall(재현율)을 재현율의 변화에 따라 그래프에 나타낸 것을 PR curve라고 한다.

그리고 이런 PR curve 그래프를 선으로 연결한 밑넓이를 AP라고 한다.

즉, AP는 한 Object에 대해서 평가가 가능하다.
한 Image에 대해 Object가 여러개인 경우 이런 AP를 각 Object마다 구해 평균을 낸 값이 mAP이다.

Recall/Precision값을 어떻게 변경시킬까?

앞서 NMS에서 Confidence threshold값을 변경시켜가면서 각 object마다 recall, precision값을 추출해내면 된다.

참고자료

[Object Detection] 성능평가지표 용어 정리

profile
나 개발자가 되고싶어..요

0개의 댓글