AI látásérzékelő#

Bevezetés#

A MI-vel működő vizuális érzékelő képes tárgyak, színek és AprilTag azonosítók érzékelésére és nyomon követésére. Ez lehetővé teszi a robot számára, hogy elemezze a környezetét, kövesse a tárgyakat, és a detektált vizuális adatok alapján reagáljon.

Az alábbiakban a rendelkezésre álló blokkok listája található:

Műveletek – Adatok rögzítése a mesterséges intelligencia alapú látásérzékelőből egy kiválasztott aláíráshoz.

  • pillanatkép készítése – Egy adott aláírás adatait rögzíti, például egy konfigurált színt, egy előre betanított objektumot vagy egy AprilTag azonosítót.

Beállítások – Válassza ki, hogy melyik objektummal szeretne interakcióba lépni.

Értékek – Hozzáférés a rögzített adatokhoz és azok felhasználása.

Műveletek#

pillanatkép készítése#

A pillanatkép készítése veremblokk egyetlen aláírásra szűri az AI Vision Sensor keretrendszeréből származó adatokat – egy mentett leírást valamiről, amit az érzékelő felismer, például egy előre betanított objektumot, egy AprilTag azonosítót vagy egy konfigurált színt vagy színkódot.

A színeket és színkódokat először az AI Vision Utility programban kell konfigurálni, mielőtt ezzel a blokkal használhatók lennének.

Az adathalmaz a 0 indexszel kezdődően, szélesség szerint a legnagyobbtól a legkisebbig rendezett objektumokat tárolja. Az egyes objektumok tulajdonságai az AI Vision object property blokk segítségével érhetők el. Ha nem észlelhető egyező objektum, akkor üres adathalmazt jelez a rendszer.

A Pillanatkép készítése veremblokk.#
[AIVision1 v] pillanatfelvétele [SELECT_A_SIG v] aláírásról

Paraméter

Leírás

eszköz

Melyik AI látásérzékelőt használjam?

aláírás

Úgy szűri az adathalmazt, hogy csak az adott aláírás adatait tartalmazza. Az elérhető aláírások:

Megjegyzés: Ahhoz, hogy az AprilTag ID vagy az AI besorolási lehetőségek megjelenjenek, engedélyezni kell az észlelésüket az AI Vision segédprogramban.

Példa

amikor elindul
[Drive forward if an AprilTag ID is detected.]
örökre
[AIVision1 v] pillanatfelvétele [AprilTag IDs v] aláírásról
ha <[AIVIsion1 v] objektum létezik?> akkor
hajtás [előre v] irányba [10] [mm v] értékkel ▶

MI-besorolások#

Az AI Vision Sensor bizonyos AI-osztályozások alá tartozó objektumokat képes érzékelni. Az Eszközök ablakban az AI Vision Sensor konfigurálásakor kiválasztott AI-osztályozási modelltől függően különböző objektumok érzékelhetők. A jelenleg elérhető modellek a következők:

Tantermi tárgyak

  • Kéklabda

  • GreenBall

  • RedBall

  • Kék Gyűrű

  • GreenRing

  • RedRing

  • Kék kocka

  • GreenCube

  • RedCube

VEX V5 Robotikaverseny visszaszorítása

  • Kék blokk

  • RedBlock

VEX V5 Robotikaverseny Nagy Téttel

  • MobileGoal

  • RedRing

  • Kék Gyűrű

VEX V5 Robotika Verseny Felülírás

  • PirosKékTű

  • KékSárgaTű

  • PirosSárgaTű

  • Sárga tű

  • Csésze

Színaláírások#

A színaláírás egy egyedi szín, amelyet a mesterséges intelligencia által vezérelt látásérzékelő felismer. Ezek az aláírások lehetővé teszik az érzékelő számára, hogy a színük alapján érzékelje és kövesse a tárgyakat. A színaláírás konfigurálása után az érzékelő képes azonosítani a látóterében lévő adott színű objektumokat.

A színaláírásokat a take snapshot blokkban használjuk a színes objektumok valós idejű feldolgozására és észlelésére. Egyszerre legfeljebb 7 színaláírás konfigurálható.

Az AI Vision Utility egy csatlakoztatott látásérzékelőt ábrázol, amint két színes objektumot érzékel. A bal oldalon egy élő kamerakép látható, bal oldalon egy kék, jobb oldalon egy piros mezővel, mindegyiket fehér határolókeretekkel körülvéve. A fekete címkék a megfelelő neveket, koordinátákat és méreteket mutatják. A jobb oldalon a színaláírás beállításai találhatók, csúszkákkal a színárnyalat és a telítettség tartományához mind a piros, mind a kék mezők esetében. A színek hozzáadására, a videó kimerevítésére, a másolásra és a kép mentésére szolgáló gombok alul találhatók, a jobb alsó sarokban pedig egy bezárás gomb található.

Példa

amikor elindul
[Display if any objects matching the RED_BOX signature is detected.]
örökre
kurzor beállítása [1]. sor [1]. oszlopába a képernyőn
[1]. sor törlése a képernyőn
[Change the signature to any configured Color Signature.]
[AIVision1 v] pillanatfelvétele [RED_BOX v] aláírásról
ha <[AIVision1 v] objektum létezik?> akkor
[Color detected!] nyomtatása a képernyőn ▶

Színkódok#

A színkód egy strukturált minta, amely 2-4 színaláírásból áll, meghatározott sorrendben elrendezve. Ezek a kódok lehetővé teszik a mesterséges intelligencia által vezérelt vizuális érzékelő számára, hogy felismerje a színek előre meghatározott mintáit.

A színkódok különösen hasznosak összetett objektumok azonosításához, játékelemekhez való igazításhoz vagy egyedi jelölők létrehozásához az autonóm navigációhoz. Egyszerre akár 8 színkód is konfigurálható.

Az AI Vision Utility felülete egy csatlakoztatott látásérzékelőt mutat, amely két szomszédos objektumot észlel, egy kék dobozt a bal oldalon és egy piros dobozt a jobb oldalon, egyetlen fehér határoló dobozban csoportosítva, BlueRed felirattal. Az érzékelési információk tartalmazzák a szöget (A:11°), a koordinátákat (X:143, Y:103), a szélességet (W:233) és a magasságot (H:108). A jobb oldali panelen három színjelzés látható: Red_Box, Blue_Box és BlueRed, állítható színárnyalat- és telítettségi tartományokkal. A BlueRed jelzés egyesíti a Blue_Box és a Red_Box színeket. A videojel alatt a Videó kimerevítése, Kép másolása, Kép mentése és Bezárás feliratú gombok találhatók.

Példa

amikor elindul
[Display if any objects matching the RED_BLUE code is detected.]
örökre
kurzor beállítása [1]. sor [1]. oszlopába a képernyőn
[1]. sor törlése a képernyőn
[Change the signature to any configured Color Code.]
[AIVision1 v] pillanatfelvétele [RED_BLUE v] aláírásról
ha <[AIVision1 v] objektum létezik?> akkor
[Code detected!] nyomtatása a képernyőn ▶

Beállítások#

AI Vision objektumelem beállítása#

Az AI Vision objektumelem beállítása veremblokk beállítja, hogy az adathalmaz melyik elemét kell használni.

A Set AI Vision objektum elemverem blokkja.#
[AIVision1 v] objektum elemének beállítása (1) értékre

Paraméterek

Leírás

eszköz

Melyik AI látásérzékelőt használjam?

tétel

Az adathalmazban használandó elem száma.

Példa

Egy blokkokból álló halom, amely egy „when started” blokkal kezdődik, majd egy „A legnagyobb észlelt AprilTag azonosító megjelenítése” megjegyzésblokk követi. Egy örök cikluson belül egy „take a AI Vision snapshot” blokk rögzíti az AprilTag azonosítók képét. Egy „if” blokk ellenőrzi, hogy létezik-e AI Vision objektum. Ha az értéke igaz, akkor egy „set AI Vision object item” blokk hozzárendeli az objektumszámot egy változóhoz, és egy „print” blokk megjeleníti az észlelt objektum címkeazonosítóját a képernyőn.#
amikor elindul
[Display the largest detected AprilTag ID.]
örökre
[AIVision1 v] pillanatfelvétele [AprilTag IDs v] aláírásról
[1]. sor törlése a képernyőn
kurzor beállítása [1]. sor [1]. oszlopába a képernyőn
ha <[AIVision1 v] objektum létezik?> akkor
[AIVision1 v] objektum elemének beállítása ([AIVision1 v] objektumok száma) értékre
([AIVision1 v] objektum [tagID v]) nyomtatása a képernyőn ▶

Értékek#

AI Vision objektum létezik#

Az AI Vision objektum létezik logikai blokk jelzi, hogy észlelhető-e objektum az adathalmazban.

  • Igaz – Az adathalmaz tartalmaz egy észlelt objektumot.

  • Hamis – Az adathalmaz nem tartalmaz észlelt objektumokat.

Az AI Vision objektum létezik Boole-blokkban.#
<[AIVision1 v] objektum létezik?>

Paraméterek

Leírás

eszköz

Melyik AI látásérzékelőt használjam?

Példa

amikor elindul
[Drive forward if an object is detected.]
örökre
[AIVision1 v] pillanatfelvétele [AI osztályozások v] aláírásról
ha <[AIVision1 v] objektum létezik?> akkor
hajtás [előre v] irányba [10] [mm v] értékkel ▶

AI Vision objektum#

Az AI Vision objektum egy logikai blokk, amely jelzi, hogy egy észlelt objektum megfelel-e egy adott osztályozásnak.

  • Igaz – Az adathalmazban található elem a konkrét objektum.

  • Hamis – Az adathalmazban található elem nem a konkrét objektum.

Az AI Vision AI osztályozása objektum logikai blokk.#
<[AIVision1 v] objektum [BlueBall v]?>

Paraméter

Leírás

eszköz

Melyik AI látásérzékelőt használjam?

objektum

Melyik AI besorolás értékkel kell összehasonlítani az elemet?

Példa

amikor elindul
[Display if a Blue Cube is detected.]
örökre
[AIVision1 v] pillanatfelvétele [AI osztályozások v] aláírásról
[1]. sor törlése a képernyőn
kurzor beállítása [1]. sor [1]. oszlopába a képernyőn
ha <[AIVision1 v] objektum létezik?> akkor
ha <[AIVision1 v] objektum [BlueCube v]?> akkor
[Cube detected!] nyomtatása a képernyőn ▶
várakozás [0.5] másodpercig

Az AI Vision objektum az AprilTag azonosító.#

Az AI Vision objektum egy AprilTag ID logikai blokk, amely jelzi, hogy egy észlelt AprilTag ID egyezik-e egy adott azonosítóval.

  • Igaz – Az AprilTag azonosító a szám.

  • Hamis – Az AprilTag azonosító nem a szám.

Az AI Vision által észlelt AprilTag azonosító logikai blokk.#
<[AIVision1 v] object is AprilTag ID [1] ?>

Paraméterek

Leírás

eszköz

Melyik AI látásérzékelőt használjam?

AprilTag azonosítószám

Az észlelt AprilTag azonosítószámmal összehasonlítandó szám.

Példa:

amikor elindul
[Report if AprilTag ID 3 is detected.]
örökre
képernyő törlése
kurzor beállítása [1]. sor [1]. oszlopába a képernyőn
[AIVision1 v] pillanatfelvétele [AprilTag IDs v] aláírásról
ha <[AIVision1 v] objektum létezik?> akkor
ha <[AIVision1 v] object is AprilTag ID [3] ?> akkor
[That is 3!] nyomtatása a képernyőn ▶
különben
[That isn't 3!] nyomtatása a képernyőn ▶
vége
vége
várakozás [0.1] másodpercig

AI Vision objektumok száma#

Az AI Vision objektumszám jelentésblokkja egész számként jelenti az adathalmazban észlelt objektumok számát.

A Set AI Vision objektum elemverem blokkja.#
([AIVision1 v] objektumok száma)

Paraméterek

Leírás

eszköz

Melyik AI látásérzékelőt használjam?

Példa

amikor elindul
[Display the total amount of cubes, rings, and balls.]
örökre
[1]. sor törlése a képernyőn
kurzor beállítása [1]. sor [1]. oszlopába a képernyőn
[AIVision1 v] pillanatfelvétele [AI osztályozások v] aláírásról
ha <[AIVision1 v] objektum létezik?> akkor
([AIVision1 v] objektumok száma) nyomtatása a képernyőn ▶
vége
várakozás [0.5] másodpercig

AI Vision objektumtulajdonság#

Kilenc tulajdonság tartozik minden objektumhoz (lásd alább), amelyeket a take snapshot blokk használata után tárolunk.

Az AI Vision objektumtulajdonság-jelentési blokkja.#
([AIVision1 v] objektum [szélesség v])

A tagID és a score kivételével az összes tulajdonságérték a detektált objektum pozícióját és méretét írja le az AI Vision Sensor nézetében a take snapshot blokk használatakor. Ezeket az értékeket pixelben mérjük, az érzékelő 320 x 240 pixeles felbontása alapján.

Paraméter

Leírás

eszköz

Melyik AI látásérzékelőt használjam?

ingatlan

A detektált objektum melyik tulajdonságát használja:

szélesség#

A width tulajdonság a detektált objektum szélességét adja meg pixelben, 1 és 320 közötti egész számként.

Az AI Vision objektumtulajdonság-veremblokk, amelynek paramétere szélesség.#
([AIVision1 v] objektum [szélesség v])

Példa

amikor elindul
[Drive towards an object until its width is larger than 100 pixels.]
örökre
[AIVision1 v] pillanatfelvétele [AI osztályozások v] aláírásról
ha <[AIVision1 v] objektum létezik?> akkor
ha <([AIVision1 v] objektum [szélesség v]) [math_less_than v] [100]> akkor
hajtás [előre v]
különben
hajtás leállítása
vége

magasság#

A height tulajdonság a detektált objektum magasságát adja meg pixelben, 1 és 240 közötti egész számként.

Az AI Vision objektumtulajdonság-veremblokk, amelynek paramétere magasság.#
([AIVision1 v] objektum [magasság v])

Példa

amikor elindul
[Drive towards an object until its height is larger than 100 pixels.]
örökre
[AIVision1 v] pillanatfelvétele [AI osztályozások v] aláírásról
ha <[AIVision1 v] objektum létezik?> akkor
ha <([AIVision1 v] objektum [magasság v]) [math_less_than v] [100]> akkor
hajtás [előre v]
különben
hajtás leállítása
vége

középX#

A centerX tulajdonság a detektált objektum középpontjának x koordinátáját adja meg pixelben, 0 és 320 közötti egész számként.

Az AI Vision objektumtulajdonság-veremblokk, amelynek paramétere centerX.#
([AIVision1 v] objektum [középX v])

Példa

amikor elindul
[Turn slowly until an object is centered in front of the robot.]
fordulási sebesség beállítása [30] [% v]
fordulás [jobbra v]
örökre
[AIVision1 v] pillanatfelvétele [AI osztályozások v] aláírásról
ha <[AIVision1 v] objektum létezik?> akkor
ha <[140] [math_less_than v] ([AIVision1 v] objektum [középX v]) [math_less_than v] [180]> akkor
hajtás leállítása

közép Y#

A centerY tulajdonság a detektált objektum középpontjának y koordinátáját adja meg pixelekben, 0 és 240 közötti egész számként.

Az AI Vision objektumtulajdonság-veremblokk, amelynek paramétere centerY.#
([AIVision1 v] objektum [középY v])

Példa

amikor elindul
[Drive towards an object until its center y-coordinate is more than 140 pixels.]
örökre
[AIVision1 v] pillanatfelvétele [AI osztályozások v] aláírásról
ha <[AIVision1 v] objektum létezik?> akkor
ha <([AIVision1 v] objektum [középY v]) [math_less_than v] [140]> akkor
hajtás [előre v]
különben
hajtás leállítása
vége

szög#

Az angle tulajdonság a detektált színkód vagy AprilTag azonosító tájolását adja meg egész számként, 0 és 359 közötti fokban.

Az AI Vision objektumtulajdonság-veremblokk, amelynek paramétere szög.#
([AIVision1 v] objektum [szög v])

Példa

amikor elindul
[Slide left or right depending on how the Color Code is rotated.]
örökre
[AIVision1 v] pillanatfelvétele [RED_BLUE v] aláírásról
ha <[AIVision1 v] objektum létezik?> akkor
ha <[50] [math_less_than v] ([AIVision1 v] objektum [szög v]) [math_less_than v] [100]> akkor
hajtás [jobbra v]
különben ha <[270] [math_less_than v] ([AIVision1 v] objektum [szög v]) [math_less_than v] [330]> akkor
hajtás [balra v]
különben
hajtás leállítása
vége
különben
hajtás leállítása

eredetX#

Az originX tulajdonság a detektált objektum határolókeretének bal felső sarkának x koordinátáját adja meg pixelekben, 0 és 320 közötti egész számként.

Az AI Vision objektumtulajdonság-veremblokk, amelynek paramétere originX.#
([AIVision1 v] objektum [kezdőX v])

Példa

amikor elindul
[Display if an object is to the left or the right.]
örökre
[1]. sor törlése a képernyőn
kurzor beállítása [1]. sor [1]. oszlopába a képernyőn
[AIVision1 v] pillanatfelvétele [AI osztályozások v] aláírásról
ha <[AIVision1 v] objektum létezik?> akkor
ha <([AIVision1 v] objektum [kezdőX v]) [math_less_than v] [160]> akkor
[To the left!] nyomtatása a képernyőn ▶
különben
[To the right!] nyomtatása a képernyőn ▶
vége
várakozás [0.5] másodpercig

származásY#

Az originY tulajdonság a detektált objektum határolókeretének bal felső sarkának y koordinátáját adja meg pixelekben, 0 és 240 közötti egész számként.

Az AI Vision objektumtulajdonság-veremblokk, amelynek paramétere originY.#
([AIVision1 v] objektum [kezdőY v])

Példa

amikor elindul
[Display if an object is close or far from the robot.]
örökre
[1]. sor törlése a képernyőn
kurzor beállítása [1]. sor [1]. oszlopába a képernyőn
[AIVision1 v] pillanatfelvétele [AI osztályozások v] aláírásról
ha <[AIVision1 v] objektum létezik?> akkor
ha <([AIVision1 v] objektum [kezdőY v]) [math_less_than v] [80]> akkor
[Far!] nyomtatása a képernyőn ▶
különben
[Close!] nyomtatása a képernyőn ▶
vége
várakozás [0.5] másodpercig

címkeazonosító#

A tagID tulajdonság egész számként jelenti az észlelt AprilTag azonosító azonosítószámát.

Az AI Vision objektumtulajdonság-veremblokk, amelynek paramétere tagID.#
([AIVision1 v] objektum [tagID v])

Példa

amikor elindul
[Drive forward when AprilTag ID 0 is detected.]
örökre
[AIVision1 v] pillanatfelvétele [AprilTag IDs v] aláírásról
ha <[AIVision1 v] objektum létezik?> akkor
ha <([AIVision1 v] objektum [tagID v]) [math_equal v] [0]> akkor
hajtás [előre v]
különben
hajtás leállítása
vége
várakozás [0.5] másodpercig

pontszám#

A score tulajdonság 70% és 100% közötti százalékos értéket ad meg, amely azt mutatja, hogy a modell mennyire megbízható az észlelt AI-besorolásban.

Az alacsonyabb pontszám azt jelenti, hogy az érzékelő kevésbé bízik az észlelt tárggyal kapcsolatban, míg a magasabb pontszám azt jelenti, hogy az érzékelő nagyobb valószínűséggel észleli a hibát.

Az AI Vision objektumtulajdonság-veremblokk, amelynek paramétere tagID.#
([AIVision1 v] objektum [pontszám v])