ProsePainter combines direct digital painting with real-time guided machine-learning based image optimization.

Overview

ProsePainter

Create images by painting with words.

ProsePainter combines direct digital painting with real-time guided machine-learning based image optimization. Simply state what you want and draw the region where you want it. Tux, the Linux mascot

SETUP

The app consists of a python server which does the computations and a web based interface using a nodejs server.

Install Python Server:

Due to the use of CLIP, it is recommended to use python3.7 and torch 1.7.1+cu110 (available here).

With the following command you can set up a conda environment named prosepaint where all the dependencies will be installed.

conda env create -f server/env-server.yaml

Run Python Server:

The following command will launch the uvicorn server.

export PYTHONPATH=.; python server/server_deploy.py

Install NodeJS Server:

cd client
npm install

Run NodeJS Server:

cd client
npm run dev

Open http://localhost:8003/ in your web browser.

Comments
  • server-env.yml

    server-env.yml

    In the readme it's listed as .yaml but is .yml and when I tried to run it I ran into this issue https://github.com/conda/conda/issues/10807 where pip was expecting user input but conda never showed it so it got stuck. I went to manually install the pip packages and found that the error is when pip installs geniverse. versioneer was not installed first. So I went to install that but then when installing geniverse again it shows versioneer has no module get-version. This all happens when looking at the opt_einsum and mypy package. Any help?

    opened by kendrick90 15
  • Lack of logo or favicon

    Lack of logo or favicon

    This is not a very important thing but for advertising or announcing that the application exists, a logo is very good.

    You already have: https://www.prosepainter.com/images/favicon.ico (too simple and is not being used in fact as favicon) and diverse results: https://www.prosepainter.com/images/modal/after.jpg / http://jnack.com/blog/wp-content/uploads/2021/11/ProsePainter-1024x903.jpg or even the avatar of Morphogens: https://avatars.githubusercontent.com/u/78821485?v=4&s=160 are being used as logo in a non-official way.

    Would be great to have an official logo.

    greetings!

    opened by Jakeukalane 0
  • Magic Ink not working / I am ignorant

    Magic Ink not working / I am ignorant

    Hello!

    I am new to Ubuntu and was trying to clone and run the project and see what all it does.

    I was able to get the server and client running. I was able to doodle with the sketch tool. However, the Magic Ink tool where you select and enter keywords before clicking start did not work. I am unsure if I am missing something, if there is a database or machine learning algorithm that is required which is not included in the repository, or what I am doing wrong.

    I tried the colorful flowers prompt, frog, and humanoid since they were included in the server test-imgs folder. But nothing happened. Attaching a video file for reference. Any help or explanation would be appreciated!

    Also, clicking the Stop button above "You're up next!" breaks the application and nothing else can be done until refreshing the webpage.

    Here is a video detailing what I wrote above: https://user-images.githubusercontent.com/100816997/156485027-5d8dc79c-978f-4195-96e0-69843305c182.mp4

    Thank you,

    Eli

    opened by EliBlackwell 3
  • Prompt Weights

    Prompt Weights

    Does Prose Painter support setting prompt weights, much like the original VQGAN colab? Example: dog | red:1 | blue:-1 to make a dog with extra red and no blue.

    opened by zpxp 0
  • Upscaling

    Upscaling

    Got another error when trying to upscale 2021-11-17 11:07:27.168 | INFO | __main__:listen_loop:317 - RECEIVED TOPIC upscale-generation 2021-11-17 11:07:27.214 | DEBUG | server.server_modelling:load_model:45 - LOADING esrgan... 2021-11-17 11:07:35.802 | DEBUG | server.server_modelling:load_model:75 - ESRGAN downloaded in server/.cache/RRDB_ESRGAN_x4.pth 2021-11-17 11:07:36.168 | DEBUG | server.server_modelling_utils:scale_crop_tensor:107 - IMAGE CROP SIZE: torch.Size([260, 430]) 2021-11-17 11:07:36.171 | DEBUG | server.server_modelling_utils:scale_crop_tensor:123 - SCALED CROP SIZE: (256, 416) 2021-11-17 11:07:36.174 | DEBUG | server.server_modelling_utils:scale_crop_tensor:107 - IMAGE CROP SIZE: torch.Size([260, 430]) 2021-11-17 11:07:36.176 | DEBUG | server.server_modelling_utils:scale_crop_tensor:123 - SCALED CROP SIZE: (256, 416) Exception in thread Thread-4: Traceback (most recent call last): File "C:\Users\Kendrick\anaconda3\envs\prosepaint\lib\threading.py", line 926, in _bootstrap_inner self.run() File "C:\Users\Kendrick\anaconda3\envs\prosepaint\lib\threading.py", line 870, in run self._target(*self._args, **self._kwargs) File "server/server_deploy.py", line 290, in upscale_canvas num_chunks, File "C:\Users\Kendrick\Documents\GitHub\ProsePainter\server\server_modelling.py", line 446, in upscale_img upscaled_w, ] = upscaled_crop RuntimeError: The expanded size of the tensor (1664) must match the existing size (832) at non-singleton dimension 3. Target sizes: [1, 3, 1024, 1664]. Tensor sizes: [3, 512, 832]

    opened by kendrick90 2
Owner
Morphogen
Morphogen
Digital image process Basic algorithm

These are some basic algorithms that I have implemented by my hands in the process of learning digital image processing, such as mean and median filtering, sharpening algorithms, interpolation scaling algorithms, histogram equalization algorithms, etc.

JingYu 2 Nov 3, 2022
Photini - A free, easy to use, digital photograph metadata (Exif, IPTC, XMP) editing application for Linux, Windows and MacOS.

A free, easy to use, digital photograph metadata (Exif, IPTC, XMP) editing application for Linux, Windows and MacOS. "Metadata" is said to mea

Jim Easterbrook 120 Dec 20, 2022
Python Digital Art Generator

Python Digital Art Generator The main goal of this repository is to generate all possible layers permutations given by the user in order to get unique

David Cuentas Mar 3 Mar 12, 2022
Easily turn large sets of image urls to an image dataset. Can download, resize and package 100M urls in 20h on one machine.

img2dataset Easily turn large sets of image urls to an image dataset. Can download, resize and package 100M urls in 20h on one machine. Also supports

Romain Beaumont 1.4k Jan 1, 2023
An esoteric visual language that takes image files as input based on a multi-tape turing machine, designed for compatibility with C.

vizh An esoteric visual language that takes image files as input based on a multi-tape turing machine, designed for compatibility with C. Overview Her

Sy Brand 228 Dec 17, 2022
Make GIFs from time-stacked xarray.DataArrays (time, [optional band], y, x), dead-simple.

GeoGIF Make GIFs from time-stacked xarray.DataArrays (time, [optional band], y, x), dead-simple. from geogif import gif, dgif gif(data_array) dgif(das

Gabe Joseph 47 Dec 22, 2022
Nanosensor Image Processor (NanoImgPro), a python-based image analysis tool for dopamine nanosensors

NanoImgPro Nanosensor Image Processor (NanoImgPro), a python-based image analysis tool for dopamine nanosensors NanoImgPro.py contains the main class

null 1 Mar 2, 2022
Image-Viewer is a Windows image viewer based on Python 3.

Image-Viewer Hi! Image-Viewer is a Windows image viewer based on Python 3. Using You must download Image-Viewer.exe from the root of the repository. T

null 2 Apr 18, 2022
Seaborn-image is a Python image visualization library based on matplotlib and provides a high-level API to draw attractive and informative images quickly and effectively.

seaborn-image: image data visualization Description Seaborn-image is a Python image visualization library based on matplotlib and provides a high-leve

null 48 Jan 5, 2023
An open source image editor which can manipulate an image in many ways!

Image Editor - An open source image editor which can manipulate an image in many ways! If you need any more modes in repo or I

TroJanzHEX 44 Nov 17, 2022
Image enhancing model for making a blurred image to be somehow clearer than before

This is a very small prject which helps in enhancing the images by taking a Input images. This project has many features like detcting the faces and enhaning the faces itself and also a feature which enhances the whole image

null 3 Dec 3, 2021
A pure python implementation of the GIMP XCF image format. Use this to interact with GIMP image formats

Pure Python implementation of the GIMP image formats (.xcf projects as well as brushes, patterns, etc)

FHPyhtonUtils 8 Dec 30, 2022
Image Reading, Metadata Conversion, and Image Writing for Microscopy Images in Python

AICSImageIO Image Reading, Metadata Conversion, and Image Writing for Microscopy Images in Pure Python Features Supports reading metadata and imaging

Allen Institute for Cell Science - Modeling 137 Dec 14, 2022
This app finds duplicate to near duplicate images by generating a hash value for each image stored with a specialized data structure called VP-Tree which makes searching an image on a dataset of 100Ks almost instantanious

Offline Reverse Image Search Overview This app finds duplicate to near duplicate images by generating a hash value for each image stored with a specia

null 53 Nov 15, 2022
Quickly 'anonymize' all people in an image. This script will put a black bar over all eye-pairs in an image

Face-Detacher Quickly 'anonymize' all people in an image. This script will put a black bar over all eye-pairs in an image This is a small python scrip

Don Cato 1 Oct 29, 2021
Fast Image Retrieval is an open source image retrieval framework

Fast Image Retrieval is an open source image retrieval framework release by Center of Image and Signal Processing Lab (CISiP Lab), Universiti Malaya. This framework implements most of the major binary hashing methods, together with both popular backbone networks and public datasets.

CISiP Lab 39 Nov 25, 2022
Fast Image Retrieval (FIRe) is an open source image retrieval project

Fast Image Retrieval (FIRe) is an open source image retrieval project release by Center of Image and Signal Processing Lab (CISiP Lab), Universiti Malaya. This project implements most of the major binary hashing methods to date, together with different popular backbone networks and public datasets.

CISiP Lab 39 Nov 25, 2022
A Python Script to convert Normal PNG Image to Apple iDOT PNG Image.

idot-png-encoder A Python Script to convert Normal PNG Image to Apple iDOT PNG Image (Multi-threaded Decoding PNG). Usage idotpngencoder.py -i <inputf

Lrdcq 2 Feb 17, 2022
Anaglyph 3D Converter - A python script that adds a 3D anaglyph style effect to an image using the Pillow image processing package.

Anaglyph 3D Converter - A python script that adds a 3D anaglyph style effect to an image using the Pillow image processing package.

Kizdude 2 Jan 22, 2022