Instructions tested with a Raspberry Pi 2 with an 8GB memory card. Probably also works fine on a Raspberry Pi 3.
Download the latest Raspbian Jessie Light
image. Earlier versions of Raspbian won't work.
Write it to a memory card using Etcher, put the memory card in the RPi and boot it up.
Log in. Default username / password is pi
/ raspberry
.
Set up Wifi (if you are using Wifi) according to the Raspberry Pi instructions.
Run sudo raspi-config
and configure the basics:
- Set up your keyboard layout (It defaults to a British keyboard layout)
- Change default user password
- Enable the Raspberry Pi camera (if you have one attached)
- Configure gpu memory split under 'Advanced'. Set it up '16'.
- Save changes and reboot.
Install required libraries with these commands:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential \
cmake \
gfortran \
git \
wget \
curl \
graphicsmagick \
libgraphicsmagick1-dev \
libatlas-dev \
libavcodec-dev \
libavformat-dev \
libboost-all-dev \
libgtk2.0-dev \
libjpeg-dev \
liblapack-dev \
libswscale-dev \
pkg-config \
python3-dev \
python3-numpy \
python3-pip \
zip
sudo apt-get clean
Install the picamera python library with array support (if you are using a camera):
sudo apt-get install python3-picamera
sudo pip3 install --upgrade picamera[array]
Temporarily enable a larger swap file size (so the dlib compile won't fail due to limited memory):
sudo nano /etc/dphys-swapfile
< change CONF_SWAPSIZE=100 to CONF_SWAPSIZE=1024 and save / exit nano >
sudo /etc/init.d/dphys-swapfile restart
Download and install dlib v19.6:
mkdir -p dlib
git clone -b 'v19.6' --single-branch https://github.com/davisking/dlib.git dlib/
cd ./dlib
sudo python3 setup.py install --compiler-flags "-mfpu=neon"
Install face_recognition
:
sudo pip3 install face_recognition
Revert the swap file size change now that dlib is installed:
sudo nano /etc/dphys-swapfile
< change CONF_SWAPSIZE=1024 to CONF_SWAPSIZE=100 and save / exit nano >
sudo /etc/init.d/dphys-swapfile restart
Download the face recognition code examples:
git clone --single-branch https://github.com/ageitgey/face_recognition.git
cd ./face_recognition/examples
python3 facerec_on_raspberry_pi.py
Totally Optional: If you want a desktop GUI, install PIXEL:
sudo apt-get install --no-install-recommends xserver-xorg xinit raspberrypi-ui-mods
so this is how it worked for me on raspberry pi 3b
i did zram, increased swap file to 2gb, stopped the desktop environment (lightdm) and other services that i don't need and booted into console to save as much ram as possible (i got it to 95mb).
i installed dependencies of opencv:
sudo apt-get install -y build-essential cmake git unzip pkg-config libjpeg-dev libpng-dev libavcodec-dev libavformat-dev libswscale-dev libgtk2.0-dev libcanberra-gtk* libgtk-3-dev libgstreamer1.0-dev gstreamer1.0-gtk3 libgstreamer-plugins-base1.0-dev gstreamer1.0-gl gstreamer1.0-libcamera libxvidcore-dev libx264-dev python3-dev python3-numpy python3-pip libtbbmalloc2 libtbb-dev libv4l-dev v4l-utils libopenblas-dev libatlas-base-dev libblas-dev liblapack-dev gfortran libhdf5-dev libprotobuf-dev libgoogle-glog-dev libgflags-dev protobuf-compiler
and then:
pip install opencv-python pip install imutils
and then:
pip install --no-cache-dir dlib
i took around 3 hours to install but it was successful (try to save as much ram as possible for it)
and then:
'pip install face-recognition'