Виявляйте відмінності популяції видів, що знаходяться під загрозою зникнення, за допомогою Amazon Rekognition PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Визначайте дисперсію популяції видів, що знаходяться під загрозою зникнення, за допомогою Amazon Rekognition

Наша планета стикається з глобальною кризою вимирання. Звіт ООН показує приголомшливу кількість понад мільйон видів, які, побоюючись, опинилися на шляху зникнення. Найпоширенішими причинами вимирання є втрата середовища проживання, браконьєрство та інвазивні види. Кілька фонди охорони дикої природи, дослідники, волонтери та рейнджери по боротьбі з браконьєрством невтомно працювали над вирішенням цієї кризи. Наявність точної та регулярної інформації про зникаючих тварин у дикій природі покращить здатність захисників дикої природи вивчати та охороняти зникаючі види. Науковці з дикої природи та польовий персонал використовують камери, оснащені інфрачервоними тригерами, які називаються фотопасткиі розмістіть їх у найефективніших місцях у лісах, щоб знімати зображення дикої природи. Ці зображення потім переглядаються вручну, що є дуже трудомістким процесом.

У цій публікації ми демонструємо рішення за допомогою Спеціальні етикетки Amazon Rekogmination разом із пастками камер датчиків руху, щоб автоматизувати цей процес, розпізнавати породжені види та вивчати їх. Rekognition Custom Labels — це повністю керована служба комп’ютерного зору, яка дозволяє розробникам створювати власні моделі для класифікації та ідентифікації об’єктів на зображеннях, які є специфічними та унікальними для їхнього випадку використання. Ми докладно розповідаємо, як розпізнавати види тварин, що знаходяться під загрозою зникнення, за зображеннями, зібраними з фотопасток, аналізувати чисельність їхньої популяції та виявляти людей навколо них. Ця інформація стане в нагоді природоохоронцям, які зможуть приймати проактивні рішення щодо їхнього порятунку.

Огляд рішення

Наступна діаграма ілюструє архітектуру рішення.

У цьому рішенні використовуються такі сервіси штучного інтелекту, технології без сервера та керовані служби для впровадження масштабованої та економічно ефективної архітектури:

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

Етапи високого рівня в цьому рішенні такі:

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

Передумови

Для побудови ефективної моделі з використанням користувацьких міток Rekognition потрібен хороший навчальний набір. Ми використали зображення з AWS Marketplace (Набір даних про тварин і дику природу від Shutterstock) і Згорнути для побудови моделі.

Реалізуйте рішення

Наш робочий процес включає наступні кроки:

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

Ви також можете виконати ці кроки з консолі Rekognition Custom Labels. Інструкції див Створення проекту, Створення навчальних і тестових наборів даних та Навчання моделі спеціальних міток Amazon Rekognition.

У цьому прикладі ми використовуємо набір даних від Kaggle. У наведеній нижче таблиці підсумовано вміст набору даних.

етикетка Набір тренувань Тестовий набір
лев 625 156
Носоріг 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.

Дозволи функції лямбда

  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, яка викликає Amazon Rekognition API для виявлення міток присутності людини. У разі виявлення людини повідомлення про помилку реєструється в журналах CloudWatch. Відфільтрований показник у журналі помилок викликає тривогу 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. Додайте деталі джерела даних.

Наступним важливим кроком є ​​визначення лямбда-функції, яка підключається до джерела даних.

  1. Вибрали Створити лямбда-функцію.

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

  1. Введіть імена для AthenaCatalogName та SpillBucket; решта можуть бути налаштуваннями за замовчуванням.
  2. Розгорніть функцію конектора.

Лямбда роз'єм

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

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

Створити лямбда-функцію

  1. На інформаційній панелі QuickSight виберіть Новий аналіз та Новий набір даних.
  2. Виберіть Athena як джерело даних.

Афіна як джерело даних

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

Каталог

  1. Повне створення набору даних.

Каталог

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

Діаграма QuickSight

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

Геопросторовий графік

Прибирати

Щоб уникнути неочікуваних витрат, обов’язково вимкніть служби AWS, якими ви користувалися під час цієї демонстрації, — сегменти S3, таблицю DynamoDB, QuickSight, Athena та навчену модель користувацьких міток Rekognition. Вам слід видалити ці ресурси безпосередньо через відповідні сервісні консолі, якщо вони вам більше не потрібні. Звертатися до Видалення моделі спеціальних міток Amazon Rekognition щоб дізнатися більше про видалення моделі.

Висновок

У цій публікації ми представили автоматизовану систему, яка ідентифікує види, що знаходяться під загрозою зникнення, записує кількість їхньої популяції та надає уявлення про зміну популяції з часом. Ви також можете розширити рішення, щоб сповістити органи влади, коли люди (можливі браконьєри) знаходяться поблизу цих зникаючих видів. Завдяки можливостям AI/ML Amazon Rekognition ми можемо підтримувати зусилля природоохоронних груп із захисту зникаючих видів та їхніх екосистем.

Додаткову інформацію про спеціальні мітки Rekognition див Початок роботи з користувацькими мітками Amazon Rekognition та Модерація контенту. Якщо ви новачок у Rekognition Custom Labels, ви можете скористатися нашим безкоштовним рівнем, який триває 3 місяці та включає 10 безкоштовних навчальних годин на місяць і 4 безкоштовні години висновків на місяць. Amazon Rekognition Free Tier включає обробку 5,000 зображень на місяць протягом 12 місяців.


Про авторів

автор-джйотіДжіоті ​​Гудар є менеджером з розробки партнерських рішень в AWS. Вона тісно співпрацює з партнером із глобальних системних інтеграторів, щоб дозволити та підтримати клієнтів у перенесенні робочих навантажень на AWS.

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

Часова мітка:

Більше від AWS Машинне навчання