Vi posto le verifiche di alcuni studenti che sono fatte bene per correggere e rivedere la verifica. La correzione è importante per acquisire le tecniche di programmazione.
Il colpo di sonno è una delle più frequenti cause di incidenti stradali. Perché non costruire un app che mi avverta quando i miei occhi si chiudono al volante?
Questo programma con Scratch riconosce con l’intelligenza artificiale se la nostra faccia inquadrata da una telecamera (per esempio quella di un auto o del nostro PC) ha gli occhi aperti (sveglio) o gli occhi chiusi (colpo di sonno).
Utilizziamo come sempre il https://machinelearningforkids.co.uk/
entriamo con il nostro account e creiamo il progetto “stai sveglio” con riconoscimento immagini.
Clicco su addestramento e carico molte immagini con occhi aperti e poi con occhi chiusi. E’ maglio caricare anche qualche nostra immagine per facilitare l’addestramento.
Dopo avere inserito le immagini clicco su addestra e addestra modello e dopo un po’ di tempo il modello viene generato e si può testare: clicca prova con webcam e posizionati alla distanza corretta e vedrai che quando chiudi gli occhi e scatti la foto il modello restituisce “occhi chiusi” con una percentuale che varia. Se la percentuale è maggiore del 60-70% significa che il modello funziona! Stessa cosa per occhi “aperti”.
Passiamo alla programmazione con Scratch cliccando Programma e poi su Scratch3.0
Il modello di Machine Learning genera un menu con alcuni nuovi blocchi.
Inseriamo uno sprite con due costumi (semaforo verde, semaforo rosso). Questo semplice programma è in grado di riconoscere, dopo aver cliccato sulla bandierina che attiva la camera del PC, se la nostra faccia ha gli occhi aperti o chiusi! Se sono chiusi semaforo rosso ( o potete inserire un segnale acustico “sveglia”) se sono aperti …tutto ok semaforo verde!
Programma di base: se rispondi con “sei bello” la faccina ride. Diversamente è triste. Se sbaglio a digitare o uso un superlativo (ad esempio “sei bellissimo”) non comprende ed è ugualmente triste. E’ un programma NON intelligente.
Creiamo un modello di machine learning con https://machinelearningforkids.co.uk/
Addestriamo il modello inserendo alcune “parole” o frasi che rendono felice la faccina e alcune che la rendono triste (vedi sotto)
Facciamo girare (addestriamo) il modello con “Impara” e poi lo testiamo con “testa”. Infine modifichiamo il modello in Scratch 3.0 cliccando su programma in modo da inserire i blocchi di machine learning appena creati e presenti nell’interfaccia di Scratch (in basso a sinistra)
Proviamo ora a rispondere a “dimmi qualcosa” e vediamo che il programma è diventato super intelligente! Sei brillante e la faccina sorride. Sei orrrrrrrrrribile e anche se formalmente è scritto con un errore .. è triste!.
È possibile insegnare al computer a disegnare una figura geometrica? Magari un esagono regolare come quello che facciamo con il compasso?
Non solo è possibile ma è anche abbastanza semplice!
Dobbiamo però attivare in Scratch l’estensione “penna”
andando a cliccare sul “+” in basso a sinistra (vedi immagine sotto)
L’algoritmo base per creare un QUADRATO ad esempio è il seguente
Dobbiamo utilizzare una rotazione in senso orario o anti-orario pari all’angolo esterno di un poligono
Angolo Esterno=360°/N
dove N è il numero dei lati (o degli angoli) del poligono che si vuole disegnare. Per il quadrato N=4 e quindi 360/4=90 ma questo è ovvio se ci pensiamo no? Un quadrato ha angoli di 90°…ci mancherebbe altro!
Per un esagono invece Angolo Esterno= 360/6=60°
Approfondimento sugli angoli esterni di un poligono: Se componiamo gli angoli esterni al centro otteniamo 360° come è abbastanza chiaro dalle immagini che seguono
Per le gif animate, trovate in rete, si ringrazia il sito matematichiamoblog