NCDCでは定期的にハッカソン(短期集中型のアプリ開発イベント)を行なっています。
今回の記事ではAmazon Rekognition(AWSが提供する画像・動画分析サービス)を使って2日間で作成した画像認識アプリをご紹介します。
最近はAIやIoTの導入を容易にするさまざまな先進的サービスがAWSなどのクラウドベンダーによって提供されていますが、そのひとつであるAmazon Rekognitionでは機械学習 (ML) モデルが利用できます。
画像認識アプリの詳細はこのあと説明していきますが、クラウドサービスをうまく活用すると2日間程度でささっと実践的な検証用アプリをつくれるという参考に読んでいただければ幸いです。
もし画像認識を用いた新規サービスの開発を検討していて「こういうものを作りたかった!」と思われた方がいれば、お気軽にお問合せください。
目次
Amazon Rekognitionで人を検知する
まずご紹介するのは画像から人を検知するアプリです。
ハッカソンでつくったアプリでは、画像内の人を検知して、その人数をカウントする仕組みまで実現しています。
最初にご紹介した通り、Amazon Rekognitionを使っているので、当社で人を検知する仕組みをゼロからつくっているわけではありません。簡単にいうと、Amazon Rekognitionに画像を送ると画像内に写っているものを認識してラベル付けして情報を返してくれるので、それを活用して人の数を数えています。
Amazon Rekognitionは、人に限らず、机、椅子、自転車などさまざまなオブジェクトを認識できます。ただし、一般的な物の認識はできますが、○○社製の椅子というような詳細な分類までできるわけではありません。
このアプリでは人のいる場所を赤い枠で囲っていますが、Amazon Rekognitionから画像内の人を認識した情報と一緒に位置情報も得られるので、その部分を赤枠で表示することでこの機能を実現しています。
検知の精度はカメラの性能や角度、距離などさまざまな要素で変わりますが、ハッカソンでは持参したWebカメラを繋いで試してみただけでもかなりの精度で人を検知できました。たとえば人を真上から撮っても検知してくれました。
一方で、誤検知もゼロではなく、なぜかテーブルに置いたピーナッツチョコレートパンの袋も人扱いされていました。
検証用アプリとしては問題ないレベルの検知精度ですが、実際のサービスに使う場合は、目的に応じてもっと精度を高めるための工夫は必要になると思います。
Amazon Rekognitionで顔から人物を特定する
2つ目にご紹介するのは画像から顔を検知して登録済みの人物かどうか判断するアプリです。
ハッカソンでつくったアプリでは、顔で社員を特定して、出欠(その場にいるか否か)を自動的に記録する仕組みまで実現しています。
このように、1枚の画像の中に複数の人がいてもきちんと人物を特定し、名前と出欠を表示する表に自動的に出欠を反映しています(○か×をつけています)。
実はAmazon Rekognitionの顔認識機能は1枚の画像で1名しか判断できない仕様なので、このアプリでは複数名の同時判別を実現するために一工夫加えています。まず人を検知して、その情報から1枚の画像にひとりの顔しか映らないように処理した画像を自動的に人数分生成。生成した画像をAmazon Rekognitionの顔認識にかけることで、複数の人が写っていても全員の顔を同時に認識できるようにしています。
Amazon Rekognitionで表情を分析する
最後に紹介するのは表情分析のアプリです。
これはとてもシンプルなもので、Amazon Rekognitionに顔の画像を渡すとその表情を喜・怒・哀・楽などの数種類の感情に分類して情報を返してくれるので、その結果を顔文字にして表示しています。
このようにAmazon Rekognitionを使ってさまざまな画像認識アプリを作成できます。ハッカソンで活用したのは一部の機能で、他にもAmazon Rekognitionでさまざまなことができます。
Amazon Rekognitionの利用料
Amazon Rekognitionは簡単に使える従量課金型のサービスですが、費用には注意が必要です。後日料金を見たところ、ハッカソンで社員数名が1日利用した程度で約23ドルかかっていました。従量課金で使った分だけ請求が来るので、Amazon Rekognitionを本格的に使うサービスをつくる時は利用料も考慮して設計する必要があります。ご注意ください。
Amazon Rekognitionで実現できそうなサービス
画像から一定の範囲の人数をカウントする、画像内の顔を検知して自動的に出欠を記録するなどの活用イメージもお伝えしてきましたが、これ以外にもさまざまな応用が考えられます。
たとえば、画像から瞬時に人数をカウントできるので、施設内の混雑状況を可視化して遠隔地でも混み具合をリアルタイムで確認できるようにするサービスが考えられます。
また、人以外のオブジェクトも検知できるので、倉庫内の画像を用いて箱の数をカウントし、在庫管理するような仕組みも考えられます。
画像内の顔を検知して自動的に出欠を記録する仕組みは、出退勤の自動記録に使えそうです。多くの人が出入りする作業現場などで出退勤記録を自動的に取れるようになると便利ではないでしょうか。
表情からの感情分析は例えばオンラインの1 on 1ミーティング用アプリに社員の感情分析の機能を加えるというような使い途が考えられます。商談に応用して、接客時のお客様の表情から成約率を予測するというような仕組みもできるかもしれません。
画像認識はNCDCにご相談ください
NCDCでは、このようなクラウドサービスをうまく活用したアプリケーションの開発や、技術検証をご支援しています。
新規サービス検討段階の迅速なPoCの企画・検証から、商用のシステム開発まで、豊富な実績に基づく実践的なご提案ができますので、ご興味をお持ちいただけた方は、ぜひお問い合わせください。