Amazon Rekognition PlatoBlockchain Data Intelligence を使用して、絶滅危惧種の個体群の分散を検出します。垂直検索。あい。

Amazon Rekognition を使用して絶滅危惧種の個体群分散を検出する

私たちの惑星は地球規模の絶滅危機に直面しています。 国連報告 絶滅の危機に瀕していると恐れられている XNUMX 万種以上の種の驚異的な数を示しています。 絶滅の最も一般的な理由には、生息地の喪失、密猟、侵入種が含まれます。 いくつかの 野生生物保護財団、研究科学者、ボランティア、および 密猟防止レンジャー この危機に対処するためにたゆまぬ努力を続けてきました。 絶滅の危機に瀕している野生の動物に関する正確かつ定期的な情報を入手することで、絶滅の危機に瀕している種を研究し、保護する野生生物保護者の能力が向上します。 野生生物科学者とフィールド スタッフは、赤外線トリガーを備えたカメラを使用します。 カメラトラップ、森林内の最も効果的な場所に配置して、野生生物の画像をキャプチャします。 これらの画像は手動でレビューされますが、これは非常に時間のかかるプロセスです。

この投稿では、 Amazon Rekognitionカスタムラベル 生成された種を認識して研究するこのプロセスを自動化するためのモーションセンサーカメラトラップとともに。 Rekognition Custom Labels は、開発者がカスタム モデルを構築して、ユース ケースに固有の画像内のオブジェクトを分類および識別することができる、完全に管理されたコンピューター ビジョン サービスです。 カメラ トラップから収集された画像から絶滅危惧種の動物を認識し、個体数についての洞察を引き出し、周囲の人間を検出する方法を詳しく説明します。 この情報は、彼らを救うために積極的な決定を下すことができる保護活動家にとって役立ちます。

ソリューションの概要

次の図は、ソリューションのアーキテクチャを示しています。

このソリューションでは、次のAIサービス、サーバーレステクノロジー、マネージドサービスを使用して、スケーラブルでコスト効率の高いアーキテクチャを実装します。

  • アマゾンアテナ – 標準 SQL を使用して Amazon S3 のデータを簡単に分析できる、サーバーレスのインタラクティブなクエリ サービス
  • アマゾンクラウドウォッチ – モニタリングおよび運用データをログ、メトリック、およびイベントの形式で収集するモニタリングおよびオブザーバビリティ サービス
  • Amazon DynamoDB – あらゆる規模で XNUMX 桁のミリ秒単位のパフォーマンスを実現するキー値とドキュメントのデータベース
  • AWSラムダ – データの変更、システム状態の変化、ユーザー アクションなどのトリガーに応答してコードを実行できるサーバーレス コンピューティング サービス
  • アマゾンクイックサイト – インサイト、インタラクティブなダッシュボード、および豊富な分析を提供する、サーバーレスの機械学習 (ML) を利用したビジネス インテリジェンス サービス
  • Amazonの再認識 – ML を使用して、画像や動画内のオブジェクト、人物、テキスト、シーン、アクティビティを識別し、不適切なコンテンツを検出します
  • Amazon Rekognitionカスタムラベル – AutoML を使用してカスタム モデルをトレーニングし、ビジネス ニーズに固有の画像内のオブジェクトとシーンを識別します
  • Amazon Simple Queue Service(Amazon SQS) – マイクロサービス、分散システム、サーバーレス アプリケーションの分離とスケーリングを可能にするフル マネージド メッセージ キューイング サービス
  • Amazon Simple Storage Service(Amazon S3) – ドキュメントのオブジェクト ストアとして機能し、微調整されたアクセス制御による集中管理を可能にします。

このソリューションの大まかな手順は次のとおりです。

  1. Rekognition カスタム ラベルを使用してカスタム モデルをトレーニングおよび構築し、その地域の絶滅危惧種を認識します。 この投稿では、サイの画像をトレーニングします。
  2. モーション センサー カメラ トラップを介してキャプチャされた画像は、アップロードされた画像ごとにイベントを発行する S3 バケットにアップロードされます。
  3. イベントが発行されるたびに Lambda 関数がトリガーされ、S3 バケットから画像が取得され、それがカスタム モデルに渡されて絶滅の危機に瀕している動物が検出されます。
  4. Lambda 関数は、Amazon Rekognition API を使用して画像内の動物を識別します。
  5. 画像に絶滅危惧種のサイが含まれている場合、この関数は動物の数、画像の撮影日、および画像から抽出できるその他の有用なメタデータで DynamoDB データベースを更新します。 EXIF情報 ヘッダ。
  6. QuickSight を使用して、DynamoDB データベースで収集された動物の数と場所のデータを視覚化し、時間の経過に伴う動物の個体数の分散を理解します。 ダッシュボードを定期的に確認することで、保全グループはパターンを特定し、病気、気候、または密猟など、この変動を引き起こしている可能性のある原因を特定し、問題に対処するための措置を積極的に講じることができます。

前提条件

Rekognition カスタム ラベルを使用して効果的なモデルを構築するには、優れたトレーニング セットが必要です。 AWS Marketplace の画像を使用しました (Shutterstock の動物と野生生物のデータセット)と Kaggle モデルを構築します。

ソリューションを実装する

ワークフローには次の手順が含まれます。

  1. Rekognition カスタム ラベルの AutoML 機能を使用して、絶滅危惧種 (この例ではサイ) を分類するカスタム モデルをトレーニングします。

これらの手順は、Rekognition カスタム ラベル コンソールから実行することもできます。 手順については、を参照してください。 プロジェクトを作成する, トレーニング データセットとテスト データセットの作成, Amazon Rekognition Custom Labels モデルのトレーニング.

この例では、Kaggle のデータセットを使用します。 次の表は、データセットの内容をまとめたものです。

ラベル トレーニングセット テストセット
ライオン 625 156
サイ 608 152
アフリカゾウ 368 92
  1. カメラ トラップからキャプチャされた写真を、指定された S3 バケットにアップロードします。
  2. でイベント通知を定義します。 権限 オブジェクトがバケットに追加されたときに、定義された SQS キューに通知を送信するための S3 バケットのセクション。

イベント通知の定義

アップロード アクションは、Amazon S3 イベント通知を使用して、Amazon SQS でキューに入れられたイベントをトリガーします。

  1. SQS キューのアクセス ポリシーを介して適切なアクセス許可を追加し、S3 バケットがキューに通知を送信できるようにします。

ML-9942-イベント-ない

  1. 新しいメッセージを受信したときに Lambda 関数が呼び出されるように、SQS キューの Lambda トリガーを設定します。

ラムダトリガー

  1. アクセス ポリシーを変更して、Lambda 関数が SQS キューにアクセスできるようにします。

Lambda 関数のアクセス ポリシー

Lambda 関数には、SQS キューにアクセスするための適切なアクセス許可が付与されます。

Lambda 関数のアクセス許可

  1. コード内でアクセスできるように環境変数を設定します。

環境変数

ラムダ関数コード

Lambda 関数は、SNS キューから通知を受信すると、次のタスクを実行します。

  1. Amazon Rekognition への API 呼び出しを行い、絶滅危惧種を識別するカスタム モデルからラベルを検出します。
exports.handler = async (event) => {
const id = AWS.util.uuid.v4();
const bucket = event.Records[0].s3.bucket.name;
const photo = decodeURIComponent(event.Records[0].s3.object.key.replace(/+/g, ' '));
const client = new AWS.Rekognition({ region: REGION });
const paramsCustomLabel = {
Image: {
S3Object: {
Bucket: bucket,
Name: photo
},
},
ProjectVersionArn: REK_CUSTOMMODEL,
MinConfidence: MIN_CONFIDENCE
}
let response = await client.detectCustomLabels(paramsCustomLabel).promise();
console.log("Rekognition customLabels response = ",response);

  1. 画像から EXIF タグを取得して、写真が撮影された日付とその他の関連する EXIF データを取得します。 次のコードでは、依存関係 (パッケージ – バージョン) exif-reader – ^1.0.3、sharp – ^0.30.7 を使用しています。
const getExifMetaData = async (bucket,key)=>{
return new Promise((resolve) => {
const s3 = new AWS.S3({ region: REGION });
const param = {
Bucket: bucket,
Key : key
};

s3.getObject(param, (error, data) => {
if (error) {
console.log("Error getting S3 file",error);
resolve({status:false,errorText: error.message});
} else {
sharp(data.Body)
.metadata()
.then(({ exif }) => {
const exifProperties = exifReader(exif);
resolve({status:true,exifProp: exifProperties});
}).catch(err => {console.log("Error Processing Exif ");resolve({status:false});})
}
});
});
}

var gpsData = "";
var createDate = "";
const imageS3 = await getExifMetaData(bucket, photo);
if(imageS3.status){
gpsData = imageS3.exifProp.gps;
createDate = imageS3.exifProp.image.CreateDate;
}else{
createDate = event.Records[0].eventTime;
console.log("No exif found in image, setting createDate as the date of event", createDate);
}

ここで説明するソリューションは非同期です。 画像はカメラ トラップによってキャプチャされ、後で処理のために S3 バケットにアップロードされます。 カメラ トラップの画像がより頻繁にアップロードされる場合は、ソリューションを拡張して監視エリア内の人間を検出し、関係する活動家に通知を送信して、これらの絶滅危惧種の動物の近くでの密猟の可能性を示すことができます。 これは、Amazon Rekognition API を呼び出して人間の存在のラベルを検出する Lambda 関数を通じて実装されます。 人間が検出されると、エラー メッセージが CloudWatch Logs に記録されます。 エラーログのフィルタリングされたメトリクスは、保護活動家にメールを送信する CloudWatch アラームをトリガーし、保護活動家はさらに行動を起こすことができます。

  1. 次のコードを使用してソリューションを展開します。
const paramHumanLabel = {
Image: {
S3Object: {
Bucket: bucket,
Name: photo
},
},
MinConfidence: MIN_CONFIDENCE
}

let humanLabel = await client.detectLabels(paramHumanLabel).promise();
let humanFound = humanLabel.Labels.filter(obj => obj.Name === HUMAN);
var humanDetected = false;
if(humanFound.length > 0){
console.error("Human Face Detected");
humanDetected = true;
}

  1. 絶滅危惧種が検出された場合、Lambda 関数は、画像の EXIF タグから取得した数、日付、およびその他のオプションのメタデータで DynamoDB を更新します。
let dbresponse = await dynamo.putItem({
Item: {
id: { S: id },
type: { S: response.CustomLabels[0].Name },
image: {S : photo},
createDate: {S: createDate.toString()},
confidence: {S: response.CustomLabels[0].Confidence.toString()},
gps: {S: gpsData.toString()},
humanDetected: {BOOL: humanDetected}
},

TableName: ANIMAL_TABLENAME,
}).promise();

データのクエリと視覚化

Athena と QuickSight を使用してデータを視覚化できるようになりました。

  1. DynamoDB テーブルを Athena のデータ ソースとして設定します。DynamoDB データソース
  1. データ ソースの詳細を追加します。

次の重要なステップは、データ ソースに接続する Lambda 関数を定義することです。

  1. 選んだ Lambda関数を作成する.

ラムダ関数

  1. 名前を入力してください Athenaカタログ名 & こぼれバケツ; 残りはデフォルト設定でかまいません。
  2. コネクタ機能をデプロイします。

ラムダコネクタ

すべての画像が処理された後、QuickSight を使用して、Athena から経時的な人口分散のデータを視覚化できます。

  1. Athena コンソールで、データ ソースを選択し、詳細を入力します。
  2. 選択する Lambda関数を作成する DynamoDB へのコネクタを提供します。

Lambda関数を作成する

  1. QuickSightダッシュボードで、 新しい分析 & 新しいデータセット.
  2. データソースとして Athena を選択します。

データソースとしての Athena

  1. 接続するカタログ、データベース、およびテーブルを入力して選択します 選択.

カタログ

  1. データセットの作成を完了します。

カタログ

次のグラフは、特定の日に捕獲された絶滅危惧種の数を示しています。

QuickSight チャート

GPS データは、キャプチャした画像の EXIF タグの一部として表示されます。 これらの絶滅の危機に瀕している動物の位置は敏感であるため、データセットには GPS 位置情報がありませんでした。 ただし、シミュレートされたデータを使用して地理空間チャートを作成し、GPS データが利用可能な場合に場所を視覚化する方法を示しました。

地理空間チャート

クリーンアップ

予期しないコストが発生しないように、このデモンストレーションの一部として使用した AWS のサービス (S3 バケット、DynamoDB テーブル、QuickSight、Athena、およびトレーニング済みの Rekognition カスタム ラベル モデル) を必ずオフにしてください。 これらのリソースが不要になった場合は、それぞれのサービス コンソールから直接削除する必要があります。 参照する Amazon Rekognition カスタム ラベル モデルの削除 モデルの削除の詳細については、

まとめ

この投稿では、絶滅危惧種を特定し、個体数を記録し、経時的な個体数の変動に関する洞察を提供する自動システムを紹介しました。 また、人間 (密猟者の可能性がある) がこれらの絶滅危惧種の近くにいるときに当局に警告するようにソリューションを拡張することもできます。 Amazon Rekognition の AI/ML 機能により、絶滅危惧種とその生態系を保護する保護団体の取り組みをサポートできます。

Rekognition カスタム ラベルの詳細については、次を参照してください。 Amazon Rekognition カスタムラベルの使用開始 & コンテンツのモデレート. Rekognition カスタム ラベルを初めて使用する場合は、無料利用枠を利用できます。これは 3 か月間有効で、10 か月あたり 4 時間の無料トレーニングと 5,000 か月あたり 12 時間の無料推論が含まれます。 Amazon Rekognition の無料利用枠には、XNUMX か月あたり XNUMX 枚の画像の処理が XNUMX か月間含まれています。


著者について

作者ジョティジョティ・ゴーダー AWS のパートナー ソリューション アーキテクト マネージャーです。 彼女は、グローバルなシステム インテグレーター パートナーと緊密に連携して、顧客がワークロードを AWS に移行できるようにし、サポートしています。

Amazon Rekognition PlatoBlockchain Data Intelligence を使用して、絶滅危惧種の個体群の分散を検出します。垂直検索。あい。ジェイ・ラオ AWSのプリンシパルソリューションアーキテクトです。 彼は、顧客に技術的および戦略的なガイダンスを提供し、顧客がAWSでソリューションを設計および実装するのを支援することを楽しんでいます。

タイムスタンプ:

より多くの AWS機械学習