boostcampaitech3 / final-project-level3-cv-17

[2022.05.16 ~ 2022.06.10] 🌤️미세먼지 없는 맑은 사진📷 - 부스트캠프 AI Tech 3기 최종 프로젝트
13 stars 3 forks source link

[Experiment] PSD관련 실험 진행상황 정리 #22

Open seonahmin opened 2 years ago

seonahmin commented 2 years ago

Background

PSD 모델에 대한 실험 전반에 대한 진행상황을 공유하려고 합니다.

Content

Details

1. PSD Finetuning dataset 변경

2. PSD backbone 변경 & finetuning(MSBDN -> DehazeFormer) dehazeformer의 patch_unembed하는 부분(output layer)을 없애고 PSD에서 말하는 Physics-compatible head를 추가하였습니다. <physics compatible head init하는 부분> image <output layer를 없애고 PSD의 physics compatible head 로 교체하는 부분> image

눈에 띄게 잘하는 지는 모르겠지만 MSBDN보다 색깔을 덜 변화시키는 효과는 있는 것 같습니다. 왼쪽부터 MSBDN-> DehazeFormer -> Original Haze Image image image image

4. PSD Loss 추가 AECR-Net(Paper, GitHub) 논문에서 Contrastive Learning을 사용하는 부분이 도움이 될 것 같아서 사용해보려 합니다.

기존 dehazeformer는 다른 논문들과 동일하게

  1. Haze한 이미지와 네트워크의 output을 바탕으로 생성한 haze이미지
  2. GT(clear image)와 네트워크가 생성한 dehaze 이미지 이 두가지를 각각 smooth L1 loss를 사용해서 optimize하고 있습니다.

Contrastive learning은 여기에 추가적으로 네트워크가 생성한 dehaze된 이미지가 embedding공간에서 유사도를 기반으로 dehaze이미지는 positive 라고하여 끌어당기고, haze이미지는 negative 라고 하여 밀어내는 방식으로 학습하도록 유도하는 방법인 것 같습니다.(틀린 부분이 있으면 언제든지 지적부탁드립니다!)

1epoch당 걸리는 시간은 약 40분이네요...하지만 loss를 사용할 때 VGG를 가져와서 쓰기 때문에 시간이 늘어난거라 실제로 model weight에는 포함되지 않기 때문에 모델 자체에 파라미터가 추가되는건 아닙니다.

현재까지 결과로는 조금 더 지켜봐도 괜찮을 것 같습니다. (점선이 원래의 dehazeformer, 실선이 Contrastive Loss추가한 것) image image