Zaznajte variance populacije ogroženih vrst z uporabo Amazon Rekognition PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Zaznajte populacijsko varianco ogroženih vrst z uporabo Amazon Rekognition

Naš planet se sooča z globalno krizo izumiranja. Poročilo ZN prikazuje osupljivo število več kot milijon vrst, za katere se bojijo, da so na poti izumrtja. Najpogostejši razlogi za izumrtje so izguba habitata, divji lov in invazivne vrste. Več fundacije za ohranjanje divjih živali, raziskovalci, prostovoljci in čuvaji proti krivolovu neutrudno delali za reševanje te krize. Natančne in redne informacije o ogroženih živalih v naravi bodo izboljšale sposobnost varuhov za preučevanje in ohranjanje ogroženih vrst. Znanstveniki za divje živali in osebje na terenu uporabljajo kamere, opremljene z infrardečimi sprožilci, imenovanimi pasti za kamere, in jih postavite na najbolj učinkovite lokacije v gozdovih, da zajamete slike divjih živali. Te slike nato ročno pregledamo, kar je zelo zamuden proces.

V tej objavi prikazujemo rešitev z uporabo Oznake po meri za ponovno odstranjevanje Amazon skupaj s pastmi za kamero s senzorjem gibanja za avtomatizacijo tega procesa za prepoznavanje in preučevanje rodovitnih vrst. Rekognition Custom Labels je popolnoma upravljana storitev računalniškega vida, ki razvijalcem omogoča izdelavo modelov po meri za razvrščanje in prepoznavanje predmetov na slikah, ki so specifične in edinstvene za njihov primer uporabe. Podrobno opisujemo, kako prepoznati ogrožene živalske vrste iz slik, zbranih s kamerami, pridobiti vpogled v njihovo populacijo in zaznati ljudi okoli njih. Te informacije bodo v pomoč naravovarstvenikom, ki se lahko proaktivno odločijo za njihovo rešitev.

Pregled rešitev

Naslednji diagram prikazuje arhitekturo rešitve.

Ta rešitev uporablja naslednje storitve AI, brez strežniške tehnologije in upravljane storitve za uvajanje razširljive in stroškovno učinkovite arhitekture:

  • Amazonska Atena – Interaktivna poizvedovalna storitev brez strežnika, ki olajša analizo podatkov v Amazon S3 z uporabo standardnega SQL
  • amazoncloudwatch – Storitev spremljanja in opazovanja, ki zbira spremljanje in operativne podatke v obliki dnevnikov, meritev in dogodkov
  • Amazon DynamoDB – Podatkovna baza ključ-vrednost in dokument, ki zagotavlja zmogljivost z enomestno milisekundo v katerem koli obsegu
  • AWS Lambda – Računalniška storitev brez strežnika, ki vam omogoča izvajanje kode kot odgovor na sprožilce, kot so spremembe podatkov, premiki v stanju sistema ali dejanja uporabnika
  • Amazon QuickSight – Brezstrežniška storitev poslovne inteligence, ki temelji na strojnem učenju (ML), ki zagotavlja vpoglede, interaktivne nadzorne plošče in bogato analitiko
  • Amazonsko ponovno vžiganje – Uporablja ML za prepoznavanje predmetov, ljudi, besedila, prizorov in dejavnosti v slikah in videoposnetkih, kot tudi za odkrivanje morebitne neprimerne vsebine
  • Oznake po meri za ponovno odstranjevanje Amazon – Uporablja AutoML za pomoč pri usposabljanju modelov po meri za prepoznavanje predmetov in prizorov na slikah, ki so specifične za vaše poslovne potrebe
  • Storitev Amazon Simple Queue (Amazon SQS) – Popolnoma upravljana storitev čakalne vrste sporočil, ki vam omogoča ločevanje in prilagajanje mikrostoritev, porazdeljenih sistemov in aplikacij brez strežnika
  • Preprosta storitev shranjevanja Amazon (Amazon S3) – Služi kot shramba objektov za dokumente in omogoča centralno upravljanje z natančno nastavljenimi kontrolami dostopa.

Koraki na visoki ravni v tej rešitvi so naslednji:

  1. Usposobite in zgradite model po meri z uporabo oznak po meri Rekognition za prepoznavanje ogroženih vrst na območju. Za to objavo se urimo na slikah nosorogov.
  2. Slike, ki so zajete s pastmi kamere senzorja gibanja, se naložijo v vedro S3, ki objavi dogodek za vsako naloženo sliko.
  3. Za vsak objavljen dogodek se sproži funkcija Lambda, ki pridobi sliko iz vedra S3 in jo posreduje modelu po meri za zaznavanje ogrožene živali.
  4. Funkcija Lambda uporablja API Amazon Rekognition za prepoznavanje živali na sliki.
  5. Če ima slika katero koli ogroženo vrsto nosoroga, funkcija posodobi zbirko podatkov DynamoDB s številom živali, datumom zajema slike in drugimi uporabnimi metapodatki, ki jih je mogoče izvleči iz slike. EXIF glavo.
  6. QuickSight se uporablja za vizualizacijo števila živali in podatkov o lokaciji, zbranih v zbirki podatkov DynamoDB, da bi razumeli variance populacije živali skozi čas. Z rednim pregledovanjem nadzornih plošč lahko naravovarstvene skupine prepoznajo vzorce in izolirajo verjetne vzroke, kot so bolezni, podnebje ali krivolov, ki bi lahko povzročili to odstopanje, in proaktivno ukrepajo za reševanje težave.

Predpogoji

Za izdelavo učinkovitega modela z uporabo oznak po meri Rekognition je potreben dober nabor usposabljanj. Uporabili smo slike iz AWS Marketplace (Nabor podatkov o živalih in divjih živalih iz Shutterstocka) in Kaggle za izdelavo modela.

Izvedite rešitev

Naš potek dela vključuje naslednje korake:

  1. Usposobite model po meri za razvrščanje ogroženih vrst (nosorog v našem primeru) z uporabo zmožnosti AutoML Rekognition Custom Labels.

Te korake lahko izvedete tudi na konzoli Rekognition Custom Labels. Za navodila glejte Ustvarjanje projekta, Ustvarjanje naborov podatkov za usposabljanje in testiranjein Usposabljanje modela Amazon Rekognition Custom Labels.

V tem primeru uporabljamo nabor podatkov podjetja Kaggle. Naslednja tabela povzema vsebino nabora podatkov.

label Vadbeni set Testna garnitura
Lion 625 156
Rhino 608 152
Afriški_slon 368 92
  1. Naložite slike, zajete s pastmi kamere, v določeno vedro S3.
  2. Določite obvestila o dogodkih v Dovoljenja odsek vedra S3 za pošiljanje obvestila v določeno čakalno vrsto SQS, ko je objekt dodan v vedro.

Določite obvestilo o dogodku

Dejanje nalaganja sproži dogodek, ki je postavljen v čakalno vrsto v Amazon SQS z obvestilom o dogodku Amazon S3.

  1. Dodajte ustrezna dovoljenja prek pravilnika dostopa čakalne vrste SQS, da omogočite vedru S3, da pošlje obvestilo v čakalno vrsto.

ML-9942-dogodek-ne

  1. Konfigurirajte sprožilec Lambda za čakalno vrsto SQS, tako da se funkcija Lambda prikliče, ko je prejeto novo sporočilo.

Lambda sprožilec

  1. Spremenite pravilnik dostopa, da omogočite funkciji Lambda dostop do čakalne vrste SQS.

Politika dostopa do funkcije Lambda

Funkcija Lambda bi morala zdaj imeti ustrezna dovoljenja za dostop do čakalne vrste SQS.

Dovoljenja za funkcijo Lambda

  1. Nastavite spremenljivke okolja, tako da bo do njih mogoče dostopati v kodi.

Spremenljivke okolja

Koda funkcije Lambda

Funkcija Lambda ob prejemu obvestila iz čakalne vrste SNS izvede naslednje naloge:

  1. Izvedite klic API-ja v Amazon Rekognition, da zaznate oznake iz modela po meri, ki identificirajo ogroženo vrsto:
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. Pridobite oznake EXIF ​​s slike, da dobite datum, ko je bila slika posneta, in druge ustrezne podatke EXIF. Naslednja koda uporablja odvisnosti (paket – različica) 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);
}

Tukaj opisana rešitev je asinhrona; slike so zajete s pastmi kamere in nato pozneje naložene v vedro S3 za obdelavo. Če se slike pasti kamere nalagajo pogosteje, lahko razširite rešitev za zaznavanje ljudi na nadzorovanem območju in pošljete obvestila zadevnim aktivistom, da nakažete morebiten divji lov v bližini teh ogroženih živali. To se izvaja prek funkcije Lambda, ki kliče Amazon Rekognition API za zaznavanje oznak za prisotnost človeka. Če je zaznan človek, se v dnevnike CloudWatch zabeleži sporočilo o napaki. Filtrirana metrika v dnevniku napak sproži alarm CloudWatch, ki pošlje e-pošto naravovarstvenikom, ki lahko nato ukrepajo naprej.

  1. Razširite rešitev z naslednjo kodo:
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. Če je zaznana katera koli ogrožena vrsta, funkcija Lambda posodobi DynamoDB s štetjem, datumom in drugimi neobveznimi metapodatki, pridobljenimi iz oznak EXIF ​​slike:
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();

Poizvedujte in vizualizirajte podatke

Zdaj lahko uporabite Athena in QuickSight za vizualizacijo podatkov.

  1. Nastavite tabelo DynamoDB kot vir podatkov za Atheno.Vir podatkov DynamoDB
  1. Dodajte podrobnosti o viru podatkov.

Naslednji pomemben korak je definiranje funkcije Lambda, ki se poveže z virom podatkov.

  1. Izbrala Ustvari funkcijo Lambda.

Lambda funkcija

  1. Vnesite imena za AthenaCatalogName in SpillBucket; ostalo so lahko privzete nastavitve.
  2. Razmestite funkcijo konektorja.

Lambda konektor

Ko so vse slike obdelane, lahko uporabite QuickSight za vizualizacijo podatkov o populacijski varianci skozi čas iz Athene.

  1. Na konzoli Athena izberite vir podatkov in vnesite podrobnosti.
  2. Izberite Ustvari funkcijo Lambda za zagotavljanje priključka za DynamoDB.

Ustvari funkcijo Lambda

  1. Na nadzorni plošči QuickSight izberite Nova analiza in Nov nabor podatkov.
  2. Za vir podatkov izberite Atheno.

Atena kot vir podatkov

  1. Vnesite katalog, zbirko podatkov in tabelo, s katerimi se želite povezati, in izberite Izberite.

Katalog

  1. Popolna izdelava nabora podatkov.

Katalog

Naslednji grafikon prikazuje število ogroženih vrst, ujetih na določen dan.

Grafikon QuickSight

Podatki GPS so predstavljeni kot del oznak EXIF ​​zajete slike. Zaradi občutljivosti lokacije teh ogroženih živali naš nabor podatkov ni vseboval lokacije GPS. Kljub temu smo ustvarili geoprostorski grafikon s simuliranimi podatki, ki prikazuje, kako lahko vizualizirate lokacije, ko so na voljo podatki GPS.

Geoprostorska karta

Čiščenje

Da bi se izognili nepričakovanim stroškom, obvezno izklopite storitve AWS, ki ste jih uporabili kot del te predstavitve – vedra S3, tabelo DynamoDB, QuickSight, Athena in usposobljeni model Rekognition Custom Labels. Če jih ne potrebujete več, morate te vire izbrisati neposredno prek ustreznih servisnih konzol. Nanašati se na Brisanje modela Amazon Rekognition Custom Labels za več informacij o brisanju modela.

zaključek

V tem prispevku smo predstavili avtomatiziran sistem, ki identificira ogrožene vrste, beleži število njihovih populacij in zagotavlja vpogled v variance v populaciji skozi čas. Rešitev lahko razširite tudi tako, da opozorite oblasti, ko so ljudje (možni divji lovci) v bližini teh ogroženih vrst. Z zmogljivostmi AI/ML Amazon Rekognition lahko podpremo prizadevanja naravovarstvenih skupin za zaščito ogroženih vrst in njihovih ekosistemov.

Za več informacij o oznakah po meri Rekognition glejte Kako začeti uporabljati oznake po meri Amazon Rekognition in Moderiranje vsebine. Če ste novi v Rekognition Custom Labels, lahko uporabite našo brezplačno stopnjo, ki traja 3 mesece in vključuje 10 brezplačnih ur usposabljanja na mesec in 4 brezplačne ure sklepanja na mesec. Amazon Rekognition Free Tier vključuje obdelavo 5,000 slik na mesec 12 mesecev.


O avtorjih

avtor-jyothiJyothi Goudar je vodja arhitekta partnerskih rešitev pri AWS. Tesno sodeluje z globalnim partnerjem sistemskega integratorja, da strankam omogoči in podpre prenos delovnih obremenitev na AWS.

Zaznajte variance populacije ogroženih vrst z uporabo Amazon Rekognition PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Jay Rao je glavni arhitekt rešitev pri AWS. Uživa v zagotavljanju tehničnih in strateških smernic strankam ter jim pomaga pri oblikovanju in implementaciji rešitev na AWS.

Časovni žig:

Več od Strojno učenje AWS