딥러닝으로 이미지를 생성하는 것은 신기하기도 하고, 유용할 듯 하다. 하지만, 쓸만한 직접 알고리즘을 구현하는 것은 어려운 일이다. 파이썬에는 GAN알고리즘을 이용해서 이미지를 생성하는 작업을 쉽게 해볼수 있도록 도와주는 패키지가 있다. 오늘은 GAN 이미지 생성 알고리즘을 쉽게 테스트 해볼수 있는 방법에 대해서 알아보도록 하겠다.

 

 

GAN 이미지 생성



파이썬에서 deep-daze패키지를 이용하면 쉽게 이미지 생성 알고리즘을 테스트해 볼 수 있다. 이 패키지는 GPU가 필요하므로, 개인PC에 GPU가 없다면 코랩 환경을 이용해야 한다.
( 참조: 파이썬 colab 환경 알아보기 )

deep-daze 패키지는 OpenAI의 CLIP과 Siren을 이용해서 텍스트로부터 이미지를 생성해주는 패키지이다. CLIP은 Contrasitive Language-Image Pre-Training의 약자로 이미지에서 가장 특징이 되는 말을 자연어로 예측해주는 알고리즘이라고 한다. Siren은 조금 내용이 복잡한데, 필자가 이해한 바로는 새로운 activation functions을 제안하는데, 이게 복잡한 natural signals를 표현하는데 더 적합하다고 한다. 새로 제안하는 activation function운 leverage periodic activation functions이라고 한다. 위 내용은 자세히 설명해줄 수 있는 분이 있으면 좋겠다.


내용은 복잡하지만, 실행 방법은 간단한다. 우선 아래와 같이 패키지를 설치한다.

!pip install deep-daze


다음으로 터미널 명령을 실행하면 된다. 더 좋은 이미지를 원한다면 --deeper, --num-layer 32 옵션을 이용하면 된다.

!imagine "crying person in the prison"


너무 어려운 이미지는 생성하기 어려울 것 같아, crying person in the prision이라는 이미지를 생성해보았다. 1번 실행될 때, 1050 epoch이 실행된다. 실행된 결과는 이미지 파일로 생성해준다. 하지만, 중간중간 보이는 이미지는 굉장히 징그러웠다. 가장 처음에 생성한 이미지는 아래와 같다.

 

첫번째로 생성한 이미지

 

 

시간이 흐르면서 뭔가 그럴듯한 이미지가 만들어지기는 하지만, 여러가지 이미지가 섞여있다보니 좀 징그러웠다.

 

 

14번째 생성된 이미지

 

26번째 이미지까지 확인하였다. 이후 이미지는 자리를 비웠더니, 코랩이 종료돼 확인할 수가 없었다. 위의 이미지에서 조금 더 구체화되고 세밀화 되는 모습니다.

 

 

26번째 생성된 이미지

 

 

오늘은 이렇게 GAN 이미지 생성 알고리즘을 쉽게 테스트해 보는 방법에 대해서 알아보았다. 블로그를 작성하다보니 실제 이미지가 필요할 때 사용할 수 있지 않을까 싶었다. 하지만, 이미지를 생성하는데 시간이 굉장히 오래 걸린다는 단점이 있다. 해당 패키지의 Github 페이지는 몇 가지 생성한 이미지 샘플들이 있다. 어떤 이미지가 만들어지는지 더 알고 싶다면 참고하기 바란다.
( 참조: deepdaze Github 페이지 바로가기 )

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기

댓글을 달아 주세요

">