Amazon Rekognition で実装する画像・動画分析 - ラベル検出からカスタムモデルまで
事前トレーニング済み API でラベル検出・顔分析・テキスト検出を実装し、Custom Labels でドメイン固有の画像認識モデルを構築する手法を紹介します。
Rekognition の主要機能
Rekognition は事前トレーニング済みの深層学習モデルを API として提供する画像・動画分析サービスです。主要な機能は、ラベル検出 (オブジェクト・シーンの分類)、顔検出・分析 (年齢範囲、感情、顔の向き)、テキスト検出 (画像内の文字認識)、コンテンツモデレーション (不適切コンテンツの検出)、顔比較 (2 つの顔の類似度判定) です。すべて API コールで利用でき、ML モデルのトレーニングやインフラ管理は不要です。料金は処理した画像・動画の量に応じた従量課金で、月間 5,000 枚までの画像分析は無料利用枠に含まれます。
ラベル検出とテキスト検出の実装
DetectLabels API は画像を S3 バケットまたは Base64 エンコードのバイト列で受け取り、検出されたラベル (例: Car、Tree、Person) と信頼度スコア (0-100%) を返します。MinConfidence パラメータで信頼度の閾値を設定し、誤検出を制御できます。バウンディングボックスの座標も返されるため、画像内のどこにオブジェクトがあるかを特定できます。DetectText API は画像内の印刷テキストや手書きテキストを検出し、文字列として抽出します。1 画像あたり最大 100 個のテキスト要素を検出でき、各テキストの位置情報と信頼度スコアが返されます。製造ラインでの製品ラベル読み取り、駐車場でのナンバープレート認識、書類のデジタル化など、幅広い OCR ユースケースに対応します。
Custom Labels による独自モデル構築
Custom Labels は、 Rekognition の事前トレーニング済みモデルでは対応できない独自の分類・検出タスクに対応する機能です。例えば、製造ラインでの不良品検出、小売店での商品棚分析、農業での作物の病害検出など、ドメイン固有の画像認識が必要な場面で活用します。モデル構築に必要な教師データは数十枚程度から始められます。 S3 に画像をアップロードし、 Rekognition コンソールまたは SageMaker Ground Truth でラベル付けを行い、トレーニングを開始します。トレーニング完了後は推論エンドポイントを起動し、 API 経由で独自モデルの推論を実行できます。推論エンドポイントは時間課金のため、使用しない時間帯は停止してコストを抑えます。 Rekognition について体系的に学びたい方は、関連書籍 (Amazon)も参考になります。
Rekognition の料金
Rekognition の料金は処理した画像枚数に基づく従量課金です。ラベル検出は最初の 100 万枚/月が 1,000 枚あたり約 1.00 ドル、顔検出は 1,000 枚あたり約 1.00 ドル、テキスト検出は 1,000 枚あたり約 1.00 ドルです。月間 5,000 枚までの画像分析は無料利用枠に含まれます。Custom Labels は推論エンドポイントの時間課金 (1 時間あたり約 4.00 ドル) が主要なコストで、使用しない時間帯は停止してコストを抑えます。トレーニングは 1 時間あたり約 1.00 ドルです。
顔分析と顔の比較
Rekognition は、画像中の顔に関する豊富な分析を提供します。顔の検出に加え、年齢層や表情、目線などの属性を推定できます。2 枚の画像の顔が同一人物かを判定する顔比較は、本人確認や照合に応用できます。顔のコレクションをあらかじめ作っておけば、新しい画像に登録済みの人物が含まれるかを検索できます。ただし、顔データの扱いには高い倫理的・法的配慮が必要で、対象者の同意や適用される規制の確認が前提になります。技術的な機能の豊富さと、プライバシーへの責任は常にセットで考える必要があります。
コンテンツモデレーションと安全検出
画像分析は、安全性の確保にも役立ちます。不適切な画像を検出するモデレーション機能を使えば、投稿された画像の中から、暴力的・露骨な内容を自動で見つけ出し、公開前のチェックに活用できます。検出結果にはカテゴリと確信度が付くため、しきい値を設けて自動処理と人手確認を振り分けられます。また、作業現場の画像から、ヘルメットや手袋といった保護具の着用状況を検出する機能もあり、安全管理に応用できます。大量の画像を人手だけで確認するのは現実的でないため、こうした自動検出が、運用の効率と安全性を支えます。
Custom Labels による独自モデル
事前学習済みの API では検出できない、業務固有の対象を認識したい場合は、Custom Labels で独自のモデルを構築できます。自社の製品や部品、特定のロゴやシーンなど、汎用モデルが知らない対象を、少量の学習データから認識させられます。良質な学習データを用意し、評価を通じて精度を確認しながら改善を重ねることが重要です。汎用 API で足りるならそれを使い、どうしても独自の認識が必要な場合に Custom Labels を選ぶ、という判断が合理的です。専門領域の画像認識を、機械学習の深い知識なしに実現できる点が利点です。
パイプライン設計とプライバシー
画像分析は、イベント駆動のパイプラインに組み込むと効果的です。S3 への画像アップロードをきっかけに Lambda で分析を実行し、結果を保存・通知する流れを自動化できます。大量の画像を扱う場合も、サーバーレスな構成でスケールします。一方で、顔や個人が写る画像は機微なデータであるため、取り扱いには細心の注意が必要です。収集の目的を明示し、同意を得て、保持期間を定めて不要になったら削除します。分析結果や画像へのアクセスを制御し、目的外の利用を防ぎます。技術の活用と、写っている人々の権利の保護を両立させる設計が求められます。
まとめ
Rekognition は ML の専門知識なしで画像・動画分析を実装できるサービスです。事前トレーニング済みの API で一般的なユースケースをカバーし、Custom Labels でドメイン固有の要件にも対応できます。S3 と Lambda を組み合わせたイベント駆動アーキテクチャにより、画像アップロードをトリガーにした自動分析パイプラインを構築できます。