Salta al contenuto

Vernice Italia: la rete neurale che indovina la formula dal colore

Dai un colore RGB, ti diciamo come mescolarlo. Anche le vernici meritano un cervello.

Vernice Italia: logo del cliente
Anno
2023
Settore · Industria, Mobilità & IoTAI e automazioneSoftware su misuraCloud e architetture

Il problema

Un cliente arriva con un colore e un numero: un RGB, il verde esatto di un marchio o la tonalità di una facciata già dipinta. In laboratorio quel numero va tradotto in dosi. Ogni vernice nasce dalla combinazione di tredici miscele base, e il rapporto tra le proporzioni e il colore che ne esce non è lineare: si stende un campione, si misura, si corregge, si ristende. Ogni giro costa tempo di laboratorio e materiale.

13miscele base da dosare per ogni tonalità

Quel problema, però, Vernice Italia l'aveva già risolto ventimila volte. Ogni riga dell'archivio storico è una coppia: un colore e le dosi che lo producono. Anni di prove in laboratorio sono, di fatto, un dataset etichettato, solo che nessuno lo aveva mai letto come tale. Veniva consultato per cercare, non per imparare.

20.000formule storiche usate come training set

Come l'abbiamo risolto

La rete è una feed-forward in Python con Keras, addestrata sull'intero archivio con preprocessing e data augmentation sui ventimila record. In ingresso il colore desiderato, in uscita le proporzioni delle tredici miscele. Chi formula lavora da una dashboard: inserisce il colore, riceve una formula di partenza, e il laboratorio parte da lì invece che da zero.

Schema del flusso: il colore richiesto in RGB entra nella rete neurale feed-forward in Python e Keras addestrata su 20.000 formule storiche, che restituisce le proporzioni delle 13 miscele base; le richieste passano da una coda AWS SQS con worker su AWS Lambda.
Dal colore alle dosi: la rete propone le proporzioni delle tredici miscele, e il laboratorio parte da lì invece che dal primo tentativo plausibile.

L'inferenza non è istantanea, e questo ha deciso l'architettura. Il backend in Node.js e TypeScript non aspetta la rete: mette la richiesta su una coda AWS SQS, un worker Lambda si sveglia, esegue lo script e scrive stato e dettagli dell'elaborazione su DynamoDB. Il front-end in React segue lo stato e mostra il risultato quando c'è. Monitoraggio su CloudWatch. Nessuna macchina accesa ad attendere richieste che arrivano a raffica o non arrivano per ore.

I risultati

La prova fisica non sparisce: il colore, alla fine, va comunque steso e misurato. Ma parte dal punto giusto invece che dal primo tentativo plausibile, e i tentativi scesi da molti a pochi sono la voce che si vede in bolletta.

DEEP DIVE TECNICO

Il modello è una rete neurale feed-forward in Python con Keras, con preprocessing e data augmentation sul database di 20.000 elementi. Il backend è in Node.js e TypeScript e gestisce API e worker; le richieste alla rete neurale passano da una coda asincrona serverless su AWS SQS e AWS Lambda: i messaggi nella coda SQS attivano un worker Lambda che esegue lo script di AI e aggiorna un database DynamoDB con stato e dettagli di ogni elaborazione. Front-end in React e TypeScript, monitoraggio su AWS CloudWatch.

Stack: Python, Keras, Node.js, TypeScript, React, AWS SQS, AWS Lambda, DynamoDB, AWS CloudWatch

Hai un progetto simile in mente?

Raccontaci cosa vuoi costruire: ti aiutiamo a capire il percorso più veloce.

Parlane con noi
PROGETTI CONSIGLIATI

Potrebbero interessarti anche

Torna a tutti i progetti