マスクで顔認証!登録顔画像も自動でサクッと!

マスクをはめた医療従事者

マスクをしている状態での顔ファイル自動取得には FaceCrop ではなく FaceCrop_CNN を用います。
今回は FaceCrop_CNN の動作環境と各ファイル・フォルダの説明をいたします。

動作環境を確認する

Font の確認

Windows では「BIZ-UDGOTHICR.TTC」フォントがインストールされていること。
October 2018 Update(1809)でインストールされているはずですが、もし顔認証するタイミングでエラーが出る場合このフォントが確実にインストールされているか確認をお願いします。
確認の仕方は「Windowsでフォントの「表示」設定を変更して全てのフォントを表示させる」をご参照ください。

Linux 環境の場合は「mplus-1mn-regular.ttf」がインストールされていること。
インストールされていない場合はこちらからインストールをしておいてください。

GPU に対応した環境の確認

CUDA 環境が整っているかの確認
Dlib の CUDA 対応の確認
上の2点を確認してください。CUDA 環境がなくても動作はしますが処理速度が「非常に」落ちます。
どれくらい違うのかは「CUDA & AVX (Ubuntu) vs AVX only (Wndows)」でご紹介しています。

各ファイル・フォルダの働き

次は必要なフォルダについて解説していきます。

npKnown.txt

npKnown.txt ファイル
npKnown.txt ファイル

Face01_imager や Face01 を動作させると出来る、顔画像を 128次元化した数字が羅列してあるテキストファイルです。対象となる顔画像は「pictures_of_people_i_know フォルダ」に入っている顔画像です。
newFaceRecognitionFolder 内に npKnown.txt ファイルがある場合にはゴミ箱に捨てておいてください。
この時点ではあっても悪さはしませんが、後々すてる必要があるので今捨てておきましょう。

npKnown.txt ファイルのなかみ
npKnown.txt ファイルのなかみ

output フォルダ

あらかじめ output フォルダを開けておきましょう。下の図では赤丸のついたフォルダです。ここにクロップされた顔画像ファイルが溜まっていきます。

output フォルダ
output フォルダ

下の図は output フォルダの中身です。この中から「正面顔」「うつむき顔」「左右の顔」を選び出します。

出力されていく顔ファイル
出力されていく顔ファイル
顔ファイルが出力されていく様子

picture_of_people_i_know フォルダ

このフォルダには全く関係のない2つの顔画像ファイルを入れておいてください。

pictures_of_people_i_know フォルダに適当な写真を 2 枚以上入れておく
pictures_of_people_i_know フォルダに適当な写真を 2 枚以上入れておく

顔認識されている様子

下の図のように Video ウィンドウに「顔ファイル出力中…」と表示されます。

顔ファイルを出力している様子
顔ファイルを出力している様子
顔ファイル出力中の様子

再び picture_of_people_i_know フォルダ

picture_of_people_i_know フォルダの中身を差し替えておきましょう。

picture_of_people_i_know フォルダの中身を差し替える
picture_of_people_i_know フォルダの中身を差し替える

この時点ではファイル名がおかしいので、ファイル名を直しておきましょう。下の図のようにします。

ファイル名を変更した様子
ファイル名を変更した様子

この時点で newFaceRecognitionFolder 内に npKnown.txt ファイルを消し忘れていた場合には「必ず」ゴミ箱に捨てておいてください。

noFace フォルダ

pictures_of_people_i_know フォルダに入れた顔画像のうち、顔がエンコード化できなかったものはこのフォルダに移動させられます。勿論その場合は顔画像の数値化が出来ません。

noFace フォルダ
noFace フォルダ

まとめ

以上です。
アプリケーションは端末から起動しても良いし、サンプルスクリプトを作ってそこから import して呼び出してもらっても大丈夫です。
(お約束ですが import する場合はバージョン番号をとってください。)
よろしくお願いします。

Follow me!