StyleGAN2 고품질 애니메이션 캐릭터 생성

7561 단어 ganaitensorflowpython
[주의] 본문의 목적은'시도'이기 때문에 나는 실제적으로 파이톤으로 코드를 실현하지 않을 것이다.
부언(8/1): 견본은 이미 수집되었다released on Pixiv.
나는 너희들이 GAN의 간단한 개념과 전체적인 그림을 이해할 수 있기를 바란다. 이것이 바로 StyleGAN의 놀라운 점, 그리고 깊이 있는 학습이 이 점을 해낼 수 있다는 사실이다.

This article is a re-edited version of what I wrote in Qiita. Original Article


우선, 나는 GAN과 StyleGAN의 개념을 간략하게 소개할 것이다. (비록 본문에서 그것들을 작성해야 할지 모르겠지만.)결과를 잠시 보여주고 싶으면 건너뛰세요.
이해하기 쉽도록 해석에 수학 공식과 기술 용어를 최대한 많이 포함하기 때문에 이것은 필요한 이해가 아닐 수도 있으니 주의하십시오.

감은 무엇입니까?


GAN은 생성적 대항 네트워크의 약자로 이른바 인공지능 알고리즘 중 하나다.
이것은 서로 경쟁하는 두 개의 신경 네트워크로 이루어진 것으로 이미지 생성을 예로 들면 두 가지 유형(가짜 이미지를 생성하는 생성기와 가짜 이미지인지 확인하는 감별기)이 서로 경쟁한다.이렇게 하면 생성의 정확성을 높일 수 있다는 것을 깨닫게 된다면 괜찮습니다.
GAN의 생성기와 감별기는 흔히'거짓말을 하는 수상한 사람'과'거짓말을 발견하려는 경찰'사이의 관계에 비유된다.
그때부터 질소화갈륨에 대한 연구는 진전을 거두었고 DCGAN, GCGAN, W-GAN 등 더 정확한 파생물이 많이 생겼다.
DCGAN은 특히 CNN(볼륨 신경 네트워크)을 이용한 학습으로 유명하다고 생각한다.나는 이전에도 DCGAN을 사용하여 그것을 실현해 본 적이 있다.

StyleGAN2란?


StyleGAN2를 한 단어로 설명하자면, "StyleGAN의 개선 버전, 초고화질 GAN"이다.
↓ StyleGAN2에서 생성된 이미지입니다.

분명히 아무도 가져본 적이 없고 사진 속의 사람도 존재하지 않는다.
StyleGAN의 장점은 매우 높은 이미지 품질을 가지고 있다는 것이다.위 그림은 1024픽셀입니다.너무 신기해...!
나도 파이토크를 사용하여 DCGAN을 사용하여 이미지를 만들어 보았지만 개인용 컴퓨터에서 학습의 한계는 높이와 너비가 최대 128픽셀이다.(더 노력했을 수도 있지만 GPU 성능과 데이터 세트 준비에 대한 기억이 있습니다.)
스타일 GAN은 엔비디아가 개발했다.NVIDIA는 GPU 슈퍼 전문가로 여러 해 동안 GeForce와 Quadro의 개발에 주력해 왔으며 이에 대해 믿어 의심치 않는다.
또한 PGGAN(GANs의 점진적 성장)의 영감을 받아 고품질의 이미지를 한 번에 생성하지 않고 저품질 이미지에서 고품질 이미지로 점차 성장하는 것이 특징이다.
다시 말하면 최초의 저해상도 생성 과정에서 윤곽 등 거친 특징을 재현하고 그 후의 고해상도 생성 과정에서 눈과 입 등 디테일한 특징을 재현하면 매우 높은 품질의 생성을 실현할 수 있다.할 수 있어.
아담이 스타일 GAN에 대해 더 자세히 이야기할 수 있다면 다행이지만, 그렇게 말하면 끝이 없으니, 저장소와 논문을 보십시오.
아니면 구글?
[GitHub]https://github.com/NVlabs/stylegan2
[파일] https://arxiv.org/abs/1912.04958

시험해 보다


말하자면 길지만, 이것은 주제다.우리 진짜 하자.

환경을 만들다


StyleGAN2는 작년에 유행했기 때문에 환경이 반드시 작년과 같을 것이다('・ ω ・`)
다음은 소프트웨어의 운영 요구사항입니다.
  • Python 3.7
  • CUDA 키트 10.0
  • cuDNN 7.4
  • Tensorflow 1.14
  • Tensorflow 2부터x 시리즈는 사용할 수 없습니다. 파이톤 3.7 이상 버전은 pip가 설치되어 있기 때문에 사용할 수 없습니다. 이것은 매우 짜증납니다.

    TensorFlow 설치


    Tensorflow 1.14를 설치하는 방법에 대한 자세한 내용은 아래 기사를 참조하십시오.
    https://0115765.com/archives/1064
    나는 대략적으로 여기에 쓸 것이다.
    ※ Linux+Docker가 더 좋은 것 같지만, 편의를 위해 이번에는 Windows에서 사용해 보겠습니다.
    Python 3.7.9를 설치하고 download (directly link)를 설치하십시오.
    그런 다음 download CUDA 10.0을 설치합니다.
    cuDNN7.4 공식 사이트에서 다운로드downloaded할 수 있지만 NVIDIA 개발자 계정이 필요합니다.상황을 보고 결정하세요.
    DL 이후 폴더의 모든 컨텐트를 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10으로 이동합니다.0 환경 변수를 다음과 같이 추가합니다.

    마지막으로, Tensorflow를 pip로 설치합시다.
    pip install -U pip setuptools
    pip install -U tensorflow-gpu==1.14 tensorflow_datasets
    

    조작 검사


    Python의 대화식 셸에 다음을 입력합니다.import tensorflow as tf; print (tf.__version__)를 사용하여 버전을 검사합니다.
    tensorflow에서 왔어요.구렁이.고객import device_lib; print (device_lib.list_local_devices ())은 CUDA가 유효한지 확인합니다.

    다양한 DL


    내가 전에 쓴 바와 같이, 그것을 배우는 데는 고품질의 이미지를 출력할 수 있기 때문에 많은 시간과 자원을 필요로 한다.그래서 이번에 한 성인이 훈련을 받은 파일을 발표했다. 그는 대량의 애니메이션 이미지를 통해 이 파일을 배웠기 때문에 그곳에서 다운로드하고 사용했다.
    Introduction page | Download link (mega.nz)
    복제의 가장 중요한 스타일.(또한, 이전에 다운로드한 pkl 파일을 포함하십시오)
    git clone https://github.com/NVlabs/stylegan2
    

    cl.exe


    StyleGAN2를 실행하려면 Visual C++ 컴파일러가 필요합니다.
    따라서 Visual Studio 2017을 사용하여 C++ 개발 환경을 설치하십시오.2019년이 아니라 2017년!(분노)
    2019년에 나는 다음과 같은 오류를 발견했다.
    host_config.h(143): fatal error C1189: #error:  -- unsupported Microsoft Visual Studio version! Only the versions between 2013 and 2017 (inclusive) are supported!
    
    설치 후 경로만 통과하면 됩니다.
    나는 이것이 사람에게 달려 있다고 생각하지만, 나는 C:/Program Files(x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.23.28105/bin/Hostx64/x64의cl.exe에서 그것을 찾았다にcl.exe.
    현재 컴파일러가 사용 가능합니다. cl를 입력하고 검사하십시오.

    가능하면 cl.exe를 포함하는 디렉토리의 전체 경로를 stylegan2/dnnlib/tflib/custom ops의 sompiler bindir search path로 복사합니다.피야.

    우리 갑시다.


    해볼게요.
    발전기를 가동하다.이전에 복제한 폴더의py는 Python 파일로 훈련된 pkl 포맷 모델을 바탕으로 그림을 만드는 데 사용됩니다.
    StyleGAN 디렉토리에서 명령 프롬프트를 시작하고 다음을 입력합니다.
    python run_generator.py generate-images --network=<pkl file> --seeds=6600-6625
    
    중요 매개변수는 다음과 같습니다.
  • --seed → 생성할 시드 값입니다.이를 ex6000-6025로 설정하면 26개의 사례가 생성된다.를 135,541,654로 설정하면 해당 근원 값이 있는 3개의 이미지가 생성됩니다.
  • --network → 잘 훈련된 모델을 만나다.
  • 결실


    이번에 나는 약 201개의 피드 값을 생성했다​​4000-4200 사이입니다.
    결과는 다음과 같은 Git 환매 협의에 발표되었다.
    https://github.com/tomomi0115/stylegan2-generated-image
    여기 더 좋은 게 있어요.

    이미지 크기는 512픽셀입니다.그나저나 왼쪽 상단에 있는 저것은 내 핸드폰의 아이콘이다.
    참고로 2^32(4294967296)개의 이미지를 생성할 수 있습니다.

    요컨대


    이번에 나는 코드를 쓰지 않았지만, 나는 그림을 만들려고 시도했다.
    나는 지금 뭔가를 알아차렸지만, Pytorch 버전이 하나 더 있는 것 같아서, 그것으로 그것을 실현하고 싶다.
    나는 네가 그것을 참고할 수 있어서 매우 기쁘다...

    나에 관하여


    나는 블로그를 쓰고 있다.저는 오타쿠 고등학생으로 PHP와 JS 등 서버 사이드 시스템을 좋아합니다.나는 또한 C#과 파이톤으로 일부 현지 개발을 진행했다.
    아래를 따라가세요!
    My Blog
    GitHub @ichii731

    좋은 웹페이지 즐겨찾기