-
[OCR] 성능 평가 방식CS 공부/AI 2023. 5. 25. 14:21
- 교차 검증을 통해 신중하게 모델 선택: 5-fold Cross Validation
- Confusion Matrix
- Recall, Precision
- Recall: 실제 True인 경우에 예측도 True인 경우
- Precision: 예측이 True인 경우에 실제도 True인 경우
정량평가 & 정성평가
- 정량평가: 정량평가의 기준마다 점수가 달라짐
- 정성평가: 많은 사람들의 정량평가의 점수를 평균냄 (해당 모델이 서비스로 출시 되었을 때 사람들이 체감하는 품질 정도)
글자 검출 모델 평가 방법
- 테스트 이미지에 대해 결과값을 뽑는다
- 예측 결과와 정답 간 매칭/스코어링 과정을 거쳐 평가
- 용어
- IoU = GT와 예측 bbbox의 교집합/합집합 (두 영역간의 유사도)
- Area Recall, Area Precision
- One-to-One, One-to-Many, Many-to-One-Match
DetEval (현재 가장 많이 사용되는 평가 방식)
- 모든 정답 영역, 예측 영역 간의 매칭 정도를 area recall / area precision 둘다 계산. 즉 관계 하나마다 두 개의 수치 확보
- 셀 중 area recall >= 0.8 and area precision>=0.4 조건을 충족시키면 관계 행렬 값을 1로 바꾸고 충족 못시키면 0으로 바꿈
왼쪽 score을 토대로 matching matrix 만들고 평균값 내서 precision, recall 계산 IoU (Intersection over Union)
- one-to-on e matching만 허용
- one-to-one matching & IoU > 0.5인 경우 correct, 그렇지 않은 경우 incorrect
DetEval과 IoU 차이 TIoU (Tightness-aware IoU)
- 부족하거나 초과된 영역 크기에 비례하여 IoU 점수에 대해 penalty 부여
- GT의 completeness, 예측 박스의 타이트함을 점수에 반영
- GT가 golden answer이라는 가정이 존재
- TIoU = IoU * (1-penalty) (0<penalty<1)
- 부족한 영역의 경우, penalty=부족한 영역 크기 / 정답 영역 크기 (TIoU Recall)
- 초과한 영역의 경우, penalty=초과된 영역 크기 / 예측 영역 크기 (TIoU Precision)
CLEval (Character-level Evaluation)
- 얼마나 많은 글자를 맞추고 틀렸느냐를 가지고 평가
- Detection 뿐만 아니라 end-to-end, recognition에 대해서도 평가 가능
- 사용자의 느낌과 유사
- PCC (Pseudo Character Centers)
- 글자 영역 위치 정보와 글자 시퀀스를 바탕으로 글자 별 위치 정보를 추정(각 글자의 중심위치)
- Recall = (CorrectNum - GranualPentalty) / TotalNum
- CorrectNum: 정답 영역 내 PCC 중 어느 예측 영역이라도 속하게 된 PCC 개수
- GranualPenalty: 정답 영역 내 PCC를 포함하는 예측 영역의 개수 - 1
- TotalNum: 정답 영역 내 PCC 개수
- Precision = (CorrectNum - GranualPentalty) / TotalNum
- CorrectNum: 예측 영역이 포함하고 있는 PCC 별로, 해당 PCC를 포함하는 예측 영역의 개수로 나누어 합함
- GranualPenalty: 예측 영역과 연관된 정답 영역의 개수 - 1
- TotalNum: 예측 영역이 포함하고 있는 PCC 개수
예측 예시 'CS 공부 > AI' 카테고리의 다른 글
[Segmentation] Baseline Code (0) 2023.06.05 Annotation 도구 소개 (0) 2023.05.25 [OCR] Annotation 가이드 (0) 2023.05.24 [OCR] Data Collection (0) 2023.05.24 [OCR] Text Detection (0) 2023.05.24