Riconoscimento del colore: misure più precise con il machine learning

da | Feb 3, 2020

Un algoritmo di machine learning in grado di limitare gli errori nel riconoscimento del colore in un apparecchio biomedicale. La sfida dell’accuratezza e il problema dei falsi positivi.

Sono numerosi i dispositivi elettronici che effettuano il riconoscimento del colore. Si va dagli oggetti più semplici  – come la penna Scribble, destinata alla grafica di consumo  – a quelli più sofisticati di uso professionale o industriale. In tutti i casi il riconoscimento del colore avviene mediante un sensore che restituisce una misura “pura”. Il fatto è che tale misura non è mai esatta. Esiste infatti un margine di errore, che dipende del contesto in cui la misurazione viene effettuata ed è dunque difficile da eliminare. La luminosità dell’ambiente, per esempio, può contribuire a falsare il valore rilevato.

Il problema può essere affrontato utilizzando strumenti matematici che clusterizzano i dati di misurazione registrati dal sensore di colore e quindi riconducono ciascuna misurazione al colore reale previsto dal modello. Una nuova sfida per Spindox, che lavora da tempo in un ambito adiacente: quello della computer vision e del riconoscimento delle immagini. È il caso della app per il riconoscimento delle sorprese all’interno delle uova di coccolato, realizzata nel 2018, o del sistema per l’automazione del servizio di monitoraggio e manutenzione delle linee di distribuzione dell’energia elettrica.

Per un importante produttore di apparati medici, abbiamo dunque messo a punto un algoritmo che migliora le prestazioni del sistema precedentemente utilizzato proprio nel campo del riconoscimento del colore. Lo strumento è in grado di riconoscere gli otto colori usati per identificare le penne per insulina, in base al tipo di farmaco contenuto. La soluzione di Spindox ha reso più accurato il modello di riconoscimento del colore del cliente, consentendo una riduzione dei falsi positivi. In aggiunta, lo studio ha permesso di definire uno schema grazie al quale il cliente può rendere il modello più o meno stringente. Il risultato è stato possibile grazie a una normalizzazione delle variabili da analizzare, come illustrato di seguito.

Indice degli argomenti

  • Riconoscimento del colore: un po’ di teoria
  • Il punto di partenza e la richiesta del cliente
  • La soluzione a due dimensioni studiata da Spindox
  • Dagli esagoni alle ellissi

Riconoscimento del colore: un po’ di teoria

Com’è noto, i colori possono essere rappresentati in forma numerica, mediante modelli matematici astratti. Tali modelli – detti modelli di colore – lavorano su tre o quattro valori, corrispondenti alle componenti cromatiche di base cui è riconducibile ciascun colore. L’RGB, per esempio, è un modello a tre componenti o canali: rosso (Red), verde (Green) e blu (Blue). Da cui l’acronimo RGB, appunto.

Nel modello RGB qualunque colore è generato per mescolanza additiva dei colori primari rosso, verde e blu. Dunque ogni colore può essere rappresentato in base alla posizione unica che occupa all’interno di uno spazio tridimensionale, detto spazio dei colori. Dato un colore, infatti, la sua quantità di rosso è rappresentata come un valore lungo l’asse delle X, la quantità di blu è rappresentata lungo l’asse delle Y e la quantità di verde è rappresentata lungo l’asse delle Z.

Un algoritmo di color sensing è un classificatore. Il riconoscimento del colore nel modello RGB, per esempio, può essere affrontato definendo specifiche soglie per ciascuno dei tre canali che compongono ogni colore. L’algoritmo riconosce l’arancione – e dunque classifica l’immagine analizzata come ‘arancione’ – perché ha imparato che il colore arancione è tale se soddisfa determinati valori di x, y e z. Insomma: l’ipotesi ‘arancione’ è confermata se la misurazione restituisce valori compresi entro soglie definite. E ciò vale per tutti i colori possibili.

Il punto di partenza e la richiesta del cliente

Il cliente, che produce penne per l’iniezione sottocutanea dell’insulina, commercializza in particolare otto modelli del medesimo dispositivo, ciascuno caratterizzato da un pulsante di colore diverso a seconda della tipologia di farmaco contenuto. Per il riconoscimento del colore dei pulsanti viene utilizzato uno strumento basato sul modello RGB, che lavora applicando la logica delle soglie appena descritta e che fino a oggi si è dimostrato efficace. Tuttavia il cliente ha chiesto a Spindox di validare le soglie fin qui applicate e di suggerire eventualmente delle soglie alternative.

Partendo da un dataset costituito da 396 misurazioni di intensità per ciascuno degli otto colori impiegati per i pulsanti delle penne, 132 misurazioni relative a colori falsi (ovvero non presenti nelle penne) e dalle soglie predefinite per ciascuno dei tre canali (R, G, B) per il riconoscimento del colore, il sistema in uso presso il cliente è rappresentato con una matrice tridimensionale (figura 1): la distribuzione nominale dei colori è collocata nello spazio (r, g, b), mentre le soglie effettive sono parallelepipedi con vertici rappresentati da quadrati.

Il grafico mostra la distribuzione nominale dei colori nello spazio (r, g, b) e le soglie effettive come parallelepipedi con vertici rappresentati da quadrati.
Figura 1: distribuzione nominale dei colori nello spazio (r, g, b) tridimensionale.

L’idea è stata quella di utilizzare il valore normalizzato (r, g, b) per semplificare il modello. Poiché in un modello normalizzato la somma dei tre colori primari rosso, giallo e blu è uguale a 1, tutti i colori giacciono su uno stesso piano. Conseguentemente diventa possibile mappare i valori (r, g, b) sul piano e dunque passare da un sistema di riferimento tridimensionale a un sistema di riferimento bidimensionale, come quello rappresentato in figura 2: i parallelepipedi del modello 3D diventano esagoni.

Sistema di riferimento bidimensionale normalizzato per rappresentare i colori in un piano
Figura 2: distribuzione nominale dei colori nello spazio (r, g, b) bidimensionale.

Dagli esagoni alle ellissi

Successivamente Spindox ha creato due set di dati per le misurazioni sui colori nominali: un set di allenamento (70%) e uno set di prova (30%). Compito dell’algoritmo era cercare, per ogni colore, l’ellisse di volume minimo che racchiude tutti i dati dell’allenamento. L’MVEE (Minimum Volume Enclosing Ellipsoid) è un concetto matematico molto utile per risolvere numerosi problemi pratici. Nella fase di affinamento del modello, l’asse delle ellissi per ogni colore è stato poi incrementato fino a contenere tutti i dati del set di prova, e non solo quelli di allenamento, mantenendo costante l’eccentricità. Il risultato è presentato in figura 3: Le ellissi sono ottenute scalando l’asse dell’MVEE di un fattore del 2,5%.

Riconoscimento del colore mediante MVEE.
Figura 3: le ellissi contenenti i dati di allenamento e quelli di prova.

L’ulteriore passaggio è consistito nel confronto fra le ellissi definite con il nuovo modello e i margini del modello precedente, ossia gli esagoni. In tal modo è stato possibile valutare un eventuale incremento degli assi delle ellissi stesse. In particolare la figura 4 evidenzia come ogni asse di ellissi possa essere scalato fino a un fattore massimo del 50%. Il fattore di scala più piccolo riduce al minimo il numero di falsi negativi, quello più grande riduce al minimo il numero di falsi positivi.

riconoscimento dei colori: rappresentazione del modello mediante ellissi scalabili
Figura 4: estensione massima delle ellissi.

In definitiva il nuovo modello di riconoscimento dei colori appare robusto e versatile. Le nuove soglie ellittiche contengono tutte le misure dei colori nominali. Pertanto, la precisione del modello sui colori nominali è pari al 100%. D’altra parte, nessuno dei colori falsi si trova all’interno di una delle ellissi. Il che significa che anche la precisione sui colori falsi raggiunge il 100%. Inoltre, a differenza delle soglie utilizzate in precedenza (R, G, B), la forma ellittica tiene conto della dipendenza dal canale. Una migliore segmentazione dello spazio è poi ottenuta grazie al fatto che le ellissi sono incluse nelle soglie effettive. Infine, come detto, per ogni colore è stato possibile prevedere una serie di intervalli, costituiti da ellissi concentriche: l’ellisse più piccola riduce al minimo il numero dei falsi negativi nel riconoscimento del colore, mentre quella più grande riduce al minimo il numero dei falsi positivi.

Paolo Costa
Paolo Costa
Socio fondatore e Direttore Marketing di Spindox. Insegno Comunicazione Digitale e Multimediale all’Università di Pavia. Da 15 anni mi occupo di cultura digitale e tecnologia. Ho fondato l’associazione culturale Twitteratura, che promuove l’uso di Twitter come strumento di lettura attraverso la riscrittura.

Potrebbe piacerti anche