Lasiyan
Tech

딥러닝 용어정리 3 : 모델의 성능 평가 방식

#DeepLearning#YOLO#Tensor

딥러닝 용어정리 1탄에서는 텐서, 모델, 학습, 추론, TensorFlow, YOLO 같은 기본 개념을, 2탄에서는 Epoch, Batch, Learning Rate, Optimizer처럼 모델이 학습되는 과정을 살펴봤습니다.

이번 3탄에서는 학습한 모델의 성능을 어떻게 평가하는지 정리합니다. 차량 탐지 모델을 만들었다고 끝이 아니라, 이 모델이 실제로 차량을 잘 찾는지 확인해야 하기 때문입니다.

이때 단순히 “맞았다 / 틀렸다”만으로는 부족합니다. 실제 차량을 잘 찾았는지, 차량이 아닌 것을 차량이라 착각하지 않았는지, 위치 박스가 정확한지까지 함께 봐야 합니다.

다루는 개념은 다음과 같습니다.

  • Accuracy / Precision / Recall / F1-score
  • TP / FP / FN / TN / Confusion Matrix
  • Confidence Score / Threshold
  • IoU / mAP

성능 평가는 왜 필요할까?

학습한 차량 탐지 모델은 카메라 이미지를 입력받아 다음과 같은 결과를 출력합니다.

차량 92%
위치: x=120, y=80, w=200, h=100

겉보기에는 그럴듯하지만, 실제로 좋은 모델인지 판단하려면 다음과 같은 경우들을 구분해서 봐야 합니다.

실제 차량을 잘 찾음
차량을 놓침
차량이 아닌 것을 차량이라고 판단함
차량 위치 박스가 엉뚱함

모델의 성능을 평가한다는 것은 이런 경우들을 숫자로 정리하는 것입니다.


Accuracy: 전체 중 얼마나 맞췄는가

Accuracy(정확도)는 전체 예측 중에서 맞춘 비율입니다.

Accuracy = 맞춘 개수 / 전체 개수

예를 들어 “이미지에 차량이 있는지 없는지” 판단하는 문제에서 100장 중 90장을 맞췄다면 Accuracy는 90%입니다. 이런 분류 문제에서는 Accuracy를 이해하기 쉽습니다.

하지만 객체 탐지에서는 Accuracy만으로 성능을 판단하기 어렵습니다. 차량이 있는지뿐 아니라 어디에 있는지까지 맞춰야 하기 때문입니다. 그래서 객체 탐지에서는 Precision, Recall, IoU, mAP 같은 지표를 함께 봅니다.


TP, FP, FN, TN: 예측 결과를 나누는 기준

성능 지표를 이해하려면 먼저 네 가지 개념을 알아야 합니다.

개념의미차량 예시한마디로
TPTrue Positive차량을 차량이라고 맞게 탐지잘 찾음
FPFalse Positive차량이 아닌데 차량이라고 잘못 탐지헛것을 찾음
FNFalse Negative차량이 있는데 놓침놓침
TNTrue Negative차량이 없고, 차량이라고도 하지 않음조용히 지나감

객체 탐지에서는 특히 TP, FP, FN이 중요합니다. 차량을 잘 찾는 것도 중요하지만, 차량이 아닌 것을 차량이라 잘못 판단하거나 실제 차량을 놓치는 것도 큰 문제이기 때문입니다.

다만 객체 탐지에서는 배경 영역이 매우 많기 때문에 TN은 분류 문제처럼 핵심 지표로 자주 다루지는 않습니다. 그래서 실제 객체 탐지 평가에서는 보통 TP, FP, FN을 중심으로 Precision, Recall, mAP를 계산합니다.


Precision: 차량이라고 한 것 중 진짜 차량은 얼마인가

Precision(정밀도)은 모델이 “차량이다”라고 판단한 것 중 실제 차량의 비율입니다.

Precision = TP / (TP + FP)

예를 들어 모델이 100개 객체를 차량이라고 탐지했는데, 그중 실제 차량은 80개이고 나머지 20개는 차량이 아니었다고 하겠습니다.

TP = 80, FP = 20
Precision = 80 / (80 + 20) = 0.8  → 80%

Precision이 높다는 것은 모델이 차량이라고 말할 때 비교적 믿을 만하다는 뜻입니다. 반대로 Precision이 낮으면 차량이 아닌 것도 차량이라고 많이 착각하는 모델입니다.


Recall: 실제 차량 중 얼마나 찾아냈는가

Recall(재현율)은 실제 차량 중에서 모델이 찾아낸 비율입니다.

Recall = TP / (TP + FN)

예를 들어 실제 이미지 안에 차량이 100대 있었는데 모델이 70대를 찾고 30대를 놓쳤다고 하겠습니다.

TP = 70, FN = 30
Recall = 70 / (70 + 30) = 0.7  → 70%

Recall이 높다는 것은 모델이 차량을 잘 놓치지 않는다는 뜻입니다. 반대로 Recall이 낮으면 실제 차량을 많이 놓치는 모델입니다.


Precision과 Recall은 서로 균형이 필요합니다

Precision과 Recall은 둘 다 중요하지만, 한쪽을 높이면 다른 쪽이 낮아지는 경향이 있습니다.

모델이 아주 확실한 경우에만 차량이라고 판단하게 하면, 잘못 탐지가 줄어 Precision은 올라가지만 애매한 차량을 놓쳐 Recall은 내려갑니다. 반대로 조금만 차량처럼 보여도 모두 차량이라고 판단하게 하면, 놓치는 차량이 줄어 Recall은 올라가지만 잘못 탐지가 늘어 Precision은 내려갑니다.

지표높으면 좋은 점낮으면 생기는 문제
Precision차량이라고 한 것이 믿을 만함차량이 아닌 것을 차량으로 착각
Recall실제 차량을 잘 놓치지 않음실제 차량을 많이 놓침

F1-score: Precision과 Recall의 균형

F1-score는 Precision과 Recall을 함께 고려한 지표입니다. 한쪽만 높은 모델보다 두 값이 균형 있게 높은 모델을 평가하기 위해 사용합니다.

차량 탐지에서 F1-score가 높다는 것은 “차량이라고 한 것도 꽤 믿을 만하고, 실제 차량도 꽤 잘 찾아낸다”는 의미입니다. 즉, Precision과 Recall 사이의 균형을 한눈에 볼 때 유용합니다.


Confusion Matrix: 예측 결과를 표로 정리하기

Confusion Matrix(혼동 행렬)는 모델의 예측 결과를 표로 정리한 것입니다. 차량이 있는지 없는지 판단하는 간단한 분류 문제라면 다음처럼 볼 수 있습니다.

실제 \ 예측차량이라고 예측차량 아님이라고 예측
실제 차량TPFN
실제 차량 아님FPTN

이 표를 보면 모델이 어떤 실수를 많이 하는지 알 수 있습니다. FP가 많다면 차량이 아닌 것을 차량이라고 자주 착각하는 것이고, FN이 많다면 실제 차량을 자주 놓치는 것입니다.

객체 탐지에서는 위치 박스까지 고려해야 해서 더 복잡하지만, “무엇을 맞추고 무엇을 헷갈렸는지 정리하는 표”라는 기본 개념은 같습니다.


Confidence Score: 모델이 얼마나 강하게 판단하는가

차량 탐지 모델은 보통 예측 결과와 함께 확률처럼 보이는 값을 출력합니다. 이 값은 모델이 “이 위치에 차량이 있다”고 얼마나 강하게 판단하는지를 나타내며, 보통 Confidence Score라고 부릅니다.

예를 들면 다음과 같습니다.

차량 0.95 → 이 위치에 차량이 있다고 강하게 판단
차량 0.42 → 차량일 수도 있지만 판단이 약함

초보 단계에서는 Confidence Score를 “모델의 확신 정도”로 이해하면 됩니다. 다만 실제 객체 탐지 모델에서는 단순히 차량일 확률 하나만 뜻한다기보다, 해당 위치에 객체가 있을 가능성과 그 객체가 차량일 가능성이 함께 반영된 값처럼 사용됩니다.

실제 서비스에서는 이 값을 기준으로 탐지 결과를 보여줄지 말지 결정합니다.


Threshold: 어느 기준 이상만 인정할 것인가

Threshold(임계값)는 예측을 인정할 기준값입니다. 예를 들어 Threshold를 0.5로 정하면, Confidence Score가 0.5 이상인 결과만 차량 탐지 결과로 사용합니다.

car 0.92 → 사용
car 0.73 → 사용
car 0.42 → 버림 (0.5 미만)

Threshold를 높이면 더 확실한 차량만 탐지하므로 잘못 탐지가 줄어 Precision은 올라갈 수 있습니다. 대신 애매한 차량을 놓칠 수 있어 Recall은 내려갈 수 있습니다.

반대로 Threshold를 낮추면 더 많은 차량 후보를 탐지하므로 Recall은 올라갈 수 있습니다. 대신 차량이 아닌 것까지 차량으로 판단할 가능성이 커져 Precision은 내려갈 수 있습니다.

즉, Threshold는 Precision과 Recall의 균형을 조절하는 중요한 값입니다.


IoU: 예측 박스가 정답 박스와 얼마나 겹치는가

객체 탐지에서는 차량을 찾았는지뿐 아니라, 위치를 얼마나 정확히 찾았는지도 봐야 합니다. 이때 사용하는 지표가 IoU(Intersection over Union)입니다.

IoU는 예측 박스와 정답 박스가 얼마나 겹치는지를 나타냅니다. 두 박스가 많이 겹치면 IoU가 높고, 거의 겹치지 않으면 IoU가 낮습니다.

IoU = 두 박스가 겹치는 영역 / 두 박스를 합친 영역

차량 탐지에서는 다음처럼 이해할 수 있습니다.

IoU 높음 = 차량 위치를 잘 맞춤
IoU 낮음 = 차량 위치가 부정확함

예를 들어 IoU 기준을 0.5로 정하면, 예측 박스와 정답 박스가 충분히 겹쳐야 맞춘 것으로 인정합니다.

IoU 0.7 → 맞춘 것으로 인정
IoU 0.3 → 위치가 부정확하므로 틀린 것으로 판단

mAP: 객체 탐지 성능을 종합적으로 보는 지표

객체 탐지에서 가장 많이 사용하는 대표 지표가 mAP(mean Average Precision)입니다.

여기까지 우리는 두 가지를 따로 봤습니다. 차량을 잘 찾는지(Precision, Recall)와 위치를 정확히 맞췄는지(IoU)입니다. mAP는 이 둘을 하나로 합친 종합 점수라고 보면 됩니다.

조금 더 풀어 보면 다음 순서로 만들어집니다.

1. IoU 기준(예: 0.5)을 정해, 위치까지 맞은 탐지만 "맞음"으로 인정합니다.
2. Threshold를 여러 값으로 바꿔가며 Precision과 Recall이 어떻게 변하는지 봅니다.
3. 이 변화를 종합해 한 클래스의 점수(AP)를 냅니다.
4. 모든 클래스의 AP를 평균낸 것이 mAP입니다.

즉, mAP는 한 번의 점수가 아니라 여러 상황을 두루 따져 매긴 종합 점수입니다. 입문 단계에서는 위 과정을 외울 필요 없이 다음처럼 이해하면 충분합니다.

mAP = 객체 탐지 모델의 종합 성능 점수

차량 탐지 모델에서 mAP가 높다는 것은 대체로 다음을 의미합니다.

차량을 잘 찾음
차량이 아닌 것을 덜 착각함
차량 위치 박스도 비교적 정확함

그래서 객체 탐지에서는 Accuracy보다 mAP가 더 중요한 경우가 많습니다.


평가 지표는 함께 봐야 합니다

차량 탐지 모델을 평가할 때는 한 가지 숫자만 보면 안 됩니다. 지표마다 보는 측면이 다르기 때문입니다.

Precision 높고 Recall 낮음 → 탐지한 차량은 정확하지만, 많은 차량을 놓침
Recall 높고 Precision 낮음 → 차량은 많이 찾지만, 잘못 탐지도 많음
Confidence 높지만 IoU 낮음 → 차량이라고 강하게 판단했지만 위치가 틀림

그래서 객체 탐지 모델은 Precision, Recall, IoU, mAP 등 여러 지표를 함께 봐야 합니다.


전체 평가 흐름 정리

차량 탐지 모델의 성능 평가 흐름은 다음과 같습니다.

1. 테스트 이미지를 준비합니다.
2. 학습된 모델에 이미지를 입력합니다.
3. 모델이 차량 위치와 Confidence Score를 출력합니다.
4. Threshold 기준 이하의 예측은 제거합니다.
5. 예측 박스와 정답 박스의 IoU를 계산합니다.
6. 맞춘 탐지와 틀린 탐지를 나누어 TP, FP, FN을 계산합니다.
7. Precision과 Recall을 계산합니다.
8. 여러 Confidence 기준과 IoU 기준을 바탕으로 mAP를 계산합니다.
9. 모델이 실제 사용 가능한 수준인지 판단합니다.

마무리

딥러닝 모델은 학습했다고 끝나는 것이 아니라, 실제로 잘 동작하는지 평가해야 합니다. 차량 탐지에서는 단순히 차량을 찾았는지만 보는 것이 아니라, 차량을 놓치지 않았는지, 잘못 탐지하지 않았는지, 위치 박스가 정확한지까지 함께 봐야 합니다.

핵심 개념을 정리하면 다음과 같습니다.

개념의미차량 예시
Accuracy전체 중 맞춘 비율차량 있음/없음 판단 정확도
TP맞게 탐지차량을 차량으로 탐지
FP잘못 탐지차량이 아닌 것을 차량으로 탐지
FN놓침실제 차량을 탐지하지 못함
TN맞게 무시차량이 없고 탐지도 안 함
Precision차량이라고 한 것 중 진짜 차량 비율잘못 탐지가 적은지
Recall실제 차량 중 찾아낸 비율차량을 놓치지 않는지
F1-scorePrecision과 Recall의 균형탐지 신뢰도와 탐지율의 균형
Confusion Matrix예측 결과를 정리한 표어떤 실수를 하는지 확인
Confidence Score모델이 특정 위치에 차량이 있다고 판단하는 강도차량 0.92
Threshold예측을 인정할 기준값0.5 이상만 차량으로 인정
IoU예측 박스와 정답 박스의 겹침 정도차량 위치 박스 정확도
mAP객체 탐지 종합 성능 지표차량 탐지 모델의 전체 성능

객체 탐지 모델의 성능은 차량을 맞췄는지만 보는 것이 아니라, 얼마나 놓치지 않았고, 얼마나 잘못 탐지하지 않았으며, 위치를 얼마나 정확히 찾았는지 함께 평가하는 것입니다.

댓글