Command line interface for pre-processing images for model training.
-
Download all images from a url
-
Convert images to PNG
-
Resize and crop images
-
Chunk large images into smaller squares
-
Remove images with more than one person
create a virtual environment and imgtools-cli through pip:
python3 -m venv venv
source venv/bin/activate
pip install imgtools-cli
python -m imgtools_cli -h
-D {url}, {output directory}
python -m imgtools_cli -D https://www.gutenberg.org/cache/epub/67098/pg67098-images.html /Users/ootie/images
-I {input directory}
python -m imgtools_cli -I /Users/ootie/image_files
-r {input directory}, {width}, {height}, {crop_focal_point}, {dnn_model_path}
Using crop focal point:
python -m imgtools_cli -r /Users/ootie/images 512 512 True None
Passing in a haar xml to focal crop faces:
python -m imgtools_cli -r /Users/ootie/images 512 512 True /Users/ootie/models/haarcascade_frontalface_default.xml
Easily take large images and split them into smaller squares for training.
Example: You may want to train on this image but need to split it into smaller squares for training.
Put it through the chunker and you get this:
chunk 1 | chunk 2 | chunk 3 | ||
---|---|---|---|---|
-C {dimensions}, {input_directory}, {output_directory}
python -m imgtools_cli -C 512 /Users/ootie/input /Users/ootie/output
Uses face detection to remove images with more than one person. Helpful for cleaning source images to be used for Stable Diffusion training.
Example: If your input images have more than one person, the image will be deleted:
Sample images to test with: https://github.com/hassan-sd/people-remover/tree/main/images
-R {input_directory}, {path_to_cascade_xml}
python -m imgtools_cli -R /Users/ootie/image-tools/images/ /Users/ootie/image-tools/examples/haarcascade_frontalface_default.xml
Ported from: https://github.com/hassan-sd/people-remover