Deteksi keragaman populasi spesies yang terancam punah menggunakan Amazon Rekognition PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Deteksi keragaman populasi spesies yang terancam punah menggunakan Amazon Rekognition

Planet kita menghadapi krisis kepunahan global. Laporan PBB menunjukkan jumlah yang mengejutkan lebih dari satu juta spesies yang dikhawatirkan berada di jalur kepunahan. Alasan paling umum untuk kepunahan termasuk hilangnya habitat, perburuan, dan spesies invasif. Beberapa yayasan konservasi satwa liar, ilmuwan penelitian, sukarelawan, dan penjaga anti perburuan telah bekerja tanpa lelah untuk mengatasi krisis ini. Memiliki informasi yang akurat dan teratur tentang hewan langka di alam liar akan meningkatkan kemampuan konservasi satwa liar untuk mempelajari dan melestarikan spesies yang terancam punah. Ilmuwan satwa liar dan staf lapangan menggunakan kamera yang dilengkapi dengan pemicu inframerah, yang disebut perangkap kamera, dan menempatkannya di lokasi yang paling efektif di hutan untuk menangkap gambar satwa liar. Gambar-gambar ini kemudian ditinjau secara manual, yang merupakan proses yang sangat memakan waktu.

Dalam posting ini, kami mendemonstrasikan solusi menggunakan Label Kustom Amazon Rekognition bersama dengan jebakan kamera sensor gerak untuk mengotomatiskan proses ini untuk mengenali spesies yang dilahirkan dan mempelajarinya. Label Kustom Rekognition adalah layanan visi komputer terkelola sepenuhnya yang memungkinkan pengembang membuat model kustom untuk mengklasifikasikan dan mengidentifikasi objek dalam gambar yang spesifik dan unik untuk kasus penggunaannya. Kami merinci cara mengenali spesies hewan yang terancam punah dari gambar yang dikumpulkan dari jebakan kamera, menarik wawasan tentang jumlah populasi mereka, dan mendeteksi manusia di sekitar mereka. Informasi ini akan membantu para konservasionis, yang dapat membuat keputusan proaktif untuk menyelamatkan mereka.

Ikhtisar solusi

Diagram berikut menggambarkan arsitektur solusi.

Solusi ini menggunakan layanan AI berikut, teknologi tanpa server, dan layanan terkelola untuk mengimplementasikan arsitektur yang dapat diskalakan dan hemat biaya:

  • Amazon Athena โ€“ Layanan kueri interaktif tanpa server yang memudahkan analisis data di Amazon S3 menggunakan SQL standar
  • amazoncloudwatch โ€“ Layanan pemantauan dan observabilitas yang mengumpulkan data pemantauan dan operasional dalam bentuk log, metrik, dan peristiwa
  • Amazon DynamoDB โ€“ Nilai kunci dan basis data dokumen yang memberikan kinerja milidetik satu digit pada skala apa pun
  • AWS Lambda โ€“ Layanan komputasi tanpa server yang memungkinkan Anda menjalankan kode sebagai respons terhadap pemicu seperti perubahan data, perubahan status sistem, atau tindakan pengguna
  • Amazon QuickSight โ€“ Layanan intelijen bisnis yang didukung pembelajaran mesin (ML) tanpa server yang memberikan wawasan, dasbor interaktif, dan analitik yang kaya
  • Rekognisi Amazon โ€“ Menggunakan ML untuk mengidentifikasi objek, orang, teks, adegan, dan aktivitas dalam gambar dan video, serta mendeteksi konten yang tidak pantas
  • Label Kustom Amazon Rekognition โ€“ Menggunakan AutoML untuk membantu melatih model kustom untuk mengidentifikasi objek dan adegan dalam gambar yang spesifik untuk kebutuhan bisnis Anda
  • Layanan Antrian Sederhana Amazon (Amazon SQS) โ€“ Layanan antrian pesan terkelola sepenuhnya yang memungkinkan Anda memisahkan dan menskalakan layanan mikro, sistem terdistribusi, dan aplikasi tanpa server
  • Layanan Penyimpanan Sederhana Amazon (Amazon S3) โ€“ Berfungsi sebagai penyimpanan objek untuk dokumen dan memungkinkan manajemen pusat dengan kontrol akses yang disesuaikan.

Langkah-langkah tingkat tinggi dalam solusi ini adalah sebagai berikut:

  1. Latih dan buat model kustom menggunakan Label Kustom Pengakuan untuk mengenali spesies yang terancam punah di area tersebut. Untuk postingan kali ini, kita akan berlatih tentang gambar badak.
  2. Gambar yang diambil melalui jebakan kamera sensor gerak diunggah ke ember S3, yang menerbitkan acara untuk setiap gambar yang diunggah.
  3. Fungsi Lambda dipicu untuk setiap peristiwa yang dipublikasikan, yang mengambil gambar dari ember S3 dan meneruskannya ke model khusus untuk mendeteksi hewan yang terancam punah.
  4. Fungsi Lambda menggunakan Amazon Rekognition API untuk mengidentifikasi hewan dalam gambar.
  5. Jika gambar memiliki spesies badak yang terancam punah, fungsi tersebut memperbarui database DynamoDB dengan jumlah hewan, tanggal pengambilan gambar, dan metadata berguna lainnya yang dapat diekstraksi dari gambar EXIF tajuk.
  6. QuickSight digunakan untuk memvisualisasikan jumlah hewan dan data lokasi yang dikumpulkan dalam database DynamoDB untuk memahami varians populasi hewan dari waktu ke waktu. Dengan melihat dasbor secara teratur, kelompok konservasi dapat mengidentifikasi pola dan mengisolasi kemungkinan penyebab seperti penyakit, iklim, atau perburuan liar yang dapat menyebabkan perbedaan ini dan secara proaktif mengambil langkah untuk mengatasi masalah tersebut.

Prasyarat

Serangkaian pelatihan yang baik diperlukan untuk membangun model yang efektif menggunakan Label Kustom Pengakuan. Kami telah menggunakan gambar dari AWS Marketplace (Kumpulan Data Hewan & Satwa Liar dari Shutterstock) Dan Kaggle untuk membangun model.

Terapkan solusinya

Alur kerja kami mencakup langkah-langkah berikut:

  1. Latih model kustom untuk mengklasifikasikan spesies yang terancam punah (badak dalam contoh kami) menggunakan kemampuan AutoML dari Rekognition Custom Labels.

Anda juga dapat melakukan langkah-langkah ini dari konsol Label Kustom Pengakuan. Untuk petunjuk, lihat Membuat proyek, Membuat set data pelatihan dan pengujian, dan Melatih model Label Kustom Pengakuan Amazon.

Dalam contoh ini, kami menggunakan kumpulan data dari Kaggle. Tabel berikut merangkum konten kumpulan data.

label Perlengkapan latihan Set Tes
Singa 625 156
Badak 608 152
Gajah Afrika 368 92
  1. Unggah gambar yang diambil dari jebakan kamera ke ember S3 yang ditentukan.
  2. Tentukan pemberitahuan acara di izin bagian dari ember S3 untuk mengirim pemberitahuan ke antrian SQS yang ditentukan ketika sebuah objek ditambahkan ke ember.

Tentukan pemberitahuan acara

Tindakan unggah memicu peristiwa yang diantrekan di Amazon SQS menggunakan pemberitahuan peristiwa Amazon S3.

  1. Tambahkan izin yang sesuai melalui kebijakan akses antrean SQS untuk memungkinkan bucket S3 mengirim pemberitahuan ke antrean.

ML-9942-acara-bukan

  1. Konfigurasikan pemicu Lambda untuk antrean SQS sehingga fungsi Lambda dipanggil saat pesan baru diterima.

Pemicu lambda

  1. Ubah kebijakan akses untuk mengizinkan fungsi Lambda mengakses antrean SQS.

Kebijakan akses fungsi Lambda

Fungsi Lambda sekarang harus memiliki izin yang tepat untuk mengakses antrian SQS.

Izin fungsi Lambda

  1. Mengatur variabel lingkungan sehingga mereka dapat diakses dalam kode.

Variabel lingkungan

Kode fungsi Lambda

Fungsi Lambda melakukan tugas berikut saat menerima pemberitahuan dari antrean SNS:

  1. Lakukan panggilan API ke Amazon Rekognition untuk mendeteksi label dari model kustom yang mengidentifikasi spesies yang terancam punah:
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. Ambil tag EXIF โ€‹โ€‹โ€‹โ€‹dari gambar untuk mendapatkan tanggal saat gambar diambil dan data EXIF โ€‹โ€‹โ€‹โ€‹lainnya yang relevan. Kode berikut menggunakan dependensi (paket โ€“ versi) 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);
}

Solusi yang diuraikan di sini tidak sinkron; gambar ditangkap oleh jebakan kamera dan di lain waktu diunggah ke ember S3 untuk diproses. Jika gambar jebakan kamera lebih sering diunggah, Anda dapat memperluas solusi untuk mendeteksi manusia di area yang dipantau dan mengirim pemberitahuan ke aktivis terkait untuk menunjukkan kemungkinan perburuan di sekitar hewan yang terancam punah ini. Ini diimplementasikan melalui fungsi Lambda yang memanggil Amazon Rekognition API untuk mendeteksi label keberadaan manusia. Jika manusia terdeteksi, pesan kesalahan dicatat ke CloudWatch Logs. Metrik yang difilter pada log kesalahan memicu alarm CloudWatch yang mengirim email ke aktivis konservasi, yang kemudian dapat mengambil tindakan lebih lanjut.

  1. Perluas solusi dengan kode berikut:
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. Jika spesies yang terancam punah terdeteksi, fungsi Lambda memperbarui DynamoDB dengan jumlah, tanggal, dan metadata opsional lainnya yang diperoleh dari tag EXIF โ€‹โ€‹gambar:
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();

Kueri dan visualisasikan datanya

Anda sekarang dapat menggunakan Athena dan QuickSight untuk memvisualisasikan data.

  1. Tetapkan tabel DynamoDB sebagai sumber data untuk Athena.Sumber data DynamoDB
  1. Tambahkan detail sumber data.

Langkah penting berikutnya adalah menentukan fungsi Lambda yang terhubung ke sumber data.

  1. Memilih Buat fungsi Lambda.

Fungsi Lambda

  1. Masukkan nama untuk Nama Katalog Athena dan TumpahanEmber; selebihnya bisa setting default.
  2. Terapkan fungsi konektor.

konektor lambda

Setelah semua gambar diproses, Anda dapat menggunakan QuickSight untuk memvisualisasikan data varians populasi dari waktu ke waktu dari Athena.

  1. Di konsol Athena, pilih sumber data dan masukkan detailnya.
  2. Pilih Buat fungsi Lambda untuk menyediakan konektor ke DynamoDB.

Buat fungsi Lambda

  1. Di dasbor QuickSight, pilih Analisis Baru dan Set Data Baru.
  2. Pilih Athena sebagai sumber data.

Athena sebagai sumber data

  1. Masukkan katalog, database, dan tabel untuk dihubungkan dan dipilih Pilih.

Katalog

  1. Selesaikan pembuatan kumpulan data.

Katalog

Bagan berikut menunjukkan jumlah spesies yang terancam punah yang ditangkap pada hari tertentu.

Bagan QuickSight

Data GPS disajikan sebagai bagian dari tag EXIF โ€‹โ€‹โ€‹โ€‹dari gambar yang diambil. Karena sensitivitas lokasi hewan langka ini, dataset kami tidak memiliki lokasi GPS. Namun, kami membuat bagan geospasial menggunakan data simulasi untuk menunjukkan bagaimana Anda dapat memvisualisasikan lokasi saat data GPS tersedia.

Bagan geospasial

Membersihkan

Untuk menghindari timbulnya biaya tak terduga, pastikan untuk mematikan layanan AWS yang Anda gunakan sebagai bagian dari demonstrasi iniโ€”bucket S3, tabel DynamoDB, QuickSight, Athena, dan model Rekognition Custom Labels yang terlatih. Anda harus menghapus sumber daya ini secara langsung melalui konsol layanan masing-masing jika Anda tidak lagi membutuhkannya. Mengacu pada Menghapus model Label Kustom Amazon Rekognition untuk informasi lebih lanjut tentang menghapus model.

Kesimpulan

Dalam posting ini, kami menyajikan sistem otomatis yang mengidentifikasi spesies yang terancam punah, mencatat jumlah populasi mereka, dan memberikan wawasan tentang varians populasi dari waktu ke waktu. Anda juga dapat memperluas solusi untuk memperingatkan pihak berwenang ketika manusia (kemungkinan pemburu) berada di sekitar spesies yang terancam punah ini. Dengan kemampuan AI/ML Amazon Rekognition, kami dapat mendukung upaya kelompok konservasi untuk melindungi spesies yang terancam punah dan ekosistemnya.

Untuk informasi lebih lanjut tentang Label Kustom Pengakuan, lihat Memulai dengan Label Kustom Amazon Rekognition dan Memoderasi konten. Jika Anda baru mengenal Label Kustom Rekognition, Anda dapat menggunakan Tingkat Gratis kami, yang berlangsung selama 3 bulan dan mencakup 10 jam pelatihan gratis per bulan dan 4 jam inferensi gratis per bulan. Tingkat Gratis Amazon Rekognition mencakup pemrosesan 5,000 gambar per bulan selama 12 bulan.


Tentang Penulis

penulis-jyothiJyothi Goudar adalah Manajer Arsitek Solusi Mitra di AWS. Dia bekerja sama dengan mitra integrator sistem global untuk memungkinkan dan mendukung pelanggan memindahkan beban kerja mereka ke AWS.

Deteksi keragaman populasi spesies yang terancam punah menggunakan Amazon Rekognition PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Jay Rao adalah Arsitek Solusi Utama di AWS. Dia senang memberikan panduan teknis dan strategis kepada pelanggan dan membantu mereka merancang dan mengimplementasikan solusi di AWS.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS