boostcampaitech7 / level2-objectdetection-cv-18

level2-objectdetection-cv-18 created by GitHub Classroom
0 stars 3 forks source link

Ensemble을 하면 noramalize가 안 되는 문제 #66

Closed nOctaveLay closed 1 month ago

nOctaveLay commented 1 month ago

🐞 버그 설명 (Bug Description) python3 ensemble.py를 하면 다양한 앙상블이 나오는데, 이 앙상블의 결과를 normalize 하기 위해 image_size로 나누면 1 이상의 값이 나온다.

🔄 재현 단계 (Reproduction Steps)

  1. python3 ensemble.py
  2. python3 ensemble.py
    • 이 때 반드시 python ensemble.py로 만들어진 weighted_boxes_fusion_result.csv가 output directory안에 있어야 한다.

✔️ 예상 결과 (Expected Behavior) 어떠한 오류 메세지가 뜨지 않아야 함 (정상적으로 돌아가야 함)

❌ 실제 결과 (Actual Behavior) /opt/conda/lib/python3.10/site-packages/ensemble_boxes/ensemble_boxes_wbf.py:63: UserWarning: Y2 > 1 in box. Set it to 1. Check that you normalize boxes in [0, 1] range. warnings.warn('Y2 > 1 in box. Set it to 1. Check that you normalize boxes in [0, 1] range.')

🛠 환경 (Environment) 운영체제(OS) Linux 5.4.0-99-generic

nOctaveLay commented 1 month ago

--> 정상적인 현상인 것으로 결론, weighted_boxes_fusion은 각 ensemble 모델에서 나온 bounding box들끼리 결합해서 box들을 만드는데, 이 때 threshold 미만은 자신들이 생성했음에도 불구, 합치지 않는다.

nOctaveLay commented 1 month ago

Check that you normalize boxes in [0, 1] range. warnings.warn('Y2 > 1 in box. Set it to 1. Check that you normalize boxes in [0, 1] range.')