← all repositories
carpedm20/simulated-unsupervised-tensorflow

SimGAN in TensorFlow: making fake eyes look real

A 2017-era implementation that uses adversarial training to refine synthetic eye images so they fool a discriminator without losing their gaze labels.

simulated-unsupervised-tensorflow
Velocity · 7d
+0.2
★ / day
Trend
steady
star history

What it does

This repo implements SimGAN, the paper where Apple taught a refiner network to take synthetic eye images from the UnityEyes simulator and make them look photorealistic. A discriminator tries to spot the fakes; the refiner tries to evade it while preserving the original gaze direction. The result: more training data for eye-tracking models without collecting millions of real photos.

The interesting bit

The author didn’t have the paper’s full 1.2M synthetic images or its exact hyperparameters, so this is a leaner, more transparent reproduction. You can watch the trade-off between realism and label fidelity by tweaking lambda and swapping between Adam and SGD.

Key highlights

  • Trains on just 83K synthetic images (14% of the paper’s dataset) and still produces visible refinement
  • Includes side-by-side loss curves for different lambda values and optimizers
  • Supports inference mode to refine an entire directory of synthetic images with a pretrained model
  • TensorBoard logging baked in

Caveats

  • Locked to Python 2.7 and TensorFlow 0.12.1 — expect archaeology if you try to run it today
  • Hyperparameters B and lambda were manually chosen because the paper omitted them

Verdict

Worth a look if you’re studying domain adaptation or need a concrete SimGAN reference. Skip it if you want a modern, maintained pipeline; this is a 2017 snapshot with vintage dependencies.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.