ตรวจจับความแปรปรวนของประชากรของสัตว์ใกล้สูญพันธุ์โดยใช้ Amazon Rekognition PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

ตรวจจับความแปรปรวนของประชากรของสัตว์ใกล้สูญพันธุ์โดยใช้ Amazon Rekognition

โลกของเราเผชิญกับวิกฤตการสูญพันธุ์ทั่วโลก รายงานสหประชาชาติ แสดงให้เห็นจำนวนที่น่าตกใจกว่าล้านชนิดที่กลัวว่าจะสูญพันธุ์ สาเหตุที่พบบ่อยที่สุดของการสูญพันธุ์ ได้แก่ การสูญเสียถิ่นที่อยู่ การรุกล้ำ และชนิดพันธุ์ที่รุกราน หลาย มูลนิธิอนุรักษ์สัตว์ป่า, นักวิจัย อาสาสมัคร และ แรนเจอร์ต่อต้านการลักลอบล่าสัตว์ ได้ทำงานอย่างไม่รู้จักเหน็ดเหนื่อยเพื่อแก้ไขวิกฤตินี้ การมีข้อมูลที่ถูกต้องและสม่ำเสมอเกี่ยวกับสัตว์ใกล้สูญพันธุ์ในป่าจะช่วยปรับปรุงความสามารถของนักอนุรักษ์สัตว์ป่าในการศึกษาและอนุรักษ์สัตว์ใกล้สูญพันธุ์ นักวิทยาศาสตร์สัตว์ป่าและเจ้าหน้าที่ภาคสนามใช้กล้องที่มีทริกเกอร์อินฟราเรดที่เรียกว่า กับดักกล้องและวางไว้ในตำแหน่งที่มีประสิทธิภาพสูงสุดในป่าเพื่อถ่ายภาพสัตว์ป่า รูปภาพเหล่านี้จะได้รับการตรวจสอบด้วยตนเอง ซึ่งเป็นกระบวนการที่ใช้เวลานานมาก

ในโพสต์นี้ เราสาธิตวิธีแก้ปัญหาโดยใช้ ป้ายกำกับที่กำหนดเองของ Amazon Rekognition พร้อมกับกับดักกล้องตรวจจับความเคลื่อนไหวเพื่อทำให้กระบวนการนี้เป็นไปโดยอัตโนมัติเพื่อจดจำสายพันธุ์ที่เกิดมาและศึกษาพวกมัน Rekognition Custom Labels เป็นบริการคอมพิวเตอร์วิทัศน์ที่มีการจัดการเต็มรูปแบบ ซึ่งช่วยให้นักพัฒนาสามารถสร้างโมเดลที่กำหนดเองเพื่อจำแนกและระบุออบเจ็กต์ในรูปภาพที่มีความเฉพาะเจาะจงและไม่ซ้ำกับกรณีการใช้งานของตน เราให้รายละเอียดวิธีจำแนกสัตว์ที่ใกล้สูญพันธุ์จากภาพที่รวบรวมจากกล้องดักจับ ดึงข้อมูลเชิงลึกเกี่ยวกับการนับจำนวนประชากรของพวกมัน และตรวจจับมนุษย์ที่อยู่รอบตัวพวกมัน ข้อมูลนี้จะเป็นประโยชน์กับนักอนุรักษ์ที่สามารถตัดสินใจเชิงรุกเพื่อช่วยชีวิตพวกเขา

ภาพรวมโซลูชัน

ไดอะแกรมต่อไปนี้แสดงสถาปัตยกรรมของโซลูชัน

โซลูชันนี้ใช้บริการ AI, เทคโนโลยีไร้เซิร์ฟเวอร์ และบริการที่มีการจัดการต่อไปนี้เพื่อใช้สถาปัตยกรรมที่ปรับขนาดได้และคุ้มค่า:

  • อเมซอน อาเธน่า – บริการสืบค้นข้อมูลเชิงโต้ตอบแบบไร้เซิร์ฟเวอร์ที่ช่วยให้วิเคราะห์ข้อมูลใน Amazon S3 ได้ง่ายโดยใช้ SQL . มาตรฐาน
  • อเมซอน คลาวด์วอตช์ – บริการตรวจสอบและสังเกตการณ์ที่รวบรวมข้อมูลการตรวจสอบและการดำเนินงานในรูปแบบของบันทึก ตัวชี้วัด และเหตุการณ์
  • อเมซอน ไดนาโมดีบี – ฐานข้อมูลคีย์-ค่าและเอกสารที่ให้ประสิทธิภาพมิลลิวินาทีหลักเดียวในทุกระดับ
  • AWS แลมบ์ดา – บริการประมวลผลแบบไร้เซิร์ฟเวอร์ที่ให้คุณเรียกใช้โค้ดเพื่อตอบสนองต่อทริกเกอร์ เช่น การเปลี่ยนแปลงของข้อมูล การเปลี่ยนแปลงในสถานะของระบบ หรือการกระทำของผู้ใช้
  • อเมซอน QuickSight – บริการข่าวกรองธุรกิจแบบไร้เซิร์ฟเวอร์ แมชชีนเลิร์นนิง (ML) ที่ให้ข้อมูลเชิงลึก แดชบอร์ดแบบโต้ตอบ และการวิเคราะห์ที่หลากหลาย
  • ความหมายของ Amazon – ใช้ ML เพื่อระบุวัตถุ บุคคล ข้อความ ฉาก และกิจกรรมในภาพและวิดีโอ ตลอดจนตรวจจับเนื้อหาที่ไม่เหมาะสม
  • ป้ายกำกับที่กำหนดเองของ Amazon Rekognition – ใช้ AutoML เพื่อช่วยฝึกโมเดลที่กำหนดเองเพื่อระบุวัตถุและฉากในรูปภาพที่เจาะจงกับความต้องการทางธุรกิจของคุณ
  • บริการ Amazon Simple Queue (Amazon SQS) – บริการจัดคิวข้อความที่มีการจัดการเต็มรูปแบบที่ช่วยให้คุณสามารถแยกและปรับขนาดไมโครเซอร์วิส ระบบแบบกระจาย และแอปพลิเคชันแบบไร้เซิร์ฟเวอร์
  • บริการจัดเก็บข้อมูลอย่างง่ายของ Amazon (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 Kaggle เพื่อสร้างแบบจำลอง

ดำเนินการแก้ปัญหา

เวิร์กโฟลว์ของเราประกอบด้วยขั้นตอนต่อไปนี้:

  1. ฝึกโมเดลแบบกำหนดเองเพื่อจำแนกประเภทสัตว์ใกล้สูญพันธุ์ (แรดในตัวอย่างของเรา) โดยใช้ความสามารถ AutoML ของ Rekognition Custom Labels

คุณยังสามารถทำตามขั้นตอนเหล่านี้ได้จากคอนโซล Rekognition Custom Labels สำหรับคำแนะนำ โปรดดูที่ การสร้างโครงการ, การสร้างชุดข้อมูลการฝึกอบรมและทดสอบและ การฝึกอบรมโมเดล Amazon Rekognition Custom Label.

ในตัวอย่างนี้ เราใช้ชุดข้อมูลจาก 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, คมชัด – ^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. เลือก สร้างฟังก์ชันแลมบ์ดา.

ฟังก์ชันแลมบ์ดา

  1. ใส่ชื่อสำหรับ ชื่อแคตตาล็อก Athena และ SpillBucket; ส่วนที่เหลือสามารถตั้งค่าเริ่มต้นได้
  2. ปรับใช้ฟังก์ชันตัวเชื่อมต่อ

ขั้วต่อแลมบ์ดา

หลังจากประมวลผลภาพทั้งหมดแล้ว คุณสามารถใช้ QuickSight เพื่อแสดงภาพข้อมูลสำหรับความแปรปรวนของประชากรเมื่อเวลาผ่านไปจาก Athena

  1. บนคอนโซล Athena เลือกแหล่งข้อมูลและป้อนรายละเอียด
  2. Choose สร้างฟังก์ชันแลมบ์ดา เพื่อจัดเตรียมตัวเชื่อมต่อไปยัง DynamoDB

สร้างฟังก์ชันแลมบ์ดา

  1. บนแดชบอร์ด QuickSight ให้เลือก บทวิเคราะห์ใหม่ และ ชุดข้อมูลใหม่.
  2. เลือก Athena เป็นแหล่งข้อมูล

Athena เป็นแหล่งข้อมูล

  1. ป้อนแค็ตตาล็อก ฐานข้อมูล และตารางเพื่อเชื่อมต่อและเลือก เลือก.

แค็ตตาล็อก

  1. สร้างชุดข้อมูลที่สมบูรณ์

แค็ตตาล็อก

แผนภูมิต่อไปนี้แสดงจำนวนสัตว์ใกล้สูญพันธุ์ที่จับได้ในวันที่กำหนด

แผนภูมิ QuickSight

ข้อมูล GPS จะแสดงเป็นส่วนหนึ่งของแท็ก EXIF ​​​​ของภาพที่ถ่าย เนื่องจากความอ่อนไหวของตำแหน่งของสัตว์ที่ใกล้สูญพันธุ์เหล่านี้ ชุดข้อมูลของเราจึงไม่มีตำแหน่ง GPS อย่างไรก็ตาม เราได้สร้างแผนภูมิเชิงพื้นที่โดยใช้ข้อมูลจำลองเพื่อแสดงวิธีการแสดงตำแหน่งของคุณเมื่อมีข้อมูล GPS

แผนภูมิเชิงพื้นที่

ทำความสะอาด

เพื่อหลีกเลี่ยงค่าใช้จ่ายที่ไม่คาดคิด โปรดปิดบริการของ AWS ที่คุณใช้เป็นส่วนหนึ่งของการสาธิตนี้ เช่น บัคเก็ต S3, ตาราง DynamoDB, QuickSight, Athena และโมเดล Rekognition Custom Labels ที่ผ่านการฝึกอบรม คุณควรลบทรัพยากรเหล่านี้โดยตรงผ่านคอนโซลบริการที่เกี่ยวข้อง หากคุณไม่ต้องการใช้อีกต่อไป อ้างถึง การลบโมเดล Amazon Rekognition Custom Labels สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการลบโมเดล

สรุป

ในโพสต์นี้ เรานำเสนอระบบอัตโนมัติที่ระบุสัตว์ใกล้สูญพันธุ์ บันทึกจำนวนประชากร และให้ข้อมูลเชิงลึกเกี่ยวกับความแปรปรวนของประชากรเมื่อเวลาผ่านไป คุณยังสามารถขยายวิธีแก้ปัญหาเพื่อแจ้งเตือนเจ้าหน้าที่เมื่อมีมนุษย์ (อาจเป็นนักล่า) อยู่ในบริเวณใกล้เคียงกับสัตว์ใกล้สูญพันธุ์เหล่านี้ ด้วยความสามารถ AI/ML ของ Amazon Rekognition เราจึงสามารถสนับสนุนความพยายามของกลุ่มอนุรักษ์เพื่อปกป้องสัตว์ใกล้สูญพันธุ์และระบบนิเวศของพวกมัน

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ Rekognition Custom Labels โปรดดูที่ เริ่มต้นใช้งาน Amazon Rekognition Custom Labels และ การกลั่นกรองเนื้อหา. หากคุณเพิ่งเริ่มใช้ Rekognition Custom Labels คุณสามารถใช้ Free Tier ของเราได้ ซึ่งใช้เวลา 3 เดือน และรวม 10 ชั่วโมงการฝึกอบรมฟรีต่อเดือน และ 4 ชั่วโมงการอนุมานฟรีต่อเดือน Amazon Rekognition Free Tier รวมการประมวลผลภาพ 5,000 ภาพต่อเดือนเป็นเวลา 12 เดือน


เกี่ยวกับผู้เขียน

ผู้เขียน jyothiโจธี กูดาร์ เป็น Partner Solutions Architect Manager ที่ AWS เธอทำงานอย่างใกล้ชิดกับคู่ค้าผู้รวมระบบทั่วโลกเพื่อเปิดใช้งานและสนับสนุนลูกค้าในการย้ายปริมาณงานไปยัง AWS

ตรวจจับความแปรปรวนของประชากรของสัตว์ใกล้สูญพันธุ์โดยใช้ Amazon Rekognition PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.เจ ราว เป็นสถาปนิกโซลูชั่นหลักที่ AWS เขาชอบที่จะให้คำแนะนำด้านเทคนิคและเชิงกลยุทธ์แก่ลูกค้า และช่วยพวกเขาในการออกแบบและนำโซลูชันไปใช้บน AWS

ประทับเวลา:

เพิ่มเติมจาก AWS Machine Learning AWS