Skip to the content.

ステップ5. ログデータの可視化を行う(スマートフォンとAWSサービスを用いた画像認識サービスの構築する)

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

ステップ5. ログデータの可視化を行う

ステップ5アーキテクチャ図

最後に、今までのステップで収集しクラウドに保存したデータを可視化します。 今回のハンズオンでは以下の方法でデータ可視化を行います。

IoTセンサーの値などの定期的に送信される時系列数値データを可視化する場合は、弊社で開発・運用している「IoT.kyoto VIS」を使用することも可能です。

<IoT.kyoto VISとは?>

Amazon DynamoDBに保存したストリームデータからリアルタイムでグラフを描画することができる、Webアプリケーションです。Webブラウザを用意するだけで、DynamoDBの時系列数値データを折れ線グラフ形式で表示することができ、閾値を設けたアラートの設定や期間を指定しての過去データの表示も可能です。 詳細はIoT.kyotoのホームページをご確認ください。

5-1. Amazon QuickSightで利用データの分析・可視化

目的

概要

性別割合のみ可視化を実践し、その他のものは時間があればチャレンジしてください


当章では、JAWS DAYS 2017のIoTハンズオン向けに作成したコンテンツの後編を流用して説明を行います。

RaspberryPi + Athena + Quicksightで可視化する<前編>

RaspberryPi + Athena + Quicksightで可視化する<後編>


<Amazon Athenaとは?>

Amazon S3内のデータを標準SQLを使って分析できるクエリサービスです。 フルマネージドでサーバーレスなサービスなため、セットアップや管理は不要です。 使い方は簡単で、S3にあるデータを指定して、スキーマを定義し、組み込まれているクエリエディタを使ってクエリを開始できます。 指定するデータは、CSV、JSON、Apacheログなどのさまざまなデータフォーマットを扱う事ができます。 また、QuickSightと統合する事で簡単に可視化する事ができます。

詳細はAWS公式ガイドをご確認ください。

Athenaイメージ画面

<Amazon QuickSightとは?>

AWSが提供するフルマネージドで高速なBIサービスです。 さまざまなデータソースに接続してデータをインポートすることが出来ます。 また、インメモリ処理に最適化されたデータベースである「SPICE」(超高速、パラレル、インメモリ、計算エンジン)にデータをインポートする事で、高速な分析が可能です。 作成したグラフはモバイルからの閲覧にも対応しています。

詳細はAWS公式ガイドをご確認ください。

<SPICEエンジンとは?>

QuickSightイメージ画面

5-1. Amazon Athenaを設定する

顔分析ログデータを利用する場合の手順を説明します。 ステップ3で取得した顔分析ログデータをAthenaに読み込ませましょう。

5-1-1. Athenaのコンソール画面を開く

5-1-2. データベースとテーブルを作成する

クエリエディタ画面で「テーブルの作成」をクリックし「from S3 bucket data」を選択します。

5-1-2.png

5-1-3. 「名前と場所」を設定する

以下の通り、作成するデータベースとテーブル名、読み込み対象のS3バケットを指定しましょう。

5-1-3.png

5-1-4. 「データ形式」を設定する

読み込むデータの形式(Apache Web ログ、CSV、TSVなど)を選択します。以下の通り進めてください。

5-1-4.png

5-1-5. 「列」を設定する

こちらで読み込み対象のデータのスキーマ情報を設定します。

列名 列のタイプ
datetime timestamp
agerange-low smallint
agerange-high smallint
gender string
smile boolean
eyeglasses boolean
sunglasses boolean
beard boolean
mustache boolean
eyesopen boolean
mouthopen boolean

[列の一括追加]をクリックし、以下のコードを貼り付けて、[の追加]ボタンをクリックしてください

datetime timestamp, agerange-low smallint, agerange-high smallint, gender string, smile boolean, eyeglasses boolean, sunglasses boolean, beard boolean, mustache boolean, eyesopen boolean, mouthopen boolean

5-1-5_1.png

5-1-6. 「パーティション」を設定する

データをパーティション分割することで、各クエリでスキャンするデータの量を制限し、パフォーマンスの向上とコストの削減を達成できます。 今回はパーティション設定は行いません。

5-1-7. テーブル作成結果を確認する

5-1-7.png

5-1-8. クエリを実行してみる

SELECT * FROM "20190823_seminar"."analysislogdata" limit 10;

5-1-8.png

Athenaでは、このようにS3バケットに格納しているJSONファイルに対してクエリを実行し結果を取得することができます。

5-2. Amazon QuickSightのアカウントを開設する

つづいて、QuickSightを使用するためにアカウントを作成しましょう。

5-2-1. QuickSightのコンソール画面を開く

5-2-2. QuickSightのアカウントを作成する

はじめてQuickSightを起動した場合は、以下のサインアップ画面が表示されます。

5-2-3. QuickSightアカウントの種別を選択する

5-2-4. アカウント作成に必要な情報を入力する

5-2-4.png

5-2-5. QuickSightを開く

「おめでとうございます。Amazon QuickSight にサインアップしました。」のメッセージが表示されればアカウントは正常に作成されています

5-2-6. QuickSightへようこそ

QuickSightのサイトが立ち上がり、チュートリアルが表示されます。 5-2-6.png

5-3. QuickSightにS3バケットへのアクセス権限を付与する

QuickSightにデータソースを指定する前に、読み込み対象のS3バケットへの権限を付与しましょう。

5-3-1. QuickSightの設定画面を開く

5-3-2. セキュリティとアクセス権限画面を開く

5-3-2.png

5-3-3. 接続先のS3バケットを追加する

5-3-3.png

注意:S3バケットへの権限を付与しない状態で、データセットを作成するとPermissionエラーが発生します。

5-4. QuickSightのデータソースを作成する

ステップ5−1で作成したAthenaデータからデータソースを作成し、SPICEに読み込ませましょう。

5-4-1. データソース管理画面を開く

5-4-2. 新しいデータセットを作成する

5-4-2.png

5-4-3. データセットとしてAthenaを追加する

5-4-3.png

5-4-4. Athenaのデータベース・テーブルを選択する

5-4-4.png

5-4-5. Athenaのデータベース・テーブルを選択する

5-4-5.png

5-4-6. データのインポートを確認する

5-4-6.png

5-5. QuickSightでデータの可視化を行う

さいごに、QuickSightで画像の人物の性別割合を例として可視化してみましょう。

5-5-1. 可視化項目を選択する

5-5-1.png

このようにQuickSightでは選択したデータ型によって自動的に適したグラフ形式で描画してくれます。

5-5-2. グラフ形式を円グラフに変更する

5-5-3. グラフの表示内容をカスタマイズする

5-5-3_1.png

5-5-3_2.png

5-5-4. QuickSightをもっと体験してみましょう

JAWS DAYSのハンズオン記事には、SPICEのデータのリフレッシュの方法や、データを自動更新する方法や、計算フィールドの設定方法などが記載されているので、これを参考にしてQuickSightをもっと体験してみましょう。 時間があまった方は、S3に格納した他のデータ「認証ログデータ」「自動ドア開閉ログデータ」の可視化にもチャレンジしてみてください。


おつかれさまです!

以上でハンズオンコンテンツ「 スマートフォンとAWSサービスを用いた画像認識サービスの構築する 」は終了です。アジェンダに戻り、「さいごに」をご確認ください。