Home

Awesome

MUNIT-keras

A keras (tensorflow) reimplementation of MUNIT: Multimodal Unsupervised Image-to-Image Translation

Multimodal Unsupervised Image-to-Image Translation

Xun Huang, Ming-Yu Liu, Serge Belongie, Jan Kautz

Deviation from the official implementation

  1. Use group normalization instead of layer normalization in upscaling blocks.
    • Model using group norm (group=8) failed on reconstructing edge images of edges2shoe dataset.
  2. Use mixup technique for training.
  3. Input/Output size is defaulted 128x128.
  4. Use only 3 res blocks (instead of 4) as default in content encoder/decoder in order to reduce training time.
    • However, I'm worrying that this decreases the receptive field size so that the output quality becomes worse.
  5. Upscaling blocks use conv2d having kernel_size = 3 instead of 4.

Environment

Result

Acknowledgement

Code heavily inspired by official MUNIT pytorch implementation. Also borrow code from eridgd and tjwei.