This is the code for StoryGAN adapted from CLEVR dataset.
First we render synthetic images using Blender, outputting both rendered images as well as a JSON file containing ground-truth scene information for each image.
wget https://ftp.nluug.nl/pub/graphics/blender/release/Blender2.78/blender-2.78b-linux-glibc219-x86_64.tar.bz2
bzip2 -d blender-2.78b-linux-glibc219-x86_64.tar.bz2
tar xopf blender-2.78b-linux-glibc219-x86_64.tar
export BLENDER_PATH="$PWD/blender-2.78b-linux-glibc219-x86_64"
export PATH=$BLENDER_PATH:$PATH
Blender ships with its own installation of Python which is used to execute scripts that interact with Blender; you'll need to add the image_generation
directory to Python path of Blender's bundled Python. The easiest way to do this is by adding a .pth
file to the site-packages
directory of Blender's Python, like this:
echo $PWD/image_generation >> $BLENDER/$VERSION/python/lib/python3.5/site-packages/clevr.pth
where $BLENDER
is the directory where Blender is installed and $VERSION
is your Blender version; for example on OSX you might run:
echo $PWD/image_generation >> /Applications/blender/blender.app/Contents/Resources/2.78/python/lib/python3.5/site-packages/clevr.pth
cd image_generation
bash gen_img.sh
On OSX the blender
binary is located inside the blender.app directory; for convenience you may want to
add the following alias to your ~/.bash_profile
file:
alias blender='/Applications/blender/blender.app/Contents/MacOS/blender'
The file inc_output/CLEVR_scenes.json
will contain ground-truth scene information for all newly rendered images.
You can find more details about image rendering here.
Next we generate ground truth features.
You can generate feature like this:
cd descripton_generation
python vec_questions.py
The file inc_output/CLEVR_dict.npy
will then contain feature vectors for generated images.