Выявляйте изменчивость популяций исчезающих видов с помощью Amazon Rekognition PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Выявляйте изменчивость популяций исчезающих видов с помощью Amazon Rekognition

Наша планета сталкивается с глобальным кризисом вымирания. Отчет ООН показывает ошеломляющее количество более миллиона видов, которые, как опасаются, находятся на пути вымирания. Наиболее распространенные причины исчезновения включают потерю среды обитания, браконьерство и инвазивные виды. Несколько фонды охраны дикой природы, ученые-исследователи, волонтеры и рейнджеры по борьбе с браконьерством неустанно работали над преодолением этого кризиса. Наличие точной и регулярной информации об исчезающих животных в дикой природе повысит способность специалистов по охране дикой природы изучать и сохранять исчезающие виды. Исследователи дикой природы и полевой персонал используют камеры, оснащенные инфракрасными триггерами, называемыми фотоловушкии размещайте их в наиболее подходящих местах в лесу, чтобы делать снимки дикой природы. Затем эти изображения просматриваются вручную, что занимает очень много времени.

В этом посте мы демонстрируем решение с использованием Пользовательские ярлыки Amazon Rekognition вместе с камерами-ловушками с датчиками движения, чтобы автоматизировать этот процесс для распознавания зародившихся видов и их изучения. Rekognition Custom Labels — это полностью управляемая служба компьютерного зрения, которая позволяет разработчикам создавать пользовательские модели для классификации и идентификации объектов на изображениях, специфичных и уникальных для их варианта использования. Мы подробно описываем, как распознавать исчезающие виды животных по изображениям, полученным с фотоловушек, извлекать информацию об их численности и обнаруживать людей вокруг них. Эта информация будет полезна защитникам природы, которые могут принимать упреждающие решения для их спасения.

Обзор решения

Следующая диаграмма иллюстрирует архитектуру решения.

В этом решении используются следующие службы AI, бессерверные технологии и управляемые службы для реализации масштабируемой и экономически эффективной архитектуры:

  • Амазонка Афина – Бессерверный интерактивный сервис запросов, упрощающий анализ данных в Amazon S3 с использованием стандартного SQL.
  • Amazon CloudWatch – Служба мониторинга и наблюдения, которая собирает данные мониторинга и оперативные данные в виде журналов, метрик и событий.
  • Amazon DynamoDB – База данных «ключ-значение» и документов, обеспечивающая производительность в миллисекундах в любом масштабе.
  • AWS Lambda – Служба бессерверных вычислений, которая позволяет запускать код в ответ на триггеры, такие как изменения данных, сдвиги в состоянии системы или действия пользователя.
  • Amazon QuickSight – Бессерверная служба бизнес-аналитики на основе машинного обучения (ML), предоставляющая информацию, интерактивные информационные панели и обширную аналитику.
  • Апостол – Использует машинное обучение для идентификации объектов, людей, текста, сцен и действий на изображениях и видео, а также для обнаружения любого неприемлемого контента.
  • Пользовательские ярлыки Amazon Rekognition – Использует AutoML для обучения пользовательских моделей идентификации объектов и сцен на изображениях, соответствующих потребностям вашего бизнеса.
  • Простая служба очередей Amazon (Amazon SQS) – Полностью управляемая служба очередей сообщений, позволяющая разделять и масштабировать микросервисы, распределенные системы и бессерверные приложения.
  • Сервис Amazon Simple Storage (Amazon S3) – Служит хранилищем объектов для документов и обеспечивает централизованное управление с точно настроенным контролем доступа.

Шаги высокого уровня в этом решении следующие:

  1. Обучите и создайте пользовательскую модель с помощью пользовательских меток Rekognition для распознавания исчезающих видов в этом районе. Для этого поста мы тренируемся на изображениях носорогов.
  2. Изображения, снятые камерами-ловушками датчика движения, загружаются в корзину S3, которая публикует событие для каждого загруженного изображения.
  3. Для каждого опубликованного события запускается функция Lambda, которая извлекает изображение из корзины S3 и передает его пользовательской модели для обнаружения исчезающего животного.
  4. Функция Lambda использует API Amazon Rekognition для идентификации животных на изображении.
  5. Если на изображении есть какие-либо виды носорогов, находящиеся под угрозой исчезновения, функция обновляет базу данных DynamoDB, указав количество животных, дату захвата изображения и другие полезные метаданные, которые можно извлечь из изображения. EXIF заголовка.
  6. QuickSight используется для визуализации данных о подсчете и местоположении животных, собранных в базе данных DynamoDB, чтобы понять изменение популяции животных с течением времени. Регулярно просматривая информационные панели, природоохранные группы могут выявлять закономерности и выявлять вероятные причины, такие как болезни, климат или браконьерство, которые могут быть причиной такого отклонения, и активно принимать меры для решения проблемы.

Предпосылки

Для создания эффективной модели с использованием пользовательских меток Rekognition требуется хороший обучающий набор. Мы использовали изображения из AWS Marketplace (Набор данных о животных и дикой природе от Shutterstock) и расширение Kaggle построить модель.

Реализуйте решение

Наш рабочий процесс включает следующие этапы:

  1. Обучите пользовательскую модель классификации видов, находящихся под угрозой исчезновения (в нашем примере — носорогов), используя возможности AutoML в Rekognition Custom Labels.

Вы также можете выполнить эти шаги из консоли Rekognition Custom Labels. Инструкции см. Создание проекта, Создание обучающих и тестовых наборов данныхи Обучение модели пользовательских меток Amazon Rekognition.

В этом примере мы используем набор данных из Kaggle. В следующей таблице приводится сводка содержимого набора данных.

этикетка Обучающий набор Тестовый набор
Лев 625 156
Rhino 608 152
Африканский слон 368 92
  1. Загрузите изображения, снятые с фотоловушек, в указанную корзину S3.
  2. Определите уведомления о событиях в Разрешения... раздел корзины S3 для отправки уведомления в определенную очередь SQS при добавлении объекта в корзину.

Определить уведомление о событии

Действие загрузки запускает событие, которое ставится в очередь в Amazon SQS с помощью уведомления о событии Amazon S3.

  1. Добавьте соответствующие разрешения с помощью политики доступа к очереди SQS, чтобы позволить корзине S3 отправлять уведомления в очередь.

ML-9942-событие-нет

  1. Настройте триггер Lambda для очереди SQS, чтобы функция Lambda вызывалась при получении нового сообщения.

лямбда-триггер

  1. Измените политику доступа, чтобы разрешить функции Lambda доступ к очереди SQS.

Политика доступа к лямбда-функциям

Теперь у функции Lambda должны быть права доступа к очереди SQS.

Разрешения функции Lambda

  1. Настройте переменные среды, чтобы к ним можно было получить доступ в коде.

Переменные среды

Код лямбда-функции

Функция Lambda выполняет следующие задачи при получении уведомления из очереди SNS:

  1. Выполните вызов API к Amazon Rekognition, чтобы обнаружить метки из пользовательской модели, которые идентифицируют виды, находящиеся под угрозой исчезновения:
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 для обработки. Если изображения с фотоловушек загружаются чаще, вы можете расширить решение, чтобы обнаруживать людей в контролируемой зоне и отправлять уведомления заинтересованным активистам, чтобы указать на возможное браконьерство поблизости от этих находящихся под угрозой исчезновения животных. Это реализовано с помощью функции Lambda, которая вызывает API Amazon Rekognition для обнаружения меток присутствия человека. При обнаружении человека в 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 обновляет DynamoDB количеством, датой и другими необязательными метаданными, полученными из тегов EXIF ​​изображения:
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. Выбрали Создать лямбда-функцию.

Лямбда-функция

  1. Введите имена для АфинаКаталогИмя и Разливное ведро; остальные могут быть настройками по умолчанию.
  2. Разверните функцию соединителя.

лямбда-коннектор

После того, как все изображения обработаны, вы можете использовать QuickSight для визуализации данных о дисперсии населения с течением времени из Athena.

  1. На консоли Athena выберите источник данных и введите данные.
  2. Выберите Создать лямбда-функцию для подключения к DynamoDB.

Создать лямбда-функцию

  1. На панели инструментов QuickSight выберите Новый анализ и Новый набор данных.
  2. Выберите Athena в качестве источника данных.

Афина как источник данных

  1. Введите каталог, базу данных и таблицу для подключения и выберите Выберите.

Каталог

  1. Завершите создание набора данных.

Каталог

На следующей диаграмме показано количество вымирающих видов, отловленных в определенный день.

Диаграмма QuickSight

Данные GPS представлены как часть тегов EXIF ​​захваченного изображения. Из-за чувствительности местоположения этих находящихся под угрозой исчезновения животных в нашем наборе данных не было местоположения GPS. Однако мы создали геопространственную диаграмму, используя смоделированные данные, чтобы показать, как вы можете визуализировать местоположения, когда доступны данные GPS.

Геопространственная карта

Убирать

Чтобы избежать непредвиденных расходов, обязательно отключите сервисы AWS, которые вы использовали в рамках этой демонстрации, — корзины S3, таблицу DynamoDB, QuickSight, Athena и обученную модель пользовательских меток Rekognition. Вам следует удалить эти ресурсы напрямую через соответствующие сервисные консоли, если они вам больше не нужны. Ссылаться на Удаление модели пользовательских меток Amazon Rekognition для получения дополнительной информации об удалении модели.

Заключение

В этом посте мы представили автоматизированную систему, которая идентифицирует исчезающие виды, записывает количество их популяций и дает представление об изменении популяции с течением времени. Вы также можете расширить решение, чтобы предупредить власти, когда люди (возможные браконьеры) находятся поблизости от этих исчезающих видов. Благодаря возможностям искусственного интеллекта и машинного обучения Amazon Rekognition мы можем поддержать усилия природоохранных организаций по защите исчезающих видов и их экосистем.

Для получения дополнительной информации о пользовательских метках Rekognition см. Начало работы с пользовательскими метками Amazon Rekognition и Модерация контента. Если вы новичок в Rekognition Custom Labels, вы можете использовать наш уровень бесплатного пользования, который длится 3 месяца и включает 10 бесплатных часов обучения в месяц и 4 бесплатных часа логического вывода в месяц. Уровень бесплатного пользования Amazon Rekognition включает обработку 5,000 изображений в месяц в течение 12 месяцев.


Об авторах

автор-jyothiДжоти Гудар является менеджером по архитектуре партнерских решений в AWS. Она тесно сотрудничает с глобальным системным интегратором, помогая клиентам переносить свои рабочие нагрузки на AWS.

Выявляйте изменчивость популяций исчезающих видов с помощью Amazon Rekognition PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Джей Рао является главным архитектором решений в AWS. Ему нравится предоставлять технические и стратегические рекомендации клиентам и помогать им разрабатывать и внедрять решения на AWS.

Отметка времени:

Больше от Машинное обучение AWS