Kódování s využitím AI Vision Sensor v blocích VEXcode V5

Ujistěte se, že máte u senzoru AI Vision nakonfigurováno barevných podpisů a barevných kódů , aby je bylo možné použít s vašimi bloky. Chcete-li se dozvědět více o tom, jak je nakonfigurovat, můžete si přečíst níže uvedené články:

Senzor AI Vision dokáže také detekovat klasifikace AI a AprilTags. Chcete-li se dozvědět, jak tyto režimy detekce povolit, přejděte sem:

Chcete-li se dozvědět více podrobností o těchto jednotlivých blocích a o tom, jak je používat ve VEXcode, přejděte na stránky API.


Pořídit snímek

Blok obsahující příkaz pro vytvoření snímku se dvěma rozbalovacími výběry: jedním s označením AIVision1 a druhým s označením COL1. Tento blok je navržen tak, aby pořizoval snímek ze senzoru AI Vision a odkazoval na konkrétní objekt nebo barvu z určených proměnných v prostředí vizuálního kódování. Tvar bloku má na koncích mírné zakřivení, což je typické pro bloková kódovací rozhraní.

BlokTake Snapshot pořídí snímek toho, co AI Vision Sensor aktuálně vidí, a z tohoto snímku načte data, která pak lze použít v projektu. Při pořízení snímku je třeba určit, o jaký typ objektu má senzor AI Vision shromažďovat data:

  • Barevný podpis
  • Barevný kód
  • Klasifikace umělé inteligence
  • DubenŠtítky

Pořízením snímku se vytvoří pole všech detekovaných objektů, které jste zadali. Například pokud byste chtěli detekovat „červenou“ barevnou signaturua senzor AI Vision Sensor detekoval 3 různé červené objekty, data ze všech tří by se vložila do pole.

Další informace o tom, jak určit rozdíly mezi různými objekty, naleznete v části „Nastavení položky objektu“ v tomto článku.

Světle modrý blok kódu s příkazem pro pořízení snímku objektu nebo barvy. Existují dvě možnosti v rozbalovací nabídce: jedna s označením AIVision2 a druhá s označením Modrá. Blok je navržen pro použití v prostředí blokového kódování, kde zachycuje snímek ze senzoru AI Vision a sleduje objekt nebo barvu definovanou jako modrá. Blok má mírné křivky, typické pro kódovací rozhraní, která používají modulární bloky.

V tomto příkladu detekuje pouze objekty, které odpovídají nakonfigurovanému barevnému podpisu „Modrá“ a nic jiného.

Data pořízená ze snímku

Mějte na paměti, že senzor AI Vision použije pro všechny následující bloky svůj poslední pořízený snímek. Abyste ze senzoru AI Vision Sensor vždy získávali nejaktuálnější informace, pořiďte snímek pokaždé, když z něj chcete načíst data. 

Rezoluce

Pochopení rozlišení senzoru AI Vision je klíčové pro přesnou interpretaci dat. Snímač má rozlišení 320x240 pixelů s přesným středem na souřadnicích (160, 120).

Souřadnice X menší než 160 odpovídají levé polovině zorného pole senzoru, zatímco souřadnice větší než 160 představují pravou polovinu. Podobně souřadnice Y menší než 120 označují horní polovinu pohledu a souřadnice větší než 120 představují dolní polovinu

Přejděte k Principy dat v nástroji AI Vision v aplikaci VEXcode V5 , kde najdete další informace o tom, jak se objekty měří pomocí senzoru AI Vision.

Šířka a výška

Toto je šířka nebo výška detekovaného objektu v pixelech.

Obrázek ukazuje modrý Buckyball s bílým čtvercovým obrysem, který ho sleduje. V levém horním rohu je popisek označující, že se jedná o modrý objekt se souřadnicemi X:176, Y:117 a rozměry Š:80, V:78. Červené šipky zvýrazňují šířku a výšku objektu.

Rozměry šířky a výšky pomáhají identifikovat různé objekty. Například Buckyball bude mít větší výšku než Ring.

Dva modré krychlové objekty sledované systémem vizuálního rozpoznávání. Horní krychle má bílý obrys s popiskem označujícím její polohu jako X:215, Y:70 a rozměry Š:73, V:84. Spodní krychle má podobný bílý obrys s popiskem zobrazujícím X:188, Y:184 a rozměry Š:144, V:113. Každá krychle má uprostřed bílý kříž, který pravděpodobně označuje ústřední bod pro sledování. Štítky zvýrazňují měření a data sledování pro každý objekt.

Šířka a výška také označují vzdálenost objektu od senzoru AI Vision. Menší rozměry obvykle znamenají, že je objekt dále, zatímco větší rozměry naznačují, že je blíž.

Program začíná s blokem, který je spuštěn, a následuje nekonečná smyčka. Uvnitř smyčky program pořídí snímek pomocí senzoru AI Vision (AIVision1) k detekci modrého objektu. Pokud objekt existuje, program zkontroluje, zda je šířka objektu menší než 250 pixelů. Pokud je hodnota true, robot jede vpřed; jinak se zastaví. Bloky jsou naskládány dohromady, což naznačuje tok programu v modulárním kódovacím prostředí.

V tomto příkladu se pro navigaci používá šířka objektu. Robot se bude přibližovat k objektu, dokud jeho šířka nedosáhne určité velikosti, než se zastaví.

CenterX a Center Y

Toto jsou středové souřadnice detekovaného objektu v pixelech.

Modrý Buckyball sledován systémem počítačového vidění. Objekt je ohraničen bílým čtvercem a uvnitř obrysu je menší červený čtverec obklopující bílý kříž uprostřed. V levém horním rohu obrázku je označení, že objekt je modrý, se souřadnicemi X:176, Y:117 a rozměry Š:80, V:78.

Souřadnice CenterX a CenterY pomáhají s navigací a určováním polohy. Snímač AI Vision má rozlišení 320 x 240 pixelů.

Dva modré krychlové objekty sledované systémem vidění. Horní objekt je označen souřadnicemi X:215, Y:70 a rozměry Š:73, V:84, s bílým obrysem a bílým křížkem uprostřed. Spodní objekt je označen souřadnicemi X:188, Y:184 a rozměry Š:144, V:113, a je také bíle ohraničen bílým křížkem uprostřed.

Vidíte, že objekt blíže k AI Vision Sensor bude mít nižší souřadnici CenterY než objekt, který je dále.

Bloková kódovací sekvence začínající parametrem when started, po níž následuje nekonečná smyčka. Uvnitř smyčky program pořídí snímek pomocí AIVision1 k detekci modrého objektu. Pokud objekt existuje, program se otáčí, dokud není objekt vycentrován v zorném poli senzoru AI Vision. Objekt je považován za centrovaný, pokud je jeho hodnota centerX mezi 150 a 170. Pokud objekt není vystředěný, robot se otočí doprava; jinak se zastaví. Bloky označují tok a logiku vizuálního programu.

V tomto příkladu, protože střed pohledu senzoru AI Vision je (160, 120), robot se bude otáčet doprava, dokud souřadnice středu X detekovaného objektu nebude větší než 150 pixelů, ale menší než 170 pixelů.

Úhel

Úhel je vlastnost dostupná pouze probarevných kódů a, duben, štítky. Toto představuje, zda je detekovaný barevný kódnebo AprilTag orientován odlišně.

Stoh dvou krychlí, jedna zelená nahoře a jedna modrá dole, sledovaný systémem vidění. Obě krychle obklopuje bílý obrys s bílým křížem uprostřed zelené krychle. Popisek ve spodní části obrázku zobrazuje Zelená_Modrá A:87°, což označuje detekované barvy a naměřený úhel. Níže jsou uvedeny souřadnice X:117, Y:186 s rozměry Š:137, V:172, které představují polohu a velikost naskládaných krychlí v rámečku.

Můžete vidět, zda je robot orientován odlišně vzhledem kBarevný kód neboAprilTag , a podle toho činit navigační rozhodnutí.

Dvě krychle, jedna zelená a jedna modrá, umístěné vedle sebe a sledované systémem vidění. Obě krychle obklopuje bílý obrys s bílým křížem uprostřed. Vlevo nahoře je uveden popisek Green_Blue A:0°, který odkazuje na detekované barvy a naměřený úhel. Níže jsou zobrazeny souřadnice X:150, Y:102 s rozměry Š:179, V:109, které představují polohu a velikost krychlí v rámci.

Například pokud není barevný kód detekován ve správném úhlu, pak robot nemusí být schopen objekt, který představuje, správně zvednout.

PůvodX a PůvodY

OriginX a OriginY jsou souřadnice v levém horním rohu detekovaného objektu v pixelech.

Modrý Buckyball sledován systémem vidění. Objekt je obklopen bílým obrysem, uvnitř kterého je uprostřed bílý kříž. Popisek vlevo nahoře označuje modrou barvu objektu spolu se souřadnicemi X:176, Y:117 a rozměry Š:80, V:78. Malý červený čtvereček zvýrazňuje levý horní roh objektu.

Souřadnice OriginX a OriginY pomáhají s navigací a určováním polohy. Kombinací této souřadnice se šířkou a výškou objektu můžete určit velikost ohraničujícího rámečku objektu. To může pomoci se sledováním pohybujících se objektů nebo s navigací mezi objekty.

Bloková kódovací sekvence začínající časem spuštění, po níž následuje nekonečná smyčka. Uvnitř smyčky program pořídí snímek pomocí AIVision1 k detekci modrého objektu. Pokud objekt existuje, program nakreslí na obrazovce Brain obdélník na základě jeho polohy a velikosti. Obdélník je vykreslen pomocí hodnot originX, originY, šířky a výšky objektu, které poskytuje senzor AIVision1. Tento program vizuálně sleduje a zvýrazňuje detekovaný objekt na obrazovce Brain.

V tomto příkladu bude na mozku nakreslen obdélník s použitím přesných souřadnic jeho počátku, šířky a výšky.

ID značky

ID značky je k dispozici pouze proAprilTags. Toto je identifikační číslo pro zadanou hodnotuAprilTag.

Tři čtvercové karty s AprilTags sledované systémem vizuální inteligence. Každá karta je označena identifikačním číslem a souvisejícími sledovacími údaji. Karta vlevo je označena ID:0 a zobrazuje souřadnice A:350°, X:110, Y:96, W:41, H:41. Prostřední karta s označením ID:3 má souřadnice A:1°, X:187, Y:180, W:57, H:57. Karta vpravo je označena ID:9, se souřadnicemi A:3°, X:237, Y:89, W:38, H:38. Každá karta má bílý obrys a systém sleduje její polohy a orientaci.

Identifikace konkrétních AprilTags umožňuje selektivní navigaci. Svého robota můžete naprogramovat tak, aby se pohyboval směrem k určitým značkám, zatímco jiné ignoroval, a efektivně je tak využíval jako ukazatele pro automatickou navigaci.

Skóre

Vlastnost score se používá při detekciklasifikací AI pomocí senzoru AI Vision.

Obrázek ukazuje čtyři objekty sledované systémem vidění: dvě koule a dva prstence. Červený míč je označen souřadnicemi X:122, Y:84, W:67, H:66 a skóre 99 %. Modrý míč má X:228, Y:86, Š:70, V:68, se skóre 99 %. Zelený kruh má souřadnice X:109, Y:186, W:98, H:92 a skóre 99 %. Červený kruh je označen X:259, Y:187, W:89, H:91, se skóre 99 %. Každý objekt je ohraničen bílou barvou, což značí přesnost sledování.

Skóre spolehlivosti udává, jak si je senzor AI Vision jistý svou detekcí. Na tomto obrázku je 99% jistota v identifikaci klasifikací umělé inteligence těchto čtyř objektů. Toto skóre můžete použít k zajištění toho, aby se váš robot zaměřoval pouze na vysoce spolehlivé detekce.


Nastavit položku objektu

Když senzor s umělou inteligencí detekuje objekt, je vložen do pole. Ve výchozím nastavení bude senzor AI Vision Sensor stahovat data z prvního objektu v poli nebo z objektu s indexem 1. Pokud váš senzor AI Vision Sensor detekoval pouze jeden objekt, bude tento objekt vybrán ve výchozím nastavení.

Pokud váš senzor AI Vision Sensor detekuje více objektů najednou, budete muset použít blokSet Object Item k určení, ze kterého objektu chcete data načítat.

Světle modrý kódovací blok. Obsahuje příkaz pro nastavení položky objektu pro AIVision1 na 1. Tento blok je součástí blokového kódovacího prostředí, které se obvykle používá k definování, na který objekt nebo položku by se měl senzor AI Vision zaměřit nebo sledovat. Tvar bloku má mírné křivky, které zapadají do modulární povahy platformy pro vizuální kódování.

Když senzor AI Vision detekuje více objektů, seřadí je v poli od největšího po nejmenší. To znamená, že největší detekovaný objekt bude vždy nastaven na index objektu 1 a nejmenší objekt bude vždy nastaven na nejvyšší číslo.

Rozhraní nástroje AI Vision Utility se dvěma modrými krychlemi detekovanými na levé straně, každá označená svými souřadnicemi X a Y a rozměry. Systém je připojen a AprilTags jsou zapnuté, zatímco klasifikace pomocí umělé inteligence je vypnutá. Vpravo se zobrazuje nastavení modré barvy s nastavitelnými rozsahy odstínu a sytosti, nastavenými na 22 a 0,34. K dispozici je možnost přidat nebo nastavit barvu a zmrazit video. Firmware je aktuální, s verzí 1.0.0.b16, a dole je k dispozici tlačítko pro zavření.

V tomto příkladu byly detekovány dva objekty sbarevnou charakteristikou „Modrá“. Oba budou vloženy do pole, když bude použit blokTake Snapshot.

Rozhraní nástroje AI Vision Utility, které sleduje dvě modré krychle označené jejich údaji o osách X, Y a rozměrech. Levá krychle má souřadnice X:127, Y:179 a rozměry Š:136, V:123, zatímco pravá krychle má souřadnice X:233, Y:74 a rozměry Š:78, V:87. Systém je připojen, AprilTags je zapnutý a klasifikace pomocí umělé inteligence je vypnutá. Nastavení modré barvy má rozsah odstínu 22 a sytost 0,34. Ve spodní části se zobrazí tlačítko Zmrazit video a informace o firmwaru (verze 1.0.0.b16).

Zde by se objekt vpředu stal objektem s indexem 1, protože je to největší objekt, a nejmenší objekt by se stal objektem s indexem 2.


Objekt existuje

Před načtením jakýchkoli dat ze snímku je zkontrolovat, zda senzor AI Vision Sensor nejprve detekoval nějaké objekty z daného snímku. Zde přichází na řadu blokObject Exists.

Existuje světle modrý šestiúhelníkový blok kódování s textem AIVision1? Tento blok je součástí blokového kódovacího prostředí, které se obvykle používá ke kontrole, zda je objekt detekován senzorem AI Vision označeným jako AIVision1. Blok je navržen tak, aby se vešel do modulární kódovací struktury s mírnými křivkami a tvarem charakteristickým pro taková prostředí.

Tento blok vrátí hodnotuTrue neboFalse která určuje, zda poslední pořízený snímek obsahuje detekované objekty.

Tento blok by měl býtpoužit aby se zajistilo, že se nepokoušíte načíst žádná data z potenciálně prázdného snímku.

Bloková kódovací sekvence, která začíná parametrem when started (když byl spuštěn), po němž následuje nekonečná smyčka. Uvnitř smyčky senzor AI Vision (AIVision2) pořídí snímek pro detekci modré barvy. Pokud je detekován objekt s modrým vizuálním podpisem, robot se bude pohybovat vpřed. Pokud není detekován žádný objekt, robot se zastaví. Bloky jsou naskládané tak, aby reprezentovaly podmíněnou logiku programu, kde přítomnost detekovaného objektu řídí pohyb robota.

Například zde bude robot neustále pořizovat snímky pomocí senzoru AI Vision Sensor. Pokud identifikuje jakýkoli objekt s „modrou“ barevnou charakteristikou, bude se pohybovat vpřed.


Pokud jakýkoli snímek nemá „modrou“ barevnou signaturu , robot se zastaví.


Počet objektů

Světle modrý, zaoblený blok kódování označený jako počet objektů AIVision1. Tento blok se používá v prostředí blokového kódování k načtení počtu objektů detekovaných senzorem AI Vision označeným jako AIVision1. Blok zapadá do modulární struktury, běžně používané ve vizuálních programovacích rozhraních pro robotiku nebo systémy vidění.

Použití bloku Object count vám umožní zjistit, kolik objektů určitého Color Signature dokáže AI Vision Sensor vidět na svém posledním snímku. 

Rozhraní nástroje AI Vision Utility se dvěma modrými krychlemi detekovanými vlevo. Systém je připojený, AprilTags jsou povoleny a AI klasifikace je vypnuta. Rozhraní zobrazuje nastavení pro detekci modré barvy s odstínem nastaveným na 22 a sytostí na 0,34. K dispozici jsou tlačítka pro zmrazení videa a přidání nebo nastavení barvy. Firmware je označen jako aktuální, verze 1.0.0.b16. K dispozici je také tlačítko pro ukončení připojení nebo zavření utility.

Zde vidíme, že senzor AI Vision má nakonfigurovanou barvu barevnou signaturu „Modrá“ a detekuje dva objekty.

Bloková kódovací sekvence začínající časem spuštění, následovaná smyčkou navždy. Uvnitř smyčky program pořídí snímek pomocí AIVision2 k detekci modrého vizuálního podpisu. Vymaže a resetuje konzoli a poté zkontroluje, zda byly detekovány nějaké modré objekty. Pokud existuje modrý objekt, počet objektů se vypíše do konzole. Program poté čeká dvě sekundy, než proces zopakuje. Bloky vizuálně představují průběžnou kontrolu modrých objektů a zobrazují výsledky v konzoli.Výstup konzole s vytištěným číslem 2. Konzola je součástí většího rozhraní, které pravděpodobně zobrazuje výsledky programu běžícího v prostředí blokového kódování. V horní části konzole jsou tlačítka pro další akce nebo ovládací prvky a program, který zde běží, odesílá data do konzole Print Console, která na obrazovce zobrazuje výsledek 2.

V tomto kódu by senzor AI Vision Sensor pořídil snímek a na konzoli VEXcode vypsal „2“, protože detekuje pouze dva „modré“ barevné podpisy .


Objekt

Rozbalovací nabídka pro výběr vlastností objektu souvisejících s AIVision1. Vybraná možnost je šířka a v nabídce jsou uvedeny další možnosti včetně výšky, středu X, středu Y, úhlu, původu X, původu Y, ID značky a skóre. Tyto možnosti umožňují uživateli načíst specifické datové body z objektu detekovaného senzorem AI Vision, což poskytuje flexibilitu pro sledování nebo měření různých atributů objektu.

BlokObject umožňuje nahlásit vlastnost vámi zadaného objektu. To vám umožní použít libovolná dostupná data z naposledy pořízeného snímku.

Vlastnosti objektů, které lze načíst z pořízených snímků, jsou:

  • šířka
  • výška
  • centrumX
  • centrumY
  • úhel
  • původX
  • původY
  • ID značky
  • skóre

Další informace o těchto vlastnostech naleznete v části „Data pořízená ze snímku“ tohoto článku.


Detekovaný AprilTag je

Světle modrý šestiúhelníkový blok z kódovacího rozhraní. Obsahuje příkaz pro kontrolu, zda detekovaný AprilTag programem AIVision1 odpovídá hodnotě 1. Tento blok se používá v prostředí blokového kódování a je navržen tak, aby vyhodnotil, zda je přítomen konkrétní AprilTag. Tvar a struktura mu umožňují začlenit se do jiných logických bloků, které se obvykle používají ve vizuálním programování pro robotiku nebo úlohy umělé inteligence.

BlokDetected AprilTag is je k
pouze tehdy, když je zapnut režim detekce AprilTag
Tento blok bude hlásit hodnotu True nebo False v závislosti na tom, zda je zadaný objekt určitým AprilTag.

Tři AprilTagy sledované systémem vidění. Každá značka má ID a přidružené souřadnice. Levý tag je označen ID:0 a má souřadnice X:110, Y:96, W:41, H:41. Středový tag je označen ID:3 a má souřadnice X:187, Y:180, W:57, H:57. Pravý tag je označen ID:9, se souřadnicemi X:237, Y:89, W:38, H:38.

Pokud je v jednom snímku detekováno více značek AprilTag, jsou v poli uspořádány na základě identifikovaného ID, nikoli podle velikosti
Na tomto obrázku jsou detekovány tři AprilTagy s ID
, 3 a 9. V poli budou uspořádány vzestupně podle svého ID. Objekt na indexu 1 by odpovídal značce AprilTag s ID 0, na indexu 2 značce AprilTag s ID 3 a na indexu 3 značce AprilTag s ID 9.

Více informací o tom, co jsou AprilTags a jak povolit jejich detekci pomocí AI Vision Sensor, naleznete v tomto článku.


Klasifikace umělé inteligence je

Světle modrý šestiúhelníkový blok z prostředí blokového kódování. Blok obsahuje příkaz AIVision1. Je klasifikace umělé inteligence BlueBall? Tento blok kontroluje, zda senzor AI Vision (AIVision1) klasifikoval detekovaný objekt jako BlueBall. Blok nabízí rozbalovací nabídky, které uživatelům umožňují vybrat různé objekty nebo klasifikace umělé inteligence pro účely sledování a rozhodování ve vizuálním programovacím rozhraní.

BlokKlasifikace AI je je k dispozici pouze tehdy, když je zapnut režim detekce klasifikace.

 

Tento blok bude hlásit hodnotu True nebo False v závislosti na tom, zda je zadaný objekt určitou klasifikací AI.

Klasifikace umělé inteligence, které dokáže senzor s umělou inteligencí detekovat, se liší v závislosti na používaném modelu. Více informací o dostupných klasifikacích umělé inteligence a o tom, jak povolit jejich detekci pomocí senzoru AI Vision Sensor, naleznete v tomto článku.

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

Last Updated: