10 class : General trash, Paper, Paper pack, Metal, Glass, Plastic, Styrofoam, Plastic bag, Battery, Clothing
위의 10개의 클래스를 가지는 재활용 쓰레기를 Detection하는 것이었습니다.
전체 이미지 개수 : 9754장 -> train: 4883, test: 4871
이미지 크기 : (1024, 1024)
COCO format으로 제공되었습니다.
아래와 같이 많은 바운딩 박스를 겹쳐놓은 사례가 다수 있었습니다. 이는 nms원리상 인접한 박스는 사라지게 됩니다.
또한 일부가 가려진 물체도 box를 쳐놓은 경우도 있었습니다.
박스에 붙어있는 테이프도 일반쓰레기로 labeling되어있기도 하고 그렇지 않기도 했습니다.
빨대를 일반쓰레기나 플라스틱으로 혼동하여 labeling되어있었습니다.
전체적으로 라벨링의 품질이 좋지 못하다고 느껴졌습니다.
초기목표는 데이터를 보고 가설을 세우고 이를 실험으로 검증하는 프로세스를 경험해보는 것이었습니다.
1 주차
강의듣기, 데이터구조 파악, EDA
2주차
3주차
augmentation 실험 수행
캐글 솔루션에서 공통적으로 등장하는 heavy augmenation 시도,
faster-rcnn, universenet에 비해 cascade-swin과 궁합이 좋았습니다.
augmentation의 효과에 대해 생각해볼 수 있었습니다.
augmentation을 줄 때 학습을 방해할 수 있는 노이즈를 주기도 하고, 학습이 원활할 수 있도록 하기도 하여서 목적이 무엇인지 혼동되었습니다.
멘토님의 조언을 구했고, 아래와 같은 결론을 낼 수 있었습니다.
augmenatation의 목적은 over-fitting 방지, generalization을 높이는 것입니다.
예를 들어 성별 분류를 한다고 했을때, train data에서 모든 여성은 파란색 배경을 가진다고 하면 모델은 여성 자체의 특징을 보고 분류하는 것이 아니라 배경색을 기준으로 분류를 할 확률이 높습니다.
그렇기에 노이즈를 주는 것은 모델이 쉽게 학습할 수 있는 피쳐를 없애서 쉬운길을 막고 다른 길로도 학습이 될 수 있도록 하는 것입니다. 이는 일반화 성능을 높일 수 있을 것입니다.
전반적으로 git으로 협업하는 과정을 배웠습니다.
초기목표는 리더보드보단 detection을 공부하는 것에 집중하는 것이었지만 제일 눈에띄는 지표는 mAP였고, 결국에는 mAP올리기에 치중했습니다.
그러면서 초기목표와 괴리가 생겼고, 동기부여가 잘 되지 않았습니다.
다음 대회에서는 제 자신의 방향성, 팀의 방향성을 충분히 확립하고 진행할 것입니다.
1주일 이상 서버이상으로 정상적인 실험 진행이 이뤄지지 않았습니다.
대회측의 실수였지만, 혼자 해결해보려다가 더욱 시간이 경과된 측면도 있었습니다. 앞으로는 사소한 질문도 적극적으로 질문할 것입니다.
아이디어, 실험계획, 실험결과를 github 디스커션을 통해 공유했습니다.
포트폴리오로 github을 제출하면 모든 것이 공개된다는 점이 부담스러웠습니다. 알람이 오지 않는다는 단점도 존재했습니다.
하지만 github과의 통일성, 검색기능, documentation이 잘된다는 장점이 있기때문에,
slack 사용을 늘리고 디스커션에 꼭 완성된 형태의 게시물만 올려야된다는 부담을 가지지 않기로 하였습니다.
'이런 쉬운 질문을 해도 되나..?'하는 생각을 많이 했습니다. 또한 팀내에서 큰역할을 해야한다는 부담을 가졌습니다.
이런 생각은 일의 효율성을 떨어뜨릴 뿐만아니라 번아웃이 오는 지름길이라는 것을 알았습니다. 앞으로는 저의 성장에 중점을 둘 것입이다.
실생활의 재활용 쓰레기 데이터 영상을 분류를 잘하는지 확인해보고 싶습니다.
faster-rcnn, universenet에 비해 cascade-rcnn-swin과 heavy augmentation의 조합이 훨씬 좋았는데 이유를 알아보고 싶습니다.
소홀히 들은 강의내용을 보충하고 싶습니다.
image reference
네이버 커넥트재단 - 재활용 쓰레기 데이터셋 / CC BY 2.0