Teachable Micro:bit

Del med dit netværk

Forleden delte Torben nedenstående forløb i Facebookgruppen Micro:bit DK. Her kan man finde mange gode ideer til brugen af micro:bit og få hjælp hvis program eller elektronik driller.

Forløbet  anvender Googles Teachable Machine til at genkende objekter og bruger en hjemmeside der kan koble billedgenkendelsen til serielporten som micro:bitten kan læse gennem usb-stikket og reagere på. Det er altså ikke selve micro:bitten der lærer at genkende objekter, men den programmeres til at reagere på det der genkendes af computeren. Forløbet kan også hentes på Google Drive.

AI billedgenkendelse

Af Torben Baunsø, tidligere it-konsulent i Horsens Kommune

AI er en forkortelse af “Artificial Intelligence”, der betyder kunstig intelligens.

Med kunstig intelligens forstås, at man får computeren til at udføre opgaver, der normalt udføres af mennesker.

I dette materiale skal den kunstige intelligens lære at genkende forskellige objekter. Hertil bruges websitet “Teachable machine”.

“Teachable machine” kan generere (lave) et program, der bagefter kan bruges i websitet “AI Training” til styring af en micro:bit.

Man kan altså få micro:bitten til at udføre noget bestemt programkode, når bestemte objekter genkendes.

I materialet her lærer systemet at genkende elefanten og uglen.

Hvis I vil vide mere om, hvordan man i landbruget arbejder med markrobotter med billedgenkendelse, kan I høre om det i nedenstående video:

Teachable machine

Programmet er ret simpelt at arbejde med, så i det efterfølgende vises blot nogle få skærmbilleder og tilhørende få forklaringer.

New Project: Man kan vælge at arbejde med genkendelse af billeder, lyde eller positurer. Her arbejdes med billeder så tryk på “Image Project”.

Tryk på “Standard image model”.

Modellen skal lære at skelne mellem disse to figurer: En ugle og en elefant.

En ugle

En elefant

Som udgangspunkt er der sat plads af til to klasser (Class 1 og Class 2). Dem vil vi kalde “Ugle” og “Elefant”

Men hvad nu, hvis kameraet hverken registrerer uglen eller elefanten? Så skal der tilføjes en ny klasse ved tryk på “Add a class”. Den kalder vi “Intet”.

Nu skal programmet lære at genkende “Ugle”, “Elefant” og “Intet”. Vi starter med “Ugle” og trykker derfor på “Webcam”.

Der skal optages en masse forskellige billeder af uglen, der bliver vendt og drejet foran kameraet. Man kan vælge at optage på forskellige måder. Jeg har valgt at trykke på tandhjulet til højre for knappen “Hold to Record”. Her fravalgte jeg “Hold to Record” og har så brugt standardindstillingerne: “Delay 2 seconds” (forsinkelse fra tryk på knap til optagelser starter) og “Duration 6 seconds” (varighed af optagelser). Tryk på “Save Settings”.

Nu vendes og drejes figuren foran kameraet, så programmet lærer at genkende den i forskellige vinkler. På skærmbilledet herover ses, at der i løbet af de 6 sekunder blev taget 131 billeder. Det samme gøres med elefanten. Prøv selv at aftale, hvordan “Intet” skal vises.

Tryk nu på knappen “Train Model” midt i skærmbilledet for at få computeren til analysere data fra de tre billedsæt. Det tager et stykke tid, og man må ikke forlade fanen, mens det foregår, så vent tålmodigt.

I højre del af skærmen viser programmet, hvad der genkendes, og hvor stor sikkerheden er. Herover er den kunstige intelligens helt klar over, at det er uglen, der vises.

Prøv nu selv

Prøv at vende og dreje jeres objekt foran kameraet for at se, hvordan sikkerheden ændrer sig. Flyt objektet lidt ud på afstand.

Kan I finde et andet objekt, der ligner det originale lidt, så systemet tager fejl af de to?

Prøv med genkendelse af flere forskellige objekter (“Add a class”).

Hvad med ansigtskenkendelse? Kan den skelne forskellige ansigter med stor sikkerhed?

I kan eksperimentere videre med genkendelse af lyde (“Audio Project”) og genkendelse af forskellige positurer af kroppen (“Pose Project”).

AI Training

Med Teachable Machine kan man eksperimentere med, at programmet genkender objekter, men hvordan kommer man videre fra billedgenkendelsen til, at et program kan reagere på genkendelse og udføre en handling?

Med “AI Training” kan data fra billedgenkendelsen overføres fra computer eller chromebook via usb kablet til en micro:bit.

I det følgende eksempel skal micro:bitten reagere ved at skrive et “U” når uglen registreres, skrive et “E”, når elefanten registreres og ellers skrive et “I” når intet registreres.

Når I begynder at arbejde med vejledningen herunder, skal “Teachable Machine” med den ønskede billedgenkendelse være åbnet i et andet faneblad!

Programmet

Forbind micro:bitten til computer eller chromebook med usb kablet og Indlæs dette program i micro:bitten. Micro:bitten skal også være tilsluttet efter overførsel af program.

Objektnavnene (“Ugle” og “Elefant” erstattes med navnene på de objekter, som I har valgt at bruge i “Teachable machine”

Link til programmet

A micro:bit of AI

Programmet findes på https://ai-training.glitch.me/. Man  kan også søge på “ai training glitch”.

Tjenesten gør det muligt at forbinde Teachable Machine med serielporten på micro:bitten.

Tryk på “Pair Microbit” Klik på den tilsluttede micro:bit og klik på knappen “Opret forbindelse”.

Følg vejledningen ude til venstre på siden for at hente det link, der skal indsættes under “Paste your Google…” til højre på siden. Når linket er indsat, trykkes på “Ready!”

Tjenesten viser nu hvad modellen genkender og sender samtidig besked til serielporten.

Her er uglen registreret, og som man kan se, har micro:bitten som planlagt reageret ved at skrive et “U”.

Programmet her er rimelig simpelt, da det først og fremmest skal demonstrere princippet i billedgenkendelse og den efterfølgende reaktion fra micro:bitten.

Nu er det op til jer selv at finde ud af, hvordan systemet kan bruges til mere avancerede opgaver.

Mange vil sikkert få den tilsluttede micro:bit til at sende radiosignaler videre til en anden micro:bit. Og hvis I råder over passende udstyr, kan I få mekaniske konstruktioner til at reagere på input.

Herunder er en video, som udviklerne har lavet. Den indeholder bl.a. eksempler på reaktioner fra mekaniske konstruktioner.


Del med dit netværk

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *