상자 몇 개를 맞췄다고 셀 것인가
검출 평가에서는 관심 물체마다 정답 상자가 있고 모형은 클래스·상자·score를 여러 개 낸다. score threshold는 어느 예측을 평가/운영에 남길지, IoU threshold는 정답과 공간적으로 충분히 겹쳤는지를 정한다. 둘은 모두 0~1 숫자를 쓸 수 있어도 다른 질문이다. score=0.9가 IoU=0.9를 뜻하지 않고 어느 값도 곧바로 실제 집기 성공 확률이 아니다.
이번 합성 평가는 같은 이미지의 cup 클래스만 다루며 ignore/crowd는 없다. score 내림차순으로 남긴 예측을 읽고, IoU가 기준 이상인 아직 매칭되지 않은 정답에 일대일로 연결한다고 정한다. 그런 정답이 여러 개면 가장 높은 IoU를 고르며 동률 처리도 기록한다. 한 정답을 여러 번 맞췄다고 TP를 늘리지 않는다. 실제 COCO 같은 평가에는 추가 조건이 있으므로 이 단순 규칙을 전체 구현의 재현이라고 하지 않는다.
두 정답은 G1=[0,0,10,10], G2=[20,0,30,10]이다. 상자는 xmin/ymin/xmax/ymax의 연속 픽셀 좌표이고 폭/높이에+1을 더하지 않는다. 예측 D1은score0.9/G1과 같은 상자, D2는 0.8/[1,0,11,10], D3는 0.6/[21,0,31,10], D4는 0.4/[40,0,50,10]이다. 모두cup으로 예측했다고 하자.
D1의 G1 IoU는 1이다. D2는 G1과 겹친 면적 9×10=90, 두 면적 100씩에서 합집합 110이므로 IoU=90/110=9/11≈0.818182다. D3도 G2에 대해 같은 값이다. D4는 두 정답과 겹치지 않는다. 두께/좌표 형식이나 원본/resize 좌표를 섞으면 이 계산부터 달라지므로 M12.03의 변환 기록을 먼저 맞춘다.
중복 검출은 정밀도를 낮춘다
score≥0.5/IoU≥0.5로 정하면 D1/D2/D3가 남는다. D1이 G1에 연결된 뒤 D2는 같은 물체의 중복이라 FP, D3는 G2에 연결돼 TP다. 따라서 TP=2/FP=1/FN=0이다. FN은 남은 정답 수, FP는 연결되지 않은 예측 수다. 정밀도 P=TP/(TP+FP)=2/3, 재현율 R=TP/(TP+FN)=1이다. 상자 세 개 모두 정답 근처라는 이유로 TP3이라고 세면 중복을 성공으로 보상한 것이다.
검출의 배경에는 상자를 놓을 수 있는 위치가 연속적으로 많아서 일반 이진 분류처럼 TN을 단순히 ‘아무 상자도 없는 모든 위치 수’로 세지 않는다. TN/정확도를 쓰려면 표본 단위를 별도로 정의해야 한다. 정밀도 분모가 0인 예측 없음과 재현율 분모가 0인 정답 없음도 미정의/표시 정책을 구분한다. M11.05의 지표는 count와 분모의 기본을 보충한다.
score를 0.85로 높이면 D1만 남아 TP1/FP=0/FN=1, P=1/R=0.5다. 정밀도 1은 ‘모든 물체를 찾았다’는 뜻이 아니다. 반대로 score=0.5를 유지하고 IoU 기준을 0.9로 높이면 D1만 공간 기준을 만족한다. D2/D3는 FP이고 G2는 FN이어서 TP1/FP=2/FN=1, P=1/3/R=0.5다. 위치 정밀도를 더 엄격히 보았기 때문에 결과가 달라진 것이다.
그림 M12.06-1. 보라색은 두 상자의 교집합이고 합집합은 두 영역을 중복 없이 합친 전체다. 별도 개념 상자이며 본문의 TP/FP 매칭 입력값을 대체하지 않는다. IoU 하나와 전체 검출 지표도 구별한다. 직접 제작.
한 threshold 지표와 AP는 다르다
AP는 여러 score 운영점에 따른 precision/recall 관계를 정한 방식으로 집계한 값이다. 클래스 평균인지, IoU=0.5 한 조건인지, 여러 IoU 기준/크기·최대 검출 수를 포함하는지에 따라 보고 값이 다르다. COCO evaluator는 IoU=0.50~0.95의 여러 기준과 recall 표본·크기/검출 수 조건을 다룬다. 공식 구현의 버전/옵션을 기록하지 않고 서로 다른 ‘mAP’를 같은 성능으로 비교하지 않는다. 이 단위는 AP를 실제 계산/측정하지 않는다.
중복 억제 같은 후처리는 평가 입력 자체를 바꾼다. 중복을 없애려다 가까운 다른 물체까지 버릴 수 있으므로 모델/전처리·후처리/threshold와 원본 후보를 함께 남긴다. 학습/검증/시험 분리도 유지한다. 시험 결과를 보고 score/IoU 기준이나 후처리를 바꾸었다면 그 시험 자료가 선택에 관여했다는 사실을 보고한다. 지표를 높이려고 평가 조건만 나중에 완화하면 같은 질문의 개선이라고 할 수 없다.
배포 threshold 선택에는 오류 비용이 필요하다. 잘못된 컵 후보를 선택하는 FP와 진짜 컵을 놓쳐 재관측하는 FN의 비용은 과제마다 다르다. threshold를 높이면 무조건 더 안전하다고 보장하지 않으며 관측 누락·지연·다른 실패와 함께 판단한다. scikit-learn 지표 자료의 예측과 의사결정 구분을 실제 비용에 연결한다.
검출 지표에서 작업 판정으로 넘어간다
로봇 작업 성공은 별도 관측/조건의 묶음으로 정한다. 교육용 가상 판정 규칙을 ‘대상 선택이 맞고, 필요한 깊이/프레임·시각이 유효하고, 원래 정한 bin 영역 안에 대상 중심이 들어와 1 s 유지하고, 관측 취득부터 2 s 기한을 지키며, 기록된 충돌 조건을 위반하지 않음’이라고 정하자. 어떤 조건을 누가 어떤 로그로 확인하는지 미리 쓴다. 상자 중심/클래스가 맞아도 깊이가 없거나 행동 적용 시 오래됐으면 이 규칙을 통과하지 못할 수 있다.
별도 합성 10회 판정표에서 모든 회의 검출 매칭은 맞았다고 하자. 그중 6회는 모든 조건을 만족하고,2회는 깊이 무효,1회는 기한 초과,1회는 충돌 조건 위반으로 판정됐다. 작업 성공률은 6/10=0.6이다. 검출 10/10이라는 사실과 모순이 아니다. 실패 원인과 단계별 지표를 나누어야 탐지 모델만 더 학습할지, 보정/시간/행동 계약을 고칠지 판단할 수 있다.
이 판정표는 실제 로봇 실행이 아니다. 실제 성공률을 보고하려면 독립 trial/조건·초기화/실패 포함 규칙과 원본 로그, 영상/센서 시각·개입 기록이 필요하다. 적은 trial의 백분율 차이를 과장하지 않고 조건별 개수와 실패 사례를 보존한다. 기존 5.10 평가 설계의 offline 지표/closed-loop 성공 구분을 이 기준에 연결한다.
선택 비교: 얼굴 검출과 인식 평가
얼굴 상자를 찾는 검출과 두 이미지가 같은 사람인지 비교하는 1:1 검증, 여러 후보에서 찾는 1:N 식별은 다른 과제다. 검출의 IoU/precision만으로 정체성 오류를 평가할 수 없다. NIST FRTE 1:1 공식 자료는 다른 사람의 비교를 잘못 맞춘 FMR과 같은 사람을 놓친 FNMR을 정한 threshold/조건에서 구분한다. 분모는 검출 상자가 아니라 해당 비교 쌍이다.
이 선택 비교는 평가 질문/분모의 전이를 생각하기 위한 것이며 얼굴 수집/인식 구현이나 실제 사람 식별을 요구하지 않는다. 높은 검출 score를 identity의 확실성으로 바꾸지 않는다는 원리만 확인하면 된다. 기본 활동과 세 목표는 아래 합성 컵 사례만으로 완료할 수 있다.