합성데이터 기반 객체 탐지 AI 경진대회

[Private 1st] 아이디어 공유

2023.07.10 20:19 2,147 Views

Private에서 1등 점수를 기록한 아이디어를 공유드리려 합니다. 내세울 만한 반짝이는 아이디어는 없지만 나름대로 합리적인 추론 과정을 밟았다고 생각하였습니다. 나아가 합성 데이터 활용 방안도 주관측을 많이고려하여 고심했는데 마지막 정성평가에서 크게 감점 당해 아쉬운 바입니다. 


저희는 대회를 진행하며 다음의 2가지를 유의하였습니다. 

  1. 시간과 자원이 부족하기에 앙상블을 지양하고 최대한 아이디어를 활용한다. 
  2. 더욱 다양한 도메인에서 합성 데이터 활용을 염두에 두고, “그냥 해보니까 잘됐다”라는 근거 부족한 사고의 흐름을 지양한다. 


특히 본 대회 주관측에서 업계에서 합성데이터 활용을 염두에 둔다고 판단, 합성 데이터를 활용하는 insight가 중요할 것이라고 예상하였습니다. 

먼저 Object Detection에서 합성 데이터를 활용하는 예시 조사를 실시했습니다. 몇가지 논문이 눈에 띄었으나 다음의 논문이 가장 편하게 읽을 수 있어 정성평가 자료에도 이를 첨부하였습니다. 

https://arxiv.org/pdf/1710.10710.pdf

위 논문에서 크게 시사하는 바는 합성 데이터 활용을 위해서 어떤 augmentation을 취해야 하는지, 어떻게transfer learning을 진행하는지입니다. 


저희는 크게 two-stage로 진행하였습니다. 첫번째로 COCO dataset으로 pretrained된 detector를 사용하여 자동차를 잡아내었습니다. 두번째로 주어진 합성데이터를 활용하여 학습된 classifier로 차종 분류를 실시했습니다. 후술할 과정에서 편의를 위해 두번째 단계를 "reclass"라 약칭하겠습니다. (Reid에서 착안)


이렇게 two-stage로 나눈 이유는 다음과 같습니다. 

  1. mAP@.85로 높은 bbox accuracy를 요구한다. 
  2. 이미 COCO dataset에 vehicle class가 존재한다. 
  3. 이를 Open-set classification 문제로 치환할 경우 Stanford Cars Dataset으로 pretrained된 weight를 사용 가능하다. (Dedicated paper가 존재하는 weight는 적어서 활용할 수는 없었습니다.)


첫번째로 차량의 bbox를 검출하는 단계에서는 자원이 타협하는 범위 내의 SOTA를 사용하였고 DINO-FocalNet을 채택하였습니다. 


두번째로 차종 분류를 진행할 시에는 유의할 점이 있습니다. 제출 자료에서도 언급 되었듯이, 도로 위의 차량중에 34종 외의 차량이 존재할 경우 이를 Unseen class로 분류해야 합니다. (Open-set recognition) 이를 위해서 다양한 시도를 했으나 (제출 자료 참고) 이미 classifier가 unseen class에 대해서는 낮은 confidence를 보여 AP metric특성상 unseen class로 인한 점수 하락은 크지 않다고 생각하였습니다. (Temperature scaled softmax 후 thresholding시 mAP 점수에 큰 차이 없음)

Classifier의 경우 역시 자원이 허락하는 내의 SOTA를 활용했습니다. 그리고 상술한 논문에서 지적하듯이, real world image를 통해 학습된 feature extractor를 freeze한 후 뒷단을 학습 시키는 것이 유리합니다. 대부분의 파라미터를 freeze하기에 비교적 큰 모델을 사용할 수 있었습니다. Feature extractor로는EVA-G를 사용하였고 뒷단에 ML-Decoder를 붙였습니다. ML-Decoder의 경우 Stanford Cars Dataset (FGVC task)에서 강세를 보인 decoder입니다. 같은 규모의 FC Layer에 비해 본 task에서 더 좋은 성능을 보였습니다. 이때 bbox 정보 소실을 염려하여 전체적인 아키텍처를 약간 수정하여 bbox 정보가 embedding 될 수 있도록 했습니다. 


합성 데이터를 활용하여 classifier를 학습할 때 augmentation은 위에서 언급한 논문 및 여타 논문을 참고하였습니다. 다수의 논문에서 공격적인 augmentation이 합성 데이터의 단조로운 분포를 real world 데이터의 노이즈 섞인 분포처럼 만들어준다고 제시합니다. 따라서 제시된 다양한 augmentation (Gaussian noise, motion blur, brightness/contrast control, downscale)을 기본적으로 사용하였습니다. 

나아가 본 task에서 나타날 수 있는 차량의 occlusion을 고려하여 가로로 긴 직사각형(신호등), 세로로 긴직사각형(기둥), 정사각형(다른 차량) 등과 같은 Cutout을 사용하였습니다. 그리고 합성 데이터를 활용하여학습 시 모델이 차량의 앞쪽 (로고, 그릴)에 attend 한다는 것을 쉽게 확인할 수 있습니다. 이를 위해 차량의로고 주위를 Cutout 하는 방안을 생각했으나, 이는 추후 차종이 추가됨에 따라 hand-crafted 되야 하는 치명적 단점을 지녀 이를 보완한 Grid Dropout을 적용하였습니다. 이를 통해 low computational cost로도모델의 attention을 분산시킬 수 있었습니다. Object localization이 완료된 상황이기에, cutmix 기법을적용하기 이상적인 상황이라고 생각하였고 regularization method로 cutmix를 추가하였습니다. 


각 단계에서 앙상블을 추가한다면 아마 점수가 더 오를 것으로 생각됩니다. 비록 대단한 아이디어를 제시하지는 못했지만, 합성 데이터 활용 시 insight를 조금이나마 제공하는 글이기를 바랍니다. 

급히 작성하여 글의 두서가 없는것 같습니다, 이점 양해 부탁드립니다. 댓글에 의문점을 남겨주신다면 최대한 성심껏 답변드리도록 하겠습니다. 

본 대회와 같이 정성평가 자료 제출하는 경우는 처음이어서, 기존의 서면 발표 자료 제작 방식을 유지했습니다. 자료를 읽으며 생각하다 보면 의문점들이 들고 그런 의문들에 대한 해답은 첨부된 논문을 통해 제시하려 하였습니다. 학회 workshop challenge report와 같이 핵심적인 approach, methodology를 설명하려 하였고 기초적인 EDA 및 시각화는 제외하였습니다. 다만 제출자료를 기반한 정성평가에서 크게 감점 당하여 갈피를 못 잡고 있기에, 제출 자료에 관한 어떤 피드백이던 정말 감사히 받겠습니다.


긴 글 읽어주셔서 감사합니다. 본 대회에 참여한 분들 모두 고생 많으셨습니다.

PDF
로그인이 필요합니다
0 / 1000
ever4red
2023.07.10 21:14

대회 진행하느라 수고하셨습니다!
저희는 IoU threshold가 0.85로 상당히 높은 것이
주최 측에서 만든 가상 이미지가 실제 이미지와 상당히 유사하다는 것을 보여주고 싶었기 때문이라고 생각하고 detection 방식 그대로 대회를 진행했는데,
이런 식의 접근도 상당히 좋다고 생각합니다!

도비콘
2023.07.11 08:33

wutian님 수고하셨습니다.~

yasuo
2023.07.11 13:21

신선한 접근방법이네요 잘봤습니다.
저도 처음에는 wutian님과 같이 fine-grained classification을 위한 2-stage method를 생각했지만, 대회 취지(합성데이터 활용)와는 적합하지 않는 느낌이라 1-stage method를 활용하였습니다.
대회 기간 수고하셨습니다~