-
Notifications
You must be signed in to change notification settings - Fork 1
Evaluation Metric
JihunJung edited this page Nov 14, 2019
·
2 revisions
- 일반적인 Classification관점에서는 사물 객체 예측의 정확도(정확히 예측되었는지 유무)만 평가하면 되지만, Object Detection의 경우 사물 객체의 클래스(Class) 및 위치(Localization)에 대한 예측을 동시에 평가해야 됨
- 정확도 게산은 주로 Ground Truth와 학습모델이 예측한 결과(Prediction)의 비교를 통해서 이루어 지는데, 방법으로 IOU(Intersection Over Union)이라는 지표를 통해 측정 함.
- 2개의 경계박스(Bounding Box)의 중첩정도를 평가하는 Jaccard Index를 기반으로하는 측정 방법
- 측정을 위해서는 검출하고자하는 객체 클래스와 위치를 가지는 GT(Ground Truth) bounding box와 학습된 Detector로 부터 검출된 bounding box 정보가 필요 함.
- GT와 정확하게 일치할 경우 1의 값을 가짐
- 일반적으로 IOU가 0.5를 넘을 경우 예측했다고 판단 함
- TP(True Positive) : 검출할 객체를 객체라고 인식
- TN(True Negative) : 검출할 객체도 없고, 인식도 안함
- FP(False Positive) : 검출할 객체가 없는데 객체라고 인식
- FN(False Negative) : 검출할 객체가 있는데, 인식을 못한경우
- 검출된 객체 중 실제로 GT의 객체와 일치하는 경우(얼마나 정확한지)
- 모든 객체 중 실제로 검출된 객체의 비율(얼마나 잘 찾는지)
- AP는 객체 검출 결과를 평가하는 지표로 사용
- [0:1]의 값을 가지는 recall값에 대응하는 precision값으로 그래프(precision-recall)를 그리고 면적을 계산
- precision-recall 그래프는 어떤 알고리즘의 성능을 전반적으로 파악하기에는 좋으나 서로다른 두 알고리즘의 성능을 정량적으로 비교하기에는 불편 함
- 11-point Interpolation
- [0:1.0] 사이로 11개의 recall point를 생성
- 대응 하는 precision값은 기존 graph를 기준으로 각 recall보다 큰 recall값 들이 가지는 최대 값으로 대체 함
- 근사 값을 계산하므로 정확하지 않음
- Every Point Interpolation(AUC, Area Under Curve)
- 최대 precision값이 변경될때 마다 해당 하는 recall값들에 대해서 샘플링 하는 방법
- 임의로 11개 point를 나누지 않고, 측정된 recall값들에서만 계산하므로 precision값이 없는 구간에 대해서 계산하지 않으므로 보다 정확 함
-
HOME
- Environment Setting
- Install CUDA
- Install cuDNN
- Python Setting
- Install Python
- virtualenv setting
- Jupter setting
- DeepLearning Basic
- To do
- Object Detection
- How to use TensorFlow Object Detection API
- Remote Tensorboard Connection
- How to use pycocotools for managing dataset(Using coco format)
- TensorFlow
- To do
- Ubuntu
- User management
- SSH connect(with login message)
- File Transfer between local and remote
- ETC
- To do
- Environment Setting