[Alexa新連載!]kokexa Go! - レジレスこけしショップへの道 - 顔認証編 #alexa【エンジニアブログより】
こんにちは。ITとこけしの融合を目指して活動中のこけし部 部長 坂本(@t_sakam)です。
今回からAlexaに関する新連載をスタートしたいと思います。連載タイトルは「kokexa Go!」。
『「Amazon Go」にインスパイアされた「kokexa Go」という、レジレスこけしショップを開きたい! そのためには毎回機能を追加していかなければいけない…、はたして「kokexa Go」はできあがるのか…。』というストーリーの連載です。
※このストーリーはフィクションです。
今回は、今後レジレスを実現するために必要になりそうな「カメラ」を使ったスキルを作ってみたいと思います。
1. Amazonにならって社員限定のベータテストの準備
「Amazon Go」は、最初「Amazonの社員だけが利用可能」というベータ状態で営業していました。その方法を参考にして「kokexa Go」も最初はサーバーワークスの社員だけが利用できるような(社員限定でこけしが買える)仕組みを準備をしておきたいと思います。
今回は、限定入店にするために顔認証システムを店の入り口に導入し『「顔」を登録済みの社員だけが店内に入れる』という仕組みにします。
2.「kokexa顔認証」スキルの準備
まず、Raspberry Piにこけしの小物入れを乗せた、「kokexa dot」にカメラを装着します。そのカメラ付きのkokexa dot = 「kokexaカメラ」と組み合わせて使うスキルが「kokexa顔認証」スキルです。
顔認証はRekognitionの「顔認識」機能使っておこないます。あらかじめ、以下のブログを参考にRekognitionの「コレクション」に許可する社員の「顔」を登録しておきます。
3.「kokexa顔認証」スキルの仕組み
準備ができたら、kokexaカメラのRaspberry Pi上でWebサーバーを稼働させておきます。
kokexaカメラに「Alexa、コケクサで顔認証して。」と言うと、AlexaのサービスからLambdaが実行され、kokexaカメラのWebサーバーにアクセスするようにしておきます。アクセスされるとkokexaカメラ内のプログラムが実行され、撮影をおこない、撮れた写真をS3にアップします。
その後、またLambdaが『先程撮った写真の中の顔が、Rekognitionの「コレクション」に登録してある顔と一致するか』を検索します。
写真の中に「顔」が写っていなかった場合は、もう一度写真を撮るように促してスキルを終了します。
「顔」が写っていたら、認証できた場合もできなかった場合もSlackで結果を通知します。そして、認証できた場合はSlackで通知を受けた店内にいる社員がドアを開ける、という仕組みです。
※「コレクション」から「顔」を検索する方法はこちらのブログを参考にしてください。
4. 動画
百聞は一見にしかず、ということで、「kokexa顔認証」スキルが動いているところを動画で見てみましょう。
最初は「顔」を登録済みの場合、次に「顔」を登録していない場合、最後に写真に顔が写っていない場合、という順番で再生されます。
動きのイメージが付きやすいように、手前に人の頭が入るようにし、中央にkokexaカメラ、背景にSlackの通知が映るようにしています。
https://www.youtube.com/watch?v=PGZvasgIeq4
5. kokexa dot + カメラ = kokexaカメラ
kokexa dotにカメラを装着した「kokexaカメラ」のプロトタイプの画像もアップで載せておきます。
いまカメラは固定されていますが、話しかけると頭が開いてカメラがでてくるようになったらいいですね。
6. まとめ
今回は新連載「kokexa Go!」の第一弾として、顔認証ができる「kokexa顔認証」スキルをご紹介しました。
社員のみ店舗に入れるようにと開発したスキルですが、いまはまだ「Slackで通知を受けて人がドアを開ける。」という半自動システムです…。ということで、まだカイゼンの余地がありそうですが、ひとまずは良いスキルができたのではないでしょうか?
いや〜、Alexaスキルって本当にいいものですね!
kokexaについて
kokexaについてのブログ