Neural-Photo-Editor  by ajbrock

Photo editor for generative neural network research

created 8 years ago
2,079 stars

Top 22.0% on sourcepulse

GitHubView on GitHub
Project Summary

This repository provides a simple interface for editing natural photos using generative neural networks, specifically Introspective Adversarial Networks (IANs). It's targeted at researchers and users interested in exploring latent space manipulation for image editing, offering a GUI for interactive control.

How It Works

The Neural Photo Editor (NPE) utilizes IANs, a generative model architecture, to allow users to edit images by painting directly on the image or within a latent space representation. The system supports different model configurations (VAE or ALI-based GANs) and includes a simplified "IAN_simple" model designed for efficient operation on hardware with limited GPU memory.

Quick Start & Requirements

  • Install: python NPE.py
  • Prerequisites: Python 2.7, Theano (development version), Lasagne (development version), numpy, scipy, PIL, Tkinter, tkColorChooser. cuDNN is recommended but not required.
  • Configuration: For Windows, create a .theanorc file with FLOATX=float32. For Linux, prepend THEANO_FLAGS=floatX=float32 to the command. If not using cuDNN, change dnn=True to dnn=False in NPE.py (line 56).
  • Resources: The IAN_simple model runs on laptops with ~1GB VRAM (e.g., GT730M).
  • Links: Associated Video

Highlighted Details

  • Interactive GUI for image editing via direct painting or latent space manipulation.
  • Supports various generative model backends (VAE, ALI-based GANs) by modifying config paths.
  • Includes a subset of the CelebA validation set for testing.
  • Offers controls for brush size, magnitude, and image reset/update functionality.

Maintenance & Community

The project appears to be a research artifact with code adopted from various sources. There is no explicit mention of ongoing maintenance, community channels, or a roadmap.

Licensing & Compatibility

The repository does not explicitly state a license. The code incorporates components from various sources, some of which may have their own licenses. Compatibility for commercial use or closed-source linking is not specified.

Limitations & Caveats

The project is built for Python 2.7 and may have incompatibilities with Python 3. The MADE layer has a limitation on hidden unit sizes. The code is currently in a single, unorganized directory, with plans for future cleanup. The "plat interface" suggests potential for framework independence, but this requires user modification.

Health Check
Last commit

8 years ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
2 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.