평범한 필기장

[최종 프로젝트 일지 - 3주차] 멘토님 피드백 준비 본문

Experience/Naver Boostcamp 6기

[최종 프로젝트 일지 - 3주차] 멘토님 피드백 준비

junseok-rh 2024. 3. 23. 23:50

 다음주에 있을 멘토님 피드백을 대비해 어느 정도는 우리의 프로젝트가 틀이 잡혀야 했다. 그래서 나를 제외한 두 분은 product serving에 엄청 열중해 주셨다. 나는 ControlNet으로 옷 이미지 생성을 고도화 하는 것에 집중했다. 

Llava 이용

 프로젝트에서 처음에 사용한 Multimodal VITON-HD 데이터셋은 https://arxiv.org/pdf/2304.02051.pdf에서 소개된 데이터 셋이다. 하지만 이 데이터셋을 보면 옷에 대한 설명인 text데이터가 만족스럽지 않다고 판단했다. 색에 대한 정보가 부족하다거나 여러 색을 지닌 옷이면 multicolor라는 단어로 퉁치는? 경우가 대부분으로 보여졌다. 그래서 나는 image captioning이나 vqa를 통해 옷 이미지에 대한 설명을 직접 생성해서 이 설명을 토대로 학습시키면 어떨까하는 생각을 했다.

 컴퓨팅 리소스가 넉넉하지 않기 때문에 코랩에서 돌릴 수 있는 모델로 inference를 해서 옷 이미지의 captining을 생성해야했다. 그래서 허깅페이스에 올린 올라온 코랩 llava 데모를 이용해서 vqa를 통해 이미지에 대한 설명으로 text 데이터를 변경하는 방식을 이용했다. 그에 대한 실험으로는 어떤 색의 옷이냐고 물어서 나온 색을 기존 text에 추가하는 방식, 어떤 색의 옷이냐라는 질문을 통해 나온 대답, 어떤 종류의 옷이고 어떤 색이며 배경은 어떤 색이냐라는 질문을 통해 나온 대답 이렇게 세 가지의 방식을 이용했다.

기존 Text에 옷 색을 단순히 더한 버전
Llava에 어떤 옷이냐는 간단한 질문을 통해 얻은 text로 실험한 버전
Llava에게 어떤 옷이고 옷은 어떤 색이고 배경 색은 무엇인지 질문을 자세하게 해서 얻은 text로 학습한 버전

세 가지의 방식을 통해 실험을 했을 때의 결과는 위와 같았다. Wandb에는 3개로 결과를 봤지만 전체 이미지에 대한 결과도 보면서 정성적인 평가를 했다. 확실히 llava로 만든 데이터로 학습을 진행했을 때, 색을 잘 구현한 것으로 나왔다. 하지만 정량적인 평가를 실시하지 않았기에 fid score, clip score등을 비교해서 어떤 모델을 선정할지를 결정해야겠다는 생각을 했다.

마무리...

이번 주는 text 데이터를 직접 다 수정하고, 그 데이터를 통해 모델을 학습을 시키니 한 주가 마무리 되었다. 서버가 터져서 이틀을 날린 것이 너무 컸다..ㅠㅠ

발표 ppt 제작과 발표를 내가 맡기로 했어서 저 정도의 실험만 진행하고 발표 ppt를 만들어야했다. 그래도 생성된 옷을 모델에 입혀보니 괜찮게 나와서 발표자료에 써도 쪽팔리지 않았다. ㅎㅎ

모델 backbone이나 text encoder를 변경하는 등의 실험은 진행하지 못해서 너무 아쉬운 한 주였다. 다음 주에 멘토님 피드백 영상 무사히 찍고 멘토님께 받은 피드백으로 프로젝트 마무리를 잘 했으면 좋겠다.

다음 포스팅은 최종 플젝 마무리와 부스트캠프 회고로 돌아올듯 싶다.