Organizes pictures according to peoples faces in the pictures. It also writes the peoples names in the usercomment EXIF tag. It uses the amazing face_recognition based on dlib. This brings super easy face recognition to you without uploading any to facebook, google, etc. No internet connection required! Everything stays on your computer.
After some time initial labeling faces, I organized my entire picture collection of 20k pictures over night (FaceTag is using all cpu cores). The unrecognized faces are softlinked in the folder "unkown" (this also serves as a pool to improve face recognition for a future run).
It can be used in the console using
python3 facetag.py
or in a jupyter notebook.
python3 facetag.py --folder demo
and it will recursively get all jpg files.
and also rotate them according to the Orientation exif tag using jhead.
It asks for the names of all unknown people in a picture and adds them to it's name database.
The exif user_comment tag is filled with the names from the left to the right :-)
Already in the folloing picture face recognition works without any further input.
and in the next picture too:
Additionally to EXIF tags, subfolders with softlinks are created according to the names.
The following works on linux:
sudo apt install jhead python3-pip cmake libboost-all-dev python3-tk
pip3 install numpy dlib piexif face_recognition