【顔領域検出】Openfaceの使い方


今回は顔検出のオープンソースであるOpenfaceをインストールしたので実際に動かしてみます。


参考:https://github.com/TadasBaltrusaitis/OpenFace/wiki


その中で少しつまづいたりしたので、ここに残すことに決めました。


手順


さっそく実行。


tk@tk-VirtualBox:~/OpenFace$ build/bin/FaceLandmarkImg -f ../face_120000.jpg

すると、下記のようなエラーメッセージが、、。


ERROR: Could not load the landmark detector<
          Reading the intensity CEN patch experts from: build/bin/model/patch_experts/cen_patches_0.25_of.dat....Could not find CEN patch experts, for instructions of how to download them, see https://github.com/TadasBaltrusaitis/OpenFace/wiki/Model-download

build/bin/model/patch_expertsのディレクトリの下にモデルがダウンロードされていないと表示されました。


丁寧にURLも示してくれていたので、そのサイトに飛ぶ。


そのURL先で下記のように示されており、dropboxにファイルが置かれていたので、これをダウンロード。


To download the C++ and matlab models go to – https://www.dropbox.com/sh/o8g1530jle17spa/AADRntSHl_jLInmrmSwsX-Qsa?dl=0


以下、ダウンロード結果。


tk@tk-VirtualBox:~/ダウンロード$ ls
            cen_patches_0.25_general.mat
            cen_patches_0.25_menpo.mat
            cen_patches_0.25_of.dat
            cen_patches_0.25_of.mat
            cen_patches_0.35_general.mat
            cen_patches_0.35_menpo.mat
            cen_patches_0.35_of.dat
            cen_patches_0.35_of.mat
            cen_patches_0.50_general.mat
            cen_patches_0.50_menpo.mat
            cen_patches_0.50_of.dat
            cen_patches_0.50_of.mat
            cen_patches_1.00_general.mat
            cen_patches_1.00_menpo.mat
            cen_patches_1.00_of.dat
            cen_patches_1.00_of.mat
           

しかし、これらのファイルを適切な場所に配置しなければなりません。


上のサイトではdatファイルは


OpenFace/lib/local/LandmarkDetector/model/patch_experts


matファイルはOpenFace/matlab_version/models/cenの下に置くように指示されています。


しかしそれで実行するとなぜか最初と同じようなエラーが出ます。


 tk@tk-VirtualBox:~/ダウンロード$ mv *.dat ../OpenFace/lib/local/LandmarkDetector/model/patch_experts

tk@tk-VirtualBox:~/ダウンロード$ mv *.mat ../OpenFace/matlab_version/models/cen

→実行しても先ほどのようなエラーが出る。


Reading the intensity CEN patch experts from: build/bin/model/patch_experts/cen_patches_0.25_of.dat....Could not find CEN patch experts

エラーメッセージをよく見ると、datファイルは


Openface/build/bin/model/patch_expertsの下に置かなければならないようです。


というわけで再配置。


tk@tk-VirtualBox:~/OpenFace$ mv lib/local/LandmarkDetector/model/patch_experts/*.dat build/bin/model/patch_experts

→実行成功しました。


実行結果は下記のようにOpenFace/processedの下に配置されます。


私の場合は以下のような2つの画像に対して実行しましたが、認識に失敗した場合はcsvファイルは作成されません。認識に成功した場合は計5つのファイルが確認できるはずです。


 tk@tk-VirtualBox:~/OpenFace/processed$ ls
              face_120000.hog
              face_120000.jpg
              face_120000_aligned
              face_120000_of_details.txt
              sample.hog
              sample.jpg
              sample_aligned
              sample_of_details.txt
              sample.csv
            

実行結果


フリー素材によるOpenfaceの実行結果を下に示します。






フリー素材:https://www.pakutaso.com/


考察


上の結果のように少々傾いた顔に対しても有効であることが分かりました。


まだ数多くは試してはいませんが、画角をオーバーするほどアップされた顔や、目を閉じた顔には認識されにくい傾向があるように見受けられます。


また、はっきりした正面を向いた顔でも垂直になっていないとうまく反応してくれないようです。


しかし、正面を向いており、まっすぐに映っている顔であれば、画素が荒かったり、遠くに移っている小さな顔に対してもしっかり反応してくれます。


集合写真に対しても複数人の顔を一度に認識してくれました。


他にもいろいろなパターンを考えて試してみようと思います。


皆さんもぜひ参考にしてください。


最後まで、ありがとうございました。


タグクラウド :
openface