Skip to content

axxeman23/star_identifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Star Identifier

https://github.com/axxeman23/star_identifier

Intro

Star Identifier uses facial recognition to automatically identify who is in images or scene screenshots from the performers already in your Stash library.

Requirements

Python3

version: 3.10.x +

Installing Python

  1. Download Python here
  2. Install & add to your PATH
  3. Configure Stash to use Python (if necessary. This can be set in the System tab of your Settings page)

Libs & Dependencies

CMake

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

Python Libraries

  1. numpy
  2. dlib
  3. face_recognition

pip install numpy dlib face_recognition

For more details, see the Face Recognition installation instructions.

Plugin Files

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

Config

Paths

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.

Stash Settings

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.

Star Identifier Settings

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.

Running

Export Performers

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.

Identify 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.

Identify Scene Screenshots

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.

Upcoming roadmap

See issues