Project Details

The Challenge | The Art Side of the Moon

Fifty years ago, generations were inspired when humans made a giant leap and walked on the moon. Today, NASA is committed to returning to the moon and beyond! Your challenge is to create an artistic work to communicate, inform, or inspire others about humanity’s return to the moon.

MoonArt AI

MoonArt AI is inspiring people with AI augmented pictures using NASA Image and Video Library's API

Moon Art AI

Revisiting the moon will involve many challenges. We will learn how to use the moon’s resources in order to sustain missions at a greater distance and duration. It will not be easy. Radiation, isolation, and dangerous and unexpected environments will test our limits like never before. We will face these challenges and expand the perimeter of the human presence in the interest of exploration.

Our approach inspires people by providing them a platform that stylizes images with random or custom moon images. These images can be used for any purpose e.g. in games, over clothes, etc.

We offer random moon pictures provided by NASA Image and Video Library's API. Users should simply click on the "Random Style" button. For our main purpose, we use Deep learning with neural style transfer algorithm. It composes one image in the style of another image by using neural network.

The neural style transfer is an optimization technique used to take two images — a content image and a style referenceimage (in our case a moon picture) — and blend them together so the output image looks like the content image, but “painted” in the style of the style reference image.

Except pictures, our platform supports stylizing videos.

Used technologies:

  • Deep learning AI;
  • Angular 8;
  • ASP.NET Core 3.0.

Requirements:

  • .NET Core 3.0;
  • NodeJS;
  • TensorFlow 0.11.0;
  • Python 2.7.9, Pillow 3.4.2, scipy 0.18.1, numpy 1.11.2;
  • If you want to train (and don't want to wait for 4 months):
    • A decent GPU.
  • ffmpeg 3.1.3 if you want to stylize video.

How to run the project:

  1. Open cmd and navigate to front-end folder
  2. Type npm start
  3. Open another cmd and navigate to back-end folder
  4. Type dotnet run

In order to train a new style transfer network:

python style.py --style path/to/style/img.jpg \
--checkpoint-dir checkpoint/path \
--test path/to/test/img.jpg \
--test-dir path/to/test/dir \
--content-weight 1.5e1 \
--checkpoint-iterations 1000 \
--batch-size 20

In order to evaluate a style transfer network:

python evaluate.py --checkpoint path/to/style/model.ckpt \
--in-path dir/of/test/imgs/ \
--out-path dir/for/results/

You can even stylize a video:

python transform_video.py --in-path path/to/input/vid.mp4 \
--checkpoint path/to/style/model.ckpt \
--out-path out/video.mp4 \
--device /gpu:0 \
--batch-size 4

Source Code: https://github.com/Hulkstance/spaceapps