ImageEye uses neuro-symbolic synthesis to automate image search and manipulation tasks. ImageEye was introduced in our paper ImageEye: Batch Image Processing Using Program Synthesis.
Requirement: Python3 (version >=3.10), we suggest using the conda environment.
- Install pip: conda install pip
- Run requirements
pip install -r requirements.txt
If there are more installation necessary to run this package, please update README and requirements.txt.
We have a Docker Image that reproduces the results in our paper. To load the saved image, use docker load -i imageeye.tar
. To build the image from source code, use docker build -t imageeye:v1 .
. Run the image with docker run -v [PATH]:/ImageEye/data imageeye:v1
, where [PATH] is the location on your machine that you would like the results to be output to. The image runs the following experiments:
- Runs ImageEye on 50 benchmarks as described in the paper.
- Runs ablations for no goal inference, no partial evaluation, and no equivalence reduction.
- Compares with EUSolver.
The results are summarized in csv files. It took about 5 hours to run everything on my machine.
We have a graphical user interface for ImageEye as well. You can run the GUI as follows:
- Install Node.js and npm
- From the
image-eye-web
directory, runnpm install
and thennpm start
. - In a separate terminal (in the main
ImageEye
directory), runpython app.py
. - The interface should open in your browser.
This GUI is a work in progress. It currently has the following limitations:
- Only supports image search.
- Does not allow you to upload your own image batch. You can select from a set list of images batches.
- Does not allow you to download results.