실사를 애니메이션풍으로 변환해 주는 AnimeGAN(Windows10, Python3.6)

소개



실사를 애니메이션풍으로 변환해 주는 AnimeGAN을 해 보았습니다.

시스템 환경


  • Windows10(RTX2080 Max-Q, i7-8750H, RAM16GB)
  • Anaconda 2020.02
  • Python 3.6
  • CUDA 9.0

  • 소개



    AnimeGAN 을 복제합니다.

    animegan에 대한 환경을 만듭니다.
    $ conda create -n animegan python=3.6
    $ conda activate animegan
    $ pip install tensorflow-gpu==1.8.0
    $ pip install tqdm
    $ pip install scipy
    $ pip install opencv-python
    $ cd AnimeGAN-master
    

    AnimeGAN-master에 dataset을 놓습니다.

    Haoyao-style 의 내용을 checkpoint\AnimeGAN_Hayao_lsgan_300_300_1_3_10으로 복사합니다.

    CUDA 9.0을 설치합니다.


    C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin\cudart64_90.dll을 AnimeGAN-master에 복사합니다.

    다음을 실행하면
    $ python test.py --checkpoint_dir checkpoint/AnimeGAN_Hayao_lsgan_300_300_1_3_10 --test_dir dataset/test/real --style_name H
    

    오류가 발생했습니다.
    return _bootstrap._gcd_import(name[level:], package, level)
    ImportError: DLL load failed: 指定されたモジュールが見つかりません。
    

    windows10에 tensorflow 설치 (특정 오류 용) 을 참고로 vc_redist.x64.exe 를 인스톨 합니다.

    vgg19_weight에 vgg19.npy

    실행할 때도 오류가 발생했습니다.
    tensorflow.python.framework.errors_impl.InternalError: Blas SGEMM launch failed : m=36864, n=128, k=64
    

    TensorFlow에서 "Blas GEMM launch failed"가 나왔을 때의 대처법 를 참고하면 GPU1을 지정해야 했습니다.



    test.py의 9행 os.environ["CUDA_VISIBLE_DEVICES"] = "0"을 "1"로 변경하고 실행합니다.
    ======================End of Report==========================
    FLOPs: 7937325
    100%|██████████████████████████████████████████████████████████████████████████████████| 22/22 [01:24<00:00,  3.84s/it]
    test-time: 84.46189665794373 s
    one image test time : 3.839177120815624 s
    

    1장당 3.84초로 할 수 있었습니다!

    before



    dataset/test/real 폴더에 입력 이미지가 있습니다.


    after



    출력 결과는 results\H에 있습니다.


    수고하셨습니다.

    AnimeGANv2



    요 전날 AnimeGANv2가 나왔습니다!

    AnimeGANv2github: htps // t. 코 / 아 74PV1427 U 피 c. 라고 r. 이 m/lHrl이다 1STr — AK (@ak92501) August 7, 2020


    조속히 여기

    CUDA9.0
    tensorflow-gpu==1.8.0
    


    GPU에서 다음 오류가 발생했습니다.



    InternalError (see above for traceback): Blas SGEMM launch failed : m=126720, n=256, k=128
             [[Node: generator/G_MODEL/C/r1/Conv/Conv2D = Conv2D[T=DT_FLOAT, data_format="NHWC", dilations=[1, 1, 1, 1], padding="VALID", strides=[1, 1, 1, 1], use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/device:GPU:0"](generator/G_MODEL/C/LeakyRelu/Maximum, generator/G_MODEL/C/r1/Conv/weights/read)]]
    


    환경을 아래와 같이 변경하면 되었습니다.



    CUDA10.0、
    tensorflow-gpu==1.15.0
    


    dataset\test\HR_photo 폴더를 만들고 처리할 이미지를 넣습니다. 다음을 실행해 봅시다.



    python test.py --checkpoint_dir checkpoint/generator_Hayao_weight --test_dir dataset/test/HR_photo --style_name Paprika/HR_photo
    


    결과는 results\Paprika\HR_photo로 출력됩니다. GPU로 9초, CPU로 23초 정도였습니다.




















    입력출력




    다음은 동영상도 처리할 수 있게 되어 있으므로 처리하고 싶은 동영상을 video\input 폴더에 놓고 아래를 실행해 봅시다. 「꽃놀이.mp4」의 부분을 변경해 주세요. 결과는 video\output\Paprika로 출력됩니다.



    python video2anime.py --video video/input/お花見.mp4 --checkpoint_dir checkpoint/generator_Paprika_weight
    


    <script async=""src="https://platform.twitter.com/widgets.js"/>



    풀 HD의 23초 정도의 동영상으로, GPU로 3시간 정도 걸렸습니다(;'∀')


    좋은 웹페이지 즐겨찾기