Įsitikinkite, kad jūsų dirbtinio intelekto regėjimo jutiklyje sukonfigūruoti spalvų parašai ir spalvų kodai , kad juos būtų galima naudoti su jūsų blokais. Norėdami sužinoti daugiau apie tai, kaip juos sukonfigūruoti, galite perskaityti toliau pateiktus straipsnius:
- Spalvų parašų konfigūravimas naudojant AI vizijos parašą VEXcode EXP
- Spalvų kodų konfigūravimas naudojant AI vizijos parašą VEXcode EXP
Dirbtinio intelekto vaizdo jutiklis taip pat gali aptikti dirbtinio intelekto klasifikacijas ir „AprilTag“ žymas. Norėdami sužinoti, kaip įjungti šiuos aptikimo režimus, eikite čia:
- DI klasifikacijos naudojant DI regėjimo jutiklį VEXcode EXP
- „AprilTags“ su dirbtinio intelekto regėjimo jutikliu „VEXcode EXP“ programoje
Padaryti momentinę nuotrauką
BlokasTake Snapshot nufotografuoja tai, ką šiuo metu mato dirbtinio intelekto vaizdo jutiklis, ir iš tos momentinės nuotraukos ištraukia duomenis, kuriuos vėliau galima naudoti projekte. Kai daroma momentinė nuotrauka, reikia nurodyti, kokio tipo objekto duomenis turėtų rinkti dirbtinio intelekto vaizdo jutiklis:
- Spalvų parašas
- Spalvos kodas
- DI klasifikacijos
- BalandisŽymės
Padarius momentinę kopiją, bus sukurtas visų jūsų nurodytų aptiktų objektų masyvas. Pavyzdžiui, jei norėtumėte aptikti „raudoną“spalvų parašąir dirbtinio intelekto regėjimo jutiklis aptiko 3 skirtingus raudonus objektus, visų trijų duomenys būtų įtraukti į masyvą.
Daugiau informacijos apie tai, kaip nurodyti skirtingus objektus, rasite šio straipsnio skyriuje „Nustatyti objekto elementą“.
Šiame pavyzdyje jis aptiks tik tuos objektus, kurie atitinka sukonfigūruotą „Mėlyną“ spalvos parašą ir nieko daugiau.
Duomenys, paimti iš momentinės kopijos
Turėkite omenyje, kad dirbtinio intelekto regėjimo jutiklis naudos paskutinę padarytą momentinę nuotrauką visiems vėlesniems blokams. Kad visada gautumėte naujausią informaciją iš savo dirbtinio intelekto regos jutiklio, kaskart norėdami iš jo išgauti duomenis, iš naujo padarykite momentinę kopiją.
Rezoliucija
Norint tiksliai interpretuoti duomenis, labai svarbu suprasti dirbtinio intelekto vaizdo jutiklio skiriamąją gebą. Jutiklio skiriamoji geba yra 320x240 pikselių, o tikslus centras yra koordinatėse (160, 120).
X koordinatės, mažesnės nei 160, atitinka kairę jutiklio matymo lauko pusę, o didesnės nei 160 – dešinę pusę. Panašiai Y koordinatės, mažesnės nei 120, žymi viršutinę vaizdo pusę, o didesnės nei 120 – apatinę.
Daugiau informacijos apie tai, kaip objektai matuojami naudojant AI regėjimo jutiklį, rasite „Duomenų supratimas AI regėjimo programoje“ VEXcode EXP.
Plotis ir aukštis
Tai aptikto objekto plotis arba aukštis pikseliais.
Pločio ir aukščio matavimai padeda atpažinti skirtingus objektus. Pavyzdžiui, „Buckyball“ bus didesnio aukščio nei „Ring“.
Plotis ir aukštis taip pat rodo objekto atstumą nuo dirbtinio intelekto vaizdo jutiklio. Mažesni matmenys paprastai reiškia, kad objektas yra toliau, o didesni – arčiau.
Šiame pavyzdyje objekto plotis naudojamas navigacijai. Robotas artės prie objekto, kol jo plotis pasieks tam tikrą dydį, o tada sustos.
CenterX ir CenterY
Tai yra aptikto objekto centro koordinatės pikseliais.
„CenterX“ ir „CenterY“ koordinatės padeda naviguoti ir nustatyti padėtį. Dirbtinio intelekto vaizdo jutiklio skiriamoji geba yra 320 x 240 pikselių.
Matote, kad objektas, esantis arčiau dirbtinio intelekto vaizdo jutiklio, turės žemesnę CenterY koordinatę nei objektas, esantis toliau.
Šiame pavyzdyje, kadangi dirbtinio intelekto regos jutiklio vaizdo centras yra (160, 120), robotas suksis į dešinę, kol aptikto objekto centro X koordinatė bus didesnė nei 150 pikselių, bet mažesnė nei 170 pikselių.
Kampas
„Angle“ yra savybė, prieinama tikspalvų kodams ir, o „AprilTags. Tai nurodo, ar aptiktasspalvų kodasarba „AprilTag yra orientuotas kitaip.
Galite matyti, ar robotas yra orientuotas kitaipspalvų kodo ar„AprilTag atžvilgiu, ir pagal tai priimti navigacijos sprendimus.
Pavyzdžiui, jeispalvos kodas neaptinkamas tinkamu kampu, robotas gali netinkamai paimti objekto, kurį jis vaizduoja.
OriginX ir OriginY
„OriginX“ ir „OriginY“ yra aptikto objekto viršutinio kairiojo kampo koordinatė pikseliais.
„OriginX“ ir „OriginY“ koordinatės padeda naviguoti ir nustatyti padėtį. Sujungę šią koordinatę su objekto pločiu ir aukščiu, galite nustatyti objekto ribojančios dėžės dydį. Tai gali padėti sekti judančius objektus arba naršyti tarp jų.
Šiame pavyzdyje ant smegenų bus nubrėžtas stačiakampis, naudojant tikslias jo pradžios, pločio ir aukščio koordinates.
žymos ID
„tagID“ galimas tikAprilTags. Tai yra nurodytoAprilTagID numeris.
Konkrečių „AprilTags identifikavimas leidžia pasirinkti navigaciją. Galite užprogramuoti savo robotą judėti link tam tikrų žymų, ignoruojant kitas, efektyviai jas naudojant kaip automatinės navigacijos kelio ženklus.
Rezultatas
Rezultato savybė naudojama, kai AI regėjimo jutikliu aptinkamaAI klasifikacijų.
Pasitikėjimo balas rodo, kiek užtikrintas dirbtinio intelekto regos jutiklis aptikimo metu. Šiame paveikslėlyje šių keturių objektų dirbtinio intelekto klasifikacijos identifikuojamos 99 % tikslumu. Šį balą galite naudoti norėdami užtikrinti, kad jūsų robotas sutelktų dėmesį tik į labai patikimus aptikimus.
Nustatyti objekto elementą
Kai dirbtinio intelekto vaizdo jutiklis aptinka objektą, jis įtraukiamas į matricą. Pagal numatytuosius nustatymus dirbtinio intelekto vaizdo jutiklis ims duomenis iš pirmojo masyvo objekto arba objekto, kurio indeksas yra 1. Jei jūsų dirbtinio intelekto vaizdo jutiklis aptiko tik vieną objektą, tas objektas bus pasirinktas pagal numatytuosius nustatymus.
Tačiau kai jūsų dirbtinio intelekto regėjimo jutiklis aptiko kelis objektus vienu metu, turėsite naudoti bloką„Nustatyti objekto elementą kad nurodytumėte, iš kurio objekto norite gauti duomenis.
Kai dirbtinio intelekto vaizdo jutiklis aptinka kelis objektus, jie išdėstomi masyve nuo didžiausio iki mažiausio. Tai reiškia, kad didžiausiam aptiktam objektui visada bus suteiktas 1 objekto indeksas, o mažiausiam – didžiausias skaičius.
Šiame pavyzdyje aptikti du objektai, kurių spalvų parašas yrao spalvų parašas „Mėlyna“. Jie abu bus įtraukti į masyvą, kai bus naudojamas blokasTake Snapshot.
Čia priekyje esantis objektas taptų 1 objekto indeksu, nes tai didžiausias objektas, o mažiausias objektas taptų 2 objekto indeksu.
Objektas egzistuoja
Prieš ištraukiant bet kokius duomenis iš momentinės kopijos, patikrinti, ar dirbtinio intelekto regėjimo jutiklis pirmiausia aptiko kokius nors objektus toje momentinėje kopijoje. Čia praverčia blokasObject Exists.
Šis blokas grąžins reikšmęTrue arbaFalse priklausomai nuo to, ar paskutinėje padarytoje momentinėje kopijoje yra aptiktų objektų.
Šis blokas visada turėtų būti naudojamas siekiant užtikrinti, kad nebandytumėte ištraukti jokių duomenų iš potencialiai tuščios momentinės kopijos.
Pavyzdžiui, čia robotas nuolat fotografuos naudodamas dirbtinio intelekto vaizdo jutiklį. Jei jis identifikuoja kurį objektą su „mėlynu“ spalvų parašu, jis važiuos pirmyn.
Jei kurioje nors momentinėje nuotraukoje nėra „mėlynos“ spalvos parašo, robotas nustos judėti.
Objektų skaičius
Naudodami bloką Object count , galėsite pamatyti, kiek konkretaus spalvų parašo objektų dirbtinio intelekto regėjimo jutiklis gali matyti paskutinėje momentinėje kopijoje.
Čia matome, kad dirbtinio intelekto regėjimo jutiklis turi sukonfigūruotą spalvų parašą „Mėlyna“ ir aptinka du objektus.
Šiame kode dirbtinio intelekto regėjimo jutiklis padarytų momentinę kopiją ir VEXcode konsolėje atspausdintų „2“, nes jis aptinka tik du „mėlynus“ spalvų parašus.
Objektas
BlokasObject leidžia pranešti apie nurodyto objekto savybę. Tai leidžia naudoti bet kokius turimus duomenis, ištrauktus iš paskutinės momentinės kopijos.
Iš užfiksuotų momentinių kopijų galima išgauti šias objekto savybes:
- plotis
- aukštis
- centrasX
- centras Y
- kampas
- kilmėX
- kilmėY
- žymos ID
- rezultatas
Daugiau informacijos apie šias ypatybes rasite šio straipsnio skyriuje „Duomenys, paimti iš momentinės kopijos“.
Aptikta „AprilTag“ yra
Aptiktas „AprilTag“ yra blokas galimas tik tada, kai įjungtas„AprilTag“ aptikimo režimas
Šis blokas pateiks reikšmę „True“ arba „False“, priklausomai nuo to, ar nurodytas objektas yra tam tikras „AprilTag“.
Kai vienoje momentinėje kopijoje aptinkami keli „AprilTags“ žymekliai, jie masyve išdėstomi pagal jų identifikuotą ID, o ne pagal dydį.
Šiame paveikslėlyje aptikti trys „AprilTag“ žymės, kurių ID yra 0, 3 ir 9. Jie bus išdėstyti masyve didėjančia jų ID tvarka. 1 indekso objektas atitiktų „AprilTag“ su ID 0, 2 indekso objektas – „AprilTag“ su ID 3, o 3 indekso objektas – „AprilTag“ su ID 9.
DI klasifikacija yra
AI klasifikacija yra blokas galimas tik tada, kai įjungtasAI klasifikacijos aptikimo režimas.
Šis blokas pateiks reikšmę „True“ arba „False“, priklausomai nuo to, ar nurodytas objektas atitinka tam tikrą dirbtinio intelekto klasifikaciją.
Kokias dirbtinio intelekto klasifikacijas gali aptikti dirbtinio intelekto regos jutiklis, priklauso nuo naudojamo modelio. Daugiau informacijos apie tai, kokios DI klasifikacijos yra prieinamos ir kaip įjungti jų aptikimą naudojant DI regos jutiklį, rasite šiame straipsnyje.