<프로젝트 소개>
: 경희대학교 소프트웨어중심사업단에서 진행한 '2022 동아리 단합 공모전'에 'Pix2Pix 오즈의 마법사 GAN Colorization'이라는 주제로 참여하였다.
기간 : 22.06.22-22.08.28
인원 : 총 4명
참여배경
: 평소에 GAN을 다뤄보고 싶었던 동아리원들이 모여 팀을 구성하였다. GAN 중에서도 pix2pix 모델을 이용한 이미지 colorization을 진행해보기로 하였다.
활동내용
: 어떤 것을 채색해보면 좋을까 생각하다가, 영화 '오즈의 마법사'를 떠올리게 되었다. 초반부는 세피아 색, 중후반부는 컬러로 되어 있는 만큼 데이터셋 구축에도 용이하고, 채색을 하는 데에도 의미가 있을 것이라는 생각에 선정하였다.
GPU는 google colab과 TITAN RTX을 사용하여 진행하였다. 주로 TITAN RTX을 사용하였으며, colab에서 진행한 학습의 경우 사용시간의 제한(12시간)과 thread 수 지정의 한계 등으로 제대로 된 성능이 나오지 않았다.
모델의 학습은 주로 pix2pix의 하이퍼 파라미터를 수정해보거나, 데이터의 양을 늘려보는 시도를 하였다.
하이퍼파라미터는 주로 learning rate, batch_size, epoch 수에 변화를 주어 진행해보았다.
데이터는 처음엔 영화 '오즈의 마법사'만 이용하였으나, 데이터가 좀 더 추가되었으면 좋겠다는 생각에 '오즈의 마법사'가 촬영된 것과 비슷한 색감을 가지고 테크니컬러 기법의 영화들의 구간을 수집하여 추가하였다.
최종 발표 자료
https://www.youtube.com/watch?v=Y8tOTUteZus
느낀 점
: 좋은 팀을 만나는 것이 중요하다는 것을 다시 한 번 깨달을 수 있었던 프로젝트였다. 함께 해준 팀원들 덕분에 많은 것을 배웠고, 많은 것을 얻어갈 수 있어 더없이 만족스러운 프로젝트 과정이었다. 그리고 구글 원격 데스크톱을 이용해 서버에 접속해서 학습을 진행해보는 과정 또한 새로웠다. 여러모로 온라인을 통한 협업 과정에서 어떤 점들을 기록해두어야 하고, 어떤 점들을 유의하면서 모델 학습을 진행해야 하는지, 그리고 소통은 어떤 식으로 원활하게 이루어질 수 있는지에 대해 많은 것을 느꼈다. => 하나의 구글 계정을 팀원들이 공유하여 사용하니 구글 원격 데스크톱 접속은 물론, 같은 드라이브에서 공유 문서와 ppt를 작업하기도 수월했고, 모델의 학습을 기록하는 것도 편리했다.
- argparse를 제대로 다뤄볼 수 있었고, colab에서 이를 사용하기 위해 옮기는 과정에서 easydict이라는 것을 다뤄볼 수 있었다.
- 이제껏 머신러닝/딥러닝 모델의 경우 주피터노트북과 colab을 주로 사용했었는데, vscode에서도 터미널을 통해 모델을 학습시켜볼 수 있었다.(python train.py --dataset facades --cuda)
프로젝트를 진행하며 어려웠던 점은 생각보다 모델의 성능이 잘 나오지 않는다는 점이었다. 또한, 학습 시간이 기본적으로 10시간을 훌쩍 넘어버려서 시간이 많이 소요되었는데, 그렇기 때문에 추가적인 학습 환경이 더 주어졌으면 하는 바람도 있었다. -> 이를 극복하기 위해서 gpu를 사용할 수 있는 colab으로 코드를 옮겨 학습을 시도했고, 프로젝트가 마감되기 전 쯤에 학교에서 제공하는 gpu를 사용해보기 위해 환경 구축을 해뒀었다.(다만, 그 후에 gpu를 사용하지 못하게 되어 실제로 시도해보지는 못했다.)
아쉬웠던 점
: 모델의 성능을 높이기 위해 추후 데이터를 추가하면서 학습시간이 2-3배 정도 늘어나 더 다양하게 모델을 다뤄보지 못한 점이 아쉬웠다. 그러나 확실히 데이터를 추가할수록 성능이 눈에 띄게 좋아지는 것이 보였기에 더 많은 데이터를 추가해보지 못한 것에 대해서도 아쉬움이 남아있다.
또한, colorization을 할 수 있는 다양한 모델이 있을텐데, 그 중에서도 pix2pix만을 이용해서 진행했다는 점이 아쉬웠다. 다음에는 더 많은 모델을 테스트해보며 가장 적절한 모델을 선정하는 과정을 거쳐보고 싶다. 또한, 그런 점에서 모델을 과감하게 개선하여 새로운 시도를 꾀해보지 못했던 것이 아쉬웠다.
그리고 모델의 학습에 많은 시간이 필요했던 만큼 중간중간 모델이 잘 학습되고 있는지에 대해서 좀 더 세부적인 사항을 확인할 수 있었으면 더 효율적이었을 것 같다. 또한, 모델의 분석에 있어서도 PSNR값만 사용하는 것이 아니라 전체적인 모델 학습의 추이나, 또 다른 평가지표를 활용하여서 다음 모델을 학습시킬 때 어떤 식으로 접근할지에 대해 방향성을 더 뚜렷하게 알 수 있었으면 좋았을 것 같다.
'✨ 포트폴리오 > 2022' 카테고리의 다른 글
[해커톤] KHUthon(22.9.30-22.10.01) (0) | 2022.10.01 |
---|---|
[공모전] 2022년 통계데이터 분석·활용대회(22.06-22.07) (2) | 2022.08.27 |