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:
- Krāsu parakstu konfigurēšana ar AI Vision parakstu VEXcode EXP
- Krāsu kodu konfigurēšana ar AI Vision Signature VEXcode EXP
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:
- Mākslīgā intelekta klasifikācijas ar mākslīgā intelekta redzes sensoru VEXcode EXP valodā
- AprilTags ar AI redzes sensoru VEXcode EXP
Iegūstiet vizuālos datus, izmantojot mākslīgā intelekta redzes sensoru
Katra AI redzes sensora komanda sāksies ar konfigurētā AI redzes sensora nosaukumu. Visos šajā rakstā sniegtajos piemēros izmantotā AI redzes sensora nosaukums būs AIVision.
takeSnapshot
Metode takeSnapshot 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 AI redzes sensoram jāapkopo:
-
Krāsu paraksts vaiKrāsu kods
- Šie vizuālie paraksti sākas ar AI redzes sensora nosaukumu, dubultu pasvītrojumu un pēc tam vizuālā paraksta nosaukumu, piemēram:
AIVision1__Blue.
- Šie vizuālie paraksti sākas ar AI redzes sensora nosaukumu, dubultu pasvītrojumu un pēc tam vizuālā paraksta nosaukumu, piemēram:
-
Mākslīgā intelekta klasifikācijas aivision::
-
aprīlisBirkas::ALL_TAGS
Uzņemot momentuzņēmumu, tiks izveidots visu norādīto atrasto objektu masīvs. Piemēram, ja vēlaties noteikt "zilu" krāsu parakstuun mākslīgā intelekta redzes sensors nosaka 3 dažādus zilus objektus, masīvā tiktu ievietoti dati no visiem trim.
Šajā piemērā tiek uzņemts mākslīgā intelekta redzes sensora ar nosaukumu AIVision1"Zilās" krāsas parakstamomentuzņēmums. Tas parāda masīvā noteikto objektu skaitu un ik pēc 0,5 sekundēm uzņem jaunu momentuzņēmumu.
while (true) {
// Iegūt visu zilās krāsas objektu momentuzņēmumu.
AIVision.takeSnapshot(AIVision1__Blue);
// Pirms datu izvilkšanas pārbauda, vai momentuzņēmumā ir atrasts objekts.
ja (AIVision.objectCount > 0) {
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
Brain.Screen.print(AIVision1.objectCount);
}
gaidīt(5, ms);
}
objekti
Katram momentuzņēmuma objektam ir dažādas īpašības, kuras var izmantot, lai ziņotu par informāciju par šo objektu. Objektu metode ļauj piekļūt šīm īpašībām.
Pieejamie īpašumi ir šādi:
- id
- centrsX un centrsY
- izcelsmeX un izcelsmeY
- platums
- augstums
- leņķis
- pastāv
- rezultāts
Lai piekļūtu objekta īpašībai, izmantojiet AI redzes sensora nosaukumu, kam seko metode “objects” un pēc tam objekta indekss.
Objekta indekss norāda, kura konkrētā objekta īpašību vēlaties izgūt. Pēc momentuzņēmuma uzņemšanas AI redzes sensors automātiski sakārto objektus pēc izmēra. Lielākajam objektam tiek piešķirts indekss 0, bet mazākiem objektiem tiek piešķirti lielāki indeksa numuri.
Piemēram, izsaucot lielākā objekta platumu, būtu AIVision1.objects[0].width.
id
Īpašums id ir pieejams tikai AprilTags un AI klasifikācijām.
AprilTaggadījumā id īpašība apzīmē noteiktoAprilTag(s) ID numuru.
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.
AI klasifikācijāmīpašība id apzīmē konkrēto noteikto AI klasifikācijas veidu.
Konkrētu objektu identificēšana Mākslīgā intelekta klasifikācijasļauj robotam koncentrēties tikai uz konkrētiem objektiem, piemēram, vēloties pārvietoties tikai uz sarkanu Bakibolu, nevis zilu.
Lai iegūtu plašāku informāciju par aprīļa tagiem un , skatiet šos rakstus par AI klasifikācijām un to, kā iespējot to noteikšanu AI Vision Utility.
centrsX un centrsY
Šīs ir noteiktā objekta centra koordinātas pikseļos.
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.
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.
Š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.
while (true) {
// Iegūt visu zilās krāsas objektu momentuzņēmumu.
AIVision.takeSnapshot(AIVision__Blue);
// Pirms datu izvilkšanas pārbaudiet, vai momentuzņēmumā ir atrasts objekts.
ja (AIVision.objectCount > 0) {
ja (AIVision.objects[0].centerX > 150.0 && 170.0 > AIVision.objects[0].centerX) {
Drivetrain.turn(right);
} citādi {
Drivetrain.stop();
}
}
wait(5, ms);
}
izcelsmeX un izcelsmeY
OriginX un OriginY ir noteiktā objekta augšējā kreisā stūra koordināta pikseļos.
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.
platums un augstums
Šis ir noteiktā objekta platums vai augstums pikseļos.
Platuma un augstuma mērījumi palīdz identificēt dažādus objektus. Piemēram, Bekībolam būs lielāks augstums nekā gredzenam.
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.
Šajā piemērā navigācijai tiek izmantots objekta platums. Robots tuvosies objektam, līdz tā platums sasniegs noteiktu izmēru, pirms apstāsies.
while (true) {
// Iegūt visu zilo objektu momentuzņēmumu.
AIVision.takeSnapshot(AIVision1__Blue);
// Pirms datu izvilkšanas pārbaudiet, vai momentuzņēmumā ir atrasts objekts.
ja (AIVision.objectCount > 0) {
ja (AIVision.objects[0].width < 250.0) {
Drivetrain.drive(uz priekšu);
} citādi {
Drivetrain.stop();
}
}
wait(5, ms);
}
leņķis
Īpašība leņķis ir pieejama tikaikrāsu kodiem unAprilTags,
Tas norāda, vai noteiktais krāsu kodsvai AprilTag ir orientēts atšķirīgi.
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.
Piemēram, jakrāsu kods netiek noteikts pareizā leņķī, tad robots, iespējams, nevarēs pareizi uztvert objektu, ko tas attēlo.
rezultāts
Īpašība punktu skaits tiek izmantota, nosakotAI klasifikācijas ar AI redzes sensoru.
Ticamī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.
pastāv
Īpašums existes tiek izmantots, lai noteiktu, vai pēdējā uzņemtajā momentuzņēmumā ir konstatēts norādītais vizuālais paraksts.
Tas ļauj pārbaudīt, vai iepriekšējā momentuzņēmumā tika atklāti kādi objekti. Šī īpašība atgriezīs vērtību “True”, ja objekts pastāv, un “False”, ja objekts nepastāv.
objektu skaits
objectCount metode atgriež pēdējā momentuzņēmumā atklāto objektu skaitu.
Šajā piemērā ir atklāti divi objekti arkrāsu parakstu "Zila". Tie abi tiks ievietoti masīvā, kad tiks izmantota metode takeSnapshot.
Šis koda fragments nepārtraukti atjaunina EXP Brain ar atklāto objektu skaitu. Pamatojoties uz sniegto piemēru, tas atkārtoti nosūtīs vērtību 2, norādot, ka ir atklāti divi objekti.
while (true) {
// Iegūt visu zilo objektu momentuzņēmumu.
AIVision.takeSnapshot(AIVision__Blue);
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
// Pirms datu izvilkšanas pārbauda, vai momentuzņēmumā ir atrasts objekts.
ja (AIVision.objectCount > 0) {
Brain.Screen.print(AIVision1.objectCount);
}
gaidīt(5, ms);
}