Da ich schon immer Lust hatte, eine Gesichtserkennungssoftware zu testen, habe ich mir heute mal die Zeit genommen eine zu testen.
Als Testumgebung habe ich folgendes ausgewählt:
- Ubuntu 14.04 VM mit VMware Player
- OpenBR
Technische Daten der VM:
- 2 CPU Cores mit GHz
- 3072 MB Arbeitsspeicher
SSH
Um über SSH auf die Maschine zugreifen zu können, musste ich den SSH Dienst erst nachinstallieren. Komisch, dass das nicht mit Ubuntu direkt mitgeliefert wird. Nun ja, so gehts:
1 2 3 |
# sudo apt-get install ssh # /etc/init.d/ssh start # sudo update-rc.d ssh defaults |
Nun kannst du dich per Putty oder einem anderen Programm per SSH mit dem System verbinden. Mit der letzten Zeile fügst du den Dienst noch in den Autostart ein. Um die IP Adresse rauszufinden nutze
1 |
# ifconfig |
Zur Installation:
Zuerst ein Update machen und den Server rebooten
1 2 |
# sudo apt-get update # sudo reboot |
Als nächstes installiere ich GGC und CMake. Laut der Anleitung von OpenBR werden diese beiden Komponenten benötigt.
1 2 |
# apt-get install build-essential # apt-get install cmake cmake-curses-gui |
Nach diesem Schritt soll ich mich an diese Anleitung richten. Leider ist die Installation der Abhängikeiten schon beim ersten Versuch fehlgeschlagen. Mal sehen, ob ich es hinbekommen:
Da Paket „gstreamer0.10-ffmpeg“ ist nicht mehr verfügbar, als Ersatz dienst dieses hier:
1 |
# apt-get install libgstreamer0.10-0 |
Auf der Ubuntu Wiki Seite steht außerdem, dass die beiden folgenden Tools recht gut ergänzend wären. Also hab ich sie mal dazuinstalliert
1 |
# apt-get install gstreamer0.10-tools gnome-media |
Nun wieder laut Anleitung, außer eben das gstreamer Paket:
1 |
# apt-get install build-essential checkinstall libfaac-dev libjack-jackd2-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libva-dev libvdpau-dev libvorbis-dev libx11-dev libxfixes-dev libxvidcore-dev texi2html yasm zlib1g-dev libgstreamer0.10-0 libgstreamer0.10-dev gstreamer0.10-tools gstreamer0.10-plugins-base libgstreamer-plugins-base0.10-dev gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly gstreamer0.10-plugins-bad gstreamer0.10-ffmpeg libgtk2.0-0 libgtk2.0-dev libjpeg62 libjpeg62-dev libv4l-dev |
Wer das jetzt ne lange Liste findet wird nach dem Kopieren eine Freude haben. Mein 24 Zoll Monitor, mit maximiertem Putty, ist zu 50% mit Abhängikeiten gefüllt. WTF.
Naja, was sein muss, muss wohl sein 😀
… eine halbe Ewigkeit später ist es dann doch schon mal fertig.
Laut Anleitung also nochmal 2 weitere Tools installiert:
1 2 3 4 5 6 |
# wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2 # tar -xf ~/Downloads/last_stable_x264.tar.bz2 # cd x264-snapshot-<version>-stable # ./configure --enable-shared --enable-pic # make # sudo make install |
Und die zweite:
1 2 |
# wget http://ffmpeg.gusari.org/static/64bit/ffmpeg.static.64bit.latest.tar.gz # tar -xf ffmpeg.static.64bit.latest.tar.gz |
Nach dem Entpacken sind das nur zwei Dateien, ohne Verzeichnis ohne alles. Komisch. Wirkt auf mich ein wenig veraltet. Nun hoffentlich funktioniert es auch ohne ffmpeg.
Also weiter mit noch einer Abhängigkeit:
1 2 3 4 5 6 7 8 9 10 |
# wget http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.5/opencv-2.4.5.tar.gz # tar -xf opencv-2.4.5.tar.gz # cd opencv-2.4.5 # mkdir build # cd build # cmake -DCMAKE_BUILD_TYPE=Release .. # make -j4 # make install # cd ../.. # rm -rf opencv-2.4.5* |
Und noch ein weiteres Programm:
1 |
# apt-get install qt5-default libqt5svg5-dev qtcreator |
Um nun das eigentliche Programm installieren zu können, musste ich zunächst Git installieren.
1 |
# apt-get install git |
Die nähere Konfiguration wird hier beschrieben: https://help.github.com/articles/set-up-git
Nach der Installation können folgende Befehle ausgeführt werden:
1 |
# git clone https://github.com/biometrics/openbr.git |
Mit diesem Befehl klonst du das Github Verzeichnis von openbr lokal auf deinen Rechner.
1 |
# cd openbr |
1 2 |
# git submodule init # git submodule update |
Die Git Doku schreibt über die beiden Befehle folgendes:
The
rack
directory is there, but empty. You must run two commands:git submodule init
to initialize your local configuration file, andgit submodule update
to fetch all the data from that project and check out the appropriate commit listed in your superproject.
Jetzt die letzten Schritte noch durchführen und dann geht’s los:
1 2 3 4 5 |
# mkdir build # from the OpenBR root directory # cd build # cmake -DCMAKE_BUILD_TYPE=Release .. # make -j4 # sudo make install |
Das Kommando um zwei bilder miteinander zu vergleichen lautet
1 |
# br -algorithm FaceRecognition -compare me.jpg you.jpg |
Nach einigen Tests muss ich sagen, dass die Software extrem gut funktioniert. Sie erkennt relativ genau, ob sich die selbe Person auf dem Bild befindet oder nicht. Ich bin begeistert.
Die Konsolenausgabe ist hier eigentlich recht selbsterklärend. Die letzte Zeile steht für die übereinstimmenden Prozent. z.B. 1 für 100% Übereinstimmung.
Wunderbar! Genau das was ich mir gedacht habe. (Ich seh mal von der mehr als komplizierten Installation ab.)
Quellen:
https://github.com/biometrics/openbr/wiki/Build-OpenCV-with-Video-Support-on-Ubuntu
Thank you, John! I spent 4 hours running my head against this installation yesterday. Your guide is the only one the ended up working for OpenBR 0.4.1 on Ubuntu 14.01.