[Computer Vision] cGAN "Face2Comics" Web Project

공강때뭐하지이·2022년 6월 22일
post-thumbnail

"Face2Comics" Web Project

- pix2pix model, Django

1. 개요

펜데믹으로 인해 온라인 수업과 회의가 증가하였고, 이에 따라 온라인 프로필 이미지를 설정하는 일이 많아졌다. 많은 학생들의 자신의 프로필을 단순히 증명사진이 아닌 보다 눈길을 끄는 형태로 설정하고 싶어한다는 수요를 발견하고, 큰 팬덤을 보유하고 있는 마블 코믹스와 10대, 20대 층에서 많은 관심을 받고있는 mbti 를 접목시켜 증명 사진을 미국 Comics 의 그림체로 바꾸어주는 웹서비스를 제공하고자 한다. 나아가 해당 웹서비스는 마블에 관심이 많은 사람들이 대상이 되므로 마블 개봉 영화 정보 등 다양한 정보 역시 제공하고자 한다.

2. 설계

a) 메인 페이지

  • 1) 메인 페이지 : 사진 입력 받기
  • 2) 지도 및 연락처 화면
  • 3) 영화 개봉 일정 게시판

b) 퀴즈 페이지

  • 1) MBTI 퀴즈 페이지

c) 결과 페이지

  • 1) 변환된 이미지 출력
  • 2) 내 성격과 닮은 영웅 출력
  • 3) 버튼 : 홈으로 / 마블 개봉 일정 화면으로

d) 백엔드 파트

  • 1) Homepage 부분 : 메인 페이지 관련 함수
  • 2) Quiz 부분 : 퀴즈 및 결과 페이지 관련 함수
  • 3) pix2pix 모듈화 모델 부분

3. 구현

a) 메인 페이지 (Django)

전체 구조

a-1) 이미지 입력 페이지

a-2) 개봉 예정 영화 소개 페이지

a-3) 로그인 및 회원가입 서비스 (MySQL)

b) 퀴즈 페이지

c) 결과 페이지

d) 벡엔드 함수

e) 딥러닝 모듈화

프로필 이미지를 바탕으로 새로운 이미지를 만들어내는 cGAN 모델 중 하나인 pix2pix 모델을 목표로 설정하였다. 데이터는 Kaggle "Face2Comics" 를 사용하였다. Face 와 Comics 는 각각 1만개씩의 데이터를 보유하고 있기 때문에, 데이터의 양은 부족하지 않았으며 2000개씩 나누어 5 세트로 나누어 학습을 시켰다. 총 8000 쌍의 이미지를 사용하여 최종 모델을 만들어냈다. 마지막 이미지는 "톰 크루즈" 와 "라이언 고슬링" 의 프로필 이미지를 해당 모델을 사용하며 바꾼 결과이다.

e-1) 학습 데이터

e-2) 학습 과정



e-3) 모델 결과



4. 결과

결과적으로 모든 페이지들이 유기적으로 연결이 되었다. 이미지를 입력받아 퀴즈 페이즈로 넘어갈때, 이미지 변환 작업이 일어나는데 소요 시간이 15초 이하이기 때문에 큰 불편은 없었다.

5. 나아가야할 점

최종적으로 서비스를 제공하면서 이에 대해 광고를 추가적으로 넣을 계획이다. 웹 서비스가 해당 프로필들을 한 계정들로 하나의 커뮤니티를 구성할 수 있도록 채팅 서비스와 글쓰기 파트를 추가하고자 한다.

profile
안녕하세요!

0개의 댓글