Dice vs Jaccard IoU와 F1-score의 관계, 5분 만에 정리하는 핵심 차이

2026-06-25 · 테크 · 읽는데 5분

세그멘테이션 모델 성능을 평가할 때 Dice 점수 0.92와 Jaccard 점수 0.85 중 어떤 걸 믿어야 할까? 정답은 둘 다 봐야 한다는 것이다. Dice와 Jaccard(또는 IoU)는 같은 예측 결과를 다른 방식으로 수치화한다. Dice는 교집합을 두 배로 강조해 점수를 후하게 주고, Jaccard는 합집합 대비 교집합 비율을 계산해 더 엄격하다. 이 둘은 수학적으로 변환 가능한 관계에 있으며, 차이가 클 때는 모델에 편향이 있다는 신호로 읽을 수 있다.

Dice와 Jaccard, 수식 하나 차이로 평가 결과가 달라진다

두 지표는 모두 예측 영역과 실제 정답 영역이 얼마나 겹치는지를 측정한다. 하지만 계산 방식에서 결정적인 차이가 생긴다.

Jaccard Index(Intersection over Union) - 수식: |A ∩ B| / |A ∪ B| - 교집합을 합집합으로 나눈 값 - 1901년 식물학자 Paul Jaccard가 제안

Dice Coefficient(F1-score와 동일) - 수식: 2|A ∩ B| / (|A| + |B|) - 교집합에 2배 가중치를 부여 - 1945년 Lee R. Dice가 제안

이 차이가 실제로 얼마나 큰 영향을 미치는지 사례를 보자. 폐렴 병변 영역이 100픽셀인 의료 이미지에서 모델이 90픽셀을 맞추고 20픽셀을 과검출(False Positive)했다고 가정해보자.

항목 값
교집합 90
합집합 120
Jaccard 90/120 = 0.75
Dice 180/200 = 0.90

같은 예측 결과인데도 Dice가 Jaccard보다 15%포인트나 높게 나온다. Dice는 분모가 (|A|+|B|)로 합집합보다 작기 때문에 항상 Jaccard보다 같거나 큰 값을 가진다.

두 지표 사이를 자유롭게 오가는 변환 공식

Dice와 Jaccard는 서로 변환이 가능하다. 이 공식만 알면 논문에서 한쪽 지표만 제시해도 다른 쪽을 바로 계산할 수 있다.

  • Dice → Jaccard: Jaccard = Dice / (2 - Dice)
  • Jaccard → Dice: Dice = 2 × Jaccard / (1 + Jaccard)

앞선 예시에 적용하면, Jaccard 0.75는 Dice 0.86으로 변환된다. 하지만 실제 Dice 점수는 0.90이 나왔다. 이 차이는 모델이 False Positive에 취약하다는 신호로 해석할 수 있다.

실제 프로젝트에서 어떤 지표를 선택할까

지표 선택은 프로젝트의 목적과 데이터 특성에 따라 달라진다. 내가 여러 프로젝트에서 경험한 기준을 정리했다.

Dice를 선택해야 하는 경우

  • 객체 경계가 모호한 의료 영상: 병변의 정확한 경계선을 긋기 어려운 상황에서 Dice가 더 현실적인 점수를 준다.
  • 연구나 논문 발표: Dice 점수가 상대적으로 높게 나와 결과를 더 좋게 보여줄 수 있다.
  • 계산 속도가 중요한 경우: 분모가 단순해 연산이 약간 빠르다.

Jaccard를 선택해야 하는 경우

  • 작은 객체 검출이 중요한 태스크: 10픽셀 미만의 작은 병변에서 Dice는 점수를 과대평가하는 반면, Jaccard는 엄격하게 평가한다.
  • 클래스 불균형이 심각한 데이터: Dice가 다수 클래스에 유리하게 작용하는 것을 방지한다.
  • False Negative가 치명적인 의료 진단: 병변을 놓쳤을 때 점수가 더 크게 하락한다.

2020년 CVPR 논문 조사에 따르면 의료 영상 세그멘테이션 대회의 70% 이상이 Dice를 주 지표로 사용했지만, 대부분 Jaccard도 함께 보고하도록 요구했다. 하나만 보면 모델의 실제 한계를 놓칠 수 있기 때문이다.

두 지표의 차이가 크게 벌어질 때 확인할 것

Dice와 Jaccard의 차이가 변환 공식보다 0.05 이상 크게 나오면 데이터나 모델에 문제가 있을 가능성이 높다. 이럴 때는 다음을 점검해야 한다.

  • 데이터 분포 확인: 특정 클래스에 예측이 편향되어 있지 않은지 검토
  • 과적합 여부: 모델이 학습 데이터의 특정 패턴에만 최적화되어 있는지 확인
  • 작은 객체 검출 성능: Dice 점수만 높고 Jaccard가 낮다면 작은 객체를 놓치고 있을 수 있음

실제 피부 병변 분류 프로젝트에서 Dice 0.93, Jaccard 0.78이 나온 사례가 있었다. 변환 공식으로 계산한 정상 Jaccard는 약 0.87인데, 실제보다 0.09나 낮았다. 분석 결과 모델이 멜라노마는 잘 검출했지만 정상 피부를 병변으로 잘못 분류하는 False Positive가 많았다. Dice만 봤다면 이 문제를 발견하기 어려웠을 것이다.

FAQ

Q. F1-score와 Dice는 완전히 같은 지표인가요?

네, F1-score와 Dice coefficient는 수식이 동일합니다. F1-score는 Precision과 Recall의 조화평균이고, Dice는 두 집합 간 유사도를 측정하는 방식일 뿐, 계산 결과는 같습니다.

Q. Kaggle 대회에서 Jaccard를 평가 지표로 쓰는데, Dice로 모델을 튜닝해도 괜찮나요?

권장하지 않습니다. Dice로 최적화된 모델이 Jaccard에서도 같은 성능을 보인다는 보장이 없습니다. 대회의 공식 평가 지표에 맞춰 하이퍼파라미터를 조정해야 합니다.

Q. 두 지표 중 하나만 골라야 한다면 어떤 걸 선택해야 하나요?

프로젝트 초기에는 둘 다 모니터링하고, 일정 수준 이상의 성능이 확인되면 프로젝트 목적에 맞는 지표를 선택하는 것이 좋습니다.

Q. Dice와 Jaccard의 차이가 항상 일정한가요?

아닙니다. 예측 결과에 따라 차이가 달라집니다. 일반적으로 교집합이 작을수록 두 지표의 차이가 커집니다.