AIサービスを利用して顔認証してみた②
こんにちは。呉屋です。
今回は、AWSのAIサービス「Amazon Rekognition」をカスタマイズした内容について紹介します。
前の投稿でサービス概要や利用料金について記載していますので、よろしければご参照ください。
AIサービスを利用して顔認証してみた①
はじめに
どのような機能、構成にしたのかを紹介します。
・機能内容
Webページから下記①②の機能を利用できるサービスです。
①画像ファイルから物体・シーンを分析する機能
②人物ファイルから類似分析(〇%)する機能
・AWS構成図
Amazon Rekognitionだけでは上記の機能を満たすことができないため、ストレージ(S3)、API実行(API Gateway)など他サービスを利用して構築しました。

検証内容
検証①:画像ファイルから物体、シーンを分析する機能
まずは、①の機能について検証していきます。
今回構築した機能の検証は、Webページから行います。
インターネットブラウザから特定のURLを指定して、以下のページを開きます。

画面左上の「ファイルの選択」ボタンを押して、自分のPC内にある画像を選択します。
例として「動物園」で撮影した画像を使用します。

次に画像下の「認証」ボタンを押します。
すると、分析処理が行われてページ右側に結果が表示されます!

表示内容と機能について説明します。
分析結果①(シーン認証)
画像ファイルから「物体」、「シーン」の検出を行います。
結果、画像から「動物園」、「動物」、「キリン」、「哺乳類」、「野生動物」が検出されました。
この機能を「ラベル」検出機能と言います。
ラベルとは、「モノ(例:キリン)」・「イベント(例:動物園)」・「概念(例:哺乳類)」といった定義を指します。
本機能を自分で開発する場合、大量のデータを用意し「これは○○」と定義づけが必要で、多くの時間を要します。
Amazon Rekognitionでは、AWS側で構築した分析用AIが搭載されているため、機能(API)を呼び出すだけでラベル検出ができてしまいます!
検証②:人物ファイルから類似分析(〇%)する機能
次に、②の機能について検証していきます。
人物ファイルから「顔」の分析を行うには、「コレクション」と呼ばれるデータ領域に画像を登録することで、判別元となる情報を作成できます。
今回は例として弊社Dさんの画像で行います。
正面、横顔、メガネのパターンをコレクションに登録しました。

次に3つのパターンで検証を行います。
1.登録されている画像と同一の場合
登録したファイル①を選択して、分析してみます。

結果は、類似度「100%」で同じ画像が検出されています。
期待通りです!!
検出された画像は、メガネや横顔でも100%に近い数値で検出されていることが分かります。
2.人物が同じであるが、マスク着用の場合
現在、新型コロナウィルス感染防止のためマスクを着けて日常生活を過ごしています。
そこで、マスクを着けたままでも顔分析できるのか(マスクを外さないとダメなのか)を検証します。

結果は、類似度「99%」と高い数値でDさんの画像で検出されました。
マスクを着けていても認識されることが分かりました!
3.登録されている人物と異なる場合
登録していない人物で分析してみます。
私の同期であるTさんを使用します。

登録していないため、もちろん不一致となりました。
現在「undifined」となっていますが「未登録です」や「○○です」といった情報表示する等、改善点はまだまだあります。
あと、検証③シーン認証結果において「ロングスリーブ」や「座って」は誤検知なのでは?と思う部分もありました( ̄▽ ̄;)
検証結果
上記の検証にて分かった点について、まとめます。
①画像ファイルから物体、シーンを分析する機能(ラベル検出機能)
一般的なラベルは、AWSにより学習モデルが構築されていますが、ペットの名前や企業のロゴといった特有なものまでは分析することができませんでした。
独自のラベルを追加・分析したい場合は「カスタムラベル」という他のサービスで実現できます。
画像分析において発展性のあるサービスのため、今後の課題として取り組んでいきたいと思います。
②人物ファイルから類似分析(〇%)する機能
Amazon Rekognitionでは、目の間、鼻、眉、口、その他の顔のパーツの結びつきを含む、外見の特徴を基にして分析するようなので目元が見えるメガネやマスクの類似度がほとんど変化しませんでした。
そのため、数枚の画像を登録し、目元が写っている画像であれば認証可能ということです。
また、上記で紹介したカスタムラベル以外にも画像から文字を読み取る「テキスト検出」機能などもあります。
そして、「SageMaker」という機械学習のサービスと組み合わせることでより分析精度の高いAIを作ることができます。
長い道のりになりそうですが、色々面白いことができることが分かりました!
さいごに
本記事では、構築したサービスの概要と検証を行いました。
次回は、設計・構築ポイントについて紹介したいと思います。(^o^)/