
AI a roboty
TEACHABLE MACHINE
(strojové učenie)
Technológia rozpoznávania obrazu na základe naučených objektov (umelá inteligencia, neurónové siete). Taktiež sa jedná o rozpoznávanie zvuku/hlasu, prípadne póz tela, gestikulácie, mimiky tváre.
Na úvod si skúste určite vytvoriť model pre rozpoznávanie obrazu pomocou Teachable Machine od Google teachablemachine.withgoogle.com. Zaujímavé je, že ak si ho neuložíte sami, tak všetko ostáva iba na vašom počítač, žiadne dáta sa nikam neposielajú. Vytvoriť môžete model rozpoznávajúci obraz, zvuk a gestá (póza/pozícia postavy). Projekt začína záznamom dát (nafotenie obrázkov/nahranie zvukov) pre jednotlivé triedy (napr. lopta, banán, úsmev, "ahoj"). Nasleduje vytrénovanie modelu (analýza dát) - umelá inteligencia sa naučí jednotlivé triedy modelu. Na konci je už len testovanie modelu - v reálnom čase uvidíte vyhodnocovanie a presnosť identifikácie tried.
Takýto model môžete uložiť do počítača alebo na cloud. Modely sa dajú stiahnuť ako Tensorflow file a použiť pri ďalšom programovaní aplikácií (javascript, ...). Model sa dá použiť aj priamo z cloudu - napr. v experimentálnom prostredí pre Scratch 3: playground.raise.mit.edu/main. Rozšírenie sa volá Teachable Machine. Viac oficiálnych info: www.media.mit.edu/posts/ai-blocks/. Video z youtube kanálu Creator Academy Australia s praktickou ukážkou ako na to: www.youtube.com/watch?v=IxohRHe4WFE&ab_channel=CreatorAcademyAustralia.
Všimnite si, že okrem rozšírenia Teachable Machine môžete v tomto obohatenom prostredí Scratch použiť aj rozšírenie pre Lego Mindstroms EV3 (aj pre Micro:bit)- takže Lego robot sa dá ovládať hlasom a vie vyhodnocovať obraz ... waaaau. Ale pozor kamera a mikrofón je na počítači, nie na robotovi (aj keď, je dosť možné, že ak sa program spustí z mobilu, čo nemám overené, tak by to mohol byť komplexný robot).
Za zmienku určite stojí aj strojové učenie, ktoré sa dá využiť v špeciálnom prostredí Scratch 3 od Champierre champierre.github.io/ml2scratch. Asi od roku 2019 je tu k dispozícii rozšírenie ML2Scratch. Pomocou tohto doplnku môžete vytvoriť model na rozpoznávanie obrazu (obrazovka či webkamera) priamo v Scratch-i. Malý návod je napríklad tu: github.com/champierre/ml2scratch/blob/master/README.en.md. Taktiež sa tu dá využiť doplnok pre LEGO (EV3, Boost, WeDo) a Micro:bit.
Novinka 2023
Treba určite spomenúť aj indickú odnož Scratchu a to je Pictoblox www.pictoblox.ai . Nájdete v ňom ešte viac funkcií pre prácu s Teachable machine a teda so strojovým učením a aj AI (rozpoznávanie tváre, tela, ruky, objektov, reči, textu, kartičiek...). Webinár k tomu je napr. tu: https://www.youtube.com/watch?v=KxNs2tHjoRg&t=3000s. Stačí sa registrovať. Niektoré funkcie sú spoplatnené tzv. picto creditmi. Na začiatku, po registrácii, získate 1000 picto creditov na experimentovanie.
Už aj v tomto prostredí je možné pripojiť sa na LEGO (EV3 a Boost) ale aj na Micro:bit a iné platformy (napr. Arduino).
Novinky 2025
1.) createai.microbit.org - Tí čo majú radi Micro:bit budú určite nadšený z možnosti pracovať so špeciálnou nadstavbou strojového učenia. Jedná sa síce "len" o vytvorenie modelu na základe pohybov Micro:bit-u (os X, Y, Z), ale vynárajú sa mnohé možnosti využitia ako napr. rozpoznanie tlieskania, mávania, rôznych cvikov, behu, či pohybov rôznych častí tela, pohybov bábok/maňušiek a podobne. Tento model sa dá potom použiť v klasickom Makecode prostredí.
2.) Určite si pozrite aj počin od poliaka Lofi Robot cardboard.lofirobot.com/teachable-microbit-app-info. Vytvoril vlastnú webaplikáciu, ktorá dokáže vytvoriť most medzi dátami z Teachable Machine od Google a Micro:bit-om. Programuje sa potom v klasickom prostredí MakeCode s využitím bluetooth komunikácie.

Od augusta 2022 je v oficiálnom programovacom prostredí Mindsorms Inventor App (verzia 10.4) nové rozšírenie Machine Learning (uvidíme do kedy bude podporované - 2026?). Obsahuje presne to čo bolo popísané vyššie ako Teachable Machine. Priamo v aplikácii si viete zaznamenať obrázky alebo zvuky (minimálne 2 a maximálne 6 tried) a vytrénovať model, ktorý viete využiť pri programovaní. V reálnom čase sa dá sledovať presnosť vytrénovania modelu a dodatočne mu upraviť/doplniť triedy.
Ak je program v mobile, tak ho môžete jednoducho upevniť priamo na robota. Získate tým autonómneho robota s "umelou inteligenciou", ako napríklad tu: www.onekitprojects.com/51515/camera-car. Problém môže nastať, ak by ste chceli používať zložitejšie a rozsiahlejšie programy, ktoré by samotný mobil nezvládal (lagovanie, crashovanie). Neviem zatiaľ o spôsobe ako model exportovať či importovať, prípadne ako program vytvorený v počítači preniesť do mobilu.
A teraz už len naprogramovať robota (Spike alebo Inventor), ktorý:
- sa orientuje podľa objektov v priestore,
- vie identifikovať objekty (farebné lopty, ovocie, zeleninu, konkrétnu osobu),
- deteguje mimiku osoby (prípadne náladu),
- sa dá ovládať hlasom (reaguje na presné príkazy).
PIXY (CMUcam5)
- rozpoznáva naučené farby (zapamätá a identifikuje 7 rôznych farebných podpisov a 7 typov ColorCodes) a na základe farieb identifikuje stovky objektov realtime,
- O každom objekte poskytuje: identifikátor farebného podpisu, súradnice stredu objektu, šírku a výšku obdĺžnika opísaného okolo objektu. Všetky hodnoty údáva v pixeloch. Minimálna veľkosť objektu je 4x1 pixel,
- kompatibilné s NXT a EV3, taktiež s Arduinom a Raspberry,
- program PixyMon
- https://cmucam.org/projects/cmucam5/wiki/Install_PixyMon_on_Windows_Vista_7_8. Po pripojení USB kábla sa prepne Pixy do režimu Cooked (odosiale informácie do počítača), po spustení Deafaut módu v PixyMon, bude odosielať informácie do sériového portu a teda od Lego kocky (https://cmucam.org/boards/10/topics/6645), - pixy Lego block - https://cmucam.org/projects/cmucam5/wiki/Pixy_LEGO_Block,
- pixy Lego PID block - https://cmucam.org/projects/cmucam5/wiki/PID_LEGO_Block - určený na vyvolanie akcie pre dosiahnutie stanovenej hodnoty (napr. chcem sledovať červenú loptu - PID regulátor vypočíta rýchlosť motorov potrebných na udržanie lopty v strede obrazu). Nedokáže sledovať čiernu čiaru,
- možnosť dokúpiť špeciálny Pan&Tilt modul - servo motory na ovládanie pohybov kamery vo vertikálnom a horizontálnom smere,
- extrémny problém s identifikáciou reflexných objektov (napr. strieborná loptička ako na súťaži RoboCup Rescue Line) https://cmucam.org/boards/10/topics/7831. Taktiež je problém s identifikáciou čiernych objektov a teda pomocou Pixy sa veľmi ťažko sleduje čierna čiara https://cmucam.org/boards/10/topics/7561,
- Pixy CMUcam5 vznikla v spolupráci Charmed Labs a Carnegie Mellon University,
- dokonalý prehľad so špecifikáciami Pixy: https://www.cmucam.org/projects/cmucam5 alebo aj https://www.mindstormsrobots.com/lego-mindstorms/guide-to-using-the-pixycam-cameras-ev3-g-blocks/.
NXTCAM v5 (mindsensors.com)
- oficiálny dodávateľ je www.mindsensors.com:
- NXTCam v 5 s nastaviteľným objektívom - 164,75 $,
- NXTCam v5 s fixným objektívom - 149,75 $,
- NXTCam v4 s nastaviteľným objektívom 149,75 $,
- dodávateľ pre EÚ (www.generationrobots.com):
- NXTCam v5 s fixným objektívom 154,90 €, - pripojiteľné štandardným Lego káblom na senzorový port k NXT alebo EV3, K počítaču sa pripája pomocou microUSB kábla,
- umožňuje:
- identifikáciu a sledovanie jedného alebo viac farebných objektov podľa stanovených farebných podpisov,
- identifikáciu a sledovanie očí,
- identifikáciu a sledovanie tváre,
- identifikáciu a sledovanie čiary, - na microSD kartu dodávanú s kamerou (iba vo verzii v5) dokáže v autonómnom režime nahrávať video alebo fotiť obrázky s rozlíšením 320 x 240 pixelov,
- kompletný manuál s detailami: https://www.mindsensors.com/pdfs/NXTCam5-User-Guide.pdf,
- na nastavovanie a prispôsobovanie parametrov jednotlivých farebných podpisov slúži program NXTCam5 Viewer: https://www.mindsensors.com/largefiles/NXTCam5/. Osobne si myslím, že predchádzajúca verzia toho zvládla viac a jednoduchšie. Hlavne softvérovo!
FISCHERTECHNIK
- súčasťou balenia TXT Discovery Set je vlastný integrovaný kamerový systém s USB kamerou s mikrofónom,
- kompletná softvérová podpora pre sledovanie čiary, rozpoznávanie farieb, identifikáciu loptičiek a mnoho iného,
- umožňuje, ako jediný zo spomínaných, realtime streamovanie priamo do počítača (resp. do aplikácie TXTCamdroid) cez USB ale aj cez bluetooth,
- Žiaľ podľa vlastných skúseností sa jedná o krásny a prepracovaný systém s problémami so stabilitou samotného systému (občas kamera streamuje, občas zamrzne a je potrebné odpojenie a opätovné zapojenie, prípadne zamrzne celá inteligentná jednotka a je nutný jej reštart).
PICAM
- kompatibilné napríklad s PiStorms
Pár myšlienok ohľadom využitia computer vision v súťaži ROBOCUP - https://sites.google.com/view/alt-f4-rcj-2020/documentation?authuser=0
Viac o kamerách a Lego robotoch: https://antonsmindstorms.com/?s=cam.