LoginSignup
25
25

More than 5 years have passed since last update.

OpenBRをインストールしてみる

Posted at

概要

ちょっと興味があったのでOpenBRをビルドして動かしてみる。

OpenBR

OpenBRはOSSの生体識別ライブラリで、顔写真から年齢や性別を判別したりできる。最近だとMicrosoftのProjectOxfordで公開されたデモが話題になっていた。

OpenBRのインストール

installationをみてみると現状ソースコードからビルドするしかないようだった。Macにインストールはしたくないので適当なUbuntu環境を用意してビルドする。

DockerでUbuntu環境を用意

boo2dockerを起動

boo2dockerのVMが起動していないなら起動

$ boot2docker up

コンテナを起動

$ docker run --name openbr -i -t ubuntu /bin/bash

Ubuntuのバージョンを確認

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS"

OpenBRをビルド

installationに沿って作業を進める。

GCCのインストール

$ sudo apt-get update
$ sudo apt-get install build-essential

CMakeのインストール

$ sudo apt-get install cmake cmake-curses-gui

OpenCVのインストール

ビデオのデコードに問題出たらここ参考にしてねとあるが、取り敢えず手順通りに進める。手順ではOpenCVのバージョンが2.4.5になってるが2.4.11で試す。

OpenCVはここからダウンロードしてきてコンテナにボリュームをマウントするなりして渡す。

$ sudo apt-get install unzip
$ unzip opencv-2.4.11.zip
$ cd opencv-2.4.11
$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release ..
$ make -j4
$ sudo make install
$ cd ../..
$ rm -rf opencv-2.4.11

/usr/local/lib以下にインストールされた。

Qtのインストール

$ sudo apt-get install qt5-default libqt5svg5-dev qtcreator

OpenBRのビルド

$ git clone https://github.com/biometrics/openbr.git
$ cd openbr
$ git checkout 0.5
$ git submodule init
$ git submodule update
$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release ..

ここでなぜかOpenCVがインストールされて無いと言われたので、再度OpenCVをインストール後再度cmakeを実行。

$ cmake -DCMAKE_BUILD_TYPE=Release ..
$ make -j4
$ sudo make install

バージョンを確認

$ br -version
0.5.0

インストールできた。

動かしてみる

OpenBRのトップページにあるAge Estimationを実行してみる。実行例だと写真を2枚使用しているが一枚でも問題ないようだった。(metadata.csvの中身を見る限る)

$ br -algorithm AgeEstimation -enroll me.jpg metadata.csv

metadata.csvに結果が出力されるので見てみる。

File,Affine_0_X,Affine_0_Y,Affine_1_X,Affine_1_Y,Age,Confidence,DFFS,FTE,First_Eye_X,First_Eye_Y,FrameNumber,FrontalFace_X,FrontalFace_Y,FrontalFace_Width,FrontalFace_Height,PossibleFTE,Second_Eye_X,Second_Eye_Y
me.jpg,88,74,116,73,35.2215,1,737.614,false,88,74,0,66,47,74,74,false,116,73

35.2215歳か・・

Docker imageを作成

OpenBRをインストールできたのでimageを作成しておく。

$ docker commit -m 'OpenBRをインストール' <コンテナID> horie1024/openbr_0.5

作成されているか確認。

$ docker images
REPOSITORY             TAG                 IMAGE ID            CREATED              VIRTUAL SIZE
horie1024/openbr_0.5   latest              12abc56def        About a minute ago   5.000 GB

作成できた。

Docker Hubにimageを登録する

Docker Hubに登録

https://hub.docker.com/account/signup/から登録する。

dockerhub.png

コマンドラインからログイン

$ docker login

以下のようなエラーが出てdocker loginに失敗する場合、boot2docker restartすればok。

FATA[0034] Error response from daemon: Server Error: Post https://index.docker.io/v1/users/: dial tcp: lookup index.docker.io on 192.168.13.1:50: read udp 192.168.13.1:50: i/o timeout

Docker Hubに作成したimageを登録

先ほど作成したimageをpush。

$ docker push horie1024/openbr_0.5

登録できた。horie1024/openbr_0.5

登録したimageを元にコンテナを作成

docker pull後にdocker runすればok。

追記

Node.jsのバインディングがあった。https://www.npmjs.com/package/openbr

参考

25
25
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
25