Live visualisation of various facial recognition algorithms.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Ruben van de Ven e9c48317f8 Comment in Readme 2 years ago
.vscode Changes after feedback + better Windows installer explanation in Readme 2 years ago
dnn All sorts of test scripts and the first functional mirror version 2 years ago
face_recognition remove unneccesary import 2 years ago
visualhaar@1319e644b1 Changes after feedback + better Windows installer explanation in Readme 2 years ago
.gitignore Save images with spacebar 2 years ago
.gitmodules Crisper output and many configuration to cli arguments 2 years ago
README.md Comment in Readme 2 years ago
dnn_test.py All sorts of test scripts and the first functional mirror version 2 years ago
haarcascade_frontalface_alt2.xml All sorts of test scripts and the first functional mirror version 2 years ago
hog_test.py All sorts of test scripts and the first functional mirror version 2 years ago
live_dnn.py All sorts of test scripts and the first functional mirror version 2 years ago
live_hog.py All sorts of test scripts and the first functional mirror version 2 years ago
mirror.py Better use of absolute paths for portability 2 years ago
recognition_test.py All sorts of test scripts and the first functional mirror version 2 years ago
requirements.txt Better use of absolute paths for portability 2 years ago
test_rec.py All sorts of test scripts and the first functional mirror version 2 years ago
test_rust.py Crisper output and many configuration to cli arguments 2 years ago
video_multiprocess.py All sorts of test scripts and the first functional mirror version 2 years ago
video_threading.py All sorts of test scripts and the first functional mirror version 2 years ago

README.md

A mirror which shows which faces are detected through three different facial detection algorithms:

  • OpenCV's deep neural net face detector.
  • Dlib's default frontal face detector, which is HOG based
  • A Viola-Jones Haarcascade detection. Any OpenCV compatible xml file should work. It defaults to the canonical haarcascade_frontalface_alt2.xml.

Installation

on windows

The installation in Windows can be done, though it is quite elaborate:

  • Install python3
  • Install VS C++ build tools
  • Install Cmake (needed for python dlib)
    • make sure to add it to path
  • Install git
    • including ssh deploy key
  • git clone https://git.rubenvandeven.com/r/face_recognition
  • cd face_recognition
  • pip install virtualenv
  • virtualenv.exe venv
    • Might be that you need to run: C:\Users\DP Medialab\AppData\Roaming\Python\Python39\Scripts\virtualenv.exe (see pip output)
  • .\venv\Scripts\activate
    • Might be that you need to first run Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
  • cd .\dnn\face_detector
  • python.exe .\download_weights.py
  • cd ..\..
  • pip.exe install -r requirements.txt
  • cd .\visualhaar
  • Either one of:
  • Fetch SourceSansPro-Regular.ttf from the internet

  • Make the installer:

    • Either one of:

      • & 'C:\Users\DP Medialab\AppData\Roaming\Python\Python38\Scripts\pyinstaller.exe' .\mirror.py --add-binary '.\visualhaar\target\release\visual_haarcascades_lib.dll;.' --add-data '.\haarcascade_frontalface_alt2.xml;.' --add-data '.\SourceSansPro-Regular.ttf;.' --add-data 'dnn;dnn'
      • & '.\venv\Scripts\pyinstaller.exe' .\mirror.py --add-binary '.\visualhaar\target\release\visual_haarcascades_lib.dll;.' --add-data '.\haarcascade_frontalface_alt2.xml;.' --add-data '.\SourceSansPro-Regular.ttf;.' --add-data 'dnn;dnn'
    • mv '.\dist\mirror\mpl-data' '.\dist\mirror\matplotlib\'

    • Compress-Archive -LiteralPath .\dist\mirror -DestinationPath .\dist\mirror.zip

  • We could also use wine for cross compilation from Linux

    • make sure wine is set to pose as Windows 10 (winecfg)
    • wine ~/Downloads/python-3.9.0-amd64.exe (or whichever version you use)
      • Install for all users

    Instructor help

    If screen stays black: is the camera on?

    Enable camera through keyboard (MSI laptops: fn+F6). Then go to Settings/Instellingen -> Privacy instellingen voor camera -> Grant apps access to camera.