Skip to content
Guides4 min read

원시 IoU는 일치도가 아니다

주석자 간 평균 IoU는 전형적인 검출 코퍼스에서 0.95 안팎으로 나옵니다. 이미지를 한 번도 보지 않은 주석자에게도 그렇습니다. 우연 일치를 보정한 대안이 어떤 모습인지, 그리고 IoU 거리 위의 Krippendorff's 알파가 왜 작동하지 않는지 설명합니다.

Potato Team

주석자 간 일치도를 보고하는 컴퓨터 비전 주석 플랫폼은 하나같이 그것을 클래스별 임계값 대비 원시 IoU로 보고합니다. CVAT의 합의 엔진이 그렇습니다. V7의 합의 단계가 그렇습니다. Label Studio Enterprise의 지표 목록은 완전 일치, 수치 차이, IoU, 스팬 겹침입니다.

어느 것도 우연 일치 보정을 적용하지 않으며, 그것이 없으면 그 수치는 겉보기의 뜻을 갖지 못합니다.

문제를 구체적으로

각 이미지에 크고 대체로 가운데에 놓인 대상이 하나씩 있는 검출 코퍼스를 생각해 봅시다. 두 주석자가 모두 그 둘레에 박스를 그립니다. 박스는 크게 겹치고 평균 IoU는 0.95 안팎으로 나오며, 대시보드는 일치도가 훌륭하다고 말합니다.

이제 한쪽 주석자를 이미지를 보지 않고 모든 이미지 한가운데에 박스를 그리는 절차로 바꿔 보십시오. 평균 IoU는 여전히 0.9 안팎입니다.

이 측도가 보고하는 것은 주석자의 성질이 아니라 코퍼스의 성질, 즉 그 과제가 얼마나 제약되어 있는가입니다. 이는 한 클래스가 지배적일 때 범주형 라벨에서 일치율이 겪는 것과 똑같은 실패이며, 그쪽에서는 Cohen이 1960년에 κ를 도입한 이래로 이해되어 왔습니다.

공간 주석에는 그에 상응하는 수정이 오지 않았습니다.

손쉬운 수리는 통하지 않는다

Krippendorff's α는 어떤 거리 함수든 받아들입니다. 그래서 손쉬운 수는 1 − IoU 위의 α이고, 그것이 우리의 원래 계획이었습니다.

이는 구조적인 이유로 실패합니다. α는 1 − D_o/D_e를 계산하는데, 여기서 D_e는 무작위 짝짓기에서 기대되는 불일치입니다. IoU 거리는 [0, 1]로 제한되고, 무작위로 짝지은 두 박스는 거의 언제나 IoU가 0입니다. 그래서 D_e는 대략 1로 무너지고, 계수 전체가 우연 일치 보정을 안에 갖지 않는 1 − 관측 거리 평균으로 퇴화합니다.

문제가 하나 더 있습니다. IoU는 주석자들이 실제로 갈리는 바로 그 지점에서 평평합니다. 겹치지 않는 두 박스는 맞닿아 있든 이미지의 반대쪽 모서리에 있든 0점입니다. 이 측도는 정작 관심 있는 영역에서 기울기를 갖지 않습니다.

이는 이론적 반론에 그치지 않습니다. Braylan, Alonso, Lease(WWW 2022)는 결과로 나온 일치도 점수가 주석자 품질을 올바르게 순위 매기는가 — 아마도 유일하게 중요한 성질일 것입니다 — 를 기준으로 후보 거리 함수를 평가했고, 바운딩 박스에서는 α가 단순 L2(0.687)를 IoU(0.505)와 GIoU(0.507)보다 위에 놓는다는 것을 발견했습니다. 이는 저자들 자신의 분포 기반 측도가 주는 순서를, 그리고 실무자들이 주는 순서를 뒤집습니다.

대신 무엇을 보고하는가

σ입니다. α의 형태는 유지하면서 우연 기준선을 경험적으로 추정합니다.

text
σ = 1 − mean(within-item distance) / mean(between-item distance)

핵심 변경은 분모입니다. 무작위 짝짓기의 분포를 가정하는 대신 서로 다른 항목의 주석을 비교합니다. 이는 "같은 것을 보고 있지 않았다면 이 주석자들은 얼마나 떨어져 있었을까"에 대한 경험적 답을 줍니다. 우연 기준선이란 본래 그런 것이어야 합니다.

σ읽는 법
1.0완전 일치
0.0무관한 이미지에 주석을 다는 것과 다를 바 없음
0 미만서로 다른 이미지에서보다 같은 이미지에서 체계적으로 더 멀다

음수 값을 잘라 올리지 않습니다. "서로 다른 이미지에서보다 같은 이미지에서 더 멀다"는 것은 실재하고 진단 가능한 상태이며, 거의 언제나 주석자가 부주의한 것이 아니라 지침이 모호하다는 뜻입니다. 감추어서 득 볼 사람은 없습니다.

σ와 나란히 항목 내 거리와 항목 간 거리의 분포 사이의 두 표본 콜모고로프–스미르노프 통계량도 보고합니다. σ는 두 평균을 비교하므로 이상치에 끌려갈 수 있지만 KS는 분포 전체를 비교합니다. 둘이 어긋날 때는 소수의 항목이 불일치의 대부분을 지고 있다는 뜻이고, 어떤 항목을 열어 봐야 하는지 알려 줍니다.

애초에 수치 하나로는 부족했다

제대로 우연 일치를 보정하더라도, 공간 일치도 수치 하나로는 다음 셋 중 무엇이 잘못되었는지 말할 수 없습니다.

  • 검출. 애초에 같은 대상을 찾았는가?
  • 분류. 대응된 대상에 같은 라벨을 주었는가?
  • 위치 지정. 대응된 대상이 같은 위치에 있는가?

모든 대상을 찾아내고도 라벨을 전부 틀리는 주석자는, 라벨은 맞지만 박스를 헐겁게 그리는 주석자와 전혀 다른 문제입니다. 해법도 다릅니다. 그래서 셋을 따로 보고합니다.

마스크와 3D에는 각자의 도구가 필요하다

픽셀 마스크에서는 "그들이 일치하는가"와 "데이터셋이 누구의 경계를 기록해야 하는가"가 서로 다른 질문입니다. 뒤의 것에 답하는 것이 STAPLE로, 잠재적인 합의 경계를 주석자별 민감도와 특이도와 함께 추정합니다. 이 둘을 따로 보고하는 이유는 과소 분할과 과대 분할의 수정 방향이 정반대이기 때문입니다.

STAPLE은 또한 표를 세는 대신 입증된 신뢰도로 가중치를 줍니다. 이는 꼼꼼한 주석자가 수에서 밀릴 때 중요합니다. 꼼꼼한 두 사람이 엉성한 세 사람과 맞섰을 때 다수결은 정답 대비 Dice 0.846, STAPLE은 1.000을 냈습니다.

3D 직육면체에는 정확한 회전 3D IoU를 쓰십시오. 축 정렬 근사는 평탄한 차량 데이터에는 충분해도 드론, 손에 든 기기, 실내 스캔에서는 틀리며, 측도 자체에서 비롯한 불일치를 만들어냅니다.

왜 이제야인가

정직한 답은 버그가 먼저였다는 것입니다. Potato의 조정은 주석의 를 비교했고, 이미지 스키마는 모든 것을 _data라는 키 하나 아래에 저장합니다. 모든 이미지 쌍이 일치도 1.0을 받았습니다. 아무것도 일치하지 않은 두 주석자가 만장일치로 보였고, 검토로 넘어간 이미지는 한 장도 없었습니다.

그것을 고치려면 원래 어떤 수치여야 했는지를 물어야 했는데, 기하 구조에 대해서는 문헌에 정해진 답이 없습니다. 이것이 우리의 답이며, 한계도 밝혀 둡니다. 시간 구간은 현재 보정하지 않은 측도만 나옵니다. 클립 길이가 다를 때 "다른 클립의 구간"은 의미 있는 우연 비교가 되지 않기 때문입니다.

더 읽을거리