Bug Report

2024.10.22(Tue) rt-DETR 결과 분석

문제상황


클래스 라벨이 하나씩 밀린 현상이 발생했다.
가설1: 학습 및 변환 과정에서 클래스 ID와 실제 클래스 간의 매핑이 잘못되어 발생했을 것이다.
가설2: category 문제가 아니고 .txt로 변환하는 과정에서 json을 잘못 읽어온 거라면?

가설 1 solution

가설 2 solution

가설 검증

convert_yolo 함수에서 category_id 처리 과정에서 클래스 ID를 1씩 빼주는 것이 잘못된 것 같다.
convert_yolo 함수에서 category_id -= 1 부분을 제거하고 category_id를 그대로 사용했다.

해결

가설 1 검증 결과, 코드 한줄을 수정했더니 문제를 해결했다.

문제발생


wandb에서 10개 클래스 라벨이 포함됨

변경

ground-truth에 10개 클래스 외의 라벨이 포함되지 않도록 수정하고 예측 결과를 올릴 때 WandB의 Vision Table에서 클래스 이름을 명시적으로 설정하고, 예측한 클래스가 10개 클래스에 해당하는지 필터링

문제상황

Pascal VOC형태로 바꿀 때, xmin,ymin,xmax,ymax형태로 저장해야되는데 xyxy는 우