MENU
  • サービス
  • AWS導入支援
  • AWS運用代行
  • WordPress
    • WordPress高速化
    • WordPress脆弱性対策
  • 導入事例
  • 良くあるご質問
  • AWS技術知見
  • お問い合わせ
AWSの導入・クラウド運用を総合支援【CapsuleCloud】
  • サービス
  • AWS導入支援
  • AWS運用代行
  • WordPress
    • WordPress高速化
    • WordPress脆弱性対策
  • 導入事例
  • 良くあるご質問
  • AWS技術知見
  • お問い合わせ
AWSの導入・クラウド運用を総合支援【CapsuleCloud】
  • サービス
  • AWS導入支援
  • AWS運用代行
  • WordPress
    • WordPress高速化
    • WordPress脆弱性対策
  • 導入事例
  • 良くあるご質問
  • AWS技術知見
  • お問い合わせ
  1. ホーム
  2. AWS技術知見
  3. Amazon Rekognition 人工知能で画像分析 Part 1

Amazon Rekognition 人工知能で画像分析 Part 1

2022 8/17
AWS技術知見
2022年8月17日
目次

はじめに

AWSにもディープラーニングを使ったサービスが増え始めており、その中の一つ、「Amazon Rekognition」は画像分析を簡単に行えるサービスです。
画像に含まれる物体や、顔の認識、顔の位置や表情、感情の推定などが可能で、一般的なディープラーニングによる画像分析サービスでできることはほぼ全てカバーされています。
そして、さらに良いところは、人物の顔を学習して判別ができるところで、こういったプレフィックス型のAIがあるのは、アプリケーション開発者にとってとても便利な世の中になってきましたね。

さっそく、各APIを見ていきましょう。

Object and scene detection

画像に含まれる内容、状況を分析できるAPIです。
試しにNew York Cityの街角の画像で試してみます。

「路地」「道」「街」「車」と確かに画像の内容を高精度で補足できています。
94.2%なんていう数字を叩き出せるところがディープラーニング強みです。

同じ画像でaws-cliでも試してみます。
まずアップロードしましょう。

$ aws s3 cp ./IMG_2257.JPG s3://ssw-uswest/
upload: ./IMG_2257.JPG to s3://ssw-uswest/IMG_2257.JPG

そしてdetectionを実行。


$ aws --region us-west-2 rekognition detect-labels --image '{"S3Object":{"Bucket":"ssw-uswest","Name":"IMG_2257.JPG"}}'

LABELS 94.2463607788 Alley
LABELS 94.2463607788 Alleyway
LABELS 94.2463607788 Road
LABELS 94.2463607788 Street
LABELS 94.2463607788 Town
LABELS 82.0486450195 City
LABELS 82.0486450195 Downtown
LABELS 82.0486450195 Metropolis
LABELS 82.0486450195 Urban
・
・

Facial analysis

画像の中から顔認識を行い、顔がいくつあるか、顔位置レクタングルの座標、目や口など各パーツの座標位置などを返してくれるAPIです。
ディープラーニングらしいところとして、年齢、性別、笑っているか、幸せに見えるかなどの感情までも分析してくれます。

撮ったばかりのリア充っぽい写真で試してみると、

aws-cliでは、–attributes “ALL”を付けることで詳細なデータが返ってきます。


$ aws --region us-west-2 rekognition detect-faces --image '{"S3Object":{"Bucket":"ssw-uswest","Name":"IMG_a.jpg"}}' --attributes "ALL"

FACEDETAILS 99.5733566284
AGERANGE 44 27
BEARD 99.9661483765 False
BOUNDINGBOX 0.147403687239 0.153333336115 0.190954774618 0.0977777764201
EMOTIONS 99.7837371826 HAPPY
EMOTIONS 6.48752450943 CALM
EMOTIONS 0.341820716858 CONFUSED
EYEGLASSES 99.8971786499 False
EYESOPEN 99.9983444214 False
GENDER 99.9269866943 Male
LANDMARKS eyeLeft 0.182261198759 0.258524179459
LANDMARKS eyeRight 0.214303314686 0.245224401355
LANDMARKS nose 0.202227979898 0.285905092955
LANDMARKS mouthLeft 0.189863353968 0.301656454802
LANDMARKS mouthRight 0.224157467484 0.288723319769
LANDMARKS leftPupil 0.185016259551 0.258981823921
LANDMARKS rightPupil 0.212754517794 0.246596395969
LANDMARKS leftEyeBrowLeft 0.169253438711 0.240166157484
LANDMARKS leftEyeBrowRight 0.177411094308 0.237352564931
LANDMARKS leftEyeBrowUp 0.184821873903 0.238478586078
LANDMARKS rightEyeBrowLeft 0.203291296959 0.230779290199
LANDMARKS rightEyeBrowRight 0.211873278022 0.223424091935
LANDMARKS rightEyeBrowUp 0.221158325672 0.220782786608
LANDMARKS leftEyeLeft 0.175313144922 0.260035723448
LANDMARKS leftEyeRight 0.188862934709 0.25470033288
LANDMARKS leftEyeUp 0.182431966066 0.258959382772
LANDMARKS leftEyeDown 0.182263627648 0.259245067835
LANDMARKS rightEyeLeft 0.206606715918 0.24683585763
LANDMARKS rightEyeRight 0.221117794514 0.2413431108
LANDMARKS rightEyeUp 0.214707806706 0.245497614145
LANDMARKS rightEyeDown 0.214339911938 0.24608618021
LANDMARKS noseLeft 0.196668908 0.290402919054
LANDMARKS noseRight 0.212483152747 0.284062534571
LANDMARKS mouthUp 0.206553846598 0.295882791281
LANDMARKS mouthDown 0.210586100817 0.315419733524
MOUTHOPEN 83.9619522095 False
MUSTACHE 99.9769897461 False
POSE -14.9218702316 -15.5610284805 -5.62592029572
QUALITY 60.0329208374 99.9581985474
SMILE 97.2041244507 True
SUNGLASSES 99.1343765259 False

プログラムから使うならSDKで同様のデータが返ってきます。
レクタングル、パーツ、感情などここまで細かく正確に分析してくれるのは本当に便利です。
OpenCVでカスケードファイルのパスを間違って読み込みエラーになってた頃が懐かしい。

Face comparisons

よりAmazon Rekognitionの威力を発揮するAPIがコレ。
2つの画像から人物の顔が一致するかを判定するFace comparisonsです。
これがあれば、画像や動画に誰が写っているのかを特定するプログラムが簡単に書けることになります。

AWSコンソールからアップロードすると、精度とともに結果が表示されます。

aws-cliからは、このようなコマンドで実行できます。

$ aws --region us-west-2 rekognition compare-faces --source-image '{"S3Object":{"Bucket":"ssw-uswest","Name":"IMG_2100.jpg"}}' --target-image '{"S3Object":{"Bucket":"ssw-uswest","Name":"IMG_0804.JPG"}}'

FACEMATCHES 99.0
FACE 99.9987716675
BOUNDINGBOX 0.394099056721 0.278187572956 0.204425707459 0.394099056721
SOURCEIMAGEFACE 99.9914169312
BOUNDINGBOX 0.375555545092 0.120245397091 0.170000001788 0.414723932743

検証する画像が集合写真などで、複数の顔が合った場合はどうなるかと仕様を見てみると、

If you provide a source image containing multiple faces, the service detects the largest face and uses it to compare with each face detected in the target image.(source)

複数の顔があった場合は、最も大きいサイズが使用されます。

Image moderation

Image moderationは他とは少し種類の違ったAPIで、アダルト画像チェックができるというソリューション寄りのAPIです。
画像投稿を含むサービスを作っている際には、監視や画像削除を業者に発注したり、ユーザからの報告に頼ることも多いので、プログラムで自動化できればかなり合理化できます。

Explicit Nudity(明示的)
* Nudity
* Graphic Male Nudity
* Graphic Female Nudity
* Sexual Activity
* Partial Nudity
Suggestive(暗示的)
* Female Swimwear Or Underwear
* Male Swimwear Or Underwear
* Revealing Clothes

という分類で、かなり事細かに画像に写されている状況を特定してくれます。

サンプルとしてこちらの「透き通る海に入るイケメンボーイ」を使ってみると、51.3%で明示的な画像という判定が出ました。
ただ、これではちょっとよく分からない微妙な結果なので、もっと正解データっぽい画像を使ってはっきりさせるしかないですね。
とはいえ、そういういかがわしい画像は手元には一切ないので、今まで見たこともダウンロードしたことも一切ないので、検索して探してくるしかないです。
どうやって探すのか皆目見当もつかないので難しいところですが、これも仕事なのでしょうがない。
時間がかかっても探し出すしかありません。

さて、0.001秒くらいで見つかったので試してみると、

98.6%明示的という結果がでました。
このAPIを使えば、投稿NG判定も簡単にできます。

まとめ

Amazon Rekognitionではディープラーニングで詳細な画像分析が可能になるため、写っている内容をもとにしたレコメンド、人物認識を利用したセキュリティ、膨大な画像の整理・カテゴライズ、自動投稿チェックなど画像周りのアプリケーション開発に役立ちます。

次回は顔を学習させて利用する、Rekognitionの使い方をご紹介いたします。

AWS技術知見
AI aws DeepLearning Rekognition 画像認識

関連記事

  • aws-route53
    AWS機能を網羅してみよう3.3 Route53編「実践」DNSフェイルオーバー
  • AWSのクラウドセキュリティ「責任共有モデル」とは?
  • ansible
    AWSのためのAnsible入門
  • aws-s3
    Amazon S3でGlacierを活用したコスト削減法
  • aws-route53
    AWS機能を網羅してみよう3.2 Route53編「実践」
  • aws-s3
    Amazon S3で署名付きURLを使ったアクセス制御
  • aws-route53
    AWS機能を網羅してみよう3.1 Route53編「概要」
  • aws-waf
    AWS WAFでSQLインジェクションと特定URLをブロック
検索
clouddx003-low.pdf - 1.8MB
資料ダウンロードはこちら
人気記事
  • terraform
    Terraformと変数(variable)のお話
    Terraform
  • aws-s3
    Amazon S3で署名付きURLを使ったアクセス制御
    AWS技術知見
  • AWS導入支援
    amazonクラウド、AWSとは?何ができるかデメリット含めわかりやすく説明
    AWS導入支援
  • WordPress高速化!6つの簡単な方法で重さを改善
    WordPress
  • ansible
    AWSのためのAnsible入門
    AWS技術知見
  • WordPress脆弱性の原因とやっておくべき7つの対策
    WordPress
  • 【実例20選】AWS導入企業、活用事例をご紹介
    AWS導入支援
新着記事
  • AWS運用代行企業5選!企業選びのポイントを解説
    AWS運用代行
  • AWS運用代行のサービス内容やメリットについて
    AWS運用代行
  • 10分でスタート!AWSの利用開始までを解説
    AWS導入支援
  • WordPress脆弱性の原因とやっておくべき7つの対策
    WordPress
  • WordPress高速化!6つの簡単な方法で重さを改善
    WordPress
カテゴリー
  • AWS導入支援
  • AWS技術知見
    • Rancher
    • Terraform
  • AWS運用代行
  • WordPress
タグ一覧
AI (3) aws (25) aws-cli (3) CloudFormation (1) CloudSearch (3) DeepLearning (1) DNS (2) Docker (4) EBS最適化オプション (1) ec2 (7) ElasticBeanstalk (1) Geo Routing (1) Gitlab (1) HA (1) infrastructure-as-code (1) keypair (1) load-balancer (1) nginx (2) OpenAM (3) Rancher (8) Rekognition (2) Route53 (3) s3 (2) secrets (1) security-group (1) Terraform (6) terragrunt (2) tfvars (1) variable (1) vault (1) VPC (1) wordpress (3) アプリケーション (1) オンプレミス (2) クラウド (2) サインアップ (1) シングルサインオン (3) セキュリティ (1) セキュリティグループ (1) ネットワーク設計 (1) 人工知能 (2) 初心者 (1) 本番運用 (1) 画像認識 (3) 起動 (1)
アーカイブ
  • 2022年9月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2017年7月
  • 2017年6月
AWSエンジニア積極採用!
採用情報
フリーランスの求人情報!
テックブレイン

スーパーソフトウエアはAWSパートナーネットワーク(APN)のコンサルティングパートナーです。

スーパーソフトウエアはRancherパートナーネットワークのコンサルティングパートナーです。

logo

カプセルクラウドはAWSクラウドのマネージドサービスです。AWSを安心かつ迅速に導入し、負荷分散・セキュリティ・DevOps・コスト削減など、クラウドサービスのメリットを活かした豊富なベストプラクティスをご提供いたします。

Contents

  • サービス
  • 導入支援
  • WordPress
  • 導入事例
  • ブログ
  • Q&A
  • お問い合せ
  • 資料ダウンロード

お問い合わせ

株式会社スーパーソフトウエア
東京 03-6721-7105
大阪 06-4707-6001
info-capsulecloud@tokyo.supersoftware.co.jp

  • プライバシーポリシー
  • 免責事項
  • 契約約款
  • 特商法に基づく表記
  • 会社情報
  • サイトマップ

© Supersoftware 2017. All rights reserved.

目次