Skip to content

Latest commit

 

History

History
263 lines (234 loc) · 11 KB

README.it.md

File metadata and controls

263 lines (234 loc) · 11 KB

Contributors Forks License Stargazers Downloads Issues Poke-Pi-Dex
Raspberry Pi Python nVIDIA Keras TensorFlow Open CV


Poké-Pi-Dex

Poké-Pi-Dex è il nostro progetto per poké-weeb nostalgici, basato su deep learning / computer vision. Realizzato da Karina Chichifoi e Michele Righi.

Abbiamo ricreato il clone di un Pokédex che riconosce immagini di Pokémon della prima generazione, sfruttando una Rete Neurale Convoluzionale. È stato sviluppato per eseguire su un Raspberry Pi4 con display LCD, PiCamera ed altri componenti collegati.
Il case è fatto di cartoncino riciclato. 🌱

Relazione · Presentazione · Att. Progettuale · Richiedi una Feature|Segnala un Bug · English



Indice

  1. Demo
  2. Funzionalità
  3. Utilizzo
  4. Strumenti
  5. Risorse
  6. Roadmap
  7. Licenza
  8. Contatti

Demo

Guarda la demo su YouTube!

Demo Video
Demo video

Funzionalità

TODO

Utilizzo

To use the application follow these steps:

Prerequisiti

  • conda TO-DO

Installazione

Windows

  1. Scarica l'ultima versione
  2. Estrai lo zip
  3. Crea il virtual environment:
conda env create -f environment.yml
  1. Esegui l'applicazione:
python poke-pi-dex.py

Roadmap

  • Dataset
    • trovare un dataset adatto per la rete neurale
    • sistemarlo (ritagliare le immagini) ed estenderlo
  • Classificatore
    • CNN con 3 layer convoluzionali e 2 layer FC
    • data augmentation (specchiamento, rotazione, contrasto e luminosità randomici)
    • provare dropout
    • provare batch norm
    • grafici loss e accuracy
    • test con immagini reali
    • miglirare la vecchia CNN
  • Applicazione
    • Repository Pokémon
      • trovare un file .json e caricarlo in un dizionario
      • controllarlo e sistemarlo
      • creare una classe Pokémon
    • input video
      • creare una classe separata
      • creare una funzione che permette di ottenere un frame dalla PiCamera (e fare i test)
      • visualizzare l'immagine all'interno di un canvas
    • struttura GUI
      • creare un menu principale
      • creare un pannello delle informazioni sull'app
      • creare una schermata per il Pokédex, divisa in 2 parti (sinistra per il video input, destra per i dettagli del Pokémon)
      • creare una vista per le impostazioni
    • bottone per ottenere il frame corrente
    • etichette ed entry per i dettagli del Pokémon (statistiche con barre dinamiche e di colori differenti)
    • aggiungere bottoni per scorrere fra le evoluzioni successive (ad esempio: Eevee ha diverse evoluzioni possibili)
    • cambiare la entry del "tipo/i" (da testo a immagine)
    • aggiungere bottone per riprodurre il verso
      • raccogliere i file audio dei versi
    • aggiungere la lettura della descrizione
      • ottenere i file audio delle descrizioni utilizzando un bot di lettura
    • realizzare l'aggiornamento per lingue differenti
    • rendere le impostazioni persistenti <!-- aggiungerlo a quello in inglese)
    • modalità debug
  • Setup Raspberry
    • comprare i componenti
      • display LCD
      • PiCamera
      • batteria (powerbank)
      • speaker
      • bottoni
      • adattatore type-C a gomito
      • convertitore A/D (ADS1115)
    • integrare i componenti
      • display LCD
      • PiCamera
      • batteria
      • speaker
      • bottoni
      • joystick analogico
    • preparare il SO (disabilitare password, abilitare le interfacce, risolvere le dipendenze, ...)
  • Deployment dell'app
    • preparare l'ambiente (installare python3 e i package necessari)
    • clonare la repo
    • test dell'applicazione
  • Prorotipo del case ~50h
    • progetto tecnico
    • ritagliare il cartoncino ed incollare le parti
    • verniciatura ad acrilico
  • Relazione
    • impostare il documento in LaTeX
    • abbozzare una possibile suddivisione in capitoli
    • scrivere il report
  • Presentazione
  • Video Dimostrativo
  • Extra & Sviluppi Futuri
    • usare una rete neurale più complessa con il nuovo dataset
    • usare nuove forme di data augmentation
    • aggiungere un amplificatore allo speaker
    • inserire uno o più Led vicino all'obiettivo della PiCamera
    • aggiungere un'opzione alle impostazioni per abilitare/disabilitare il congelamento del video dopo aver scattato la foto
    • finire il modello 3D del case e stamparlo
    • estendere il Pokédex alle generazioni seguenti
    • fare il porting su mobile (Android. iOS)

Strumenti

Risorse

Licenza

Distribuito sotto Licenza GPLv3. Vedi LICENSE per ulteriori informazioni.

Contatti