BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース face-api.jsによるJavaScript顔検出

face-api.jsによるJavaScript顔検出

原文(投稿日:2020/03/17)へのリンク

face-api.jsは、畳み込みニューラルネットワークを実行して顔および顔のランドマークを検出・認識するJavaScriptモジュールだ。TensorFlow.jsを利用し、デスクトップおよびモバイルウェブ用に最適化されている。

face-api.jsの作者Vincent Mühler氏が説明するように、ディープラーニングによる顔認識には細かな作業が必要になる。

簡単に言うと、実際にやりたいことは、入力画像などの顔画像を与えて人物を識別することです。そのため、認識したい人の名前をラベル付けした画像(参照データ)を、各人につき1枚(以上)与えます。そして、入力画像と参照データを比較して、最も類似した参照画像を見つけます。画像が十分に類似していれば、その人物の名前を出力し、そうでなければ、‘unknown’ を出力します。いい感じですね。しかし、問題が2つ残っています。一つは、画像に複数の人物が写っていて、その全員を認識したい場合はどうなるのか? もう一つは、比較するには、類似度みたいなものを取得できなくてはならないことです。

face-api.jsでは、顔検出、顔のランドマーク検出、顔認識、表情認識、年齢推定、性別認識といったモデルが利用できる。

Face Detection of face-api.js creator

face-api.jsを使い始めるには、face-api.jsの最新のJavaScriptリソースをインクルードするか、npm経由でインストールする。

npm i face-api.js

開発者はfaceapis.nets経由で、各種ニューラルネットワークインスタンスをロードし、モデルや名前付きテンソルマップ、Float32Arrayを重みとした非圧縮モデルを非同期にロードすることができる。

最近のface-api.jsでは、TensorFlow.jsの最新バージョンに合わせてメンテナンスされており、近づく1.0のリリースに向けて、APIの改良と廃止が行われている。

face-api.js APIドキュメント多数のサンプルが公開されている。

face-api.jsプロジェクトはオープンソースソフトウェアであり、MITライセンスのもと利用可能だ。face-api.js GitHubリポジトリ経由のコントリビューションが歓迎されている。

この記事に星をつける

おすすめ度
スタイル

BT