RICONOSCIMENTO AUTOMATICO DI DADI DA GIOCO TRAMITE IMAGE PROCESSING
description
Transcript of RICONOSCIMENTO AUTOMATICO DI DADI DA GIOCO TRAMITE IMAGE PROCESSING
RICONOSCIMENTO AUTOMATICO DI DADI DA GIOCO TRAMITE
IMAGE PROCESSING
Corso: Elaborazione Elettronica delle Immagini II (A.A. 2011/2012)
Docente: prof. Gabriele Guarnieri
Stefano Schillani
CdLS in Ingegneria Elettronica
Università degli Studi di Trieste
Introduzione
I dadi hanno una distribuzione di probabilità discreta uniforme e vengono solitamente utilizzati in qualsiasi ambito in cui sia necessario determinare uno possibile tra più esiti equiprobabili in maniera casuale (es: giochi, diceware...)
Sono più affidabili di algoritmi pseudo-casuali Solitamente i risultati vengono determinati per
ispezione visiva da parte di un operatore (es: casinò, giochi da tavolo, wargame...)
Obiettivo
Riconoscere da una fotografia il risultato del lancio di una serie di dadi
3, 2, 6, 3, 1, 3, 5, 3
Problematiche
Legate all'immagine Illuminazione, ombre, tipo di dadi...
Legate all'acquisizione Risoluzione immagine, altezza e angolazione
macchina fotografica... Legate all'algoritmo
Complessità computazionale...
Scelta delle condizioni
Si può supporre di operare all'interno di una macchina predisposta
Altezza della fotocamera fissata per semplificare l'algoritmo → valido anche su un tavolo da gioco
Illuminazione “decente” e sfondo nero per ridurre ombre e riflessi → abbastanza riproducibile in una sala da casinò
Dadi noti Dadi uguali tra loro Dadi bianchi a pallini neri tutti uguali
Scelta delle condizioni
Risoluzione immagine L'algoritmo deve poter accettare immagini a
risoluzioni diverse Complessità computazionale
Per trovare i dadi si usa una versione ridimensionata dell'immagine di partenza
Si cercano i pallini su sottoinsiemi dell'immagine originale
Descrizione dell'algoritmo
Preprocessing
Riduzione immagine a 1152x864 Aggiustamento costanti di lavoro degli operatori
morfologici Filtraggio rumore e binarizzazione dell'immagine
ridotta
Trovare i dadi
I dadi sono regioni quadrate, ma dadi vicini possono produrre regioni contigue e una semplice apertura potrebbe non funzionare
Erosione complessiva → Segmentazione → Dilatazione delle singole regioni
Trovare i dadi
Una singola regione è quadrata (cioè è un dado) quando il rapporto tra perimetro al quadrato e area è vicino a 16
Perimetro2 / Area ~ (4L)2 / L2 = 16 Una volta trovato un dado, occorre delimitare la
zona corrispondente Scorrendo sui vettori delle somme per colonne e
per righe, si cercano i primi e gli ultimi elementi diversi da zero, che corrispondono alle 4 coordinate estreme della regione
Trovare i pallini
Ritaglio immagine originale in base alle coordinate del dado
Riduzione rumore, binarizzazione, mascheratura tramite intersezione, complemento, apertura, segmentazione
Trovare i pallini
Una singola regione è circolare (cioè è un pallino) quando il rapporto tra perimetro al quadrato e area è vicino a 4π
Perimetro2 / Area ~ (r2π)2 / r2π= 4π
Risultati e conclusioni
L'algoritmo è stato testato su 12 immagini di diverse dimensioni per un totale di 86 dadi senza compiere errori
L'attendibilità raggiunta è del 100%
Sviluppi Futuri
Altezza variabile (es: cellulare)
Illuminazione variabile (es: retinex)
Sfondo variabile Segmentazione per
colore (es: i dadi rossi hanno un significato diverso dai dadi neri)
Bibliografia
Chin-Ho Chung, Wen-Yuan Chen, Bor-Liang Lin, “Image Identification Scheme for Dice Game”, 2009 International Conference on Advanced Information Technologies (AIT) 2009, pp. 144-150, 24-25 April. 2009.
Wen-Yuan Chen, Pei-Jung Lin, Dong-Yi Kuo, “Dice image Recognition Scheme Using Pattern Comparison Technique”, 2012 International Symposium on Computer, Consumer and Control
http://world.std.com/~reinhold/diceware.html