גלה שונות אוכלוסיה של מינים בסכנת הכחדה באמצעות Amazon Rekognition PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

זיהוי שונות באוכלוסיה של מינים בסכנת הכחדה באמצעות זיהוי אמזון

הפלנטה שלנו עומדת בפני משבר הכחדה עולמי. דו"ח האו"ם מראה מספר מדהים של יותר ממיליון מינים שחששו שהם נמצאים בנתיב הכחדה. הסיבות הנפוצות ביותר להכחדה כוללות אובדן בית גידול, ציד ומינים פולשים. כַּמָה קרנות לשימור חיות בר, מדעני מחקר, מתנדבים ו שומרי צייד נגד ציד פעלו ללא לאות כדי להתמודד עם המשבר הזה. מידע מדויק וקבוע על בעלי חיים בסכנת הכחדה בטבע ישפר את יכולתם של שומרי חיות הבר לחקור ולשמר מינים בסכנת הכחדה. מדעני חיות בר וצוותי שטח משתמשים במצלמות המצוידות בטריגרים אינפרא אדום, הנקראים מלכודות מצלמה, והצב אותם במקומות היעילים ביותר ביערות כדי לצלם תמונות של חיות בר. לאחר מכן, התמונות הללו נבדקות באופן ידני, וזה תהליך שלוקח זמן רב.

בפוסט זה, אנו מדגימים פתרון באמצעות תוויות מותאמות אישית של Amazon Rekognition יחד עם מלכודות מצלמה של חיישני תנועה כדי להפוך תהליך זה לאוטומטי לזהות מינים שהוולדו וללמוד אותם. Rekognition Custom Labels הוא שירות ראייה ממוחשבת מנוהל במלואו המאפשר למפתחים לבנות מודלים מותאמים אישית כדי לסווג ולזהות אובייקטים בתמונות שהם ספציפיים וייחודיים למקרה השימוש שלהם. אנו מפרטים כיצד לזהות מיני בעלי חיים בסכנת הכחדה מתמונות שנאספו ממלכודות מצלמות, משיקים תובנות לגבי ספירת האוכלוסייה שלהם ומזהים בני אדם סביבם. מידע זה יועיל לשומרי שימור, שיכולים לקבל החלטות יזומות להצלתם.

סקירת פתרונות

התרשים הבא ממחיש את הארכיטקטורה של הפיתרון.

פיתרון זה משתמש בשירותי ה- AI הבאים, בטכנולוגיות ללא שרתים ובשירותים מנוהלים כדי ליישם ארכיטקטורה מדרגית וחסכונית:

  • אמזונה אתנה – שירות שאילתות אינטראקטיבי ללא שרת המקל על ניתוח נתונים באמזון S3 באמצעות SQL רגיל
  • אמזון CloudWatch - שירות ניטור וצפיות האוסף נתוני ניטור ותפעול בצורה של יומנים, מדדים ואירועים
  • אמזון דינמו – מסד נתונים של ערכי מפתח ומסמכים המספק ביצועים חד ספרתיים של אלפית שנייה בכל קנה מידה
  • AWS למבדה - שירות מחשוב ללא שרת המאפשר לך להריץ קוד בתגובה לטריגרים כגון שינויים בנתונים, שינויים במצב המערכת או פעולות משתמש
  • אמזון קוויקסייט - שירות בינה עסקית ללא שרת, מופעלת למידת מכונה (ML), המספק תובנות, לוחות מחוונים אינטראקטיביים וניתוח עשיר
  • אמזון - משתמש ב-ML כדי לזהות אובייקטים, אנשים, טקסט, סצנות ופעילויות בתמונות ובסרטונים, כמו גם לזהות כל תוכן לא הולם
  • תוויות מותאמות אישית של Amazon Rekognition - משתמש ב-AutoML כדי לעזור לאמן מודלים מותאמים אישית לזהות את האובייקטים והסצנות בתמונות הספציפיות לצרכי העסק שלך
  • שירות תורים פשוט של אמזון (Amazon SQS) - שירות תורי הודעות מנוהל במלואו המאפשר לך לנתק ולהרחיב מיקרו-שירותים, מערכות מבוזרות ויישומים ללא שרת
  • שירות אחסון פשוט של אמזון (Amazon S3) – משמש כמחסן אובייקטים למסמכים ומאפשר ניהול מרכזי עם בקרות גישה מכווננות.

השלבים ברמה הגבוהה בפתרון זה הם כדלקמן:

  1. אימון ובנה מודל מותאם אישית באמצעות תוויות מותאמות אישית של זיהוי כדי לזהות מינים בסכנת הכחדה באזור. עבור פוסט זה, אנו מתאמנים על תמונות של קרנף.
  2. תמונות שנלכדות דרך מלכודות המצלמה של חיישן התנועה מועלות ל-S3 bucket, שמפרסם אירוע לכל תמונה שהועלתה.
  3. פונקציית Lambda מופעלת עבור כל אירוע שמתפרסם, אשר שואבת את התמונה מדלי S3 ומעבירה אותה לדגם המותאם אישית כדי לזהות את החיה בסכנת הכחדה.
  4. הפונקציה Lambda משתמשת ב-Amazon Rekognition API כדי לזהות את החיות בתמונה.
  5. אם בתמונה יש זן כלשהו של קרנף בסכנת הכחדה, הפונקציה מעדכנת את מסד הנתונים של DynamoDB עם ספירת החיה, תאריך צילום התמונה ומטא נתונים שימושיים אחרים שניתן לחלץ מהתמונה EXIF כותרת.
  6. QuickSight משמש כדי להמחיש את ספירת החיות ואת נתוני המיקום שנאספו במסד הנתונים של DynamoDB כדי להבין את השונות של אוכלוסיית בעלי החיים לאורך זמן. על ידי הסתכלות על לוחות המחוונים באופן קבוע, קבוצות שימור יכולות לזהות דפוסים ולבודד גורמים סבירים כמו מחלות, אקלים או ציד שיכולים לגרום לשונות הזו ולנקוט צעדים באופן יזום כדי לטפל בבעיה.

תנאים מוקדמים

דרושה ערכת הדרכה טובה כדי לבנות מודל יעיל באמצעות תוויות מותאמות אישית של זיהוי. השתמשנו בתמונות מ-AWS Marketplace (ערכת נתונים של בעלי חיים וחיות בר מבית Shutterstock) ו קגל לבנות את המודל.

מיישמים את הפתרון

זרימת העבודה שלנו כוללת את השלבים הבאים:

  1. אמן מודל מותאם אישית לסיווג המינים בסכנת הכחדה (קרנף בדוגמה שלנו) באמצעות יכולת AutoML של זיהוי תוויות מותאמות אישית.

אתה יכול גם לבצע את השלבים האלה ממסוף התוויות המותאמות אישית של זיהוי. להנחיות, עיין ב יצירת פרויקט, יצירת מערכי נתונים להדרכה ובדיקות, ו הכשרת דגם של אמזון זיהוי תוויות מותאמות אישית.

בדוגמה זו, אנו משתמשים במערך הנתונים של Kaggle. הטבלה הבאה מסכמת את תוכן מערך הנתונים.

תווית סט אימונים ערכת מבחן
האריה 625 156
קרנף 608 152
פיל אפריקאי 368 92
  1. העלה את התמונות שצולמו ממלכודות המצלמה לדלי S3 ייעודי.
  2. הגדר את הודעות האירוע ב- הרשאות קטע של דלי S3 כדי לשלוח הודעה לתור SQS מוגדר כאשר אובייקט נוסף לדלי.

הגדר התראה על אירוע

פעולת ההעלאה מפעילה אירוע שנמצא בתור ב-Amazon SQS באמצעות הודעת האירוע של Amazon S3.

  1. הוסף את ההרשאות המתאימות באמצעות מדיניות הגישה של תור SQS כדי לאפשר לדלי S3 לשלוח את ההודעה לתור.

ML-9942-event-not

  1. הגדר טריגר של Lambda עבור תור SQS כך שפונקציית Lambda תופעל כאשר מתקבלת הודעה חדשה.

טריגר למבדה

  1. שנה את מדיניות הגישה כדי לאפשר לפונקציית Lambda לגשת לתור SQS.

מדיניות גישה לפונקציית Lambda

כעת אמורות להיות לפונקציית 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 הקוראת ל-Amazon 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 כמקור הנתונים עבור Athena.מקור נתונים של DynamoDB
  1. הוסף את פרטי מקור הנתונים.

השלב החשוב הבא הוא הגדרת פונקציית Lambda שמתחברת למקור הנתונים.

  1. בחר צור פונקציית Lambda.

פונקציית למדה

  1. הזן שמות עבור AthenaCatalogName ו SpillBucket; השאר יכולות להיות הגדרות ברירת מחדל.
  2. פרוס את פונקציית המחבר.

מחבר למבדה

לאחר עיבוד כל התמונות, תוכל להשתמש ב-QuickSight כדי להמחיש את הנתונים עבור שונות האוכלוסייה לאורך זמן מאתנה.

  1. במסוף Athena, בחר מקור נתונים והזן את הפרטים.
  2. בחרו צור פונקציית Lambda לספק מחבר ל-DynamoDB.

צור פונקציית Lambda

  1. בלוח המחוונים של QuickSight, בחר ניתוח חדש ו מערך נתונים חדש.
  2. בחר אתנה כמקור הנתונים.

אתנה כמקור נתונים

  1. הזן את הקטלוג, מסד הנתונים והטבלה כדי להתחבר ולבחור בחר.

קָטָלוֹג

  1. יצירת מערך נתונים מלא.

קָטָלוֹג

התרשים הבא מציג את מספר המינים בסכנת הכחדה שנלכדו ביום נתון.

תרשים QuickSight

נתוני GPS מוצגים כחלק מתגי ה-EXIF של תמונה שנלכדה. בשל רגישות המיקום של בעלי חיים בסכנת הכחדה, למערך הנתונים שלנו לא היה מיקום ה-GPS. עם זאת, יצרנו תרשים גיאו-מרחבי באמצעות נתונים מדומים כדי להראות כיצד ניתן לדמיין מיקומים כאשר נתוני GPS זמינים.

תרשים גיאו-מרחבי

לנקות את

כדי למנוע עלויות בלתי צפויות, הקפד לכבות את שירותי ה-AWS שבהם השתמשת כחלק מהדגמה זו - דלי S3, שולחן DynamoDB, QuickSight, Athena ודגם ה-Rekognition Custom Labels המיומן. עליך למחוק משאבים אלה ישירות דרך קונסולות השירות שלהם אם אינך זקוק להם יותר. מתייחס מחיקת דגם של אמזון זיהוי תוויות מותאמות אישית למידע נוסף על מחיקת הדגם.

סיכום

בפוסט זה הצגנו מערכת אוטומטית המזהה מינים בסכנת הכחדה, מתעדת את ספירת האוכלוסייה שלהם ומספקת תובנות לגבי השונות באוכלוסיה לאורך זמן. אתה יכול גם להרחיב את הפתרון כדי להתריע בפני הרשויות כאשר בני אדם (ציידים אפשריים) נמצאים בקרבת המינים האלה בסכנת הכחדה. עם יכולות AI/ML של Amazon Rekognition, אנו יכולים לתמוך במאמצים של קבוצות שימור להגן על מינים בסכנת הכחדה והמערכות האקולוגיות שלהם.

למידע נוסף על תוויות מותאמות אישית של זיהוי, עיין ב תחילת העבודה עם התוויות המותאמות אישית של אמזון זיהוי ו מנחה תוכן. אם אתה חדש ב-Rekognition Custom Tags, אתה יכול להשתמש בשכבת החינמיות שלנו, שנמשכת 3 חודשים וכוללת 10 שעות אימון חינם בחודש ו-4 שעות הסקה חינם בחודש. ה-Amazon Rekognition Free Tier כולל עיבוד של 5,000 תמונות בחודש למשך 12 חודשים.


על הכותבים

מחבר-ג'יוטיג'יוטי גאודאר הוא מנהל אדריכל פתרונות שותפים ב-AWS. היא עובדת בשיתוף פעולה הדוק עם שותף אינטגרטור מערכות גלובלי כדי לאפשר ולתמוך בלקוחות בהעברת עומסי העבודה שלהם ל-AWS.

גלה שונות אוכלוסיה של מינים בסכנת הכחדה באמצעות Amazon Rekognition PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.ג'יי ראו הוא אדריכל פתרונות ראשי ב-AWS. הוא נהנה לספק הדרכה טכנית ואסטרטגית ללקוחות ולעזור להם לתכנן ולהטמיע פתרונות ב-AWS.

בול זמן:

עוד מ למידת מכונות AWS