pepperから顔を覚えたよ、通知機能を実装してみた
お疲れ様です。
今日は以前qiitaで書いた記事を実用的にしようと思い、
pepperでAzure Cognitive ServicesのFace APIで顔認証が初めての場合に顔登録を行う処理の後にslackにそのpepperで認証させた顔写真を送るという処理を実装しました。
そもそもそれをやろうと思ったのが、
pepperがどのタイミングで接客して顔を覚えてるのかが気になったため。
普段は受付に置いているので、私の仕事部屋とは離れたところでpepperはお仕事をしています。
そのため、顔を覚えさせるところまでやってくれるお客さんは果たしているのかとか、リアルタイムで通知が来るので、呼び出し機能とかにと応用できると思いました。
実装は本当に簡単で以前書いた以下の記事を参考にやれば、超簡単!すぐできます。
気をつけなきゃ行けないのが、slackのaccess tokenはアカウントごとに異なること。たしかファイルアップロードのAPIじゃないやつは、どのユーザーとして、postみたいな使い方だったのに、ファイルアップロードAPIはユーザーを変えてらaccess tokenを生成しなければなりません。
今回はpepper用にアカウントを作成して、pepperが通知してくれる用のチャネルを作って、そのチャネルに招待してそこのチャネルIDをファイルアップロードAPIのパラメータに指定しました。
これで、pepperくんが
〇〇さんを覚えたよー
みたいな通知を顔登録がされる度に写真と一緒に飛ぶようになりました。
一度覚えてしまうと、新しく顔を覚えるルートを通らないので、自分の顔は覚えさせてしまってる都合上、スマホで検索して表示した画像で勉強させてます。
ちなみにこの写真は実際にpepperの目から見た画像でslackに飛んだ画像です。
slackには、きたがわ けいこさん の顔を覚えたなー
みたいに通知がきます。
本当にきたがわけいこが来てくれればいいのに。
実はスマホのこういう学習でも十分顔の特徴量をAzureは捉えてくれます。
普段近くにいない人とかは、こんな感じで何枚か学習させとけば、いざ生身の人間が来てもちゃんと顔認証できます。