Domanda Come funziona la ricerca del colore delle immagini di Google?


Diciamo che chiedo per

http://images.google.com.sg/images?q=sky&imgcolor=black

e ottengo tutto il cielo di colore nero, come effettivamente funziona l'algoritmo?


19
2018-03-26 02:00


origine


risposte:


Basato su questo articolo pubblicato dagli ingegneri di Google Henry Rowley, Shumeet Baluja e Dr. Yushi Jing, sembra che l'implicazione più importante della tua domanda sul riconoscimento dei colori nelle immagini si riferisca all'algoritmo "saferank" di google per immagini in grado di rilevare toni carnali senza alcun testo intorno .

Il documento inizia descrivendo descrivendo i metodi "classici", che sono in genere basati sulla normalizzazione della luminosità del colore e quindi sull'uso di un "Distribuzione gaussiana, "o utilizzando un istogramma tridimensionale creato utilizzando i valori RGB in pixel (ogni colore è un valore intero a 8 bit compreso tra 0 e 255 che rappresenta la quantità di quel colore inclusa nel pixel). Sono stati anche introdotti metodi che si basano su su proprietà come "luminanza" (spesso erroneamente chiamata "luminosità"), che è la densità dell'intensità luminosa a occhio nudo da una determinata immagine.

Il documento di Google afferma che dovranno elaborare circa 10 ^ 9 immagini con il loro algoritmo, quindi deve essere il più efficiente possibile. Per ottenere ciò, eseguono la maggior parte dei loro calcoli su una ROI (regione di interesse) che è un rettangolo centrato nell'immagine e inserito di 1/6 delle dimensioni dell'immagine su tutti i lati. Una volta determinato il ROI, dispongono di molti algoritmi diversi che vengono poi applicati all'immagine, inclusi i simboli Face-Detection, Color Constancy e altri, che nel complesso trovano tendenze statistiche nella colorazione dell'immagine e, cosa più importante trova le sfumature di colore con la frequenza più alta nella distribuzione statistica.

Utilizzano altre funzionalità come Entropy, Edge-Detection e texture-definizioni Per estrarre le linee dalle immagini, usano l'implementazione OpenCV (Bradski, 2000) della trasformata di Hough probabilistica (Kiryati et al., 1991) calcolata sui bordi dei componenti collegati alla pelle del colore, che consente loro per trovare linee rette che probabilmente non sono parti del corpo e inoltre consente loro di determinare meglio quali colori sono più importanti in un'immagine, il che è un fattore chiave nella loro ricerca dei colori delle immagini.

Per ulteriori informazioni sugli aspetti tecnici di questo argomento, comprese le equazioni matematiche e così via, leggi la carta di Google collegata all'inizio e guarda la sezione Ricerca del loro sito web.

Domanda e soggetto molto interessanti!


31
2018-03-26 06:15



Le immagini sono solo pixel. I pixel sono solo valori RGB. Sappiamo cosa è il nero in RGB, quindi possiamo cercarlo in un'immagine.


7
2018-03-26 02:07



Bene, un metodo è, in termini molto semplici:

Dato un corpus di immagini, determinare le alte concentrazioni di un dato intervallo di colori (questo è in realtà abbastanza banale), memorizzare questi dati, indicizzare di conseguenza (indicizzare le immagini in base ai colori determinati dal passaggio precedente). Ora, hai essenzialmente lo stesso tipo di ricerca di documenti contenenti determinate parole.

Questa è una descrizione molto, molto semplice di un possibile metodo.


3
2018-03-26 02:06



Esistono vari modi per estrarre il colore da un'immagine e penso che siano state trattate altre risposte (K-medie, distribuzioni, ecc.).

Supponendo di aver estratto i colori, ci sono alcuni modi per cercare per colore. Un approccio lento ma ovvio consisterebbe nel calcolare la distanza tra il colore di ricerca e i colori dominanti dell'immagine usando una certa metrica (ad es. Differenza di colore), quindi ponderare i risultati in base alla "vicinanza".

Un altro approccio, molto più veloce, sarebbe essenzialmente quello di ridimensionare la risoluzione del tuo spazio colore. Piuttosto che gestire tutti i possibili valori cromatici RGB, limita l'estrazione a un intervallo più piccolo come fa Google (solo blu, verde, nero, giallo, ecc.). Quindi l'utente può cercare con un set limitato di campioni di colore e calcolare la distanza dei colori diventa banale.


0
2018-01-18 22:12