Skip to the content.

SORACOM回線を使ったスマートフォンとAWSサービスを用いた画像認識サービスを構築する

はじめに

当コンテンツは、エッジデバイスとしてスマートフォン、クラウドサービスとしてAWSを利用し、エッジデバイスとクラウド間とのデータ連携とAWSサービスを利用した画像認識を体験し、IoT/画像認識システムの基礎的な技術の習得を目指す方向けのハンズオン(体験学習)コンテンツです。

また、スマートフォンとAWSサービスの接続にはSORACOMサービスを利用します。 WebAPIへの接続情報・認証情報をSORACOMプラットフォーム側のSIMグループとして管理させます。

SIMグループの情報はAPIを実行する際にSIM経由のメタデータサービスで取得し、SIMごとに異なるWebAPIにアクセスさせることが可能です。

WebAPIの認証キーをWebサイトに埋め込む必要はなく、SIM経由でしか認証キーを取得出来ない仕組みとすることで、高いセキュリティが実現出来ます。 また、使用するAPIをSIMごとに切り替えることが可能となりますので、開発用SIM・本番用SIMで異なる環境へのアクセスや、利用者の権限ごとに異なる情報を取得するなど、様々な応用が可能となります。

応用例

本ハンズオンで学んだ内容は「来訪者の自動受け付け機」といった事に利用が可能となっています。

全体のアーキテクチャ

今回のコンテンツ内で構築するIoTシステムの全体像です。

全体アーキテクチャ図

今回のアーキテクチャの3つの大きなポイント

ポイント1. SORACOMメタデータサービスを使ったAPI接続情報の管理

ポイント2. Amazon Rekognitionを使った人物認証

ポイント3. AWS Cloud9を使ったAWSリソースの操作

以上を通して、エッジ側で取得した画像データを使ったクラウド側の画像認識サービス活用のノウハウを学びます。

ハンズオンの前提条件

このハンズオンを行う上で必要な環境やスキルです。 下記条件を満たさない場合、うまくハンズオンが進められない場合がありますので、あらかじめご了承ください。

本ハンズオンでかかるサービス費用

計: 約1,273円 (この内無料分があるため実際はこれよりも少なくなります。)

料金は全て税別・送料別です。
スマートフォンやPCといった機器は除外しています。
※が付いているサービスは無料枠が存在します。各サービスの料金ページをご覧ください。
それぞれのサービスはオンラインで見積もりが可能です。AWS 料金計算ツール / SOARCOM 料金見積もりツール

ハンズオンの事前準備

ハンズオンの進め方

ハンズオンは、環境構築からリソースの後片付けまで、内容によって6つのステップに分割しています。 当ポータルサイトから各ステップのコンテンツを新規タブで開いて、1つずつ進めてください。

またスマートフォン側で動かすVue.js(JavaScript)コードやLambdaのPythonコードのサンプルソースはGitHubのリポジトリで公開しています。

コンテンツ内でもご案内しますが、実装が必要なステップではこちらのサンプルソースをご活用ください。
コンテンツ内には実装に関わるヒントも掲載していますので、自力でコーディング出来る方は是非チャレンジしてみましょう。

ステップ1. 環境準備

今回のハンズオンでは、エッジデバイスであるスマートフォン(SORACOM SIM経由で通信が可能であること)と、クラウド環境の構築やその他必要な作業を行うためにChromeブラウザがインストールされているローカルPCが必要です。 ハンズオンを進めるにあたって必要な準備作業について説明します。

以下のコンテンツを開き、ステップ1を進めてください
ステップ1へ

ステップ2. 顔認識用のコレクションを作成する

ステップ2では、画像に写っている人物を特定するために必要なコレクションを作成します。

AWS Rekognitionサービスには、事前登録済みの情報(コレクション)を使って、画像内に誰が写っているのかを特定する機能があります。

まずは、画像のアップロード先として「Amazon S3(以下、S3)」にバケットを作成し、登録したい人物が1人で写っている画像をAWSコンソールからアップロードします。

AWSのCLI(コマンド・ライン・インターフェース)ツールを使って、「Amazon Rekognition(以下、Rekognition)」の「コレクション」を作成し、認識対象となる顔を登録します。

以下のコンテンツを開き、ステップ2を進めてください
ステップ2へ

ステップ3. 顔認識のWeb APIを作成する

ステップ3では、パラメータとして受け取った画像を分析し「事前登録済みの人物が写っているかを判定し、写っている場合は誰なのかを判定する」という機能を持ったWeb APIを作成し、デバイス側からAPIを呼び出す仕組みを構築します。

まずは、AWSのFaaSサービスである「AWS Lambda」で関数を作成し、フルマネージド型API管理サービスの「Amazon API Gateway」でREST APIを作成します。

以下のコンテンツを開き、ステップ3を進めてください
ステップ3へ

ステップ4. SORACOMメタデータサービスの設定を行う

ステップ4では、対象のSIMにメタデータサービスの設定を行い、デバイス側からメタデータサービスを利用する仕組みを構築します。

メタデータサービスの設定は、SORACOM管理コンソールから設定することが可能です。 まずは、SIMグループを作成しメタデータサービスの有効化を行い、対象のSIMに作成したSIMグループを割り当てます。

以下のコンテンツを開き、ステップ4を進めてください
ステップ4へ

ステップ5. スマートフォンから顔認識を行う

ステップ5では、SORACOM回線での接続が可能なスマートフォンを使い、スマートフォンのカメラで撮影した画像で顔認識を行ってみましょう。 SORACOM回線での接続が可能なパソコンからでも実施することが出来ます。

以下のコンテンツを開き、ステップ5を進めてください
ステップ5へ

ステップ6. ハンズオン終了後のあと片づけ

ご利用いただいたAWSの各種サービスには無料利用枠がございますが、無料利用枠を超えた場合は従量課金が発生します。

ハンズオンを行い、環境が不要となれば各種リソースを削除することを推奨します。

以下のコンテンツを開き、ステップ6を進めてください
ステップ6へ

さいごに

このように、AWS Rekognitionを使用することで簡単に短時間で画像認識システムを構築することが出来ます。また、SORACOMを利用することにより、閉域網を使って安全にデータのやりとりを行うことが可能となります。

今回のハンズオンはこれにて終了となります。