Cloud Service
Amazon Rekognition
画像や動画から物体・顔・テキストなどを自動で解析する、機械学習ベースの画像認識サービス。
- 1.画像や動画を渡すだけで物体検出・顔分析・テキスト抽出などができる画像認識サービス。
- 2.機械学習の専門知識やモデル学習なしに、API 呼び出しだけで利用できるフルマネージド型。
- 3.管理サーバー不要で、解析した画像枚数や動画の長さに応じた従量課金。
解決する課題
大量の画像や動画から「何が写っているか」「誰が写っているか」「どんな文字があるか」を人手で確認するのは、時間がかかり品質も一定しません。Amazon Rekognition を使うと、こうした解析を機械学習で自動化できます。
- 画像内の物体・シーン・アクティビティをラベルとして検出
- 顔の検出と分析(表情・年齢帯などの属性)や、顔同士の比較・照合
- 画像中のテキスト抽出や、不適切コンテンツのモデレーション
- 動画に対しても同様の解析を、フレームを追って実施
自前で画像認識モデルを学習・運用せず、API 呼び出しだけで結果を得られる点が中心的な価値です。
主要概念と用語
- ラベル検出: 画像や動画に写る物体・シーン・概念(例: 車、屋外、スポーツ)を信頼度スコア付きで返す機能
- 顔検出と顔分析: 画像内の顔の位置(バウンディングボックス)や属性(表情、目の開閉など)を返す機能
- 顔比較: 2 枚の画像に写る顔が同一人物かを類似度として返す機能
- フェイスコレクション: 顔の特徴量(フェイスベクトル)を保存しておき、後から検索・照合できる索引。元画像そのものは保存しない
- テキスト検出: 画像中の文字を読み取り、テキストとして抽出する機能
- コンテンツモデレーション: 不適切・不快な可能性のある内容を分類して検出する機能
- 信頼度スコア: 各検出結果に付く確からしさ。しきい値を設けて採否を判断する
- カスタムラベル: 自社固有の物体やロゴなどを、少量の画像で学習させて検出できる拡張機能
仕様・制限・クォータ
- 入力は静止画と動画の両方に対応する。画像は API へ直接渡すか、S3 に置いたものを指定できる
- 動画解析は S3 上の動画に対する非同期ジョブとして実行し、完了を通知またはポーリングで受け取る
- 各検出結果には信頼度スコアが付き、しきい値で結果を絞り込める
- 画像サイズ、1 回に検出できる顔の数、フェイスコレクションに登録できる顔の数、API の同時実行レートなどにアカウント単位のクォータがあり、引き上げ申請が可能
- フェイスコレクションは顔そのものの画像ではなく、検索用の**特徴量(ベクトル)**を保持する
具体的な上限値や対応フォーマットは更新されるため、最新の公式ドキュメントで確認してください。
内部の仕組み
利用者から見ると、画像や動画を渡すと AWS 側のマネージドな機械学習モデルが推論を行い、構造化された結果(JSON)を返すブラックボックスとして扱えます。
- 画像 API(同期): 画像を渡すと、その場で検出結果を返す。リアルタイム性が高い用途に向く
- 動画 API(非同期): S3 上の動画に対してジョブを開始し、処理完了後に結果を取得する。長尺動画をフレーム単位で解析する
- フェイスコレクション: 登録時に顔から特徴量を抽出してインデックス化し、検索時は入力顔の特徴量と照合して類似する顔を返す
- カスタムラベルでは、利用者が用意したラベル付き画像でモデルを追加学習し、自社固有の対象を検出できるようにする
モデルの学習・スケーリング・ハードウェア管理はすべて AWS 側が担います。
設計パターン / ベストプラクティス
- 非同期パイプライン化: S3 への画像・動画アップロードをトリガに Lambda で解析を起動し、完了通知(EventBridge や SNS など)で後続処理へ流す疎結合構成
- しきい値で品質を制御: 信頼度スコアにしきい値を設け、低スコアの結果は人手レビューへ回すなど、用途に応じた採否ルールを設計する
- 顔照合はコレクションを使う: 多数の人物と照合したい場合は、毎回 2 枚比較するのではなくフェイスコレクションに索引化して検索する
- 固有対象はカスタムラベル: 標準のラベル検出で扱えない自社製品やロゴは、カスタムラベルで学習させる
精度を上げる前に、信頼度スコアのしきい値を業務要件に合わせて決めるのが先決です。誤検出と見逃しのどちらを許容しにくいかで、しきい値は変わります。
運用・監視
- API 呼び出し回数やエラー率、レイテンシは CloudWatch のメトリクスで監視する
- 動画解析ジョブの完了は SNS や EventBridge で受け取り、後続処理や通知を自動化する
- API 操作の監査証跡は CloudTrail に記録される
- 失敗時はエラー理由(非対応フォーマット、サイズ超過、権限不足など)を確認し、入力データと IAM 設定を見直す
動画解析は即時に終わりません。結果を同期的に待つ作りにせず、ジョブ完了の通知やポーリングで待つ非同期設計にしてください。
コスト
- 課金は基本的に解析した画像の枚数や動画の長さ(分)に対する従量制で、サーバーの常時起動費用は発生しない
- ラベル検出、顔分析、テキスト検出など機能ごとに単価が異なる傾向がある
- カスタムラベルは、モデルの学習に加えて推論を有効化している時間に対しても費用が発生する場合がある
具体的な単価は変動するため、料金は公式の料金ページで確認してください。少量の画像で検証してから本番ボリュームを見積もるのが安全です。
セキュリティ
- アクセス制御は IAM で行い、入力に使う S3 バケットへの最小権限のみを付与する
- 転送は TLS で保護し、S3 上の入力データは S3 側の暗号化(KMS 管理鍵を含む)で保存時を保護する
- 顔情報などの生体に関わるデータを扱う場合は、保管目的・保管期間・同意などの取り扱いに十分配慮する
- VPC 内のリソースからプライベートに到達したい場合は VPC エンドポイント経由のアクセスを検討する
解析用の IAM ロールに広すぎる S3 権限を与えると、想定外のデータへアクセスできてしまいます。対象バケット・プレフィックスに絞った最小権限にしてください。
Well-Architected の観点
- 運用上の優秀性: マネージドサービスにより運用負荷を下げ、S3・Lambda・EventBridge と組み合わせて解析パイプラインを自動化・可観測化できる
- セキュリティ: IAM の最小権限、転送・保存時の暗号化で機密画像や顔情報を保護する
- コスト最適化: 従量課金のため、不要な解析を避け、カスタムラベルの推論は必要なときだけ有効化する
- 信頼性: 動画は非同期・疎結合な構成にし、ジョブ失敗時の再試行や通知を組み込む
試験で問われるポイント
- 「画像や動画から物体・顔・テキストを検出する AWS サービスは?」→ Amazon Rekognition
- 「多数の人物の中から顔を照合したい」→ フェイスコレクションに索引化して検索
- 「不適切な画像を自動でふるい分けたい」→ コンテンツモデレーション
- 「自社固有の製品やロゴを検出したい」→ カスタムラベルで追加学習
- 動画解析は S3 上の動画に対する非同期ジョブで、完了は SNS や EventBridge で受け取る
関連サービス・比較
文書の構造的なテキスト抽出に特化した Amazon Textract と混同しやすいため比較します。
| 観点 | Amazon Rekognition | Amazon Textract |
|---|---|---|
| 主な目的 | 画像や動画の総合的な認識 | 文書からのテキスト構造抽出 |
| 得意な対象 | 物体・顔・シーン・一般的な文字 | 帳票・表・フォームの項目 |
| テキストの扱い | 画像中の文字を検出 | 表やキーと値の関係まで抽出 |
| 代表的な用途 | 顔照合・モデレーション・ラベル付け | 請求書や申込書のデータ化 |
ハンズオン / CLI例
# S3 上の画像からラベル(物体・シーン)を検出し、信頼度80以上に絞る
aws rekognition detect-labels \
--image '{"S3Object":{"Bucket":"my-input-bucket","Name":"photo.jpg"}}' \
--min-confidence 80 \
--query "Labels[].{Label:Name,Confidence:Confidence}"
# 2枚の画像に写る顔が同一人物かを比較(類似度を確認)
aws rekognition compare-faces \
--source-image '{"S3Object":{"Bucket":"my-input-bucket","Name":"source.jpg"}}' \
--target-image '{"S3Object":{"Bucket":"my-input-bucket","Name":"target.jpg"}}' \
--query "FaceMatches[].Similarity"
AWS Service
Amazon Rekognitionを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
AI / 機械学習
比較で見る軸
クラウド: AWS / カテゴリ: AI / 機械学習 / 難易度: basic
導入後に効く点
機械学習の専門知識やモデル学習なしに、API 呼び出しだけで利用できるフルマネージド型。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- AWS
- カテゴリ
- AI / 機械学習
- 難易度
- basic
- 関連資格
- AIF-C01
- 設計柱
- operational
判断チェックリスト
- 自社の用途が「AI / 機械学習 / operational」に近いか確認する。
- 強みである「画像や動画を渡すだけで物体検出・顔分析・テキスト抽出などができる画像認識サービス。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。