顔の判別(分析)
こちらからデモをGUIで行うことができます。
デモ用の画像が元から入っていますが、画像をアップロードするかURLを入力することで任意の画像を分析することができます。
顔か、性別、表情、サングラスを掛けているか、口が空いているか、などが百分率(%)で分かります。
また、リクエストやレスポンスを見ると、JSON形式で結果を見ることができます。
実際にSDKやAWS CLIなどでAPIを叩く場合は、こちらのJSON形式でやり取りされるので、こちらを参考にJSONをPOSTすれば、レスポンスと同じようなJSONを受け取ることができます。
AWS CLIで実行
上記で述べたように、実際はAPIを叩いて実行します。
SDKを使ってpythonやjavaなど様々な言語でAPIを扱うことができますが、今回はAWS CLIを使ってみます。
- Amazon RekognitionのAWS CLIのリファレンスはこちら
以下のコマンドで実行できます。
(--attributes "ALL"を付けると詳細情報(性別や表情など)も取得できます
)
S3から読み込む場合
aws rekognition detect-faces --image "S3Object={Bucket=BucketName,Name=ImageName}"
ローカルから読み込む場合
aws rekognition detect-faces --image-bytes fileb://ImageName
レスポンス
{ "FaceDetails": [ { "BoundingBox": { "Width": 0.6987500190734863, "Top": 0.19571568071842194, "Left": 0.03500000014901161, "Height": 0.5443037748336792 }, "Landmarks": [ { "Y": 0.42555564641952515, "X": 0.25307589769363403, "Type": "eyeLeft" }, { "Y": 0.4183715581893921, "X": 0.48155713081359863, "Type": "eyeRight" }, { "Y": 0.554298460483551, "X": 0.33134591579437256, "Type": "nose" }, { "Y": 0.6315187215805054, "X": 0.2754933834075928, "Type": "mouthLeft" }, { "Y": 0.6272069215774536, "X": 0.4577423334121704, "Type": "mouthRight" } ], "Pose": { "Yaw": -10.272496223449707, "Roll": -1.964564561843872, "Pitch": -13.099748611450195 }, "Quality": { "Sharpness": 99.9305191040039, "Brightness": 43.62629699707031 }, "Confidence": 99.97090911865234 } ], "OrientationCorrection": "ROTATE_0" }
レスポンスを見ると分かるように、顔や顔の部位などを認識していますね!
こんな感じで画像を分析することができました!
顔の分析以外
顔の分析以外にもできることがたくさんあります。
- 有名人の認識
- 顔の比較
- イメージ内のテキスト
- ビデオ分析
試しに有名人の認識を行ってみます。
Wikipediaにあった「モナ・リザ」の画像を使いました。
バッチリ認識されています!
実際に使う場合はAPIを叩いて行いますが、GUIでデモを触れておくことでイメージが湧きやすいですね!