[keypoint detection] loss

FSA·2024년 10월 24일

keypoint_detection

목록 보기
19/19

1. box_loss

box_loss란 무엇인가?

  • 정의: box_loss모델이 예측한 경계 상자실제 경계 상자(ground truth) 사이의 위치와 크기 차이를 측정하는 손실 함수

예측된 경계 상자와 실제 경계 상자의 매칭 방법

  1. 이미지를 그리드 셀로 분할

    • 이미지를 가로와 세로로 작은 사각형들인 그리드 셀(grid cell)로 나눕니다.
    • 입력 이미지 크기: (가로) 640 x (세로) 640으로 정규화
    • 피처 맵 크기: 80x80, 40x40, 20x20 등
    • 따라서, 그리드 셀의 개수는 80x80, 40x40, 20x20 등으로 고정됩니다.
      • YOLO 모델은 여러 해상도의 피처 맵에서 예측을 수행합니다.
      • 작은 객체는 고해상도 피처 맵(예: 80x80)에서, 큰 객체는 저해상도 피처 맵(예: 20x20)에서 더 잘 검출됩니다.
  2. 각 그리드 셀에서 예측 수행

    • 모델은 모든 그리드 셀에서 다음 정보를 예측합니다:
      • 객체의 존재 여부 (오브젝트니스 스코어)
      • 경계 상자의 위치와 크기 (셀 기준 상대적인 오프셋 형태로)
      • 클래스 확률 (객체의 종류)
  3. 실제 객체의 중심점 기반 매칭

    • 실제 객체의 중심점이 위치한 그리드 셀을 찾습니다.
    • 해당 그리드 셀의 예측과 실제 객체를 쌍(pair)으로 매칭합니다.
    • 이렇게 매칭된 쌍을 사용하여 box_loss를 계산합니다.

box_loss의 수학적 공식

Ultralytics의 YOLO 모델에서는 box_loss를 계산하기 위해 CIoU(Complete Intersection over Union) 손실을 사용합니다.


2. cls_loss

  • cls_lossbox_loss와 마찬가지로, pair을 맺는 방식이 같다.

3. dfl_loss

  • 분산 포컬 손실(DFL)은 포컬 손실(Focal Loss)을 기반으로 하며, 쉬운 예제의 가중치를 줄여 클래스 불균형을 처리하도록 설계되었습니다. DFL은 포컬 손실을 여러 스케일과 클래스에 걸쳐 분산시켜 모델이 검출하기 어려운 인스턴스에 더 잘 집중할 수 있도록 개선합니다.
profile
모든 의사 결정 과정을 지나칠 정도로 모두 기록하고, 나중에 스스로 피드백 하는 것

0개의 댓글