Poke-Pi-Dex

Our deep learning for computer vision related project for nostalgic poke weebs (Sistemi digitali, Unibo).

GPL-3.0 License

Stars
22
Committers
3

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 Pokdex che riconosce immagini di Pokmon 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

Demo

Guarda la demo su YouTube!

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 Pokmon
      • trovare un file .json e caricarlo in un dizionario
      • controllarlo e sistemarlo
      • creare una classe Pokmon
    • 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 Pokdex, divisa in 2 parti (sinistra per il video input, destra per i dettagli del Pokmon)
      • creare una vista per le impostazioni
    • bottone per ottenere il frame corrente
    • etichette ed entry per i dettagli del Pokmon (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 Pokdex alle generazioni seguenti
    • fare il porting su mobile (Android. iOS)

Strumenti

Risorse

Licenza

Distribuito sotto Licenza GPLv3. Vedi LICENSE per ulteriori informazioni.

Contatti

Badges
Extracted from project README
Contributors Forks License Stargazers Downloads Issues Poke-Pi-Dex Raspberry Pi Python nVIDIA Keras TensorFlow Open CV