Home

Awesome

chainer-dfi

Implementation of "Deep Feature Interpolation for Image Content Changes"(https://arxiv.org/abs/1611.05507) using Chainer.

Requirements

Usage

Download Caffe model and convert

Download Caffe VGG-19 layer model

Download VGG_ILSVRC_19_layers.caffemodel from https://gist.github.com/ksimonyan/3785162f95cd2d5fee77.

Convert Caffe model to Chainer model.

$ python src/create_chainer_model.py

To use Labeled Faces in the Wild (LFW)

Download dataset

Interpolate feature

Example:

python src/train_lfw.py lfw-deepfunneled lfw_attributes.txt "Silvio Berlusconi" 23 smiling image/lfw_out.jpg -g 0

Output example

person name: "Silvio Berlusconi"
image number: 23

Feature: smiling

OriginalWeight: 0.1Weight: 0.2Weight: 0.3Weight: 0.4Weight: 0.5
Original imageImage with interpolation weight=0.1Image with interpolation weight=0.2Image with interpolation weight=0.3Image with interpolation weight=0.4Image with interpolation weight=0.5

Feature: senior

OriginalWeight: 0.1Weight: 0.2Weight: 0.3Weight: 0.4Weight: 0.5
Original imageImage with interpolation weight=0.1Image with interpolation weight=0.2Image with interpolation weight=0.3Image with interpolation weight=0.4Image with interpolation weight=0.5

To use Large-scale CelebFaces Attributes (CelebA) Dataset

Download dataset

Make image list for source and target images

Example:

$ python src/extract_image.py img_align_celeba list_attr_celeba.txt image_normal.txt image_smile.txt smiling young,bags_under_eyes -e eyeglasses,male,pale_skin,narrow_eyes,bushy_eyebrows,chubby,double_chin,bald,bangs,receding_hairline,sideburns,wavy_hair,blond_hair,gray_hair,mouth_slightly_open

Interpolate feature

Example:

$ python src/train.py sample/sample.png image/out/out.png image_normal.txt image_smile.txt -g 0 -c 19,39,159,179

Output example

Feature: smiling

OriginalWeight: 0.1Weight: 0.2
Original imageImage with interpolation weight=0.1Image with interpolation weight=0.2
Weight: 0.3Weight: 0.4Weight: 0.5
Image with interpolation weight=0.3Image with interpolation weight=0.4Image with interpolation weight=0.5

Difference from the original implementation

License

MIT License