Amazon Rekognition PlatoBlockchain 데이터 인텔리전스를 사용하여 멸종 위기에 처한 종의 개체군 변화를 탐지합니다. 수직 검색. 일체 포함.

Amazon Rekognition을 사용하여 멸종 위기에 처한 종의 개체수 변동 감지

우리 행성은 전 세계적인 멸종 위기에 직면해 있습니다. 유엔 보고서 멸종 위기에 처한 백만 종 이상의 엄청난 수를 보여줍니다. 멸종의 가장 흔한 원인은 서식지 감소, 밀렵, 침입종입니다. 몇몇의 야생 동물 보호 재단, 연구 과학자, 자원 봉사자 및 밀렵 방지 레인저 이 위기를 해결하기 위해 쉬지 않고 노력했습니다. 야생에서 멸종 위기에 처한 동물에 대한 정확하고 정기적인 정보를 갖는 것은 멸종 위기에 처한 종을 연구하고 보존하는 야생 동물 보호론자의 능력을 향상시킬 것입니다. 야생 동물 과학자와 현장 직원은 적외선 방아쇠가 장착된 카메라를 사용합니다. 카메라 트랩, 숲에서 가장 효과적인 위치에 배치하여 야생 동물의 이미지를 캡처합니다. 그런 다음 이러한 이미지를 수동으로 검토하므로 시간이 많이 소요됩니다.

이 게시물에서는 다음을 사용하여 솔루션을 시연합니다. Amazon Rekognition 사용자 지정 레이블 모션 센서 카메라 트랩과 함께 이 프로세스를 자동화하여 생성된 종을 인식하고 연구합니다. Rekognition Custom Labels는 개발자가 사용 사례에 고유하고 고유한 이미지의 개체를 분류하고 식별하는 사용자 지정 모델을 구축할 수 있는 완전 관리형 컴퓨터 비전 서비스입니다. 카메라 트랩에서 수집한 이미지에서 멸종 위기에 처한 동물 종을 인식하고, 개체 수에 대한 통찰력을 얻고, 주변 사람을 감지하는 방법을 자세히 설명합니다. 이 정보는 보호를 위해 능동적인 결정을 내릴 수 있는 환경 보호론자에게 도움이 될 것입니다.

솔루션 개요

다음 다이어그램은 솔루션의 아키텍처를 보여줍니다.

이 솔루션은 다음 AI 서비스, 서버리스 기술 및 관리 서비스를 사용하여 확장 가능하고 비용 효율적인 아키텍처를 구현합니다.

  • 아마존 아테나 – 표준 SQL을 사용하여 Amazon S3의 데이터를 쉽게 분석할 수 있는 서버리스 대화형 쿼리 서비스
  • 아마존 클라우드 워치 – 모니터링 및 운영 데이터를 로그, 메트릭, 이벤트 형태로 수집하는 모니터링 및 관찰 서비스
  • 아마존 DynamoDB – 모든 규모에서 한 자릿수 밀리초 성능을 제공하는 키-값 및 문서 데이터베이스
  • AWS 람다 – 데이터 변경, 시스템 상태 변경 또는 사용자 작업과 같은 트리거에 대한 응답으로 코드를 실행할 수 있는 서버리스 컴퓨팅 서비스
  • 아마존 퀵 사이트 – 통찰력, 대화형 대시보드 및 풍부한 분석을 제공하는 서버리스 머신 러닝(ML) 기반 비즈니스 인텔리전스 서비스
  • 아마존 인식 – ML을 사용하여 이미지 및 비디오의 개체, 사람, 텍스트, 장면 및 활동을 식별하고 부적절한 콘텐츠를 감지합니다.
  • Amazon Rekognition 사용자 지정 레이블 – AutoML을 사용하여 비즈니스 요구에 특정한 이미지의 객체와 장면을 식별하기 위해 사용자 지정 모델을 훈련하는 데 도움이 됩니다.
  • Amazon Simple Queue Service(Amazon SQS) – 마이크로서비스, 분산 시스템 및 서버리스 애플리케이션을 분리하고 확장할 수 있는 완전 관리형 메시지 대기열 서비스
  • Amazon Simple Storage Service(Amazon S3) – 문서의 개체 저장소 역할을 하고 미세 조정된 액세스 제어로 중앙 관리를 허용합니다.

이 솔루션의 개략적인 단계는 다음과 같습니다.

  1. Rekognition Custom Labels를 사용하여 맞춤형 모델을 훈련하고 구축하여 해당 지역의 멸종 위기에 처한 종을 인식합니다. 이 게시물에서는 코뿔소 이미지에 대해 교육합니다.
  2. 모션 센서 카메라 트랩을 통해 캡처된 이미지는 업로드된 모든 이미지에 대한 이벤트를 게시하는 S3 버킷에 업로드됩니다.
  3. 게시된 모든 이벤트에 대해 Lambda 함수가 트리거되어 S3 버킷에서 이미지를 검색하고 이를 사용자 지정 모델에 전달하여 멸종 위기에 처한 동물을 감지합니다.
  4. Lambda 함수는 Amazon Rekognition API를 사용하여 이미지에서 동물을 식별합니다.
  5. 이미지에 멸종 위기에 처한 코뿔소가 있는 경우 이 기능은 동물 수, 이미지 캡처 날짜 및 이미지에서 추출할 수 있는 기타 유용한 메타데이터로 DynamoDB 데이터베이스를 업데이트합니다. EXIF 헤더.
  6. QuickSight는 DynamoDB 데이터베이스에서 수집된 동물 수와 위치 데이터를 시각화하여 시간 경과에 따른 동물 개체군의 변화를 이해하는 데 사용됩니다. 대시보드를 정기적으로 살펴봄으로써 보호 그룹은 패턴을 식별하고 이러한 편차를 유발할 수 있는 질병, 기후 또는 밀렵과 같은 가능한 원인을 분리하고 문제를 해결하기 위한 사전 조치를 취할 수 있습니다.

사전 조건

Rekognition Custom Labels를 사용하여 효과적인 모델을 구축하려면 우수한 훈련 세트가 필요합니다. AWS Marketplace(Shutterstock의 동물 및 야생 동물 데이터 세트) and 카글 모델을 구축합니다.

솔루션 구현

워크 플로우에는 다음 단계가 포함됩니다.

  1. Rekognition Custom Labels의 AutoML 기능을 사용하여 멸종 위기에 처한 종(이 예에서는 rhino)을 분류하도록 사용자 지정 모델을 훈련시킵니다.

Rekognition Custom Labels 콘솔에서 이 단계를 수행할 수도 있습니다. 지침은 다음을 참조하십시오. 프로젝트 만들기, 훈련 및 테스트 데이터 세트 생성Amazon Rekognition 사용자 지정 레이블 모델 교육.

이 예에서는 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 Custom Labels 모델)를 꺼야 합니다. 더 이상 필요하지 않은 경우 해당 서비스 콘솔을 통해 이러한 리소스를 직접 삭제해야 합니다. 인용하다 Amazon Rekognition 사용자 지정 레이블 모델 삭제 모델 삭제에 대한 자세한 내용은

결론

이 게시물에서 우리는 멸종 위기에 처한 종을 식별하고, 개체 수를 기록하고, 시간 경과에 따른 개체군 변화에 대한 통찰력을 제공하는 자동화 시스템을 제시했습니다. 또한 인간(밀렵꾼 가능성)이 이러한 멸종 위기에 처한 종 근처에 있을 때 당국에 알리도록 솔루션을 확장할 수 있습니다. Amazon Rekognition의 AI/ML 기능을 통해 멸종 위기에 처한 종과 생태계를 보호하려는 보존 단체의 노력을 지원할 수 있습니다.

Rekognition 사용자 지정 레이블에 대한 자세한 내용은 다음을 참조하십시오. Amazon Rekognition 사용자 지정 레이블 시작하기콘텐츠 검토. Rekognition Custom Labels를 처음 사용하는 경우 3개월 동안 지속되는 프리 티어를 사용할 수 있으며 여기에는 매월 10시간의 무료 교육 및 매월 4시간의 무료 추론이 포함됩니다. Amazon Rekognition 프리 티어에는 5,000개월 동안 매월 12개의 이미지 처리가 포함됩니다.


저자에 관하여

저자 죠티조티 고다르 AWS의 파트너 솔루션 아키텍트 관리자입니다. 그녀는 글로벌 시스템 통합업체 파트너와 긴밀히 협력하여 고객이 워크로드를 AWS로 이동할 수 있도록 지원하고 있습니다.

Amazon Rekognition PlatoBlockchain 데이터 인텔리전스를 사용하여 멸종 위기에 처한 종의 개체군 변화를 탐지합니다. 수직 검색. 일체 포함.제이 라오 AWS의 수석 솔루션 아키텍트입니다. 그는 고객에게 기술 및 전략적 지침을 제공하고 고객이 AWS에서 솔루션을 설계 및 구현하도록 돕는 것을 즐깁니다.

타임 스탬프 :

더보기 AWS 기계 학습