Tekoälynäköanturi#

Johdanto#

Tekoälynäköanturi pystyy havaitsemaan ja seuraamaan esineitä, värejä ja AprilTag-tunnuksia. Näin robotti voi analysoida ympäristöään, seurata esineitä ja reagoida havaittujen visuaalisten tietojen perusteella.

Alla on luettelo saatavilla olevista lohkoista:

Toiminnot – Kerää tietoja tekoälynäköanturilta valitulle allekirjoitukselle.

  • ota tilannekuva – Tallentaa tietoja tietylle allekirjoitukselle, kuten määritetylle värille, esikoulutetulle objektille tai AprilTag-tunnukselle.

Asetukset – Valitse, minkä objektin kanssa haluat olla vuorovaikutuksessa.

Arvot – Käytä tallennettuja tietoja.

Toiminnot#

ota kuva#

Ota tilannekuva -pino-lohko suodattaa tekoälynäköanturin kehyksen tiedot yhdeksi allekirjoitukseksi – tallennetuksi kuvaukseksi jostakin, jonka anturi pystyy tunnistamaan, kuten esikoulutetusta objektista, AprilTag-tunnuksesta tai määritetystä väristä tai värikoodista.

Värit ja värikoodit on ensin määritettävä AI Vision -apuohjelmassa, ennen kuin niitä voidaan käyttää tämän lohkon kanssa.

Aineisto tallentaa objektit leveyden mukaan suurimmasta pienimpään järjestettyinä alkaen indeksistä 0. Kunkin objektin ominaisuuksiin pääsee käsiksi AI Vision object property -lohkon avulla. Jos vastaavia objekteja ei havaita, aineisto raportoidaan tyhjänä.

Ota tilannekuva -pino-lohko.#
ota [AIVision1 v] kuvankaappaus kohteesta [SELECT_A_SIG v]

Parametri

Kuvaus

laite

Mitä tekoälynäköanturia käyttää.

allekirjoitus

Suodattaa tietojoukon sisältämään vain annetun allekirjoituksen tiedot. Käytettävissä olevat allekirjoitukset ovat:

Huomautus: Jotta AprilTag ID- tai AI-luokitteluvaihtoehdot näkyisivät, niiden tunnistus on otettava käyttöön AI Vision -apuohjelmassa.

Esimerkki

kun käynnistetään
[Drive forward if an AprilTag ID is detected.]
ikuisesti
ota [AIVision1 v] kuvankaappaus kohteesta [AprilTag IDs v]
jos <[AIVIsion1 v] objekti on olemassa?> niin
aja [eteenpäin v] [10] [mm v] ▶

Tekoälyluokitukset#

Tekoälynäköanturi voi havaita erilaisia ​​kohteita tiettyjen tekoälyluokitusten mukaisesti. Laitteet-ikkunassa tekoälynäköanturia määritettäessä valitun tekoälyluokitusmallin mukaan havaitaan erilaisia ​​kohteita. Tällä hetkellä saatavilla olevat mallit ovat:

Luokkahuoneen esineet

  • Sininen pallo

  • Vihreä pallo

  • Punainen pallo

  • Sininen rengas

  • GreenRing

  • Punainen rengas

  • Sininen Kuutio

  • GreenCube

  • Punainen kuutio

VEX V5 -robotiikkakilpailun vastarinta

  • Sininen lohko

  • Punainen lohko

VEX V5 -robotiikkakilpailu, korkeat panokset

  • MobileGoal

  • Punainen rengas

  • Sininen rengas

VEX V5 -robotiikkakilpailun ohitus

  • PunainenSininenPin

  • SininenKeltainenPin

  • PunainenKeltainenTappi

  • Keltainen pinni

  • Kuppi

Väriallekirjoitukset#

Väritunniste on ainutlaatuinen väri, jonka tekoälynäköanturi tunnistaa. Näiden tunnisteiden avulla anturi voi havaita ja seurata kohteita niiden värin perusteella. Kun väritunniste on määritetty, anturi voi tunnistaa kyseisen väriset kohteet näkökentässään.

Väritunnisteita käytetään ota tilannekuva-lohkossa värillisten objektien reaaliaikaiseen käsittelyyn ja havaitsemiseen. Kerrallaan voidaan konfiguroida jopa seitsemän väritunnistetta.

AI Vision Utility -apuohjelma, jossa näkyy yhdistetty konenäköanturi, joka havaitsee kaksi värillistä kohdetta. Vasemmalla puolella näkyy reaaliaikainen kamerakuva, jossa on vasemmalla sininen laatikko ja oikealla punainen laatikko, jotka molemmat on rajattu valkoisilla rajaavilla laatikoilla. Mustat otsikot näyttävät laatikoiden nimet, koordinaatit ja mitat. Oikealla puolella on väriasetusasetukset sekä liukusäätimet sekä punaisen että sinisen laatikon sävylle ja kylläisyydelle. Värien lisäämiseen, videon pysäyttämiseen, kopioimiseen ja kuvan tallentamiseen tarkoitetut painikkeet ovat alareunassa, ja oikeassa alakulmassa on sulkemispainike.

Esimerkki

kun käynnistetään
[Display if any objects matching the RED_BOX signature is detected.]
ikuisesti
aseta kursori riville [1] sarakkeeseen [1] näytöllä
tyhjennä rivi [1] näytöltä
[Change the signature to any configured Color Signature.]
ota [AIVision1 v] kuvankaappaus kohteesta [RED_BOX v]
jos <[AIVision1 v] objekti on olemassa?> niin
tulosta [Color detected!] näytöllä ▶

Värikoodit#

Värikoodi on jäsennelty kuvio, joka koostuu 2–4 tietyssä järjestyksessä olevasta väritunnisteesta. Näiden koodien avulla tekoälynäköanturi tunnistaa ennalta määritetyt värikuviot.

Värikoodit ovat erityisen hyödyllisiä monimutkaisten objektien tunnistamisessa, pelielementteihin kohdistamisessa tai ainutlaatuisten merkkien luomisessa autonomista navigointia varten. Kerrallaan voidaan määrittää jopa 8 värikoodia.

AI Vision Utility -käyttöliittymässä näkyy yhdistetty konenäköanturi, joka havaitsee kaksi vierekkäistä kohdetta: vasemmalla sinisen laatikon ja oikealla punaisen laatikon, jotka on ryhmitelty yhteen valkoiseen rajaavaan laatikkoon, jonka nimi on BlueRed. Tunnistustiedot sisältävät kulman (A:11°), koordinaatit (X:143, Y:103), leveyden (W:233) ja korkeuden (H:108). Oikeanpuoleisessa paneelissa on lueteltu kolme väritunnistetta: Red_Box, Blue_Box ja BlueRed, joissa on säädettävät sävy- ja kylläisyysalueet. BlueRed-tunniste yhdistää Blue_Boxin ja Red_Boxin. Videosyötteen alapuolella on painikkeet, joiden nimi on Freeze Video (Pysäytysvideo), Copy Image (Kopioi kuva), Save Image (Tallenna kuva) ja Close (Sulje).

Esimerkki

kun käynnistetään
[Display if any objects matching the RED_BLUE code is detected.]
ikuisesti
aseta kursori riville [1] sarakkeeseen [1] näytöllä
tyhjennä rivi [1] näytöltä
[Change the signature to any configured Color Code.]
ota [AIVision1 v] kuvankaappaus kohteesta [RED_BLUE v]
jos <[AIVision1 v] objekti on olemassa?> niin
tulosta [Code detected!] näytöllä ▶

Asetukset#

aseta tekoälynäön objektikohta#

Aseta tekoälynäköobjektin kohde -pino-lohko määrittää, mitä kohdetta tietojoukosta käytetään.

Aseta tekoälyvision-objektin kohdepino-lohko.#
aseta [AIVision1 v] objektin kohde (1)

Parametrit

Kuvaus

laite

Mitä tekoälynäköanturia käyttää.

esine

Käytettävän kohteen numero tietojoukossa.

Esimerkki

Lohkopino, joka alkaa when-aloitettu-lohkolla, jota seuraa kommenttilohko, jossa lukee Näytä suurin havaittu AprilTag-tunnus. Forever-silmukan sisällä take a AI Vision snapshot -lohko tallentaa kuvan AprilTag-tunnuksista. if-lohko tarkistaa, onko AI Vision -objektia olemassa. Jos arvo on true, set AI Vision object item -lohko määrittää objektien lukumäärän muuttujalle, ja print-lohko näyttää havaitun objektin tunnisteen tunnuksen näytöllä.#
kun käynnistetään
[Display the largest detected AprilTag ID.]
ikuisesti
ota [AIVision1 v] kuvankaappaus kohteesta [AprilTag IDs v]
tyhjennä rivi [1] näytöltä
aseta kursori riville [1] sarakkeeseen [1] näytöllä
jos <[AIVision1 v] objekti on olemassa?> niin
aseta [AIVision1 v] objektin kohde ([AIVision1 v] objektien määrä)
tulosta ([AIVision1 v] objekti [tagID v]) näytöllä ▶

Arvot#

AI Vision -objekti on olemassa#

Boolen lohko AI Vision -objekti on olemassa raportoi, havaitaanko datajoukossa objektia.

  • Tosi – Tietojoukko sisältää havaitun objektin.

  • Epätosi – Aineisto ei sisällä havaittuja objekteja.

AI Vision -objekti on olemassa Boolen lohkona.#
<[AIVision1 v] objekti on olemassa?>

Parametrit

Kuvaus

laite

Mitä tekoälynäköanturia käyttää.

Esimerkki

kun käynnistetään
[Drive forward if an object is detected.]
ikuisesti
ota [AIVision1 v] kuvankaappaus kohteesta [AI-luokitukset v]
jos <[AIVision1 v] objekti on olemassa?> niin
aja [eteenpäin v] [10] [mm v] ▶

AI Vision -objekti on#

AI Vision -objekti on Boolen lohko, joka raportoi, vastaako havaittu objekti tiettyä luokitusta.

  • Tosi – Tietojoukon kohde on kyseinen objekti.

  • Epätosi – Tietojoukon kohde ei ole kyseinen objekti.

AI Vision -tekoälyluokitus on objektien Boole-lohko.#
<[AIVision1 v] objekti on [BlueBall v]?>

Parametri

Kuvaus

laite

Mitä tekoälynäköanturia käyttää.

esine

Mihin tekoälyluokitukseen kohdetta verrataan.

Esimerkki

kun käynnistetään
[Display if a Blue Cube is detected.]
ikuisesti
ota [AIVision1 v] kuvankaappaus kohteesta [AI-luokitukset v]
tyhjennä rivi [1] näytöltä
aseta kursori riville [1] sarakkeeseen [1] näytöllä
jos <[AIVision1 v] objekti on olemassa?> niin
jos <[AIVision1 v] objekti on [BlueCube v]?> niin
tulosta [Cube detected!] näytöllä ▶
odota [0.5] sekuntia

AI Vision -objekti on AprilTag-tunnus#

AI Vision -objekti on AprilTag ID -totuusarvolohko, joka raportoi, vastaako havaittu AprilTag ID tiettyä ID:tä.

  • Tosi – AprilTag-tunnus on numero.

  • Väärin – AprilTag-tunnus ei ole oikea numero.

AI Visionin havaitsema AprilTag-tunnus on totuusarvoinen lohko.#
<[AIVision1 v] object is AprilTag ID [1] ?>

Parametrit

Kuvaus

laite

Mitä tekoälynäköanturia käyttää.

AprilTag-tunnusnumero

Numero, jota verrataan havaittuun AprilTag-tunnusnumeroon.

Esimerkki:

kun käynnistetään
[Report if AprilTag ID 3 is detected.]
ikuisesti
tyhjennä näyttö
aseta kursori riville [1] sarakkeeseen [1] näytöllä
ota [AIVision1 v] kuvankaappaus kohteesta [AprilTag IDs v]
jos <[AIVision1 v] objekti on olemassa?> niin
jos <[AIVision1 v] object is AprilTag ID [3] ?> niin
tulosta [That is 3!] näytöllä ▶
muuten
tulosta [That isn't 3!] näytöllä ▶
Loppu
Loppu
odota [0.1] sekuntia

AI Vision -objektien määrä#

AI Vision -objektien lukumäärä -raporttilohko raportoi havaittujen objektien lukumäärän tietojoukossa kokonaislukuna.

Aseta tekoälyvision-objektin kohdepino-lohko.#
([AIVision1 v] objektien määrä)

Parametrit

Kuvaus

laite

Mitä tekoälynäköanturia käyttää.

Esimerkki

kun käynnistetään
[Display the total amount of cubes, rings, and balls.]
ikuisesti
tyhjennä rivi [1] näytöltä
aseta kursori riville [1] sarakkeeseen [1] näytöllä
ota [AIVision1 v] kuvankaappaus kohteesta [AI-luokitukset v]
jos <[AIVision1 v] objekti on olemassa?> niin
tulosta ([AIVision1 v] objektien määrä) näytöllä ▶
Loppu
odota [0.5] sekuntia

AI Vision -objektin ominaisuus#

Jokaiseen take snapshot -lohkon käytön jälkeen tallennettuun objektiin (alla) liitetään yhdeksän ominaisuutta.

AI Vision -objektin ominaisuusraportointilohko.#
([AIVision1 v] objekti [leveys v])

Kaikki ominaisuusarvot paitsi tagID ja score kuvaavat havaitun kohteen sijainnin ja koon tekoälynäköanturin näkymässä sillä hetkellä, kun take snapshot -lohkoa käytettiin. Nämä arvot mitataan pikseleinä anturin 320 x 240 pikselin resoluution perusteella.

Parametri

Kuvaus

laite

Mitä tekoälynäköanturia käyttää.

omaisuus

Mitä havaitun objektin ominaisuutta käytetään:

leveys#

leveys-ominaisuus raportoi havaitun objektin leveyden pikseleinä kokonaislukuna 1–320.

AI Vision -objektin ominaisuuspinolohko, jonka parametriksi on asetettu leveys.#
([AIVision1 v] objekti [leveys v])

Esimerkki

kun käynnistetään
[Drive towards an object until its width is larger than 100 pixels.]
ikuisesti
ota [AIVision1 v] kuvankaappaus kohteesta [AI-luokitukset v]
jos <[AIVision1 v] objekti on olemassa?> niin
jos <([AIVision1 v] objekti [leveys v]) [math_less_than v] [100]> niin
aja [eteenpäin v]
muuten
pysäytä ajaminen
Loppu

korkeus#

height-ominaisuus raportoi havaitun objektin korkeuden pikseleinä kokonaislukuna 1–240.

AI Vision -objektin ominaisuuspinolohko, jonka parametriksi on asetettu korkeus.#
([AIVision1 v] objekti [korkeus v])

Esimerkki

kun käynnistetään
[Drive towards an object until its height is larger than 100 pixels.]
ikuisesti
ota [AIVision1 v] kuvankaappaus kohteesta [AI-luokitukset v]
jos <[AIVision1 v] objekti on olemassa?> niin
jos <([AIVision1 v] objekti [korkeus v]) [math_less_than v] [100]> niin
aja [eteenpäin v]
muuten
pysäytä ajaminen
Loppu

keskiosaX#

centerX-ominaisuus raportoi havaitun objektin keskipisteen x-koordinaatin pikseleinä kokonaislukuna väliltä 0–320.

AI Vision -objektin ominaisuuspinolohko, jonka parametriksi on asetettu centerX.#
([AIVision1 v] objekti [centerX v])

Esimerkki

kun käynnistetään
[Turn slowly until an object is centered in front of the robot.]
aseta kääntymisnopeus [30] [% v]
käänny [oikealle v]
ikuisesti
ota [AIVision1 v] kuvankaappaus kohteesta [AI-luokitukset v]
jos <[AIVision1 v] objekti on olemassa?> niin
jos <[140] [math_less_than v] ([AIVision1 v] objekti [centerX v]) [math_less_than v] [180]> niin
pysäytä ajaminen

keski-Y#

centerY-ominaisuus raportoi havaitun objektin keskipisteen y-koordinaatin pikseleinä kokonaislukuna väliltä 0–240.

AI Vision -objektin ominaisuuspinolohko, jonka parametriksi on asetettu centerY.#
([AIVision1 v] objekti [centerY v])

Esimerkki

kun käynnistetään
[Drive towards an object until its center y-coordinate is more than 140 pixels.]
ikuisesti
ota [AIVision1 v] kuvankaappaus kohteesta [AI-luokitukset v]
jos <[AIVision1 v] objekti on olemassa?> niin
jos <([AIVision1 v] objekti [centerY v]) [math_less_than v] [140]> niin
aja [eteenpäin v]
muuten
pysäytä ajaminen
Loppu

kulma#

Kulma-ominaisuus raportoi havaitun värikoodin tai AprilTag-tunnuksen suunnan kokonaislukuna asteina välillä 0–359.

AI Vision -objektin ominaisuuspinolohko, jonka parametriksi on asetettu kulma.#
([AIVision1 v] objekti [kulma v])

Esimerkki

kun käynnistetään
[Slide left or right depending on how the Color Code is rotated.]
ikuisesti
ota [AIVision1 v] kuvankaappaus kohteesta [RED_BLUE v]
jos <[AIVision1 v] objekti on olemassa?> niin
jos <[50] [math_less_than v] ([AIVision1 v] objekti [kulma v]) [math_less_than v] [100]> niin
aja [oikealle v]
muuten jos <[270] [math_less_than v] ([AIVision1 v] objekti [kulma v]) [math_less_than v] [330]> niin
aja [vasemmalle v]
muuten
pysäytä ajaminen
Loppu
muuten
pysäytä ajaminen

alkuperäX#

originX-ominaisuus raportoi havaitun objektin rajaavan laatikon vasemman yläkulman x-koordinaatin pikseleinä kokonaislukuna väliltä 0–320.

AI Vision -objektin ominaisuuspinolohko, jonka parametriksi on asetettu originX.#
([AIVision1 v] objekti [originX v])

Esimerkki

kun käynnistetään
[Display if an object is to the left or the right.]
ikuisesti
tyhjennä rivi [1] näytöltä
aseta kursori riville [1] sarakkeeseen [1] näytöllä
ota [AIVision1 v] kuvankaappaus kohteesta [AI-luokitukset v]
jos <[AIVision1 v] objekti on olemassa?> niin
jos <([AIVision1 v] objekti [originX v]) [math_less_than v] [160]> niin
tulosta [To the left!] näytöllä ▶
muuten
tulosta [To the right!] näytöllä ▶
Loppu
odota [0.5] sekuntia

alkuperäY#

originY-ominaisuus raportoi havaitun objektin rajaavan laatikon vasemman yläkulman y-koordinaatin pikseleinä kokonaislukuna väliltä 0–240.

AI Vision -objektin ominaisuuspinolohko, jonka parametriksi on asetettu originY.#
([AIVision1 v] objekti [originY v])

Esimerkki

kun käynnistetään
[Display if an object is close or far from the robot.]
ikuisesti
tyhjennä rivi [1] näytöltä
aseta kursori riville [1] sarakkeeseen [1] näytöllä
ota [AIVision1 v] kuvankaappaus kohteesta [AI-luokitukset v]
jos <[AIVision1 v] objekti on olemassa?> niin
jos <([AIVision1 v] objekti [originY v]) [math_less_than v] [80]> niin
tulosta [Far!] näytöllä ▶
muuten
tulosta [Close!] näytöllä ▶
Loppu
odota [0.5] sekuntia

tunnisteen tunnus#

tagID-ominaisuus raportoi havaitun AprilTag-tunnuksen tunnistenumeron kokonaislukuna.

AI Vision -objektin ominaisuuspinon lohko, jonka parametriksi on asetettu tagID.#
([AIVision1 v] objekti [tagID v])

Esimerkki

kun käynnistetään
[Drive forward when AprilTag ID 0 is detected.]
ikuisesti
ota [AIVision1 v] kuvankaappaus kohteesta [AprilTag IDs v]
jos <[AIVision1 v] objekti on olemassa?> niin
jos <([AIVision1 v] objekti [tagID v]) [math_equal v] [0]> niin
aja [eteenpäin v]
muuten
pysäytä ajaminen
Loppu
odota [0.5] sekuntia

pisteet#

pistemäärä-ominaisuus raportoi mallin luotettavuuden havaitussa tekoälyluokituksessa prosentteina 70 prosentista 100 prosenttiin.

Alhaisempi pistemäärä tarkoittaa, että anturi on vähemmän varma havaitusta kohteesta, kun taas korkeampi pistemäärä tarkoittaa, että anturi on varmempi.

AI Vision -objektin ominaisuuspinon lohko, jonka parametriksi on asetettu tagID.#
([AIVision1 v] objekti [pisteet v])