[Boostcamp AI Tech] [P-stage] 11주차 Day 2 학습 기록

bluegun·2021년 10월 15일
0

AI Tech 2기 활동

목록 보기
48/87

대회 진행 상황

대회에 관련해 팀에 기여한 바가 별로 없어, 팀원들의 모델을 앙상블 하는 역할이라도 내가 해야겠다고 생각해, 앙상블 하는 방법에 대해 조사하였다.

Detection task의 경우 크게 nms, soft nms, nmw(non-maximum weighted), wbf(weighted boxes fusion)으로 나뉜다.
nms는 일반적으로 사용하던 그 nms로서, confidence가 높은 bbox와 IoU가 기준 이상인 box를 제거하는 방법이다.
soft nms는 box를 제거하지 않고 confidence score를 낮추는 방법으로서, box를 제거하면서 오는 정보의 손실을 줄여 보통 성능이 더 좋아진다고 한다.
nmw는 검색을 해도 정확한 정보를 찾기 힘들어 잘 모르겠다. weighted가 들어간 걸로 봐서 nms 과정에 각 모델에 weight를 줄 수 있는 게 아닐까..?
wbf는 confidence가 높은 bbox를 제외한 다른 box를 fusion하여 새로운 box를 만드는 방법이다. 가장 최근에 나온 방법으로 논문에서는 다른 방법보다 높은 성능 향상을 이끌어냈다.

아직 팀원들이 모델을 더 만들고 있기 때문에, 일단 제출한 모델들 중 성능이 좋고, 다른 구조의 모델(2 stage or 1 stage, 같은 2 stage 내에서도 구조가 다른 모델)을 추려냈다. 그 결과 Cascade R-CNN(0.586), Swin transformer(0.584), YOLOv5(0.341) 모델이 나왔고, 이들을 여러 조합으로 앙상블하여 LB score를 비교해보았다.

그 결과, 모델 수가 적을 땐 wbf를 쓰면 오히려 성능이 떨어지고, nmw의 성능이 가장 높았다. 모델을 많이 섞어도 wbf보다 nmw가 점수가 더 높게 나왔다.
또, YOLOv5는 성능이 많이 낮음에도 불구하고, Ensemble에 들어가면 항상 0.2 정도의 score 향상이 있었다. 그 결과, Cascade R-CNN, Swin, YOLO 3개를 nmw 기법으로 앙상블하여 0.617이란 score를 얻을 수 있었다.

내일 팀원들이 작업 중인 모델을 가져와 추가로 앙상블해보고 제출하도록 해야겠다.

0개의 댓글