Ri Parco da Trento Challenge

image0

Sponsor: Dipartimento di Ingegneria e Scienze dell’Informazione (DISI) e dati.trentino.it

I parchi sono un importante luogo di aggregazione sociale, e consentono a famiglie e giovani di riunirsi in spazi all’aperto. Le occasioni di ritrovo possono essere molteplici: a carattere sportivo come partite di calcio, ping pong, criquet, skateboard, attività ludiche nei parchi giochi per bambini, ritrovi informali di giocolieri di strada, suonatori di bonghi, o eventi organizzati come sagre rionali e concerti.

Non sempre tutte queste occasioni sono note, perché o informali o non sufficientemente pubblicizzate. A volte, gli incontri neppure nascono perché si crede non vi sia un sufficiente numero di persone interessato a svolgere una certa attività.

Si richiede pertanto di creare un sito che mostri una mappa dei parchi di Trento arricchita con le attività in essere. La visualizzazione sarà basata su OpenStreetMap, la mappa del mondo realizzata da volontari. Qualora le attività siano informali, si dovrà provvedere a scattare foto e caricarle manualmente sulla mappa. Dato che nelle foto di attività pubbliche è sempre probabile la presenza di volti, per questioni di privacy si dovrà provvedere a sviluppare un software per anonimizzare le facce. Per attività pubbliche (es. sagre, concerti), si dovranno cercare opportuni dataset che le descrivano (da fonti come dati.trentino.it) e sviluppare programmi che integrino i dati nella mappa. Il sito dovrà inoltre prevedere un’interfaccia grafica per aggiungere eventi, caricare le foto ed organizzare nuovi incontri. A tal fine, potrebbe essere interessante integrare dati meteo da dati.trentino.it.

a. Acquisire foto

ATTENZIONE: LEGGETE QUANTO SEGUE IN OGNI SUA PARTE, COMPORTAMENTI INADEGUATI E MANCANZE NON SARANNO TOLLERATI

Nel vostro tempo libero, o in pausa pranzo, vi si chiede di visitare parchi di Trento fotografando le attività presenti, come giochi per bambini, giochi cricket, ping-pong, skateboard, giocoleria, musicali, etc. Nel caso nella scena vi siano persone, per non destare preoccupazioni si raccomanda di scattare le foto da lontano.

Le foto devono essere scattate da voi, non scaricate foto a caso da Internet.

Ai soli fini di testare il software di anonimizzazione che produrrete, vi si richiede di fare foto dei vostri (e solo i vostri) volti mentre simulate lo svolgimento di qualche attività (es. giocare a ping pong). Queste foto (e solo queste) dovranno essere sufficientemente da vicino affinchè i volti siano riconoscibili.

Durante gli scatti, assicuraratevi che il GPS sia attivo e che le coordinate geografiche di dove siete siano memorizzate nei file delle foto.

b. Estrazione dati foto

Se avete scattato le foto come richiesto, all’interno dei file dovrebbero essere presenti le coordinate geografiche. Come primo passo, producete una tabella con i seguenti dati, ed eventualmente altri se li ritenete rilevanti

Tra i dati potenzialmente utili, considerate :

  • percorso file foto (es: pics/parco-s-chiara/DSC10132323.jpg)

  • latitudine, longitudine

  • nome file DSC10132323.jpg

  • nome foto “Prato”

  • descrizione “Prato usato per cricket e calcio”

La lista non è esaustiva e non è necessario mettere tutte le colonne indicate, stabilite voi cosa è meglio per il vostro progetto.

Concretamente, dovrete estrarre metadati GPS dalle foto, che sono codificati nel cosiddetto formato EXIF. Come spunto per farlo con Python, potete guardare questo tutorial (in inglese). Per avere le coordinate in formato usabile, dovrete convertirle in formato decimale (guardare paragrafo Decimal form)

Il tutorial usa la libreria pillow, che potete installare così:

Anaconda:

Apri Anaconda Prompt (per istruzioni su come trovarlo o se non hai idea di cosa sia, prima di proseguire leggi sezione interprete Python nell’introduzione) ed esegui:

conda install -c anaconda pillow

Linux/Mac:

  • installa ipywidgets (--user installa nella propria home):

python3 -m pip install --user  pillow

c. Anonimizzare foto

Aggiungere una funzionalità di anonimizzazione volti, implementandolo seguendo il tutorial Computer vision su SoftPython (che ha sua volta con la libreria opencv se non riuscite a fare tutto in automatico, eventualmente potete dividere in due step: nel primo fornite agli utenti per segnare manualmente i poligoni sulle facce, e nel secondo si svolge l’anonimizzazione in base al poligono fornito.

d. Realizzare sito

Realizzare un prototipo di sito con una mappa, implementando nell’ordine, le seguenti funzionalità.

  • NOTA 1 ricordatevi che questo è un prototipo, dovete comunicare un idea, non fare un sito professionale

  • NOTA 2: NON serve fare anche app per smartphone, realizzarle bene è difficile e ancora più difficile è mostrarle durante una demo al pubblico (non vorrete mica girare con lo smartphone tra i presenti …)

Per farlo, seguire il tutorial Interfacce grafiche e guardare in particolare il sottocapitolo sulle mappe

d.1 mostrare e caricare foto

i punti di interesse (POI) con foto, e consenta di caricarne altri. Al caricamento di una foto, questa dovrà essere automaticamente anonimizzata

d.2 mostrare eventi pubblici

Mostrare sulla mappa attività pubbliche (es. sagre, concerti). A tal fine, si dovranno cercare opportuni dataset che le descrivano (da fonti come dati.trentino.it) e sviluppare un programma che integri i dati nella mappa.

d.3 interfaccia per organizzare eventi

Realizzare un’interfaccia per organizzare eventi informali. Ogni evento avrà un luogo con le coordinate all’interno parco, la tipologia (es. partita cricket), un numero minimo di partecipanti. Chi vuole può iscriversi all’evento. Per esempio, raggiunto un certo numero di partecipanti l’evento viene mostrato con un colore diverso sulla mappa

Ricordatevi che questo è un prototipo, quindi fate una cosa semplice senza login e notifiche.

Dataset

Foto

Le foto le farete voi - NON scaricate foto da internet.

EXTRA: Concorso fotografico Wiki Loves Monuments

Già che ci siete e solo se volete / vi interessa (non è parte della valutazione), dal 1° al 30 settembre potete partecipare al concorso fotografico Wiki Loves Monuments, è semplice:

Guardate la lista dei monumenti autorizzati per il concorso (in particolare, vedere lista per Trento) e trovate il soggetto che più vi piace (nel nostro caso della challenge ICTDays, sceglietene uno in un parco !!!). Dal 1° al 30 settembre caricate una o più foto dei beni culturali fotografati su Wikimedia Commons, l’archivio multimediale di Wikimedia: potete andare a caccia di nuove immagini nei 30 giorni del concorso ma anche utilizzare scatti che hai già realizzato in passato!

ATTENZIONE: Se decidete di aderire, NON mandate foto con facce, nemmeno le vostre!

ATTENZIONE: Wikimedia Commons accetta solamente foto pubblicate con licenza libera CC BY-SA (Creative Commons attribuzione condividi allo stesso modo). Per i dettagli leggete il regolamento

OpenStreetMap

OpenStreetMap è la mappa libera del mondo realizzata da volontari.

Licenza: ODBL

dati.trentino.it

Catalogo dati trentino: dati.trentino.it

Cercate dataset che riportino informazioni su avvenimenti nei parchi.

Licenza: in genere i dataset sono Creative Commons CC-0 o CC-BY, comunque controllate.

Per capire come leggere i vari formati che potete trovare, potete trarre spunto dal tutorial Formati dati