앞선 실험으로 더 큰 백본의 필요성을 느끼고 resnext, resnest, swinL을 사용했다.
Resnext
no valid로 진행했고 0.1869의 결과를 얻었다.
적당한 lr이 아닐수 있다는 생각이 들고 validation을 사용하지 않아 과적합이 되었을 수도 있다는 생각을 했다.
Resnest
validation을 사용했고 두번 정도의 resume을 사용해서 lr을 흔들어주었지만 큰 효과는 보지 못했다.
0.4888의 결과를 얻었다. 하지만 앞선 실험에서 좋은 결과를 보인 cascade를 사용하지 않고도 cascade 보다 더 높은 성능을 보였으므로 cascade Resnest의 좋은 결과를 예상할 수 있다.
Dyhead + swinL (+ATSS)
여러번의 실험으로 무조건적으로 큰 모델이 성능이 좋다는 판단을 해서 swinL을 사용하기로 했다.
석님이 사용하신 cascade말고 다른 방법이 어떤게 있을까 찾아보다가 dyhead라는 3가지 step으로 prediction을 진행하는 방법을 찾았다. 그중 mmdetection에 구현되어있는 atss_r50_fpn_dyhead_1x_coco.py를 사용해서 model만 swinL로 바꿔서 실험을 진행했다.
0.6522의 높은 결과를 얻었다. 이번 실험 또한 lr을 흔들어 주었지만 큰 효과는 없었다.
atss는 anchor free 방식이고 roi head가 없는 것으로 보아 one stage dectector로 보인다.
고로 two stage인 faster rcnn으로 dyhead를 진행한다면 더 좋은 성능을 보일 것으로 생각된다.
해야 하는 것
[ ] 가장 빠르고 간단한 모델로 데이터 전수조사 결과 확인
[ ] faster rcnn + dyhead +swinL
[ ] 512, 768, 1024 보다 더 많은 multi scaling
[ ] medium 크기의 물체 인식률 높이기
[ ] loss box - GIoU Loss 사용
[ ] coco dataset에 있는 evaluation에 mAP 관련 logger 설정 (wandb에서 사용?)
[ ] 결과 분석 - 위치 인식 하고 클래스 틀렸을 때 (뭐라고 잘못 인식했는지)
[ ] 결과 분석 - 위치도 못 잡은 GT 찾기 (prediction할 때 어떤 물체들이 어떤건지 보기)
앞선 실험으로 더 큰 백본의 필요성을 느끼고 resnext, resnest, swinL을 사용했다.
Resnext
no valid로 진행했고 0.1869의 결과를 얻었다. 적당한 lr이 아닐수 있다는 생각이 들고 validation을 사용하지 않아 과적합이 되었을 수도 있다는 생각을 했다.
Resnest
validation을 사용했고 두번 정도의 resume을 사용해서 lr을 흔들어주었지만 큰 효과는 보지 못했다. 0.4888의 결과를 얻었다. 하지만 앞선 실험에서 좋은 결과를 보인 cascade를 사용하지 않고도 cascade 보다 더 높은 성능을 보였으므로 cascade Resnest의 좋은 결과를 예상할 수 있다.
Dyhead + swinL (+ATSS)
여러번의 실험으로 무조건적으로 큰 모델이 성능이 좋다는 판단을 해서 swinL을 사용하기로 했다. 석님이 사용하신 cascade말고 다른 방법이 어떤게 있을까 찾아보다가 dyhead라는 3가지 step으로 prediction을 진행하는 방법을 찾았다. 그중 mmdetection에 구현되어있는 atss_r50_fpn_dyhead_1x_coco.py를 사용해서 model만 swinL로 바꿔서 실험을 진행했다. 0.6522의 높은 결과를 얻었다. 이번 실험 또한 lr을 흔들어 주었지만 큰 효과는 없었다. atss는 anchor free 방식이고 roi head가 없는 것으로 보아 one stage dectector로 보인다. 고로 two stage인 faster rcnn으로 dyhead를 진행한다면 더 좋은 성능을 보일 것으로 생각된다.
해야 하는 것