Algoritmo per un disegno e la pittura robot -Un algoritmo per un robot di disegno e pittura - qualche consiglio?
Ciao
voglio scrivere un pezzo di software che analizza l'immagine, e quindi produce un'immagine che cattura ciò che un occhio umano percepisce nell'immagine originale, utilizzando un minimo di oggetti percorso Bezier di vari colori e opacità.
A differenza del concorso super-compressione recente Twitter (see: stackoverflow.com/questions/891643/twitter-image-encoding-challenge), il mio obiettivo non è quello di creare una replica che è fedele all'immagine, ma invece di replicare l'esperienza umana di guardare l'immagine.
Ad esempio, se l'immagine originale mostra un palloncino rosso nell'angolo in alto a sinistra e la riproduzione ha qualcosa che assomiglia ad un palloncino rosso nell'angolo in alto a sinistra, avrò raggiunto il mio obiettivo, anche se il palloncino nella riproduzione non è esattamente nella stessa posizione e non ha le stesse dimensioni o colore.
Quando dico "come percepito da un umano", intendo questo in un senso molto limitato. Non sto cercando di analizzare il significato di un'immagine, non ho bisogno di sapere di cosa sia l'immagine, mi interessano solo le principali caratteristiche visive che un occhio umano noterebbe, nella misura in cui questo può essere automatizzato da un algoritmo che non ha la capacità di concettualizzare ciò che sta effettivamente osservando.
Perché questo criterio insolito della percezione umana sulla precisione fotografica?
Questo software sarebbe utilizzato per guidare un robot di disegno e pittura, che collaborerà con un artista umano (see: video.google.com/videosearch?q=mr%20squiggle).
Piuttosto che trattare i segni fatti dall'umano che non sono fotograficamente perfetti come necessariamente errori, l'algoritmo dovrebbe cercare di incorporare ciò che è già sulla tela nell'immagine finale.
Quindi la luminosità, la tonalità, la saturazione, le dimensioni e la posizione relative sono molto più importanti di essere fotograficamente identiche all'originale. Il mantenimento della topologia delle caratteristiche, del blocco di colore, delle sfumature, della curva convessa e concava sarà più importante per la forma e il colore delle stesse dimensioni
Ancora con me?
Il mio problema è che soffro un po 'della sindrome "quando hai un martello tutto sembra un chiodo". A me sembra che il modo per farlo sia utilizzare un algoritmo genetico con qualcosa come il confronto delle trasformazioni wavelet (vedi: grail.cs.washington.edu/projects/query/) utilizzato da retrievr (vedere: labs.systemone.at/retrievr/) per selezionare le soluzioni di adattamento.
Ma la ragione principale per cui vedo questa risposta, è che queste sono le tecniche che conosco, probabilmente ci sono soluzioni molto più eleganti che usano tecniche di cui ora non so nulla.
Sarebbe particolarmente interessante tenere conto dei modi in cui il sistema di visione umano analizza un'immagine, quindi forse è necessario prestare particolare attenzione alle linee rette, agli angoli, ai bordi ad alto contrasto e ai grandi blocchi di colori simili.
Avete suggerimenti per cose che dovrei leggere su visione, algoritmi di immagine, algoritmi genetici o progetti simili?
Grazie
Mat
PS. Parte dell'ortografia sopra può sembrare sbagliata per te e per il tuo correttore ortografico. Sono solo varianti di spelling internazionali che possono differire dallo standard nel tuo paese: ad es. Australian Standard: colore vs standard americano: colore
A vantaggio dei nuovi utenti che voglio far notare che la questione non sarebbe stato permesso di esistere se pubblicato oggi. È molto ampio, richiede raccomandazioni generali e non ha una risposta definita. E 'probabile che esiste ancora per scopi storici in modo da non utilizzare questo come un modello per una buona domanda –