واریانس جمعیت گونه های در معرض خطر را با استفاده از هوش داده های پلاتوبلاک چین شناسایی آمازون شناسایی کنید. جستجوی عمودی Ai.

تشخیص واریانس جمعیت گونه های در معرض خطر با استفاده از آمازون Rekognition

سیاره ما با بحران انقراض جهانی مواجه است. گزارش سازمان ملل تعداد حیرت آور بیش از یک میلیون گونه را نشان می دهد که بیم آن می رود در مسیر انقراض قرار گیرند. شایع ترین دلایل انقراض عبارتند از از دست دادن زیستگاه، شکار غیرقانونی و گونه های مهاجم. چندین بنیادهای حفاظت از حیات وحش، دانشمندان، داوطلبان، و محیط بانان ضد شکار غیرقانونی به طور خستگی ناپذیری برای مقابله با این بحران تلاش کرده اند. داشتن اطلاعات دقیق و منظم در مورد حیوانات در حال انقراض در طبیعت، توانایی حافظان حیات وحش را برای مطالعه و حفاظت از گونه های در معرض خطر افزایش می دهد. دانشمندان حیات وحش و کارکنان میدانی از دوربین‌های مجهز به محرک‌های مادون قرمز استفاده می‌کنند تله های دوربینو آنها را در موثرترین مکان ها در جنگل ها قرار دهید تا تصاویری از حیات وحش ثبت کنید. سپس این تصاویر به صورت دستی بررسی می شوند که فرآیندی بسیار زمان بر است.

در این پست راه حلی را با استفاده از آن نشان می دهیم برچسب های سفارشی شناسایی آمازون همراه با تله‌های دوربین حسگر حرکتی برای خودکار کردن این فرآیند برای شناسایی گونه‌های مولد و مطالعه آنها. Rekognition Custom Labels یک سرویس دید کامپیوتری کاملاً مدیریت شده است که به توسعه دهندگان این امکان را می دهد تا مدل های سفارشی برای طبقه بندی و شناسایی اشیاء در تصاویر خاص و منحصر به فرد مورد استفاده آنها بسازند. ما نحوه تشخیص گونه‌های جانوری در حال انقراض را از تصاویر جمع‌آوری‌شده از تله‌های دوربین، به دست آوردن بینش در مورد تعداد جمعیت آنها و تشخیص انسان‌های اطرافشان توضیح می‌دهیم. این اطلاعات برای حافظان محیط زیست مفید خواهد بود که می توانند تصمیمات فعالانه ای برای نجات آنها بگیرند.

بررسی اجمالی راه حل

نمودار زیر معماری راه حل را نشان می دهد.

این راه حل از خدمات هوش مصنوعی زیر، فناوری های بدون سرور و خدمات مدیریت شده برای پیاده سازی یک معماری مقیاس پذیر و مقرون به صرفه استفاده می کند:

  • آمازون آتنا – یک سرویس پرس و جو تعاملی بدون سرور که تجزیه و تحلیل داده ها را در Amazon S3 با استفاده از SQL استاندارد آسان می کند
  • CloudWatch آمازون - سرویس نظارت و مشاهده پذیری که داده های نظارتی و عملیاتی را در قالب گزارش ها، متریک ها و رویدادها جمع آوری می کند.
  • آمازون DynamoDB – یک پایگاه داده کلید-مقدار و سند که عملکرد تک رقمی میلی ثانیه ای را در هر مقیاسی ارائه می دهد
  • AWS لامبدا – یک سرویس محاسباتی بدون سرور که به شما امکان می دهد کد را در پاسخ به محرک هایی مانند تغییرات در داده ها، تغییر وضعیت سیستم یا اقدامات کاربر اجرا کنید.
  • آمازون QuickSight – یک سرویس هوش تجاری بدون سرور و مبتنی بر یادگیری ماشین (ML) که بینش، داشبورد تعاملی و تجزیه و تحلیل غنی را ارائه می‌کند.
  • شناسایی آمازون - از ML برای شناسایی اشیاء، افراد، متن، صحنه‌ها و فعالیت‌ها در تصاویر و ویدئوها و همچنین تشخیص هر گونه محتوای نامناسب استفاده می‌کند.
  • برچسب های سفارشی شناسایی آمازون - از AutoML برای کمک به آموزش مدل‌های سفارشی برای شناسایی اشیاء و صحنه‌های موجود در تصاویر استفاده می‌کند که مخصوص نیازهای تجاری شما هستند.
  • سرویس صف ساده آمازون (Amazon SQS) – یک سرویس صف پیام کاملاً مدیریت شده که به شما امکان می دهد میکروسرویس ها، سیستم های توزیع شده و برنامه های بدون سرور را جدا و مقیاس بندی کنید.
  • سرویس ذخیره سازی ساده آمازون (Amazon S3) - به عنوان یک ذخیره اشیاء برای اسناد عمل می کند و امکان مدیریت مرکزی با کنترل های دسترسی دقیق را فراهم می کند.

مراحل سطح بالا در این راه حل به شرح زیر است:

  1. آموزش و ساخت یک مدل سفارشی با استفاده از برچسب‌های سفارشی Rekognition برای شناسایی گونه‌های در حال انقراض در منطقه. برای این پست به تصاویری از کرگدن آموزش می دهیم.
  2. تصاویری که از طریق تله‌های دوربین حسگر حرکتی گرفته می‌شوند در یک سطل S3 آپلود می‌شوند که برای هر تصویر آپلود شده یک رویداد منتشر می‌کند.
  3. یک تابع Lambda برای هر رویداد منتشر شده فعال می شود، که تصویر را از سطل S3 بازیابی می کند و آن را به مدل سفارشی می دهد تا حیوان در حال انقراض را شناسایی کند.
  4. تابع Lambda از API شناسایی آمازون برای شناسایی حیوانات در تصویر استفاده می کند.
  5. اگر تصویر دارای گونه‌های در خطر انقراض کرگدن باشد، این تابع پایگاه داده DynamoDB را با تعداد حیوانات، تاریخ ثبت تصویر و سایر متادیتاهای مفیدی که می‌توان از تصویر استخراج کرد، به‌روزرسانی می‌کند. EXIF سرتیتر.
  6. QuickSight برای تجسم تعداد حیوانات و داده های مکان جمع آوری شده در پایگاه داده DynamoDB برای درک واریانس جمعیت حیوانات در طول زمان استفاده می شود. با نگاهی منظم به داشبوردها، گروه‌های حفاظت می‌توانند الگوها را شناسایی کرده و علل احتمالی مانند بیماری‌ها، آب‌وهوا یا شکار غیرقانونی را که می‌توانند باعث این تفاوت شوند را شناسایی کرده و به طور فعال اقداماتی را برای رسیدگی به این مشکل انجام دهند.

پیش نیازها

یک مجموعه آموزشی خوب برای ساختن یک مدل موثر با استفاده از برچسب‌های سفارشی Rekognition مورد نیاز است. ما از تصاویر AWS Marketplace استفاده کرده ایم (مجموعه داده حیوانات و حیات وحش از Shutterstock) و کجگل برای ساختن مدل.

راه حل را اجرا کنید

گردش کار ما شامل مراحل زیر است:

  1. یک مدل سفارشی برای طبقه‌بندی گونه‌های در حال انقراض (کرگدن در مثال ما) با استفاده از قابلیت AutoML برچسب‌های سفارشی Rekognition آموزش دهید.

همچنین می توانید این مراحل را از کنسول Rekognition Custom Labels انجام دهید. برای دستورالعمل، مراجعه کنید ایجاد یک پروژه, ایجاد مجموعه داده های آموزشی و آزمایشیو آموزش مدل برچسب های سفارشی شناسایی آمازون.

در این مثال از مجموعه داده های Kaggle استفاده می کنیم. جدول زیر محتویات مجموعه داده را خلاصه می کند.

برچسب مجموعه آموزش مجموعه تست
حیوان شیر 625 156
کرگدن 608 152
فیل آفریقایی 368 92
  1. تصاویر گرفته شده از تله های دوربین را در یک سطل S3 مشخص شده آپلود کنید.
  2. اعلان‌های رویداد را در قسمت تعریف کنید ویرایش بخشی از سطل S3 برای ارسال یک اعلان به یک صف SQS تعریف شده هنگامی که یک شی به سطل اضافه می شود.

اعلان رویداد را تعریف کنید

اقدام آپلود رویدادی را راه‌اندازی می‌کند که با استفاده از اعلان رویداد Amazon S3 در Amazon SQS در صف قرار می‌گیرد.

  1. مجوزهای مناسب را از طریق خط مشی دسترسی صف SQS اضافه کنید تا به سطل S3 اجازه دهید اعلان را به صف ارسال کند.

ML-9942-event-not

  1. یک تریگر Lambda را برای صف SQS پیکربندی کنید تا هنگام دریافت پیام جدید، تابع Lambda فراخوانی شود.

ماشه لامبدا

  1. سیاست دسترسی را تغییر دهید تا تابع Lambda به صف SQS دسترسی داشته باشد.

خط مشی دسترسی تابع لامبدا

تابع Lambda اکنون باید مجوزهای مناسب برای دسترسی به صف SQS را داشته باشد.

مجوزهای تابع لامبدا

  1. متغیرهای محیطی را طوری تنظیم کنید که بتوان در کد به آنها دسترسی داشت.

متغیرهای محیطی

کد تابع لامبدا

تابع Lambda وظایف زیر را هنگام دریافت اعلان از صف SNS انجام می دهد:

  1. برای شناسایی برچسب‌هایی از مدل سفارشی که گونه‌های در خطر انقراض را شناسایی می‌کنند، یک تماس API با آمازون 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 که آمازون Rekognition API را برای شناسایی برچسب های حضور انسان فراخوانی می کند، پیاده سازی می شود. اگر یک انسان شناسایی شود، یک پیام خطا در 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 را به عنوان منبع داده برای آتنا تنظیم کنید.منبع داده DynamoDB
  1. جزئیات منبع داده را اضافه کنید.

مرحله مهم بعدی، تعریف تابع Lambda است که به منبع داده متصل می شود.

  1. انتخاب کرد ایجاد تابع Lambda.

تابع لامبدا

  1. نام برای AthenaCatalogName و SpillBucket; بقیه می توانند تنظیمات پیش فرض باشند.
  2. عملکرد اتصال را اجرا کنید.

کانکتور لامبدا

پس از پردازش همه تصاویر، می توانید از QuickSight برای تجسم داده ها برای واریانس جمعیت در طول زمان از Athena استفاده کنید.

  1. در کنسول آتنا، یک منبع داده را انتخاب کنید و جزئیات را وارد کنید.
  2. را انتخاب کنید ایجاد تابع Lambda برای ارائه کانکتور به DynamoDB.

ایجاد تابع Lambda

  1. در داشبورد QuickSight، را انتخاب کنید تحلیل جدید و مجموعه داده جدید.
  2. آتنا را به عنوان منبع داده انتخاب کنید.

آتنا به عنوان منبع داده

  1. کاتالوگ، پایگاه داده و جدول را برای اتصال و انتخاب وارد کنید انتخاب کنید.

فهرست

  1. ایجاد مجموعه داده کامل

فهرست

نمودار زیر تعداد گونه های در خطر انقراض را نشان می دهد که در یک روز معین به دام افتاده اند.

نمودار QuickSight

داده های GPS به عنوان بخشی از برچسب های EXIF ​​یک تصویر گرفته شده ارائه می شود. با توجه به حساسیت مکان این حیوانات در خطر انقراض، مجموعه داده ما مکان GPS را نداشت. با این حال، ما یک نمودار جغرافیایی با استفاده از داده های شبیه سازی شده ایجاد کردیم تا نشان دهیم چگونه می توانید مکان ها را در صورت در دسترس بودن داده های GPS تجسم کنید.

نمودار جغرافیایی

پاک کردن

برای جلوگیری از متحمل شدن هزینه‌های غیرمنتظره، مطمئن شوید که سرویس‌های AWS را که به عنوان بخشی از این نمایش استفاده می‌کردید، خاموش کنید - سطل‌های S3، جدول DynamoDB، QuickSight، Athena و مدل آموزش‌دیده برچسب‌های سفارشی Rekognition. اگر دیگر به آنها نیاز ندارید، باید مستقیماً از طریق کنسول های سرویس مربوطه آنها را حذف کنید. رجوع شود به حذف مدل برچسب‌های سفارشی شناسایی آمازون برای اطلاعات بیشتر در مورد حذف مدل

نتیجه

در این پست، ما یک سیستم خودکار ارائه کردیم که گونه‌های در خطر انقراض را شناسایی می‌کند، تعداد جمعیت آنها را ثبت می‌کند و بینش‌هایی درباره واریانس جمعیت در طول زمان ارائه می‌دهد. شما همچنین می توانید راه حل را برای هشدار به مقامات زمانی که انسان ها (شکارچیان غیرقانونی احتمالی) در مجاورت این گونه های در معرض خطر هستند گسترش دهید. با قابلیت‌های AI/ML آمازون Rekognition، می‌توانیم از تلاش‌های گروه‌های حفاظتی برای حفاظت از گونه‌های در معرض خطر و اکوسیستم‌های آنها حمایت کنیم.

برای اطلاعات بیشتر در مورد برچسب های سفارشی شناسایی، به شروع با برچسب های سفارشی شناسایی آمازون و تعدیل محتوا. اگر با برچسب‌های سفارشی شناسایی تازه کار هستید، می‌توانید از ردیف رایگان ما استفاده کنید که 3 ماه طول می‌کشد و شامل 10 ساعت آموزش رایگان در ماه و 4 ساعت استنتاج رایگان در ماه است. ردیف رایگان شناسایی آمازون شامل پردازش 5,000 تصویر در ماه به مدت 12 ماه است.


درباره نویسنده

نویسنده-جیوتیجیوتی گودار مدیر معمار راه حل های شریک در AWS است. او از نزدیک با شریک یکپارچه‌ساز سیستم جهانی همکاری می‌کند تا مشتریان را قادر سازد تا حجم کاری خود را به AWS انتقال دهند.

واریانس جمعیت گونه های در معرض خطر را با استفاده از هوش داده های پلاتوبلاک چین شناسایی آمازون شناسایی کنید. جستجوی عمودی Ai.جی رائو یک معمار اصلی راه حل در AWS است. او از ارائه راهنمایی های فنی و استراتژیک به مشتریان و کمک به آنها در طراحی و اجرای راه حل ها در AWS لذت می برد.

تمبر زمان:

بیشتر از آموزش ماشین AWS