Utilizzo di reti neurali per estrarre più parametri dalle immagini


8

Voglio estrarre i parametri da un'immagine usando una rete neurale.

Esempio:

Data un'immagine di un muro di mattoni, NN dovrebbe estrarre la larghezza e l'altezza dei mattoni, il colore e la rugosità.

Posso generare immagini per determinati parametri per addestrare l'NN e voglio usarlo per estrarre i parametri da un'immagine reale.

Ho esaminato le CNN. Posso eseguire questa attività con loro? Ho bisogno di speciali algoritmi di apprendimento per estrarre più parametri anziché la classificazione? Esistono NN progettati per tali compiti?


Potresti allegare alcune immagini di esempio che hai in mente? Le CNN potrebbero essere eccessive per l'attività, ma d'altra parte vale la pena studiare e sperimentare se la priorità assoluta è l'uso di reti neurali in contrasto con algoritmi CV "tradizionali".
NikoNyrh,

@NikoNyrh potrebbe fornire immagini di esempio, ma voglio usare la tecnica per varie classi di trame. L'obiettivo è quello di estrarre i parametri dello shader dalle immagini. L'esempio brick contiene parametri per lo più intuitivi, ma altri shader probabilmente useranno parametri che non possono essere facilmente ottenuti da un algoritmo ben progettato. Attualmente sto testando diversi approcci e volevo provare le reti neurali poiché posso generare dati di allenamento "infiniti".
H4kor,

Risposte:


8

Una CNN potrebbe essere una buona scelta per questo compito se si prevede una variazione della scala dell'immagine originale, dell'illuminazione di rotazione ecc. E si dispone anche di molti dati di addestramento.

La consueta architettura CNN prevede livelli convoluzionali vicini all'ingresso e livelli completamente collegati nell'output. Quei layer completamente collegati possono avere l'output organizzato per diverse attività di classificazione o regressione come meglio credi. La previsione dei valori dei parametri che descrivono l'immagine è un'attività di regressione.

Se si desidera misurare con precisione le dimensioni, potrebbe essere necessario evitare l'uso di livelli massimi di pooling. Purtroppo, non si utilizza il pool renderà la vostra rete più grande e più difficile da treno - si potrebbe ottenere via con circonvoluzione strided invece se questo è un problema per voi.

Se le tue immagini di input sono molto semplici e chiare (perché sono sempre generate al computer), allora altri approcci potrebbero essere più affidabili. Potresti essere in grado di decodificare la produzione di immagini e ricavare regole semplici come identificare linee, angoli, cerchi e altri componenti di immagini facili da filtrare ed effettuare misurazioni dirette. Potrebbe esserci anche una via di mezzo nella complessità in cui l'estrazione di questi dati come funzionalità e l'utilizzo per addestrare un semplice NN (o altro modello ML) avranno buone prestazioni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.