How to Use iSketchNFill for Interactive Sketch-to-Image Translation

Aug 2, 2020 | Data Science

Have you ever found yourself sketching a beautiful idea only to be thwarted by your own artistic limitations? Fear not! With the innovative iSketchNFill project, you can transform simple sketches into stunning images effortlessly. This blog will guide you through the process step by step, and even provide troubleshooting tips along the way.

Prerequisites

Before kicking off our artistic journey, ensure you have the following tools ready:

  • Linux or macOS
  • Python 3
  • CPU or NVIDIA GPU + CUDA CuDNN

Getting Started

Let’s pave the way to creativity with some initial setups:

  1. Clone the repository:
  2. git clone https://github.com/arnabgho/iSketchNFill
    cd iSketchNFill
  3. Install PyTorch 1.0+ and dependencies from pytorch.org.
  4. Install Torchvision.
  5. Finally, install all requirements:
  6. pip install -r requirements.txt

Interacting with the Pre-Trained Model

Once you have set up the groundwork, it’s time to dive into interactivity:

First, download the pre-trained model using the following command:

bash scripts/download_pretrained_scribble_dataset.sh

Now, you can enjoy using the interface with this command:

python main_gui_shadow_draw_color.py --name wgangp_sparse_label_channel_pix2pix_autocomplete_multiscale_nz_256_nc_1_nf_32_gp_0_multigpu --model sparse_wgangp_pix2pix  --checkpoints_dir checkpoints_sparse --gpu_ids 0 --nz 256 --sparseSize 4 --fineSize 128 --ngf 32 --ndf 32 --num_interpolate 8 --input_nc 1 --output_nc 1

Feel free to adjust the number of shadows with the --num_interpolate parameter or tweak the quality of the results by changing the --test_std value.

Understanding the Model: The Analogy

Imagine you’re at a restaurant where chefs (the generator) take your vague order (your sketch) and deliver a full dish (the completed image). Here’s how the interaction unfolds:

  • Your initial sketch is like your vague order: it gives direction, but is quite open to interpretation.
  • The model then suggests various plausible dishes based on your order, which represent the auto-completions of your sketches.
  • With each suggestion, you can fine-tune the sketch, like a customer might adjust their order. This feedback helps the chef improve and creates a better dish tailored to your taste.

Tips for Using the Interface

As you dive into sketching, keep these tips in mind:

  • A thinner brush can provide better feedback for certain classes.
  • You can snap between different shapes by drawing near the shadows.
  • Experiment with small strokes to see various autocompletions that reflect different sizes or forms of your sketch.

New Features to Explore

Take note of two exciting features:

  • Select Patches: Choose from the auto-completions easily by cycling through them using the mouse scroll.
  • Warp Stroke: This allows you to manipulate your sketch’s shape through control points.

Training Your Own Models

If you wish to take it a step further and train your own models, prepare the training data and follow the commands provided in the README:

bash scripts/prepare_autocomplete_emoji.sh
python train.py --name wgangp_sparse_label_channel_pix2pix_autocomplete_multiscale_nz_256_nc_1_nf_32_gp_0_multigpu --model sparse_wgangp_pix2pix --dataroot ..data/autocomplete-cartoons  --lambda_A 0.0 --lambda_GAN 1 --niter 800  --lr_d 1e-4 --lr_g 1e-4 --checkpoints_dir checkpoints_sparse_cartoons --batchSize 128 --gpu_ids 0 --save_epoch_freq 1 --nz 256 --sparseSize 4 --fineSize 128 --ngf 32 --ndf 32 --autocomplete_dataset_outline  --img_conditional_D --input_nc 1 --output_nc 1

Troubleshooting

If you run into issues, here are some suggestions:

  • Ensure that your Python and CUDA installations are compatible with your GPU.
  • If sketches aren’t generating images, confirm that your command syntax is correct.
  • For model divergence, try reducing the learning rate as noted in the README.

For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.

Conclusion

With iSketchNFill, your artistic dreams are just a sketch away from reality. Dive in, experiment and let your creativity flourish!

At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

Stay Informed with the Newest F(x) Insights and Blogs

Tech News and Blog Highlights, Straight to Your Inbox