środa, 20 maja 2020

Alien Language

Nauczymy kosmitę rozumieć nasz język, a właściwie będzie rozpoznawał 2 wyrazy: right (prawo), left (lewo).  
W I części zadania w programie https://machinelearningforkids.co.uk/scratch3/ dodaliśmy rozszerzenie Speech to Text.
Dodaliśmy skrypty, dzięki którym duszek rozpoznaje "go left", "go right" i zmienia swoje miejsce w zależności od polecenia. Korzystamy z gotowego modelu już wytrenowanego dla tych dwóch poleceń.

W II części zadania wytrenujemy model, który może rozpoznawać dwa wymyślone nasze słowa i reagować tylko po ich zrozumieniu.

https://machinelearningforkids.co.uk/ tworzymy nowy projekt, reagujący na dźwięki. 
Dodajemy 3 etykiety: szum tła, prawo i lewo ( prawo i lewo to nasze wymyślone słowa).
Nagrywamy min 10 przykładów i trenujemy model.

Największy problem mieliśmy z wytrenowaniem modelu, strona nam się wielokrotnie wieszała.
Ci, którym się udało, mogli iść dalej. Wśród gotowych projektów jeden był z naszym kosmitą. 
Dodaliśmy nowe skrypty kierując się gotową instrukcją.


Pozostało nam już tylko testowanie programu i sprawdzanie, czy nasz kosmita rozumie nasze polecenia.  
Rozumiał :)

środa, 13 maja 2020

Face Finder - zmieniamy twarz w kreskówkę

W tym projekcie wytrenujemy nasz model, który będzie rozpoznawał, czy na zdjęciach są oczy. Gdy je wykryje, to w nich miejscu umieści oczy jak z kreskówki.


Zadanie rozpoczęliśmy od strony https://machinelearningforkids.co.uk/#!/pretrained. Uruchomiliśmy Scratch3, z rozszerzeń dodaliśmy  Video Sensing (czujniki wideo) oraz Face detection (wykrywanie twarzy).
Na scenie umieściliśmy skrypt wykrywający obiekt w kamerze.

Usunęliśmy duszka kotka, w jego miejsce dodaliśmy 3 duszki: oko prawe, oko lewe i nos.


Dodaliśmy do każdego duszka nowy skrypt. 
Zostało nam już tylko przetestowanie programu.
Program działa, choć nie tak szybko jak byśmy chcieli :)



czwartek, 7 maja 2020

Nieśmiała Panda - ostatnie zajęcia dla grupy Beniamin w pogramie AI School & Academy

Na ostanie tegoroczne zajęcia wybraliśmy "Nieśmiałą Pandę". Program przetestowała już starsza grupa Master. 
Nasza Panda lubi tańczyć. Jeśli zobaczy jednak, że na nią patrzymy, to zawstydzona  przestanie tańczyć. Nauczymy ją, widoku naszej osoby z zasłoniętymi oczami.  Dzięki czemu będzie myślała, że jej nie widzimy i nie przestanie tańczyć.

Po założeniu nowego projektu rozpoznającego obrazy, tworzymy w nim 2 etykiety: "looking: i "not looking". W każdej z ich umieszczamy min 10 zdjęć, korzystając z własnej kamerki internetowej.

W dalszym etapie trenujemy swój model, niestety trwa to około 10 -15 minut. W tym czasie staraliśmy się odpowiadać na pytania w quizie o sztucznej inteligencji.

Swój program z Pandą, tworzyliśmy w Scratch. Choć bardziej polegało to na modyfikowaniu już ułożonych skryptów i umieszczaniu w nich nowo uzyskanych rozszerzeń.


Panda, myśli, że jej nie widzimy.


Panda zauważyła nasz wzrok i zawstydzona przestała tańczyć.


Najważniejsze, że się udało i nasza Panda reagowała, tak jak było w założeniu scenariusza.


środa, 6 maja 2020

Wirtualne zwierzątko - Virtual Pet

W tym projekcie tworzymy wirtualnego zwierzaka. Musimy go nakarmić, by nie był zbyt głodny. Dostarczamy mu napoje, by nie był spragniony i okazujemy mu miłość.
Wszystkie te czynności wykonujemy za pośrednictwem kamery internetowej.
Swoje działania zaczynamy od szkolenia naszego wirtualnego zwierzaka, aby rozpoznawał te działania.


Logujemy się na https://machinelearningforkids.co.uk/. Tworzymy nowy projekt rozpoznający obrazy. W nim dodajemy 3 kategorie: jedzenie, napoje oraz uczucia.

W każdej z kategorii umieszczamy min 10 zdjęć:  jabłka, kubka z napojem oraz gestu pokazującego serce.



Po wytrenowaniu modelu uruchamiamy Scratch 3 i odszukujemy program Virtual Pet. Szablon projektu ma wirtualnego zwierzaka o nazwie "Flobzy". Widoczne są  na scenie 3 zmienne. Z czasem ich wartość rośnie, gdy są za wysokie to koniec gry. "Głód" spadnie, gdy pokazujemy jedzenie, "Pragnienie" spadnie, jeśli pokazujemy kubki, oraz "Smutek" reagujący na okazywanie miłości.

Musimy zmodyfikować skrypty, które są odpowiedzialne za rozpoznawanie obrazów. Dodajemy do nich rozszerzenia otrzymane w wyniku trenowania naszego modelu.



Pozostało nam już tylko sprawdzić, czy nasze zwierzak reaguje na nasze gesty :). Robimy to uruchamiając grę i naciskając przycisk P na klawiaturze, aby zrobić zdjęcie.


Nasze zwierzaki reagowały bardzo szybko na nasze gesty.

środa, 29 kwietnia 2020

Blokowanie twarzy

W grupie master, wyzwaniem kolejnym było stworzenie zaprojektowanie wirtualnego telefonu, reagującego na naszą twarz.
Ten i inny scenariusz dostępny jest na https://machinelearningforkids.co.uk/#!/worksheets

Po zalogowaniu na https://machinelearningforkids.co.uk/ tworzymy nowy projekt "Face lock" rozpoznający obrazy. Tworzymy w  nim dwie etykiety: "Granted" i "Denied". Umieszczamy w nich swoje zdjęcia oraz zdjęcia innych osób.
Po przetrenowaniu uruchamiamy gotowy projekt Face Lock w Scratch. Dokładamy skrypty  z rozszerzenia powstałego w wyniku trenowania naszego modelu. I testujemy działanie naszego programu.



Oczywiście Julia Z. była pierwszą osobą, której udało się z sukcesem ukończyć program :)

wtorek, 28 kwietnia 2020

Pac Man online w grupie Beniamin

W ramach programu AI Schools online odbyły się także zajęcia dla grupy Beniamin.
Był to ostatni scenariusz przewidziany dla tej grupy.

Zadaniem uczestników, było stworzyć inteligentną grę, która będzie uczyć się na podstawie tego, jak gra uczeń.

Scenariusz zajęć okazał się jednym z najtrudniejszym. Ważny okazał się etap, w którym należało zapisać grę na swoim dysku, jeszcze przez przetrenowaniem jej przez ucznia. Ponieważ, tego nie zrobiliśmy, byliśmy zmuszeni do powtórzenia całego tego etapu.

Mimo problemów udało nam się ukończyć projekt.



Gra, którą stworzył jeden z uczniów, okazała się  największą niespodzianką. W jego wytrenowanej grze komputer radził sobie tak dobrze, że gra nie miała końca. Duszek mógł uciekać w nieskończoność przed pożarciem.

czwartek, 16 kwietnia 2020

Nieśmiała Panda - I zajęcia online

Z powodu sytuacji epidemiologicznej postanowiliśmy spróbować spotkać się online.
Z dostępnych propozycji wybraliśmy "Nieśmiałą Pandę".



Pobraliśmy instrukcję dla ucznia i nauczyciela. Po zalogowaniu utworzyliśmy nowy projekt o nazwie "Niesmiala panda". W  nim utworzyliśmy w etykiety: "patrzenie wprost" oraz "zasłanianie oczu".
W każdej etykiecie umieściliśmy po 10 zdjęć i wytrenowaliśmy swój model.



Wzorując się na instrukcji dla ucznia, dołożyliśmy do kodu programu niezbędne nowe elementy otrzymane po wytrenowaniu modelu.


 I przetestowaliśmy swoją Pandę :)


Gdy Panda nie widziała naszych oczu to chętnie tańczyła.


Gdy zorientowała się, że ją obserwujemy wyglądała na zawstydzoną.