Koodaus tekoälynäköanturilla VEXcode EXP -lohkoissa

Varmista, että sinulla on väritunnistetta ja värikoodit määritettynä tekoälynäköanturiisi, jotta niitä voidaan käyttää palikoidesi kanssa. Lisätietoja niiden määrittämisestä on alla olevissa artikkeleissa:

Tekoälynäköanturi pystyy myös havaitsemaan tekoälyn luokitukset ja AprilTagit. Lisätietoja näiden tunnistustilojen käyttöönotosta on täällä:

Lisätietoja näistä yksittäisistä lohkoista ja niiden käytöstä VEXcodessa on API-sivustolla.


Ota tilannekuva

VEXcode EXP Take Snapshot -lohko, jossa lukee Ota AIVision1-tilannekuva COL1:stä. Valikoissa on kaksi pudotusvalikkoa: toinen AI-näköanturin ja toinen värikoodin valitsemiseksi.

Ota tilannekuva -lohko ottaa kuvan siitä, mitä tekoälynäköanturi parhaillaan näkee, ja hakee tilannekuvasta tietoja, joita voidaan sitten käyttää projektissa. Kun tilannekuva otetaan, sinun on määritettävä, minkä tyyppisestä kohteesta tekoälynäköanturin tulisi kerätä tietoja:

  • Väriallekirjoitus
  • Värikoodi
  • Tekoälyluokitukset
  • HuhtikuuTunnisteet

Tilannekuvan ottaminen luo taulukon kaikista määrittämistäsi havaituista kohteista. Jos esimerkiksi haluat havaita "punaisen"väritunnisteenja tekoälynäköanturi havaitsee 3 erilaista punaista kohdetta, kaikkien kolmen tiedot sijoitetaan taulukkoon.

Lisätietoja eri objektien määrittämisestä on tämän artikkelin osiossa "Aseta objektikohta".

VEXcode EXP Take Snapshot -lohko, jossa lukee Ota AIVision2-tilannekuva Bluesta.

Tässä esimerkissä se havaitsee vain kohteet, jotka vastaavat sen määritettyä ”Sininen” Väriallekirjoitus eikä mitään muuta.

Tilannevedoksesta otetut tiedot

Muista, että tekoälynäköanturi käyttää viimeksi otettua tilannekuvaa kaikille sitä seuraaville lohkoille. Varmistaaksesi, että saat aina ajantasaisimmat tiedot tekoälynäköanturistasi, ota tilannekuva uudelleen aina, kun haluat hakea siitä tietoja. 

Resoluutio

Kaavio tekoälynäköanturin resoluutiosta. Vasen yläkulma on merkitty numeroilla 0, 0, oikea yläkulma on merkitty numeroilla 320, 0 ja vasen alakulma on merkitty numeroilla 0, 240. Näytön keskellä on merkintä 160, 120.

Tekoälynäköanturin resoluution ymmärtäminen on ratkaisevan tärkeää datan tarkan tulkinnan kannalta. Anturin resoluutio on 320x240 pikseliä, ja tarkka keskipiste on koordinaateissa (160, 120).

Alle 160:n X-koordinaatit vastaavat anturin näkökentän vasenta puoliskoa, kun taas yli 160:n X-koordinaatit edustavat oikeaa puoliskoa. Vastaavasti alle 120:n Y-koordinaatit osoittavat näkymän yläpuoliskoa ja yli 120:n Y-koordinaatit alapuoliskoa

Lisätietoja siitä, miten kohteita mitataan tekoälynäköanturilla, on kohdassa AI Vision -apuohjelman tietojen ymmärtäminen VEXcode EXP ssa.

Leveys ja korkeus

Tämä on havaitun kohteen leveys tai korkeus pikseleinä.

Tekoälynäköanturi seuraa sinistä Buckyballia. Buckyballin ympärillä on seurantasuorakulmio, ja yllä oleva teksti osoittaa, että sen leveys on 80 pikseliä ja korkeus 78 pikseliä. Punaiset nuolet korostavat seurantasuorakulmiota havainnollistaen sen leveyttä ja korkeutta.

Leveys- ja korkeusmitat auttavat tunnistamaan erilaisia ​​esineitä. Esimerkiksi Buckyballilla on suurempi korkeus kuin Ringillä.

Tekoälyinen näköanturi seuraa kahta sinistä kuutiota. Kuutioiden ympärillä on seurantasuorakulmiot, ja yksi on paljon lähempänä kameraa. Lähempänä olevan leveys on 144 ja korkeus 113, ja kauempana olevan leveys on 73 ja korkeus 84.

Leveys ja korkeus osoittavat myös kohteen etäisyyden tekoälynäköanturista. Pienemmät mitat tarkoittavat yleensä, että kohde on kauempana, kun taas suuremmat mitat viittaavat siihen, että se on lähempänä.

VEXcode Blocks -projekti, jossa robotti lähestyy kohdetta, kunnes sen leveys on saavuttanut tietyn koon ennen pysähtymistä. Projekti alkaa When started -lohkolla ja Forever-silmukalla. Loput projektista on Forever-silmukan sisällä. Ota ensin AIVision1-tilannekuva Bluesta, sitten loput projektista on If-lohkossa, joka lukee, onko AIVision1-objekti olemassa? Tämän If-lohkon sisällä on If Else -lohko, joka lukee, että jos AIVision1-objektin leveys on alle 250, niin aja eteenpäin, muuten pysähdy.

Tässä esimerkissä objektin leveyttä käytetään navigointiin. Robotti lähestyy kohdetta, kunnes sen leveys on saavuttanut tietyn koon, ennen pysähtymistä.

CenterX ja CenterY

Tämä on havaitun kohteen keskipisteen koordinaatit pikseleinä.

Tekoälynäköanturi seuraa sinistä Buckyballia. Buckyballin ympärillä on seurantasuorakulmio, ja yllä oleva merkintä osoittaa, että sen X-sijainti on 176 ja Y-sijainti 117. Seurantasuorakulmion keskikohta on korostettu osoittamaan, että sijainti mitataan keskikohdasta.

CenterX- ja CenterY-koordinaatit auttavat navigoinnissa ja paikannuksessa. Tekoälynäköanturin resoluutio on 320 x 240 pikseliä.

Tekoälyinen näköanturi seuraa kahta sinistä kuutiota. Kuutioiden ympärillä on seurantasuorakulmiot, ja yksi on paljon lähempänä kameraa. Lähempänä olevan Y-akselin sijainti on 184 ja kauempana olevan 70.

Voit nähdä, että lähempänä tekoälynäköanturia olevalla objektilla on matalampi CenterY-koordinaatti kuin kauempana olevalla objektilla.

VEXcode Blocks -projekti, jossa robotti kääntyy havaittua kohdetta kohti, kunnes se on tekoälynäköanturin näkökentän keskellä. Projekti alkaa When started -lohkolla ja Forever-silmukalla. Loput projektista on Forever-silmukan sisällä. Ota ensin AIVision1-tilannekuva Bluesta, sitten loput projektista on If-lohkossa, joka lukee, onko AIVision1-objekti olemassa? Tämän If-lohkon sisällä on If Else -lohko, joka lukee, että jos AIVision1-objektin centerX on suurempi kuin 150 ja AIVision1-objektin centerX on pienempi kuin 170, käänny oikealle, muuten pysähdy.

Tässä esimerkissä, koska tekoälynäköanturin näkymän keskipiste on (160, 120), robotti kääntyy oikealle, kunnes havaitun kohteen keskipisteen X-koordinaatti on suurempi kuin 150 pikseliä, mutta pienempi kuin 170 pikseliä.

Kulma

Animaatio punaisesta ja vihreästä neliöstä, joita kierretään yhdessä kulman arvon 360 asteen havainnollistamiseksi.

Angle on ominaisuus, joka on käytettävissä vain värikoodeille jaja AprilTags. Tämä osoittaa, onko havaittuColor Codetai AprilTag suunnattu eri tavalla.

Tekoälyinen näköanturi näkyy seuraavana värikoodia, joka alkaa vihreästä ja sitten sinisestä. Videosyötteessä näkyy vihreä kuutio pinottuna sinisen kuution päälle. Värikoodin kulma-arvo on korostettu ja siinä lukee 87 astetta, mikä osoittaa, että värikoodi on pystysuunnassa.

Voit nähdä, onko robotti suunnattu eri tavalla suhteessaColor Code taiAprilTag een, ja tehdä navigointipäätöksiä sen mukaan.

Tekoälyinen näköanturi näkyy seuraavana värikoodia, joka alkaa vihreästä ja sitten sinisestä. Videosyötteessä näkyy vihreä kuutio sinisen kuution vieressä, mutta ne ovat hankalassa kulmassa anturiin verrattuna. Värikoodin kulma-arvo on korostettu ja siinä lukee 0 astetta, mikä tarkoittaa, että värikoodin kulmaa ei voida lukea.

Jos esimerkiksivärikoodia ei havaita oikeassa kulmassa, robotti ei välttämättä pysty poimimaan sitä edustavaa kohdetta oikein.

OriginX ja OriginY

OriginX ja OriginY on havaitun objektin vasemmassa yläkulmassa oleva koordinaatti pikseleinä.

Tekoälyinen näköanturi seuraa sinistä Buckyballia. Buckyballin ympärillä on seurantasuorakulmio, ja yllä oleva merkintä osoittaa, että sen X-sijainti on 176 ja Y-sijainti 117. Seurantasuorakulmion vasen yläkulma on korostettu osoittamaan, että lähtöpiste mitataan sen vasemmasta yläkulmasta.

OriginX- ja OriginY-koordinaatit auttavat navigoinnissa ja paikannuksessa. Yhdistämällä tämän koordinaatin objektin leveyteen ja korkeuteen voit määrittää objektin rajaavan laatikon koon. Tämä voi auttaa liikkuvien kohteiden seuraamisessa tai kohteiden välillä navigoinnissa.

VEXcode Blocks -projekti, jossa robotti piirtää havaitun objektin näytölleen suorakulmiona. Projekti alkaa When started -lohkolla ja Forever-silmukalla. Loput projektista on Forever-silmukan sisällä. Ota ensin AIVision1-tilannekuva Bluesta, sitten loput projektista on If-lohkossa, joka lukee, onko AIVision1-objekti olemassa? Tämän If-lohkon sisällä on Draw rectangle -lohko, joka lukee Brainissa seuraavat draw rectangle AIVision1 object originX, AIVision1 object originY, AIVision1 object width ja AIVision1 object height.

Tässä esimerkissä aivoihin piirretään suorakulmio käyttäen sen alkuperän, leveyden ja korkeuden tarkkoja koordinaatteja.

tunnisteen tunnus

TagID on saatavilla vainAprilTags-tunnisteelle. Tämä on määritetyn AprilTagtunnistenumero.

AI Vision Utility seuraa kolmea AprilTagia. Jokainen tunniste tunnistetaan, paikannetaan ja ääriviivat on merkitty, mikä osoittaa järjestelmän seurannan. Tässä esimerkissä AprilTag-tunnukset ovat 0, 3 ja 9.

Tiettyjen AprilTags -tunnisteiden tunnistaminen mahdollistaa valikoivan navigoinnin. Voit ohjelmoida robottisi liikkumaan tiettyjä merkkejä kohti ja jättämään toiset huomiotta, jolloin voit käyttää niitä tehokkaasti opasteina automaattiseen navigointiin.

Pisteet

Pisteytysominaisuutta käytetään, kun tekoälynäköanturilla havaitaantekoälyluokitusta tekoälyluokitusta.

AI Vision -apuohjelma seuraa neljää kohdetta: kahta BuckyBall-palloa ja kahta Ringiä. Jokainen kohde tunnistetaan, paikannetaan ja ääriviivat merkitään, mikä osoittaa järjestelmän seurannan. Apuohjelma listaa myös jokaisen objektin tekoälyluokituspistemäärän, tässä esimerkissä jokainen pistemäärä on 99 %.

Luotettavuuspistemäärä osoittaa, kuinka varma tekoälynäköanturi on havaitsemisestaan. Tässä kuvassa se tunnistaa näiden neljän objektin tekoälyluokitukset 99-prosenttisen varmasti. Voit käyttää tätä pisteytystä varmistaaksesi, että robottisi keskittyy vain erittäin luotettaviin havaintoihin.


Aseta objektikohta

Kun tekoälynäköanturi havaitsee kohteen, se sijoitetaan ryhmään. Oletusarvoisesti tekoälynäköanturi hakee tiedot taulukon ensimmäisestä objektista tai objektista, jonka indeksi on 1. Jos tekoälynäköanturi on havainnut vain yhden kohteen, kyseinen kohde valitaan oletusarvoisesti.

Kun tekoälynäköanturisi on havainnut useita kohteita samanaikaisesti, sinun on kuitenkin käytettäväAseta kohteen kohde -lohkoa määrittääksesi, mistä kohteesta haluat hakea tietoja.

VEXcode EXP Aseta objektielementti -lohko, jossa lukee Aseta AIVision1-objektielementin arvoon 1. Siellä on alasvetovalikko tekoälynäköanturin valitsemiseksi ja tekstikenttä objektin indeksin syöttämistä varten.

Kun tekoälynäköanturi havaitsee useita kohteita, ne järjestetään matriisiin suurimmasta pienimpään. Tämä tarkoittaa, että suurimmalle havaitulle objektille asetetaan aina objekti-indeksi 1 ja pienimmälle objektille aina suurimman numeron arvo.

Tekoälyinen näköanturi seuraa kahta sinistä kuutiota. Kuutioiden ympärillä on seurantasuorakulmiot, ja yksi on paljon lähempänä kameraa. Lähempänä olevan leveys on 136 ja kauempana olevan 78.

Tässä esimerkissä on havaittu kaksi kohdetta, joiden väritunniste onja väri "Sininen". Molemmat lisätään taulukkoon, kunTake Snapshot -lohkoa käytetään.

Tekoälyinen näköanturi seuraa kahta sinistä kuutiota. Kuutioiden ympärillä on seurantasuorakulmiot, ja yksi on paljon lähempänä kameraa. Lähempänä olevaa kuutiota merkitään numerolla 1 ja kauempana olevaa 2.

Tässä edessä olevasta objektista tulisi objekti-indeksi 1, koska se on suurin objekti, ja pienimmästä objektista tulisi objekti-indeksi 2.


Objekti on olemassa

Ennen kuin otat mitään tietoja tilannekuvasta, on tarkistaa, että tekoälynäköanturi on ensin havainnut kaikki kohteet kyseisestä tilannekuvasta. Tässä kohtaaObject Exists -lohko tulee mukaan kuvaan.

VEXcode EXP Objekti on olemassa lohko, joka lukee AIVision1:n, onko objekti olemassa? AI-näköanturin valitsemiseksi on alasvetovalikko.

Tämä lohko palauttaa arvonTrue taiFalse riippuen siitä, onko viimeksi otetussa tilannevedoksessa havaittu objekteja.

Tätä lohkoa tulisi aina käyttää sen varmistamiseksi, ettet yritä vetää tietoja mahdollisesti tyhjästä tilannevedoksesta.

VEXcode Blocks -projekti, jossa robotti ajaa kohti havaittua sinistä kohdetta. Projekti alkaa When started -lohkolla ja Forever-silmukalla. Loput projektista on Forever-silmukan sisällä. Ota ensin AIVision2-tilannekuva Bluesta ja sitten If Else -lohko, joka lukee, onko AIVision2-objekti olemassa, niin aja eteenpäin, muuten pysähdy.

Esimerkiksi tässä robotti ottaa jatkuvasti kuvia tekoälynäköanturilla. Jos se tunnistaa kohteen, jolla on " " väritunnus, se ajaa.


Jos missään tilannekuvassa ei ole ”sinistä” -väriallekirjoitusta, robotti pysähtyy.


Objektien määrä

VEXcode EXP Objektimäärän lohko, joka lukee AIVision1-objektien määrän. AI-näköanturin valitsemiseksi on alasvetovalikko.

Käyttämällä Object count -lohkoa voit nähdä, kuinka monta tietyn Color Signature -objektia tekoälynäköanturi näkee viimeisimmässä tilannekuvassaan. 

Tekoälyinen näköanturi seuraa kahta sinistä kuutiota. Kuutioiden ympärillä on seurantasuorakulmiot, ja yksi on paljon lähempänä kameraa.

Tässä näemme, että tekoälynäköanturilla on konfiguroitu väritunnistus eli sininen, ja se havaitsee kaksi kohdetta.

VEXcode Blocks -projekti, jossa robotti tulostaa havaittujen sinisten objektien määrän tulostuskonsoliin. Projekti alkaa When started -lohkolla ja Forever-silmukalla. Loput projektista on Forever-silmukan sisällä. Ota ensin AIVision2-tilannekohde Bluesta, tyhjennä kaikki rivit konsolissa ja aseta sitten kohdistin seuraavalle riville konsolissa. Seuraavaksi on If-lohko, joka lukee, onko AIVision2-objekti olemassa, tulostaa AIVision2-objektien lukumäärän konsoliin ja siirtää kohdistimen seuraavalle riville. Jos-lohkon ulkopuolella on odotuslohko, joka on asetettu odottamaan 2 sekuntia.Edellisen VEXcode Blocks -projektin Print Console -tuloste, jossa tulostuu viesti lukema 2.

Tässä koodissa tekoälynäköanturi ottaisi tilannekuvan ja tulostaisi VEXcode-konsoliin luvun ”2”, koska se havaitsee vain kaksi ”sinistä” -väriallekirjoitusta.


Esine

VEXcode EXP AI Vision -objektilohko, joka lukee AIVision1-objektin leveyden. Näkyviin tulevasta tekoälyanturista voi valita pudotusvalikon, ja tunnistavan objektin ominaisuuden voi valita avatusta pudotusvalikosta. Asetusluettelossa on leveys, korkeus, keskipisteen pituus (centerX), keskipisteen pituus (centerY), kulma (angle), alkuperän pituus (originX), alkuperän pituus (originY), tunnisteen tunnus (tagID) ja pistemäärä.

Object -lohkon avulla voit raportoida määrittämäsi objektin ominaisuuden. Näin voit käyttää mitä tahansa viimeksi otetusta tilannevedoksesta saatua tietoa.

Tilannevedoksista voidaan vetää seuraavat objektin ominaisuudet:

  • leveys
  • korkeus
  • keskiosaX
  • keski-Y
  • kulma
  • alkuperäX
  • alkuperäY
  • tagID
  • pisteet

Lisätietoja näistä ominaisuuksista on tämän artikkelin osiossa ”Snapshotista otetut tiedot”.


Havaittu AprilTag on

VEXcode EXP Detected AprilTag on lohko, joka lukee: AIVision1 havaitsi AprilTag-arvon 1? AI-näköanturin valitsemiseksi on alasvetovalikko.

Detected AprilTag is -lohko on käytettävissä vain, kunAprilTag Detection Mode on käytössä.

Tämä lohko raportoi arvon True tai False riippuen siitä, onko määritetty objekti tietty AprilTag.

AI Vision Utility seuraa kolmea AprilTagia. Jokainen tunniste tunnistetaan, paikannetaan ja ääriviivat on merkitty, mikä osoittaa järjestelmän seurannan. Tässä esimerkissä AprilTag-tunnukset ovat 0, 3 ja 9.

Kun yhdessä tilannevedoksessa havaitaan useita AprilTags-kohteita, ne järjestetään taulukkoon niiden tunnistetun tunnuksen, ei koon, perusteella.

Tässä kuvassa havaitaan kolme AprilTagia, joiden tunnukset ovat 0, 3 ja 9. Ne järjestetään taulukossa ID:nsä mukaiseen nousevaan järjestykseen. Indeksin 1 objekti vastaisi AprilTagia, jonka tunnus on 0, indeksin 2 objekti AprilTagia, jonka tunnus on 3, ja indeksin 3 objekti AprilTagia, jonka tunnus on 9.

Lisätietoja AprilTagien ominaisuuksista ja niiden havaitsemisen ottamisesta käyttöön tekoälynäköanturilla on tässä artikkelissa.


Tekoälyluokitus on

VEXcode EXP AI-luokitus on lohko, joka lukee AIVision1:n. Onko AI-luokitus BlueBall? Käytettävissä on alasvetovalikko tekoälynäköanturin valitsemiseksi ja toinen alasvetovalikko tekoälyluokituksen kohteen valitsemiseksi.

AI -luokittelu on -lohko, joka on käytettävissä vain, kunAI -luokituksen tunnistustila on käytössä.

 

Tämä lohko raportoi arvon True tai False riippuen siitä, onko määritetty objekti tietty tekoälyluokitus.

Tekoälynäköanturin havaitsemat tekoälyluokitukset vaihtelevat käyttämäsi mallin mukaan. Lisätietoja käytettävissä olevista tekoälyluokituksista ja niiden havaitsemisen ottamisesta käyttöön tekoälynäköanturilla on tässä artikkelissa.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: