[TF] TFRecords 만들기

Deok Jong Moon·2022년 5월 27일
0
  • 현재 Object Detection task에 쓰일 VKITTI 데이터셋을 tfrecord 파일로 변환 중이다.
  • 아래의 링크를 참고하면 될 것 같다.
  • Anchor Box 만들 때 K-Means 를 어떻게 사용하는지 여태까지 이해한 내용 정리
    • 우선 K-Means는 2차원 데이터의 경우 2차원 좌표 평면에 데이터 분포들을 찍은 다음 그 중 원하는 만큼의 centroid를 찍어서 샘플들을 가장 가까운 centroid cluster에 할당하는 것으로 보면 된다.
    • 그런데 anchor box는 어떻게 쓰이는 것이냐?
    • anchor box aspect ratio를 구할 때 쓰이는 것 같다.
    • 왜냐하면, anchor box의 aspect ratio나 scale이 나름 hyper-parameter로서 작용하는데, 잘못된 설정은 모델의 객체 탐지 성능을 낮출 수 있기 때문이다.(예 : 정말 작은 크기의 객체는 듬성듬성 있는 anchor box를 사이에서 절대로 detect 될 수 없다.)
    • 그러면 아래는 데이터셋에 적절한 aspect ratio를 구하는 logic이다.
      • Ground Truth bbox들의 width 와 height을 구하고 이들을 normalise 한다.
      • normalise 된 값을 각각 x축, y축 좌표로 할당하고 그렇게 모든 bbox들을 2차원 평면에 놓는다.
      • K-Means의 centroid 개수를 설정한다.
      • clustering을 실시한다.
      • 이 때 clustering fit이 끝나면 각각 나온 centroid의 좌표를 확인한다.
      • 이 때 좌표 값이 (0.2, 0.4)라고 치면, 하나의 클러스터로 모아진 bbox들의 특징은 width : height = 1 : 2 를 갖는 것이다.
      • 이런 식으로 계산된 aspect ratio가 적절한지 확인하기 위해 마지막에는 Ground Truth bbox들과 IoU를 계산한다.(아마 normalise 된 Ground Truth겠지..?)
profile
'어떻게든 자야겠어'라는 저 아이를 닮고 싶습니다

0개의 댓글