Amazon Rekognition PlatoBlockchain Data Intelligence'ı kullanarak nesli tükenmekte olan türlerin popülasyon farklılığını tespit edin. Dikey Arama. Ai.

Amazon Rekognition'ı kullanarak nesli tükenmekte olan türlerin popülasyon farklılıklarını tespit edin

Gezegenimiz küresel bir yok olma kriziyle karşı karşıya. BM Raporu yok olma yolunda olduğundan korkulan bir milyondan fazla türün şaşırtıcı sayıda olduğunu gösteriyor. Neslinin tükenmesinin en yaygın nedenleri arasında habitat kaybı, kaçak avlanma ve istilacı türler sayılabilir. Birçok yaban hayatı koruma vakıfları, araştırmacı bilim adamları, gönüllüler ve kaçak avlanma önleyici korucular bu krizi çözmek için yorulmadan çalışıyorlar. Vahşi doğada nesli tükenmekte olan hayvanlar hakkında doğru ve düzenli bilgiye sahip olmak, yaban hayatı korumacılarının nesli tükenmekte olan türleri inceleme ve koruma yeteneklerini geliştirecektir. Yaban hayatı bilim adamları ve saha personeli, kızılötesi tetikleyicilerle donatılmış kameralar kullanır. kamera tuzaklarıve vahşi yaşamın görüntülerini yakalamak için onları ormanlardaki en etkili yerlere yerleştirin. Bu görüntüler daha sonra manuel olarak incelenir ve bu çok zaman alan bir işlemdir.

Bu yazıda, kullanarak bir çözüm gösteriyoruz Amazon Rekognition Özel Etiketleri ortaya çıkan türleri tanımak ve onları incelemek için bu süreci otomatikleştirmek için hareket sensörlü kamera tuzakları ile birlikte. Tanıma Özel Etiketleri, geliştiricilerin, kullanım durumlarına özel ve benzersiz olan görüntülerdeki nesneleri sınıflandırmak ve tanımlamak için özel modeller oluşturmasına olanak tanıyan, tam olarak yönetilen bir bilgisayarla görme hizmetidir. Kamera tuzaklarından toplanan görüntülerden nesli tükenmekte olan hayvan türlerini nasıl tanıyacağımızı, nüfus sayıları hakkında bilgi edinmeyi ve etraflarındaki insanları nasıl tespit edebileceğimizi ayrıntılarıyla anlatıyoruz. Bu bilgi, onları kurtarmak için proaktif kararlar alabilen korumacılara yardımcı olacaktır.

Çözüme genel bakış

Aşağıdaki şemada, çözümün mimarisi gösterilmektedir.

Bu çözüm, ölçeklenebilir ve uygun maliyetli bir mimari uygulamak için aşağıdaki AI hizmetlerini, sunucusuz teknolojileri ve yönetilen hizmetleri kullanır:

  • Amazon Atina – Standart SQL kullanarak Amazon S3'te verileri analiz etmeyi kolaylaştıran sunucusuz etkileşimli bir sorgu hizmeti
  • Amazon Bulut İzleme – Günlükler, ölçümler ve olaylar biçiminde izleme ve operasyonel verileri toplayan bir izleme ve gözlemlenebilirlik hizmeti
  • Amazon DinamoDB – Her ölçekte tek basamaklı milisaniyelik performans sunan bir anahtar/değer ve belge veritabanı
  • AWS Lambda – Verilerdeki değişiklikler, sistem durumundaki değişimler veya kullanıcı eylemleri gibi tetikleyicilere yanıt olarak kod çalıştırmanıza olanak tanıyan sunucusuz bir bilgi işlem hizmeti
  • Amazon QuickSight – Öngörüler, etkileşimli panolar ve zengin analizler sağlayan sunucusuz, makine öğrenimi (ML) destekli bir iş zekası hizmeti
  • Amazon Rekognisyon – Resim ve videolardaki nesneleri, insanları, metinleri, sahneleri ve etkinlikleri tanımlamak ve uygunsuz içeriği tespit etmek için ML kullanır
  • Amazon Rekognition Özel Etiketleri – İş gereksinimlerinize özel görüntülerdeki nesneleri ve sahneleri tanımlamak için özel modelleri eğitmeye yardımcı olmak için AutoML kullanır
  • Amazon Basit Kuyruk Hizmeti (Amazon SQS) – Mikro hizmetleri, dağıtılmış sistemleri ve sunucusuz uygulamaları ayırmanıza ve ölçeklendirmenize olanak tanıyan tam olarak yönetilen bir mesaj kuyruğu hizmeti
  • Amazon Basit Depolama Hizmeti (Amazon S3) – Belgeler için bir nesne deposu görevi görür ve ince ayarlı erişim kontrolleriyle merkezi yönetime izin verir.

Bu çözümdeki üst düzey adımlar aşağıdaki gibidir:

  1. Bölgedeki nesli tükenmekte olan türleri tanımak için Tanıma Özel Etiketleri kullanarak özel bir model eğitin ve oluşturun. Bu yazı için gergedan resimleri üzerinde eğitim alıyoruz.
  2. Hareket sensörlü kamera tuzakları aracılığıyla yakalanan görüntüler, yüklenen her görüntü için bir olay yayınlayan bir S3 kovasına yüklenir.
  3. Yayınlanan her olay için, görüntüyü S3 klasöründen alan ve nesli tükenmekte olan hayvanı algılamak için özel modele ileten bir Lambda işlevi tetiklenir.
  4. Lambda işlevi, görüntüdeki hayvanları tanımlamak için Amazon Rekognition API'sini kullanır.
  5. Görüntüde nesli tükenmekte olan gergedan türleri varsa, işlev DynamoDB veritabanını hayvan sayısı, yakalanan görüntünün tarihi ve görüntüden çıkarılabilecek diğer yararlı meta verilerle günceller. EXIF başlık.
  6. QuickSight, hayvan popülasyonunun zaman içindeki değişimini anlamak için DynamoDB veritabanında toplanan hayvan sayısı ve konum verilerini görselleştirmek için kullanılır. Koruma grupları, panolara düzenli olarak bakarak, bu farklılığa neden olabilecek hastalıklar, iklim veya kaçak avlanma gibi olası nedenleri belirleyebilir ve yalıtabilir ve sorunu çözmek için proaktif olarak adımlar atabilir.

Önkoşullar

Rekognition Özel Etiketleri kullanarak etkili bir model oluşturmak için iyi bir eğitim seti gereklidir. AWS Marketplace'ten görüntüleri kullandık (Shutterstock'tan Hayvanlar ve Yaban Hayatı Veri Seti) Ve Kaggle modeli oluşturmak için.

Çözümü uygula

İş akışımız aşağıdaki adımları içerir:

  1. Tanıma Özel Etiketlerinin AutoML özelliğini kullanarak nesli tükenmekte olan türleri (örneğimizde gergedan) sınıflandırmak için özel bir model eğitin.

Bu adımları ayrıca Tanıma Özel Etiketler konsolundan da gerçekleştirebilirsiniz. Talimatlar için bkz. Bir proje oluşturmak, Eğitim ve test veri kümeleri oluşturma, ve Bir Amazon Rekognition Özel Etiketler modeli eğitimi.

Bu örnekte, Kaggle'ın veri setini kullanıyoruz. Aşağıdaki tablo, veri kümesi içeriklerini özetlemektedir.

etiket Eğitim Seti Deneme seti
aslan 625 156
Gergedan 608 152
Afrika fili 368 92
  1. Kamera tuzaklarından çekilen resimleri belirlenmiş bir S3 kovasına yükleyin.
  2. Olay bildirimlerini şurada tanımlayın: İzinler Kovaya bir nesne eklendiğinde tanımlı bir SQS kuyruğuna bir bildirim göndermek için S3 kovasının bölümü.

Olay bildirimini tanımlayın

Yükleme eylemi, Amazon S3 olay bildirimi kullanılarak Amazon SQS'de kuyruğa alınan bir olayı tetikler.

  1. S3 kovasının bildirimi kuyruğa göndermesine izin vermek için SQS kuyruğunun erişim ilkesi aracılığıyla uygun izinleri ekleyin.

ML-9942-olay-değil

  1. SQS kuyruğu için bir Lambda tetikleyicisi yapılandırın, böylece yeni bir mesaj alındığında Lambda işlevi çağrılır.

Lambda tetikleyici

  1. Lambda işlevinin SQS kuyruğuna erişmesine izin vermek için erişim ilkesini değiştirin.

Lambda işlevi erişim ilkesi

Lambda işlevi artık SQS kuyruğuna erişmek için doğru izinlere sahip olmalıdır.

Lambda işlevi izinleri

  1. Ortam değişkenlerini kodda erişilebilecek şekilde ayarlayın.

Ortam Değişkenleri

Lambda fonksiyon kodu

Lambda işlevi, SNS kuyruğundan bir bildirim alırken aşağıdaki görevleri gerçekleştirir:

  1. Nesli tükenmekte olan türleri tanımlayan özel modelden etiketleri algılamak için Amazon Rekognition'a bir API çağrısı yapın:
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. Resmin çekildiği tarihi ve diğer ilgili EXIF ​​verilerini almak için resimden EXIF ​​etiketlerini alın. Aşağıdaki kod, bağımlılıkları (paket – sürüm) exif okuyucu – ^1.0.3, keskin – ^0.30.7 kullanır:
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);
}

Burada özetlenen çözüm eşzamansızdır; görüntüler kamera tuzakları tarafından yakalanır ve daha sonra işlenmek üzere bir S3 kovasına yüklenir. Kamera tuzak görüntüleri daha sık yüklenirse, çözümü izlenen alandaki insanları tespit edecek şekilde genişletebilir ve bu nesli tükenmekte olan hayvanların çevresinde olası kaçak avlanmayı belirtmek için ilgili aktivistlere bildirimler gönderebilirsiniz. Bu, bir insanın varlığına ilişkin etiketleri algılamak için Amazon Rekognition API'yi çağıran Lambda işlevi aracılığıyla uygulanır. Bir insan algılanırsa CloudWatch Günlüklerine bir hata mesajı kaydedilir. Hata günlüğündeki filtrelenmiş bir ölçüm, koruma eylemcilerine bir e-posta gönderen bir CloudWatch alarmını tetikler ve daha sonra eylemde bulunabilirler.

  1. Çözümü aşağıdaki kodla genişletin:
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. Nesli tükenmekte olan herhangi bir tür tespit edilirse, Lambda işlevi DynamoDB'yi sayı, tarih ve görüntü EXIF ​​etiketlerinden elde edilen diğer isteğe bağlı meta verilerle günceller:
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();

Verileri sorgulayın ve görselleştirin

Artık verileri görselleştirmek için Athena ve QuickSight'ı kullanabilirsiniz.

  1. Athena için veri kaynağı olarak DynamoDB tablosunu ayarlayın.DynamoDB veri kaynağı
  1. Veri kaynağı ayrıntılarını ekleyin.

Sonraki önemli adım, veri kaynağına bağlanan bir Lambda işlevi tanımlamaktır.

  1. seçti Lambda işlevi oluştur.

Lambda işlevi

  1. için ad girin AthenaKatalogAdı ve Dökülme Kovası; geri kalanı varsayılan ayarlar olabilir.
  2. Bağlayıcı işlevini dağıtın.

Lambda konektörü

Tüm görüntüler işlendikten sonra, Athena'dan zaman içindeki popülasyon varyansına ilişkin verileri görselleştirmek için QuickSight'ı kullanabilirsiniz.

  1. Athena konsolunda bir veri kaynağı seçin ve ayrıntıları girin.
  2. Klinik Lambda işlevi oluştur DynamoDB'ye bir bağlayıcı sağlamak için.

Lambda işlevi oluştur

  1. QuickSight panosunda seçin Yeni Analiz ve Yeni Veri Kümesi.
  2. Veri kaynağı olarak Athena'yı seçin.

Athena veri kaynağı olarak

  1. Bağlanmak ve seçmek için kataloğa, veritabanına ve tabloya girin seç.

Katalog

  1. Veri kümesi oluşturma işlemini tamamlayın.

Katalog

Aşağıdaki tablo, belirli bir günde yakalanan nesli tükenmekte olan türlerin sayısını göstermektedir.

QuickSight grafiği

GPS verileri, yakalanan bir görüntünün EXIF ​​etiketlerinin bir parçası olarak sunulur. Nesli tükenmekte olan bu hayvanların konumlarının hassasiyeti nedeniyle, veri setimiz GPS konumuna sahip değildi. Ancak, GPS verileri mevcut olduğunda konumları nasıl görselleştirebileceğinizi göstermek için simüle edilmiş verileri kullanarak bir jeo-uzamsal grafik oluşturduk.

Jeo uzamsal grafik

Temizlemek

Beklenmeyen maliyetlere maruz kalmamak için bu gösterimin bir parçası olarak kullandığınız AWS hizmetlerini (S3 klasörleri, DynamoDB tablosu, QuickSight, Athena ve eğitimli Rekognition Özel Etiketler modeli) kapattığınızdan emin olun. Artık ihtiyacınız yoksa, bu kaynakları doğrudan ilgili hizmet konsolları aracılığıyla silmelisiniz. bkz. Amazon Rekognition Özel Etiketler modelini silme Modeli silme hakkında daha fazla bilgi için

Sonuç

Bu gönderide, nesli tükenmekte olan türleri tanımlayan, popülasyon sayılarını kaydeden ve zaman içinde popülasyondaki farklılıklar hakkında bilgi sağlayan otomatik bir sistem sunduk. Ayrıca, nesli tükenmekte olan bu türlerin yakınında insanlar (olası kaçak avcılar) olduğunda yetkilileri uyarmak için çözümü genişletebilirsiniz. Amazon Rekognition'ın AI/ML yetenekleriyle, koruma gruplarının nesli tükenmekte olan türleri ve ekosistemlerini koruma çabalarını destekleyebiliriz.

Tanıma Özel Etiketleri hakkında daha fazla bilgi için bkz. Amazon Rekognition Özel Etiketlerini kullanmaya başlama ve İçeriği denetleme. Rekognition Özel Etiketleri konusunda yeniyseniz, 3 ay süren ve ayda 10 ücretsiz eğitim saati ve ayda 4 ücretsiz çıkarım saati içeren Ücretsiz Katmanımızı kullanabilirsiniz. Amazon Rekognition Ücretsiz Kullanım, 5,000 ay boyunca ayda 12 görüntünün işlenmesini içerir.


Yazarlar Hakkında

yazar-jyothiJyothi Goudar AWS'de Partner Solutions Architect Manager. Müşterilerin iş yüklerini AWS'ye taşımasını sağlamak ve desteklemek için küresel sistem entegratörü ortağıyla yakın bir şekilde çalışır.

Amazon Rekognition PlatoBlockchain Data Intelligence'ı kullanarak nesli tükenmekte olan türlerin popülasyon farklılığını tespit edin. Dikey Arama. Ai.Jay Rao AWS'de Baş Çözüm Mimarıdır. Müşterilere teknik ve stratejik rehberlik sağlamaktan ve AWS'de çözümler tasarlamalarına ve uygulamalarına yardımcı olmaktan keyif alıyor.

Zaman Damgası:

Den fazla AWS Makine Öğrenimi