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 が提供する多くのツールについてよく理解しています。

学んだこと

AWS と深層学習について多くを学びました。アプリケーションを見てもわからないと思いますが、深層学習モデルのために多く作業を行いました。実際に、深層学習モデルについて学ぶことに何時間も費やしました。そのモデルについては、ほとんど聞いたこともないようなものでしたので、最初はとても圧倒されました。

Customer Counter の次のステップ

さらに改良します。モデルの使用方法を改善します。あらゆる場所で販売します。

使用したもの

lambda
greengrass
amazon-web-services
deeplens
rds
ec2
ms-sql
.net

試してみる

このプロジェクトではプライベートリポジトリを使用しています。