Amazon Rekognition で画像・動画解析 — 顔認識 / ラベル検出 / コンテンツ安全性
AWS の AI 画像解析サービス Rekognition の主要機能と料金感、Google Vision / Azure Computer Vision との比較、日本向け精度の実務感、LLM ベースの画像理解との棲み分け。
Amazon Rekognition が解く問題
画像・動画から人物・物体・テキスト・不適切コンテンツを自動抽出したいとき、Rekognition は モデルを自前で学習せず、API を叩くだけで実用レベルの推論が得られる AWS のマネージド AI サービスです。
典型的なユースケース:
- SNS / UGC のコンテンツモデレーション (不適切画像自動検出)
- 入退室管理での顔認証
- EC の商品画像から属性タグ自動付与 (色、形、カテゴリ)
- 動画コンテンツのシーン分析 (「人物が映っている秒数」等)
- 文書 OCR (領収書・看板の文字抽出)
2024+ の動向: マルチモーダル LLM (Claude / Gemini / GPT-4V) が画像理解を担うケースが増加。シンプルなラベル検出なら Rekognition は依然コスパ良好、カスタム質問は LLM、という棲み分けが進んでいます。
主要 API
1. 顔検出・顔認識
// AWS SDK v2 (Java)
RekognitionClient client = RekognitionClient.builder().region(Region.AP_NORTHEAST_1).build();
DetectFacesResponse res = client.detectFaces(DetectFacesRequest.builder()
.image(Image.builder().bytes(SdkBytes.fromByteArray(imageBytes)).build())
.attributes(Attribute.ALL)
.build());
for (FaceDetail face : res.faceDetails()) {
System.out.printf("age=%s-%s gender=%s smile=%s%n",
face.ageRange().low(), face.ageRange().high(),
face.gender().value(), face.smile().value());
}
できること:
- 顔のバウンディングボックス + 年齢・性別・感情の推定
- 顔の類似度比較 (
CompareFaces) — 2 枚の画像で同一人物か - 顔コレクション (
IndexFaces/SearchFacesByImage) — DB に登録済の顔と照合
プライバシー: 顔認識は社会的な議論の多い領域。プロダクションで使う前に用途・同意取得フローを法務と確認必須。
2. ラベル検出
画像内の物体・シーン・コンセプトを自動タグ付け:
DetectLabelsResponse res = client.detectLabels(DetectLabelsRequest.builder()
.image(...)
.maxLabels(10)
.minConfidence(80f)
.build());
for (Label label : res.labels()) {
System.out.printf("%s (%.1f%%)%n", label.name(), label.confidence());
}
結果例:
Dog (99.2%)
Mammal (99.2%)
Animal (99.2%)
Pet (97.8%)
日本向けの注意: 「寿司」「鳥居」「桜」などの文化的概念は英語ラベルで返ってくる (Sushi, Shrine…)。日本語で返したい場合は Translate などで変換が必要。
3. テキスト検出 (OCR)
DetectTextResponse res = client.detectText(DetectTextRequest.builder()
.image(...)
.build());
日本語認識: 近年精度が大幅に向上したが、手書きや古いフォントはまだ Google Cloud Vision や Azure Document Intelligence の方が強いケースも。PDF の構造的 OCR (表・レイアウト保持) なら Amazon Textract を選ぶ。
4. コンテンツモデレーション
成人向けコンテンツ、暴力的画像、薬物などを自動検出:
DetectModerationLabelsResponse res = client.detectModerationLabels(...);
カテゴリ階層で返る: Explicit Nudity > Graphic Male Nudity のような粒度。SNS の投稿スクリーニング・EC の違反商品チェックの定番。
5. 動画解析
S3 に置いた動画を非同期で解析 (SNS 経由で結果通知):
StartLabelDetectionResponse start = client.startLabelDetection(StartLabelDetectionRequest.builder()
.video(Video.builder().s3Object(s3Obj).build())
.notificationChannel(NotificationChannel.builder().snsTopicArn(topic).roleArn(role).build())
.build());
長尺動画でも料金は分単位なので大規模運用でもコスト予測しやすい。
他クラウドとの比較 (2024+)
| Amazon Rekognition | Google Cloud Vision | Azure AI Vision | |
|---|---|---|---|
| ラベル検出 | 強い | 強い | 強い |
| 顔認識 | 強い (プライバシー議論) | API 制限多い | 強い |
| OCR (日本語) | 可、Textract が本命 | Document AI が最強 | Document Intelligence 強い |
| 価格 (1000 枚のラベル検出) | $1.00 | $1.50 | $1.00 |
| カスタムモデル | Custom Labels | AutoML Vision | Custom Vision |
| LLM 統合 | Bedrock (Claude 等) | Vertex AI (Gemini) | OpenAI Service |
選び方:
- 既に AWS 使ってる → Rekognition
- OCR 精度最優先 → GCP Document AI
- マルチモーダル (画像 + 質問回答) → LLM (Bedrock Claude / Vertex Gemini / OpenAI GPT-4V) を検討
料金感 (ap-northeast-1, 2024 時点)
- DetectLabels: $0.001 / image (1000 枚で $1)
- DetectFaces: $0.001 / image
- 顔認識 (SearchFacesByImage): $0.001 / request + 1M 顔あたり $0.01 / 月
- 動画: $0.10 / 分
大量処理での注意: 100万枚 = $1000。バッチ処理なら S3 Batch Operations + Lambda + Rekognition で並列化、CloudWatch で月次コスト監視を忘れない。
落とし穴
1. 顔認識の精度は「照明・向き・年齢」に左右される
高精度を謳うが、照明条件の悪い写真・横顔・子供では誤判定が増える。本番導入前に自社の実データでベンチマークする。
2. バウンディングボックスの座標系
Rekognition は 画像幅・高さに対する比率 (0.0〜1.0) で返す。ピクセル座標に戻す処理を忘れない:
float x = box.left() * imageWidth;
float y = box.top() * imageHeight;
3. 同期 API のサイズ制限
detectLabels 同期版は 5MB (画像) まで。大きい画像は事前にリサイズするか、S3 経由の非同期 API を使う。
4. Custom Labels の訓練データ要件
少なくとも 10 枚 / ラベル の訓練データが必要。精度を上げるには 50〜100 枚推奨。データ準備のコストを過小評価しない。
5. リージョン対応
一部 API は特定リージョンのみ提供。日本でサービス展開なら ap-northeast-1 で利用可能か都度確認。
まとめ
- Rekognition は モデル準備ゼロで画像・動画 AI を組み込める 基本の選択肢
- 2024+ はシンプルなタグ付けは Rekognition、質問応答は LLM、精密 OCR は Textract / Document AI、で使い分け
- 顔認識は 法務・プライバシー を慎重に
- 料金は従量制で読みやすいが、大量処理時は月次監視が必須
関連記事
- AI·
Vertex AI で生成 AI を本番化する — Gemini / Model Garden / Agent Builder
Google Cloud の Vertex AI による生成 AI 実装。Gemini 系モデル、Model Garden のサードパーティ提供、RAG 構成 (Vertex AI Search)、Agent Builder でのツール連携、料金の考え方。
- AI·
Azure OpenAI Service の採用判断 — OpenAI API との違い・企業導入のポイント
Azure OpenAI Service と本家 OpenAI API の違い、エンタープライズ要件 (データ所在地・SLA・プライベートリンク)、Responsible AI フィルター、料金の読み方まで。
- クラウド·
Cassandra 一貫性レベルの選び方 — ONE から ALL まで、現場で何を使うか
Cassandra の Tunable Consistency を Read/Write 別に整理。QUORUM の数式、R+W>RF の原則、マルチ DC での LOCAL_QUORUM 推奨、トレードオフの実例つき。