Live visualisation of various facial recognition algorithms.
.vscode | ||
dnn | ||
face_recognition | ||
visualhaar@1319e644b1 | ||
.gitignore | ||
.gitmodules | ||
dnn_test.py | ||
haarcascade_frontalface_alt2.xml | ||
hog_test.py | ||
live_dnn.py | ||
live_hog.py | ||
mirror.py | ||
README.md | ||
recognition_test.py | ||
requirements.txt | ||
test_rec.py | ||
test_rust.py | ||
video_multiprocess.py | ||
video_threading.py |
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.8
- 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)
- Might be that you need to run:
.\venv\Scripts\activate
- Might be that you need to first run
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
- Might be that you need to first run
cd .\dnn\face_detector
python.exe .\download_weights.py
cd ..\..
pip.exe install -r requirements.txt
cd .\visualhaar
- Either one of:
- Compile rust library
- Install rustup-init
git submodules init
git submodules update
cargo build --lib --release
- Download dll from https://git.rubenvandeven.com/r/visualhaar/releases
- Compile rust library
- 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' --hidden-import 'scipy.spatial.transform._rotation_groups' --hidden-import 'skimage.filters.rank.core_cy_3d'
Compress-Archive -LiteralPath .\dist\mirror -DestinationPath .\dist\mirror.zip
- Either one of:
- 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
- make sure wine is set to pose as Windows 10 (
On windows in VirtualBox
See this on getting the webcam working in the VM:
- Install extension pack:
sudo apt install virtualbox-ext-pack
VBoxManage list webcams
VBoxManage controlvm "WIn10" webcam attach .3
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.