Style Transfer for Headshot Portraits




  • Paper topic: Images
  • Software type: Code
  • Able to run a replicability test: True
  • Replicability score: 4
  • Software language: Matlab / Mathematica / ..
  • License: unspecified
  • Build mechanism: Not applicable (python, Matlab..)
  • Dependencies: matlab / SIFTflow / iris / image_pyramids
  • Documentation score {0,1,2}: 1
  • Reviewer: Nicolas Bonneel <>
  • Time spent for the test (build->first run, timeout at 100min): 30min

Source code information


To make it run on Windows with Matlab R2018a : comment out #define _LINUX_MAC (as instructed) in project.h of both mexDenseSIFT and mexDiscreteFlow.
Then "int" should be changed to "mwSize" in Image.h of mexDenseSIFT (lines 1651 and 1760), in Matrix.cpp of mexDenseSIFT (lines 400 and 410), in Vector.h of mexDenseSIFT (lines 271 and 279), in mexDiscreteFlow.cpp of mexDiscreteFlow (lines 11, 17, 27 and 58), and in Image.h of mexDiscreteFlow  (lines 1452 and 1560).
The code then runs smoothly and produces a pixel wise replica of the images in supplementary materials (up to cropping: the images were adjusted to a 1000x1320 resolution with this exact aspect ratio, so padding had to be done on this input images). It produces 1480 results out of 99+3 images, which is slightly more than the supplemental material (91 test images ; the best result out of 5 were selected for each test image and each of 3 styles).
However, the code relies on computed landmarks per image, stored in *.lm files, for which no code is provided. The paper indicates they come from [Saraghi et al. 2009]. It seems some code for this paper can be found here : , though I did not test if this code directly produces these .lm files.
Similarly, the GrabCut+Matting Laplacian to obtain the face segmentation is not provided, nor the griddata call for inpainting the bakground. The iris/highlights extraction that uses [Daugman 1993] and [Levin et al. 2008] is not provided as well, though there is a folder called "iris" containing some matlab code (it is unclear but it seems it only performs eye detection and does not correspond to this highlight extraction). The code test_eye_transfer.m does not work due to missing eye data.
For these reasons I slightly lowered the replicability score although the obtained results match those of the paper.

If you want to contribute with another review, please follow these instructions.

Please consider to cut/paste/edit the raw JSON data attached to this paper.