Pārliecinieties, vai jūsu AI redzes sensorā ir konfigurēti krāsu paraksti un krāsu kodi , lai tos varētu izmantot ar jūsu blokiem. Lai uzzinātu vairāk par to konfigurēšanu, varat izlasīt tālāk norādītos rakstus:

Mākslīgā intelekta redzes sensors var noteikt arī mākslīgā intelekta klasifikācijas un AprilTags. Lai uzzinātu, kā iespējot šos noteikšanas režīmus, dodieties šeit:

Lai uzzinātu sīkāku informāciju par šiem atsevišķajiem blokiem un to izmantošanu VEXcode, apmeklējiet API vietni.


Uzņemt momentuzņēmumu

VEXcode EXP Take Snapshot bloks, kurā rakstīts: Uzņemiet AIVision1 momentuzņēmumu no COL1. Ir divas nolaižamās izvēlnes: viena, lai atlasītu AI redzes sensoru, bet otra, lai atlasītu krāsu kodu.

BloksTake Snapshot uzņem attēlu ar to, ko pašlaik redz AI redzes sensors, un no šī momentuzņēmuma izgūst datus, kurus pēc tam var izmantot projektā. Uzņemot momentuzņēmumu, ir jānorāda, kāda veida objekta dati mākslīgā intelekta redzes sensoram jāapkopo:

  • Krāsu paraksts
  • Krāsu kods
  • Mākslīgā intelekta klasifikācijas
  • AprīlisBirkas

Uzņemot momentuzņēmumu, tiks izveidots visu norādīto atklāto objektu masīvs. Piemēram, ja vēlaties noteikt "sarkanu"krāsu parakstuun mākslīgā intelekta redzes sensors noteica 3 dažādus sarkanus objektus, dati no visiem trim tiktu ievietoti masīvā.

Lai iegūtu papildinformāciju par to, kā norādīt starp dažādiem objektiem, skatiet šī raksta sadaļu "Iestatīt objekta elementu".

VEXcode EXP Take Snapshot bloks, kurā rakstīts: Uzņemiet AIVision2 momentuzņēmumu no Blue.

Šajā piemērā tas noteiks tikai objektus, kas atbilst tā konfigurētajam “Zilajam” krāsu parakstam , un neko citu.

No momentuzņēmuma iegūtie dati

Paturiet prātā, ka AI redzes sensors izmantos savu pēdējo uzņemto momentuzņēmumu visiem turpmākajiem blokiem. Lai nodrošinātu, ka no sava AI redzes sensora vienmēr saņemat visjaunāko informāciju, atkārtoti uzņemiet momentuzņēmumu katru reizi, kad vēlaties no tā izgūt datus. 

Izšķirtspēja

Mākslīgā intelekta redzes sensora izšķirtspējas diagramma. Augšējais kreisais stūris ir apzīmēts ar 0, 0, augšējais labais stūris ir apzīmēts ar 320, 0 un apakšējais kreisais stūris ir apzīmēts ar 0, 240. Ekrāna centrs ir apzīmēts ar 160, 120.

Lai precīzi interpretētu datus, ir ļoti svarīgi izprast mākslīgā intelekta redzes sensora izšķirtspēju. Sensora izšķirtspēja ir 320x240 pikseļi, un precīzs centrs atrodas koordinātēs (160, 120).

X koordinātas, kas ir mazākas par 160, atbilst sensora redzes lauka kreisajai pusei, savukārt tās, kas ir lielākas par 160, apzīmē labo pusi. Līdzīgi Y koordinātas, kas mazākas par 120, norāda skata augšējo pusi, bet tās, kas lielākas par 120, — apakšējo pusi.

Lai iegūtu papildinformāciju par to, kā objekti tiek mērīti ar AI redzes sensoru, dodieties uz AI redzes utilitātes datu izpratne VEXcode EXP.

Platums un augstums

Šis ir noteiktā objekta platums vai augstums pikseļos.

Attēlā redzams mākslīgā intelekta redzes sensors, kas seko zilajam bakibolam. Buckyball ir veidots ap izsekošanas taisnstūri, un iepriekš redzamā etiķete norāda, ka tā platums ir 80 pikseļi un augstums — 78 pikseļi. Sarkanās bultiņas iezīmē izsekošanas taisnstūri, lai parādītu tā platumu un augstumu.

Platuma un augstuma mērījumi palīdz identificēt dažādus objektus. Piemēram, Buckyball būs lielāks augstums nekā Ring.

Attēlā redzams mākslīgā intelekta redzes sensors, kas izseko divus zilus kubus. Kubiem ap tiem ir izsekošanas taisnstūri, un viens no tiem atrodas daudz tuvāk kamerai. Tuvākā platums ir 144 un augstums ir 113, bet tālākā — 73 un 84.

Platums un augstums norāda arī objekta attālumu no AI redzes sensora. Mazāki mērījumi parasti nozīmē, ka objekts atrodas tālāk, savukārt lielāki mērījumi liecina, ka tas ir tuvāk.

VEXcode Blocks projekts, kurā robots tuvosies objektam, līdz platums sasniegs noteiktu izmēru, pirms apstāsies. Projekts sākas ar bloku “When started” un ciklu “Forever”. Pārējā projekta daļa atrodas Forever cilpas iekšpusē. Vispirms uzņemiet AIVision1 momentuzņēmumu no Blue, pēc tam pārējais projekts atrodas If blokā, kas nolasa, vai AIVision1 objekts pastāv? Šajā If blokā ir If Else bloks, kas nolasa, ka, ja AIVision1 objekta platums ir mazāks par 250, tad jābrauc uz priekšu, pretējā gadījumā jāapstājas.

Šajā piemērā navigācijai tiek izmantots objekta platums. Robots tuvosies objektam, līdz tā platums sasniegs noteiktu izmēru, pirms apstāsies.

Centrs X un centrs Y

Šīs ir noteiktā objekta centra koordinātas pikseļos.

Attēlā redzams mākslīgā intelekta redzes sensors, kas seko zilajam bakibolam. Bakibolam ap to ir izsekošanas taisnstūris, un iepriekš redzamā etiķete norāda, ka tā X pozīcija ir 176 un Y pozīcija ir 117. Izsekošanas taisnstūra centrs ir iezīmēts, lai parādītu, ka pozīcija tiek mērīta no centra.

CenterX un CenterY koordinātas palīdz navigācijā un pozicionēšanā. Mākslīgā intelekta redzes sensora izšķirtspēja ir 320 x 240 pikseļi.

Attēlā redzams mākslīgā intelekta redzes sensors, kas izseko divus zilus kubus. Kubiem ap tiem ir izsekošanas taisnstūri, un viens no tiem atrodas daudz tuvāk kamerai. Tuvākajam Y pozīcija ir 184, bet tālākajam - 70.

Var redzēt, ka objektam, kas atrodas tuvāk AI redzes sensoram, būs zemāka CenterY koordināta nekā objektam, kas atrodas tālāk.

VEXcode Blocks projekts, kurā robots pagriezīsies pret noteiktu objektu, līdz tas nonāks AI redzes sensora skata centrā. Projekts sākas ar bloku “When started” un ciklu “Forever”. Pārējā projekta daļa atrodas Forever cilpas iekšpusē. Vispirms uzņemiet AIVision1 momentuzņēmumu no Blue, pēc tam pārējais projekts atrodas If blokā, kas nolasa, vai AIVision1 objekts pastāv? Šajā If blokā ir If Else bloks, kas nolasa, ka, ja AIVision1 objekta centra X vērtība ir lielāka par 150 un AIVision1 objekta centra X vērtība ir mazāka par 170, tad jānogriežas pa labi, pretējā gadījumā jāapstājas.

Šajā piemērā, tā kā AI redzes sensora skata centrs ir (160, 120), robots griezīsies pa labi, līdz noteiktā objekta centra X koordināta būs lielāka par 150 pikseļiem, bet mazāka par 170 pikseļiem.

Leņķis

Animācija, kurā sarkans kvadrāts un zaļš kvadrāts tiek pagriezti kopā, lai parādītu leņķa vērtības 360 grādus.

Leņķis ir īpašība, kas pieejama tikaikrāsu kodiem un, AprilTags. Tas norāda, vai noteiktaiskrāsu kodsvai AprilTag ir orientēts atšķirīgi.

Attēlā redzams mākslīgā intelekta redzes sensors, kas izseko krāsu kodu no zaļas un pēc tam zilas. Video plūsmā ir redzams zaļš kubs, kas sakrauts virs zila kuba. Krāsu koda leņķa vērtība ir iezīmēta un ir 87 grādi, kas norāda, ka krāsu kods ir orientēts vertikāli.

Varat redzēt, vai robots ir orientēts atšķirīgi attiecībā pretkrāsu kodu vaiAprilTag , un pieņemt navigācijas lēmumus atbilstoši tam.

Attēlā redzams mākslīgā intelekta redzes sensors, kas izseko krāsu kodu no zaļas un pēc tam zilas. Video plūsmā redzams zaļš kubs, kas atrodas blakus zilam kubam, taču tie atrodas neērtā leņķī salīdzinājumā ar sensoru. Krāsu koda leņķa vērtība ir iezīmēta un ir 0 grādi, kas norāda, ka krāsu koda leņķi nevar nolasīt.

Piemēram, jakrāsu kods netiek noteikts pareizā leņķī, tad robots, iespējams, nevarēs pareizi uztvert objektu, ko tas attēlo.

OriginX un OriginY

OriginX un OriginY ir noteiktā objekta augšējā kreisā stūra koordināta pikseļos.

Attēlā redzams mākslīgā intelekta redzes sensors, kas seko zilajam bakibolam. Bakibolam ap to ir izsekošanas taisnstūris, un iepriekš redzamā etiķete norāda, ka tā X pozīcija ir 176 un Y pozīcija ir 117. Izsekošanas taisnstūra augšējais kreisais stūris ir iezīmēts, lai parādītu, ka sākuma pozīcija tiek mērīta no tā augšējā kreisā stūra.

OriginX un OriginY koordinātas palīdz navigācijā un pozicionēšanā. Apvienojot šo koordinātu ar objekta platumu un augstumu, var noteikt objekta ierobežojošā lodziņa izmēru. Tas var palīdzēt izsekot kustīgiem objektiem vai pārvietoties starp objektiem.

VEXcode Blocks projekts, kurā robots uzzīmēs atklātu objektu uz sava ekrāna kā taisnstūri. Projekts sākas ar bloku “When started” un ciklu “Forever”. Pārējā projekta daļa atrodas Forever cilpas iekšpusē. Vispirms uzņemiet AIVision1 momentuzņēmumu no Blue, pēc tam pārējais projekts atrodas If blokā, kas nolasa, vai AIVision1 objekts pastāv? Šajā If blokā ir Draw rectangle bloks, kas Brain ierīcē nolasa draw rectangle AIVision1 object originX, AIVision1 object originY, AIVision1 object width un AIVision1 object height.

Šajā piemērā uz smadzenēm tiks uzzīmēts taisnstūris, izmantojot precīzas tā sākuma punkta, platuma un augstuma koordinātas.

birkas ID

TagID ir pieejams tikaiAprilTags. Šis ir norādītāAprilTagID numurs.

Mākslīgā intelekta redzes utilīta izseko trīs AprilTag tagus. Katra atzīme tiek identificēta, atrasta un iezīmēta, norādot, ka sistēma to izseko. Šajā piemērā AprilTag ID ir 0, 3 un 9.

Konkrētu AprilTags identificēšana ļauj veikt selektīvu navigāciju. Jūs varat ieprogrammēt savu robotu, lai tas virzītos uz noteiktām atzīmēm, vienlaikus ignorējot citas, efektīvi izmantojot tās kā norādes automatizētai navigācijai.

Rezultāts

Rezultāta īpašība tiek izmantota, ja ar AI redzes sensoru tiek noteiktasAI klasifikācijas.

Ar AI Vision utilītu tiek izsekoti četri objekti: divi BuckyBalls un divi Rings. Katrs objekts tiek identificēts, atrasts un iezīmēts, norādot, ka sistēma to izseko. Utilīta norāda arī katra objekta AI klasifikācijas vērtējumu, šajā piemērā katrs vērtējums ir 99%.

Uzticamības rādītājs norāda, cik pārliecināts AI redzes sensors ir par tā noteikšanu. Šajā attēlā ir 99% pārliecība par šo četru objektu AI klasifikāciju identificēšanu. Šo vērtējumu var izmantot, lai nodrošinātu, ka robots koncentrējas tikai uz ļoti pārliecinātiem noteikumiem.


Iestatīt objekta elementu

Kad AI redzes sensors nosaka objektu, tas tiek ievietots masīvā. Pēc noklusējuma AI redzes sensors iegūs datus no pirmā objekta masīvā vai objekta ar indeksu 1. Ja jūsu AI redzes sensors ir noteicis tikai vienu objektu, tad šis objekts tiks atlasīts pēc noklusējuma.

Tomēr, ja jūsu AI redzes sensors ir vienlaikus noteicis vairākus objektus, jums būs jāizmanto bloksIestatīt objekta vienumu lai norādītu, no kura objekta vēlaties iegūt datus.

VEXcode EXP Iestatīt objekta vienuma bloku, kurā rakstīts Iestatīt AIVision1 objekta vienumu uz 1. Ir nolaižamā izvēlne, lai atlasītu AI redzes sensoru, un teksta lauks, lai ievadītu objekta indeksu.

Kad AI redzes sensors nosaka vairākus objektus, tie tiek sakārtoti masīvā no lielākā līdz mazākajam. Tas nozīmē, ka lielākajam noteiktajam objektam vienmēr tiks iestatīts objekta indekss 1, bet mazākajam objektam vienmēr tiks iestatīts lielākais skaitlis.

Attēlā redzams mākslīgā intelekta redzes sensors, kas izseko divus zilus kubus. Kubiem ap tiem ir izsekošanas taisnstūri, un viens no tiem atrodas daudz tuvāk kamerai. Tuvākam ir 136 platums, bet tālākam - 78.

Šajā piemērā ir atklāti divi objekti arkrāsu parakstu "Zila". Tie abi tiks ievietoti masīvā, kad tiks izmantots bloksTake Snapshot.

Attēlā redzams mākslīgā intelekta redzes sensors, kas izseko divus zilus kubus. Kubiem ap tiem ir izsekošanas taisnstūri, un viens no tiem atrodas daudz tuvāk kamerai. Tuvākais kubs ir apzīmēts ar 1, bet tālākais kubs — ar 2.

Šeit priekšpusē esošais objekts kļūtu par objekta indeksu 1, jo tas ir lielākais objekts, un mazākais objekts kļūtu par objekta indeksu 2.


Objekts pastāv

Pirms jebkādu datu izgūšanas no momentuzņēmuma ir pārbaudīt, vai AI redzes sensors vispirms ir noteicis kādus objektus no šī momentuzņēmuma. Šeit spēlē lomu bloksObject Exists.

VEXcode EXP Pastāv objekts blokā, kas lasa AIVision1 objektu? Ir nolaižamā izvēlne, lai atlasītu AI redzes sensoru.

Šis bloks atgriezīs vērtībuTrue vaiFalse atkarībā no tā, vai pēdējā uzņemtajā momentuzņēmumā ir konstatēti kādi objekti.

Šim blokam vienmēr jāizmanto , lai pārliecinātos, ka nemēģināt izgūt datus no potenciāli tukša momentuzņēmuma.

VEXcode Blocks projekts, kurā robots brauks pretī noteiktam zilam objektam. Projekts sākas ar bloku “When started” un ciklu “Forever”. Pārējā projekta daļa atrodas Forever cilpas iekšpusē. Vispirms uzņemiet AIVision2 momentuzņēmumu no Blue, pēc tam bloku "If Else", kas nolasa, vai AIVision2 objekts pastāv, tad brauciet uz priekšu, pretējā gadījumā apstājieties.

Piemēram, šeit robots pastāvīgi uzņems momentuzņēmumus ar mākslīgā intelekta redzes sensoru. Ja tas identificē objektu ar “zilo” krāsu parakstu, tas brauks uz priekšu.


Ja kādam momentuzņēmumam nav “zilā” krāsas paraksta, robots pārtrauks kustēties.


Objektu skaits

VEXcode EXP objektu skaita bloks, kas nolasa AIVision1 objektu skaitu. Ir nolaižamā izvēlne, lai atlasītu AI redzes sensoru.

Izmantojot bloku Object count varēsiet redzēt, cik objektu ar noteiktu Color Signature AI redzes sensors var redzēt savā pēdējā momentuzņēmumā. 

Attēlā redzams mākslīgā intelekta redzes sensors, kas izseko divus zilus kubus. Kubiem ap tiem ir izsekošanas taisnstūri, un viens no tiem atrodas daudz tuvāk kamerai.

Šeit mēs redzam, ka AI redzes sensoram ir konfigurēts krāsu paraksts “Zilais”, un tas nosaka divus objektus.

VEXcode Blocks projekts, kurā robots izdrukās atklāto zilo objektu skaitu drukas konsolē. Projekts sākas ar bloku “When started” un ciklu “Forever”. Pārējā projekta daļa atrodas Forever cilpas iekšpusē. Vispirms uzņemiet AIVision2 momentuzņēmumu ar Blue, notīriet visas rindas konsolē un pēc tam konsolē novietojiet kursoru uz nākamo rindu. Nākamais ir If bloks, kas nolasa, vai AIVision2 objekts pastāv, tad konsolē izdrukā AIVision2 objektu skaitu un novieto kursoru uz nākamo rindu. Ārpus If bloka ir Wait bloks, kas iestatīts, lai gaidītu 2 sekundes.Iepriekšējā VEXcode Blocks projekta Print Console izvade ar izdrukātu ziņojumu, kas skaitlis ir 2.

Šajā kodā AI redzes sensors uzņemtu momentuzņēmumu un VEXcode konsolē izdrukātu “2”, jo tas nosaka tikai divus “zilus” krāsu parakstus.


Objekts

VEXcode EXP AI Vision objekta bloks, kas nolasa AIVision1 objekta platumu. Ir nolaižamā izvēlne, lai atlasītu AI redzes sensoru, un atvērta nolaižamā izvēlne, lai atlasītu objekta atribūtu uztveršanai. Opciju sarakstā ir norādītas vērtības width (platums), height (augstums), centerX (centrs X), centerY (centrs Y), angle (angle), originX (izcelsmes X), originY (izcelsmes Y), tagID (birkas ID) un score (score).

BloksObject ļauj ziņot par norādītā objekta īpašību. Tas ļauj izmantot jebkurus pieejamos datus, kas iegūti no pēdējā uzņemtā momentuzņēmuma.

No uzņemtajiem momentuzņēmumiem var iegūt šādus objektu atribūtus:

  • platums
  • augstums
  • centrsX
  • centrsY
  • leņķis
  • izcelsmeX
  • izcelsmeY
  • birkas ID
  • rezultāts

Lai iegūtu plašāku informāciju par šīm īpašībām, izlasiet šī raksta sadaļu “Dati, kas iegūti no momentuzņēmuma”.


Atrastais AprilTag ir

Vai VEXcode EXP Detected AprilTag ir bloks, kas lasa: AIVision1 konstatēts AprilTag ir 1? Ir nolaižamā izvēlne, lai atlasītu AI redzes sensoru.

BloksDetected AprilTag is ir pieejams tikai tad, ja ir ieslēgtsAprilTag Detection Mode

Šis bloks ziņos par vērtību True vai False atkarībā no tā, vai norādītais objekts ir noteikts AprilTag.

Mākslīgā intelekta redzes utilīta izseko trīs AprilTag tagus. Katra atzīme tiek identificēta, atrasta un iezīmēta, norādot, ka sistēma to izseko. Šajā piemērā AprilTag ID ir 0, 3 un 9.

Ja vienā momentuzņēmumā tiek konstatēti vairāki AprilTags tagi, tie masīvā tiek sakārtoti, pamatojoties uz to identificēto ID, nevis pēc lieluma.

Šajā attēlā ir atrasti trīs AprilTag tagi ar ID 0, 3 un 9. Tie tiks sakārtoti masīvā augošā secībā pēc to ID. Objekts ar indeksu 1 atbilstu AprilTag ar ID 0, objekts ar indeksu 2 — AprilTag ar ID 3 un objekts ar indeksu 3 — AprilTag ar ID 9.

Lai iegūtu plašāku informāciju par to, kas ir AprilTags un kā iespējot to noteikšanu ar AI redzes sensoru, izlasiet šo rakstu.


AI klasifikācija ir

VEXcode EXP AI klasifikācija ir bloks, kas nolasa AIVision1. Vai AI klasifikācija ir BlueBall? Ir nolaižamā izvēlne, lai atlasītu AI redzes sensoru, un vēl viena nolaižamā izvēlne, lai atlasītu mērķa AI klasifikācijas objektu.

AI klasifikācija ir bloks, kas ir pieejams tikai tad, ja ir ieslēgtsAI klasifikācijas noteikšanas režīms.

 

Šis bloks ziņos par vērtību “True” vai “False” atkarībā no tā, vai norādītais objekts ir noteikta AI klasifikācija.

Tas, kādas AI klasifikācijas var noteikt AI redzes sensors, atšķiras atkarībā no izmantotā modeļa. Lai iegūtu plašāku informāciju par pieejamajām AI klasifikācijām un to noteikšanu ar AI redzes sensoru, izlasiet šo rakstu.

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

Last Updated: