같은 영상에서도 묻는 질문이 다르다
분류는 영상 전체나 주어진 표본이 어느 종류인지 예측한다. 검출 detection은 여러 물체의 클래스·상자·점수를 출력할 수 있다. 상자의 숫자는 xmin/ymin/xmax/ymax인지 중심/너비/높이인지, 픽셀인지 정규화 비율인지 정한다. 분할 segmentation은 픽셀 수준의 영역을 다룬다. semantic 분할은 픽셀의 클래스를, instance 분할은 같은 클래스라도 개별 물체를 나눈 결과를 표현한다. 회귀 regression는 거리/각도/행동 같은 연속값을 예측하며 단위와 출력 표현이 중요하다.
그림 M11.05-1. 각 칸은 서로 다른 역할/근거다. 나란히 비교할 항목이며 위아래가 시간 순서를 뜻하지 않는다. 직접 제작한 개념도이며 본문의 조건과 함께 읽는다.
‘컵 있음’ 분류만으로 컵의 위치가 생기지는 않는다. 상자 중심은 영상의 2차원 점이며 깊이·형상·가림·접근/충돌 조건이 없는 3차원 파지점의 다른 이름이 아니다. 도로 픽셀을 맞췄다고 차선별 연결/진행 방향을 모두 이해했다는 뜻도 아니다. 같은 특징 backbone을 써도 head/라벨/손실과 성공 기준은 달라진다. 공식 task 정의는 분류/검출/semantic/instance 출력을 구분하는 참고다. 특정 제품의 성능 수치를 이 단위의 결과로 쓰지 않는다.
점수 score 역시 의미를 정한다. raw logit, sigmoid/softmax 뒤의 값, 여러 점수를 결합한 값은 다를 수 있다. 0.9라는 숫자를 관측했다고 언제나 실제 성공 확률 90%라고 부르지 않는다. threshold는 점수가 그 이상일 때 양성이라고 판정하는 경계이며, 공간 겹침의 IoU threshold와도 다른 값이다.
혼동행렬에서 무엇을 세었는가
이진 분류의 양성은 관심 사건이라고 정한다. TP는 실제/예측 모두 양성, FP는 실제 음성을 양성으로 예측, FN은 실제 양성을 놓침, TN은 둘 다 음성인 표본 수다. 정밀도 P는 예측 양성 중 실제 양성, 재현율 R은 실제 양성 중 찾은 비율이다. F1은 둘의 균형을 요약하는 지표이며 다음처럼 count로 계산할 수 있다.
분모가 0이면 해당 비율은 수학적으로 정의되지 않는다. 표시 정책을 ‘미정의’로 두거나 라이브러리의 대체 정책을 명시한다. 아무 설명 없이 0이나 1을 채워 좋거나 나쁜 성능으로 확정하지 않는다. 정확도 accuracy는 (TP+TN)/전체다. 음성 99개/양성 1개에서 모두 음성으로 예측하면 정확도 99%지만 양성 재현율은 0이다. 어떤 사건을 놓치는지와 클래스별 표본 수를 함께 본다.
합성 네 표본의 실제 라벨은 [1,0,1,0], 점수는 [0.9,0.6,0.4,0.1]이라 하자. score≥t를 양성으로 정한다. t=0.5면 예측 [1,1,0,0], TP/FP/FN/TN은 1/1/1/1이다. 따라서 P=R=F1=0.5, 정확도 0.5다. t=0.3이면 [1,1,1,0]으로 TP=2/FP=1/FN=0/TN=1, P=2/3/R=1/F1=4/5다. 같은 모형 점수라도 의사결정 경계에 따라 지표가 바뀐다. scikit-learn 공식 지표 설명을 count/분모와 함께 읽는다.
영역의 겹침과 수치의 오차
IoU는 Intersection over Union, 두 영역의 교집합 면적을 합집합 면적으로 나눈 값이다. 면적 단위가 같으면 비율은 무차원이다. 여기서 상자는 연속 평면의 반열린 범위처럼 폭=xmax−xmin으로 계산하며 정수 픽셀의+1 관례는 쓰지 않는다. 두 상자 A=[0,0,4,4], B=[2,0,6,4]면 면적은 각각 16, 교집합은 2×4=8, 합집합은 16+16−8=24라 IoU=1/3이다. 클래스가 맞아도 위치가 잘 겹치지 않을 수 있다.
분할 마스크에도 같은 원리를 쓸 수 있다. 네 픽셀에서 정답 [1,1,0,0], 예측 [1,0,1,0]이면 교집합 1/합집합 3으로 IoU=1/3이다. 둘 다 0인 배경을 합집합에 더하지 않는다. 배경이 많으면 pixel accuracy가 높아도 작은 관심 물체를 놓칠 수 있다. 같은 클래스의 두 물체를 한 덩어리로 합친 경우 semantic 클래스 지도와 instance 구분의 평가는 다르다. 빈 영역 처리/무시 라벨과 클래스별 집계도 명시한다.
검출에서는 상자 하나의 IoU만으로 전체 점수를 정하지 않는다. 같은 이미지/클래스의 예측과 정답을 어떤 점수 순서/일대일 규칙/IoU 기준으로 매칭했는지, 중복 예측을 어떻게 세는지가 필요하다. AP는 score를 따라 precision/recall 관계를 집계하는 계열의 지표로 한 threshold의 F1이나 한 상자 IoU와 같지 않다. COCO식 AP처럼 여러 IoU 기준과 크기/최대 검출 수 조건을 갖는 평가도 있다. COCO 공식 evaluator의 설정을 실제로 사용했다면 그 조건을 기록한다. 이 단위에서 AP를 실행/측정한 것은 아니다.
회귀에서는 오차 e_i=예측−목표, 표본 수 n으로 정의하자. MAE는 절댓값의 평균, RMSE는 제곱 평균의 제곱근이다. 오차가 [0,0.2,−0.2] m라면 MAE=0.4/3≈0.133333 m, RMSE=√(0.08/3)≈0.163299 m다. MSE는 약 0.026667 m²로 단위도 다르다. 평균 오차 0은 양/음 오차가 상쇄된 결과일 수 있다. 서로 다른 관절의 rad/m나 정규화 오차를 무가중으로 섞었다면 그 평균의 물리 의미를 다시 정해야 한다.
지표 선택을 작업 비용과 연결한다
위 점수 예에서 FP 비용을 1, FN 비용을 4의 가상 단위로 정하자. 비용은 C=FP+4FN이다. t=0.5의 비용은 5, t=0.3은 1이다. t=0.8이면 TP=1/FP=0/FN=1/TN=2로 P=1/R=0.5/F1=2/3이지만 비용은 4다. 이 가상 검증표에서는 t=0.3이 가장 낮은 비용이다. 비용은 과제의 판단 기준이며 어떤 실제 로봇의 위험 정격이나 손실 금액이라고 주장하지 않는다.
선택은 M11.03의 validation에서 하고 test는 최종 보고에 남긴다. 비용/threshold를 바꾸면 운영 점도 바뀌므로 지표와 조건을 함께 기록한다. 정확도 하나나 높은 score만으로 움직임을 허용하지 않고 지연·보정·가림·접근/충돌·행동 제한 같은 작업 기준을 따로 확인한다. 기존 5.8 평가 항목의 offline loss와 closed-loop success도 이런 서로 다른 증거다.
선택 보충으로 이진 threshold 개념 모형을 사용할 수 있다. 이 모형은 별도의 합성 8행 자료와 비용/분모 0 표시를 조작하는 활동이며 실제 모델 학습이나 검출 AP가 아니다. 본문의 네 표본 계산과 결과가 같아야 하는 자료도 아니고 기본 실습의 필수 환경도 아니다.