Computer Vision (1) - 기본 개념

적어야 머리에 남는다! ·2021년 12월 27일
0

Computer Vision

목록 보기
1/3
post-thumbnail

개념

  • 한 이미지에서 객체와 그 경계 상자(bounding box)를 탐지
  • 객체 탐지 알고리즘은 일반적으로 이미지를 입력으로 받고, 경계 상자와 객체 클래스 리스트를 출력
  • 경계 상자에 대해 그에 대응하는 예측 클래스와 클래스의 신뢰도(confidence)를 출력

용어

Bounding Box

  • 이미지에서 하나의 객체 전체를 포함하는 가장 작은 직사각형

IOU (Intersection Over Union)

  • 실측값 (Ground Truth)과 모델이 예측한 값이 얼마나 겹치는지를 나타내는 지표
  • IOU가 높을수록 잘 예측한 모델 (실측값과 예측한 값이 많이 겹쳤다!)

NMS(NoN-Maximum Suppression)

  • 확률이 가장 높은 상자와 겹치는 상자들을 제거하는 과정
  • 최대값을 갖지 않는 상자들을 제거
  • 결과로 하나의 상자만 나오게 해준다.

  • 과정
    • 확률 기준으로 모든 상자를 정렬하고 먼저 가장 확률이 높은 상자를 취함
    • 각 상자에 대해 다른 모든 상자와의 IOU를 계산
    • 특정 임곗값(Threshold)을 넘는 상자는 제거

모델 성능 평가

Precision(정밀도) & Recall(재현율)

  • 일반적으로 객체 탐지 모델 평가에 사용되지는 않지만, 다른 지표를 계산하는 기본 지표 역할을 함

    • True Positives(TP): 예측이 동일 클래스의 실제 상자와 일치하는지 측정
    • False Positives(FP): 예측이 실제 상자와 일치하지 않는지 측정
    • False Negatives(FN): 실제 분류값이 그와 일치하는 예측을 갖지 못하는지 측정

    precision=TPTP + FP\qquad precision = \frac{TP}{TP \ + \ FP}
    recall=TPTP + FN\qquad recall = \frac{TP}{TP \ + \ FN}

    • 모델이 안정적이지 않은 특징을 기반으로 객체 존재를 예측하면 거짓긍정(FP)이 많아져서 정밀도가 낮아짐 (틀린것을 맞다 판단)
    • 모델이 너무 엄격해서 정확한 조건을 만족할 때만 객체가 탐지된 것으로 간주하면 거짓부정(FN)이 많아져서 재현율이 낮아짐 (객체가 탐지되었지만 인식되지 않은 것으로 간주 )

정밀도 - 재현율 곡선

  • 신뢰도 임계값마다 모델의 정밀도와 재현율을 시각화
  • 모든 bounding box와 함께 모델이 예측의 정확성을 얼마나 확실하는지 0 ~ 1사이의 숫자로 나타내는 신뢰도를 출력
  • 임계값 T에 따라 정밀도와 재현율이 달라짐
    • 임계값 T 이하의 예측은 제거함
    • T가 1에 가까우면 정밀도는 높지만 재현율은 낮음
    • 놓치는 객체가 많아져서 재현율이 낮아짐. 즉, 신뢰도가 높은 예측만 유지하기때문에 정밀도는 높아짐
    • T가 0에 가까우면 정밀도는 낮지만 재현율은 높음
    • 대부분의 예측을 유지하기때문에 재현율은 높아지고, 거짓긍정(FP)이 많아져서 정밀도가 낮아짐
  • 예를 들어, 모델이 보행자를 탐지하고 있으면 특별한 이유없이 차를 세우더라도 어떤 보행자도 놓치지 않도록 재현율을 높여야 함 (보행자로 인식되는 확률이 낮더라도 구현을 해야 혹시 몰라 발생하는 보행자를 관측가능)
  • 모델이 투자 기회를 탐지하고 있다면 일부 기회를 놓치게 되더라도 잘못된 기회에 돈을 거는 일을 피하기 위해 정밀도를 높여야 함

AP(Average Precision) & mAP(Mean Average Precision)

  • 곡선의 아래 영역에 해당

  • 항상 1x1 정사각형으로 구성되어 있음
    즉, 항상 0 ~ 1 사이의 값을 가짐 (threshold * precision or recall)

  • AP : 단일 클래스에 대한 모델 성능 정보를 제공

  • 전역 점수를 얻기위해서 mAP를 사용

  • 예를 들어, 데이터셋이 10개의 클래스로 구성된다면 각 클래스에 대한 AP를 계산하고, 그 숫자들의 평균을 다시 구함

  • mAP 사용

    • 최소 2개 이상의 객체를 탐지하는 대회인 PASCAL Visual Object Classes와 Common Objects in Context(COCO)에서 mAP가 사용됨
    • COCO 데이터셋이 더 많은 클래스를 포함하고 있기 때문에 보통 Pascal VOC보다 점수가 더 낮게 나옴 (클래스 많아지면 분모가 늘어나서 )

참고 및 출처

profile
기록을 통해 한 걸음씩 성장ing!

0개의 댓글