diff --git a/README.md b/README.md index 49aa152..783d887 100644 --- a/README.md +++ b/README.md @@ -5,23 +5,23 @@ This project applies an implementation of [Image Inpainting for Irregular Holes ![Censored, decensored](/readme_images/mermaid_collage.png) -# What's New? +## What's New? - Decensoring images of ANY size - Decensoring censors of ANY shape (e.g. bunch of black lines, pink hearts, etc.) - Higher quality decensors - Support for mosaic decensors - User interface (still a WIP and not very usable) -# Installation +## Installation -## Download Prebuilt Binaries +### Download Prebuilt Binaries You can download the latest release [here](https://github.com/deeppomf/DeepCreamPy/releases/latest) or find all previous releases [here](https://github.com/deeppomf/DeepCreamPy/releases). Binary only available for Windows 64-bit. -## Run Code Yourself +### Run Code Yourself If you want to run the code yourself, you can clone this repo and download the model from https://drive.google.com/open?id=1byrmn6wp0r27lSXcT9MC4j-RQ2R04P1Z. Unzip the file into the /models/ folder. -### Dependencies (for running the code yourself) +#### Dependencies (for running the code yourself) - Python 3 - TensorFlow 1.10 - Keras 2.2.4 @@ -36,7 +36,7 @@ Tensorflow, Keras, Pillow, and h5py can all be installed by running in the comma $ pip install -r requirements.txt ``` -# Limitations +## Limitations The decensorship is intended to work on color hentai images that have minor to moderate censorship of the penis or vagina. If a vagina or penis is completely censored out, decensoring will be ineffective. It does NOT work with: @@ -47,8 +47,8 @@ It does NOT work with: - Censorship of anus - Animated gifs/videos -# Usage -## I. Decensoring bar censors +## Usage +### I. Decensoring bar censors For each image you want to decensor, using image editing software like Photoshop or GIMP to color the areas you want to decensor the green color (0,255,0), which is a very bright green color. @@ -63,11 +63,11 @@ To expand selections in GIMP, do Select > Grow. Save these images in the PNG format to the "decensor_input" folder. -### A. Using the binary +#### A. Using the binary Decensor the images by double-clicking on the decensor file. -### B. Running from scratch +#### B. Running from scratch Decensor the images by running @@ -77,7 +77,7 @@ $ python decensor.py Decensored images will be saved to the "decensor_output" folder. Decensoring takes a few minutes per image. -## II. Decensoring mosaic censors +### II. Decensoring mosaic censors As with decensoring bar censors, perform the same steps of coloring the censored regions green and putting the colored image into the "decensor_input" folder. @@ -85,11 +85,11 @@ In addition, move the original, uncolored images into the "decensor_input_origin For example, if the original image is called "mermaid.jpg," then you want to put this image in the "decensor_input_original" folder and, after you colored the censored regions, name the colored image "mermaid.png" and move it to the "decensor_input" folder. -### A. Using the binary +#### A. Using the binary Decensor the images by double-clicking on the decensor_mosaic file. -### B. Running from scratch +#### B. Running from scratch Decensor the images by running @@ -99,11 +99,11 @@ $ python decensor.py --is_mosaic=True Decensored images will be saved to the "decensor_output" folder. Decensoring takes a few minutes per image. -## III. Decensoring with the user interface +### III. Decensoring with the user interface To be implemented. -# Troubleshooting +## Troubleshooting If your decensor output looks like this, then the censored regions were not colored correctly. ![Bad decensor](/readme_images/mermaid_face_censored_bad_decensor.png) @@ -118,21 +118,21 @@ Here are some examples of bad and good colorings: |![Bad edges](/readme_images/mermaid_face_censored_bad_edge.png)|![Bad edges](/readme_images/mermaid_face_censored_bad_edge_zoom.png)|Some pixels around the edges of the green regions are not pure green. This will cause the green to bleed into the decensors. Make sure anti-aliasing is off and to use a pencil tool and not a brush tool if possible.| |![Perfect coloring!](/readme_images/mermaid_face_censored_good.png)|![Perfect coloring! The censored region is uniformly colored correctly.](/readme_images/mermaid_face_censored_good_zoom.png)|Perfect coloring!| -# FAQ +## FAQ - Q: Why aren't black and white images supported? Aren't black and white images easier to decensor than color images? - A: Black and white images are harder to decensor than color images because neural networks struggle to replicate screentone patterns. -# To do +## To do - Finish the user interface - Update model with better quality data - Add support for black and white images Contributions are welcome! Special thanks to StartleStars for contributing code for mosaic decensorship and SoftArmpit for greatly simplifying decensoring! -# License +## License See [LICENSE.txt](LICENSE.txt) for information about the license. -# Acknowledgements +## Acknowledgements Example mermaid image by Shurajo & AVALANCHE Game Studio under [CC BY 3.0 License](https://creativecommons.org/licenses/by/3.0/). The example image is modified from the original, which can be found [here](https://opengameart.org/content/mermaid). Neural network code is modified from MathiasGruber's project [Partial Convolutions for Image Inpainting using Keras](https://github.com/MathiasGruber/PConv-Keras), which is an unofficial implementation of the paper [Image Inpainting for Irregular Holes Using Partial Convolutions](https://arxiv.org/abs/1804.07723). [Partial Convolutions for Image Inpainting using Keras](https://github.com/MathiasGruber/PConv-Keras) is licensed under the MIT license.