Customer Counter
インスピレーション
わずかなコストで大きな価値をもたらす実用的なものが何かないか考えていました。最近、レストランに行った時にインスピレーションが湧いてきました。その時は、すべての従業員が店の奥にいました。しばらく待っていたときに、自分のような客がこのようなサービスで満足する場合に、どれくらいの損失があるだろうかと考え始めました。
機能
このアプリケーションでは店頭に設置するカメラを使用します。お客様が来店して並ぶと、奥の部屋にあるモニタによって従業員に注意が喚起されます。Customer Counter アプリケーションを使うと、いつでもどれくらいのお客様が並んでいるかがわかります。そのため、とても忙しいときには、店頭で接客に当たる従業員を増やすことができます。また、レポート機能もあります。このアプリケーションではウェブサイトにログインすることができ、その機能を使用すると 1 時間または 1 日あたりの平均来店者数や最大の行列の長さなどを示すレポートを作成できます。このようなメトリクスを使用して、特定の日や時間にどれくらいの従業員を確保する必要があるかをより正確に判断することができます。
作成者: Jason Condello
構築方法
Deeplens では Greengrass で Lamda を実行します。顔認識モデルでとらえた画像を処理し、視野内に顔が存在する可能性を判断します。そのモデルによって SNS 通知が送信されます。IoT ルールを使用して、SNS によってトリガーされてエントリを SQS キューに配置するようにします。次に、お客様のデバイスで実行する .NET WinForm アプリケーションとして構築したクライアントアプリケーションを使用します。そのアプリケーションで現在のお客様の数を表示します。また、RDS で実行している MS SQL データベースにすべてのデータを記録します。EC2 インスタンスで実行している .NET ウェブサイトにより、お客様にレポートを提出します。
課題
データベースへのエントリを Lamda 関数から RDS に直接送るつもりでした。しかし、最初に MySQL ではなく MS SQL を選んだためにアダプター経由で Lamda を接続することが大きな課題となることがわかりました。そこで、シンプルにするためにクライアント側でデータを記録することにしました。そうすることで、このプロジェクトの他の面に集中できるようになりました。また、他の開発者も苦労したと思いますが、カメラにもたくさんの課題がありました。
成果
本当に多くを学びました。re:Invent に参加したとき、AWS についてはほとんど初心者でした。ウェブサイトやデータベースのホスティングに AWS を使用していましたが、その他の優れたサービスはほとんど使用していませんでした。今では、AWS が提供する多くのツールについてよく理解しています。
学んだこと
Customer Counter の次のステップ
使用したもの
lambda
greengrass
amazon-web-services
deeplens
rds
ec2
ms-sql
.net
試してみる
このプロジェクトではプライベートリポジトリを使用しています。