Tullio Facchinetti

Valutazione della qualità di visualizzazione di un sistema a LED sparsi

by Tullio Facchinetti

Categories: article thesis lang_it article_it


L’obiettivo del progetto è di simulare un sistema reale composto da strisce di LED, dette strip, che vengono usate per visualizzare immagini accendendo i LED del colore desiderato. Dal momento che i LED non sono necessariamente disposti collocati in posizioni “regolari” come invece avviene per i pixel in uno schermo, la simulazione permette di avere un’indicazione visuale della qualità della proiezione al variare dei parametri.

La simulazione permette di valutare i seguenti aspetti:

Durante lo sviluppo del progetto è stato anche effettuato il refactoring del codice esistente che implementa il sistema reale di configurazione dei LED.

Workflow

Workflow della simulazione.

Il workflow proposto per la simulazione prevede che ìl simulatore venga configurato inserendo i parametri desiderati nel file params.json. In base a tali parametri, lo script json_creator genera un file in formato JSON contenente la posizione fisica dei LED simulati. Lo script json_converter traduce il file in un formato, sempre basato su JSON, compatibile con il sistema già implementato. Lo script image_creator genera l’immagine che rappresenta la disposizione dei LED. Infine, image_to_leds si occupa di generare l’immagine con i LED opportunamente colorati per la visualizzazione dell’immagine da “proiettare”.

Gli script sono stati realizzati in linguaggio Python, e utilizzano le librerie NumPy, Pillow e OpenCV rispettivamente per l’elaborazione dei dati, per il rendering delle immagini generate, e per l’elaborazione dell’immagine da proiettare.

Parametri di configurazione

Il simulatore permette di configurare i parametri più rilevanti per la generazione del risultato, incluso il numero di strip, la quantità di LED presenti su ciascuna strip, la loro dimensione e raggruppamento (le strip commerciali spesso realizzano ogni “pixel” con più di un LED), e alcune informazioni che determinano il posizionamento casuale delle strip.

Principali parametri che modellizzano il sistema reale.

Esempio di disposizione delle strip e dei LED ottenuta con una particolare configurazione della simulazione.

Mappatura dei colori

Una volta nota la posizione dei LED, viene individuato il colore di ciascuno di essi mappando il colore dei pixel dell’immagine che si desidera proiettare in base alla posizione.

Esempio di immagine da visualizzare e corrispondente posizione dei pixel di una strip.

Il colore di un pixel sulla strip viene individuato facendo la media dei colori presenti nel rettangolo corrispondente alla posizione del LED nell’immagine.

Bounding box ritagliato dall'immagine.

In questa fase è stato svolta una ottimizzazione del codice esistente che svolgeva la mappatura dei colori, il quale per ragioni pratiche non era mai stato testato con un numero elevato di LED. In una simulazione con un’immagine avente risoluzione di 320 x 200 pixel (64000 pixel in totale), si è abbassato il tempo totale di calcolo da circa 32 minuti a poco più di 2 secondi, permettendo lo svolgimento della simulazione anche in caso di immagini di grandi dimensioni.

Risultati

Sono state effettuate varie simulazioni per mostrare l’effetto della modifica dei parametri.

Negli esempi compare una tabella che riporta i valori dei parametri più rilevanti per la simulazione. In particolare:

Le immagini riportate in ciascun esempio sono:

  1. L’immagine che si desidera proiettare.
  2. La disposizione dei LED.
  3. L’immagine proiettata colorando i LED del colore necessario.

Simulazione 1

Parametro Valore
Pattern verticale
N. Strip 1610
N. LED per strip 2862
N. LED per pixel 5
N. LED totali 4607820
N. Pixel 921564
Risoluzione approssimata 1280 x 720
Superficie equivalente 315.6 m^2 (14.7 x 21.4) m

Risultato della simulazione 1.

Simulazione 2

Parametro Valore
Pattern orizzontale
N. Strip 2560
N. LED per strip 3456
N. LED per pixel 1
N. LED totali 8847360
N. Pixel 8847360
Risoluzione approssimata 4096 x 2160
Superficie equivalente 1396.8 m^2 (52.5 x 26) m

Risultato della simulazione 2.

Simulazione 3

Parametro Valore
Pattern random
N. Strip 1000
N. LED per strip 600
N. LED per pixel 5
N. LED totali 600000
N. Pixel 120000
Superficie equivalente 174.24 m^2 (13.2 x 13.2) m

Risultato della simulazione 3.

Effetto della risoluzione

Un ulteriore test è stato effettuato per valutare l’effetto ottenuto con un numero relativamente limitato di pixel rispetto a risoluzione troppo elevate per l’applicazione proposta.

Immagini ottenute rispettivamente con 409960 e 16378 pixel; la seconda immagine è composta da un numero di pixel 25 volte inferiore alla prima.

Immagini ottenute con 8847360 e 88230; la seconda immagine è composta da un numero di pixel 100 volte inferiore alla prima.


Highlights

  • Students and theses
  • Publications
  • Thesis topics
  • Curated awesome list of CLI apps
  • Last updates (English)

  • Students and theses ()
  • Students and theses - English ()
  • Learn enough C to survive ()
  • Workflow for writing theses collaboratively ()
  • Guidelines for theses and presentations ()
  • Projects ()
  • Shortcuts for Bash ()
  • Last updates (Italian)

  • Risultati FdI 21-25 Novembre 2022 ()
  • Studenti e tesi ()
  • Risultati FdI 29 Settembre 2022 ()
  • Risultati FdI 02 Settembre 2022 ()
  • Risultati FdI 28 Luglio 2022 ()
  • Risultati FdI 29 Giugno 2022 ()
  • Interfacciamento client-server con il simulatore di propagazione del calore Energy2D ()
  • List of categories

    article article_en article_it C courses fdi lang_en lang_it latex programming project research results robotics software teaching thesis tips