https://github.com/axxeman23/star_identifier
Star Identifier uses facial recognition to automatically identify who is in images or scene screenshots from the performers already in your Stash library.
version: 3.10.x +
- Download Python here
- Install & add to your PATH
- Configure Stash to use Python (if necessary. This can be set in the
System
tab of yourSettings
page)
For Windows:
- You'll also need to install Microsoft Visual Studio 2015 (or newer) with C/C++ Compiler installed. Link here
- Install and add CMake to your PATH. Link
- For more details, see this issue
For Mac & Linux:
brew install cmake
- numpy
- dlib
- face_recognition
pip install numpy dlib face_recognition
For more details, see the Face Recognition installation instructions.
You'll need the following in your plugins
folder from this repo. Copy star_identifier.yml
to the plugins
folder, and the rest of the files to a folder called py_plugins
inside the plugins
folder. If you already have log.py
in py_plugins
, skip copying that one (it should be the same)
star_identifier.yml
py_plugins:
| log.py
| star_identifier_config.py
| star_identifier_interface.py
| star_identifier.py
Running the plugin will create a folder. By default, this will be created in your plugins
folder, but you can change that in the config.
Face encodings will be saved to that new folder. The encodings file will be roughly 1MB per 1,000 performers.
Star Identifier uses a tag to find images or scenes you would like identified. By default, that tag is star identifier
.
Since the recognition is based on a single performer image, that image needs to have a pretty clear front-facing view of the performer's face. If face_recognition fails to find a performer's face, Star Identifier will tag that performer with star identifier performer error
by default.
You can adjust the tolerance for identification here. 0.6
is default and typical, but I've found 0.5
to work well. Lower is more strict.
This is the first step. Star Identifier loads each performer's image, encodes their facial features into a numpy array, and saves those arrays. The clearer the face of the performer, the better identification results will be. Performers whose faces are not recognized by face_recognition will be tagged for you to update as desired.
This only needs to be run once, or after new performers are added or have updated images.
This loads all images in the stash database tagged with star identifier
(by default), compares the recognized faces to the exported face database, and then adds all potential matches to those images as performers.
This loads the screenshot for every scene in the stash database tagged with star identifier
(by default), compares the recognized faces to the exported face database, and then adds all potential matches to those scenes as performers.
See issues