[TIL]KDT팀프로젝트2021/03/25
faster-rcnn으로 30/15/10 프레임 단위로 inference해서 드라이브에 올려두었다.
CCTV 데이터셋의 AP가 지나치게 낮게 나온 이유를 찾았다. 해당 데이터셋에 대해서만 학습 후 추론해보았을때 bounding box가 얼굴 기준이 아닌 사람 형태 기준임을 확인했다.
콘트라스트, 히스토그램 평준화 기법 등 적용해보았으나 큰 발전은 없었다. 작은 객체에 대해서는 원래 디텍션이 떨어지고 조명은 일반화 문제라 학습때 작은 얼굴에 대한 augmentation을 주는게 나을 것 같다.
최고성능이 더이상 나오지 않으면 early stop해서 베스트 모델 저장하는 것 일단 오류없이 작동하는거 확인하고 돌려보는 중이다.
log.txt와 mylog.txt가 생성되는데, log.txt에는 터미널에서 출력된 모든 결과가 저장되고, mylog.txt에는 iteration마다 해당하는 best loss와 total loss, 그리고 Epoch마다 결정되는 best validation loss가 저장된다. 이를 통해 모델이 어느 시점에서 가장 최고의 성능을 보였는지 확인할 수 있다.
best_loss를 디폴트로 100으로 시작한다. iteration을 돌면서 best_loss 가 갱신되고 n_early_epoch 횟수 만큼 best loss에 진전이 없으면 early stop 한 후 모델을 저장한다.
- AttributeError: CfgNode is immutable 오류 발생 시
cfg.freeze()
주석처리하고 실행- https://github.com/youngwanLEE/vovnet-detectron2/issues/4