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ž do počítača alebo na Google Disk. 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 cloud-u - 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 Scratch-i použiť aj rozšírenie pre Lego Mindstroms EV3 - 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).
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. https://www.youtube.com/watch?v=KxNs2tHjoRg&t=3000s . Stačí sa registrovať. Niektoré funkcie sú spoplatnené tzv. picto creditmi, ale na začiatku po registrácii ich získate 1000 na experimentovanie.
Od augusta 2022 je v oficiálnom programovacom prostredí Mindsorms Inventor App (verzia 10.4) nové rozšírenie Machine Learning. 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),
- detekuje 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é cez š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/.
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.