Assegnazione di tag colore

Il servizio di assegnazione tag colore, quando viene fornita un’immagine, può calcolare un istogramma dei colori pixel e ordinarli in base ai colori dominanti in contenitori. I colori nei pixel dell’immagine sono inseriti in 40 colori predominanti che sono rappresentativi dello spettro di colori. Viene quindi calcolato un istogramma di valori di colore tra questi 40 colori. Il servizio è disponibile in due varianti:

Assegnazione tag colore (immagine intera)

Questo metodo estrae un istogramma a colori sull'intera immagine.

Applicazione di tag colore (con maschera)

Questo metodo utilizza un sistema di estrazione in primo piano basato sull'apprendimento profondo per identificare gli oggetti in primo piano. Una volta estratti gli oggetti di primo piano, viene calcolato un istogramma sui colori dominanti sia per le regioni di primo piano che per quelle di sfondo, insieme all'intera immagine.

Estrazione del tono

Oltre alle varianti di cui sopra, puoi configurare il servizio per il recupero di un istogramma di toni per:

  • Immagine complessiva (quando si utilizza una variante immagine completa)
  • L’immagine complessiva e le aree di primo piano e sfondo (quando si utilizza la variante con il mascheramento)

Nell'esempio riportato in questo documento è stata utilizzata l'immagine seguente:

immagine di prova

Formato API

POST /services/v2/predict

Richiesta: variante immagine completa

La richiesta di esempio seguente utilizza il metodo dell’immagine intera per l’assegnazione di tag colore ed 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 seguente il payload di esempio.

curl -w'\n' -i -X POST https://sensei.adobe.io/services/v2/predict \
-H 'Prefer: respond-async, wait=59' \
-H "x-api-key: $API_KEY" \
-H "content-type: multipart/form-data" \
-H "authorization: Bearer $API_TOKEN" \
-F 'contentAnalyzerRequests={
  "sensei:name": "Feature:autocrop:Service-af865523d46547e2b17fdf9b38e32a72",
  "sensei:invocation_mode": "synchronous",
  "sensei:invocation_batch": false,
  "sensei:engines": [
    {
      "sensei:execution_info": {
        "sensei:engine": "Feature:autocrop:Service-af865523d46547e2b17fdf9b38e32a72"
      },
      "sensei:inputs": {
        "documents": [{
            "sensei:multipart_field_name": "infile_1",
            "dc:format": "image/jpg"
          }]
      },
      "sensei:params": {
        "top_n": 5,
        "min_coverage": 0.005
      },
      "sensei:outputs":{
        "result" : {
          "sensei:multipart_field_name" : "result",
          "dc:format": "application/json"
        }
      }
    }
  ]
}' \
-F 'infile_1=@1431RDMJANELLERAWJACKE_2.jpg'

Risposta: variante immagine completa

In caso di esito positivo, la risposta restituisce i dettagli dei colori estratti. Ogni colore è rappresentato da un feature_value key, che contiene le seguenti informazioni:

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

"White":{"coverage":0.5834,"rgb":{"red":254,"green":254,"blue":243}}significa che il colore trovato è bianco, che si trova nel 58,34% dell’immagine e ha un valore RGB medio di 254, 254, 243.

{
    "statuses": [{
        "sensei:engine": "Feature:autocrop:Service-af865523d46547e2b17fdf9b38e32a72",
        "invocations": [{
            "sensei:outputs": {
                "result": {
                    "sensei:multipart_field_name": "result",
                    "dc:format": "application/json"
                }
            },
            "message": null,
            "status": "200"
        }]
    }],
    "request_id": "bfpzaJxKDxtgxpjUj5QDrN1jasjUw2RM"
}

[{
    "overall": {
        "colors": {
            "White": {
                "coverage": 0.5834,
                "rgb": {
                    "red": 254,
                    "green": 254,
                    "blue": 243
                }
            },
            "Orange": {
                "coverage": 0.254,
                "rgb": {
                    "red": 249,
                    "green": 165,
                    "blue": 45
                }
            },
            "Gold": {
                "coverage": 0.0817,
                "rgb": {
                    "red": 253,
                    "green": 188,
                    "blue": 58
                }
            },
            "Mustard": {
                "coverage": 0.0727,
                "rgb": {
                    "red": 253,
                    "green": 207,
                    "blue": 84
                }
            },
            "Cream": {
                "coverage": 0.0082,
                "rgb": {
                    "red": 253,
                    "green": 236,
                    "blue": 174
                }
            }
        }
    }
}]

Il risultato qui presenta un colore estratto nella regione "complessiva" dell’immagine.

Richiesta: variante immagine mascherata

Nell'esempio di richiesta seguente viene utilizzato il metodo di mascheramento per l'assegnazione di tag colore. Questa funzione è abilitata impostando enable_mask parametro a true nella richiesta.

curl -w'\n' -i -X POST https://sensei.adobe.io/services/v2/predict \
-H 'Prefer: respond-async, wait=59' \
-H "x-api-key: $API_KEY" \
-H "content-type: multipart/form-data" \
-H "authorization: Bearer $API_TOKEN" \
-F 'contentAnalyzerRequests={
  "sensei:name": "Feature:autocrop:Service-af865523d46547e2b17fdf9b38e32a72",
  "sensei:invocation_mode": "synchronous",
  "sensei:invocation_batch": false,
  "sensei:engines": [
    {
      "sensei:execution_info": {
        "sensei:engine": "Feature:autocrop:Service-af865523d46547e2b17fdf9b38e32a72"
      },
      "sensei:inputs": {
        "documents": [{
            "sensei:multipart_field_name": "infile_1",
            "dc:format": "image/jpg"
          }]
      },
      "sensei:params": {
        "top_n": 5,
        "min_coverage": 0.005,
        "enable_mask": true,
        "retrieve_tone": true
      },
      "sensei:outputs":{
        "result" : {
          "sensei:multipart_field_name" : "result",
          "dc:format": "application/json"
        }
      }
    }
  ]
}' \
-F 'infile_1=@1431RDMJANELLERAWJACKE_2.jpg'
NOTA

Inoltre, il retrieve_tone Il parametro è impostato anche su true nella richiesta precedente. Questo consente di recuperare un istogramma di distribuzione del tono su toni caldi, neutri e freddi nelle aree generali, di primo piano e di sfondo dell'immagine.

Risposta - Variante immagine mascherata

{
    "statuses": [{
        "sensei:engine": "Feature:autocrop:Service-af865523d46547e2b17fdf9b38e32a72",
        "invocations": [{
            "sensei:outputs": {
                "result": {
                    "sensei:multipart_field_name": "result",
                    "dc:format": "application/json"
                }
            },
            "message": null,
            "status": "200"
        }]
    }],
    "request_id": "gpeCyJsrJvOWd94WwZOyPBPrKi2BQyla"
}


[{
    "overall": {
        "colors": {
            "White": {
                "coverage": 0.5834,
                "rgb": {
                    "red": 254,
                    "green": 254,
                    "blue": 243
                }
            },
            "Orange": {
                "coverage": 0.254,
                "rgb": {
                    "red": 249,
                    "green": 165,
                    "blue": 45
                }
            },
            "Gold": {
                "coverage": 0.0817,
                "rgb": {
                    "red": 253,
                    "green": 188,
                    "blue": 58
                }
            },
            "Mustard": {
                "coverage": 0.0727,
                "rgb": {
                    "red": 253,
                    "green": 207,
                    "blue": 84
                }
            },
            "Cream": {
                "coverage": 0.0082,
                "rgb": {
                    "red": 253,
                    "green": 236,
                    "blue": 174
                }
            }
        },
        "tones": {
            "warm": 0.4084,
            "neutral": 0.5916,
            "cool": 0
        }
    },
    "foreground": {
        "colors": {
            "Orange": {
                "coverage": 0.6022,
                "rgb": {
                    "red": 249,
                    "green": 165,
                    "blue": 45
                }
            },
            "Gold": {
                "coverage": 0.1935,
                "rgb": {
                    "red": 253,
                    "green": 188,
                    "blue": 58
                }
            },
            "Mustard": {
                "coverage": 0.1722,
                "rgb": {
                    "red": 253,
                    "green": 207,
                    "blue": 84
                }
            },
            "Cream": {
                "coverage": 0.0173,
                "rgb": {
                    "red": 253,
                    "green": 235,
                    "blue": 170
                }
            },
            "Yellow": {
                "coverage": 0.0148,
                "rgb": {
                    "red": 254,
                    "green": 229,
                    "blue": 117
                }
            }
        },
        "tones": {
            "warm": 0.9827,
            "neutral": 0.0173,
            "cool": 0
        }
    },
    "background": {
        "colors": {
            "White": {
                "coverage": 0.9923,
                "rgb": {
                    "red": 254,
                    "green": 254,
                    "blue": 243
                }
            },
            "Dark_Brown": {
                "coverage": 0.0077,
                "rgb": {
                    "red": 83,
                    "green": 68,
                    "blue": 57
                }
            }
        },
        "tones": {
            "warm": 0,
            "neutral": 1.0,
            "cool": 0
        }
    }
}]

Oltre ai colori dell'immagine complessiva, è ora possibile visualizzare anche i colori delle aree di primo piano e di sfondo. Poiché il recupero del tono è abilitato per ciascuna delle regioni sopra indicate, è anche possibile recuperare l'istogramma di un tono.

Parametri di input

Nome Tipo di dati Obbligatorio Impostazione predefinita Valori Descrizione
documents array (Document-Object) - Vedi sotto Elenco di elementi JSON con ogni elemento nell’elenco che rappresenta un documento.
top_n number No 0 Numero intero non negativo Numero di risultati da restituire. 0, per restituire tutti i risultati. Se utilizzato insieme a threshold, il numero di risultati restituiti sarà inferiore a uno dei due limiti.
min_coverage number No 0.05 Numero reale Soglia di copertura oltre la quale i risultati devono essere restituiti. Escludi parametro per restituire tutti i risultati.
resize_image number No True Vero/Falso Indica se ridimensionare o meno l'immagine di input. Per impostazione predefinita, le immagini vengono ridimensionate a 320*320 pixel prima dell'esecuzione dell'estrazione del colore. A scopo di debug, possiamo consentire l’esecuzione del codice anche sull’immagine intera impostandola su False.
enable_mask number No False Vero/Falso Attiva/disattiva l'estrazione del colore
retrieve_tone number No False Vero/Falso Attiva/disattiva l'estrazione del tono

Oggetto Document

Nome Tipo di dati Obbligatorio Impostazione predefinita Valori Descrizione
repo:path string - - - URL predefinito del documento.
sensei:repoType string - - HTTPS Tipo di archivio in cui viene memorizzata l’immagine.
sensei:multipart_field_name string - - - Utilizzalo quando trasmetti il file immagine come argomento multipart invece di utilizzare URL prefirmati.
dc:format string - "image/jpg",
image/jpeg
"image/png",
"image/tiff"
La codifica dell’immagine viene verificata in base ai tipi di codifica di input consentiti prima dell’elaborazione.

In questa pagina