ロボット@徳島

徳島からロボットのアプリ開発情報をメインに発信するブログ

ロボット Sota(ソータ) 顔認識まとめ

・顔認識とは

検出した顔について、顔のパーツの相対位置、大きさ、形状といった情報(特徴量)を利用し、過去に登録されている顔と比較し、どのくらい一致するか等を判定する技術です。
いわゆる「顔パス」がこれに当り、「顔認識の結果、同一人物だと判定された」と言えます。

指紋認証や静脈認証と異なり、認証者が特別な動作(指をスキャナにおく等)を行わなくても認証でき、離れた場所からでも認証できるメリットがあります。
一方、顔は老化、整形、メガネ等で変わり、照明にも影響を受けますので、これらの影響をいかに少なくして認証精度をあげられるかが重要になってきます。

・Sotaのできること

<顔の特徴の取得>
顔を検出できた場合、その顔の特徴量を取得します。その特徴量が登録済みの顔であった場合、登録されている名前を紐づけします。

<識別した顔の確率>
取得した顔の特徴量が登録されている顔にどれくらい一致するかをスコアで返します。

<登録された顔か>
取得した顔の特徴量が登録された顔か判定します。
上の<識別した顔の確率>に一定のしきい値を設けただけかな?とも思います。

<顔の登録>
取得した顔の特徴量に名前を紐づけて登録します。

<登録した顔の削除>
指定した名前に紐づく顔の登録を削除します。

<登録した顔のクリア(全消去)>
全ての顔の登録を削除します。

 ・アプリ作成例

今回は前の記事(受付アプリ作成2)の動作を作成します。
イメージとしては、知っている人のだと名前をつけて挨拶する、知らない人だと名前を伺って覚える、という動作です。

(注意)
2016.03.20現在、VstoneMagicおよびSotaをアップデートしてから、<顔の登録>が上手く機能しないようで、顔の登録ができません。右下にある<顔の登録>がアップデートにより変わった気がします。
これまでは以下のアプリで正しく動作していたのですが・・・ヴイストンさんの素早い対応を期待したいです。

ソータに顔認識させるアプリ例(1つ目)
ソータに顔認識させるアプリ例(2つ目)

・使ってみた感想

上記の通り現在は顔を登録できない状況ですが、以前までは数人の顔を認識でき、紐づけた名前を呼んでくれ、比較的良好な顔認識でした。

お店にお得意様が来たら、「〇〇さん、いらっしゃいませー」と話しかけるロボットが実現できそうです。まだ徳島で見たことは無いですが、タブレット等の受付アプリとしては既にありそうな気がします。それがタブレットの画面上ではなく、ロボットが挨拶して受け答えもしてくれると楽しそうですね。