サーバに適した顔認証 SDK の開発

アイキャッチ画像(サーバ)

帯域を圧迫しない顔認証を

画像から顔認証が出来る顔認証 SDK を開発しました。
Face01 は元々防犯目的にスタンドアロンで動作するように設計されています。たとえばコレをサーバで運用する場合、Face01 に常に動画を入力する必要があります。これでは帯域を圧迫しますし、無駄な計算コストを発生させてしまいます。
また深層学習を用いる Face01_CNN の場合、どうしても CUDA 環境と NVIDIA の高性能グラフィックカードが必要になってしまい、サーバの構成次第では運用が難しいケースがありました。

そこで画像から顔認証できるように Face01_imager を開発しました。

処理の流れ

例えば、サーバ内のあるフォルダ(check_images フォルダ)に認証に必要な画像が集まるようにしておきます。

顔認証の対象となるファイル群
顔認証の対象となるファイル群

登録したい人物の顔画像ファイルはこちらとは別フォルダ(pictures_of_people_i_know フォルダ)に保存しておきます。

既知の顔画像ファイル群
既知の顔画像ファイル群

Face01_imager が動作している様子を下に添付します。
標準出力には、人物の名前と認証した時刻が表示されます。
output フォルダには顔認証された人物の顔のみクロップされた顔画像が保存されます。この時、顔登録されていない人物は「Unknown」として表示・保存されます。

Face01_imager の動作する様子
Face01_imager の動作する様子
Face01_imager が動作する様子

標準出力に結果が出力されるので他のアプリケーションとも相性が良いと思います。
顔認証の終わった画像は他のフォルダ(recognated フォルダ)に移動され、新たに画像が入力されるまで待機します。

まとめ

各フォルダの紹介や画像などは「face01, face01_imager の簡単な利用方法」にて紹介しました。こちらも是非ご覧になってください。
なお Face01_imager にも深層学習を使った Face01_imager_CNN があります。
サーバー側がオンプレミスかつ NVIDIA 製グラフィックカードを持った環境であれば、より精度の高い顔認証が可能です。

以上です。
帯域やサーバ資源を圧迫しない Face01_imager の紹介でした。
最後までお読み頂きありがとうございました。

Follow me!