Estrazione colore

NOTA

Content and Commerce AI è in versione beta. La documentazione è soggetta a modifiche.

Il servizio di estrazione del colore, quando viene fornita un'immagine, può calcolare un istogramma di colori pixel e ordinarli in blocchi in base a colori dominanti. I colori nei pixel dell'immagine sono inseriti in 40 colori predominanti che sono rappresentativi dello spettro di colori. Un istogramma di valori di colore viene quindi calcolato tra i 40 colori. Il servizio ha due varianti:

Estrazione colore (immagine completa)

Questo metodo estrae un istogramma di colore sull'intera immagine.

Estrazione colore (con maschera)

Questo metodo utilizza un estrattore in primo piano basato su apprendimento profondo per identificare gli oggetti in primo piano. Il modello viene addestrato su un catalogo di immagini e-commerce. Una volta estratto l’oggetto in primo piano, viene calcolato un istogramma sui colori dominanti come descritto in precedenza.

L'immagine seguente è stata utilizzata nell'esempio mostrato in questo documento:

immagine di prova

Formato API

POST /services/v1/predict

Richiesta

La richiesta di esempio seguente utilizza il metodo full-image per l’estrazione del colore.

La richiesta seguente estrae i colori da un’immagine in base ai parametri di input forniti nel payload. Per ulteriori informazioni sui parametri di input mostrati, consulta la tabella riportata di seguito.

ATTENZIONE

analyzer_id determina quale Sensei Content Framework viene utilizzato. Prima di effettuare la richiesta, controlla di disporre del analyzer_id corretto. Per il servizio di estrazione del colore, l’ analyzer_id ID è:
Feature:image-color-histogram:Service-6fe52999293e483b8e4ae9a95f1b81a7

curl -i -X POST https://sensei.adobe.io/services/v1/predict \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'Content-Type: multipart/form-data' \
  -H 'x-api-key: {API_KEY}' \
  -H 'cache-control: no-cache,no-cache' \
  -F file=@test_image.jpg \
  -F 'contentAnalyzerRequests={
   "enable_diagnostics":"true",
   "requests":[
     {
         "analyzer_id": "Feature:image-color-histogram:Service-6fe52999293e483b8e4ae9a95f1b81a7",
         "parameters": {
          "application-id": "1234", 
          "content-type": "inline", 
          "encoding": "jpeg", 
          "threshold": "0", 
          "top-N": "0", 
          "custom": {}, 
          "data": [{
            "content-id": "0987", 
            "content": "inline-image", 
            "content-type": "inline", 
            "encoding": "jpeg", 
            "threshold": "0", 
            "top-N": "0", 
            "historic-metadata": [], 
            "custom": {"exclude_mask": 1}
            }]
          }
      }
    ]
}'
Proprietà Descrizione Obbligatorio
analyzer_id L’ ID del servizio Sensei in cui viene distribuita la richiesta. Questo ID determina quale dei Sensei Content Frameworks viene utilizzato. Per i servizi personalizzati, contatta il team Content and Commerce AI per configurare un ID personalizzato.
application-id ID dell'applicazione creata.
data Matrice che contiene oggetti JSON. Ogni oggetto dell'array rappresenta un'immagine. Tutti i parametri passati come parte di questa matrice sostituiscono i parametri globali specificati all'esterno della matrice data. Qualsiasi proprietà rimanente descritta in questa tabella può essere ignorata da data.
content-id L'ID univoco dell'elemento dati restituito nella risposta. Se non viene passato, viene assegnato un ID generato automaticamente. No
content Contenuto da analizzare dal servizio di estrazione del colore. Nel caso in cui l'immagine faccia parte del corpo della richiesta, utilizza -F file=@<filename> nel comando curl per passare l'immagine, lasciando questo parametro come stringa vuota.
Se l'immagine è un file su S3, passa l'url firmato. Quando il contenuto fa parte del corpo della richiesta, l’elenco degli elementi dati deve avere un solo oggetto. Se vengono passati più oggetti, viene elaborato solo il primo oggetto.
content-type Utilizzato per indicare se l’input fa parte del corpo della richiesta o di un url firmato per un bucket S3. Il valore predefinito di questa proprietà è inline. No
encoding Formato del file dell'immagine di input. Attualmente è possibile elaborare solo immagini JPEG e PNG. Il valore predefinito di questa proprietà è jpeg. No
threshold La soglia del punteggio (da 0 a 1) al di sopra della quale devono essere restituiti i risultati. Utilizza il valore 0 per restituire tutti i risultati. Il valore predefinito di questa proprietà è 0. No
top-N Il numero di risultati da restituire (non può essere un numero intero negativo). Utilizza il valore 0 per restituire tutti i risultati. Se utilizzato insieme a threshold, il numero di risultati restituiti è il minore tra i due set di limiti. Il valore predefinito di questa proprietà è 0. No
custom Eventuali parametri personalizzati da trasmettere. No
historic-metadata Matrice che può essere passata ai metadati. No

Risposta

Una risposta corretta restituisce i dettagli dei colori estratti. Ogni colore è rappresentato da una chiave feature_value che contiene le seguenti informazioni:

  • Un nome di colore
  • Percentuale visualizzata in relazione all'immagine
  • Valore RGB del colore

Nel primo oggetto di esempio, il feature_value di White,0.59,251,251,243 indica che il colore trovato è bianco, il bianco si trova nel 59% dell'immagine e ha un valore RGB di 251.251.243.

{
  "status": 200,
  "content_id": "test_image.jpg",
  "cas_responses": [
    {
      "status": 200,
      "analyzer_id": "Feature:image-color-histogram:Service-e952f4acd7c2425199b476a2eb459635",
      "content_id": "test_image.jpg",
      "result": {
        "response_type": "feature",
        "response": [
          {
            "feature_value": [
              {
                "feature_name": "color_name_and_rgb",
                "feature_value": "White,0.59,251,251,243"
              },
              {
                "feature_value": "Orange,0.30,248,169,48",
                "feature_name": "color_name_and_rgb"
              },
              {
                "feature_name": "color_name_and_rgb",
                "feature_value": "Mustard,0.08,251,199,77"
              },
              {
                "feature_name": "color_name_and_rgb",
                "feature_value": "Gold,0.02,250,191,55"
              }
            ],
            "feature_name": "color"
          }
        ]
      }
    }
  ],
  "error": []
}
Proprietà Descrizione
content_id Nome dell’immagine caricata nella richiesta POST.
feature_value Matrice i cui oggetti contengono chiavi con lo stesso nome di proprietà. Queste chiavi contengono una stringa che rappresenta il nome del colore, una percentuale che questo colore appare in relazione all'immagine inviata in content_id e il valore RGB del colore.

In questa pagina