Tunnista uhanalaisten lajien populaatiovarianssi käyttämällä Amazon Rekognition PlatoBlockchain Data Intelligenceä. Pystysuuntainen haku. Ai.

Tunnista uhanalaisten lajien populaatiovarianssi Amazon Rekognitionin avulla

Planeettamme kohtaa globaalin sukupuuttokriisin. YK: n raportti osoittaa hämmästyttävän määrän yli miljoona lajia, joiden pelätään olevan sukupuuton tiellä. Yleisimpiä syitä sukupuuttoon ovat elinympäristön menetys, salametsästys ja invasiiviset lajit. Useita villieläinten suojelusäätiöt, tutkijat, vapaaehtoiset ja salametsästyksen vastustajat ovat työskennelleet väsymättä tämän kriisin ratkaisemiseksi. Tarkat ja säännölliset tiedot luonnonvaraisista uhanalaisista eläimistä parantavat luonnonsuojeluviranomaisten kykyä tutkia ja suojella uhanalaisia ​​lajeja. Villieläintutkijat ja kenttähenkilöstö käyttävät infrapunalaukaisimilla varustettuja kameroita, ns kameran ansojaja sijoita ne tehokkaimpiin paikkoihin metsissä ottamaan kuvia villieläimistä. Nämä kuvat tarkistetaan sitten manuaalisesti, mikä on erittäin aikaa vievä prosessi.

Tässä viestissä esittelemme ratkaisun käyttämällä Amazon Rekognition mukautetut etiketit sekä liiketunnistimen kameraloukut automatisoivat tämän prosessin synnyttäneiden lajien tunnistamiseksi ja niiden tutkimiseksi. Rekognition Custom Labels on täysin hallittu tietokonenäköpalvelu, jonka avulla kehittäjät voivat rakentaa mukautettuja malleja kuvien kohteiden luokittelemiseksi ja tunnistamiseksi, jotka ovat erityisiä ja ainutlaatuisia niiden käyttötapauksessa. Kerromme yksityiskohtaisesti, kuinka tunnistaa uhanalaiset eläinlajit kameraansoista kerätyistä kuvista, saamme näkemyksiä niiden populaatioiden määrästä ja havaita ihmisiä niiden ympäriltä. Nämä tiedot ovat hyödyllisiä luonnonsuojelijoille, jotka voivat tehdä ennakoivia päätöksiä pelastaakseen heidät.

Ratkaisun yleiskatsaus

Seuraava kaavio kuvaa ratkaisun arkkitehtuuria.

Tämä ratkaisu käyttää seuraavia AI-palveluita, palvelimettomia tekniikoita ja hallittuja palveluita skaalautuvan ja kustannustehokkaan arkkitehtuurin toteuttamiseksi:

  • Amazon Athena – Palvelimeton interaktiivinen kyselypalvelu, jonka avulla on helppo analysoida tietoja Amazon S3:ssa tavallisella SQL:llä
  • amazonin pilvikello – Valvonta- ja havainnointipalvelu, joka kerää seuranta- ja toimintatietoja lokien, mittareiden ja tapahtumien muodossa
  • Amazon DynamoDB – Avainarvo- ja asiakirjatietokanta, joka tarjoaa yksinumeroisen millisekunnin suorituskyvyn missä tahansa mittakaavassa
  • AWS Lambda – Palvelimeton laskentapalvelu, jonka avulla voit suorittaa koodia vastauksena laukaisuihin, kuten tietojen muutoksiin, järjestelmän tilan muutoksiin tai käyttäjän toimiin.
  • Amazon QuickSight – Palvelimeton koneoppimiseen (ML) perustuva business intelligence -palvelu, joka tarjoaa oivalluksia, interaktiivisia kojetauluja ja monipuolista analytiikkaa
  • Amazonin tunnistus – Käyttää ML:ää tunnistaakseen kohteet, ihmiset, tekstit, kohtaukset ja toiminnot kuvissa ja videoissa sekä tunnistaakseen kaiken sopimattoman sisällön
  • Amazon Rekognition mukautetut etiketit – AutoML auttaa kouluttamaan mukautettuja malleja tunnistamaan kuvissa olevat objektit ja kohtaukset, jotka vastaavat yrityksesi tarpeita
  • Amazonin yksinkertainen jonopalvelu (Amazon SQS) – Täysin hallittu viestijonopalvelu, jonka avulla voit irrottaa ja skaalata mikropalveluita, hajautettuja järjestelmiä ja palvelimettomia sovelluksia
  • Amazonin yksinkertainen tallennuspalvelu (Amazon S3) – Toimii asiakirjojen objektivarastona ja mahdollistaa keskitetyn hallinnan hienosäädetyillä pääsyohjauksilla.

Tämän ratkaisun korkean tason vaiheet ovat seuraavat:

  1. Harjoittele ja rakenna mukautettu malli käyttämällä Rekognition Custom Labels -tunnisteita tunnistaaksesi uhanalaiset lajit alueella. Tätä postausta varten harjoittelemme sarvikuonojen kuvilla.
  2. Liiketunnistimen kameraloukkujen kautta otetut kuvat ladataan S3-ämpäriin, joka julkaisee tapahtuman jokaisesta ladatusta kuvasta.
  3. Lambda-toiminto käynnistyy jokaisessa julkaistussa tapahtumassa, joka hakee kuvan S3-ämpäristä ja välittää sen mukautettuun malliin uhanalaisen eläimen havaitsemiseksi.
  4. Lambda-toiminto käyttää Amazon Rekognition API:ta kuvan eläinten tunnistamiseen.
  5. Jos kuvassa on uhanalaisia ​​sarvikuonalajia, toiminto päivittää DynamoDB-tietokannan eläimen lukumäärällä, kuvanottopäivämäärällä ja muilla hyödyllisillä metatiedoilla, jotka voidaan poimia kuvasta. EXIF header.
  6. QuickSightia käytetään DynamoDB-tietokantaan kerättyjen eläinten lukumäärä- ja sijaintitietojen visualisointiin, jotta voidaan ymmärtää eläinpopulaation vaihtelua ajan myötä. Tarkastelemalla kojetauluja säännöllisesti suojeluryhmät voivat tunnistaa malleja ja eristää todennäköisiä syitä, kuten sairauksia, ilmastoa tai salametsästystä, jotka voivat aiheuttaa tämän vaihtelun, ja ryhtyä ennakoiviin toimiin ongelman ratkaisemiseksi.

Edellytykset

Tehokkaan mallin rakentamiseen Rekognition Custom Labels -tunnisteiden avulla tarvitaan hyvä koulutussarja. Olemme käyttäneet kuvia AWS Marketplacesta (Shutterstockin eläinten ja villieläinten tietojoukko) Ja Kaggle rakentaa malli.

Toteuta ratkaisu

Työnkulku sisältää seuraavat vaiheet:

  1. Harjoittele mukautettu malli uhanalaisten lajien (esimerkissämme sarvikuonojen) luokittelemiseksi Rekognition Custom Labels -ominaisuuden AutoML-ominaisuuden avulla.

Voit myös suorittaa nämä vaiheet Rekognition Custom Labels -konsolista. Katso ohjeet kohdasta Projektin luominen, Harjoittelu- ja testiaineistojen luominenja Amazon Rekognition Custom Labels -mallin koulutus.

Tässä esimerkissä käytämme Kagglen tietojoukkoa. Seuraavassa taulukossa on yhteenveto tietojoukon sisällöstä.

Merkki Harjoittelusetti Testisarja
Leijona 625 156
Sarvikuono 608 152
Afrikkalainen_norsu 368 92
  1. Lataa kameran ansoista otetut kuvat nimettyyn S3-ämpäriin.
  2. Määritä tapahtumailmoitukset kohdassa Oikeudet S3-säihön osio lähettääksesi ilmoituksen määritettyyn SQS-jonoon, kun objekti lisätään säilöyn.

Määritä tapahtumailmoitus

Lataustoiminto käynnistää tapahtuman, joka on jonossa Amazon SQS:ssä käyttämällä Amazon S3 -tapahtumailmoitusta.

  1. Lisää asianmukaiset käyttöoikeudet SQS-jonon käyttöoikeuskäytännön kautta, jotta S3-säilö voi lähettää ilmoituksen jonoon.

ML-9942-tapahtuma-ei

  1. Määritä Lambda-laukaisin SQS-jonolle niin, että Lambda-toiminto kutsutaan, kun uusi viesti vastaanotetaan.

Lambda laukaisu

  1. Muokkaa pääsykäytäntöä niin, että Lambda-toiminto voi käyttää SQS-jonoa.

Lambda-toimintojen käyttöoikeuskäytäntö

Lambda-toiminnolla pitäisi nyt olla oikeat oikeudet päästä SQS-jonoon.

Lambda-toimintojen käyttöoikeudet

  1. Määritä ympäristömuuttujat, jotta niitä voidaan käyttää koodissa.

Ympäristömuuttujat

Lambdan toimintokoodi

Lambda-toiminto suorittaa seuraavat tehtävät saatuaan ilmoituksen SNS-jonosta:

  1. Soita API-kutsu Amazon Rekognitionille löytääksesi mukautetun mallin etiketit, jotka tunnistavat uhanalaiset lajit:
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. Hae EXIF-tunnisteet kuvasta saadaksesi kuvan ottopäivämäärän ja muut asiaankuuluvat EXIF-tiedot. Seuraava koodi käyttää riippuvuuksia (paketti – versio) 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);
}

Tässä esitetty ratkaisu on asynkroninen; kuvat tallennetaan kameraloukkujen avulla ja siirretään myöhemmin S3-ämpäriin käsittelyä varten. Jos kameran ansakuvia ladataan useammin, voit laajentaa ratkaisua havaitsemaan ihmisiä tarkkailualueella ja lähettää ilmoituksia asianomaisille aktivisteille mahdollisesta salametsästöstä näiden uhanalaisten eläinten läheisyydessä. Tämä toteutetaan Lambda-toiminnolla, joka kutsuu Amazon Rekognition API:ta tunnistamaan ihmisen läsnäolon tarrat. Jos ihminen havaitaan, virheilmoitus kirjataan CloudWatch-lokiin. Virhelokin suodatettu mittari laukaisee CloudWatch-hälytyksen, joka lähettää sähköpostin suojeluaktivisteille, jotka voivat sitten ryhtyä lisätoimiin.

  1. Laajenna ratkaisu seuraavalla koodilla:
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. Jos havaitaan uhanalaisia ​​lajeja, Lambda-funktio päivittää DynamoDB:n lukumäärällä, päivämäärällä ja muilla valinnaisilla metatiedoilla, jotka saadaan kuvan EXIF-tunnisteista:
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();

Kysele ja visualisoi tiedot

Voit nyt käyttää Athenaa ja QuickSightia tietojen visualisointiin.

  1. Aseta DynamoDB-taulukko Athenen tietolähteeksi.DynamoDB-tietolähde
  1. Lisää tietolähteen tiedot.

Seuraava tärkeä askel on määrittää Lambda-funktio, joka muodostaa yhteyden tietolähteeseen.

  1. valitsin Luo lambda-funktio.

Lambda toiminto

  1. Anna nimet kohteelle AthenaCatalogName ja SpillBucket; loput voivat olla oletusasetuksia.
  2. Ota liitintoiminto käyttöön.

Lambda liitin

Kun kaikki kuvat on käsitelty, voit käyttää QuickSightia visualisoidaksesi populaation varianssia ajan mittaan Athenasta.

  1. Valitse Athena-konsolissa tietolähde ja anna tiedot.
  2. Valita Luo lambda-funktio tarjoaa liittimen DynamoDB:hen.

Luo lambda-funktio

  1. Valitse QuickSight-hallintapaneelista Uusi analyysi ja Uusi tietojoukko.
  2. Valitse tietolähteeksi Athena.

Athena tietolähteenä

  1. Anna luettelo, tietokanta ja taulukko, johon haluat muodostaa yhteyden, ja valitse valita.

Luettelo

  1. Suorita tietojoukon luominen.

Luettelo

Seuraavassa kaaviossa näkyy tiettynä päivänä pyydettyjen uhanalaisten lajien lukumäärä.

QuickSight-kaavio

GPS-tiedot esitetään osana kaapatun kuvan EXIF-tunnisteita. Näiden uhanalaisten eläinten sijainnin herkkyyden vuoksi tietojoukossamme ei ollut GPS-sijaintia. Olemme kuitenkin luoneet geospatiaalisen kartan käyttämällä simuloituja tietoja näyttääksemme, kuinka voit visualisoida sijainnit, kun GPS-tietoja on saatavilla.

Geospatiaalinen kartta

Puhdistaa

Odottamattomien kustannusten välttämiseksi muista sammuttaa AWS-palvelut, joita käytit osana tätä esittelyä – S3-suunnittelijat, DynamoDB-taulukko, QuickSight, Athena ja koulutettu Rekognition Custom Labels -malli. Sinun tulee poistaa nämä resurssit suoraan vastaavien palvelukonsolien kautta, jos et enää tarvitse niitä. Viitata Amazon Rekognition Custom Labels -mallin poistaminen saadaksesi lisätietoja mallin poistamisesta.

Yhteenveto

Tässä viestissä esittelimme automatisoidun järjestelmän, joka tunnistaa uhanalaiset lajit, kirjaa niiden populaatiomäärän ja tarjoaa näkemyksiä populaation vaihtelusta ajan mittaan. Voit myös laajentaa ratkaisua hälyttämään viranomaisia, kun ihmisiä (mahdollisia salametsästäjiä) on näiden uhanalaisten lajien läheisyydessä. Amazon Rekognitionin AI/ML-ominaisuuksien avulla voimme tukea suojeluryhmien pyrkimyksiä suojella uhanalaisia ​​lajeja ja niiden ekosysteemejä.

Lisätietoja Rekognitionin mukautetuista tarroista on kohdassa Amazon Rekognition Custom Labels -tarrojen käytön aloittaminen ja Sisällön moderointi. Jos olet uusi Rekognition Custom Labelsin käyttäjä, voit käyttää ilmaista tasoamme, joka kestää 3 kuukautta ja sisältää 10 ilmaista koulutustuntia kuukaudessa ja 4 ilmaista päättelytuntia kuukaudessa. Amazon Rekognition Free Tier sisältää 5,000 12 kuvan käsittelyn kuukaudessa XNUMX kuukauden ajan.


Tietoja Tekijät

kirjoittaja-jyothiJyothi Goudar on AWS:n kumppaniratkaisujen arkkitehtipäällikkö. Hän tekee tiivistä yhteistyötä globaalin järjestelmäintegraattorikumppanin kanssa mahdollistaakseen ja tukeakseen asiakkaiden siirtämistä AWS:ään.

Tunnista uhanalaisten lajien populaatiovarianssi käyttämällä Amazon Rekognition PlatoBlockchain Data Intelligenceä. Pystysuuntainen haku. Ai.Jay Rao on AWS:n pääratkaisuarkkitehti. Hän nauttii teknisen ja strategisen ohjauksen antamisesta asiakkaille ja heidän auttamisesta suunnittelemaan ja toteuttamaan AWS-ratkaisuja.

Aikaleima:

Lisää aiheesta AWS-koneoppiminen