54 lines
2.5 KiB
Markdown
54 lines
2.5 KiB
Markdown
A `mirror` which shows which faces are detected through three different facial detection algorithms:
|
|
|
|
* OpenCV's deep neural net [face detector](https://github.com/opencv/opencv/tree/master/samples/dnn/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:
|
|
+ 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
|
|
+ Make the installer:
|
|
* `& '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'`
|
|
* `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](https://www.andreafortuna.org/2017/12/27/how-to-cross-compile-a-python-script-into-a-windows-executable-on-linux/) 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. |