Skip to content

fibarrola/cicada

Repository files navigation

CICADA

A Collaborative, Interactive and Context Aware Drawing Agent for Co-Creative Design

Francisco Ibarrola, Tomas Lawton and Kazjon Grace

You can read the preprint here

To avoid the struggle that installation sometimes entail, we recommend you try CICADA in a google Colab notebook.

Open In Colab


Installation

gcc version

Make sure your gcc version is 8 or lower

gcc --version

Install

Make sure you have Anaconda 3 installed. Clone the repo, cd to it and run setup.sh (this can take a while)

git clone https://github.com/fibarrola/cicada.git
cd cicada
source setup.sh

Using CICADA

Once installed, it can be run as

$ python3 main.py

The following options can be used to change the default parameters

--svg_path <str>            path to svg partial sketch
--prompt <str>              what to draw
--neg_prompt <str>
--neg_prompt_2 <str>
--use_neg_prompts <bool>
--normalize_clip <bool>
--num_paths <int>           number of strokes to add
--canvas_h <int>            canvas height
--canvas_w <int>            canvas width
--max_width <int>           max px width
--num_iter <int>            maximum algorithm iterations
--w_points <float>          regularization parameter for Bezier point distance
--w_colors <float>          regularization parameter for color differences
--w_widths <float>          regularization parameter for width differences
--w_img <float>             regularization parameter for image L2 similarity
--w_geo <float>             regularization parameter for geometric similarity
--x0 <float>                coordinate for drawing area
--x1 <float>                coordinate for drawing area
--y0 <float>                coordinate for drawing area
--y1 <float>                coordinate for drawing area
--num_trials <int>          number of times to run the algorithm
--num_augs <int>            number of augmentations for computing semantic loss
--prune_ratio <float>       ratio of paths to be pruned out
--save_path <str>           subfolder for saving results

Capability

CICADA is meant to give way to an interactive design process. Here we show an example of a human user drawing "An avocado chair", and using CICADA to aid her in making the drawing into a "An antique avocado chair". The interface is still under development and will be released shortly.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published