재활용 품목 분류를 위한 Object Detection
- 개인 학습 목표
- 이번 Object detection competition의 목표는 다양한 object detection 모델들과 알고리즘의 원리를 이해하고 mmdetection 라이브러리를 활용해 다양한 실험을 해보는 것이였다.
- 학습목표 달성을 위한 노력
- 강의에서 소개한 다양한 모델들의 논문을 읽어보고 그 원리는 깊게 이해함.
- mmdetection 라이브러리 활용 방법을 학습하고 습득한 다양한 모델과 알고리즘을 적용해 봄.
- 모델 개선을 위한 노력
- inference시간은 중요하지 않은 대회였기 때문에 1 stage detector보단 2 stage detector을 집중적으로 실험 했다.
- Competition 막바지 앙상블시 다양성 증진을 위해 최근 각광 받고 있는 transformer 기반의 swin을 backbone으로 사용하지 않고 CNN개열의 resnet, resnext backbone을 활용해 실험을 했다.
- Faster-RCNN, Cascade-RCNN, DetectoRS, Autoassign 등 2-stage detector의 neck과 head 를 다양하게 바꿔가며 실험을 했다.
- Multiscale training을 활용하여 다양한 크기의 input이나 box에 대해 robust하게 학습할 수 있도록 하였다.
- Inference시 다양한 augmentation을 적용하는 test-time augmentation을 적용해 정확도를 향상시킬 수 있도록 노력했다.
- 느낀 점, 아쉬운 점
- 다양한 모델의 원리와 mmdetection을 완벽하게 습득하는 데 오래 걸리고 모델 학습 시간이 생각보다 길어서 많은 실험을 하지 못해서 아쉬웠다.
- Competiton이 3주동안 진행이 됐는데 체계적으로 계획을 잡지 않고 임한 탓에 3주를 밀도있게 쓰지 못했다. 프로젝트나 컴퍼티션의 기간이 길수록 철저한 시간 계획이 중요하다는 것을 느꼈다.
- 굳이 앙상블을 염두해두고 실험 방향을 바꿀 필요는 없다는 것을 느꼈다. “다양성 증가”를 위해 굳이 swin보다 성능이 떨어지는 CNN계열의 backbone을 쓸필요는 없었던 것 같다. 앙상블은 마지막에 score를 조금이라도 올리는 용도지 main이 아니라는 것을 느꼈다.
- Image Classification Competition때 분명히 협업을 적극적으로 할 것이라고 다짐했는데 이번에도 저번 대회에 비해 협업 방법이 발전하지 못한 것 같아서 아쉬웠다.
- 다음 P-Stage에서 스스로 새롭게 시도해볼 것
- 프로젝트 기간동안 계획을 철저하게 세워 둬서 시간을 효율적으로 사용해 아쉬움 없이 프로젝트를 마무리 하고 싶다.
- 프로젝트 기간동안에 논문을 읽더라도 관련된 모든 논문을 읽으려고 하기보단 중요한 몇몇 논문들 위주로 읽고 대회가 종료되면 나머지를 읽어볼 것이다.
- git-hub과 구글독스, wandb를 통해 협업을 체계적으로 해보고 싶다.
| Method |
Backbone |
Augementation |
val mAP 50 |
| Faster-RCNN |
Resnet50 |
x |
0.401 |
| Faster-RCNN |
Resnext 50 |
x |
0.423 |
| Faster-RCNN |
Swin-t |
x |
0.521 |
| Cascade-RCNN |
Resnet50 |
x |
0.429 |
| Cascade-RCNN |
Resnext101 |
x |
0.524 |
| Cascade-RCNN |
Resnext101 |
Multiscale, tta |
0.503 |
| DetectoRS, Cascade-RCNN |
Resnet50 |
x |
0.538 |
| DetectoRS, Cascade-RCNN |
Resnet50 |
multiscale, tta |
0.509 |
| Autoassign |
Resnet50 |
x |
0.495 |
| Autoassign |
Resnext101 |
multiscale, tta |
0.612 |