

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Etichettatura dei dati con un approccio human-in-the-loop
<a name="data-label"></a>

Per addestrare un modello di machine learning, è necessario un set di dati etichettato di grandi dimensioni e di alta qualità. Puoi etichettare i tuoi dati con Amazon SageMaker Ground Truth. Scegli tra uno dei [tipi di attività predefiniti](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html) di Ground Truth o crea il tuo [flusso di lavoro di etichettatura personalizzato](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates.html). Per migliorare l'accuratezza delle etichette dei dati e ridurre il costo totale dell'etichettatura dei dati, utilizza le funzionalità avanzate di etichettatura dei dati di Ground Truth come l'[etichettatura automatica dei dati](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-automated-labeling.html) e il [consolidamento delle annotazioni](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-annotation-consolidation.html). 



**Topics**
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Usa Amazon SageMaker Ground Truth Plus per etichettare i dati](gtp.md)
+ [Forza lavoro](sms-workforce-management.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)
+ [Utilizzo di IA aumentata Amazon per la revisione umana](a2i-use-augmented-ai-a2i-human-review-loops.md)

# Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth
<a name="sms"></a>

Per addestrare un modello di machine learning, è necessario un set di dati etichettato di grandi dimensioni e di alta qualità. Ground Truth ti aiuta a creare set di dati di addestramento di alta qualità per i tuoi modelli di machine learning. Con Ground Truth, puoi utilizzare worker di Amazon Mechanical Turk, di un'azienda fornitrice di tua scelta o una forza lavoro interna, privata insieme a tecniche di machine learning per consentire la creazione di un set di dati etichettato. Puoi utilizzare l'output del set di dati etichettato di Ground Truth per eseguire l’addestramento dei tuoi modelli. Puoi anche utilizzare l'output come set di dati di addestramento per un modello Amazon SageMaker AI.

A seconda dell'applicazione ML in uso, è possibile scegliere tra uno dei tipi di attività Ground Truth integrate per consentire ai worker di generare tipi specifici di etichette per i dati. È inoltre possibile creare un flusso di lavoro di etichettatura personalizzato per fornire un'interfaccia utente e strumenti personalizzati ai worker che etichettano i dati. Per ulteriori informazioni sui tipi di attività Ground Truth integrati, consulta [Tipi di attività integrati](sms-task-types.md). Per informazioni su come creare un flusso di lavoro di etichettatura personalizzato, consulta [Flussi di lavoro di etichettatura personalizzati](sms-custom-templates.md).

Per automatizzare l'etichettatura del set di dati di addestramento, puoi opzionalmente utilizzare *etichettatura dei dati automatica*, un processo Ground Truth che utilizza tecniche di machine learning per decidere quali dati devono essere etichettati dagli umani. L'etichettatura dei dati automatica può ridurre il tempo di etichettatura e l'impegno manuale richiesto. Per ulteriori informazioni, consulta [Automatizzare l’etichettatura dei dati](sms-automated-labeling.md). Per creare un flusso di lavoro di etichettatura personalizzato, consulta [Flussi di lavoro di etichettatura personalizzati](sms-custom-templates.md).

Utilizza strumenti precompilati o personalizzati per assegnare le attività di etichettatura per il set di dati di addestramento. Un *modello di interfaccia utente di etichettatura* è una pagina Web utilizzata da Ground Truth per presentare le attività e le istruzioni ai worker. La console SageMaker AI fornisce modelli integrati per l'etichettatura dei dati. Puoi utilizzare questi modelli per iniziare, oppure puoi creare le tue attività e istruzioni utilizzando i componenti HTML 2.0. Per ulteriori informazioni, consulta [Flussi di lavoro di etichettatura personalizzati](sms-custom-templates.md). 

Utilizzo della forza lavoro preferita per etichettare il set di dati. Puoi scegliere la forza lavoro tra:
+ La forza lavoro di Amazon Mechanical Turk composta da oltre 500.000 appaltatori indipendenti in tutto il mondo.
+ Una forza lavoro privata creata dai dipendenti o dagli appaltatori per la gestione dei dati all'interno dell'organizzazione.
+ Una società fornitrice che puoi trovare in the Marketplace AWS specializzata in servizi di etichettatura dei dati.

Per ulteriori informazioni, consulta [Forza lavoro](sms-workforce-management.md).

Archiviazione di set di dati in bucket Amazon S3. I bucket contengono: i dati da etichettare, un file manifest di input utilizzato da Ground Truth per leggere i file di dati e un file manifest di output. Il file di output contiene i risultati del processo di etichettatura. Per ulteriori informazioni, consulta [Utilizzare dati di input e output](sms-data.md).

Gli eventi dei tuoi lavori di etichettatura vengono visualizzati in Amazon CloudWatch sotto il `/aws/sagemaker/LabelingJobs` gruppo. CloudWatch utilizza il nome del processo di etichettatura come nome per il flusso di log.

## Utilizzi Ground Truth per la prima volta?
<a name="what-first-time"></a>

Se utilizzi Ground Truth per la prima volta, ti consigliamo di eseguire quanto segue:

1. **Leggi [Nozioni di base: crea un processo di etichettatura dei riquadri delimitatori con Ground Truth](sms-getting-started.md)**: questa sezione guida attraverso la configurazione del tuo primo processo di etichettatura Ground Truth.

1. **Esplora altri argomenti**: in base alle tue esigenze, procedi nel seguente modo:
   + **Esplora i tipi di attività predefiniti**: utilizza i tipi di attività predefiniti per semplificare il processo di creazione di un processo di etichettatura. Per ulteriori informazioni sui tipi di attività Ground Truth integrati, consulta [Tipi di attività integrati](sms-task-types.md).
   + **Gestione della forza lavoro di etichettatura**: crea nuovi team di lavoro e gestisci la forza lavoro esistente. Per ulteriori informazioni, consulta [Forza lavoro](sms-workforce-management.md).
   + **Scopri i processi di etichettatura in streaming**: crea un processo di etichettatura in streaming e invia nuovi oggetti del set di dati ai worker in tempo reale utilizzando un processo di etichettatura in esecuzione perpetua. I processi ricevono continuamente nuovi oggetti dati da etichettare finché il processo di etichettatura è attivo e gli vengono inviati nuovi oggetti. Per ulteriori informazioni, consulta [Processi di etichettatura in streaming Ground Truth](sms-streaming-labeling-job.md).

1. **Per saperne di più sulle operazioni disponibili per automatizzare le operazioni di Ground Truth, consulta il riferimento all'API del [servizio SageMaker AI](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Operations_Amazon_SageMaker_Service.html).**

# Nozioni di base: crea un processo di etichettatura dei riquadri delimitatori con Ground Truth
<a name="sms-getting-started"></a>

Per iniziare a usare Amazon SageMaker Ground Truth, segui le istruzioni nelle seguenti sezioni. Queste sezioni illustrano come utilizzare la console per creare un processo di etichettatura dei riquadri delimitatori, assegnare una forza lavoro pubblica o privata e inviare il processo di etichettatura alla forza lavoro. Viene spiegato anche come monitorare lo stato di avanzamento di un processo di etichettatura.

Questo video mostra come configurare e utilizzare Amazon SageMaker Ground Truth. (Durata: 9:37)

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/_FPI6KjDlCI/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/_FPI6KjDlCI)


Se desideri creare un flusso di lavoro di etichettatura personalizzato, consulta [Flussi di lavoro di etichettatura personalizzati](sms-custom-templates.md) per istruzioni.

Prima di creare un processo di etichettatura, devi caricare il set di dati in un bucket Amazon S3. Per ulteriori informazioni, consulta [Utilizzare dati di input e output](sms-data.md).

**Topics**
+ [Prima di iniziare](#sms-getting-started-step1)
+ [Creazione di un processo di etichettatura](#sms-getting-started-step2)
+ [Seleziona Worker](#sms-getting-started-step3)
+ [Configurare lo strumento riquadro di delimitazione](#sms-getting-started-step4)
+ [Monitoraggio del processo di etichettatura](sms-getting-started-step5.md)

## Prima di iniziare
<a name="sms-getting-started-step1"></a>

Prima di iniziare a utilizzare la console SageMaker AI per creare un processo di etichettatura, devi configurare il set di dati per l'uso. Esegui questa operazione:

1. Salva due immagini su HTTP disponibile pubblicamente. URLs Le immagini vengono utilizzate durante la creazione di istruzioni per il completamento di un'attività di etichettatura. La proporzione delle immagini deve essere di circa 2:1. Per questo esercizio, il contenuto delle immagini non è importante.

1. Crea un bucket Amazon S3 per contenere i file di input e output. Il bucket deve trovarsi nella stessa Regione in cui si esegue Ground Truth. Prendi nota del nome del bucket perché verrà utilizzato durante la fase 2.

   Ground Truth richiede che tutti i bucket S3 che contengono dati di immagine di input del processo di etichettatura abbiano una policy CORS collegata. Per ulteriori informazioni su questa modifica, consulta [Requisito CORS per i dati delle immagini di input](sms-cors-update.md).

1. Puoi creare un ruolo IAM o lasciare che l' SageMaker IA crei un ruolo con la policy [AmazonSageMakerFullAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonSageMakerFullAccess)IAM. Consulta [Creating IAM roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html) e assegna la seguente policy di autorizzazione all'utente che crea il processo di etichettatura:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "sagemakergroundtruth",
               "Effect": "Allow",
               "Action": [
                   "cognito-idp:CreateGroup",
                   "cognito-idp:CreateUserPool",
                   "cognito-idp:CreateUserPoolDomain",
                   "cognito-idp:AdminCreateUser",
                   "cognito-idp:CreateUserPoolClient",
                   "cognito-idp:AdminAddUserToGroup",
                   "cognito-idp:DescribeUserPoolClient",
                   "cognito-idp:DescribeUserPool",
                   "cognito-idp:UpdateUserPool"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

## Creazione di un processo di etichettatura
<a name="sms-getting-started-step2"></a>

In questa fase utilizza la console per creare un processo di etichettatura. Comunichi ad Amazon SageMaker Ground Truth il bucket Amazon S3 in cui è archiviato il file manifest e configuri i parametri per il processo. Per ulteriori informazioni sull'archiviazione dei dati in un bucket Amazon S3, consulta [Utilizzare dati di input e output](sms-data.md).

**Per creare un processo di etichettatura**

1. Apri la console SageMaker AI all'indirizzo. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)

1. Nel riquadro di navigazione sinistro, scegli **Processi di etichettatura**.

1. Scegli **Crea processo di etichettatura** per avviare il processo di creazione.

1. Nella sezione **Panoramica del processo**, inserisci le informazioni seguenti:
   + **Nome processo**: assegna al processo di etichettatura un nome che descriva il processo. Questo nome viene mostrato nell'elenco dei processi. Il nome deve essere univoco nel tuo account in una AWS regione.
   + **Nome attributo dell'etichetta**: lascialo deselezionato poiché il valore predefinito è l'opzione migliore per questo processo introduttivo.
   + **Configurazione dei dati di input**: seleziona **Configurazione automatica dei dati**. Questa opzione ti consente di connetterti automaticamente ai dati di input in S3. 
   + **Posizione S3 per i set di dati di input**: inserisci la posizione S3 in cui hai aggiunto le immagini nella fase 1.
   + **Posizione S3 per i set di dati di output**: la posizione in cui i dati di output sono scritti in S3.
   + **Tipo di dati**: utilizza il menu a discesa per selezionare **Immagine**. Ground Truth utilizzerà tutte le immagini trovate nella posizione S3 per i set di dati di input come input per il processo di etichettatura.
   + **Ruolo IAM**: crea o scegli un ruolo IAM con la policy AmazonSageMakerFullAccess IAM allegata.

1. Nella sezione **Tipo di attività**, per il campo **Categoria attività**, scegli **Immagine**. 

1. In **Selezione attività**, scegli **Riquadro di delimitazione.** 

1. Scegli **Successivo** per passare alla configurazione del processo di etichettatura.

## Seleziona Worker
<a name="sms-getting-started-step3"></a>

In questa fase puoi scegliere una forza lavoro per etichettare il set di dati. Si consiglia di creare una forza lavoro privata per testare Amazon SageMaker Ground Truth. Utilizza indirizzi e-mail per invitare i membri della forza lavoro. Se crei una forza lavoro privata in questa fase non potrai importare il pool di utenti di Amazon Cognito in seguito. Se desideri creare una forza lavoro privata utilizzando un pool di utenti di Amazon Cognito, consulta [Gestisci una forza lavoro privata (Amazon Cognito)](sms-workforce-management-private.md) e utilizza invece la forza lavoro di Mechanical Turk in questo tutorial.

**Suggerimento**  
Per ulteriori informazioni sulle altre opzioni relative alla forza lavoro che puoi utilizzare con Ground Truth, consulta [Forza lavoro](sms-workforce-management.md). 

**Per creare una forza lavoro privata:**

1. Nella sezione **Worker** scegli **Privata**.

1. Se è la prima volta che utilizzi una forza lavoro privata, nel campo **Indirizzi e-mail**, inserisci un massimo di 100 indirizzi e-mail. Gli indirizzi devono essere separati da una virgola. È opportuno includere il proprio indirizzo e-mail in modo da far parte della forza lavoro e visualizzare le attività di etichettatura degli oggetti dati.

1. Nel campo **Nome organizzazione**, inserisci il nome dell'organizzazione. Queste informazioni vengono utilizzate per personalizzare l'e-mail inviata per invitare una persona nella forza lavoro privata. Puoi modificare il nome dell'organizzazione dopo la creazione del pool di utenti tramite la console.

1. Nel campo **E-mail di contatto** inserisci un indirizzo e-mail utilizzato dai membri della forza lavoro per segnalare problemi con l'attività.

Se ti aggiungi alla forza lavoro privata, riceverai un'e-mail simile alla seguente. **Amazon, Inc.** viene sostituita dall'organizzazione inserita nella fase 3 della procedura precedente. Seleziona il link contenuto nell'e-mail per accedere utilizzando la password temporanea fornita. Se richiesto, modifica la password. Una volta effettuato correttamente l'accesso, viene visualizzato il portale dei worker in cui vengono visualizzate le attività di etichettatura.

![\[Esempio di invito via e-mail a collaborare a un progetto di etichettatura.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/worker_portal_invite.png)


**Suggerimento**  
Puoi trovare il link al portale dei lavoratori della tua forza lavoro privata nella sezione **Labeling workforces** dell'area Ground Truth della SageMaker console AI. Per vedere il link, seleziona la scheda **Privato**. Il link si trova sotto l'intestazione **URL di accesso portale di etichettatura** in **Riepilogo forza lavoro privata**.

Se scegli di utilizzare la forza lavoro di Amazon Mechanical Turk per etichettare il set di dati, ti vengono addebitati i costi delle attività di etichettatura completate nel set di dati.

**Per utilizzare la forza lavoro di Amazon Mechanical Turk:**

1. Nella sezione **Worker**, scegli **Pubblica**.

1. Imposta un **Prezzo per attività**.

1. Se applicabile, scegli **Il dataset non contiene contenuti per adulti** per confermare che il set di dati di esempio non include contenuti per adulti. Queste informazioni consentono ad Amazon SageMaker Ground Truth di avvisare i lavoratori esterni di Mechanical Turk che potrebbero trovare contenuti potenzialmente offensivi nel tuo set di dati.

1. Seleziona la casella di controllo accanto alla seguente dichiarazione per confermare che il set di dati di esempio non contiene informazioni di identificazione personale (PII). Questo è un requisito per utilizzare Mechanical Turk con Ground Truth. Se i dati di input contengono informazioni personali, utilizza la forza lavoro privata per questo tutorial. 

   **Comprendi e accetti che la forza lavoro di Amazon Mechanical Turk è composta da collaboratori indipendenti dislocati in tutto il mondo e che non devi condividere informazioni riservate, informazioni personali o informazioni sanitarie protette con questa forza lavoro**.

## Configurare lo strumento riquadro di delimitazione
<a name="sms-getting-started-step4"></a>

Per finire, configura lo strumento riquadro di delimitazione per fornire istruzioni ai worker. Puoi configurare un titolo attività che descrive l'attività e fornisce istruzioni di alto livello per i worker. È possibile fornire sia istruzioni rapide che le istruzioni complete. Le istruzioni rapide vengono visualizzate accanto all'immagine da etichettare. Le istruzioni complete contengono istruzioni dettagliate per il completamento dell'attività. In questo esempio vengono fornite solo istruzioni rapide. Per visualizzare un esempio di istruzioni complete, scegli **Istruzioni complete** nella parte inferiore della sezione.

**Per configurare lo strumento riquadro di delimitazione**

1. Nel campo **Descrizione attività** digita istruzioni brevi per l'attività. Esempio:

   **Draw a box around any *objects* in the image.**

   *objects*Sostituiscilo con il nome di un oggetto che appare nelle tue immagini.

1. Nel campo **Etichette**, digita un nome di categoria per gli oggetti che il worker deve racchiudere con un riquadro di delimitazione. Ad esempio, se viene chiesto al worker di disegnare caselle attorno a calciatori, è possibile utilizzare "FootballPlayer" in questo campo.

1. La sezione **Istruzioni brevi** consente di creare le istruzioni che vengono visualizzate nella pagina con l'immagine che i worker stanno etichettando. Ti consigliamo di includere un esempio di riquadro di delimitazione correttamente disegnato e un esempio di riquadro disegnato erroneamente. Per creare le tue istruzioni, utilizza queste fasi:

   1. Seleziona il testo tra **GOOD EXAMPLE** e il segnaposto dell'immagine. Sostituiscilo con il testo seguente:

      **Draw the box around the object with a small border.**

   1. Seleziona il primo segnaposto dell'immagine ed eliminarlo.

   1. Scegli il pulsante immagine, quindi immetti l'URL HTTPS di una delle immagini create nella fase 1. Puoi anche incorporare immagini direttamente nella sezione delle istruzioni brevi, tuttavia questa sezione ha una quota di 100 kilobyte (testo incluso). Se le immagini e il testo superano i 100 kilobyte, visualizzerai un messaggio di errore.

   1. Seleziona il testo tra **BAD EXAMPLE** e il segnaposto dell'immagine. Sostituiscilo con il testo seguente:

      **Don't make the bounding box too large or cut into the object.**

   1. Seleziona il secondo segnaposto dell'immagine ed eliminarlo.

   1. Scegli il pulsante immagine, quindi immetti l'URL HTTPS dell'altra immagine creata nella fase 1.

1. Seleziona **Anteprima** per visualizzare l'anteprima dell'interfaccia utente del worker. L'anteprima si apre in una nuova scheda, quindi se il browser blocca i popup, potrebbe essere necessario abilitare manualmente l'apertura della scheda. Quando aggiungi una o più annotazioni all'anteprima e poi selezioni **Invia**, puoi vedere un'anteprima dei dati di output che l'annotazione creerebbe.

1. Dopo aver configurato e verificato le istruzioni, seleziona **Crea** per creare il processo di etichettatura.

Se hai utilizzato una forza lavoro privata, puoi accedere al portale dei worker a cui è stato effettuato l'accesso in [Seleziona Worker](#sms-getting-started-step3) di questo tutorial per visualizzare le tue attività di etichettatura. Potrebbero essere necessari alcuni minuti per la visualizzazione dell’attività.

Ora che hai creato un processo di etichettatura, puoi [monitorarlo o arrestarlo](sms-getting-started-step5.md).

# Monitoraggio del processo di etichettatura
<a name="sms-getting-started-step5"></a>

Dopo aver creato il processo di etichettatura, viene visualizzato un elenco di tutti i processi creati. Puoi usare questo elenco per monitorare lo stato dei processi di etichettatura. L'elenco include i campi seguenti:
+ **Nome**: il nome che hai assegnato l processo al momento della creazione.
+ **Stato**: lo stato di completamento del processo. Lo stato può essere uno tra Completato, Non riuscito, In corso o Interrotto.
+ **Oggetti etichettati/totali**: mostra il numero totale di oggetti nel processo di etichettatura e quanti di essi sono stati etichettati.
+ **Ora di creazione**: la data e l'ora in cui è stato creato il processo.

È anche possibile clonare, concatenare o arrestare un processo. Seleziona un processo e quindi seleziona una delle opzioni seguenti nel menu **Azioni**:
+ **Clona**: crea un nuovo processo di etichettatura con la configurazione copiata dal processo selezionato. Puoi clonare un processo quando vuoi apportare una modifica al processo ed eseguirlo nuovamente. Ad esempio, puoi clonare un processo che è stato inviato a una forza lavoro privata in modo da poterlo inviare alla forza lavoro di Amazon Mechanical Turk. Oppure puoi clonare un processo per eseguirlo nuovamente rispetto a un nuovo set di dati archiviato nella stessa posizione del processo originale.
+ **Concatena**: crea un nuovo processo di etichettatura che può basarsi sui dati e sui modelli (se presenti) di un processo interrotto, non riuscito o completato. Per ulteriori informazioni sui casi d'uso e sul loro utilizzo, consulta [Concatenazione di processi di etichettatura](sms-reusing-data.md).
+ **Interrompi**: interrompe un processo in esecuzione. Non è possibile riavviare un processo arrestato. È possibile clonare un processo per iniziare da capo oppure concatenare il processo per proseguire dal punto in cui è stato interrotto. Le etichette per gli eventuali oggetti già etichettati vengono scritte nella posizione del file di output. Per ulteriori informazioni, consulta [Etichettatura dei dati di output di un processo](sms-data-output.md).

# Etichettatura delle immagini
<a name="sms-label-images"></a>

Usa Ground Truth per etichettare le immagini. Seleziona uno dei seguenti tipi di attività predefiniti per saperne di più su quel tipo di attività. Ogni pagina include istruzioni per aiutarti a creare un processo di etichettatura utilizzando quel tipo di attività.

**Suggerimento**  
Per ulteriori informazioni sui tipi di file supportati e sulle quote di dati di input, consulta [Dati di input](sms-data-input.md).

**Topics**
+ [Classificare oggetti di immagini utilizzando un riquadro di delimitazione](sms-bounding-box.md)
+ [Identificare i contenuti delle immagini utilizzando la segmentazione semantica](sms-semantic-segmentation.md)
+ [Strumento di auto-segmentazione](sms-auto-segmentation.md)
+ [Creare un processo di etichettatura per la classificazione delle immagini (API)](sms-image-classification.md)
+ [Creare un processo di etichettatura per la classificazione delle immagini (multi-etichetta)](sms-image-classification-multilabel.md)
+ [Verifica dell'etichetta dell’immagine](sms-label-verification.md)

# Classificare oggetti di immagini utilizzando un riquadro di delimitazione
<a name="sms-bounding-box"></a>

Le immagini utilizzate per addestrare un modello di machine learning spesso contengono più di un oggetto. Per classificare e localizzare uno o più oggetti all'interno delle immagini, utilizza il tipo di attività di etichettatura del bounding box di Amazon SageMaker Ground Truth. In questo contesto, la localizzazione indica la posizione pixel del riquadro di delimitazione. Puoi creare un lavoro di etichettatura dei bounding box utilizzando la sezione Ground Truth della console Amazon SageMaker AI o l'[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)operazione.

**Importante**  
Per questo tipo di attività, se si crea un file manifest personalizzato, utilizza `"source-ref"` per identificare la posizione di ciascun file immagine in Amazon S3 che desideri etichettare. Per ulteriori informazioni, consulta [Dati di input](sms-data-input.md).

## Creazione di un processo di etichettatura del rettangolo di selezione (console)
<a name="sms-creating-bounding-box-labeling-job-console"></a>

Puoi seguire le istruzioni [Creare un processo di etichettatura (console)](sms-create-labeling-job-console.md) per imparare a creare un processo di etichettatura dei bounding box nella console AI. SageMaker Nella fase 10, scegli **Immagine** dal menu a discesa della **categoria Attività** e scegli **Riquadro di delimitazione** come tipo di attività. 

Ground Truth fornisce un'interfaccia utente di lavoro simile alla seguente per le attività di etichettatura. Quando si crea il processo di etichettatura con la console, si specificano le istruzioni per consentire ai worker di completare il processo e un massimo di 50 etichette tra cui i worker possono scegliere. 

![\[GIF che mostra come disegnare un riquadro attorno a un oggetto per una categoria.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/gifs/bb-sample.gif)


## Creare un processo di etichettatura del riquadro di delimitazione (API)
<a name="sms-creating-bounding-box-labeling-job-api"></a>

Per creare un processo di etichettatura dei riquadri delimitatori, utilizza l'operazione API. SageMaker `CreateLabelingJob` Questa API definisce questa operazione per tutti. AWS SDKs Per visualizzare un elenco delle lingue specifiche SDKs supportate per questa operazione, **consulta la sezione Vedere anche** di. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)

Segui queste istruzioni su [Creare un processo di etichettatura (API)](sms-create-labeling-job-api.md) ed effettua le seguenti operazioni durante la configurazione della richiesta: 
+ Le funzioni Lambda di pre-annotazione per questo tipo di attività terminano con `PRE-BoundingBox`. Per trovare l'ARN Lambda di pre-annotazione per la tua regione, consulta. [PreHumanTaskLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_HumanTaskConfig.html#SageMaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn) 
+ Le funzioni Lambda di consolidamento delle annotazioni per questo tipo di attività terminano con `ACS-BoundingBox`. Per trovare l'ARN Lambda di consolidamento delle annotazioni per la tua regione, consulta. [AnnotationConsolidationLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_AnnotationConsolidationConfig.html#SageMaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn) 

Di seguito è riportato un esempio di richiesta [AWS Python SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job) per creare un processo di etichettatura nella Regione Stati Uniti orientali (Virginia settentrionale). Tutti i parametri in rosso devono essere sostituiti con le specifiche e le risorse. 

```
response = client.create_labeling_job(
    LabelingJobName='example-bounding-box-labeling-job,
    LabelAttributeName='label',
    InputConfig={
        'DataSource': {
            'S3DataSource': {
                'ManifestS3Uri': 's3://bucket/path/manifest-with-input-data.json'
            }
        },
        'DataAttributes': {
            'ContentClassifiers': [
                'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent',
            ]
        }
    },
    OutputConfig={
        'S3OutputPath': 's3://bucket/path/file-to-store-output-data',
        'KmsKeyId': 'string'
    },
    RoleArn='arn:aws:iam::*:role/*,
    LabelCategoryConfigS3Uri='s3://bucket/path/label-categories.json',
    StoppingConditions={
        'MaxHumanLabeledObjectCount': 123,
        'MaxPercentageOfInputDatasetLabeled': 123
    },
    HumanTaskConfig={
        'WorkteamArn': 'arn:aws:sagemaker:region:*:workteam/private-crowd/*',
        'UiConfig': {
            'UiTemplateS3Uri': 's3://bucket/path/worker-task-template.html'
        },
        'PreHumanTaskLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:PRE-BoundingBox',
        'TaskKeywords': [
            'Bounding Box',
        ],
        'TaskTitle': 'Bounding Box task',
        'TaskDescription': 'Draw bounding boxes around objects in an image',
        'NumberOfHumanWorkersPerDataObject': 123,
        'TaskTimeLimitInSeconds': 123,
        'TaskAvailabilityLifetimeInSeconds': 123,
        'MaxConcurrentTaskCount': 123,
        'AnnotationConsolidationConfig': {
            'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-BoundingBox'
          }
        },
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
```

### Fornire un modello per i processi di etichettatura dei riquadri di delimitazione
<a name="sms-create-labeling-job-bounding-box-api-template"></a>

Se stai creando un'attività di etichettatura utilizzando l'API, devi fornire un modello di attività del worker in `UiTemplateS3Uri`. Copia e modifica il modello seguente. Modifica solo [https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-quick-instructions](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-quick-instructions), [https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-full-instructions](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-full-instructions) e `header`. Carica questo modello in S3 e fornisci l'URI S3 per questo file in `UiTemplateS3Uri`.

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
<crowd-form>
  <crowd-bounding-box
    name="boundingBox"
    src="{{ task.input.taskObject | grant_read_access }}"
    header="please draw box"
    labels="{{ task.input.labels | to_json | escape }}"
  >

    <full-instructions header="Bounding box instructions">
      <ol><li><strong>Inspect</strong> the image</li><li><strong>Determine</strong> 
      if the specified label is/are visible in the picture.</li>
      <li><strong>Outline</strong> each instance of the specified label in the image using the provided “Box” tool.</li></ol>
      <ul><li>Boxes should fit tight around each object</li>
      <li>Do not include parts of the object are overlapping or that cannot be seen, even though you think you can interpolate the whole shape.</li>
      <li>Avoid including shadows.</li>
      <li>If the target is off screen, draw the box up to the edge of the image.</li>    
    </full-instructions>
  
    <short-instructions>
      <h3><span style="color: rgb(0, 138, 0);">Good example</span></h3>
      <p>Enter description of a correct bounding box label and add images</p>
      <h3><span style="color: rgb(230, 0, 0);">Bad example</span></h3>
      <p>Enter description of an incorrect bounding box label and add images</p>
    </short-instructions>
  
  </crowd-bounding-box>
</crowd-form>
```

## Dati di output del riquadro di delimitazione
<a name="sms-bounding-box-output-data"></a>

Dopo aver creato un processo di etichettatura del riquadro di delimitazione, i dati di output si troveranno nel bucket Amazon S3 specificato nel parametro `S3OutputPath` quando si utilizza l'API o nel campo **Posizione del set di dati di output** della sezione **Panoramica dei processi** della console. 

Ad esempio, il file manifest di output di un'attività del riquadro di delimitazione a classe singola completato correttamente conterrà quanto segue: 

```
[
  {
    "boundingBox": {
      "boundingBoxes": [
        {
          "height": 2832,
          "label": "bird",
          "left": 681,
          "top": 599,
          "width": 1364
        }
      ],
      "inputImageProperties": {
        "height": 3726,
        "width": 2662
      }
    }
  }
]
```

Il parametro `boundingBoxes` identifica la posizione del riquadro di delimitazione disegnato attorno a un oggetto identificato come «uccello» rispetto all'angolo in alto a sinistra dell'immagine che viene considerata la coordinata pixel (0,0). Nell'esempio precedente, **`left`** e **`top`** identifica la posizione del pixel nell'angolo in alto a sinistra del riquadro di delimitazione rispetto all'angolo in alto a sinistra dell'immagine. Le dimensioni del riquadro di delimitazione sono identificate con **`height`** e **`width`**. Il parametro `inputImageProperties` fornisce le dimensioni in pixel dell'immagine di input originale.

Quando utilizzi il tipo di attività di etichettatura del riquadro di delimitazione, puoi creare attività di etichettatura del riquadro di delimitazione a classe singola e multiclasse. Il file manifest di output di un riquadro di delimitazione multi-classe completato correttamente conterrà quanto segue: 

```
[
  {
    "boundingBox": {
      "boundingBoxes": [
        {
          "height": 938,
          "label": "squirrel",
          "left": 316,
          "top": 218,
          "width": 785
        },
        {
          "height": 825,
          "label": "rabbit",
          "left": 1930,
          "top": 2265,
          "width": 540
        },
        {
          "height": 1174,
          "label": "bird",
          "left": 748,
          "top": 2113,
          "width": 927
        },
        {
          "height": 893,
          "label": "bird",
          "left": 1333,
          "top": 847,
          "width": 736
        }
      ],
      "inputImageProperties": {
        "height": 3726,
        "width": 2662
      }
    }
  }
]
```

Per ulteriori informazioni sul file manifest di output risultante da un processo di etichettatura del riquadro di delimitazione, consulta [Output del processo di un riquadro di delimitazione](sms-data-output.md#sms-output-box).

Per ulteriori informazioni sul file manifest di output generato da Ground Truth e sulla struttura di file utilizzata da Ground Truth per archiviare i dati di output, consulta [Etichettatura dei dati di output di un processo](sms-data-output.md). 

# Identificare i contenuti delle immagini utilizzando la segmentazione semantica
<a name="sms-semantic-segmentation"></a>

Per identificare il contenuto di un'immagine a livello di pixel, utilizza un'attività di etichettatura semantica di Amazon SageMaker Ground Truth. Quando viene assegnato un processo di etichettatura di segmentazione semantica, i worker classificano i pixel nell'immagine in un set di etichette o classi predefinite. Ground Truth supporta processi di etichettatura a segmentazione semantica singola e multi-classe. Crei un lavoro di etichettatura di segmentazione semantica utilizzando la sezione Ground Truth della console Amazon SageMaker AI o l'operazione. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html) 

Le immagini che contengono un numero elevato di oggetti che devono essere segmentati richiedono più tempo. Per aiutare i worker (provenienti da una forza lavoro privata o di un fornitore) a etichettare questi oggetti in meno tempo e con maggiore precisione, Ground Truth fornisce uno strumento di segmentazione automatica assistito dall'IA. Per informazioni, consulta [Strumento di auto-segmentazione](sms-auto-segmentation.md).

**Importante**  
Per questo tipo di attività, se si crea un file manifest personalizzato, utilizza `"source-ref"` per identificare la posizione di ciascun file immagine in Amazon S3 che desideri etichettare. Per ulteriori informazioni, consulta [Dati di input](sms-data-input.md).

## Creazione di un processo di etichettatura di segmentazione semantica (console)
<a name="sms-creating-ss-labeling-job-console"></a>

Puoi seguire le istruzioni [Creare un processo di etichettatura (console)](sms-create-labeling-job-console.md) per imparare a creare un processo di etichettatura a segmentazione semantica nella console AI. SageMaker Nella fase 10, scegli **Immagine** dal menu a discesa della **categoria Attività** e scegli **Segmentazione semantica** come tipo di attività. 

Ground Truth fornisce un'interfaccia utente di lavoro simile alla seguente per le attività di etichettatura. Quando si crea il processo di etichettatura con la console, si specificano le istruzioni per consentire ai worker di completare il processo e le etichette tra cui i worker possono scegliere. 

![\[Gif che mostra un esempio su come creare un lavoro di etichettatura a segmentazione semantica nella console AI. SageMaker\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/semantic_segmentation_sample.gif)


## Creare un processo di etichettatura di segmentazione semantica (API)
<a name="sms-creating-ss-labeling-job-api"></a>

Per creare un processo di etichettatura a segmentazione semantica, utilizza l'operazione API. SageMaker `CreateLabelingJob` Questa API definisce questa operazione per tutti. AWS SDKs Per visualizzare un elenco delle lingue specifiche SDKs supportate per questa operazione, **consulta la sezione Vedere anche** di. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)

Segui queste istruzioni su [Creare un processo di etichettatura (API)](sms-create-labeling-job-api.md) ed effettua le seguenti operazioni durante la configurazione della richiesta: 
+ Le funzioni Lambda di pre-annotazione per questo tipo di attività terminano con `PRE-SemanticSegmentation`. Per trovare l'ARN Lambda di pre-annotazione per la tua regione, consulta. [PreHumanTaskLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_HumanTaskConfig.html#SageMaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn) 
+ Le funzioni Lambda di consolidamento delle annotazioni per questo tipo di attività terminano con `ACS-SemanticSegmentation`. Per trovare l'ARN Lambda di consolidamento delle annotazioni per la tua regione, consulta. [AnnotationConsolidationLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_AnnotationConsolidationConfig.html#SageMaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn) 

Di seguito è riportato un esempio di richiesta [AWS Python SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job) per creare un processo di etichettatura nella Regione Stati Uniti orientali (Virginia settentrionale). Tutti i parametri in rosso devono essere sostituiti con le specifiche e le risorse. 

```
response = client.create_labeling_job(
    LabelingJobName='example-semantic-segmentation-labeling-job,
    LabelAttributeName='label',
    InputConfig={
        'DataSource': {
            'S3DataSource': {
                'ManifestS3Uri': 's3://bucket/path/manifest-with-input-data.json'
            }
        },
        'DataAttributes': {
            'ContentClassifiers': [
                'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent',
            ]
        }
    },
    OutputConfig={
        'S3OutputPath': 's3://bucket/path/file-to-store-output-data',
        'KmsKeyId': 'string'
    },
    RoleArn='arn:aws:iam::*:role/*,
    LabelCategoryConfigS3Uri='s3://bucket/path/label-categories.json',
    StoppingConditions={
        'MaxHumanLabeledObjectCount': 123,
        'MaxPercentageOfInputDatasetLabeled': 123
    },
    HumanTaskConfig={
        'WorkteamArn': 'arn:aws:sagemaker:region:*:workteam/private-crowd/*',
        'UiConfig': {
            'UiTemplateS3Uri': 's3://bucket/path/worker-task-template.html'
        },
        'PreHumanTaskLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:PRE-SemanticSegmentation,
        'TaskKeywords': [
            'Semantic Segmentation',
        ],
        'TaskTitle': 'Semantic segmentation task',
        'TaskDescription': 'For each category provided, segment out each relevant object using the color associated with that category',
        'NumberOfHumanWorkersPerDataObject': 123,
        'TaskTimeLimitInSeconds': 123,
        'TaskAvailabilityLifetimeInSeconds': 123,
        'MaxConcurrentTaskCount': 123,
        'AnnotationConsolidationConfig': {
            'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-SemanticSegmentation'
        },
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
```

### Fornire un modello per i processi di etichettatura della segmentazione semantica
<a name="sms-create-labeling-job-ss-api-template"></a>

Se stai creando un'attività di etichettatura utilizzando l'API, devi fornire un modello di attività del worker in `UiTemplateS3Uri`. Copia e modifica il modello seguente. Modifica solo [https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-quick-instructions](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-quick-instructions), [https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-full-instructions](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-full-instructions) e `header`. 

Carica questo modello in S3 e fornisci l'URI S3 per questo file in `UiTemplateS3Uri`.

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
<crowd-form>
  <crowd-semantic-segmentation
    name="crowd-semantic-segmentation"
    src="{{ task.input.taskObject | grant_read_access }}"
    header="Please segment out all pedestrians."
    labels="{{ task.input.labels | to_json | escape }}"
  >
    <full-instructions header="Segmentation instructions">
      <ol><li><strong>Read</strong> the task carefully and inspect the image.</li>
      <li><strong>Read</strong> the options and review the examples provided to understand more about the labels.</li>
      <li><strong>Choose</strong> the appropriate label that best suits an object and paint that object using the tools provided.</li></ol>
    </full-instructions>
    <short-instructions>
      <h2><span style="color: rgb(0, 138, 0);">Good example</span></h2>
      <p>Enter description to explain a correctly done segmentation</p>
      <p><br></p><h2><span style="color: rgb(230, 0, 0);">Bad example</span></h2>
      <p>Enter description of an incorrectly done segmentation</p>
    </short-instructions>
  </crowd-semantic-segmentation>
</crowd-form>
```

## Dati di output di segmentazione semantica
<a name="sms-ss-ouput-data"></a>

Dopo aver creato un processo di etichettatura di segmentazione semantica, i dati di output si troveranno nel bucket Amazon S3 specificato nel parametro `S3OutputPath` quando si utilizza l'API o nel campo **Posizione del set di dati di output** della sezione **Panoramica processo della console**. 

Per ulteriori informazioni sul file manifest di output generato da Ground Truth e sulla struttura di file utilizzata da Ground Truth per archiviare i dati di output, consulta [Etichettatura dei dati di output di un processo](sms-data-output.md). 

Per visualizzare un esempio di file manifesto di output per un processo di etichettatura di segmentazione semantica, vedere [Output della segmentazione semantica in una nuvola di punti 3D](sms-data-output.md#sms-output-point-cloud-segmentation).

# Strumento di auto-segmentazione
<a name="sms-auto-segmentation"></a>

La segmentazione dell'immagine è il processo di divisione di un'immagine in più segmenti o set di pixel etichettati. In Amazon SageMaker Ground Truth, il processo di identificazione di tutti i pixel che rientrano in una determinata etichetta comporta l'applicazione di un filler (o "maschera") colorato su quei pixel. Alcune attività del processo di etichettatura contengono immagini con un numero elevato di oggetti che devono essere segmentati. Per aiutare i worker a etichettare questi oggetti in meno tempo e con maggiore precisione, Ground Truth fornisce uno strumento di segmentazione automatica per le attività di segmentazione assegnate a forze lavoro private e del fornitore. Questo strumento utilizza un modello di machine learning per segmentare automaticamente i singoli oggetti nell'immagine con un input del worker minimo. I worker possono perfezionare la maschera generata dallo strumento di segmentazione automatica utilizzando altri strumenti disponibili nella console di lavoro. In tal modo i worker possono completare le attività di segmentazione delle immagini in modo più rapido e preciso, con conseguente riduzione dei costi e una qualità delle etichette più elevata. La pagina seguente fornisce informazioni sullo strumento e sulla relativa disponibilità.

**Nota**  
Lo strumento di segmentazione automatica è disponibile per le attività di segmentazione inviate a una forza lavoro privata o a una forza lavoro del fornitore. Non è disponibile per le attività inviate alla forza lavoro pubblica (Amazon Mechanical Turk). 

## Anteprima dello strumento
<a name="sms-auto-segment-tool-preview"></a>

Quando ai worker viene assegnato un processo di etichettatura che fornisce lo strumento di segmentazione automatica, vengono fornite istruzioni dettagliate su come utilizzare lo strumento. Ad esempio, un worker potrebbe vedere quanto segue nella console di lavoro: 

![\[Interfaccia utente di esempio con istruzioni su come utilizzare lo strumento nella console dei worker.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/gifs/semantic-segmentation.gif)


I worker possono utilizzare **Visualizza istruzioni complete** per imparare a utilizzare lo strumento. I worker devono posizionare un punto sui quattro punti estremi (il più alto, il più basso, il più a sinistra e il più a destra) dell'oggetto di interesse in modo che lo strumento generi automaticamente una maschera per l'oggetto. I worker possono perfezionare ulteriormente la maschera utilizzando gli altri strumenti forniti o utilizzando lo strumento di segmentazione automatica su porzioni più piccole dell'oggetto che sono andate perse. 

## Disponibilità degli strumenti
<a name="sms-auto-segment-tool-availability"></a>

Lo strumento di segmentazione automatica viene visualizzato automaticamente nelle console dei worker se crei un processo di etichettatura di segmentazione semantica utilizzando la console di Amazon SageMaker AI. Durante la creazione di un processo di segmentazione semantica nella console SageMaker AI è possibile visualizzare in anteprima lo strumento mentre vengono create le istruzioni per i worker. Per informazioni su come creare un processo di etichettatura di segmentazione semantica nella console SageMaker AI, consulta [Nozioni di base: crea un processo di etichettatura dei riquadri delimitatori con Ground Truth](sms-getting-started.md). 

Se crei un processo di etichettatura di segmentazione di istanza personalizzata nella console SageMaker AI o crei un processo di etichettatura di segmentazione di istanza o semantica utilizzando l’API Ground Truth, è necessario creare un modello di attività personalizzato per progettare la console e le istruzioni per i worker. Per includere lo strumento di segmentazione automatica nella console di lavoro, verifica che nel modello di attività personalizzato siano soddisfatte le seguenti condizioni:
+ Per i processi di etichettatura di segmentazione semantica creati utilizzando l'API, `<crowd-semantic-segmentation>` è presente nel modello di attività. Per i processi di etichettatura di segmentazione di istanza personalizzata, il tag `<crowd-instance-segmentation>` è presente nel modello di attività.
+ L'attività viene assegnata a una forza lavoro privata o a una forza lavoro del fornitore. 
+ Le immagini da etichettare sono oggetti Amazon Simple Storage Service (Amazon S3) a cui è stato già eseguito l’accesso, affinché il worker possa accedervi. Questo è vero se il modello di attività include il filtro `grant_read_access`. Per ulteriori informazioni sul filtro `grant_read_access`, consulta [Aggiunta di automazione con Liquid](sms-custom-templates-step2-automate.md).

Di seguito è riportato un esempio di modello di attività personalizzato per un processo di etichettatura di segmentazione di istanza personalizzata che include il tag `<crowd-instance-segmentation/>` e il filtro Liquid `grant_read_access`.

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
<crowd-form>
  <crowd-instance-segmentation
    name="crowd-instance-segmentation"
    src="{{ task.input.taskObject | grant_read_access }}"
    labels="['Car','Road']"
   <full-instructions header="Segmentation instructions">
      Segment each instance of each class of objects in the image. 
    </full-instructions>

    <short-instructions>
      <p>Segment each instance of each class of objects in the image.</p>

      <h3 style="color: green">GOOD EXAMPLES</h3>
      <img src="path/to/image.jpg" style="width: 100%">
      <p>Good because A, B, C.</p>

      <h3 style="color: red">BAD EXAMPLES</h3>
      <img src="path/to/image.jpg" style="width: 100%">
      <p>Bad because X, Y, Z.</p>
    </short-instructions>
  </crowd-instance-segmentation>
</crowd-form>
```

# Creare un processo di etichettatura per la classificazione delle immagini (API)
<a name="sms-image-classification"></a>

Usa un'attività di classificazione delle immagini di Amazon SageMaker Ground Truth quando hai bisogno di lavoratori per classificare le immagini utilizzando etichette predefinite da te. Le immagini vengono mostrate ai worker e viene chiesto loro di scegliere un'etichetta per ogni immagine. Puoi creare un lavoro di classificazione delle immagini, etichettatura utilizzando la sezione Ground Truth della console Amazon SageMaker AI o l'[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)operazione. 

**Importante**  
Per questo tipo di attività, se si crea un file manifest personalizzato, utilizza `"source-ref"` per identificare la posizione di ciascun file immagine in Amazon S3 che desideri etichettare. Per ulteriori informazioni, consulta [Dati di input](sms-data-input.md).

## Creazione di un processo di etichettatura per la classificazione delle immagini (console)
<a name="sms-creating-image-classification-console"></a>

Puoi seguire le istruzioni [Creare un processo di etichettatura (console)](sms-create-labeling-job-console.md) per imparare a creare un processo di etichettatura per la classificazione delle immagini nella console SageMaker AI. Nella fase 10, scegli **Immagine** dal menu a discesa della **categoria Attività** e scegli **Classificazione immagine (etichetta singola)** come tipo di attività. 

Ground Truth fornisce un'interfaccia utente di lavoro simile alla seguente per le attività di etichettatura. Quando si crea il processo di etichettatura con la console, si specificano le istruzioni per consentire ai worker di completare il processo e le etichette tra cui i worker possono scegliere. 

![\[Interfaccia utente dei worker di esempio per attività di etichettatura, fornita da Ground Truth.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/image-classification-example.png)


## Creazione di un processo di etichettatura per la classificazione delle immagini (API)
<a name="sms-creating-image-classification-api"></a>

Per creare un processo di etichettatura di classificazione delle immagini, utilizza l'operazione SageMaker API. `CreateLabelingJob` Questa API definisce questa operazione per tutti AWS SDKs. Per visualizzare un elenco delle lingue specifiche SDKs supportate per questa operazione, **consulta la sezione Vedere anche** di. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)

Segui queste istruzioni su [Creare un processo di etichettatura (API)](sms-create-labeling-job-api.md) ed effettua le seguenti operazioni durante la configurazione della richiesta: 
+ Le funzioni Lambda di pre-annotazione per questo tipo di attività terminano con `PRE-ImageMultiClass`. Per trovare l'ARN Lambda di pre-annotazione per la tua regione, consulta. [PreHumanTaskLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_HumanTaskConfig.html#SageMaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn) 
+ Le funzioni Lambda di consolidamento delle annotazioni per questo tipo di attività terminano con `ACS-ImageMultiClass`. Per trovare l'ARN Lambda di consolidamento delle annotazioni per la tua regione, consulta. [AnnotationConsolidationLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_AnnotationConsolidationConfig.html#SageMaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn) 

Di seguito è riportato un esempio di richiesta [AWS Python SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job) per creare un processo di etichettatura nella Regione Stati Uniti orientali (Virginia settentrionale). Tutti i parametri in rosso devono essere sostituiti con le specifiche e le risorse. 

```
response = client.create_labeling_job(
    LabelingJobName='example-image-classification-labeling-job',
    LabelAttributeName='label',
    InputConfig={
        'DataSource': {
            'S3DataSource': {
                'ManifestS3Uri': 's3://bucket/path/manifest-with-input-data.json'
            }
        },
        'DataAttributes': {
            'ContentClassifiers': [
                'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent',
            ]
        }
    },
    OutputConfig={
        'S3OutputPath': 's3://bucket/path/file-to-store-output-data',
        'KmsKeyId': 'string'
    },
    RoleArn='arn:aws:iam::*:role/*,
    LabelCategoryConfigS3Uri='s3://bucket/path/label-categories.json',
    StoppingConditions={
        'MaxHumanLabeledObjectCount': 123,
        'MaxPercentageOfInputDatasetLabeled': 123
    },
    HumanTaskConfig={
        'WorkteamArn': 'arn:aws:sagemaker:region:*:workteam/private-crowd/*',
        'UiConfig': {
            'UiTemplateS3Uri': 's3://bucket/path/worker-task-template.html'
        },
        'PreHumanTaskLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:PRE-ImageMultiClass,
        'TaskKeywords': [
            Image classification',
        ],
        'TaskTitle': Image classification task',
        'TaskDescription': 'Carefully inspect the image and classify it by selecting one label from the categories provided.',
        'NumberOfHumanWorkersPerDataObject': 123,
        'TaskTimeLimitInSeconds': 123,
        'TaskAvailabilityLifetimeInSeconds': 123,
        'MaxConcurrentTaskCount': 123,
        'AnnotationConsolidationConfig': {
            'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-ImageMultiClass'
        },
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
```

### Fornitura di un modello per i processi di etichettatura della classificazione delle immagini
<a name="worker-template-image-classification"></a>

Se stai creando un'attività di etichettatura utilizzando l'API, devi fornire un modello di attività del worker in `UiTemplateS3Uri`. Copia e modifica il modello seguente. Modifica solo [https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-quick-instructions](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-quick-instructions), [https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-full-instructions](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-full-instructions) e `header`. 

Carica questo modello in S3 e fornisci l'URI S3 per questo file in `UiTemplateS3Uri`.

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
<crowd-form>
  <crowd-image-classifier
    name="crowd-image-classifier"
    src="{{ task.input.taskObject | grant_read_access }}"
    header="please classify"
    categories="{{ task.input.labels | to_json | escape }}"
  >
    <full-instructions header="Image classification instructions">
      <ol><li><strong>Read</strong> the task carefully and inspect the image.</li>
      <li><strong>Read</strong> the options and review the examples provided to understand more about the labels.</li>
      <li><strong>Choose</strong> the appropriate label that best suits the image.</li></ol>
    </full-instructions>
    <short-instructions>
      <h3><span style="color: rgb(0, 138, 0);">Good example</span></h3>
      <p>Enter description to explain the correct label to the workers</p>
      <h3><span style="color: rgb(230, 0, 0);">Bad example</span></h3><p>Enter description of an incorrect label</p>
    </short-instructions>
  </crowd-image-classifier>
</crowd-form>
```

## Dati di output di classificazione delle immagini
<a name="sms-image-classification-output-data"></a>

Dopo aver creato un processo di etichettatura di classificazione delle immagini, i dati di output si troveranno nel bucket Amazon S3 specificato nel parametro `S3OutputPath` quando si utilizza l'API o nel campo **Posizione del set di dati di output** della sezione **Panoramica processo** della console. 

Per ulteriori informazioni sul file manifest di output generato da Ground Truth e sulla struttura di file utilizzata da Ground Truth per archiviare i dati di output, consulta [Etichettatura dei dati di output di un processo](sms-data-output.md). 

Per visualizzare un esempio di file manifest di output da un processo di etichettatura di classificazione delle immagini, consulta [Output del processo di classificazione](sms-data-output.md#sms-output-class).

# Creare un processo di etichettatura per la classificazione delle immagini (multi-etichetta)
<a name="sms-image-classification-multilabel"></a>

Usa un'attività di classificazione delle immagini multietichetta di Amazon SageMaker Ground Truth quando hai bisogno di lavoratori per classificare più oggetti in un'immagine. Ad esempio, l'immagine seguente raffigura un cane e un gatto. È possibile utilizzare la classificazione delle immagini multi-etichetta per associare le etichette "cane" e "gatto" a questa immagine. La pagina seguente fornisce informazioni sulla creazione di un processo per la classificazione delle immagini.

![\[Foto di Anusha Barwa su Unsplash\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/dog-cat-photo.jpg)


Quando si utilizza a un'attività di classificazione delle immagini multi-etichetta, i worker possono scegliere tutte le etichette applicabili, ma devono sceglierne almeno una. Durante la creazione di un processo utilizzando questo tipo di attività, è possibile fornire fino a 50 categorie di etichette. 

Durante la creazione del processo di etichettatura nella console, Ground Truth non fornisce una categoria "nessuna" quando nessuna delle etichette si applica a un'immagine. Per fornire questa opzione ai worker, includere un'etichetta simile a "nessuna" o "altro" quando si crea un processo di classificazione delle immagini multi-etichetta. 

Per limitare la scelta dei worker a una singola etichetta per ogni immagine, utilizza il tipo di attività [Creare un processo di etichettatura per la classificazione delle immagini (API)](sms-image-classification.md).

**Importante**  
Per questo tipo di attività, se si crea un file manifest personalizzato, utilizza `"source-ref"` per identificare la posizione di ciascun file immagine in Amazon S3 che desideri etichettare. Per ulteriori informazioni, consulta [Dati di input](sms-data-input.md).

## Creazione di un processo di etichettatura di classificazione delle immagini multi-etichetta (console)
<a name="sms-creating-multilabel-image-classification-console"></a>

Puoi seguire le istruzioni [Creare un processo di etichettatura (console)](sms-create-labeling-job-console.md) per imparare a creare un processo di classificazione delle immagini multietichetta nella console AI. SageMaker Nella fase 10, scegli **Immagine** dal menu a discesa della **categoria Attività** e scegli **Classificazione immagine (etichetta multipla)** come tipo di attività. 

Ground Truth fornisce un'interfaccia utente di lavoro simile alla seguente per le attività di etichettatura. Quando si crea un processo di etichettatura nella console, si specificano le istruzioni per consentire ai worker di completare il processo e le etichette tra cui i worker possono scegliere. 

![\[Interfaccia utente dei worker di esempio per attività di etichettatura, fornita da Ground Truth.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/image-classification-multilabel-example.png)


## Creazione di un processo di etichettatura di classificazione delle immagini multi-etichetta (API)
<a name="sms-create-multi-select-image-classification-job-api"></a>

Per creare un processo di etichettatura di classificazione delle immagini multietichetta, utilizza l'operazione API. SageMaker `CreateLabelingJob` Questa API definisce questa operazione per tutti. AWS SDKs Per visualizzare un elenco delle lingue specifiche SDKs supportate per questa operazione, **consulta la sezione Vedere anche** di. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)

Segui queste istruzioni su [Creare un processo di etichettatura (API)](sms-create-labeling-job-api.md) ed effettua le seguenti operazioni durante la configurazione della richiesta: 
+ Le funzioni Lambda di pre-annotazione per questo tipo di attività terminano con `PRE-ImageMultiClassMultiLabel`. Per trovare l'ARN Lambda di pre-annotazione per la tua regione, consulta. [PreHumanTaskLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_HumanTaskConfig.html#SageMaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn) 
+ Le funzioni Lambda di consolidamento delle annotazioni per questo tipo di attività terminano con `ACS-ImageMultiClassMultiLabel`. Per trovare l'ARN Lambda di consolidamento delle annotazioni per la tua regione, consulta. [AnnotationConsolidationLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_AnnotationConsolidationConfig.html#SageMaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn) 

Di seguito è riportato un esempio di richiesta [AWS Python SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job) per creare un processo di etichettatura nella Regione Stati Uniti orientali (Virginia settentrionale). Tutti i parametri in rosso devono essere sostituiti con le specifiche e le risorse. 

```
response = client.create_labeling_job(
    LabelingJobName='example-multi-label-image-classification-labeling-job,
    LabelAttributeName='label',
    InputConfig={
        'DataSource': {
            'S3DataSource': {
                'ManifestS3Uri': 's3://bucket/path/manifest-with-input-data.json'
            }
        },
        'DataAttributes': {
            'ContentClassifiers': [
                'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent',
            ]
        }
    },
    OutputConfig={
        'S3OutputPath': 's3://bucket/path/file-to-store-output-data',
        'KmsKeyId': 'string'
    },
    RoleArn='arn:aws:iam::*:role/*,
    LabelCategoryConfigS3Uri='s3://bucket/path/label-categories.json',
    StoppingConditions={
        'MaxHumanLabeledObjectCount': 123,
        'MaxPercentageOfInputDatasetLabeled': 123
    },
    HumanTaskConfig={
        'WorkteamArn': 'arn:aws:sagemaker:region:*:workteam/private-crowd/*',
        'UiConfig': {
            'UiTemplateS3Uri': 's3://bucket/path/worker-task-template.html'
        },
        'PreHumanTaskLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:PRE-ImageMultiClassMultiLabel',
        'TaskKeywords': [
            'Image Classification',
        ],
        'TaskTitle': 'Multi-label image classification task',
        'TaskDescription': 'Select all labels that apply to the images shown',
        'NumberOfHumanWorkersPerDataObject': 123,
        'TaskTimeLimitInSeconds': 123,
        'TaskAvailabilityLifetimeInSeconds': 123,
        'MaxConcurrentTaskCount': 123,
        'AnnotationConsolidationConfig': {
            'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-ImageMultiClassMultiLabel'
        },
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
```

### Fornire un modello per la classificazione di immagini con più etichette
<a name="sms-custom-template-multi-image-label-classification"></a>

Se stai creando un'attività di etichettatura utilizzando l'API, devi fornire un modello di attività del worker in `UiTemplateS3Uri`. Copia e modifica il modello seguente. Modifica solo [https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-quick-instructions](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-quick-instructions), [https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-full-instructions](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-full-instructions) e `header`. 

Carica questo modello in S3 e fornisci l'URI S3 per questo file in `UiTemplateS3Uri`.

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
<crowd-form>
  <crowd-image-classifier-multi-select
    name="crowd-image-classifier-multi-select"
    src="{{ task.input.taskObject | grant_read_access }}"
    header="Please identify all classes in image"
    categories="{{ task.input.labels | to_json | escape }}"
  >
    <full-instructions header="Multi Label Image classification instructions">
      <ol><li><strong>Read</strong> the task carefully and inspect the image.</li>
      <li><strong>Read</strong> the options and review the examples provided to understand more about the labels.</li>
       <li><strong>Choose</strong> the appropriate labels that best suit the image.</li></ol>
    </full-instructions>
    <short-instructions>
      <h3><span style="color: rgb(0, 138, 0);">Good example</span></h3>
      <p>Enter description to explain the correct label to the workers</p>
      <h3><span style="color: rgb(230, 0, 0);">Bad example</span></h3>
      <p>Enter description of an incorrect label</p>
   </short-instructions>
  </crowd-image-classifier-multi-select>
</crowd-form>
```

## Dati di output della classificazione delle immagini multi-etichetta
<a name="sms-image-classification-multi-output-data"></a>

Dopo aver creato un processo di etichettatura di classificazione delle immagini multi-etichetta, i dati di output si troveranno nel bucket Amazon S3 specificato nel parametro `S3OutputPath` quando utilizzi l'API o nel campo **Posizione del set di dati di output** della sezione **Panoramica processo** della console. 

Per ulteriori informazioni sul file manifest di output generato da Ground Truth e sulla struttura di file utilizzata da Ground Truth per archiviare i dati di output, consulta [Etichettatura dei dati di output di un processo](sms-data-output.md). 

Per visualizzare un esempio di file manifest di output per il processo di etichettatura di classificazione delle immagini multi-etichetta, consulta [Output del processo di classificazione multi-etichetta](sms-data-output.md#sms-output-multi-label-classification).

# Verifica dell'etichetta dell’immagine
<a name="sms-label-verification"></a>

La creazione di un set di dati di addestramento altamente accurato per l'algoritmo di Machine Learning (ML) è un processo iterativo. In genere, si riesaminano e modificano continuamente le etichette fino a quando si è certi che rappresentano con precisione la verità di base o ciò che è direttamente osservabile nel mondo reale. È possibile utilizzare un'attività di verifica dell’etichetta dell’immagine Amazon SageMaker Ground Truth per indirizzare i worker a rivedere le etichette di un set di dati e migliorare la precisione delle etichette. I worker possono indicare se le etichette esistenti sono corrette o valutare la qualità delle etichette. Possono anche aggiungere commenti per spiegare il loro ragionamento. Amazon SageMaker Ground Truth supporta la verifica dell’etichetta per le etichette [Classificare oggetti di immagini utilizzando un riquadro di delimitazione](sms-bounding-box.md) e [Identificare i contenuti delle immagini utilizzando la segmentazione semantica](sms-semantic-segmentation.md). È possibile creare un processo di etichettatura per la verifica delle etichette delle immagini utilizzando la sezione Ground Truth della console di Amazon SageMaker AI o l’operazione [CreateLabelingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html). 

Ground Truth fornisce una console worker simile alla seguente per le attività di etichettatura. Quando crei il processo di etichettatura con la console, puoi modificare le immagini e il contenuto visualizzati. Per informazioni su come creare un processo di etichettatura utilizzando la console Ground Truth, consulta [Creare un processo di etichettatura (console)](sms-create-labeling-job-console.md).

![\[Console dei worker di esempio per attività di etichettatura, fornita da Ground Truth.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/label-verification-example.png)


È possibile creare un processo di etichettatura per la verifica delle etichette utilizzando la console SageMaker AI o l’API. Per informazioni su come creare un processo di etichettatura utilizzando l’operazione API Ground Truth `CreateLabelingJob`, consulta [Creare un processo di etichettatura (API)](sms-create-labeling-job-api.md).

# Etichettatura del testo con Ground Truth
<a name="sms-label-text"></a>

Usa Ground Truth per etichettare il testo. Ground Truth supporta l’etichettatura del testo per il riconoscimento di entità denominate, la classificazione del testo con etichetta singola e la classificazione del testo multi-etichetta. Gli argomenti seguenti forniscono informazioni su questi tipi di attività predefiniti, nonché istruzioni per consentire di creare un processo di etichettatura utilizzando tale tipo di attività.

**Suggerimento**  
Per ulteriori informazioni sui tipi di file supportati e sulle quote di dati di input, consulta [Dati di input](sms-data-input.md).

**Topics**
+ [Estrarre informazioni di testo utilizzando il riconoscimento delle entità denominate](sms-named-entity-recg.md)
+ [Categorizzare il testo con la classificazione (etichetta singola)](sms-text-classification.md)
+ [Categorizzare il testo con la classificazione (multi-etichetta)](sms-text-classification-multilabel.md)

# Estrarre informazioni di testo utilizzando il riconoscimento delle entità denominate
<a name="sms-named-entity-recg"></a>

Per estrarre informazioni da testo non strutturato e classificarlo in categorie predefinite, utilizza un'attività di etichettatura di Amazon SageMaker Ground Truth denominata Entity Recognition (NER). Tradizionalmente, NER consiste nel setacciare i dati di testo per individuare frasi di sostantivi, *named entity*, e classificare ciascuna entità con un'etichetta, ad esempio "persona", "organizzazione" o "marchio". Puoi estendere questa attività per etichettare campate di testo più lunghe e classificare le sequenze con etichette predefinite specificate. Puoi creare un processo di etichettatura di riconoscimento di entità denominate utilizzando la sezione Ground Truth della console Amazon SageMaker AI o l'[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)operazione.

Quando viene assegnato un processo di etichettatura di riconoscimento delle entità denominate, i worker applicano le etichette a parole o frasi specifiche all'interno di un blocco di testo più grande. Scelgono un'etichetta, quindi la applicano utilizzando il cursore per evidenziare la parte del testo a cui si applica l'etichetta. Lo strumento di riconoscimento delle entità denominate di Ground Truth supporta annotazioni sovrapposte, selezione di etichette contestuali e selezione di più etichette per una singola evidenziazione. Inoltre, i worker possono utilizzare la tastiera per selezionare rapidamente le etichette.

**Importante**  
Se crei manualmente un file manifest di input, usa `"source"` per identificare il testo che desiderate etichettare. Per ulteriori informazioni, consulta [Dati di input](sms-data-input.md).

## Creazione di un processo di etichettatura di riconoscimento delle entità denominate (Console)
<a name="sms-creating-ner-console"></a>

Puoi seguire le istruzioni [Creare un processo di etichettatura (console)](sms-create-labeling-job-console.md) per imparare a creare un processo di etichettatura con riconoscimento di entità denominate nella console SageMaker AI. Nella fase 10, scegli **Testo** dal menu a discesa **Categoria Attività** e scegli **Riconoscimento delle entità denominate ** come tipo di attività. 

Ground Truth fornisce un'interfaccia utente di lavoro simile alla seguente per le attività di etichettatura. Quando si crea il processo di etichettatura con la console, si specificano le istruzioni per consentire ai worker di completare il processo e le etichette tra cui i worker possono scegliere. 

![\[Gif che mostra come creare un processo di etichettatura con riconoscimento di entità denominate nella SageMaker console AI.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/gifs/nertool.gif)


## Creazione di un processo di etichettatura di riconoscimento delle entità denominate (API)
<a name="sms-creating-ner-api"></a>

Per creare un processo di etichettatura con riconoscimento di entità denominate, utilizzando l' SageMaker operazione API. `CreateLabelingJob` Questa API definisce questa operazione per tutti AWS SDKs. Per visualizzare un elenco delle lingue specifiche SDKs supportate per questa operazione, **consulta la sezione Vedere anche** di. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)

Segui queste istruzioni su [Creare un processo di etichettatura (API)](sms-create-labeling-job-api.md) ed effettua le seguenti operazioni durante la configurazione della richiesta:
+ Le funzioni Lambda di pre-annotazione per questo tipo di attività terminano con `PRE-NamedEntityRecognition`. Per trovare l'ARN Lambda di pre-annotazione per la tua regione, consulta. [PreHumanTaskLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_HumanTaskConfig.html#SageMaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn) 
+ Le funzioni Lambda di consolidamento delle annotazioni per questo tipo di attività terminano con `ACS-NamedEntityRecognition`. Per trovare l'ARN Lambda di consolidamento delle annotazioni per la tua regione, consulta. [AnnotationConsolidationLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_AnnotationConsolidationConfig.html#SageMaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn) 
+ Devi specificare il seguenet ARN per `[HumanTaskUiArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UiConfig.html#sagemaker-Type-UiConfig-HumanTaskUiArn)`:

  ```
  arn:aws:sagemaker:aws-region:394669845002:human-task-ui/NamedEntityRecognition
  ```

  Sostituiscilo `aws-region` con quello che Regione AWS usi per creare il lavoro di etichettatura. Ad esempio, usa `us-west-1` se crei un processo di etichettatura negli Stati Uniti occidentali (California settentrionale).
+ Fornisci le istruzioni per l'operatore nel file di configurazione della categoria di etichette utilizzando il parametro `instructions`. Puoi utilizzare una stringa o un linguaggio di markup HTML nei campi `shortInstruction` e `fullInstruction`. Per ulteriori dettagli, consultare [Fornisci le istruzioni per il worker in un file di configurazione della categoria di etichette](#worker-instructions-ner).

  ```
  "instructions": {"shortInstruction":"<h1>Add header</h1><p>Add Instructions</p>", "fullInstruction":"<p>Add additional instructions.</p>"}
  ```

Di seguito è riportato un esempio di richiesta [AWS Python SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job) per creare un processo di etichettatura nella Regione Stati Uniti orientali (Virginia settentrionale). Tutti i parametri in rosso devono essere sostituiti con le specifiche e le risorse. 

```
response = client.create_labeling_job(
    LabelingJobName='example-ner-labeling-job',
    LabelAttributeName='label',
    InputConfig={
        'DataSource': {
            'S3DataSource': {
                'ManifestS3Uri': 's3://bucket/path/manifest-with-input-data.json'
            }
        },
        'DataAttributes': {
            'ContentClassifiers': [
                'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent',
            ]
        }
    },
    OutputConfig={
        'S3OutputPath': 's3://bucket/path/file-to-store-output-data',
        'KmsKeyId': 'string'
    },
    RoleArn='arn:aws:iam::*:role/*',
    LabelCategoryConfigS3Uri='s3://bucket/path/label-categories.json',
    StoppingConditions={
        'MaxHumanLabeledObjectCount': 123,
        'MaxPercentageOfInputDatasetLabeled': 123
    },
    HumanTaskConfig={
        'WorkteamArn': 'arn:aws:sagemaker:region:*:workteam/private-crowd/*',
        'UiConfig': {
            'HumanTaskUiArn': 'arn:aws:sagemaker:us-east-1:394669845002:human-task-ui/NamedEntityRecognition'
        },
        'PreHumanTaskLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:PRE-NamedEntityRecognition',
        'TaskKeywords': [
            'Named entity Recognition',
        ],
        'TaskTitle': 'Named entity Recognition task',
        'TaskDescription': 'Apply the labels provided to specific words or phrases within the larger text block.',
        'NumberOfHumanWorkersPerDataObject': 1,
        'TaskTimeLimitInSeconds': 28800,
        'TaskAvailabilityLifetimeInSeconds': 864000,
        'MaxConcurrentTaskCount': 1000,
        'AnnotationConsolidationConfig': {
            'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-NamedEntityRecognition'
        },
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
```

### Fornisci le istruzioni per il worker in un file di configurazione della categoria di etichette
<a name="worker-instructions-ner"></a>

Devi fornire le istruzioni per l'operatore nel file di configurazione della categoria di etichette che identifichi con il parametro `LabelCategoryConfigS3Uri` in `CreateLabelingJob`. Puoi utilizzare queste istruzioni per fornire dettagli sull'attività che desideri che i worker svolgano e aiutarli a utilizzare lo strumento in modo efficiente.

Fornisci istruzioni brevi e lunghe utilizzando `shortInstruction` e `fullInstruction` nel parametro `instructions` rispettivamente. Per ulteriori informazioni su tali tipi di istruzioni, consulta [Creare pagine di istruzioni](sms-creating-instruction-pages.md).

Di seguito è riportato un esempio di file di configurazione della categoria di etichette con istruzioni che possono essere utilizzate per un processo di etichettatura di riconoscimento delle entità denominate.

```
{
  "document-version": "2018-11-28",
  "labels": [
    {
      "label": "label1",
      "shortDisplayName": "L1"
    },
    {
      "label": "label2",
      "shortDisplayName": "L2"
    },
    {
      "label": "label3",
      "shortDisplayName": "L3"
    },
    {
      "label": "label4",
      "shortDisplayName": "L4"
    },
    {
      "label": "label5",
      "shortDisplayName": "L5"
    }
  ],
  "instructions": {
    "shortInstruction": "<p>Enter description of the labels that workers have 
                        to choose from</p><br><p>Add examples to help workers understand the label</p>",
    "fullInstruction": "<ol>
                        <li><strong>Read</strong> the text carefully.</li>
                        <li><strong>Highlight</strong> words, phrases, or sections of the text.</li>
                        <li><strong>Choose</strong> the label that best matches what you have highlighted.</li>
                        <li>To <strong>change</strong> a label, choose highlighted text and select a new label.</li>
                        <li>To <strong>remove</strong> a label from highlighted text, choose the X next to the 
                        abbreviated label name on the highlighted text.</li>
                        <li>You can select all of a previously highlighted text, but not a portion of it.</li>
                        </ol>"
  }
}
```

## Dati di output di riconoscimento delle entità denominate
<a name="sms-ner-output-data"></a>

Dopo aver creato un processo di etichettatura di riconoscimento delle entità denominate, i dati di output si troveranno nel bucket Amazon S3 specificato nel parametro `S3OutputPath` quando si utilizza l'API o nel campo **Posizione del set di dati di output** della sezione **Panoramica dei processi** della console. 

Per ulteriori informazioni sul file manifest di output generato da Ground Truth e sulla struttura di file utilizzata da Ground Truth per archiviare i dati di output, consulta [Etichettatura dei dati di output di un processo](sms-data-output.md). 

# Categorizzare il testo con la classificazione (etichetta singola)
<a name="sms-text-classification"></a>

Per classificare articoli e testo in categorie predefinite, utilizza la classificazione del testo. Ad esempio, puoi utilizzare la classificazione del testo per identificare il sentiment trasmesso in una recensione o l'emozione alla base di una sezione di testo. Usa la classificazione del testo di Amazon SageMaker Ground Truth per fare in modo che i lavoratori ordinino il testo in categorie da te definite. Puoi creare un lavoro di etichettatura per la classificazione del testo utilizzando la sezione Ground Truth della console Amazon SageMaker AI o l'[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)operazione. 

**Importante**  
Se crei manualmente un file manifest di input, usa `"source"` per identificare il testo che desiderate etichettare. Per ulteriori informazioni, consulta [Dati di input](sms-data-input.md).

## Creare un processo di etichettatura della classificazione del testo (Console)
<a name="sms-creating-text-classification-console"></a>

Puoi seguire le istruzioni [Creare un processo di etichettatura (console)](sms-create-labeling-job-console.md) per imparare a creare un processo di etichettatura con classificazione del testo nella console SageMaker AI. Nella fase 10, scegli **Testo** dal menu a discesa della **categoria Attività** e scegli **Classificazione testo (etichetta singola)** come tipo di attività. 

Ground Truth fornisce un'interfaccia utente di lavoro simile alla seguente per le attività di etichettatura. Quando si crea il processo di etichettatura con la console, si specificano le istruzioni per consentire ai worker di completare il processo e le etichette tra cui i worker possono scegliere. 

![\[Gif che mostra come creare un lavoro di etichettatura per la classificazione del testo nella SageMaker console AI.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/gifs/single-label-text.gif)


## Creare un processo di etichettatura per la classificazione del testo (API)
<a name="sms-creating-text-classification-api"></a>

Per creare un processo di etichettatura di classificazione del testo, utilizza l' SageMaker operazione API. `CreateLabelingJob` Questa API definisce questa operazione per tutti AWS SDKs. Per visualizzare un elenco delle lingue specifiche SDKs supportate per questa operazione, **consulta la sezione Vedere anche** di. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)

Segui queste istruzioni su [Creare un processo di etichettatura (API)](sms-create-labeling-job-api.md) ed effettua le seguenti operazioni durante la configurazione della richiesta: 
+ Le funzioni Lambda di pre-annotazione per questo tipo di attività terminano con `PRE-TextMultiClass`. Per trovare l'ARN Lambda di pre-annotazione per la tua regione, consulta. [PreHumanTaskLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_HumanTaskConfig.html#SageMaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn) 
+ Le funzioni Lambda di consolidamento delle annotazioni per questo tipo di attività terminano con `ACS-TextMultiClass`. Per trovare l'ARN Lambda di consolidamento delle annotazioni per la tua regione, consulta. [AnnotationConsolidationLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_AnnotationConsolidationConfig.html#SageMaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn) 

Di seguito è riportato un esempio di richiesta [AWS Python SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job) per creare un processo di etichettatura nella Regione Stati Uniti orientali (Virginia settentrionale). Tutti i parametri in rosso devono essere sostituiti con le specifiche e le risorse. 

```
response = client.create_labeling_job(
    LabelingJobName='example-text-classification-labeling-job,
    LabelAttributeName='label',
    InputConfig={
        'DataSource': {
            'S3DataSource': {
                'ManifestS3Uri': 's3://bucket/path/manifest-with-input-data.json'
            }
        },
        'DataAttributes': {
            'ContentClassifiers': [
                'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent',
            ]
        }
    },
    OutputConfig={
        'S3OutputPath': 's3://bucket/path/file-to-store-output-data',
        'KmsKeyId': 'string'
    },
    RoleArn='arn:aws:iam::*:role/*,
    LabelCategoryConfigS3Uri='s3://bucket/path/label-categories.json',
    StoppingConditions={
        'MaxHumanLabeledObjectCount': 123,
        'MaxPercentageOfInputDatasetLabeled': 123
    },
    HumanTaskConfig={
        'WorkteamArn': 'arn:aws:sagemaker:region:*:workteam/private-crowd/*',
        'UiConfig': {
            'UiTemplateS3Uri': 's3://bucket/path/worker-task-template.html'
        },
        'PreHumanTaskLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:PRE-TextMultiClass,
        'TaskKeywords': [
            Text classification',
        ],
        'TaskTitle': Text classification task',
        'TaskDescription': 'Carefully read and classify this text using the categories provided.',
        'NumberOfHumanWorkersPerDataObject': 123,
        'TaskTimeLimitInSeconds': 123,
        'TaskAvailabilityLifetimeInSeconds': 123,
        'MaxConcurrentTaskCount': 123,
        'AnnotationConsolidationConfig': {
            'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-TextMultiClass'
        },
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
```

### Fornire un modello per i processi di etichettatura della classificazione del testo
<a name="worker-template-text-classification"></a>

Se stai creando un'attività di etichettatura utilizzando l'API, devi fornire un modello di attività del worker in `UiTemplateS3Uri`. Copia e modifica il modello seguente. Modifica solo [https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-quick-instructions](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-quick-instructions), [https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-full-instructions](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-full-instructions) e `header`. 

Carica questo modello in S3 e fornisci l'URI S3 per questo file in `UiTemplateS3Uri`.

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
<crowd-form>
  <crowd-classifier
    name="crowd-classifier"
    categories="{{ task.input.labels | to_json | escape }}"
    header="classify text"
  >
    <classification-target style="white-space: pre-wrap">
      {{ task.input.taskObject }}
    </classification-target>
    <full-instructions header="Classifier instructions">
      <ol><li><strong>Read</strong> the text carefully.</li>
      <li><strong>Read</strong> the examples to understand more about the options.</li>
      <li><strong>Choose</strong> the appropriate labels that best suit the text.</li></ol>
    </full-instructions>
    <short-instructions>
      <p>Enter description of the labels that workers have to choose from</p>
      <p><br></p><p><br></p><p>Add examples to help workers understand the label</p>
      <p><br></p><p><br></p><p><br></p><p><br></p><p><br></p>
    </short-instructions>
  </crowd-classifier>
  </crowd-form>
```

## Dati output classificazione testo
<a name="sms-text-classification-output-data"></a>

Dopo aver creato un processo di etichettatura di classificazione del testo, i dati di output si troveranno nel bucket Amazon S3 specificato nel parametro `S3OutputPath` quando si utilizza l'API o nel campo **Posizione del set di dati di output** della sezione **Panoramica processo** della console. 

Per ulteriori informazioni sul file manifest di output generato da Ground Truth e sulla struttura di file utilizzata da Ground Truth per archiviare i dati di output, consulta [Etichettatura dei dati di output di un processo](sms-data-output.md). 

Per vedere un esempio di file manifest di output per il processo di etichettatura di classificazione del testo, consulta [Output del processo di classificazione](sms-data-output.md#sms-output-class).

# Categorizzare il testo con la classificazione (multi-etichetta)
<a name="sms-text-classification-multilabel"></a>

Per classificare articoli e testo in più categorie predefinite, utilizza il tipo di attività di classificazione del testo multi-etichetta. Ad esempio, con questo tipo di attività puoi identificare più di un'emozione trasmessa nel testo. Le seguenti sezioni forniscono informazioni su come creare un’attività di classificazione del testo multi-etichetta dalla console e dall’API.

Quando si utilizza a un'attività di classificazione del testo multi-etichetta, i worker scelgono tutte le etichette applicabili e devono selezionarne almeno una. Quando si crea un processo utilizzando questo tipo di attività, è possibile fornire fino a 50 categorie di etichette. 

Amazon SageMaker Ground Truth non fornisce una categoria «nessuna» per i casi in cui nessuna delle etichette è applicabile. Per fornire questa opzione ai worker, includi un'etichetta simile a "nessuna" o "altro" quando crei un processo di classificazione del testo multi-etichetta. 

Per limitare la scelta dei worker a una singola etichetta per ogni selezione di testo o documento, utilizza il tipo di attività [Categorizzare il testo con la classificazione (etichetta singola)](sms-text-classification.md). 

**Importante**  
Se crei manualmente un file manifest di input, usa `"source"` per identificare il testo che desiderate etichettare. Per ulteriori informazioni, consulta [Dati di input](sms-data-input.md).

## Creazione di un processo di etichettatura di classificazione del testo multi-etichetta (console)
<a name="sms-creating-multilabel-text-classification-console"></a>

Puoi seguire le istruzioni [Creare un processo di etichettatura (console)](sms-create-labeling-job-console.md) per imparare a creare un processo di etichettatura con classificazione del testo multietichetta nella console Amazon SageMaker AI. Nella fase 10, scegli **Testo** dal menu a discesa della **categoria Attività** e scegli **Classificazione testo (etichetta multipla)** come tipo di attività. 

Ground Truth fornisce un'interfaccia utente di lavoro simile alla seguente per le attività di etichettatura. Quando si crea il processo di etichettatura con la console, si specificano le istruzioni per consentire ai worker di completare il processo e le etichette tra cui i worker possono scegliere. 

![\[Gif che mostra come creare un processo di etichettatura con classificazione del testo multietichetta nella console Amazon SageMaker AI.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/gifs/multi-label-text.gif)


## Creazione di un processo di etichettatura di classificazione del testo multi-etichetta (API)
<a name="sms-creating-multilabel-text-classification-api"></a>

Per creare un processo di etichettatura con classificazione del testo multietichetta, utilizza l'operazione API. SageMaker `CreateLabelingJob` Questa API definisce questa operazione per tutti. AWS SDKs Per visualizzare un elenco delle lingue specifiche SDKs supportate per questa operazione, **consulta la sezione Vedere anche** di. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)

Segui queste istruzioni su [Creare un processo di etichettatura (API)](sms-create-labeling-job-api.md) ed effettua le seguenti operazioni durante la configurazione della richiesta: 
+ Le funzioni Lambda di pre-annotazione per questo tipo di attività terminano con `PRE-TextMultiClassMultiLabel`. Per trovare l'ARN Lambda di pre-annotazione per la tua regione, consulta. [PreHumanTaskLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_HumanTaskConfig.html#SageMaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn) 
+ Le funzioni Lambda di consolidamento delle annotazioni per questo tipo di attività terminano con `ACS-TextMultiClassMultiLabel`. Per trovare l'ARN Lambda di consolidamento delle annotazioni per la tua regione, consulta. [AnnotationConsolidationLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_AnnotationConsolidationConfig.html#SageMaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn) 

Di seguito è riportato un esempio di richiesta [AWS Python SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job) per creare un processo di etichettatura nella Regione Stati Uniti orientali (Virginia settentrionale). Tutti i parametri in rosso devono essere sostituiti con le specifiche e le risorse. 

```
response = client.create_labeling_job(
    LabelingJobName='example-multi-label-text-classification-labeling-job,
    LabelAttributeName='label',
    InputConfig={
        'DataSource': {
            'S3DataSource': {
                'ManifestS3Uri': 's3://bucket/path/manifest-with-input-data.json'
            }
        },
        'DataAttributes': {
            'ContentClassifiers': [
                'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent',
            ]
        }
    },
    OutputConfig={
        'S3OutputPath': 's3://bucket/path/file-to-store-output-data',
        'KmsKeyId': 'string'
    },
    RoleArn='arn:aws:iam::*:role/*,
    LabelCategoryConfigS3Uri='s3://bucket/path/label-categories.json',
    StoppingConditions={
        'MaxHumanLabeledObjectCount': 123,
        'MaxPercentageOfInputDatasetLabeled': 123
    },
    HumanTaskConfig={
        'WorkteamArn': 'arn:aws:sagemaker:region:*:workteam/private-crowd/*',
        'UiConfig': {
            'UiTemplateS3Uri': 's3://bucket/path/custom-worker-task-template.html'
        },
        'PreHumanTaskLambdaArn': 'arn:aws:lambda::function:PRE-TextMultiClassMultiLabel,
        'TaskKeywords': [
            'Text Classification',
        ],
        'TaskTitle': 'Multi-label text classification task',
        'TaskDescription': 'Select all labels that apply to the text shown',
        'NumberOfHumanWorkersPerDataObject': 123,
        'TaskTimeLimitInSeconds': 123,
        'TaskAvailabilityLifetimeInSeconds': 123,
        'MaxConcurrentTaskCount': 123,
        'AnnotationConsolidationConfig': {
            'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-TextMultiClassMultiLabel'
        },
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
```

### Creazione di un modello personalizzato per la classificazione del testo multi-etichetta
<a name="custom-template-multi-label-text-classification"></a>

Se stai creando un'attività di etichettatura utilizzando l'API, devi fornire un modello di attività del worker in `UiTemplateS3Uri`. Copia e modifica il modello seguente. Modifica solo [https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-quick-instructions](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-quick-instructions), [https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-full-instructions](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-full-instructions) e `header`. 

Carica questo modello in S3 e fornisci l'URI S3 per questo file in `UiTemplateS3Uri`.

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
<crowd-form>
  <crowd-classifier-multi-select
    name="crowd-classifier-multi-select"
    categories="{{ task.input.labels | to_json | escape }}"
    header="Please identify all classes in the below text"
  >
    <classification-target style="white-space: pre-wrap">
      {{ task.input.taskObject }}
    </classification-target>
    <full-instructions header="Classifier instructions">
      <ol><li><strong>Read</strong> the text carefully.</li>
      <li><strong>Read</strong> the examples to understand more about the options.</li>
      <li><strong>Choose</strong> the appropriate labels that best suit the text.</li></ol>
    </full-instructions>
    <short-instructions>
      <p>Enter description of the labels that workers have to choose from</p>
      <p><br></p>
      <p><br></p><p>Add examples to help workers understand the label</p>
      <p><br></p><p><br></p><p><br></p><p><br></p><p><br></p>
    </short-instructions>
  </crowd-classifier-multi-select>
  </crowd-form>
```

Per informazioni su come creare un modello personalizzato, consulta [Flussi di lavoro di etichettatura personalizzati](sms-custom-templates.md). 

## Dati di output della classificazione del testo multi-etichetta
<a name="sms-text-classification-multi-select-output-data"></a>

Dopo aver creato un processo di etichettatura di classificazione del testo multi-etichetta, i dati di output si troveranno nel bucket Amazon S3 specificato nel parametro `S3OutputPath` quando si utilizza l'API o nel campo **Posizione del set di dati di output** della sezione **Panoramica processo** della console. 

Per ulteriori informazioni sul file manifest di output generato da Ground Truth e sulla struttura di file utilizzata da Ground Truth per archiviare i dati di output, consulta [Etichettatura dei dati di output di un processo](sms-data-output.md). 

Per vedere un esempio di file manifest di output per il processo di etichettatura di classificazione del testo multi-etichetta, consulta [Output del processo di classificazione multi-etichetta](sms-data-output.md#sms-output-multi-label-classification).

# Video ed etichettatura di frame video
<a name="sms-video"></a>

È possibile usare Ground Truth per classificare i video e annotare i fotogrammi video (immagini fisse estratte dai video) utilizzando uno dei tre tipi di attività video integrati. Questi tipi di attività semplificano il processo di creazione di lavori di etichettatura di fotogrammi video e video utilizzando la console Amazon SageMaker AI, l'API e specifiche lingue. SDKs 
+ Classificazione dei videoclip: consente ai worker di classificare i video in categorie specificate dall’utente. Ad esempio, è possibile usare utilizzare questo tipo di attività per fare in modo che i worker classifichino i video in argomenti come sport, commedia, musica e istruzione. Per ulteriori informazioni, consulta [Classificare video](sms-video-classification.md).
+ Processi di etichettatura di fotogrammi video: consentono ai worker di annotare i fotogrammi video estratti da un video utilizzando riquadri di delimitazione, polilinee, poligoni o strumenti di annotazione dei punti chiave. Ground Truth offre due tipi di attività integrate per etichettare i fotogrammi video:
  + *Rilevamento di oggetti con fotogrammi video*: consente ai worker di identificare e localizzare gli oggetti nei fotogrammi video. 
  + *Tracciamento degli oggetti con fotogrammi video*: consente ai worker di tracciare il movimento degli oggetti tra i fotogrammi video.
  + *Processi di regolazione dei fotogrammi video*: consentono di chiedere ai worker di regolare le etichette, etichettare gli attributi delle categorie e gli attributi dei fotogrammi in base a un precedente lavoro di rilevamento di oggetti o tracciamento di oggetti con fotogrammi video.
  + *Processi di verifica dei fotogrammi video*: consentono di chiedere ai worker di verificare le etichette, etichettare gli attributi delle categorie e gli attributi dei fotogrammi in base a un precedente lavoro di rilevamento di oggetti o tracciamento di oggetti con fotogrammi video.

  Se disponi di file video, è possibile utilizzare lo strumento di estrazione automatica dei fotogrammi Ground Truth per estrarre i fotogrammi video dai propri video. Per ulteriori informazioni, consulta [Dati di input di fotogrammi video](sms-video-frame-input-data-overview.md).

**Suggerimento**  
Per ulteriori informazioni sui tipi di file supportati e sulle quote di dati di input, consulta [Dati di input](sms-data-input.md).

**Topics**
+ [Classificare video](sms-video-classification.md)
+ [Frame video](sms-video-task-types.md)
+ [Istruzioni per il worker](sms-video-worker-instructions.md)

# Classificare video
<a name="sms-video-classification"></a>

Usa un'attività di classificazione dei video di Amazon SageMaker Ground Truth quando hai bisogno che i lavoratori classifichino i video utilizzando etichette predefinite da te specificate. I video vengono mostrati ai worker e viene chiesto loro di scegliere un'etichetta per ogni video. Puoi creare un lavoro di etichettatura di classificazione video utilizzando la sezione Ground Truth della console Amazon SageMaker AI o l'[CreateLabelingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)operazione. 

I file video devono essere codificati in un formato supportato dal browser utilizzato dal team di lavoro che etichetta i dati. Si consiglia di verificare che tutti i formati di file video nel file manifesto di input vengano visualizzati correttamente utilizzando l'anteprima dell'interfaccia utente di lavoro. È possibile comunicare i browser supportati ai worker utilizzando le istruzioni per gli operatori. Per visualizzare i formati di file supportati, consulta [Formati di dati supportati](sms-supported-data-formats.md).

**Importante**  
Per questo tipo di attività, se si crea un file manifesto personalizzato, utilizzare `"source-ref"` per identificare la posizione di ciascun file video in Amazon S3 che si desidera etichettare. Per ulteriori informazioni, consulta [Dati di input](sms-data-input.md).



## Creare un processo di etichettatura della classificazione video (Console)
<a name="sms-creating-video-classification-console"></a>

Puoi seguire le istruzioni riportate in questo articolo [Creare un processo di etichettatura (console)](sms-create-labeling-job-console.md) per imparare a creare un processo di etichettatura per la classificazione dei video nella console SageMaker AI. Nella fase 10, scegli **Video** dal menu a discesa della **categoria Attività** e scegli **Classificazione video** come tipo di attività. 

Ground Truth fornisce un'interfaccia utente di lavoro simile alla seguente per le attività di etichettatura. Quando si crea un processo di etichettatura nella console, si specificano le istruzioni per consentire ai worker di completare il processo e le etichette tra cui i worker possono scegliere. 

![\[Gif che mostra come creare un lavoro di etichettatura di classificazione video nella SageMaker console AI.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/vid_classification.gif)


## Creare un processo di etichettatura per la classificazione video (API)
<a name="sms-creating-video-classification-api"></a>

Questa sezione descrive i dettagli che è necessario conoscere quando si crea un processo di etichettatura utilizzando l'operazione API SageMaker `CreateLabelingJob`. Questa API definisce questa operazione per tutti. AWS SDKs Per visualizzare un elenco delle lingue specifiche SDKs supportate per questa operazione, **consulta la sezione Vedere anche** di. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)

Segui queste istruzioni su [Creare un processo di etichettatura (API)](sms-create-labeling-job-api.md) ed effettua le seguenti operazioni durante la configurazione della richiesta: 
+ Usa una funzione Lambda di pre-annotazione che termina con `PRE-VideoClassification`. Per trovare l'ARN Lambda di pre-annotazione per la tua regione, consulta. [PreHumanTaskLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_HumanTaskConfig.html#SageMaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn) 
+ Usa una funzione Lambda di consolidamento delle annotazioni che termina con `ACS-VideoClassification`. Per trovare l'ARN Lambda di consolidamento delle annotazioni per la tua regione, consulta. [AnnotationConsolidationLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_AnnotationConsolidationConfig.html#SageMaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn) 

Di seguito è riportato un esempio di richiesta [AWS Python SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job) per creare un processo di etichettatura nella Regione Stati Uniti orientali (Virginia settentrionale). 

```
response = client.create_labeling_job(
    LabelingJobName='example-video-classification-labeling-job,
    LabelAttributeName='label',
    InputConfig={
        'DataSource': {
            'S3DataSource': {
                'ManifestS3Uri': 's3://bucket/path/manifest-with-input-data.json'
            }
        },
        'DataAttributes': {
            'ContentClassifiers': [
                'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent',
            ]
        }
    },
    OutputConfig={
        'S3OutputPath': 's3://bucket/path/file-to-store-output-data',
        'KmsKeyId': 'string'
    },
    RoleArn='arn:aws:iam::*:role/*,
    LabelCategoryConfigS3Uri='s3://bucket/path/label-categories.json',
    StoppingConditions={
        'MaxHumanLabeledObjectCount': 123,
        'MaxPercentageOfInputDatasetLabeled': 123
    },
    HumanTaskConfig={
        'WorkteamArn': 'arn:aws:sagemaker:region:*:workteam/private-crowd/*',
        'UiConfig': {
            'UiTemplateS3Uri': 's3://bucket/path/worker-task-template.html'
        },
        'PreHumanTaskLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:PRE-VideoClassification',
        'TaskKeywords': [
            'Video Classification',
        ],
        'TaskTitle': 'Video classification task',
        'TaskDescription': 'Select a label to classify this video',
        'NumberOfHumanWorkersPerDataObject': 123,
        'TaskTimeLimitInSeconds': 123,
        'TaskAvailabilityLifetimeInSeconds': 123,
        'MaxConcurrentTaskCount': 123,
        'AnnotationConsolidationConfig': {
            'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-VideoClassification'
        },
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
```

### Fornisci un modello per la classificazione video
<a name="sms-custom-template-video-classification"></a>

Se stai creando un'attività di etichettatura utilizzando l'API, devi fornire un modello di attività del worker in `UiTemplateS3Uri`. Copia e modifica il seguente modello modificando `short-instructions`, `full-instructions` e `header`. Carica questo modello in Amazon S3 e fornisci l'URI Amazon S3 per questo file in `UiTemplateS3Uri`.

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

              <crowd-form>
                  <crowd-classifier
                    name="crowd-classifier"
                    categories="{{ task.input.labels | to_json | escape }}"
                    header="Please classify video"
                  >
                    <classification-target>
                       <video width="100%" controls/>
                        <source src="{{ task.input.taskObject | grant_read_access }}" type="video/mp4"/>
                        <source src="{{ task.input.taskObject | grant_read_access }}" type="video/webm"/>
                        <source src="{{ task.input.taskObject | grant_read_access }}" type="video/ogg"/>
                      Your browser does not support the video tag.
                      </video>
                    </classification-target>
                    <full-instructions header="Video classification instructions">
                      <ol><li><strong>Read</strong> the task carefully and inspect the video.</li>
                        <li><strong>Read</strong> the options and review the examples provided to understand more about the labels.</li>
                        <li><strong>Choose</strong> the appropriate label that best suits the video.</li></ol>
                    </full-instructions>
                    <short-instructions>
                      <h3><span style="color: rgb(0, 138, 0);">Good example</span></h3>
                        <p>Enter description to explain the correct label to the workers</p>
                        <p><img src="https://d7evko5405gb7.cloudfront.net/fe4fed9b-660c-4477-9294-2c66a15d6bbe/src/images/quick-instructions-example-placeholder.png" style="max-width:100%"></p>
                        <h3><span style="color: rgb(230, 0, 0);">Bad example</span></h3>
                        <p>Enter description of an incorrect label</p>
                        <p><img src="https://d7evko5405gb7.cloudfront.net/fe4fed9b-660c-4477-9294-2c66a15d6bbe/src/images/quick-instructions-example-placeholder.png" style="max-width:100%"></p>
                    </short-instructions>
                  </crowd-classifier>
              </crowd-form>
```

## Dati di output di classificazione video
<a name="sms-vido-classification-output-data"></a>

Dopo aver creato un processo di etichettatura di classificazione video, i dati di output si troveranno nel bucket Amazon S3 specificato nel parametro `S3OutputPath` quando si utilizza l'API o nel campo **Posizione del set di dati di output** della sezione **Panoramica dei processi** della console. 

Per ulteriori informazioni sul file manifest di output generato da Ground Truth e sulla struttura di file utilizzata da Ground Truth per archiviare i dati di output, consulta [Etichettatura dei dati di output di un processo](sms-data-output.md). 

Per visualizzare un esempio di file manifest di output per il processo di etichettatura di classificazione video, consulta [Output del processo di classificazione](sms-data-output.md#sms-output-class).

 

# Frame video
<a name="sms-video-task-types"></a>

È possibile utilizzare i tipi di attività con fotogrammi video integrati in Ground Truth per consentire ai worker di annotare i fotogrammi video mediante riquadri di delimitazione, polilinee, poligoni o punti chiave. Un *fotogramma video* è una sequenza di immagini che sono state estratte da un video.

Se non disponete di frame video, potete fornire file video (MP4 file) e utilizzare lo strumento di estrazione automatica dei frame Ground Truth per estrarre i fotogrammi video. Per ulteriori informazioni, consulta [Fornire file video](sms-point-cloud-video-input-data.md#sms-point-cloud-video-frame-extraction).

Puoi utilizzare i seguenti tipi di attività video integrati per creare lavori di etichettatura di fotogrammi video utilizzando la console Amazon SageMaker AI, l'API e specifiche del linguaggio SDKs.
+ **Rilevamento di oggetti con fotogrammi video**: utilizza questo tipo di attività quando desideri che i worker identifichino e localizzino gli oggetti in sequenze di fotogrammi video. Tu fornisci un elenco di categorie e i worker possono selezionare una categoria alla volta e annotare gli oggetti a cui si applica la categoria in tutti i fotogrammi. Ad esempio, puoi utilizzare questa attività per chiedere ai worker di identificare e localizzare vari oggetti in una scena, come automobili, biciclette e pedoni.
+ **Monitoraggio di oggetti con fotogrammi video**: utilizza questo tipo di attività se desideri che i worker tengano traccia del movimento di istanze di oggetti tra sequenze di fotogrammi video. Quando un worker aggiunge un'annotazione a un singolo fotogramma, essa viene associata a un ID istanza univoco. Il worker aggiunge annotazioni associate allo stesso ID in tutti gli altri fotogrammi per identificare lo stesso oggetto o persona. Ad esempio, un worker può tracciare il movimento di un veicolo su una sequenza di fotogrammi video disegnando riquadri di delimitazione associate allo stesso ID attorno al veicolo in ogni fotogramma che appare. 

Utilizza gli argomenti seguenti per ottenere ulteriori informazioni su questi tipi di attività predefiniti e per informazioni su come creare un processo di etichettatura utilizzando ciascun tipo di attività. Consulta [Tipi di attività](sms-video-overview.md#sms-video-frame-tools) per saperne di più sugli strumenti di annotazione (riquadri di delimitazione, polilinee, poligoni e punti chiave) disponibili per questi tipi di attività.

Prima di creare un processo di etichettatura, si consiglia di consultare [Riferimento per i processi di etichettatura in frame video](sms-video-overview.md).

**Topics**
+ [Identificare gli oggetti utilizzando il rilevamento di oggetti in frame video](sms-video-object-detection.md)
+ [Tenere traccia degli oggetti nei frame video utilizzando il tracciamento degli oggetti in frame video](sms-video-object-tracking.md)
+ [Riferimento per i processi di etichettatura in frame video](sms-video-overview.md)

# Identificare gli oggetti utilizzando il rilevamento di oggetti in frame video
<a name="sms-video-object-detection"></a>

È possibile utilizzare il tipo di attività di rilevamento di oggetti con fotogrammi video per consentire agli operatori di identificare e localizzare gli oggetti in una sequenza di fotogrammi video (immagini estratte da un video) utilizzando riquadri di delimitazione, polilinee, poligoni o *strumenti di annotazione* dei punti chiave. Lo strumento scelto definisce il tipo di attività relativo ai fotogrammi video da creare. Ad esempio, puoi utilizzare un riquadro di delimitazione per aiutare i worker a identificare e localizzare i vari oggetti in una serie di fotogrammi video, come automobili, biciclette e pedoni. Puoi creare un processo di etichettatura di oggetti con fotogrammi video utilizzando la console Amazon SageMaker AI Ground Truth, l' SageMaker API e una lingua AWS SDKs specifica. Per ulteriori informazioni, consulta [Creazione di un processo di etichettatura per il rilevamento di oggetti con fotogrammi video](#sms-video-od-create-labeling-job) e seleziona il tuo metodo preferito. Consulta [Tipi di attività](sms-video-overview.md#sms-video-frame-tools) per saperne di più sugli strumenti di annotazione tra cui scegliere quando crei un processo di etichettatura.

Ground Truth fornisce un'interfaccia utente di worker e gli strumenti necessari per completare le attività dei processi di etichettatura: [Anteprima dell'interfaccia utente del worker](#sms-video-od-worker-ui).

Puoi creare un processo per adattare le annotazioni create in un processo di etichettatura di rilevamento di oggetti video utilizzando il tipo di attività di regolazione del rilevamento di oggetti video. Per ulteriori informazioni, consulta [Creazione di un processo di regolazione del rilevamento di oggetti del fotogramma video o di etichettatura di verifica](#sms-video-od-adjustment).

## Anteprima dell'interfaccia utente del worker
<a name="sms-video-od-worker-ui"></a>

Ground Truth offre ai worker un'interfaccia utente Web (UI) per completare le attività di annotazione del rilevamento di oggetti dei fotogrammi video. Puoi visualizzare in anteprima e interagire con l'interfaccia utente del worker quando crei un processo di etichettatura nella console. Se sei un nuovo utente, ti consigliamo di creare un processo di etichettatura tramite la console utilizzando un piccolo set di dati di input per visualizzare in anteprima l'interfaccia utente dei worker e assicurarti che i fotogrammi video, le etichette e gli attributi delle etichette appaiano correttamente. 

L'interfaccia utente fornisce ai worker i seguenti strumenti di etichettatura ausiliari, per completare le attività di rilevamento di oggetti:
+ Per tutte le attività, i worker possono utilizzare le funzionalità **Copia su successivo** e **Copia su tutti** per copiare rispettivamente un'annotazione nel fotogramma successivo o in tutti i fotogrammi successivi. 
+ Per le attività che includono gli strumenti del riquadro di delimitazione, i worker possono utilizzare la funzione **Prevedi successivo** per disegnare un riquadro di delimitazione in un singolo fotogramma, quindi fare in modo che Ground Truth preveda la posizione dei riquadri con la stessa etichetta in tutti gli altri fotogrammi. I worker possono quindi effettuare regolazioni per correggere le posizioni previste dei riquadri. 

Il video seguente mostra come un worker potrebbe utilizzare l'interfaccia utente con lo strumento riquadro di delimitazione per completare le attività di rilevamento di oggetti.

![\[GIF che mostra come un worker può utilizzare lo strumento del riquadro di delimitazione per le proprie attività di rilevamento di oggetti.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/kitti-od-general-labeling-job.gif)


## Creazione di un processo di etichettatura per il rilevamento di oggetti con fotogrammi video
<a name="sms-video-od-create-labeling-job"></a>

Puoi creare un lavoro di etichettatura di oggetti con fotogrammi video utilizzando la console SageMaker AI o l'operazione API. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html) 

Questa sezione presuppone che tu abbia esaminato [Riferimento per i processi di etichettatura in frame video](sms-video-overview.md) e scelto il tipo di dati di input e la connessione al set di dati di input che stai utilizzando. 

### Creare un processo di etichettatura (console)
<a name="sms-video-od-create-labeling-job-console"></a>

Puoi seguire le istruzioni riportate in [Creare un processo di etichettatura (console)](sms-create-labeling-job-console.md) per imparare a creare un lavoro di tracciamento di oggetti con frame video nella console SageMaker AI. Nella fase 10, scegli **Video - Rilevamento di oggetti** dal menu a discesa della **categoria Attività**. Seleziona il tipo di attività che desideri selezionando una delle schede in **Selezione attività**.

![\[Gif che mostra come creare un processo di tracciamento di oggetti con frame video nella console SageMaker AI.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/task-type-vod.gif)


### Creare un processo di etichettatura (API)
<a name="sms-video-od-create-labeling-job-api"></a>

Si crea un processo di etichettatura di rilevamento degli oggetti utilizzando l'operazione SageMaker API. `CreateLabelingJob` Questa API definisce questa operazione per tutti AWS SDKs. Per visualizzare un elenco delle lingue specifiche SDKs supportate per questa operazione, **consulta la sezione Vedere anche** di. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html) 

[Creare un processo di etichettatura (API)](sms-create-labeling-job-api.md) fornisce una panoramica dell'operazione `CreateLabelingJob`. Segui queste istruzioni ed effettua le seguenti operazioni durante la configurazione della richiesta: 
+ Immetti un ARN per `HumanTaskUiArn`. Utilizza `arn:aws:sagemaker:<region>:394669845002:human-task-ui/VideoObjectDetection`. Sostituisci `<region>` con la Regione AWS in cui stai creando il processo di etichettatura. 

  Non includere una voce per il parametro `UiTemplateS3Uri`. 
+ Il tuo [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelAttributeName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelAttributeName) deve finire con `-ref`. Ad esempio, `video-od-labels-ref`. 
+ Il file manifest di input deve essere un file manifest di sequenza di fotogrammi video. Puoi creare questo file manifesto utilizzando la console SageMaker AI oppure crearlo manualmente e caricarlo su Amazon S3. Per ulteriori informazioni, consulta [Configurazione dei dati di input](sms-video-data-setup.md). 
+ Puoi utilizzare solo team di lavoro privati o di fornitori per creare processi di etichettatura di rilevamento di oggetti con fotogrammi video. 
+ Specifica le etichette, la categoria di etichette e gli attributi dei fotogrammi, il tipo di attività e le istruzioni per il worker in un file di configurazione della categoria di etichetta. Specifica il tipo di attività (riquadri di delimitazione, polilinee, poligoni o keypoint) utilizzando `annotationType` nel file di configurazione della categoria di etichette. Per ulteriori informazioni su come creare questo file, consulta [File di configurazione delle categoria di etichettatura con riferimento alle categorie di etichette e agli attributi dei frame](sms-label-cat-config-attributes.md). 
+ È necessario fornire funzioni Lambda predefinite ARNs per le funzioni Lambda di pre-annotazione e post-annotazione (ACS). Queste ARNs sono specifiche della AWS regione che utilizzi per creare il tuo lavoro di etichettatura. 
  + Per trovare l'ARN Lambda di pre-annotazione, fai riferimento a [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn). Utilizza la Regione in cui stai creando il processo di etichettatura per trovare l'ARN corretto che termina con `PRE-VideoObjectDetection`. 
  + Per trovare l'ARN Lambda di post-annotazione, fai riferimento a [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AnnotationConsolidationConfig.html#sagemaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AnnotationConsolidationConfig.html#sagemaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn). Utilizza la Regione in cui stai creando il processo di etichettatura per trovare l'ARN corretto che termina con `ACS-VideoObjectDetection`. 
+ Il numero di worker specificato in `NumberOfHumanWorkersPerDataObject` deve essere `1`. 
+ L'etichettatura automatizzata dei dati non è supportata per i processi di etichettatura dei fotogrammi video. Non specificare i valori per i parametri in `[LabelingJobAlgorithmsConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelingJobAlgorithmsConfig)`. 
+ Il completamento dei processi di etichettatura per il monitoraggio di oggetti dei fotogrammi video può richiedere più ore. Puoi specificare un limite di tempo più lungo per questi processi di etichettatura in `TaskTimeLimitInSeconds` (fino a 7 giorni o 604.800 secondi). 

Di seguito è riportato un esempio di richiesta [AWS Python SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job) per creare un processo di etichettatura nella Regione Stati Uniti orientali (Virginia settentrionale). 

```
response = client.create_labeling_job(
    LabelingJobName='example-video-od-labeling-job,
    LabelAttributeName='label',
    InputConfig={
        'DataSource': {
            'S3DataSource': {
                'ManifestS3Uri': 's3://amzn-s3-demo-bucket/path/video-frame-sequence-input-manifest.json'
            }
        },
        'DataAttributes': {
            'ContentClassifiers': [
                'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent',
            ]
        }
    },
    OutputConfig={
        'S3OutputPath': 's3://amzn-s3-demo-bucket/prefix/file-to-store-output-data',
        'KmsKeyId': 'string'
    },
    RoleArn='arn:aws:iam::*:role/*,
    LabelCategoryConfigS3Uri='s3://bucket/prefix/label-categories.json',
    StoppingConditions={
        'MaxHumanLabeledObjectCount': 123,
        'MaxPercentageOfInputDatasetLabeled': 123
    },
    HumanTaskConfig={
        'WorkteamArn': 'arn:aws:sagemaker:us-east-1:*:workteam/private-crowd/*',
        'UiConfig': {
            'HumanTaskUiArn: 'arn:aws:sagemaker:us-east-1:394669845002:human-task-ui/VideoObjectDetection'
        },
        'PreHumanTaskLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:PRE-VideoObjectDetection',
        'TaskKeywords': [
            'Video Frame Object Detection',
        ],
        'TaskTitle': 'Video frame object detection task',
        'TaskDescription': 'Classify and identify the location of objects and people in video frames',
        'NumberOfHumanWorkersPerDataObject': 123,
        'TaskTimeLimitInSeconds': 123,
        'TaskAvailabilityLifetimeInSeconds': 123,
        'MaxConcurrentTaskCount': 123,
        'AnnotationConsolidationConfig': {
            'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-VideoObjectDetection'
        },
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
```

## Creazione di un processo di regolazione del rilevamento di oggetti del fotogramma video o di etichettatura di verifica
<a name="sms-video-od-adjustment"></a>

Puoi creare un processo di etichettatura di regolazione e di verifica dell'etichetta utilizzando la console Ground Truth o l'API `CreateLabelingJob`. Per ulteriori informazioni sui processi di etichettatura di regolazione e di etichettatura di verifica e per scoprire come crearne uno, consulta [Verifica e aggiustamento delle etichette](sms-verification-data.md).

## Formato dei dati di output
<a name="sms-video-od-output-data"></a>

Quando crei un processo di etichettatura di rilevamento di oggetti del fotogramma video, le attività vengono inviate ai worker. Quando questi worker completano le attività, le etichette vengono scritte nella posizione di uscita Amazon S3 specificata al momento della creazione del processo di etichettatura. Per informazioni sul formato dei dati di output del rilevamento di oggetti del fotogramma video, consulta [Output del rilevamento di oggetti in un frame video](sms-data-output.md#sms-output-video-object-detection). Se non hai familiarità con Ground Truth, consulta [Etichettatura dei dati di output di un processo](sms-data-output.md) per ulteriori informazioni sul formato dei dati di output in Ground Truth. 

# Tenere traccia degli oggetti nei frame video utilizzando il tracciamento degli oggetti in frame video
<a name="sms-video-object-tracking"></a>

È possibile utilizzare il tipo di attività di monitoraggio di oggetti con fotogrammi video per consentire ai worker di identificare il movimento di oggetti in una sequenza di fotogrammi video (immagini estratte da un video) utilizzando riquadri di delimitazione, polilinee, poligoni o *strumenti di annotazione* dei punti chiave. Lo strumento scelto definisce il tipo di attività relativo ai fotogrammi video da creare. Ad esempio, puoi utilizzare un riquadro di delimitazione per il tipo di attività di monitoraggio di oggetti con fotogramma video per chiedere ai worker di rilevare il movimento di oggetti, come auto, biciclette e pedoni, disegnando dei riquadri attorno ad essi. 

Fornisci un elenco di categorie e ogni annotazione che un worker aggiunge a un fotogramma video viene identificata come un'*istanza* di quella categoria utilizzando un ID istanza. Ad esempio, se fornisci la categoria di etichetta “automobile”, la prima automobile annotata da un worker avrà l'ID istanza automobile:1. La seconda automobile annotata dal worker avrà l'ID istanza automobile:2. Per monitorare il movimento di un oggetto, il worker aggiunge annotazioni associate allo stesso ID istanza all'oggetto in tutti i fotogrammi. 

Puoi creare un lavoro di etichettatura di oggetti con frame video utilizzando la console Amazon SageMaker AI Ground Truth, l' SageMaker API e una lingua AWS SDKs specifica. Per ulteriori informazioni, consulta [Creazione di un processo di etichettatura per il rilevamento di oggetti con fotogrammi video](sms-video-object-detection.md#sms-video-od-create-labeling-job) e seleziona il tuo metodo preferito. Consulta [Tipi di attività](sms-video-overview.md#sms-video-frame-tools) per saperne di più sugli strumenti di annotazione tra cui scegliere quando crei un processo di etichettatura.

Ground Truth fornisce un'interfaccia utente di worker e gli strumenti necessari per completare le attività dei processi di etichettatura: [Anteprima dell'interfaccia utente del worker](sms-video-object-detection.md#sms-video-od-worker-ui).

Puoi creare un processo per adattare le annotazioni create in un processo di etichettatura di rilevamento di oggetti video utilizzando il tipo di attività di regolazione del rilevamento di oggetti video. Per ulteriori informazioni, consulta [Creazione di un processo di regolazione del rilevamento di oggetti del fotogramma video o di etichettatura di verifica](sms-video-object-detection.md#sms-video-od-adjustment).

## Anteprima dell'interfaccia utente dei worker
<a name="sms-video-ot-worker-ui"></a>

Ground Truth offre ai worker un'interfaccia utente Web (UI) per completare le attività di annotazione di oggetti di monitoraggio di oggetti di fotogrammi video. Puoi visualizzare in anteprima e interagire con l'interfaccia utente del worker quando crei un processo di etichettatura nella console. Se sei un nuovo utente, ti consigliamo di creare un processo di etichettatura tramite la console utilizzando un piccolo set di dati di input per visualizzare in anteprima l'interfaccia utente dei worker e assicurarti che i fotogrammi video, le etichette e gli attributi delle etichette appaiano correttamente. 

L'interfaccia utente fornisce ai worker i seguenti strumenti di etichettatura ausiliari, per completare le attività di monitoraggio di oggetti:
+ Per tutte le attività, i worker possono utilizzare le funzionalità **Copia su successivo** e **Copia su tutti** per copiare rispettivamente un'annotazione con lo stesso ID univoco nel fotogramma successivo o in tutti i fotogrammi successivi. 
+ Per le attività che includono gli strumenti del riquadro di delimitazione, i worker possono utilizzare la funzione **Prevedi successivo** per disegnare un riquadro di delimitazione in un singolo fotogramma, quindi fare in modo che Ground Truth preveda la posizione dei riquadri con lo stesso ID univoco in tutti gli altri fotogrammi. I worker possono quindi effettuare regolazioni per correggere le posizioni previste dei riquadri. 

Il video seguente mostra come un worker potrebbe utilizzare l'interfaccia utente con lo strumento riquadro di delimitazione per completare le attività di monitoraggio di oggetti.

![\[GIF che mostra come un worker può utilizzare lo strumento del riquadro di delimitazione con la funzionalità di previsione successiva.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/ot_predict_next.gif)


## Creazione di un processo di etichettatura per il monitoraggio di oggetti con fotogrammi video
<a name="sms-video-ot-create-labeling-job"></a>

Puoi creare un lavoro di etichettatura di oggetti con frame video utilizzando la console SageMaker AI o l'operazione API. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html) 

Questa sezione presuppone che tu abbia esaminato [Riferimento per i processi di etichettatura in frame video](sms-video-overview.md) e scelto il tipo di dati di input e la connessione al set di dati di input che stai utilizzando. 

### Creare un processo di etichettatura (console)
<a name="sms-video-ot-create-labeling-job-console"></a>

Puoi seguire le istruzioni riportate in [Creare un processo di etichettatura (console)](sms-create-labeling-job-console.md) per imparare a creare un lavoro di tracciamento di oggetti con frame video nella console SageMaker AI. Nella fase 10, scegli **Video - Monitoraggio di oggetti** dal menu a discesa della **categoria Attività**. Seleziona il tipo di attività che desideri selezionando una delle schede in **Selezione attività**.

![\[Gif che mostra come creare un processo di tracciamento di oggetti con frame video nella console SageMaker AI.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/task-type-vot.gif)


### Creare un processo di etichettatura (API)
<a name="sms-video-ot-create-labeling-job-api"></a>

Si crea un processo di etichettatura di tracciamento degli oggetti utilizzando l'operazione SageMaker API. `CreateLabelingJob` Questa API definisce questa operazione per tutti AWS SDKs. Per visualizzare un elenco delle lingue specifiche SDKs supportate per questa operazione, **consulta la sezione Vedere anche** di. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html) 

[Creare un processo di etichettatura (API)](sms-create-labeling-job-api.md) fornisce una panoramica dell'operazione `CreateLabelingJob`. Segui queste istruzioni ed effettua le seguenti operazioni durante la configurazione della richiesta: 
+ Immetti un ARN per `HumanTaskUiArn`. Utilizza `arn:aws:sagemaker:<region>:394669845002:human-task-ui/VideoObjectTracking`. Sostituisci `<region>` con la Regione AWS in cui stai creando il processo di etichettatura. 

  Non includere una voce per il parametro `UiTemplateS3Uri`. 
+ Il tuo [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelAttributeName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelAttributeName) deve finire con `-ref`. Ad esempio, `ot-labels-ref`. 
+ Il file manifest di input deve essere un file manifest di sequenza di fotogrammi video. Puoi creare questo file manifesto utilizzando la console SageMaker AI oppure crearlo manualmente e caricarlo su Amazon S3. Per ulteriori informazioni, consulta [Configurazione dei dati di input](sms-video-data-setup.md). Se crei un processo di etichettatura in streaming, il file manifest di input è facoltativo. 
+ Puoi utilizzare solo team di lavoro privati o di fornitori per creare processi di etichettatura di rilevamento di oggetti con fotogrammi video.
+ Specifica le etichette, la categoria di etichette e gli attributi dei fotogrammi, il tipo di attività e le istruzioni per il worker in un file di configurazione della categoria di etichetta. Specifica il tipo di attività (riquadri di delimitazione, polilinee, poligoni o keypoint) utilizzando `annotationType` nel file di configurazione della categoria di etichette. Per ulteriori informazioni su come creare questo file, consulta [File di configurazione delle categoria di etichettatura con riferimento alle categorie di etichette e agli attributi dei frame](sms-label-cat-config-attributes.md). 
+ È necessario fornire funzioni Lambda predefinite ARNs per le funzioni Lambda di pre-annotazione e post-annotazione (ACS). Queste ARNs sono specifiche della AWS regione che utilizzi per creare il tuo lavoro di etichettatura. 
  + Per trovare l'ARN Lambda di pre-annotazione, fai riferimento a [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn). Utilizza la Regione in cui stai creando il processo di etichettatura per trovare l'ARN corretto che termina con `PRE-VideoObjectTracking`. 
  + Per trovare l'ARN Lambda di post-annotazione, fai riferimento a [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AnnotationConsolidationConfig.html#sagemaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AnnotationConsolidationConfig.html#sagemaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn). Utilizza la Regione in cui stai creando il processo di etichettatura per trovare l'ARN corretto che termina con `ACS-VideoObjectTracking`. 
+ Il numero di worker specificato in `NumberOfHumanWorkersPerDataObject` deve essere `1`. 
+ L'etichettatura automatizzata dei dati non è supportata per i processi di etichettatura dei fotogrammi video. Non specificare i valori per i parametri in `[LabelingJobAlgorithmsConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelingJobAlgorithmsConfig)`. 
+ Il completamento dei processi di etichettatura per il monitoraggio di oggetti dei fotogrammi video può richiedere più ore. Puoi specificare un limite di tempo più lungo per questi processi di etichettatura in `TaskTimeLimitInSeconds` (fino a 7 giorni o 604.800 secondi). 

Di seguito è riportato un esempio di richiesta [AWS Python SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job) per creare un processo di etichettatura nella Regione Stati Uniti orientali (Virginia settentrionale). 

```
response = client.create_labeling_job(
    LabelingJobName='example-video-ot-labeling-job,
    LabelAttributeName='label',
    InputConfig={
        'DataSource': {
            'S3DataSource': {
                'ManifestS3Uri': 's3://amzn-s3-demo-bucket/path/video-frame-sequence-input-manifest.json'
            }
        },
        'DataAttributes': {
            'ContentClassifiers': [
                'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent',
            ]
        }
    },
    OutputConfig={
        'S3OutputPath': 's3://amzn-s3-demo-bucket/prefix/file-to-store-output-data',
        'KmsKeyId': 'string'
    },
    RoleArn='arn:aws:iam::*:role/*,
    LabelCategoryConfigS3Uri='s3://bucket/prefix/label-categories.json',
    StoppingConditions={
        'MaxHumanLabeledObjectCount': 123,
        'MaxPercentageOfInputDatasetLabeled': 123
    },
    HumanTaskConfig={
        'WorkteamArn': 'arn:aws:sagemaker:us-east-1:*:workteam/private-crowd/*',
        'UiConfig': {
            'HumanTaskUiArn: 'arn:aws:sagemaker:us-east-1:394669845002:human-task-ui/VideoObjectTracking'
        },
        'PreHumanTaskLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:PRE-VideoObjectTracking',
        'TaskKeywords': [
            'Video Frame Object Tracking,
        ],
        'TaskTitle': 'Video frame object tracking task',
        'TaskDescription': Tracking the location of objects and people across video frames',
        'NumberOfHumanWorkersPerDataObject': 123,
        'TaskTimeLimitInSeconds': 123,
        'TaskAvailabilityLifetimeInSeconds': 123,
        'MaxConcurrentTaskCount': 123,
        'AnnotationConsolidationConfig': {
            'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-VideoObjectTracking'
        },
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
```

## Creazione di un processo di etichettatura di tracciamento o verifica del monitoraggio di oggetti con fotogrammi video
<a name="sms-video-ot-adjustment"></a>

Puoi creare un processo di etichettatura di regolazione e di verifica dell'etichetta utilizzando la console Ground Truth o l'API `CreateLabelingJob`. Per ulteriori informazioni sui processi di etichettatura di regolazione e di etichettatura di verifica e per scoprire come crearne uno, consulta [Verifica e aggiustamento delle etichette](sms-verification-data.md).

## Formato dei dati di output
<a name="sms-video-ot-output-data"></a>

Quando crei un processo di etichettatura di monitoraggio di oggetti del fotogramma video, le attività vengono inviate ai worker. Quando questi worker completano le attività, le etichette vengono scritte nella posizione di uscita Amazon S3 specificata al momento della creazione del processo di etichettatura. Per informazioni sul formato dei dati di output del monitoraggio di oggetti del fotogramma video, consulta [Output del monitoraggio di oggetti in un frame video](sms-data-output.md#sms-output-video-object-tracking). Se non hai familiarità con Ground Truth, consulta [Etichettatura dei dati di output di un processo](sms-data-output.md) per ulteriori informazioni sul formato dei dati di output in Ground Truth. 

# Riferimento per i processi di etichettatura in frame video
<a name="sms-video-overview"></a>

Utilizza questa pagina per ulteriori informazioni sui processi di etichettatura di fotogrammi video di rilevamento e tracciamento di oggetti. Le informazioni contenute in questa pagina si applicano a entrambi i tipi di attività predefiniti. 

Il processo di etichettatura dei fotogrammi video è unico per i seguenti motivi:
+ Puoi fornire oggetti dati pronti per essere annotati (fotogrammi video) oppure fornire file video e fare in modo che Ground Truth estragga automaticamente i fotogrammi video. 
+ I worker hanno la possibilità di risparmiare lavoro man mano che procedono. 
+ Non è possibile utilizzare la Amazon Mechanical Turk forza lavoro per completare le attività di etichettatura. 
+ Ground Truth fornisce un'interfaccia utente per i worker, oltre a strumenti di etichettatura assistivi e di base, per aiutare i worker a completare le proprie attività. Non è necessario fornire un modello di attività del worker. 

Per ulteriori informazioni sui processi di etichettatura in frame video, utilizza i seguenti argomenti.

**Topics**
+ [Dati di input](#sms-video-input-overview)
+ [Tempi di completamento del processo](#sms-video-job-completion-times)
+ [Tipi di attività](#sms-video-frame-tools)
+ [Forza lavoro](#sms-video-workforces)
+ [Interfaccia utente dei worker](#sms-video-worker-task-ui)
+ [Requisiti di autorizzazione per processi in frame video](#sms-security-permission-video-frame)

## Dati di input
<a name="sms-video-input-overview"></a>

Il processo di etichettatura dei fotogrammi video utilizza *sequenze* di fotogrammi video. Una singola sequenza è una serie di immagini che sono state estratte da un singolo video. Puoi fornire le tue sequenze di fotogrammi video oppure fare in modo che Ground Truth estragga automaticamente le sequenze di fotogrammi video dai tuoi file video. Per ulteriori informazioni, consulta [Fornire file video](sms-point-cloud-video-input-data.md#sms-point-cloud-video-frame-extraction).

Ground Truth utilizza i file di sequenza per identificare tutte le immagini in un'unica sequenza. Tutte le sequenze che desideri includere in un singolo processo di etichettatura sono identificate in un file manifest di input. Ogni sequenza viene utilizzata per creare una singola attività lavorativa. Puoi creare automaticamente file di sequenza e un file manifest di input utilizzando la configurazione automatica dei dati di Ground Truth. Per ulteriori informazioni, consulta [Configurare in modo automatico i dati di input nei frame video](sms-video-automated-data-setup.md). 

Per informazioni su come creare manualmente file di sequenza e un file manifest di input, consulta [Creazione di un file manifesto di input di fotogrammi video](sms-video-manual-data-setup.md#sms-video-create-manifest). 

## Tempi di completamento del processo
<a name="sms-video-job-completion-times"></a>

I processi di etichettatura di video e fotogrammi video possono richiedere ore ai worker per essere completati. È possibile impostare la quantità totale di tempo in cui i worker possono lavorare su ogni attività quando si crea un processo di etichettatura. Il tempo massimo che è possibile impostare per i worker per svolgere le attività è di 7 giorni. Il valore predefinito è 3 giorni. 

Consigliamo di creare attività che i worker possono completare entro 12 ore. I worker devono mantenere aperta l'interfaccia utente del worker mentre lavorano su un'attività. Possono salvare il lavoro in corso d'opera e Ground Truth salverà il lavoro ogni 15 minuti.

Quando utilizzi l'operazione `CreateLabelingJob` API SageMaker AI, imposta il tempo totale in cui un'attività è disponibile per i lavoratori nel `TaskTimeLimitInSeconds` parametro di. `HumanTaskConfig`

Quando si crea un processo di etichettatura nella console, è possibile specificare questo limite di tempo quando si seleziona il tipo di forza lavoro e il team di lavoro.

## Tipi di attività
<a name="sms-video-frame-tools"></a>

Quando crei un processo di etichettatura di oggetti video o di rilevamento di oggetti video, specifica il tipo di annotazione che desideri che i worker creino durante l'attività di etichettatura. Il tipo di annotazione determina il tipo di dati di output restituiti da Ground Truth e definisce il *tipo di attività* per il processo di etichettatura. 

Se stai creando un processo di etichettatura utilizzando l'operazione API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html), specifica il tipo di attività utilizzando il parametro del file di configurazione della categoria di etichette `annotationType`. Per ulteriori informazioni, consulta [File di configurazione delle categoria di etichettatura con riferimento alle categorie di etichette e agli attributi dei frame](sms-label-cat-config-attributes.md).

I seguenti tipi di attività sono disponibili sia per i processi di etichettatura di tracciamento di oggetti video che per quelli di rilevamento di oggetti video: 
+ **Riquadro di delimitazione**: ai worker vengono forniti gli strumenti per creare annotazioni di riquadri di delimitazione. Un riquadro di delimitazione è un riquadro che un operatore disegna attorno a un oggetto per identificare la posizione dei pixel e l'etichetta di quell'oggetto nel fotogramma. 
+ **Polilinea**: ai worker vengono forniti gli strumenti per creare annotazioni polilinee. Una polilinea è definita dalla serie di coordinate x, y ordinate. Ogni punto aggiunto alla polilinea è collegato al punto precedente da una linea. La polilinea non deve essere chiusa (il punto iniziale e il punto finale non devono coincidere) e non ci sono restrizioni sugli angoli formati tra le linee. 
+ **Poligono**: ai worker vengono forniti gli strumenti per creare annotazioni di poligono. Un poligono è una forma chiusa definita da una serie di coordinate x, y ordinate. Ogni punto aggiunto al poligono è collegato al punto precedente da una linea e non ci sono restrizioni sugli angoli formati tra le linee. Due linee (lati) del poligono non possono incrociarsi. Il punto iniziale di un poligono e quello finale devono coincidere. 
+ **Keypoint**: ai worker vengono forniti gli strumenti per creare annotazioni di keypoint. Un keypoint è un singolo punto associato a una coordinata x, y nel fotogramma video.

## Forza lavoro
<a name="sms-video-workforces"></a>

Quando crei un processo di etichettatura di fotogrammi video, devi specificare un team di lavoro che completerà le attività di annotazione. Puoi scegliere un team di lavoro da una forza lavoro privata dei propri worker o da una forza lavoro fornitore selezionata in Marketplace AWS. Non puoi utilizzare Amazon Mechanical Turk per processi di etichettatura di fotogrammi video. 

Per ulteriori informazioni sulla forza lavoro fornitore, consulta [Effettuare l’abbonamento a forze lavoro di fornitori](sms-workforce-management-vendor.md).

Per informazioni su come creare e gestire una forza lavoro privata, consulta [Forza lavoro privata](sms-workforce-private.md).

## Interfaccia utente dei worker
<a name="sms-video-worker-task-ui"></a>

Ground Truth fornisce un'interfaccia utente (UI) worker, strumenti e funzioni di etichettatura assistita per aiutare i worker a completare le attività di etichettatura video. Puoi visualizzare in anteprima l'interfaccia utente del worker quando crei un processo di etichettatura nella console.

Quando crei un processo di etichettatura utilizzando l'operazione API `CreateLabelingJob`, devi fornire un ARN fornito da Ground Truth nel parametro [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UiConfig.html#sagemaker-Type-UiConfig-UiTemplateS3Uri](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UiConfig.html#sagemaker-Type-UiConfig-UiTemplateS3Uri) per specificare l'interfaccia utente del worker per il tipo di attività. Puoi utilizzare l'operazione `HumanTaskUiArn` con l'[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RenderUiTemplate.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RenderUiTemplate.html)API SageMaker AI per visualizzare in anteprima l'interfaccia utente del lavoratore. 

Fornisci istruzioni agli operatori, etichette e, facoltativamente, attributi che i worker possono utilizzare per fornire ulteriori informazioni su etichette e fotogrammi video. Questi attributi sono denominati rispettivamente attributi di categoria di etichette e attributi di fotogramma. Sono tutti visualizzati nell'interfaccia utente del worker.

### Attributi di frame e categorie di etichette
<a name="sms-video-label-attributes"></a>

Quando crei un processo di etichettatura di oggetti video o di rilevamento di oggetti video, puoi aggiungere uno o più *attributi di categoria di etichetta* e *attributi frame*:
+ **Attributo di categorie di etichette**: un elenco di opzioni (stringhe), una casella di testo in formato libero o un campo numerico associato a una o più etichette. Viene utilizzato dai worker per fornire metadati su un'etichetta. 
+ **Attributo fotogramma**: un elenco di opzioni (stringhe), una casella di testo in formato libero o un campo numerico che appare su ogni fotogramma video che un operatore viene inviato a annotare. Viene utilizzato dai worker per fornire metadati sui fotogrammi video. 

Inoltre, puoi utilizzare gli attributi di etichetta e fotogramma per consentire agli operatori di verificare le etichette in un processo di verifica delle etichette dei fotogrammi video. 

Utilizza le seguenti sezioni per avere ulteriori informazioni su questi attributi. Per informazioni su come aggiungere attributi di categoria di etichette e fotogrammi, utilizza le sezioni **Crea processo di etichettatura** nella [pagina del tipo di attività](sms-video-task-types.md) desiderata.

#### Attributi di categorie delle etichette
<a name="sms-video-label-category-attributes"></a>

Aggiungi gli attributi delle categorie di etichette alle etichette per dare ai worker la possibilità di fornire maggiori informazioni sulle annotazioni che creano. Un attributo di categoria di etichetta viene aggiunto a una singola etichetta o a tutte le etichette. Quando un attributo di categoria di etichetta viene applicato a tutte le etichette, viene definito *attributo di categoria di etichetta globale*. 

Ad esempio, se aggiungi una categoria di etichetta *auto*, puoi anche acquisire dati aggiuntivi sulle auto etichettate, ad esempio se sono occluse o le dimensioni dell'auto. È possibile acquisire questi metadati utilizzando gli attributi di categoria dell’etichetta. In questo esempio, se è stato aggiunto l'attributo *occluso* alla categoria dell'etichetta auto, è possibile assegnare *parzialmente*, *completamente*, *no* all'attributo *occluso* e i worker possono selezionare una di queste opzioni. 

Quando si crea un processo di verifica delle etichette, si aggiungono gli attributi della categoria delle etichette a ogni etichetta che si desidera che i worker verifichino.

#### Attributi a livello di frame
<a name="sms-video-frame-attributes"></a>

Aggiungi gli attributi di fotogramma per consentire agli operatori di fornire maggiori informazioni sui singoli fotogrammi video. Ogni attributo di fotogramma aggiunto viene visualizzato su tutti i fotogrammi. 

Ad esempio, puoi aggiungere un attributo di numero fotogramma per consentire agli operatori di identificare il numero di oggetti che vedono in un determinato riquadro. 

In un altro esempio, potresti voler fornire una casella di testo in formato libero per dare ai worker la possibilità di fornire una risposta a una domanda. 

Quando crei un processo di verifica delle etichette, puoi aggiungere uno o più attributi di fotogramma per chiedere ai worker di fornire un feedback su tutte le etichette in un fotogramma video.

### Istruzioni per il lavoratore
<a name="sms-video-worker-instructions-general"></a>

È possibile fornire istruzioni ai worker per aiutare i dipendenti a completare le attività di etichettatura dei fotogrammi. Potresti voler trattare i seguenti argomenti quando scrivi le istruzioni: 
+ Procedure consigliate e cose da evitare quando si annotano gli oggetti.
+ Attributi delle categorie di etichette forniti (per le attività di rilevamento degli oggetti e monitoraggio degli oggetti) e come utilizzarli.
+ Come risparmiare tempo durante l'etichettatura utilizzando le scelte rapide da tastiera. 

Puoi aggiungere le istruzioni del lavoratore utilizzando la console SageMaker AI durante la creazione di un lavoro di etichettatura. Se crei un processo di etichettatura utilizzando l'operazione API `CreateLabelingJob`, specificare le istruzioni del worker nel file di configurazione della categoria di etichette. 

Oltre alle istruzioni, GroundTruth fornisce un collegamento per consentire ai worker di spostarsi e utilizzare il portale dei worker. Visualizza queste istruzioni selezionando il tipo di attività su [Istruzioni per il worker](sms-video-worker-instructions.md).

### Rifiuto delle attività
<a name="sms-decline-task-video"></a>

I worker possono rifiutare le attività. 

I worker rifiutano un'attività se le istruzioni non sono chiare, i dati di input non vengono visualizzati correttamente o se riscontrano altri problemi con l'attività. Se il numero di worker per oggetto set di dati ([https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-NumberOfHumanWorkersPerDataObject](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-NumberOfHumanWorkersPerDataObject)) rifiuta l'attività, l'oggetto dati viene contrassegnato come scaduto e non verrà inviato ad altri worker.

## Requisiti di autorizzazione per processi in frame video
<a name="sms-security-permission-video-frame"></a>

Quando crei un processo di etichettatura di fotogrammi video, oltre ai requisiti di autorizzazione disponibili in [Assegnare le autorizzazioni IAM per utilizzare Ground Truth](sms-security-permission.md), è necessario aggiungere una policy CORS al bucket S3 contenente il file manifest di input. 

### Policy di autorizzazione CORS per un bucket S3
<a name="sms-permissions-add-cors-video-frame"></a>

Quando crei un processo di etichettatura di fotogrammi video, specifichi i bucket in S3 in cui si trovano i dati di input e il file manifest e dove verranno archiviati i dati di output. Questi bucket possono essere gli stessi. Devi collegare la policy CORS (Cross-Origin Resource Sharing) seguente ai bucket di input e output. Se utilizzi la console Amazon S3 per aggiungere la policy al tuo bucket, devi utilizzare il formato JSON.

**JSON**

```
[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "GET",
            "HEAD",
            "PUT"
        ],
        "AllowedOrigins": [
            "*"
        ],
        "ExposeHeaders": [
            "Access-Control-Allow-Origin"
        ],
        "MaxAgeSeconds": 3000
    }
]
```

**XML**

```
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>HEAD</AllowedMethod>
    <AllowedMethod>PUT</AllowedMethod>
    <MaxAgeSeconds>3000</MaxAgeSeconds>
    <ExposeHeader>Access-Control-Allow-Origin</ExposeHeader>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
```

Per informazioni su come aggiungere una policy CORS a un bucket S3, consulta [How do I add cross-domain resource sharing with CORS?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-cors-configuration.html) nella Guida per l’utente di Amazon Simple Storage.

# Istruzioni per il worker
<a name="sms-video-worker-instructions"></a>

In questo argomento viene fornita una panoramica del portale dei worker Ground Truth e degli strumenti disponibili per completare l'attività di etichettatura dei fotogrammi video. Seleziona innanzitutto il tipo di attività su cui stai lavorando in **Argomenti**.

**Importante**  
Si consiglia di completare l’attività utilizzando un browser Web Google Chrome o Firefox. 

Per i processi di adattamento, seleziona il tipo di attività del processo di etichettatura originale che ha prodotto le etichette da adattare. Esamina e adatta le etichette nell'attività in base alle esigenze.

**Topics**
+ [Navigare nell'interfaccia utente](sms-video-worker-instructions-worker-ui-ot.md)
+ [Modificare in blocco di attributi di etichette e fotogrammi](sms-video-frame-worker-instructions-ot-bulk-edit.md)
+ [Guida agli strumenti](sms-video-worker-instructions-tool-guide.md)
+ [Guida delle icone](sms-video-worker-instructions-ot-icons.md)
+ [Scelte rapide](sms-video-worker-instructions-ot-hot-keys.md)
+ [Informazioni sulle opzioni di rilascio, interruzione, ripresa e rifiuto delle attività](sms-video-worker-instructions-skip-reject-ot.md)
+ [Salvataggio del lavoro e invio](sms-video-worker-instructions-saving-work-ot.md)
+ [Attività di tracciamento degli oggetti con frame video](sms-video-ot-worker-instructions.md)
+ [Attività di rilevamento di oggetti con frame video](sms-video-od-worker-instructions.md)

# Navigare nell'interfaccia utente
<a name="sms-video-worker-instructions-worker-ui-ot"></a>

È possibile navigare tra i fotogrammi video utilizzando la barra di navigazione nell'angolo in basso a sinistra dell'interfaccia utente. 

Usar il pulsante Riproduci per spostarti automaticamente attraverso l'intera sequenza di fotogrammi. 

Utilizza i pulsanti Fotogramma successivo e Fotogramma precedente per spostarti avanti o indietro di un fotogramma alla volta. È anche possibile inserire un numero di fotogrammi per passare a quel fotogramma. 



Il video seguente illustra come spostarsi tra i fotogrammi video. 

![\[GIF che mostra come spostarsi tra frame video.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/nav_video_ui.gif)


È possibile ingrandire e ridurre tutti i fotogrammi video. Dopo aver ingrandito un fotogramma video è possibile spostarsi all'interno di esso mediante l'icona Sposta. Quando imposti una nuova visualizzazione in un singolo fotogramma video ingrandendo e spostandosi all'interno di esso, tutti i fotogrammi video vengono impostati sulla stessa vista. È possibile ripristinare la vista originale di tutti i fotogrammi video mediante l'icona Adatta schermo. Per ulteriori opzioni di visualizzazione, consulta [Guida delle icone](sms-video-worker-instructions-ot-icons.md). 

Nell'interfaccia utente di lavoro vengono visualizzati i seguenti menu:
+ **Istruzioni**: esamina queste istruzioni prima di iniziare l'attività. Inoltre, seleziona **Altre istruzioni** e consulta queste istruzioni. 
+ **Scelte rapide**: utilizza questo menu per visualizzare le scelte rapide da tastiera disponibili per navigare nei fotogrammi video e utilizzare gli strumenti di annotazione forniti. 
+ **Aiuto**: utilizza questa opzione per fare riferimento a questa documentazione. 

# Modificare in blocco di attributi di etichette e fotogrammi
<a name="sms-video-frame-worker-instructions-ot-bulk-edit"></a>

È possibile modificare in blocco gli attributi delle etichette e dei fotogrammi (attributi). 

Quando modifichi in blocco un attributo, specifica uno o più intervalli di frame a cui desideri applicare la modifica. L'attributo selezionato viene modificato in tutti i frame dell'intervallo, inclusi i frame iniziale e finale specificati. Quando modifichi in blocco gli attributi dell'etichetta, l'intervallo specificato *deve* contenere l'etichetta a cui è collegato l'attributo dell'etichetta. Se si specificano dei frame che non contengono questa etichetta, verrà generato un errore. 

Per modificare in blocco un attributo, *è necessario* specificare prima il valore desiderato per esso. Ad esempio, se desideri modificare un attributo da *Sì* a *No*, è necessario selezionare *No* e quindi eseguire la modifica in blocco. 

È anche possibile specificare un nuovo valore per un attributo che non è stato inserito e quindi utilizzare la funzionalità di modifica in blocco per inserire quel valore in più frame. A tale scopo, seleziona il valore desiderato per l'attributo e completa la procedura seguente. 

**Per modificare in blocco un'etichetta o un attributo:**

1. Usa il mouse per fare clic con il pulsante destro del mouse sull'attributo che desideri modificare in blocco.

1. Specificare l'intervallo di frame a cui si desidera applicare la modifica collettiva utilizzando un trattino (`-`) nella casella di testo. Ad esempio, se desideri applicare la modifica ai frame da uno a dieci, immetti `1-10`. Se desideri applicare la modifica ai frame da due a cinque, da otto a dieci e venti, immetti `2-5,8-10,20`.

1. Seleziona **Conferma**.

Se viene visualizzato un messaggio di errore, verifica di aver inserito un intervallo valido e che l'etichetta associata all'attributo di etichetta che stai modificando (se applicabile) esista in tutti i frame specificati.

È possibile aggiungere rapidamente un'etichetta a tutti i fotogrammi precedenti o successivi utilizzando le opzioni **Duplica nei fotogrammi precedenti** e **Duplica nei fotogrammi successivi** nel menu **Etichetta** nella parte superiore dello schermo. 

# Guida agli strumenti
<a name="sms-video-worker-instructions-tool-guide"></a>

L'attività includerà uno o più strumenti. Lo strumento fornito determina il tipo di annotazioni che si creeranno per identificare e tracciare gli oggetti. Utilizza la tabella seguente per ulteriori informazioni sugli strumenti forniti. 


****  

| Strumento | Icon | Azione | Description | 
| --- | --- | --- | --- | 
|  Riquadro di delimitazione  |  ![\[L’icona di Riquadro di delimitazione.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/Bounding%20Box.png)  |  Aggiunta di un'annotazione del riquadro di delimitazione.  |  Scegli questa icona per aggiungere un riquadro di delimitazione. Ciascun riquadro di delimitazione aggiunto è associato alla categoria che selezioni dal menu a discesa della categoria Etichette. Seleziona il riquadro di delimitazione o l'etichetta associata per modificarlo.   | 
| Prevedi successivo |  ![\[L’icona di Prevedi successivo.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/PredictNext.png)  |  Previsione dei riquadri di delimitazione nel fotogramma successivo.  |  Seleziona un riquadro di delimitazione, quindi scegli questa icona per prevedere la posizione di un fotogramma nel fotogramma successivo. È possibile selezionare l'icona più volte di seguito per rilevare automaticamente la posizione del riquadro in più fotogrammi. Ad esempio, seleziona questa icona 5 volte per prevedere la posizione di un riquadro di delimitazione nei 5 fotogrammi successivi.   | 
|  Keypoint  |  ![\[L’icona di Keypoint.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/Keypoint.png)  |  Aggiunta di un'annotazione keypoint.  |  Scegli questa icona per aggiungere un keypoint. Fai clic su un oggetto nell’immagine per posizionare il keypoint in quella posizione.  Ciascun keypoint aggiunto è associato alla categoria che si sceglie dal menu a discesa della categoria Etichetta. Seleziona un keypoint o l'etichetta associata per modificarlo.   | 
|  Polilinea  |  ![\[L’icona di Polilinea.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/polyline.png)  |  Aggiunta di un'annotazione polilinea.  |  Scegli questa icona per aggiungere una polilinea. Per aggiungere una polilinea, fai clic continuativamente sull'oggetto di interesse per aggiungere nuovi punti. Per smettere di disegnare una polilinea, seleziona l'ultimo punto posizionato una seconda volta (questo punto sarà verde) oppure premi **Invio** sulla tastiera.  Ogni punto aggiunto alla polilinea è collegato al punto precedente da una linea. La polilinea non deve essere chiusa (il punto iniziale e il punto finale non devono coincidere) e non ci sono restrizioni sugli angoli formati tra le linee.  Ciascuna polilinea aggiunta è associata alla categoria che si sceglie dal menu a discesa della categoria Etichetta. Seleziona la polilinea o l'etichetta associata per modificarla.   | 
|  Poligono  |  ![\[L’icona di Poligono.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/Polygon.png)  |  Aggiunta di un'annotazione poligono.  |  Scegli questa icona per aggiungere un poligono. Per aggiungere un poligono, fai clic continuativamente sull'oggetto di interesse per aggiungere nuovi punti. Per smettere di disegnare il poligono, seleziona il punto iniziale (questo punto sarà verde).  Un poligono è una forma chiusa definita da una serie di punti posizionati dall'utente. Ogni punto aggiunto al poligono è collegato al punto precedente da una linea e non ci sono restrizioni sugli angoli formati tra le linee. Il punto iniziale e quello finale devono coincidere.  Ciascun poligono aggiunto è associato alla categoria che si sceglie dal menu a discesa della categoria Etichetta. Seleziona il poligono o l'etichetta associata per modificarla.   | 
|  Copia su successivo  |  ![\[L’icona di Copia su successivo.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/copy_to_next.png)  |  Copia le annotazioni nel fotogramma successivo.   |  Se una o più annotazioni sono selezionate nel fotogramma corrente, tali annotazioni vengono copiate nel fotogramma successivo. Se non è selezionata nessuna annotazione, tutte le annotazioni nel fotogramma corrente verranno copiate nel fotogramma successivo.   | 
|  Copia su tutti  |  ![\[L’icona di Copia su tutti.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/copy_to_all.png)  |  Copia le annotazioni in tutti i fotogrammi successivi.  |  Se una o più annotazioni sono selezionate nel fotogramma corrente, tali annotazioni vengono copiate in tutti i fotogrammi successivi. Se non è selezionata nessuna annotazione, tutte le annotazioni nel fotogramma corrente verranno copiate su tutti i fotogrammi successivi.   | 

# Guida delle icone
<a name="sms-video-worker-instructions-ot-icons"></a>

Questa tabella include informazioni sulle icone visibili nell’interfaccia utente. È possibile selezionare automaticamente alcune di queste icone utilizzando le scelte rapide da tastiera disponibili nel menu **Scelte rapide.** 


| Icon | Azione  | Description | 
| --- | --- | --- | 
|  ![\[L’icona di Luminosità.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/Brightness.png)  |  luminosità  |  Scegli questa icona per regolare la luminosità di tutti i fotogrammi video.   | 
|  ![\[L’icona di Contrasto.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/Contrast.png)  |  contrasto  |  Scegli questa icona per regolare il contrasto di tutti i fotogrammi video.   | 
|  ![\[L’icona di Zoom avanti.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/Zoom-in.png)  |  zoom avanti  |  Scegli questa icona per ingrandire tutti i fotogrammi video.  | 
|  ![\[L’icona di Zoom indietro.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/Zoom-out.png)  |  zoom indietro  |  Scegli questa icona per ridurre tutti i fotogrammi video.   | 
|  ![\[L’icona di Sposta.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/Move.png)  |  sposta schermo  |  Dopo aver ingrandito un fotogramma video, scegli questa icona per spostarti all'interno di esso. Per spostarti all'interno del fotogramma video, puoi usare il mouse facendo clic e trascinando il fotogramma nella direzione desiderata. Questo cambierà la visualizzazione in tutti i fotogrammi della vista.  | 
|  ![\[L’icona di Adatta schermo.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/Fit%20screen.png)  | adatta schermo |  Ripristina tutti i fotogrammi video nella loro posizione originale.   | 
|  ![\[L’icona di Annulla.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/Undo.png)  | annulla |  Annulla un'operazione. È possibile utilizzare questa icona per rimuovere un riquadro di selezione appena aggiunto o per annullare una regolazione effettuata su un riquadro di selezione.   | 
|  ![\[L’icona di Ripeti.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/Redo.png)  | ripeti | Ripete un'operazione che era stata annullata usando l'icona Annulla. | 
|  ![\[L’icona di Elimina etichette.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/Delete.png)  | elimina etichetta | Elimina un'etichetta. Consente di eliminare il riquadro di delimitazione associato all'etichetta in un unico fotogramma.  | 
|  ![\[L’icona di Mostra o nascondi etichetta.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/Show_Hide.png)  | mostra o nascondi etichetta | Seleziona questa icona per mostrare un'etichetta che è stata nascosta. Se questa icona è barrata, selezionala per nascondere l'etichetta.  | 
|  ![\[L’icona di Modifica.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/Edit.png)  | modifica etichetta | Seleziona questa icona per aprire il menu Modifica istanza. Usa questo menu per modificare la categoria e l'ID di un'etichetta e per aggiungere o modificare gli attributi dell'etichetta.  | 

# Scelte rapide
<a name="sms-video-worker-instructions-ot-hot-keys"></a>

Le scelte rapide da tastiera disponibili nel menu **Scelte rapide** consentono di selezionare rapidamente le icone, annullare e ripetere le annotazioni e utilizzare gli strumenti per aggiungere e modificare annotazioni. Ad esempio, dopo aver aggiunto un riquadro di delimitazione, è possibile utilizzare **P** per prevedere rapidamente la posizione di tale riquadro nei fotogrammi successivi. 

Prima di iniziare l'attività, è consigliabile esaminare il menu **Tasti di scelta rapida** e familiarizzare con i relativi comandi.

# Informazioni sulle opzioni di rilascio, interruzione, ripresa e rifiuto delle attività
<a name="sms-video-worker-instructions-skip-reject-ot"></a>

Quando si apre l'attività di etichettatura, tre pulsanti in alto a destra consentono di rifiutare l'attività (**Rifiuta attività**), rilasciarla (**Rilascia attività**) e interromperla e riprenderla in un secondo momento (**Interrompi e riprendi più tardi**). L'elenco seguente descrive cosa succede quando si seleziona una di queste opzioni:
+ **Rifiuta attività**: è opportuno rifiutare un'attività solo se c'è qualcosa che non va, ad esempio immagini di fotogrammi video poco chiare o un problema con l'interfaccia utente. Se rifiuti un'attività, non sarà possibile recuperarla.
+ **Rilascia attività**: utilizza questa opzione per rilasciare un'attività e consentire ad altri di lavorarci. Quando si rilascia un'attività, si perde tutto il lavoro svolto su di essa e gli altri worker del team possono riprenderla. Se un numero sufficiente di worker si occuperà dell'attività, potrebbe non essere possibile riprenderla. Quando si seleziona questo pulsante e quindi si seleziona **Conferma**, si torna al portale dei worker. Se l'attività è ancora disponibile, il suo stato sarà **Disponibile**. Se altri worker la prelevano, scomparirà dal portale. 
+ **Interrompi e riprendi più tardi**: è possibile utilizzare il pulsante **Interrompi e riprendi più tardi** per smettere di lavorare e tornare all'attività in un secondo momento. È necessario utilizzare il pulsante **Salva** per salvare il lavoro prima di selezionare **Interrompi e riprendi più tardi**. Quando si seleziona questo pulsante e quindi si seleziona **Conferma**, si torna al portale dei worker e lo stato è **Interrotto**. È possibile selezionare la stessa attività per tornare a lavorarci. 

  Tieni presente che la persona che crea le attività di etichettatura specifica un limite di tempo entro il quale tutte le attività devono essere completate. Se non riprendi e non completi questa attività entro tale limite di tempo, essa scadrà e il lavoro non verrà inviato. Per ulteriori informazioni, consulta l'amministratore. 

![\[GIF che mostra le posizioni di Rifiuta attività, Rilascia attività e Arresta e riprendi più tardi nell’interfaccia utente.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/reject-decline-task.gif)


# Salvataggio del lavoro e invio
<a name="sms-video-worker-instructions-saving-work-ot"></a>

È necessario salvare periodicamente il lavoro con il pulsante **Salva**. Ground Truth salverà automaticamente il lavoro ogni 15 minuti. 

Quando apri un'attività, devi completare il lavoro prima di premere **Invia**. 

# Attività di tracciamento degli oggetti con frame video
<a name="sms-video-ot-worker-instructions"></a>

Le attività di tracciamento degli oggetti con fotogrammi video richiedono il tracciamento del movimento degli oggetti tra i fotogrammi video. Un fotogramma video è un'immagine fissa tratta da una scena video. È possibile utilizzare l'interfaccia utente del worker per navigare tra i fotogrammi video e utilizzare gli strumenti forniti per identificare oggetti unici e tracciarne il movimento da uno all'altro. Utilizza i seguenti argomenti per scoprire come navigare nell’interfaccia utente del worker, utilizzare gli strumenti forniti e completare l’attività. 

È consigliabile completare l’attività utilizzando un browser Web Google Chrome o Firefox. 

**Importante**  
Se noti che le annotazioni sono già state aggiunte a uno o più fotogrammi video quando si apre l'attività, regola tali annotazioni e aggiungine altre secondo necessità. 

**Topics**
+ [La tua attività](sms-video-worker-instructions-ot-task.md)

# La tua attività
<a name="sms-video-worker-instructions-ot-task"></a>

Quando lavori su un'attività di tracciamento di oggetti del fotogramma video è necessario selezionare una categoria dal menu **Categoria etichetta** sul lato destro del portale dei worker per iniziare ad annotare. Dopo aver scelto una categoria, utilizza gli strumenti forniti per annotare gli oggetti a cui si riferisce la categoria. Questa annotazione sarà associata a un ID di etichetta univoco che deve essere utilizzato solo a un determinato oggetto. Utilizza lo stesso ID di etichetta per creare annotazioni aggiuntive per lo stesso oggetto in tutti i fotogrammi video in cui appare. Per ulteriori informazioni sugli strumenti forniti, fai riferimento a [Guida agli strumenti](sms-video-worker-instructions-tool-guide.md).

Dopo aver aggiunto un'etichetta, potresti vedere una freccia rivolta verso il basso accanto all'etichetta nel menu **Etichette**. Seleziona la freccia, quindi seleziona un'opzione per ogni attributo dell'etichetta che risulta visibile per fornire ulteriori informazioni su quell'etichetta.

È possibile visualizzare gli attributi dei fotogrammi nel menu **Etichette**. Tali attributi verranno visualizzati in ogni riquadro dell'attività. Utilizza queste richieste sugli attributi per inserire informazioni aggiuntive su ogni frame. 

![\[Esempio di prompt degli attributi di frame.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/frame-attributes.png)


Dopo aver aggiunto un'etichetta, è possibile aggiungere e modificare rapidamente il valore di un attributo di categoria dell'etichetta utilizzando la freccia rivolta verso il basso accanto all'etichetta nel menu **Etichette**. Se selezioni l'icona a forma di matita accanto all'etichetta nel menu **Etichette**, verrà visualizzato il menu **Modifica istanza**. Utilizzando questo menu è possibile modificare l'ID dell'etichetta, la categoria dell'etichetta e gli attributi della categoria di etichette. 

![\[GIF che mostra come modificare l’annotazione per le etichette nel frame.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/kitti-ot-general.gif)


Per modificare un'annotazione, seleziona l'etichetta dell'annotazione che desideri modificare nel menu **Etichette** o seleziona l'annotazione nel fotogramma. Quando modifichi o elimini un'annotazione, l'operazione modificherà solo l'annotazione in un singolo fotogramma. 

Se stai lavorando a un'attività che include uno strumento di selezione, utilizza l'icona di previsione successiva per prevedere la posizione di tutti i riquadri di delimitazione che sono stati disegnati in un fotogramma nel fotogramma successivo. Se selezioni un singolo riquadro e quindi l'icona Prevedi successivo, solo quel riquadro verrà previsto nel fotogramma successivo. Se non hai aggiunto alcun riquadro al fotogramma corrente, verrà visualizzato un messaggio di errore. Prima di usare questa funzionalità è necessario aggiungere almeno un fotogramma al riquadro. 

Dopo aver utilizzato l'icona Prevedi successivo, controlla la posizione di ogni riquadro nel fotogramma successivo e, se necessario, apporta modifiche alla posizione e alle dimensioni del riquadro. 

L'immagine seguente illustra come usare lo strumento Prevedi successivo:

![\[GIF che mostra come modificare le caselle previste per il frame successivo.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/kitti-ot-predict-next.gif)


Per tutti gli altri strumenti, è possibile utilizzare gli strumenti **Copia su successivo** e **Copia su tutti** per copiare le annotazioni rispettivamente nel fotogramma successivo o in tutti i fotogrammi. 

# Attività di rilevamento di oggetti con frame video
<a name="sms-video-od-worker-instructions"></a>

Le attività di rilevamento di oggetti con fotogrammi video richiedevano di classificare e identificare la posizione degli oggetti nei fotogrammi video utilizzando le annotazioni. Un fotogramma video è un'immagine fissa tratta da una scena video. È possibile utilizzare l'interfaccia utente dei worker per spostarsi tra i fotogrammi video e creare annotazioni per identificare gli oggetti di interesse. Utilizza i seguenti argomenti per scoprire come navigare nell’interfaccia utente del worker, utilizzare gli strumenti forniti e completare l’attività. 

È consigliabile completare l’attività utilizzando un browser Web Google Chrome. 

**Importante**  
Se noti che le annotazioni sono già state aggiunte a uno o più fotogrammi video quando si apre l'attività, regola tali annotazioni e aggiungine altre secondo necessità. 

**Topics**
+ [La tua attività](sms-video-worker-instructions-od-task.md)

# La tua attività
<a name="sms-video-worker-instructions-od-task"></a>

Quando lavori su un'attività di rilevamento di oggetti del fotogramma video è necessario selezionare una categoria dal menu **Categoria etichetta** sul lato destro del portale dei worker per iniziare ad annotare. Dopo aver scelto una categoria, apponi annotazioni attorno agli oggetti a cui si riferisce questa categoria. Per ulteriori informazioni sugli strumenti visibili nell’interfaccia utente del worker, consulta [Guida agli strumenti](sms-video-worker-instructions-tool-guide.md).

Dopo aver aggiunto un'etichetta, potresti vedere una freccia rivolta verso il basso accanto all'etichetta nel menu **Etichette**. Seleziona la freccia, quindi seleziona un'opzione per ogni attributo dell'etichetta che risulta visibile per fornire ulteriori informazioni su quell'etichetta.

![\[GIF che mostra come un worker può utilizzare lo strumento del riquadro di delimitazione per le proprie attività di rilevamento di oggetti.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/kitti-od-general-labeling-job.gif)


È possibile visualizzare gli attributi dei fotogrammi nel menu **Etichette**. Tali attributi verranno visualizzati in ogni riquadro dell'attività. Utilizza queste richieste sugli attributi per inserire informazioni aggiuntive su ogni frame. 

![\[Esempio di prompt degli attributi di frame.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/frame-attributes.png)


Per modificare un'annotazione, seleziona l'etichetta dell'annotazione che desideri modificare nel menu **Etichette** o seleziona l'annotazione nel fotogramma. Quando modifichi o elimini un'annotazione, l'operazione modificherà solo l'annotazione in un singolo fotogramma. 

Se stai lavorando a un'attività che include uno strumento di selezione, utilizza l'icona di previsione successiva per prevedere la posizione di tutti i riquadri di delimitazione che sono stati disegnati in un fotogramma nel fotogramma successivo. Se selezioni un singolo riquadro e quindi l'icona Prevedi successivo, solo quel riquadro verrà previsto nel fotogramma successivo. Se non hai aggiunto alcun riquadro al fotogramma corrente, verrà visualizzato un messaggio di errore. Prima di usare questa funzionalità è necessario aggiungere almeno un fotogramma al riquadro. 

**Nota**  
La funzionalità di previsione successiva non sovrascriverà le annotazioni create manualmente. Aggiungerà solo annotazioni. Se utilizzi Prevedi successivo e di conseguenza hai più di un riquadro di delimitazione attorno a un singolo oggetto, elimina tutti i riquadri tranne uno. Ogni oggetto deve essere identificato solo con un singolo riquadro. 

Dopo aver utilizzato l'icona di previsione del riquadro successivo, controlla la posizione di ogni riquadro nel riquadro successivo e, se necessario, apporta modifiche alla posizione e alle dimensioni del riquadro. 

L'immagine seguente illustra come usare lo strumento Prevedi successivo:

![\[GIF che mostra come modificare le caselle previste nel frame successivo.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/video/kitti-video-od.gif)


Per tutti gli altri strumenti, è possibile utilizzare gli strumenti **Copia su successivo** e **Copia su tutti** per copiare le annotazioni rispettivamente nel fotogramma successivo o in tutti i fotogrammi. 

# Uso di Ground Truth per etichettare nuvole di punti 3D
<a name="sms-point-cloud"></a>

Crea un processo di etichettatura di nuvole di punti 3D per consentire ai worker di etichettare gli oggetti in nuvole di punti 3D generate da sensori 3D come sensori LiDAR (Light Detection and Ranging) e telecamere di profondità, o generate dalla ricostruzione 3D cucendo immagini catturate da un agente come un drone. 

## Nuvole di punti 3D
<a name="sms-point-cloud-define"></a>

Le nuvole di punti sono costituite da dati visuali tridimensionali (3D) formati da punti. Ogni punto viene descritto utilizzando tre coordinate, in genere `x`, `y` e `z`. Per aggiungere colore o variazioni nell'intensità dei punti alla nuvola di punti, i punti possono essere descritti con attributi aggiuntivi, ad esempio `i` per l'intensità o i valori per i canali colore a 8 bit rosso (`r`), verde (`g`) e blu (`b`). Quando crei un processo di etichettatura di nuvole di punti 3D Ground Truth, è possibile fornire dati sulla nuvola di punti e, facoltativamente, sulla fusione dei sensori. 

L'immagine seguente mostra una singola scena con una nuvola di punti 3D renderizzata da Ground Truth e visualizzata nell'interfaccia utente del worker di segmentazione semantica.

![\[GIF che mostra come i worker possono utilizzare insieme la nuvola di punti 3D e l’immagine 2D per dipingere oggetti.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/gifs/semantic_seg/ss_paint_sf.gif)


### LiDAR
<a name="sms-point-cloud-data-types-lidar"></a>

Un sensore LiDAR (Light Detection and Ranged) è un tipo comune di sensore utilizzato per raccogliere le misurazioni utilizzate per generare dati di nuvole di punti. LiDAR è un metodo di rilevamento remoto che utilizza la luce sotto forma di laser pulsato per misurare le distanze degli oggetti dal sensore. È possibile fornire dati di nuvole di punti 3D generati da un sensore LiDAR per un processo di etichettatura di nuvole di punti 3D Ground Truth utilizzando i formati di dati grezzi descritti in [Formati dati 3D non elaborati accettati](sms-point-cloud-raw-data-types.md).

### Fusione dei sensori
<a name="sms-point-cloud-data-types-sensor"></a>

I processi di etichettatura della nuvola di punti 3D Ground Truth includono una funzione di fusione dei sensori che supporta la fusione dei sensori della videocamera per tutti i tipi di attività. Alcuni sensori sono dotati di più dispositivi LiDAR e videocamere che catturano le immagini e le associano a un frame LiDAR. Per aiutare gli annotatori a completare visivamente le attività con elevata sicurezza, è possibile utilizzare la funzionalità di fusione dei sensori Ground Truth per proiettare annotazioni (etichette) da una nuvola di punti 3D alle immagini della telecamera 2D e viceversa utilizzando la matrice estrinseca dello scanner 3D (ad esempio LiDAR) e le matrici estrinseche e intrinseche della telecamera. Per ulteriori informazioni, consulta [Fusione dei sensori](sms-point-cloud-sensor-fusion-details.md#sms-point-cloud-sensor-fusion).

## Etichettatura di nuvole di punti 3D
<a name="sms-point-cloud-annotation-define"></a>

Ground Truth fornisce un'interfaccia utente (UI) e strumenti che i worker utilizzano per etichettare o *annotare* le nuvole di punti 3D. Quando si utilizzano i tipi di attività di rilevamento oggetti o segmentazione semantica, i worker possono annotare un singolo frame di nuvole di punti. Quando si utilizza il tracciamento oggetti, i worker annotano una sequenza di frame. È possibile utilizzare il tracciamento degli oggetti per tenere traccia del movimento degli oggetti in tutti i frame di una sequenza. 

Di seguito viene illustrato come un worker utilizzerebbe il portale di lavoro Ground Truth e gli strumenti per annotare una nuvola di punti 3D per un'attività di rilevamento oggetti. Per esempi visivi simili di altri tipi di attività, consulta [Tipi di attività con nuvole di punti 3D](sms-point-cloud-task-types.md).

![\[GIF che mostra come un worker può annotare una nuvola di punti 3D nel portale per i worker Ground Truth.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/gifs/object_detection/ot_basic_tools.gif)


### Strumenti di etichettatura assistita per l'annotazione con nuvole di punti
<a name="sms-point-cloud-assistive-labeling-tools"></a>

Ground Truth offre strumenti di etichettatura assistita per aiutare i worker a completare le attività di annotazione con nuvole di punti più velocemente e con maggiore precisione. Per informazioni dettagliate sugli strumenti di etichettatura assistita inclusi nell'interfaccia utente di lavoro per ciascun tipo di attività, [seleziona un tipo di attività](sms-point-cloud-task-types.md) e fai riferimento alla sezione **Visualizza l’interfaccia dell’attività del worker** di tale pagina.

## Fasi successive
<a name="sms-point-cloud-next-steps-getting-started"></a>

È possibile creare sei tipi di attività quando si utilizzano processi di etichettatura con nuvole di punti 3D Ground Truth. Utilizza gli argomenti in [Tipi di attività con nuvole di punti 3D](sms-point-cloud-task-types.md) per ulteriori informazioni su questi *tipi di attività* e per informazioni su come creare un processo di etichettatura utilizzando il tipo di attività scelto. 

Il processo di etichettatura con nuvole di punti 3D è diverso da altre modalità di etichettatura Ground Truth. Prima di creare un processo di etichettatura, si consiglia di leggere [Panoramica dei processi di etichettatura in una nuvola di punti 3D](sms-point-cloud-general-information.md). Inoltre, rivedi le quote dei dati di input in [Quote del processo di etichettatura di nuvole di punti 3D e frame video](input-data-limits.md#sms-input-data-quotas-other).

**Importante**  
Se utilizzi un'istanza del notebook creata prima del 5 giugno 2020 per eseguire questo notebook, è necessario arrestare e riavviare tale istanza affinché il notebook funzioni. 

**Topics**
+ [Nuvole di punti 3D](#sms-point-cloud-define)
+ [Etichettatura di nuvole di punti 3D](#sms-point-cloud-annotation-define)
+ [Fasi successive](#sms-point-cloud-next-steps-getting-started)
+ [Tipi di attività con nuvole di punti 3D](sms-point-cloud-task-types.md)
+ [Panoramica dei processi di etichettatura in una nuvola di punti 3D](sms-point-cloud-general-information.md)
+ [Istruzioni per il lavoratore](sms-point-cloud-worker-instructions.md)

# Tipi di attività con nuvole di punti 3D
<a name="sms-point-cloud-task-types"></a>

È possibile utilizzare la modalità di etichettatura nuvola di punti 3D Ground Truth per una varietà di casi d'uso. L'elenco seguente descrive brevemente ogni tipo di attività con nuvole di punti 3D. Per ulteriori dettagli e istruzioni su come creare un processo di etichettatura utilizzando un tipo di attività specifico, seleziona il nome del tipo di attività per visualizzare la pagina relativa al tipo di attività. 
+ [Rilevamento di oggetti con nuvole di punti 3D ](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud-object-detection.html): utilizza questo tipo di attività quando desideri che i worker individuino e classifichino gli oggetti in una nuvola di punti 3D aggiungendo e adattando cuboidi 3D attorno agli oggetti. 
+ [Tracciamento di oggetti con nuvole di punti 3D](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud-object-tracking.html): utilizza questo tipo di attività quando desideri che i worker aggiungano e adattino cuboidi 3D attorno agli oggetti per tenere traccia del loro movimento in una sequenza di frame di nuvole di punti 3D. Ad esempio, è possibile utilizzare questo tipo di attività per chiedere ai worker di tenere traccia dello spostamento dei veicoli attraverso più frame di nuvole di punti.
+ [Segmentazione semantica con nuvole di punti 3D](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud-semantic-segmentation.html): utilizza questo tipo di attività quando desideri che i worker creino una maschera di segmentazione semantica a livello di punto dipingendo oggetti in una nuvola di punti 3D utilizzando colori diversi in cui ogni colore è assegnato a una delle classi specificate. 
+  Tipi di attività di regolazione con nuvole di punti 3D: ciascuno dei tipi di attività precedenti ha un tipo di attività di *regolazione* associato che è possibile utilizzare per controllare e regolare le annotazioni generate da un processo di etichettatura con nuvole di punti 3D. Fai riferimento alla pagina del tipo di attività del tipo associato per informazioni su come creare un processo etichettatura di regolazione per tale attività. 

# Classificare gli oggetti in una nuvola di punti 3D con il rilevamento degli oggetti
<a name="sms-point-cloud-object-detection"></a>

Utilizza questo tipo di attività quando i worker devono classificare gli oggetti in una nuvola di punti 3D disegnando cuboidi 3D attorno agli oggetti. Ad esempio, puoi utilizzare questo tipo di attività per chiedere ai worker di identificare in una nuvola di punti diversi tipi di oggetti, ad esempio automobili, biciclette e pedoni. La pagina seguente fornisce informazioni importanti sul processo di etichettatura, nonché le fasi per crearne uno.

Per questo tipo di attività, l'*oggetto dati* etichettato dai worker è un singolo frame nuvola di punti. Ground Truth esegue il rendering di una nuvola di punti 3D utilizzando i dati della nuvola di punti forniti dall'utente. Puoi inoltre fornire i dati della telecamera per offrire ai worker maggiori informazioni visive sulle scene nel frame e per aiutare i worker a disegnare i cuboidi 3D attorno agli oggetti. 

Ground Truth fornisce ai worker gli strumenti per annotare gli oggetti con 9 gradi di libertà (x, y, z, rx, ry, rz, l, w, h) in tre dimensioni sia nelle visualizzazioni di scena 3D che nelle visualizzazioni laterali proiettate (superiore, laterale e posteriore). Se specifichi le informazioni sulla fusione dei sensori (come i dati della telecamera), quando un worker aggiunge un cuboide per identificare un oggetto nella nuvola di punti 3D, il cuboide viene visualizzato e può essere modificato nelle immagini 2D. Dopo l'aggiunta di un cuboide, tutte le modifiche apportate a quel cuboide nella scena 2D o 3D vengono proiettate nell'altra visualizzazione.

Puoi creare un processo per adattare le annotazioni create in un processo di etichettatura di rilevamento di oggetti della nuvola di punti 3D utilizzando il tipo di attività di adattamento del rilevamento di oggetti della nuvola di punti 3D. 

Se non hai familiarità con la modalità di etichettatura della nuvola di punti 3D Ground Truth, ti consigliamo di leggere [Panoramica dei processi di etichettatura in una nuvola di punti 3D](sms-point-cloud-general-information.md). Questa modalità di etichettatura è diversa da altri tipi di attività Ground Truth e in questa pagina viene fornita una panoramica dei dettagli importanti di cui devi essere consapevole quando crei un processo di etichettatura della nuvola di punti 3D.

**Topics**
+ [Visualizzare l’interfaccia dell’attività dei worker](#sms-point-cloud-object-detection-worker-ui)
+ [Creazione di un processo di etichettatura per il rilevamento di oggetti 3D della nuvola di punti](#sms-point-cloud-object-detection-create-labeling-job)
+ [Creazione di un processo di rilevamento di oggetti della nuvola di punti 3D o di etichettatura di verifica](#sms-point-cloud-object-detection-adjustment-verification)
+ [Formato dei dati di output](#sms-point-cloud-object-detection-output-data)

## Visualizzare l’interfaccia dell’attività dei worker
<a name="sms-point-cloud-object-detection-worker-ui"></a>

Ground Truth fornisce ai worker un portale Web e gli strumenti per completare le attività di annotazione del rilevamento di oggetti della nuvola di punti 3D. Quando crei il processo di etichettatura, fornisci il nome della risorsa Amazon (ARN) per un'interfaccia utente di lavoro Ground Truth predefinita nel parametro `HumanTaskUiArn`. Quando crei un processo di etichettatura utilizzando questo tipo di attività nella console, l'interfaccia utente di lavoro viene utilizzata automaticamente. Puoi visualizzare in anteprima e interagire con l'interfaccia utente del worker quando crei un processo di etichettatura nella console. Se sei un nuovo utente, ti consigliamo di creare un processo di etichettatura utilizzando la console per assicurarti che gli attributi di etichetta, i frame della nuvola di punti e, se applicabile, le immagini vengano visualizzati come previsto. 

Di seguito è riportata una GIF dell'interfaccia delle attività del worker di rilevamento di oggetti della nuvola di punti 3D. Se specifichi i dati della telecamera per la fusione dei sensori nel sistema di coordinate globale, le immagini vengono abbinate a scene nel frame della nuvola di punti. Queste immagini vengono visualizzate nel portale dei worker, come illustrato nella seguente GIF. 

![\[GIF che mostra come un worker può annotare una nuvola di punti 3D nel portale per i worker Ground Truth.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/gifs/object_detection/ot_basic_tools.gif)


Il worker può navigare nella scena 3D utilizzando la tastiera e il mouse. In particolare, può:
+ Fare doppio clic su oggetti specifici nella nuvola di punti per ingrandirli.
+ Usare la rotella del mouse o un trackpad per ingrandire e ridurre la nuvola di punti.
+ Usa entrambi i tasti freccia della tastiera e i tasti Q, E, A e D per spostarsi Su, Giù, Sinistra, Destra. Usa i tasti della tastiera W e S per ingrandire e ridurre. 

Una volta che un worker posiziona un cuboide nella scena 3D, viene mostrata una visualizzazione laterale con le tre visualizzazioni laterali proiettate: superiore, laterale e posteriore. Queste visualizzazioni laterali mostrano i punti all'interno e attorno al cuboide posizionato e consentono ai worker di perfezionare i limiti del cuboide in quell'area. I worker possono ingrandire e ridurre ciascuna di queste visualizzazioni laterali utilizzando il mouse. 

Il video seguente mostra i movimenti intorno alla nuvola di punti 3D e nella visualizzazione laterale. 

![\[GIF che mostra i movimenti intorno alla nuvola di punti 3D e nella visualizzazione laterale.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/gifs/object_detection/navigate_od_worker_ui.gif)


Altre opzioni di visualizzazione e caratteristiche sono disponibili nel menu **Visualizza** dell'interfaccia utente del worker. Consulta la [pagina delle istruzioni per il worker](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud-worker-instructions-object-detection) per una panoramica completa dell'interfaccia utente del worker. 

**Strumenti di etichettatura assistita**  
Ground Truth consente ai worker di annotare le nuvole di punti 3D in modo più rapido e accurato utilizzando strumenti di etichettatura assistita basati sul machine learning e strumenti di etichettatura assistita basati sulla visione artificiale per le attività di monitoraggio di oggetti della nuvola di punti 3D. Per questo tipo di attività sono disponibili i seguenti strumenti di etichettatura assistita:
+ **Aggancio**: i worker possono aggiungere un cuboide attorno a un oggetto e utilizzare un tasto di scelta rapida o un'opzione di menu per fare in modo che lo strumento di autofit di Ground Truth agganci saldamente il cuboide attorno all'oggetto. 
+ **Aggancio a terra **: dopo che un worker aggiunge un cuboide alla scena 3D può automaticamente agganciare il cuboide al terreno. Ad esempio, il worker può utilizzare questa caratteristica per agganciare un cuboide sulla strada o sul marciapiede nella scena. 
+ **Etichettatura di più visualizzazioni**: dopo che un worker aggiunge un cuboide 3D alla scena 3D, un pannello laterale visualizza le prospettive frontali, laterali e superiori per aiutare il worker ad adattare il cuboide attorno all'oggetto. In tutte queste visualizzazioni, il cuboide include una freccia che indica l'orientamento o l'intestazione dell'oggetto. Quando il worker adatta il cuboide, l'adattamento apparirà in tempo reale su tutte le visualizzazioni (ovvero 3D, superiore, laterale e anteriore). 
+ **Fusione dei sensori**: se fornisci i dati per la fusione dei sensori, i worker possono adattare nelle scene 3D e nelle immagini 2D le annotazioni che quindi verranno proiettate nell'altra visualizzazione in tempo reale. Inoltre, i worker hanno la possibilità di visualizzare la direzione in cui la telecamera è rivolta e il frustum della telecamera.
+ **Opzioni di visualizzazione **: consente ai worker di nascondere o visualizzare facilmente i cuboidi, il testo dell'etichetta, una maglia a terra e altri attributi di punto come il colore o l'intensità. I worker possono anche scegliere tra proiezioni prospettiche e ortogonali. 

## Creazione di un processo di etichettatura per il rilevamento di oggetti 3D della nuvola di punti
<a name="sms-point-cloud-object-detection-create-labeling-job"></a>

Puoi creare un lavoro di etichettatura di nuvole di punti 3D utilizzando la console SageMaker AI o il funzionamento dell'API, [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html). Per creare un processo di etichettatura per questo tipo di attività è necessario quanto segue: 
+ Un file manifest di input a frame singolo. Per informazioni su come creare questo tipo di file manifest, consulta [Creazione di un file manifest di input del frame di nuvola di punti](sms-point-cloud-single-frame-input-data.md). Se non hai familiarità con le modalità di etichettatura della nuvola di punti 3D Ground Truth, consulta [Formati dati 3D non elaborati accettati](sms-point-cloud-raw-data-types.md). 
+ Un team di lavoro di una forza lavoro privata o di fornitore. Non puoi utilizzare Amazon Mechanical Turk per processi di etichettatura di frame video. Per informazioni su come creare forza lavoro e team di lavoro, consulta [Forza lavoro](sms-workforce-management.md).

Inoltre, assicurati di aver esaminato e applicato quanto descritto in [Assegnare le autorizzazioni IAM per utilizzare Ground Truth](sms-security-permission.md). 

Le sezioni seguenti forniscono informazioni su come creare un processo di etichettatura utilizzando la console o un'API. 

### Creare un processo di etichettatura (console)
<a name="sms-point-cloud-object-detection-create-labeling-job-console"></a>

Puoi seguire le istruzioni [Creare un processo di etichettatura (console)](sms-create-labeling-job-console.md) per imparare a creare un lavoro di etichettatura di oggetti per il rilevamento di nuvole di punti 3D nella console SageMaker AI. Durante la creazione del processo di etichettatura, tieni presente quanto segue: 
+ Il file manifest di input deve essere un file manifest a frame singolo. Per ulteriori informazioni, consulta [Creazione di un file manifest di input del frame di nuvola di punti](sms-point-cloud-single-frame-input-data.md). 
+ Facoltativamente puoi fornire la categoria di etichetta e gli attributi frame. I worker possono assegnare uno o più di questi attributi alle annotazioni per fornire ulteriori informazioni sull'oggetto. Ad esempio, puoi utilizzare l'attributo *occluded* per consentire ai worker di individuare quando un oggetto è parzialmente ostruito.
+ L'etichettatura automatizzata dei dati e il consolidamento dell'annotazione non sono supportati per le attività di etichettatura della nuvola di punti 3D.
+ I processi di etichettatura di rilevamento di oggetti della nuvola di punti 3D possono richiedere diverse ore per essere completati. Puoi specificare un limite di tempo più lungo per questi processi di etichettatura quando selezioni il team di lavoro (fino a 7 giorni o 604800 secondi). 

### Creare un processo di etichettatura (API)
<a name="sms-point-cloud-object-detection-create-labeling-job-api"></a>

Questa sezione descrive i dettagli che è necessario conoscere quando si crea un lavoro di etichettatura utilizzando l'operazione SageMaker API. `CreateLabelingJob` Questa API definisce questa operazione per tutti AWS SDKs. Per visualizzare un elenco delle lingue specifiche SDKs supportate per questa operazione, **consulta la sezione Vedere anche** di. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html) 

[Creare un processo di etichettatura (API)](sms-create-labeling-job-api.md), fornisce una panoramica dell'operazione `CreateLabelingJob`. Segui queste istruzioni ed effettua le seguenti operazioni durante la configurazione della richiesta: 
+ Immetti un ARN per `HumanTaskUiArn`. Utilizza `arn:aws:sagemaker:<region>:394669845002:human-task-ui/PointCloudObjectDetection`. Sostituisci `<region>` con la Regione AWS in cui stai creando il processo di etichettatura. 

  Non inserire una voce per il parametro `UiTemplateS3Uri`. 
+ Il file manifest di input deve essere un file manifest a frame singolo. Per ulteriori informazioni, consulta [Creazione di un file manifest di input del frame di nuvola di punti](sms-point-cloud-single-frame-input-data.md). 
+ Specifica le etichette, la categoria di etichette e gli attributi frame, e le istruzioni per il worker in un file di configurazione della categoria di etichetta. Per informazioni su come creare questo file, consulta [File di configurazione delle categoria di etichettatura con riferimento alle categorie di etichette e agli attributi dei frame](sms-label-cat-config-attributes.md). 
+ È necessario fornire funzioni Lambda predefinite ARNs per le funzioni Lambda di pre-annotazione e post-annotazione (ACS). Queste ARNs sono specifiche della AWS regione che utilizzi per creare il tuo lavoro di etichettatura. 
  + Per trovare l'ARN Lambda di pre-annotazione, fai riferimento a [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn). Utilizza la Regione in cui stai creando il processo di etichettatura per trovare l'ARN corretto. Ad esempio, se stai creando il processo di etichettatura in us-east-1, l'ARN sarà `arn:aws:lambda:us-east-1:432418664414:function:PRE-3DPointCloudObjectDetection`. 
  + Per trovare l'ARN Lambda di postannotazione, fai riferimento a [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AnnotationConsolidationConfig.html#sagemaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AnnotationConsolidationConfig.html#sagemaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn). Utilizza la Regione in cui stai creando il processo di etichettatura per trovare l'ARN corretto. Ad esempio, se stai creando il processo di etichettatura in us-east-1, l'ARN sarà `arn:aws:lambda:us-east-1:432418664414:function:ACS-3DPointCloudObjectDetection`. 
+ Il numero di worker specificato in `NumberOfHumanWorkersPerDataObject` deve essere `1`. 
+ L'etichettatura automatizzata dei dati non è supportata per i processi di etichettatura della nuvola di punti 3D. Non è necessario specificare i valori per i parametri in `[LabelingJobAlgorithmsConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelingJobAlgorithmsConfig)`.
+ I processi di etichettatura di rilevamento di oggetti della nuvola di punti 3D possono richiedere diverse ore per essere completati. Puoi specificare un limite di tempo più lungo per questi processi di etichettatura in `TaskTimeLimitInSeconds` (fino a 7 giorni o 604.800 secondi). 

## Creazione di un processo di rilevamento di oggetti della nuvola di punti 3D o di etichettatura di verifica
<a name="sms-point-cloud-object-detection-adjustment-verification"></a>

Puoi creare un processo di regolazione o di etichettatura di verifica dell'etichetta utilizzando la console Ground Truth o l'API `CreateLabelingJob`. Per ulteriori informazioni sui processi di etichettatura di regolazione e di etichettatura di verifica e per scoprire come crearne uno, consulta [Verifica e aggiustamento delle etichette](sms-verification-data.md).

Quando crei un processo di etichettatura di regolazione, i dati di input per il processo di etichettatura possono includere etichette e misurazioni di imbardata, rollio e beccheggio tratte da un precedente processo di etichettatura o da un’origine esterna. Nel processo di regolazione, beccheggio e rollio verranno visualizzati nell'interfaccia utente del worker, ma non possono essere modificati. L'imbardata è regolabile. 

Ground Truth utilizza gli angoli di Tait-Bryan con le seguenti rotazioni intrinseche per visualizzare imbardata, beccheggio e rollio nell'interfaccia utente del worker. Innanzitutto, la rotazione viene applicata al veicolo in base all'asse z (imbardata). Successivamente, il veicolo ruotato viene ruotato secondo l'asse y intrinseco (beccheggio). Infine, il veicolo viene ruotato secondo l'asse x intrinseco (rollio). 

## Formato dei dati di output
<a name="sms-point-cloud-object-detection-output-data"></a>

Quando crei un processo di etichettatura di rilevamento di oggetti della nuvola di punti 3D, le attività vengono inviate ai worker. Quando questi worker completano le attività, le etichette vengono scritte nel bucket Amazon S3 specificato al momento della creazione del processo di etichettatura. Il formato dei dati di output determina ciò che vedi nel tuo bucket Amazon S3 quando lo stato del processo di etichettatura () è. [LabelingJobStatus](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeLabelingJob.html#API_DescribeLabelingJob_ResponseSyntax)`Completed` 

Se non hai familiarità con Ground Truth, consulta [Etichettatura dei dati di output di un processo](sms-data-output.md) per ulteriori informazioni sul formato dei dati di output in Ground Truth. Per informazioni sul formato dei dati di output del rilevamento di oggetti della nuvola di punti 3D, consulta [Output del rilevamento di oggetti in una nuvola di punti 3D](sms-data-output.md#sms-output-point-cloud-object-detection). 

# Comprendere il tipo di attività di tracciamento degli oggetti in una nuvola di punti 3D
<a name="sms-point-cloud-object-tracking"></a>

Utilizza questo tipo di attività quando desideri che i worker aggiungano e adattino cuboidi 3D attorno agli oggetti per tenere traccia del loro movimento tra frame di nuvole di punti 3D. Ad esempio, è possibile utilizzare questo tipo di attività per chiedere ai worker di tenere traccia dello spostamento dei veicoli attraverso più frame di nuvole di punti. 

Per questo tipo di attività, l'oggetto dati etichettato dai worker è una sequenza di frame della nuvola di punti. Una *sequenza* è definita come una serie temporale di frame di nuvole di punti. Ground Truth esegue il rendering di una serie di visualizzazioni di nuvole di punti 3D utilizzando una sequenza fornita e i worker possono passare da questi frame di nuvole di punti 3D nell'interfaccia delle attività del worker. 

Ground Truth fornisce ai worker gli strumenti per annotare gli oggetti con 9 gradi di libertà (x, y, z, rx, ry, rz, l, w, h) in tre dimensioni sia nelle visualizzazioni di scene 3D che nelle visualizzazioni laterali proiettate (superiore, laterale e posteriore). Quando un worker disegna un cuboide attorno a un oggetto, a tale cuboide viene assegnato un ID univoco, ad esempio `Car:1` per un'auto nella sequenza e `Car:2` per un'altra. I worker utilizzano tale ID per etichettare lo stesso oggetto in più frame.

Puoi inoltre fornire i dati della telecamera per offrire ai worker maggiori informazioni visive sulle scene nel frame e per aiutare i worker a disegnare i cuboidi 3D attorno agli oggetti. Quando un worker aggiunge un cuboide 3D per identificare un oggetto nell'immagine 2D o nel cloud di punti 3D e il cuboide viene visualizzato nell'altra vista. 

Puoi adattare le annotazioni create in un processo di etichettatura di rilevamento di oggetti della nuvola di punti 3D utilizzando il tipo di attività di adattamento del tracciamento dell'oggetto della nuvola di punti 3D. 

Se non hai familiarità con la modalità di etichettatura della nuvola di punti Ground Truth 3D, ti consigliamo di consultare [Panoramica dei processi di etichettatura in una nuvola di punti 3D](sms-point-cloud-general-information.md). Questa modalità di etichettatura è diversa da altri tipi di attività Ground Truth e in questa pagina viene fornita una panoramica dei dettagli importanti di cui devi essere consapevole quando crei un processo di etichettatura della nuvola di punti 3D.

I seguenti argomenti spiegano come creare un processo di tracciamento di oggetti in una nuvola di punti 3D, mostrano l’aspetto dell’interfaccia dell’attività dei worker (ciò che visualizzano quando lavorano a questa attività) e forniscono una panoramica dei dati di output che si ottengono quando i worker completano le loro attività. L’argomento finale fornisce informazioni utili per creare processi di etichettatura per il tracciamento, la regolazione o la verifica degli oggetti.

**Topics**
+ [Creare un processo di etichettatura per il tracciamento di oggetti in una nuvola di punti 3D](sms-point-cloud-object-tracking-create-labeling-job.md)
+ [Visualizzare l’interfaccia dell’attività dei worker per un’attività di tracciamento di oggetti in una nuvola di punti 3D](sms-point-cloud-object-tracking-worker-ui.md)
+ [Dati di output relativi a un processo di etichettatura per il tracciamento di oggetti in una nuvola di punti 3D](sms-point-cloud-object-tracking-output-data.md)
+ [Informazioni per creare un processo di etichettatura di regolazione o verifica del tracciamento di oggetti in una nuvola di punti 3D](sms-point-cloud-object-tracking-adjustment-verification.md)

# Creare un processo di etichettatura per il tracciamento di oggetti in una nuvola di punti 3D
<a name="sms-point-cloud-object-tracking-create-labeling-job"></a>

Puoi creare un lavoro di etichettatura con nuvole di punti 3D utilizzando la console SageMaker AI o il funzionamento dell'API,. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html) Per creare un processo di etichettatura per questo tipo di attività è necessario quanto segue: 
+ Un file manifest di input di sequenza. Per informazioni su come creare questo tipo di file manifest, consulta [Creazione di un file manifest di input della sequenza di nuvole di punti](sms-point-cloud-multi-frame-input-data.md). Se non hai familiarità con la modalità di etichettatura della nuvola di punti 3D Ground Truth, ti consigliamo di leggere [Formati dati 3D non elaborati accettati](sms-point-cloud-raw-data-types.md). 
+ Un team di lavoro di una forza lavoro privata o di fornitore. Non è possibile utilizzare Pubblica per i processi di etichettatura della nuvola di punti 3D. Per informazioni su come creare forza lavoro e team di lavoro, consulta [Forza lavoro](sms-workforce-management.md).

Inoltre, assicurati di aver esaminato e applicato quanto descritto in [Assegnare le autorizzazioni IAM per utilizzare Ground Truth](sms-security-permission.md). 

Per informazioni su come creare un processo di etichettatura utilizzando la console o un'API, consulta le sezioni seguenti. 

## Creare un processo di etichettatura (console)
<a name="sms-point-cloud-object-tracking-create-labeling-job-console"></a>

Puoi seguire le istruzioni [Creare un processo di etichettatura (console)](sms-create-labeling-job-console.md) per imparare a creare un lavoro di etichettatura di oggetti con nuvole di punti 3D nella console SageMaker AI. Durante la creazione del processo di etichettatura, tieni presente quanto segue: 
+ Il file manifest di input deve essere un file manifest di sequenza. Per ulteriori informazioni, consulta [Creazione di un file manifest di input della sequenza di nuvole di punti](sms-point-cloud-multi-frame-input-data.md). 
+ Facoltativamente puoi fornire gli attributi di categoria di etichetta. I worker possono assegnare uno o più di questi attributi alle annotazioni per fornire ulteriori informazioni sull'oggetto. Ad esempio, puoi utilizzare l'attributo *occluded* per consentire ai worker di individuare quando un oggetto è parzialmente ostruito.
+ L'etichettatura automatizzata dei dati e il consolidamento dell'annotazione non sono supportati per le attività di etichettatura della nuvola di punti 3D. 
+ I processi di etichettatura per il tracciamento degli oggetti della nuvola di punti 3D possono richiedere più ore per il completamento. Puoi specificare un limite di tempo più lungo per questi processi di etichettatura quando selezioni il team di lavoro (fino a 7 giorni o 604800 secondi). 

## Creare un processo di etichettatura (API)
<a name="sms-point-cloud-object-tracking-create-labeling-job-api"></a>

Questa sezione descrive i dettagli che è necessario conoscere quando si crea un lavoro di etichettatura utilizzando l'operazione SageMaker API. `CreateLabelingJob` Questa API definisce questa operazione per tutti AWS SDKs. Per visualizzare un elenco delle lingue specifiche SDKs supportate per questa operazione, **consulta la sezione Vedere anche** di. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html) 

[Creare un processo di etichettatura (API)](sms-create-labeling-job-api.md) fornisce una panoramica dell'operazione `CreateLabelingJob`. Segui queste istruzioni ed effettua le seguenti operazioni durante la configurazione della richiesta: 
+ Immetti un ARN per `HumanTaskUiArn`. Utilizza `arn:aws:sagemaker:<region>:394669845002:human-task-ui/PointCloudObjectTracking`. Sostituisci `<region>` con la Regione AWS in cui stai creando il processo di etichettatura. 

  Non inserire una voce per il parametro `UiTemplateS3Uri`. 
+ Il tuo [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelAttributeName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelAttributeName) deve finire con `-ref`. Ad esempio, `ot-labels-ref`. 
+ Il file manifest di input deve essere un file manifest della sequenza di frame della nuvola di punti. Per ulteriori informazioni, consulta [Creazione di un file manifest di input della sequenza di nuvole di punti](sms-point-cloud-multi-frame-input-data.md). 
+ Specifica le etichette, la categoria di etichette e gli attributi frame, e le istruzioni per il worker in un file di configurazione della categoria di etichetta. Per ulteriori informazioni su come creare questo file, consulta [File di configurazione delle categoria di etichettatura con riferimento alle categorie di etichette e agli attributi dei frame](sms-label-cat-config-attributes.md). 
+ È necessario fornire funzioni Lambda predefinite ARNs per le funzioni Lambda di pre-annotazione e post-annotazione (ACS). Queste ARNs sono specifiche della AWS regione che utilizzi per creare il tuo lavoro di etichettatura. 
  + Per trovare l'ARN Lambda di pre-annotazione, fai riferimento a [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn). Utilizza la Regione in cui stai creando il processo di etichettatura per trovare l'ARN corretto che termina con `PRE-3DPointCloudObjectTracking`. 
  + Per trovare l'ARN Lambda di postannotazione, fai riferimento a [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AnnotationConsolidationConfig.html#sagemaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AnnotationConsolidationConfig.html#sagemaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn). Utilizza la Regione in cui stai creando il processo di etichettatura per trovare l'ARN corretto che termina con `ACS-3DPointCloudObjectTracking`. 
+ Il numero di worker specificato in `NumberOfHumanWorkersPerDataObject` deve essere `1`. 
+ L'etichettatura automatizzata dei dati non è supportata per i processi di etichettatura della nuvola di punti 3D. Non è necessario specificare i valori per i parametri in `[LabelingJobAlgorithmsConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelingJobAlgorithmsConfig)`. 
+ I processi di etichettatura per il tracciamento degli oggetti della nuvola di punti 3D possono richiedere più ore per il completamento. Puoi specificare un limite di tempo più lungo per questi processi di etichettatura in `TaskTimeLimitInSeconds` (fino a 7 giorni o 604.800 secondi). 

# Visualizzare l’interfaccia dell’attività dei worker per un’attività di tracciamento di oggetti in una nuvola di punti 3D
<a name="sms-point-cloud-object-tracking-worker-ui"></a>

Ground Truth fornisce ai worker un portale Web e gli strumenti per completare le attività di annotazione del tracciamento di oggetti della nuvola di punti 3D. Quando crei il processo di etichettatura, fornisci il nome della risorsa Amazon (ARN) per un'interfaccia utente Ground Truth predefinita nel parametro `HumanTaskUiArn`. Quando crei un processo di etichettatura utilizzando questo tipo di attività nella console, l'interfaccia utente viene utilizzata automaticamente. Puoi visualizzare in anteprima e interagire con l'interfaccia utente del worker quando crei un processo di etichettatura nella console. Se sei un nuovo utente, ti consigliamo di creare un processo di etichettatura utilizzando la console per assicurarti che gli attributi di etichetta, i frame della nuvola di punti e, se applicabile, le immagini vengano visualizzati come previsto. 

Di seguito è riportata una GIF dell'interfaccia attività del worker per il monitoraggio degli oggetti delle nuvole di punti 3D e viene illustrato come il worker può spostarsi nei frame della nuvola di punti nella sequenza. Gli strumenti di annotazione fanno parte dell'interfaccia dell’attività del worker. Non sono disponibili per l'interfaccia in anteprima. 

![\[GIF che mostra come il worker può spostarsi nei frame della nuvola di punti nella sequenza.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/gifs/object_tracking/nav_frames.gif)


Una volta che i worker aggiungono un singolo cuboide, tale cuboide viene replicato in tutti i frame della sequenza con lo stesso ID. Una volta che i worker regolano il cuboide in un altro frame, Ground Truth interpolerà il movimento di quell'oggetto e regolerà tutti i cuboidi tra i frame regolati manualmente. Nella GIF seguente viene illustrata questa funzione di interpolazione. Nella barra di navigazione in basso a sinistra, le aree rosse indicano i frame regolati manualmente. 

![\[GIF che mostra come viene dedotta la posizione di un cuboide tra i frame.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/gifs/object_tracking/label-interpolation.gif)


Se specifichi i dati della telecamera per la fusione dei sensori, le immagini vengono abbinate a scene nel frame della nuvola di punti. Queste immagini vengono visualizzate nel portale dei worker, come illustrato nella seguente GIF. 

Il worker può navigare nella scena 3D utilizzando la tastiera e il mouse. In particolare, può:
+ Fare doppio clic su oggetti specifici nella nuvola di punti per ingrandirli.
+ Usare la rotella del mouse o un trackpad per ingrandire e ridurre la nuvola di punti.
+ Usa entrambi i tasti freccia della tastiera e i tasti Q, E, A e D per spostarsi Su, Giù, Sinistra, Destra. Usa i tasti della tastiera W e S per ingrandire e ridurre. 

Una volta che un worker posiziona un cuboide nella scena 3D, viene mostrata una visualizzazione laterale con le tre visualizzazioni laterali proiettate: superiore, laterale e posteriore. Queste visualizzazioni laterali mostrano i punti all'interno e attorno al cuboide posizionato e consentono ai worker di perfezionare i limiti del cuboide in quell'area. I worker possono ingrandire e ridurre ciascuna di queste visualizzazioni laterali utilizzando il mouse. 

Il video seguente mostra i movimenti intorno alla nuvola di punti 3D e nella visualizzazione laterale. 

![\[GIF che mostra i movimenti attorno alla nuvola di punti 3D che mostra una scena su strada.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/gifs/object_tracking/nav_general_UI.gif)


Sono disponibili ulteriori opzioni di visualizzazione e caratteristiche. Consulta la [pagina delle istruzioni per il worker](https://docs.aws.amazon.com//sagemaker/latest/dg/sms-point-cloud-worker-instructions-object-tracking.html) per una panoramica completa dell'interfaccia utente di lavoro. 

## Strumenti per i worker
<a name="sms-point-cloud-object-tracking-worker-tools"></a>

I worker possono navigare nella nuvola di punti 3D eseguendo lo zoom avanti e indietro e spostandosi in tutte le direzioni intorno alla nuvola utilizzando le scelte rapide del mouse e della tastiera. Se i worker fanno clic su un punto nella nuvola di punti, l'interfaccia utente esegue automaticamente lo zoom in quell'area. I worker possono utilizzare vari strumenti per disegnare un cuboide 3D attorno agli oggetti. Per ulteriori informazioni, seleziona **Strumenti di etichettatura assistita**. 

Dopo che i worker hanno inserito un cuboide 3D nella nuvola di punti, possono regolare questi cuboidi per adattarsi perfettamente alle auto utilizzando una varietà di viste: direttamente nel cuboide 3D, in una vista laterale con tre prospettive ingrandite della nuvola di punti attorno alla casella e, se si includono immagini per la fusione dei sensori, direttamente nell'immagine 2D. 

Opzioni di visualizzazione che consentono ai worker di nascondere o visualizzare facilmente il testo dell'etichetta, una maglia a terra e altri attributi di punto. I worker possono anche scegliere tra proiezioni prospettiche e ortogonali. 

**Strumenti di etichettatura assistita**  
Ground Truth consente ai worker di annotare le nuvole di punti 3D in modo più rapido e accurato utilizzando UX, gli strumenti di etichettatura assistita basati sul Machine Learning e gli strumenti di etichettatura assistita basati sulla visione artificiale per le attività di tracciamento di oggetti della nuvola di punti 3D. Per questo tipo di attività sono disponibili i seguenti strumenti di etichettatura assistita:
+ **Compilazione automatica delle etichette**: quando un worker aggiunge un cuboide a un frame, un cuboide con le stesse dimensioni e orientamento viene aggiunto automaticamente a tutti i frame della sequenza. 
+ **Interpolazione delle etichette**: dopo che un worker ha etichettato un singolo oggetto in due frame, Ground Truth utilizza tali annotazioni per interpolare il movimento dell'oggetto tra i due frame. L'interpolazione delle etichette può essere attivata e disattivata.
+ **Gestione in blocco di etichette e attributi**: i worker possono aggiungere, eliminare e rinominare annotazioni, attributi delle categorie di etichette e attributi dei frame in blocco. 
  + I worker possono eliminare manualmente le annotazioni per un determinato oggetto prima o dopo un frame. Ad esempio, un worker può eliminare tutte le etichette per un oggetto dopo il frame 10 se tale oggetto non si trova più nella scena successiva al frame. 
  + Se un worker elimina accidentalmente tutte le annotazioni relative a un oggetto, può aggiungerle nuovamente. Ad esempio, se un worker elimina tutte le annotazioni per un oggetto prima del frame 100, può aggiungerle in blocco a tali frame. 
  + I worker possono rinominare un'etichetta in un frame e tutti i cuboidi 3D assegnati a tale etichetta vengono aggiornati con il nuovo nome in tutti i frame. 
  + I worker possono utilizzare la modifica in blocco per aggiungere o modificare gli attributi delle categorie di etichette e gli attributi dei frame in più frame.
+ **Aggancio**: i worker possono aggiungere un cuboide attorno a un oggetto e utilizzare un tasto di scelta rapida o un'opzione di menu per fare in modo che lo strumento di autofit di Ground Truth agganci saldamente il cuboide attorno ai bordi dell'oggetto. 
+ **Adatta a terra**: dopo che un worker aggiunge un cuboide alla scena 3D, il worker può automaticamente agganciare il cuboide al terreno. Ad esempio, il worker può utilizzare questa caratteristica per agganciare un cuboide sulla strada o sul marciapiede nella scena. 
+ **Etichettatura di più visualizzazioni**: dopo che un worker aggiunge un cuboide 3D alla scena 3D, un pannello laterale visualizza le prospettive frontali e a due vie per aiutare il worker ad adattare il cuboide attorno all'oggetto. I worker possono annotare il cloud di punti 3D, il pannello laterale e le regolazioni appaiono nelle altre viste in tempo reale. 
+ **Fusione dei sensori**: se fornisci i dati per la fusione dei sensori, i worker possono adattare nelle scene 3D e nelle immagini 2D le annotazioni che quindi verranno proiettate nell'altra visualizzazione in tempo reale. 
+ **Fusione automatica dei cuboidi**: i worker possono unire automaticamente due cuboidi in tutti i frame se determinano che i cuboidi con etichette diverse rappresentano effettivamente un singolo oggetto. 
+ **Opzioni di visualizzazione**: consente ai worker di nascondere o visualizzare facilmente il testo dell'etichetta, una mesh di terra e altri attributi puntuali come il colore o l'intensità. I worker possono anche scegliere tra proiezioni prospettiche e ortogonali. 

# Dati di output relativi a un processo di etichettatura per il tracciamento di oggetti in una nuvola di punti 3D
<a name="sms-point-cloud-object-tracking-output-data"></a>

Quando crei un processo di etichettatura di tracciamento di oggetti della nuvola di punti 3D, le attività vengono inviate ai worker. Quando questi worker completano le attività, le relative annotazioni vengono scritte nel bucket Amazon S3 specificato al momento della creazione del processo di etichettatura. Il formato dei dati di output determina ciò che vedi nel tuo bucket Amazon S3 quando lo stato del processo di etichettatura () è. [LabelingJobStatus](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeLabelingJob.html#API_DescribeLabelingJob_ResponseSyntax)`Completed` 

Se non hai familiarità con Ground Truth, consulta [Etichettatura dei dati di output di un processo](sms-data-output.md) per ulteriori informazioni sul formato dei dati di output in Ground Truth. Per informazioni sul formato dei dati di output del tracciamento di oggetti della nuvola di punti 3D, consulta [Output del monitoraggio di oggetti in una nuvola di punti 3D](sms-data-output.md#sms-output-point-cloud-object-tracking). 

# Informazioni per creare un processo di etichettatura di regolazione o verifica del tracciamento di oggetti in una nuvola di punti 3D
<a name="sms-point-cloud-object-tracking-adjustment-verification"></a>

Puoi creare un processo di etichettatura di regolazione e di verifica dell'etichetta utilizzando la console Ground Truth o l'API `CreateLabelingJob`. Per ulteriori informazioni sui processi di etichettatura di regolazione e di etichettatura di verifica e per scoprire come crearne uno, consulta [Verifica e aggiustamento delle etichette](sms-verification-data.md).

Quando crei un processo di etichettatura di regolazione, i dati di input per il processo di etichettatura possono includere etichette e misurazioni di imbardata, rollio e beccheggio tratte da un precedente processo di etichettatura o da un’origine esterna. Nel processo di regolazione, beccheggio e rollio verranno visualizzati nell'interfaccia utente del worker, ma non possono essere modificati. L'imbardata è regolabile. 

Ground Truth utilizza gli angoli di Tait-Bryan con le seguenti rotazioni intrinseche per visualizzare imbardata, beccheggio e rollio nell'interfaccia utente del worker. Innanzitutto, la rotazione viene applicata al veicolo in base all'asse z (imbardata). Successivamente, il veicolo ruotato viene ruotato secondo l'asse y intrinseco (beccheggio). Infine, il veicolo viene ruotato secondo l'asse x intrinseco (rollio). 

# Informazioni sul tipo di attività di segmentazione semantica in una nuvola di punti 3D
<a name="sms-point-cloud-semantic-segmentation"></a>

La segmentazione semantica comporta la classificazione dei singoli punti di una nuvola di punti 3D in categorie predefinite. Utilizza questo tipo di attività quando i worker devono creare una maschera di segmentazione semantica a livello di punto per le nuvole di punti 3D. Ad esempio, se specifichi le classi `car`, `pedestrian` e `bike`, i worker selezionano una classe alla volta e colorano tutti i punti che questa classe applica allo stesso colore nella nuvola di punti. 

Per questo tipo di attività, l'oggetto dati etichettato dai worker è un singolo frame della nuvola di punti. Ground Truth genera una visualizzazione di una nuvola di punti 3D utilizzando i dati della nuvola di punti forniti dall'utente. Puoi inoltre fornire i dati della telecamera per offrire ai worker maggiori informazioni visive sulle scene nel frame e per aiutare i worker a dipingere gli oggetti. Quando un worker dipinge un oggetto nell'immagine 2D o nella nuvola di punti 3D, il disegno viene visualizzato nell'altra visualizzazione. 

Puoi regolare o verificare le annotazioni create in un processo di etichettatura per il rilevamento di oggetti in una nuvola di punti 3D utilizzando il tipo di attività di etichettatura o regolazione della segmentazione semantica in una nuvola di punti 3D. Per ulteriori informazioni sui processi di etichettatura di regolazione e di etichettatura di verifica e per scoprire come crearne uno, consulta [Verifica e aggiustamento delle etichette](sms-verification-data.md).

Se non hai familiarità con la modalità di etichettatura della nuvola di punti Ground Truth 3D, ti consigliamo di consultare [Panoramica dei processi di etichettatura in una nuvola di punti 3D](sms-point-cloud-general-information.md). Questa modalità di etichettatura è diversa da altri tipi di attività Ground Truth e in questo argomento viene fornita una panoramica dei dettagli importanti di cui devi essere consapevole quando crei un processo di etichettatura della nuvola di punti 3D.

I seguenti argomenti spiegano come creare un processo di segmentazione semantica in una nuvola di punti 3D, mostrano l’aspetto dell’interfaccia dell’attività dei worker (ciò che visualizzano quando lavorano a questa attività) e forniscono una panoramica dei dati di output che si ottengono quando i worker completano le loro attività.

**Topics**
+ [Creare un processo di etichettatura di segmentazione semantica in una nuvola di punti 3D](sms-point-cloud-semantic-segmentation-create-labeling-job.md)
+ [Visualizza l’interfaccia dell’attività dei worker per un processo di segmentazione semantica in una nuvola di punti 3D](sms-point-cloud-semantic-segmentation-worker-ui.md)
+ [Dati di output per un processo di segmentazione semantica in una nuvola di punti 3D](sms-point-cloud-semantic-segmentation-input-data.md)

# Creare un processo di etichettatura di segmentazione semantica in una nuvola di punti 3D
<a name="sms-point-cloud-semantic-segmentation-create-labeling-job"></a>

Puoi creare un lavoro di etichettatura con nuvole di punti 3D utilizzando la console SageMaker AI o il funzionamento dell'API,. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html) Per creare un processo di etichettatura per questo tipo di attività è necessario quanto segue: 
+ Un file manifest di input a frame singolo. Per informazioni su come creare questo tipo di file manifest, consulta [Creazione di un file manifest di input del frame di nuvola di punti](sms-point-cloud-single-frame-input-data.md). Se non hai familiarità con la modalità di etichettatura della nuvola di punti 3D Ground Truth, ti consigliamo di leggere [Formati dati 3D non elaborati accettati](sms-point-cloud-raw-data-types.md). 
+ Un team di lavoro di una forza lavoro privata o di fornitore. Non puoi utilizzare i worker di Amazon Mechanical Turk per i processi di etichettatura della nuvola di punti 3D. Per informazioni su come creare forza lavoro e team di lavoro, consulta [Forza lavoro](sms-workforce-management.md).
+ Un file di configurazione della categoria di etichetta. Per ulteriori informazioni, consulta [File di configurazione delle categoria di etichettatura con riferimento alle categorie di etichette e agli attributi dei frame](sms-label-cat-config-attributes.md). 

Inoltre, assicurati di aver esaminato e applicato quanto descritto in [Assegnare le autorizzazioni IAM per utilizzare Ground Truth](sms-security-permission.md). 

Le sezioni seguenti forniscono informazioni su come creare un processo di etichettatura utilizzando la console o un'API. 

## Creare un processo di etichettatura (console)
<a name="sms-point-cloud-semantic-segmentation-console"></a>

Puoi seguire le istruzioni [Creare un processo di etichettatura (console)](sms-create-labeling-job-console.md) per imparare a creare un lavoro di etichettatura semantica di segmentazione con nuvole di punti 3D nella console AI. SageMaker Durante la creazione del processo di etichettatura, tieni presente quanto segue: 
+ Il file manifest di input deve essere un file manifest a frame singolo. Per ulteriori informazioni, consulta [Creazione di un file manifest di input del frame di nuvola di punti](sms-point-cloud-single-frame-input-data.md). 
+ L'etichettatura automatizzata dei dati e il consolidamento dell'annotazione non sono supportati per le attività di etichettatura della nuvola di punti 3D. 
+ I processi di etichettatura di segmentazione semantica della nuvola di punti 3D possono richiedere più ore per essere completati. Puoi specificare un limite di tempo più lungo per questi processi di etichettatura quando selezioni il team di lavoro (fino a 7 giorni o 604800 secondi). 

## Creare un processo di etichettatura (API)
<a name="sms-point-cloud-semantic-segmentation-api"></a>

Questa sezione descrive i dettagli che è necessario conoscere quando si crea un lavoro di etichettatura utilizzando l'operazione API. SageMaker `CreateLabelingJob` Questa API definisce questa operazione per tutti AWS SDKs. Per visualizzare un elenco delle lingue specifiche SDKs supportate per questa operazione, **consulta la sezione Vedere anche** di. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html) 

La pagina [Creare un processo di etichettatura (API)](sms-create-labeling-job-api.md) fornisce una panoramica dell'operazione `CreateLabelingJob`. Segui queste istruzioni ed effettua le seguenti operazioni durante la configurazione della richiesta: 
+ Immetti un ARN per `HumanTaskUiArn`. Utilizza `arn:aws:sagemaker:<region>:394669845002:human-task-ui/PointCloudSemanticSegmentation`. Sostituisci `<region>` con la Regione AWS in cui stai creando il processo di etichettatura. 

  Non inserire una voce per il parametro `UiTemplateS3Uri`. 
+ Il tuo [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelAttributeName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelAttributeName) deve finire con `-ref`. Ad esempio, `ss-labels-ref`. 
+ Il file manifest di input deve essere un file manifest a frame singolo. Per ulteriori informazioni, consulta [Creazione di un file manifest di input del frame di nuvola di punti](sms-point-cloud-single-frame-input-data.md). 
+ Specifica le etichette e le istruzioni per il worker in un file di configurazione della categoria di etichetta. Consulta [File di configurazione delle categoria di etichettatura con riferimento alle categorie di etichette e agli attributi dei frame](sms-label-cat-config-attributes.md) per le istruzioni per creare questo file. 
+ È necessario fornire un valore predefinito ARNs per le funzioni Lambda di pre-annotazione e post-annotazione (ACS). Queste ARNs sono specifiche della AWS regione che utilizzi per creare il tuo lavoro di etichettatura. 
  + Per trovare l'ARN Lambda di pre-annotazione, fai riferimento a [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn). Utilizza la Regione in cui stai creando il processo di etichettatura per trovare l'ARN corretto. Ad esempio, se stai creando il processo di etichettatura in us-east-1, l'ARN sarà `arn:aws:lambda:us-east-1:432418664414:function:PRE-3DPointCloudSemanticSegmentation`. 
  + Per trovare l'ARN Lambda di postannotazione, fai riferimento a [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AnnotationConsolidationConfig.html#sagemaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AnnotationConsolidationConfig.html#sagemaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn). Utilizza la Regione in cui stai creando il processo di etichettatura per trovare l'ARN corretto. Ad esempio, se stai creando il processo di etichettatura in us-east-1, l'ARN sarà `arn:aws:lambda:us-east-1:432418664414:function:ACS-3DPointCloudSemanticSegmentation`. 
+ Il numero di worker specificato in `NumberOfHumanWorkersPerDataObject` deve essere `1`. 
+ L'etichettatura automatizzata dei dati non è supportata per i processi di etichettatura della nuvola di punti 3D. Non è necessario specificare i valori per i parametri in `[LabelingJobAlgorithmsConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelingJobAlgorithmsConfig)`. 
+ I processi di etichettatura di segmentazione semantica della nuvola di punti 3D possono richiedere più ore per essere completati. Puoi specificare un limite di tempo più lungo per questi processi di etichettatura in `TaskTimeLimitInSeconds` (fino a 7 giorni o 604800 secondi). 

# Visualizza l’interfaccia dell’attività dei worker per un processo di segmentazione semantica in una nuvola di punti 3D
<a name="sms-point-cloud-semantic-segmentation-worker-ui"></a>

Ground Truth fornisce ai worker un portale Web e gli strumenti per completare le attività di annotazione della segmentazione semantica della nuvola di punti 3D. Quando crei il processo di etichettatura, fornisci il nome della risorsa Amazon (ARN) per un'interfaccia utente Ground Truth predefinita nel parametro `HumanTaskUiArn`. Quando crei un processo di etichettatura utilizzando questo tipo di attività nella console, l'interfaccia utente viene utilizzata automaticamente. Puoi visualizzare in anteprima e interagire con l'interfaccia utente del worker quando crei un processo di etichettatura nella console. Se sei un nuovo utente, ti consigliamo di creare un processo di etichettatura utilizzando la console per assicurarti che gli attributi di etichetta, i frame della nuvola di punti e, se applicabile, le immagini vengano visualizzati come previsto. 

Di seguito è riportata una GIF dell'interfaccia delle attività del worker di segmentazione semantica della nuvola di punti 3D. Se specifichi i dati della telecamera per la fusione dei sensori, le immagini vengono abbinate a scene nel frame della nuvola di punti. I worker possono dipingere oggetti nella nuvola di punti 3D o nell'immagine 2D e l'oggetto dipinto viene visualizzato nella posizione corrispondente nell'altro supporto. Queste immagini vengono visualizzate nel portale dei worker, come illustrato nella seguente GIF. 

![\[GIF che mostra come i worker possono utilizzare insieme la nuvola di punti 3D e l’immagine 2D per dipingere oggetti.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/gifs/semantic_seg/ss_paint_sf.gif)


Il worker può navigare nella scena 3D utilizzando la tastiera e il mouse. In particolare, può:
+ Fare doppio clic su oggetti specifici nella nuvola di punti per ingrandirli.
+ Usare la rotella del mouse o un trackpad per ingrandire e ridurre la nuvola di punti.
+ Usa entrambi i tasti freccia della tastiera e i tasti Q, E, A e D per spostarsi Su, Giù, Sinistra, Destra. Usare i tasti della tastiera W e S per ingrandire e ridurre. 

Il video seguente mostra i movimenti attorno alla nuvola di punti 3D. I worker possono comprimere ed espandere nuovamente tutte le visualizzazioni laterali e i menu. In questa GIF, le visualizzazioni laterali e i menu sono stati compressi. 

![\[GIF che mostra come i worker possono spostarsi all’interno della nuvola di punti 3D.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/gifs/semantic_seg/ss_nav_worker_portal.gif)


Nella GIF seguente viene illustrato come un worker può etichettare più oggetti rapidamente, perfezionare gli oggetti dipinti utilizzando l'opzione Svernicia e quindi visualizzare solo i punti che sono stati dipinti. 

![\[GIF che mostra come un worker può etichettare più oggetti.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/gifs/semantic_seg/ss-view-options.gif)


Sono disponibili ulteriori opzioni di visualizzazione e caratteristiche. Consulta la [pagina delle istruzioni per il worker](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud-worker-instructions-semantic-segmentation.html) per una panoramica completa dell'interfaccia utente di lavoro. 

**Strumenti per i worker**  
I worker possono navigare nella nuvola di punti 3D eseguendo lo zoom avanti e indietro e spostandosi in tutte le direzioni intorno alla nuvola utilizzando le scelte rapide del mouse e della tastiera. Quando crei un processo di segmentazione semantica, i worker dispongono dei seguenti strumenti: 
+ Un pennello per dipingere e sverniciare oggetti. I worker dipingono gli oggetti selezionando una categoria di etichetta e quindi dipingendo nella nuvola di punti 3D. I worker sverniciano gli oggetti selezionando l'opzione Svernicia dal menu della categoria di etichetta e utilizzando il pennello per togliere la vernice. 
+ Uno strumento poligono che i worker possono utilizzare per selezionare e dipingere un'area nella nuvola di punti. 
+ Uno strumento di pittura per lo sfondo, che consente ai worker di dipingere dietro gli oggetti che hanno già annotato senza alterare le annotazioni originali. Ad esempio, i worker possono utilizzare questo strumento per dipingere la strada dopo aver dipinto tutte le auto sulla strada. 
+ Opzioni di visualizzazione che consentono ai worker di nascondere o visualizzare facilmente il testo dell'etichetta, una maglia a terra e altri attributi di punto come il colore o l'intensità. I worker possono anche scegliere tra proiezioni prospettiche e ortogonali. 

# Dati di output per un processo di segmentazione semantica in una nuvola di punti 3D
<a name="sms-point-cloud-semantic-segmentation-input-data"></a>

Quando crei un processo di etichettatura di segmentazione semantica della nuvola di punti 3D, le attività vengono inviate ai worker. Quando questi worker completano le attività, le relative annotazioni vengono scritte nel bucket Amazon S3 specificato al momento della creazione del processo di etichettatura. Il formato dei dati di output determina ciò che vedi nel tuo bucket Amazon S3 quando lo stato del processo di etichettatura () è. [LabelingJobStatus](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeLabelingJob.html#API_DescribeLabelingJob_ResponseSyntax)`Completed` 

Se non hai familiarità con Ground Truth, consulta [Etichettatura dei dati di output di un processo](sms-data-output.md) per ulteriori informazioni sul formato dei dati di output in Ground Truth. Per informazioni sul formato dei dati di output del rilevamento di oggetti della nuvola di punti 3D, consulta [Output della segmentazione semantica in una nuvola di punti 3D](sms-data-output.md#sms-output-point-cloud-segmentation). 

# Informazioni sul tipo di attività di monitoraggio di oggetti in una nuvola di punti 3D-2D
<a name="sms-point-cloud-3d-2d-object-tracking"></a>

Utilizza questo tipo di attività quando desideri che i worker colleghino le annotazioni di nuvole di punti 3D alle annotazioni di immagini 2D e colleghino anche le annotazioni di immagini 2D tra varie videocamere. Attualmente, Ground Truth supporta i cuboidi per l'annotazione in una nuvola di punti 3D e i riquadri di delimitazione per l'annotazione nei video 2D. Ad esempio, puoi utilizzare questo tipo di attività per chiedere ai worker di collegare il movimento di un veicolo in una nuvola di punti 3D con il relativo video 2D. Utilizzando il collegamento 3D-2D, è possibile correlare facilmente i dati della nuvola di punti (come la distanza di un parallelepipedo) ai dati video (riquadro di delimitazione) per un massimo di 8 videocamere.

 Ground Truth fornisce ai worker gli strumenti per annotare i cuboidi in una nuvola di punti 3D e i riquadri di delimitazione in un massimo di 8 videocamere utilizzando la stessa interfaccia utente di annotazione. I worker possono anche collegare diversi riquadri di delimitazione per lo stesso oggetto su diverse videocamere. Ad esempio, un riquadro di delimitazione in videocamera1 può essere collegato a un riquadro di delimitazione in videocamera2. Ciò consente di correlare un oggetto su più videocamere mediante un ID univoco. 

**Nota**  
Attualmente, l' SageMaker intelligenza artificiale non supporta la creazione di un processo di collegamento 3D-2D utilizzando la console. Per creare un lavoro di collegamento 3D-2D utilizzando l'API, consulta. SageMaker [Creare un processo di etichettatura (API)](sms-3d-2d-point-cloud-object-tracking-create-labeling-job.md#sms-point-cloud-3d-2d-object-tracking-create-labeling-job-api) 

I seguenti argomenti spiegano come creare un processo di etichettatura per il tracciamento di oggetti in una nuvola di punti 3D-2D, mostrano l’aspetto dell’interfaccia dell’attività dei worker (ciò che visualizzano quando lavorano a questa attività) e forniscono una panoramica dei dati di output che si ottengono quando i worker completano le loro attività.

**Topics**
+ [Creare un processo di etichettatura per il tracciamento di oggetti in una nuvola di punti 3D-2D](sms-3d-2d-point-cloud-object-tracking-create-labeling-job.md)
+ [Visualizzare l’interfaccia dell’attività dei worker per un processo di etichettatura per il tracciamento di oggetti in una nuvola di punti 3D-2D](sms-point-cloud-3d-2d-object-tracking-worker-ui.md)
+ [Dati di output per un processo di etichettatura per il tracciamento di oggetti 3D-2D](sms-point-cloud-3d-2d-object-tracking-output-data.md)

# Creare un processo di etichettatura per il tracciamento di oggetti in una nuvola di punti 3D-2D
<a name="sms-3d-2d-point-cloud-object-tracking-create-labeling-job"></a>

È possibile creare un lavoro di etichettatura di nuvole di punti 3D-2D utilizzando l'operazione API,. SageMaker [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html) Per creare un processo di etichettatura per questo tipo di attività è necessario quanto segue: 
+ Un team di lavoro di una forza lavoro privata o di fornitore. Non è possibile utilizzare Pubblica per i processi di etichettatura della nuvola di punti 3D. Per informazioni su come creare forza lavoro e team di lavoro, consulta [Forza lavoro](sms-workforce-management.md).
+ Aggiungi una policy CORS a un bucket S3 che contiene dati di input nella console Amazon S3. Per impostare le intestazioni CORS richieste sul bucket S3 che contiene le immagini di input nella console S3, segui le istruzioni dettagliate in [Requisiti per l’autorizzazione CORS.](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-cors-update.html)
+ Inoltre, assicurati di aver esaminato e applicato quanto descritto in [Assegnare le autorizzazioni IAM per utilizzare Ground Truth](sms-security-permission.md). 

Per informazioni su come creare un processo di etichettatura utilizzando l’API, consulta le sezioni seguenti. 

## Creare un processo di etichettatura (API)
<a name="sms-point-cloud-3d-2d-object-tracking-create-labeling-job-api"></a>

Questa sezione descrive i dettagli che è necessario conoscere quando si crea un processo di etichettatura di oggetti 3D-2D utilizzando l'operazione API. SageMaker `CreateLabelingJob` Questa API definisce questa operazione per tutti. AWS SDKs Per visualizzare un elenco delle lingue specifiche SDKs supportate per questa operazione, **consulta la sezione Vedere anche** di. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html) 

[Creare un processo di etichettatura (API)](sms-create-labeling-job-api.md) fornisce una panoramica dell'operazione `CreateLabelingJob`. Segui queste istruzioni ed effettua le seguenti operazioni durante la configurazione della richiesta: 
+ Immetti un ARN per `HumanTaskUiArn`. Utilizza `arn:aws:sagemaker:<region>:394669845002:human-task-ui/PointCloudObjectTracking`. Sostituisci `<region>` con la Regione AWS in cui stai creando il processo di etichettatura. 

  Non inserire una voce per il parametro `UiTemplateS3Uri`. 
+ Il tuo [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelAttributeName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelAttributeName) deve finire con `-ref`. Ad esempio, `ot-labels-ref`. 
+ Il file manifest di input deve essere un file manifest della sequenza di frame della nuvola di punti. Per ulteriori informazioni, consulta [Creazione di un file manifest di input della sequenza di nuvole di punti](sms-point-cloud-multi-frame-input-data.md). Devi inoltre fornire un file di configurazione della categoria di etichette, come indicato sopra.
+ È necessario fornire funzioni Lambda predefinite ARNs per le funzioni Lambda di pre-annotazione e post-annotazione (ACS). Queste ARNs sono specifiche della AWS regione che utilizzi per creare il tuo lavoro di etichettatura. 
  + Per trovare l'ARN Lambda di pre-annotazione, fai riferimento a [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn). Utilizza la Regione in cui stai creando il processo di etichettatura per trovare l'ARN corretto che termina con `PRE-3DPointCloudObjectTracking`. 
  + Per trovare l'ARN Lambda di postannotazione, fai riferimento a [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AnnotationConsolidationConfig.html#sagemaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AnnotationConsolidationConfig.html#sagemaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn). Utilizza la Regione in cui stai creando il processo di etichettatura per trovare l'ARN corretto che termina con `ACS-3DPointCloudObjectTracking`. 
+ Il numero di worker specificato in `NumberOfHumanWorkersPerDataObject` deve essere `1`. 
+ L'etichettatura automatizzata dei dati non è supportata per i processi di etichettatura della nuvola di punti 3D. Non è necessario specificare i valori per i parametri in `[LabelingJobAlgorithmsConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelingJobAlgorithmsConfig)`. 
+ I processi di etichettatura per il monitoraggio di oggetti i3D-2D possono richiedere più ore per il completamento. Puoi specificare un limite di tempo più lungo per questi processi di etichettatura in `TaskTimeLimitInSeconds` (fino a 7 giorni o 604.800 secondi). 

**Nota**  
Dopo aver creato con successo un processo di monitoraggio di oggetti 3D-2D, esso viene visualizzato sulla console insieme ai processi di etichettatura. Il tipo di attività per il processo viene visualizzato come **Monitoraggio di oggetti nuvola di punti**.

## Formato dei dati di input
<a name="sms-point-cloud-3d-2d-object-tracking-input-data"></a>

È possibile creare un processo di tracciamento di oggetti 3D-2D utilizzando l'operazione API, SageMaker . [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html) Per creare un processo di etichettatura per questo tipo di attività è necessario quanto segue:
+ Un file manifest di input di sequenza. Per informazioni su come creare questo tipo di file manifest, consulta [Creazione di un file manifest di input della sequenza di nuvole di punti](sms-point-cloud-multi-frame-input-data.md). Se non hai familiarità con la modalità di etichettatura della nuvola di punti Ground Truth 3D, ti consigliamo di leggere [Formati dati 3D non elaborati accettati](sms-point-cloud-raw-data-types.md). 
+ Specifica le etichette, la categoria di etichette e gli attributi dei fotogrammi, e le istruzioni per il worker in un file di configurazione della categoria di etichetta. Per ulteriori informazioni, consulta [Creazione di un file di configurazione della categoria di etichettatura con gli attributi Categoria di etichette e Attributi frame](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-label-cat-config-attributes.html) per scoprire come creare questo file. Di seguito è riportato un esempio che mostra un file di configurazione della categoria di etichette per la creazione di un processo di monitoraggio di oggetti 3D-2D.

  ```
  {
      "document-version": "2020-03-01",
      "categoryGlobalAttributes": [
          {
              "name": "Occlusion",
              "description": "global attribute that applies to all label categories",
              "type": "string",
              "enum":[
                  "Partial",
                  "Full"
              ]
          }
      ],
      "labels":[
          {
              "label": "Car",
              "attributes": [
                  {
                      "name": "Type",
                      "type": "string",
                      "enum": [
                          "SUV",
                          "Sedan"
                      ]
                  } 
              ]
          },
          {
              "label": "Bus",
              "attributes": [
                  {
                      "name": "Size",
                      "type": "string",
                      "enum": [
                          "Large",
                          "Medium",
                          "Small"
                      ]
                  }
              ]
          }
      ],
      "instructions": {
          "shortIntroduction": "Draw a tight cuboid around objects after you select a category.",
          "fullIntroduction": "<p>Use this area to add more detailed worker instructions.</p>"
      },
      "annotationType": [
          {
              "type": "BoundingBox"
          },
          {
              "type": "Cuboid"
          }
      ]
  }
  ```
**Nota**  
È necessario fornire `BoundingBox` e `Cuboid` come AnnotationType nel file di configurazione della categoria di etichette per creare un processo di monitoraggio di oggetti 3D-2D. 

# Visualizzare l’interfaccia dell’attività dei worker per un processo di etichettatura per il tracciamento di oggetti in una nuvola di punti 3D-2D
<a name="sms-point-cloud-3d-2d-object-tracking-worker-ui"></a>

Ground Truth fornisce ai worker un portale Web e gli strumenti per completare le attività di annotazione del monitoraggio di oggetti della nuvola di punti 3D-2D. Quando crei il processo di etichettatura, fornisci il nome della risorsa Amazon (ARN) per un'interfaccia utente Ground Truth predefinita nel parametro `HumanTaskUiArn`. Per utilizzare l'interfaccia utente quando crei un processo di etichettatura per questo tipo di attività utilizzando l'API, devi fornire il `HumanTaskUiArn`. Puoi visualizzare in anteprima e interagire con l'interfaccia utente di lavoro quando crei un processo di etichettatura tramite l’API. Gli strumenti di annotazione fanno parte dell'interfaccia dell’attività del worker. Non sono disponibili per l'interfaccia in anteprima. L'immagine seguente mostra l'interfaccia dell’attività del worker utilizzata per l'attività di annotazione di monitoraggio di oggetti con nuvole di punti 3D-2D.

![\[L'interfaccia dell’attività del worker utilizzata per l'attività di annotazione di monitoraggio di oggetti con nuvole di punti 3D-2D.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms-sensor-fusion.png)


Quando l'interpolazione è abilitata per impostazione predefinita. Dopo che un worker ha aggiunto un singolo cuboide, tale cuboide viene replicato in tutti i fotogrammi della sequenza con lo stesso ID. Se il worker regola il cuboide in un altro fotogramma, Ground Truth interpola il movimento di quell'oggetto e regola tutti i cuboidi tra i fotogrammi regolati manualmente. Inoltre, utilizzando la sezione di visualizzazione della videocamera, è possibile mostrare un cuboide con una proiezione (utilizzando il pulsante B per “alternare le etichette” nella visualizzazione della videocamera) che fornisce al worker un riferimento dalle immagini della videocamera. La precisione del cuboide rispetto alla proiezione dell'immagine si basa sulla precisione delle calibrazioni acquisite nei dati estrinseci e intrinseci.

Se specifichi i dati della telecamera per la fusione dei sensori, le immagini vengono abbinate a scene nel frame della nuvola di punti. Nota che i dati della videocamera devono essere sincronizzati in base all'ora con i dati della nuvola di punti per garantire una rappresentazione accurata della nuvola di punti rispetto alle immagini su ogni fotogramma della sequenza, come mostrato nell'immagine seguente.

![\[Il file manifesto, il portale del worker con i dati della nuvola di punti e i dati della videocamera.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/3d_2d_link_ss.png)


**Il file manifesto contiene i dati estrinseci e intrinseci e la posa per consentire la visualizzazione della proiezione del cuboide sull'immagine della videocamera utilizzando il pulsante P**.

Il worker può navigare nella scena 3D utilizzando la tastiera e il mouse. In particolare, può:
+ Fare doppio clic su oggetti specifici nella nuvola di punti per ingrandirli.
+ Usare la rotella del mouse o un trackpad per ingrandire e ridurre la nuvola di punti.
+ Usa entrambi i tasti freccia della tastiera e i tasti Q, E, A e D per spostarsi Su, Giù, Sinistra, Destra. Usa i tasti della tastiera W e S per ingrandire e ridurre. 

Una volta che un worker posiziona un cuboide nella scena 3D, viene mostrata una visualizzazione laterale con le tre visualizzazioni laterali proiettate: superiore, laterale e posteriore. Queste visualizzazioni laterali mostrano i punti all'interno e attorno al cuboide posizionato e consentono ai worker di perfezionare i limiti del cuboide in quell'area. I worker possono ingrandire e ridurre ciascuna di queste visualizzazioni laterali utilizzando il mouse.

Il worker deve prima selezionare il cuboide per disegnare un riquadro di delimitazione corrispondente su una qualsiasi delle visualizzazioni della videocamera. Questo collega il cuboide e il riquadro di delimitazione con un nome comune e un ID univoco.

Il worker può anche disegnare prima un riquadro di delimitazione, selezionarlo e disegnare il cuboide corrispondente per collegarli.

Sono disponibili ulteriori opzioni di visualizzazione e caratteristiche. Consulta la [pagina delle istruzioni per il worker](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud-worker-instructions-object-tracking.html) per una panoramica completa dell'interfaccia utente di lavoro. 

## Strumenti per i worker
<a name="sms-point-cloud-object-tracking-worker-tools"></a>

I worker possono navigare nella nuvola di punti 3D eseguendo lo zoom avanti e indietro e spostandosi in tutte le direzioni intorno alla nuvola utilizzando le scelte rapide del mouse e della tastiera. Se i worker fanno clic su un punto nella nuvola di punti, l'interfaccia utente esegue lo zoom automatico in quell'area. I worker possono utilizzare vari strumenti per disegnare un cuboide 3D attorno agli oggetti. Per ulteriori informazioni, consulta **Strumenti di etichettatura assistita** nella discussione seguente. 

Dopo che i worker hanno inserito un cuboide 3D nella nuvola di punti, possono regolare questi cuboidi per adattarsi perfettamente alle auto utilizzando una varietà di viste: direttamente nella nuvola di punti 3D, in una vista laterale con tre prospettive ingrandite della nuvola di punti attorno alla casella e, se si includono immagini per la fusione dei sensori, direttamente nell'immagine 2D. 

Opzioni di visualizzazione aggiuntive consentono ai worker di nascondere o visualizzare facilmente il testo dell'etichetta, una maglia a terra e altri attributi di punto. I worker possono anche scegliere tra proiezioni prospettiche e ortogonali. 

**Strumenti di etichettatura assistita**  
Ground Truth consente ai worker di annotare le nuvole di punti 3D in modo più rapido e accurato utilizzando UX, gli strumenti di etichettatura assistita basati sul Machine Learning e gli strumenti di etichettatura assistita basati sulla visione artificiale per le attività di tracciamento di oggetti della nuvola di punti 3D. Per questo tipo di attività sono disponibili i seguenti strumenti di etichettatura assistita:
+ **Compilazione automatica delle etichette**: quando un worker aggiunge un cuboide a un fotogramma con le stesse dimensioni, orientamento e posizione xyz, viene aggiunto automaticamente a tutti i fotogrammi della sequenza. 
+ **Interpolazione etichette**: dopo che un worker ha etichettato un singolo oggetto in due fotogrammi, Ground Truth utilizza tali annotazioni per interpolare il movimento dell'oggetto tra tutti i fotogrammi. L'interpolazione delle etichette può essere attivata e disattivata. È attivata per impostazione predefinita. Ad esempio, se un worker che lavora con 5 fotogrammi aggiunge un cuboide nel fotogramma 2, esso viene copiato in tutti i 5 fotogrammi. Se poi il worker effettua delle regolazioni nel fotogramma 4, i fotogrammi 2 e 4 a quel punto agiscono come due punti attraverso i quali viene inserita una linea. Il cuboide viene quindi interpolato nei fotogrammi 1, 3 e 5.
+ **Gestione in blocco di etichette e attributi**: i worker possono aggiungere, eliminare e rinominare annotazioni, attributi delle categorie di etichette e attributi dei fotogrammi in blocco.
  + I worker possono eliminare manualmente le annotazioni per un determinato oggetto prima o dopo un fotogramma o in tutti i fotogrammi. Ad esempio, un worker può eliminare tutte le etichette per un oggetto dopo il frame 10 se tale oggetto non si trova più nella scena successiva al frame. 
  + Se un worker elimina accidentalmente tutte le annotazioni relative a un oggetto, può aggiungerle nuovamente. Ad esempio, se un worker elimina tutte le annotazioni per un oggetto prima del frame 100, può aggiungerle in blocco a tali frame. 
  + I worker possono rinominare un'etichetta in un frame e tutti i cuboidi 3D assegnati a tale etichetta vengono aggiornati con il nuovo nome in tutti i frame. 
  + I worker possono utilizzare la modifica in blocco per aggiungere o modificare gli attributi delle categorie di etichette e gli attributi dei frame in più frame.
+ **Aggancio**: i worker possono aggiungere un cuboide attorno a un oggetto e utilizzare un tasto di scelta rapida o un'opzione di menu per fare in modo che lo strumento di autofit di Ground Truth agganci saldamente il cuboide attorno ai bordi dell'oggetto. 
+ **Adatta a terra**: dopo che un worker aggiunge un cuboide alla scena 3D, il worker può automaticamente agganciare il cuboide al terreno. Ad esempio, il worker può utilizzare questa caratteristica per agganciare un cuboide sulla strada o sul marciapiede nella scena. 
+ **Etichettatura di più visualizzazioni**: dopo che un worker aggiunge un cuboide 3D alla scena 3D, un pannello laterale visualizza le prospettive frontali e a due vie per aiutare il worker ad adattare il cuboide attorno all'oggetto. I worker possono annotare il cloud di punti 3D, il pannello laterale e le regolazioni appaiono nelle altre viste in tempo reale. 
+ **Fusione dei sensori**: se fornisci i dati per la fusione dei sensori, i worker possono adattare nelle scene 3D e nelle immagini 2D le annotazioni che quindi sono proiettate nell'altra visualizzazione in tempo reale. Per ulteriori informazioni sui dati relativi alla fusione dei sensori, consulta [Comprendere i sistemi di coordinate e la fusione dei sensori](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud-sensor-fusion-details.html#sms-point-cloud-sensor-fusion).
+ **Unisci automaticamente cuboidi**: i worker possono unire automaticamente due cuboidi in tutti i fotogrammi se determinano che i cuboidi con etichette diverse rappresentano effettivamente un singolo oggetto. 
+ **Opzioni di visualizzazione**: consente ai worker di nascondere o visualizzare facilmente il testo dell'etichetta, una mesh di terra e altri attributi puntuali come il colore o l'intensità. I worker possono anche scegliere tra proiezioni prospettiche e ortogonali. 

# Dati di output per un processo di etichettatura per il tracciamento di oggetti 3D-2D
<a name="sms-point-cloud-3d-2d-object-tracking-output-data"></a>

Quando crei un processo di etichettatura di monitoraggio di oggetti 3D-2D, le attività vengono inviate ai worker. Quando questi worker completano le attività, le relative annotazioni vengono scritte nel bucket Amazon S3 specificato al momento della creazione del processo di etichettatura. Il formato dei dati di output determina ciò che vedi nel tuo bucket Amazon S3 quando lo stato del processo di etichettatura () è. [LabelingJobStatus](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeLabelingJob.html#API_DescribeLabelingJob_ResponseSyntax)`Completed` 

Se non hai familiarità con Ground Truth, consulta [Etichettatura dei dati di output di un processo](sms-data-output.md) per ulteriori informazioni sul formato dei dati di output in Ground Truth. Per informazioni sul formato dei dati di output del tracciamento di oggetti della nuvola di punti 3D-2D, consulta [Output del monitoraggio di oggetti in una nuvola di punti 3D-2D](sms-data-output.md#sms-output-3d-2d-point-cloud-object-tracking). 

# Panoramica dei processi di etichettatura in una nuvola di punti 3D
<a name="sms-point-cloud-general-information"></a>

Questo argomento fornisce una panoramica delle caratteristiche uniche di un processo di etichettatura con nuvole di punti 3D Ground Truth. È possibile utilizzare i processi di etichettatura con nuvola di punti 3D per consentire ai worker di etichettare gli oggetti in una nuvola di punti 3D generata da sensori 3D come LiDAR e telecamere di profondità o generata dalla ricostruzione 3D cucendo immagini catturate da un agente come un drone. 

## Tempo di pre-elaborazione di un processo
<a name="sms-point-cloud-job-creation-time"></a>

Quando si crea un processo di etichettatura con nuvole di punti 3D, è necessario fornire un [file manifest di input](sms-point-cloud-input-data.md). Il file manifest di input può essere:
+ Un *file manifest di input frame* che ha un singolo frame nuvola di punti su ogni riga. 
+ Un *file manifest di input di sequenza* che ha una singola sequenza su ogni riga. Una sequenza è definita come una serie temporale di frame di nuvole di punti. 

Per entrambi i tipi di file manifest, il *tempo di elaborazione preliminare del processo*, ovvero il tempo che precede l'inizio dell'invio delle attività ai worker da parte di Ground Truth, dipende dal numero totale e dalle dimensioni dei fotogrammi nuvola di punti forniti nel file manifest di input. Per i file manifest di input del frame, questo è il numero di righe nel file manifest. Per i file manifest di sequenza, si tratta del numero di frame in ogni sequenza moltiplicato per il numero totale di sequenze, o righe, nel file manifest. 

Inoltre, il numero di punti per nuvola di punti e il numero di oggetti di dati sensore fusi (come le immagini) determinano i tempi di pre-elaborazione del processo. In media, Ground Truth può pre-elaborare 200 fotogrammi di nuvole di punti in circa 5 minuti. Se crei un processo di etichettatura con nuvole di punti 3D con un numero elevato di frame di nuvole di punti, è possibile che i tempi di pre-elaborazione del processo siano più lunghi. Ad esempio, se crei un file manifest di input in sequenza con sequenze di nuvole di 4 punti e ogni sequenza contiene nuvole di 200 punti, Ground Truth pre-elabora nuvole di 800 punti e quindi il tempo di pre-elaborazione del processo potrebbe essere di circa 20 minuti. Durante questo periodo, lo stato del processo di etichettatura è `InProgress`. 

Mentre il tuo lavoro di etichettatura con nuvole di punti 3D è in fase di pre-elaborazione, ricevi CloudWatch messaggi che ti informano dello stato del tuo lavoro. Per identificare questi messaggi, cerca `3D_POINT_CLOUD_PROCESSING_STATUS` nei registri dei processi di etichettatura. 

Per **i file manifest di input con frame**, CloudWatch i log avranno un messaggio simile al seguente:

```
{
    "labeling-job-name": "example-point-cloud-labeling-job",
    "event-name": "3D_POINT_CLOUD_PROCESSING_STATUS",
    "event-log-message": "datasetObjectId from: 0 to 10, status: IN_PROGRESS"
}
```

Il messaggio del log di eventi `datasetObjectId from: 0 to 10, status: IN_PROGRESS` identificherà il numero di frame del file manifest di input che sono stati elaborati. Viene visualizzato un nuovo messaggio ogni volta che viene elaborato un frame. Ad esempio, dopo l'elaborazione di un singolo frame, viene visualizzato un altro messaggio che dice `datasetObjectId from: 1 to 10, status: IN_PROGRESS`. 

Per **i file manifest di input in sequenza**, CloudWatch i log avranno un messaggio simile al seguente:

```
{
    "labeling-job-name": "example-point-cloud-labeling-job",
    "event-name": "3D_POINT_CLOUD_PROCESSING_STATUS",
    "event-log-message": "datasetObjectId: 0, status: IN_PROGRESS"
}
```

Il messaggio del log di eventi `datasetObjectId from: 0, status: IN_PROGRESS` identificherà il numero di sequenze dal file manifest di input elaborate. Viene visualizzato un nuovo messaggio ogni volta che viene elaborata una sequenza. Ad esempio, dopo l'elaborazione di una singola sequenza, viene visualizzato un messaggio che indica `datasetObjectId from: 1, status: IN_PROGRESS` quando inizia l’eleborazione della sequenza successiva. 

## Tempi di completamento del processo
<a name="sms-point-cloud-job-completion-times"></a>

I processi di etichettatura con nuvole di punti 3D possono richiedere ore di lavoro. È possibile impostare la quantità totale di tempo in cui i worker possono lavorare su ogni attività quando si crea un processo di etichettatura. Il tempo massimo che è possibile impostare per i worker per svolgere le attività è di 7 giorni. Il valore predefinito è 3 giorni. 

Si consiglia di creare attività che i worker possano completare entro 12 ore. I worker devono mantenere aperta l'interfaccia utente del worker mentre lavorano su un'attività. Possono salvare il lavoro in corso d'opera e Ground Truth salverà il lavoro ogni 15 minuti.

Quando utilizzi l'operazione `CreateLabelingJob` API SageMaker AI, imposta il tempo totale in cui un'attività è disponibile per i lavoratori nel `TaskTimeLimitInSeconds` parametro di`HumanTaskConfig`. 

Quando si crea un processo di etichettatura nella console, è possibile specificare questo limite di tempo quando si seleziona il tipo di forza lavoro e il team di lavoro.

## Forza lavoro
<a name="sms-point-cloud-workforces"></a>

Quando crei un processo di etichettatura cloud di punti 3D, devi specificare un team di lavoro che completerà le attività di annotazione della nuvola di punti. Puoi scegliere un team di lavoro da una forza lavoro privata dei tuoi worker o da una forza lavoro di un fornitore da selezionare in Marketplace AWS. Non puoi utilizzare la forza lavoro Amazon Mechanical Turk per i processi di etichettatura con nuvole di punti 3D. 

Per ulteriori informazioni sulla forza lavoro da un fornitore, consulta [Effettuare l’abbonamento a forze lavoro di fornitori](sms-workforce-management-vendor.md).

Per informazioni su come creare e gestire una forza lavoro privata, consulta [Forza lavoro privata](sms-workforce-private.md).

## Interfaccia utente dei worker
<a name="sms-point-cloud-worker-task-ui"></a>

Ground Truth fornisce un'interfaccia utente (UI) del worker, strumenti e funzioni di etichettatura assistita per aiutare i worker a completare le attività di etichettatura con la nuvola di punti 3D. 

Puoi visualizzare in anteprima l'interfaccia utente del worker quando crei un processo di etichettatura nella console.

Quando crei un processo di etichettatura utilizzando l'operazione API `CreateLabelingJob`, devi fornire un ARN fornito da Ground Truth nel parametro [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UiConfig.html#sagemaker-Type-UiConfig-UiTemplateS3Uri](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UiConfig.html#sagemaker-Type-UiConfig-UiTemplateS3Uri) per specificare l'interfaccia utente del worker per il tipo di attività. Puoi utilizzare l'operazione `HumanTaskUiArn` con l'[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RenderUiTemplate.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RenderUiTemplate.html)API SageMaker AI per visualizzare in anteprima l'interfaccia utente del lavoratore. 

Fornisci istruzioni del worker, etichette e, facoltativamente, attributi di categoria etichette visualizzati nell'interfaccia utente del worker.

### Attributi di categorie delle etichette
<a name="sms-point-cloud-label-and-frame-attributes"></a>

Quando si crea un processo di tracciamento di oggetti con nuvole di punti 3D o di etichettatura di rilevamento oggetti, è possibile aggiungere uno o più *attributi di categoria dell’etichetta*. Puoi aggiungere *attributi di fotogramma* a tutti i tipi di attività con nuvole di punti 3D: 
+ **Attributo di categoria dell’etichetta**: un elenco di opzioni (stringhe), una casella di testo in formato libero o un campo numerico associato a una o più etichette. Viene utilizzato dai worker per fornire metadati su un'etichetta. 
+ **Attributo fotogramma**: un elenco di opzioni (stringhe), una casella di testo in formato libero o un campo numerico che appare su ogni fotogramma nuvola di punti che un worker dovrà annotare. Viene utilizzato dai worker per fornire metadati sui fotogrammi. 

Inoltre, puoi utilizzare gli attributi di etichetta e fotogramma per consentire ai worker di verificare le etichette in un processo di verifica delle etichette con nuvole di punti 3D. 

Utilizza le seguenti sezioni per avere ulteriori informazioni su questi attributi. Per informazioni su come aggiungere attributi di categoria di etichette e fotogrammi, utilizza le sezioni **Crea processo di etichettatura** nella [pagina del tipo di attività](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud-task-types) desiderata.

#### Attributi di categorie delle etichette
<a name="sms-point-cloud-label-attributes"></a>

Aggiungi gli attributi delle categorie di etichette alle etichette per dare ai worker la possibilità di fornire maggiori informazioni sulle annotazioni che creano. Un attributo di categoria di etichetta viene aggiunto a una singola etichetta o a tutte le etichette. Quando un attributo di categoria di etichetta viene applicato a tutte le etichette, viene definito *attributo di categoria di etichetta globale*. 

Ad esempio, se aggiungi una categoria di etichetta *auto*, puoi anche acquisire dati aggiuntivi sulle auto etichettate, ad esempio se sono occluse o le dimensioni dell'auto. È possibile acquisire questi metadati utilizzando gli attributi di categoria dell’etichetta. In questo esempio, se è stato aggiunto l'attributo *occluso* alla categoria dell'etichetta auto, è possibile assegnare *parzialmente*, *completamente*, *no* all'attributo *occluso* e i worker possono selezionare una di queste opzioni. 

Quando si crea un processo di verifica delle etichette, si aggiungono gli attributi di categoria delle etichette a ogni etichetta che si desidera che i worker verifichino.

#### Attributi del fotogramma
<a name="sms-point-cloud-frame-attributes"></a>

Aggiungi gli attributi dei fotogrammi per consentire ai worker di fornire maggiori informazioni sui singoli fotogrammi nuvola di punti. Puoi specificare fino a 10 attributi del fotogramma e questi attributi verranno visualizzati su tutti i fotogrammi.

Ad esempio, puoi aggiungere un attributo del fotogramma che consenta ai worker di inserire un numero. Puoi utilizzare questo attributo per fare in modo che i worker identifichino il numero di oggetti che vedono in un determinato riquadro. 

In un altro esempio, potresti voler fornire una casella di testo in formato libero per dare ai worker la possibilità di fornire una risposta in formato libero a una domanda.

Quando crei un processo di verifica delle etichette, puoi aggiungere uno o più attributi del fotogramma per chiedere ai worker di fornire un feedback su tutte le etichette in un fotogramma nuvola di punti. 

### Istruzioni per il lavoratore
<a name="sms-point-cloud-worker-instructions-general"></a>

È possibile fornire istruzioni ai worker per aiutarli a completare i processi di etichettatura con nuvole di punti. È possibile utilizzare queste istruzioni per effettuare le seguenti operazioni:
+ Procedure consigliate e cose da evitare quando si annotano gli oggetti.
+ Spiegazione degli attributi di categoria delle etichette forniti (per le attività di rilevamento degli oggetti e monitoraggio degli oggetti) e come utilizzarli.
+ Consigli su come risparmiare tempo durante l'etichettatura utilizzando le scelte rapide da tastiera. 

Puoi aggiungere le istruzioni del lavoratore utilizzando la console SageMaker AI durante la creazione di un lavoro di etichettatura. Se crei un processo di etichettatura utilizzando l'operazione API `CreateLabelingJob`, specificare le istruzioni del worker nel file di configurazione della categoria di etichette. 

Oltre alle istruzioni, GroundTruth fornisce un collegamento per consentire ai worker di spostarsi e utilizzare il portale dei worker. Visualizza queste istruzioni selezionando il tipo di attività su [Istruzioni per il lavoratore](sms-point-cloud-worker-instructions.md). 

### Rifiuto delle attività
<a name="sms-decline-task-point-cloud"></a>

I worker possono rifiutare le attività. 

I worker rifiutano un'attività se le istruzioni non sono chiare, i dati di input non vengono visualizzati correttamente o se riscontrano altri problemi con l'attività. Se il numero di worker per oggetto set di dati ([https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-NumberOfHumanWorkersPerDataObject](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-NumberOfHumanWorkersPerDataObject)) rifiuta l'attività, l'oggetto dati viene contrassegnato come scaduto e non verrà inviato ad altri worker.

# Requisiti per l’autorizzazione dei processi di etichettatura in una nuvola di punti 3D
<a name="sms-security-permission-3d-point-cloud"></a>

Quando crei un processo di etichettatura con nuvole di punti 3D, oltre ai requisiti di autorizzazione disponibili in [Assegnare le autorizzazioni IAM per utilizzare Ground Truth](sms-security-permission.md), è necessario aggiungere una policy CORS al bucket S3 contenente il file manifest di input. 

## Aggiungere una policy di autorizzazione CORS al bucket S3
<a name="sms-permissions-execution-role"></a>

Quando crei un processo di etichettatura con nuvole di punti 3D, specifichi i bucket in S3 in cui si trovano i dati di input e il file manifest e dove verranno archiviati i dati di output. Questi bucket possono essere gli stessi. Devi collegare la policy CORS (Cross-Origin Resource Sharing) seguente ai bucket di input e output. Se utilizzi la console Amazon S3 per aggiungere la policy al tuo bucket, devi utilizzare il formato JSON.

**JSON**

```
[
        {
            "AllowedHeaders": [
                "*"
            ],
            "AllowedMethods": [
                "GET",
                "HEAD",
                "PUT"
            ],
            "AllowedOrigins": [
                "*"
            ],
            "ExposeHeaders": [
                "Access-Control-Allow-Origin"
            ],
            "MaxAgeSeconds": 3000
        }
    ]
```

**XML**

```
<?xml version="1.0" encoding="UTF-8"?>
    <CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <CORSRule>
        <AllowedOrigin>*</AllowedOrigin>
        <AllowedMethod>GET</AllowedMethod>
        <AllowedMethod>HEAD</AllowedMethod>
        <AllowedMethod>PUT</AllowedMethod>
        <MaxAgeSeconds>3000</MaxAgeSeconds>
        <ExposeHeader>Access-Control-Allow-Origin</ExposeHeader>
        <AllowedHeader>*</AllowedHeader>
    </CORSRule>
    </CORSConfiguration>
```

Per informazioni su come aggiungere una policy CORS a un bucket S3, consulta [How do I add cross-domain resource sharing with CORS?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-cors-configuration.html) nella Guida per l’utente di Amazon Simple Storage.

# Istruzioni per il lavoratore
<a name="sms-point-cloud-worker-instructions"></a>

In questo argomento viene fornita una panoramica del portale dei worker Ground Truth e degli strumenti disponibili per completare l'attività di etichettatura della nuvola di punti 3D. Seleziona innanzitutto il tipo di attività su cui stai lavorando in **Argomenti**. 

Per i processi di adattamento, seleziona il tipo di attività del processo di etichettatura originale che ha prodotto le etichette da adattare. Esamina e adatta le etichette nell'attività in base alle esigenze. 

**Importante**  
È consigliabile completare l'operazione utilizzando un browser Web Google Chrome o Firefox.

**Topics**
+ [Segmentazione semantica della nuvola di punti 3D](sms-point-cloud-worker-instructions-semantic-segmentation.md)
+ [Rilevamento di oggetti della nuvola di punti 3D](sms-point-cloud-worker-instructions-object-detection.md)
+ [Monitoraggio di oggetti della nuvola di punti 3D](sms-point-cloud-worker-instructions-object-tracking.md)

# Segmentazione semantica della nuvola di punti 3D
<a name="sms-point-cloud-worker-instructions-semantic-segmentation"></a>

Questa pagina ti consente di acquisire familiarità con l'interfaccia utente e gli strumenti disponibili per completare l'attività di segmentazione semantica della nuvola di punti 3D.

**Topics**
+ [La tua attività](#sms-point-cloud-worker-instructions-ss-task)
+ [Navigare nell'interfaccia utente](#sms-point-cloud-worker-instructions-worker-ui-ss)
+ [Guida delle icone](#sms-point-cloud-worker-instructions-ss-icons)
+ [Tasti di scelta rapida](#sms-point-cloud-worker-instructions-ss-hot-keys)
+ [Rilasciare, interrompere, riprendere e rifiutare le attività](#sms-point-cloud-worker-instructions-skip-reject-ss)
+ [Salvataggio del lavoro e invio](#sms-point-cloud-worker-instructions-saving-work-ss)

## La tua attività
<a name="sms-point-cloud-worker-instructions-ss-task"></a>

Quando lavori su un'attività di segmentazione semantica della nuvola di punti 3D devi selezionare una categoria dal menu **Annotazioni** sul lato destro del portale dei worker utilizzando il menu a discesa **Categorie di etichetta**. Dopo aver selezionato una categoria, usa gli strumenti pennello e poligono per dipingere ogni oggetto nella nuvola di punti 3D a cui si applica la categoria. Ad esempio, se selezioni la categoria **Auto** usi questi strumenti per dipingere tutte le auto nella nuvola di punti. Nel video seguente viene illustrato come utilizzare lo strumento pennello per dipingere un oggetto. 

Se nel portale dei worker vengono visualizzate una o più immagini, puoi dipingere nelle immagini o nella nuvola di punti 3D e il disegno verrà visualizzato nell'altro supporto. 

È possibile visualizzare gli attributi dei frame nel menu **Etichette**. Utilizza queste richieste sugli attributi per inserire ulteriori informazioni su ogni nuvola di punti. 

![\[Esempio di prompt degli attributi di frame.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/frame-attributes.png)


**Importante**  
Se vedi che gli oggetti sono già stati dipinti quando apri l'attività, adatta le annotazioni.

Il video seguente include un'immagine che può essere annotata. Potrebbe non essere presente un'immagine nella tua attività. 

![\[GIF che mostra come i worker possono utilizzare insieme la nuvola di punti 3D e l’immagine 2D per dipingere oggetti.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/gifs/semantic_seg/ss_paint_sf.gif)


Dopo aver dipinto uno o più oggetti utilizzando una categoria di etichetta, puoi selezionare la categoria dal menu Categoria di etichetta a destra per visualizzare solo i punti dipinti per tale categoria. 

![\[GIF che mostra come i worker possono spostarsi all’interno della nuvola di punti 3D.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/gifs/semantic_seg/ss-view-options.gif)


## Navigare nell'interfaccia utente
<a name="sms-point-cloud-worker-instructions-worker-ui-ss"></a>

Puoi navigare nella scena 3D utilizzando la tastiera e il mouse. Puoi:
+ Fare doppio clic su oggetti specifici nella nuvola di punti per ingrandirli.
+ Usare la rotella del mouse o un trackpad per ingrandire e ridurre la nuvola di punti.
+ Usa entrambi i tasti freccia della tastiera e i tasti Q, E, A e D per spostarsi Su, Giù, Sinistra, Destra. Usa i tasti della tastiera W e S per ingrandire e ridurre. 

Il video seguente mostra i movimenti intorno alla nuvola di punti 3D e nella visualizzazione laterale. Puoi comprimere ed espandere nuovamente tutte le visualizzazioni laterali utilizzando l'icona di schermo intero. In questa GIF, le visualizzazioni laterali e i menu sono stati compressi.

![\[GIF che mostra come un worker può utilizzare la nuvola di punti 3D nell’interfaccia utente di visualizzazione della nuvola di punti.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/gifs/semantic_seg/ss_nav_worker_portal.gif)


Nell'interfaccia utente di lavoro vengono visualizzati i seguenti menu:
+ **Istruzioni**: esamina queste istruzioni prima di iniziare l'attività.
+ **Scelte rapide**: utilizza questo menu per visualizzare le scelte rapide da tastiera disponibili per navigare nella nuvola di punti e utilizzare gli strumenti di annotazione forniti. 
+ **Visualizzazione**: utilizza questo menu per attivare e disattivare diverse opzioni di visualizzazione. Ad esempio, puoi usare questo menu per aggiungere una maglia a terra nella nuvola di punti e per scegliere la proiezione della nuvola di punti. 
+ **Nuvola di punti 3D**: utilizza questo menu per aggiungere attributi ai punti della nuvola di punti, ad esempio il colore e l'intensità dei pixel. Nota che alcune o tutte queste opzioni potrebbero non essere disponibili.
+ **Pennello**: utilizza questo menu per modificare la funzionalità del pennello. 

Quando apri un'attività, l'icona di spostamento della scena è attiva e puoi spostarti all'interno della nuvola di punti utilizzando il mouse e i pulsanti di navigazione nell'area dello schermo della nuvola di punti. Per tornare alla visualizzazione originale visualizzata quando hai aperto l'attività per la prima volta, scegli l'icona di ripristino della scena. 

Quando selezioni l'icona del pennello puoi dipingere nella nuvola di punti e nelle immagini (se incluse). Devi selezionare nuovamente l'icona di spostamento della scena per spostarti in un'altra area nella nuvola di punti 3D o nell'immagine. 

Per comprimere tutti i pannelli a destra e rendere la nuvola di punti 3D a schermo intero, seleziona l'icona di schermo intero. 

Per le immagini della telecamera e i pannelli laterali sono disponibili le seguenti opzioni di visualizzazione:
+ **C**: visualizza l'angolo della telecamera nella vista della nuvola di punti.
+ **F**: visualizza il frustum (o campo visivo) della telecamera utilizzata per acquisire l'immagine nella vista nuvola di punti. 
+ **P**: visualizza la nuvola di punti sovrapposta sull'immagine. 

## Guida delle icone
<a name="sms-point-cloud-worker-instructions-ss-icons"></a>

Questa tabella include informazioni sulle icone disponibili nel portale delle attività del worker. 


| Icon | Nome | Description | 
| --- | --- | --- | 
|  ![\[L’icona di Pennello.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/icons/brush.png)  |  pennello  |  Scegli questa icona per attivare lo strumento pennello. Per utilizzare questo strumento, scegli e spostati sugli oggetti che vuoi dipingere con il mouse. Una volta scelto, gli oggetti dipinti vengono associati alla categoria che hai selezionato.  | 
|  ![\[L’icona di Poligono.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/icons/polygon.png)  |  poligono  |  Scegli questa icona per utilizzare lo strumento di disegno poligono. Usa questo strumento per disegnare poligoni attorno agli oggetti che vuoi dipingere. Una volta scelto, tutto ciò per cui disegni un poligono attorno viene associato alla categoria che hai selezionato.  | 
|  ![\[L’icona di ripristino della scena.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/icons/fit_scene.png)  |  ripristino della scena  | Scegli questa icona per ripristinare la vista della nuvola di punti, dei pannelli laterali e, se applicabile, di tutte le immagini nella posizione originale quando l'attività è stata aperta per la prima volta.  | 
|  ![\[L’icona di spostamento della scena.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/icons/move_scene.png)  |  spostamento della scena  |  Scegli questa icona per spostare la scena. Per impostazione predefinita, questa icona è selezionata al primo avvio di un'attività.   | 
|  ![\[L’icona di Schermo intero.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/icons/fullscreen.png)  |  schermo intero   |  Scegli questa icona per rendere la visualizzazione della nuvola di punti 3D a schermo intero e comprimere tutti i pannelli laterali.  | 
|  ![\[L’icona di Righello.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/icons/Ruler_icon.png)  |  righello  |  Utilizza questa icona per misurare le distanze, in metri, nella nuvola di punti. Potresti voler utilizzare questo strumento se le istruzioni ti chiedono di annotare tutti gli oggetti a una determinata distanza dal centro del cuboide o dall'oggetto utilizzato per acquisire i dati. Quando selezioni questa icona, puoi posizionare il punto di inizio (primo contrassegno) in qualsiasi punto della nuvola di punti selezionandolo con il mouse. Lo strumento utilizzerà automaticamente l'interpolazione per posizionare un contrassegno sul punto più vicino entro la distanza di soglia dalla posizione selezionata, altrimenti il contrassegno verrà posizionato a terra. Se posizioni un punto di inizio per errore, puoi utilizzare il tasto Esc per invertire la posizione del contrassegno.  Dopo aver posizionato il primo contrassegno, vedrai una linea tratteggiata e un'etichetta dinamica che indica la distanza che ti sei allontanato dal primo contrassegno. Fai clic in un altro punto della nuvola di punti per inserire un secondo contrassegno. Quando posizioni il secondo contrassegno, la linea tratteggiata diventa continua e viene impostata la distanza.  Dopo aver impostato una distanza, puoi modificarla selezionando uno dei due contrassegni. È possibile eliminare un righello selezionandolo in un punto qualsiasi del righello e utilizzando il tasto Elimina sulla tastiera.   | 

## Tasti di scelta rapida
<a name="sms-point-cloud-worker-instructions-ss-hot-keys"></a>

I tasti di scelta rapida elencati nel menu **Tasti di scelta rapida** ti consentono di navigare nella nuvola di punti 3D e utilizzare lo strumento di disegno. 

Prima di iniziare l'attività, ti consigliamo di esaminare il menu **Tasti di scelta rapida** e di familiarizzare con questi comandi. 

## Rilasciare, interrompere, riprendere e rifiutare le attività
<a name="sms-point-cloud-worker-instructions-skip-reject-ss"></a>

Quando si apre l'attività di etichettatura, tre pulsanti in alto a destra consentono di rifiutare l'attività (**Rifiuta attività**), rilasciarla (**Rilascia attività**) e interromperla e riprenderla in un secondo momento (**Interrompi e riprendi più tardi**). L'elenco seguente descrive cosa succede quando si seleziona una di queste opzioni:
+ **Rifiuta attività**: è opportuno rifiutare un'attività solo se c'è qualcosa che non va, ad esempio un problema con la nuvola di punti, le immagini o l'interfaccia utente. Se rifiuti un'attività, non sarà possibile recuperarla.
+ **Rilascia attività**: se rilasci un'attività, perdi tutto il lavoro svolto su quell'attività. Quando l'attività viene rilasciata, gli altri worker del team possono riprenderla. Se un numero sufficiente di worker si occuperà dell'attività, potrebbe non essere possibile riprenderla. Quando si seleziona questo pulsante e quindi si seleziona **Conferma**, si torna al portale dei worker. Se l'attività è ancora disponibile, il suo stato sarà **Disponibile**. Se altri worker la prelevano, scomparirà dal portale. 
+ **Interrompi e riprendi più tardi**: è possibile utilizzare il pulsante **Interrompi e riprendi più tardi** per smettere di lavorare e tornare all'attività in un secondo momento. È necessario utilizzare il pulsante **Salva** per salvare il lavoro prima di selezionare **Interrompi e riprendi più tardi**. Quando si seleziona questo pulsante e quindi si seleziona **Conferma**, si torna al portale dei worker e lo stato è **Interrotto**. È possibile selezionare la stessa attività per tornare a lavorarci. 

  Tieni presente che la persona che crea le attività di etichettatura specifica un limite di tempo entro il quale tutte le attività devono essere completate. Se non riprendi e non completi questa attività entro tale limite di tempo, essa scadrà e il lavoro non verrà inviato. Per ulteriori informazioni, consulta l'amministratore. 

## Salvataggio del lavoro e invio
<a name="sms-point-cloud-worker-instructions-saving-work-ss"></a>

È necessario salvare regolarmente il lavoro. Ground Truth salverà automaticamente il lavoro ogni 15 minuti. 

Quando apri un'attività, devi completare il lavoro prima di premere **Invia**. 

# Rilevamento di oggetti della nuvola di punti 3D
<a name="sms-point-cloud-worker-instructions-object-detection"></a>

Questa pagina consente di acquisire familiarità con l’interfaccia utente e gli strumenti disponibili per completare l’attività di rilevamento di oggetti in una nuvola di punti 3D.

**Topics**
+ [La tua attività](#sms-point-cloud-worker-instructions-od-task)
+ [Navigare nell'interfaccia utente](#sms-point-cloud-worker-instructions-worker-ui-od)
+ [Guida delle icone](#sms-point-cloud-worker-instructions-od-icons)
+ [Tasti di scelta rapida](#sms-point-cloud-worker-instructions-od-hot-keys)
+ [Rilasciare, interrompere, riprendere e rifiutare le attività](#sms-point-cloud-worker-instructions-skip-reject-od)
+ [Salvataggio del lavoro e invio](#sms-point-cloud-worker-instructions-saving-work-od)

## La tua attività
<a name="sms-point-cloud-worker-instructions-od-task"></a>

Quando lavori su un'attività di rilevamento di oggetti della nuvola di punti 3D devi selezionare una categoria dal menu **Annotazioni** sul lato destro del portale dei worker utilizzando il menu **Categorie di etichetta**. Dopo aver scelto una categoria, utilizza gli strumenti Aggiungi cuboide e Adatta cuboide per adattare un cuboide attorno agli oggetti nella nuvola di punti 3D a cui si applica questa categoria. Dopo aver posizionato un cuboide, puoi modificarne le dimensioni, la posizione e l'orientamento direttamente nella nuvola di punti e nei tre pannelli visualizzati a destra. 

Se nel portale dei worker vengono visualizzate una o più immagini, puoi anche modificare i cuboidi nelle immagini o nella nuvola di punti 3D e le modifiche verranno visualizzate nell'altro supporto. 

Se vedi che i cuboidi sono già stati aggiunti alla nuvola di punti 3D quando apri l'attività, adattali e aggiungi altri cuboidi secondo necessità. 

Per modificare un cuboide, incluso lo spostamento, il riorientamento e la modifica delle dimensioni, devi utilizzare i tasti di scelta rapida. L'elenco completo dei tasti di scelta rapida è disponibile nel menu **Tasti di scelta rapida** dell'interfaccia utente. Di seguito sono riportate importanti combinazioni di tasti con cui è importante acquisire familiarità prima di iniziare l'attività di etichettatura. 


****  

| Comando Mac | Comando Windows | Azione | 
| --- | --- | --- | 
|  Cmd \$1 Trascina  |  Ctrl \$1 Trascina  |  Modifica le dimensioni del cuboide.  | 
|  Opzione \$1 Trascina  |  Alt \$1 Trascina  |   Sposta il cuboide.   | 
|  Maiusc \$1 Trascina  |  Maiusc \$1 Trascina  |  Ruota il cuboide.   | 
|  Opzione \$1 O  |  Alt \$1 O  |  Inserisce il cuboide intorno ai punti intorno a cui è stato disegnato. Prima di utilizzare l'opzione, assicurati che il cuboide circondi completamente l'oggetto di interesse.   | 
|  Opzione \$1 G  |  Alt \$1 G  |  Posizionamento del cuboide a terra.   | 

Le singole etichette possono avere uno o più attributi etichetta. Se a un'etichetta è associato un attributo etichetta, questo verrà visualizzato quando si seleziona la freccia rivolta verso il basso accanto all'etichetta dal menu **ID etichetta**. Inserimento dei valori richiesti per tutti gli attributi etichetta. 

È possibile visualizzare gli attributi dei frame nel menu **Etichette**. Utilizzare questi prompt sugli attributi per inserire ulteriori informazioni su ogni frame. 

![\[Esempio di prompt degli attributi di frame.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/frame-attributes.png)


## Navigare nell'interfaccia utente
<a name="sms-point-cloud-worker-instructions-worker-ui-od"></a>

Puoi navigare nella scena 3D utilizzando la tastiera e il mouse. Puoi:
+ Fare doppio clic su oggetti specifici nella nuvola di punti per ingrandirli. 
+ È possibile utilizzare i tasti [ e ] della tastiera per ingrandire e passare da un'etichetta all'altra. Se non è selezionata nessuna etichetta, quando si seleziona [ o ], l'interfaccia utente ingrandisce la prima etichetta nell'elenco **ID etichetta**. 
+ Usa la rotella del mouse o un trackpad per ingrandire e ridurre la nuvola di punti.
+ Usa entrambi i tasti freccia della tastiera e i tasti Q, E, A e D per spostarsi Su, Giù, Sinistra, Destra. Usa i tasti della tastiera W e S per ingrandire e ridurre. 

Una volta posizionato un cuboide nella scena 3D, viene visualizzata una vista laterale con le tre visualizzazioni laterali proiettate: superiore, laterale e posteriore. Queste visualizzazioni laterali mostrano i punti all'interno e attorno al cuboide posizionato e consentono ai worker di perfezionare i limiti del cuboide in quell'area. I worker possono ingrandire e ridurre ciascuna di queste visualizzazioni laterali utilizzando il mouse. 

Il video seguente mostra i movimenti intorno alla nuvola di punti 3D e nella visualizzazione laterale. 

![\[GIF che mostra i movimenti intorno alla nuvola di punti 3D e nella visualizzazione laterale.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/gifs/object_detection/navigate_od_worker_ui.gif)


Nell'interfaccia utente di lavoro vengono visualizzati i seguenti menu:
+ **Istruzioni**: esamina queste istruzioni prima di iniziare l'attività.
+ **Scelte rapide**: utilizza questo menu per visualizzare le scelte rapide da tastiera disponibili per navigare nella nuvola di punti e utilizzare gli strumenti di annotazione forniti. 
+ **Etichetta**: utilizza questo menu per modificare un cuboide. Seleziona innanzitutto il cuboide, quindi scegli un'opzione da questo menu. Questo menu include strumenti di etichettatura assistita come il posizionamento del cuboide a terra e l'adattamento automatico del cuboide ai bordi dell'oggetto. 
+ **Visualizzazione**: utilizza questo menu per attivare e disattivare diverse opzioni di visualizzazione. Ad esempio, puoi usare questo menu per aggiungere una maglia a terra nella nuvola di punti e per scegliere la proiezione della nuvola di punti. 
+ **Nuvola di punti 3D**: utilizza questo menu per aggiungere attributi ai punti della nuvola di punti, ad esempio il colore e l'intensità dei pixel. Nota che queste opzioni potrebbero non essere disponibili.

Quando apri un'attività, l'icona di spostamento della scena è attiva e puoi spostarti all'interno della nuvola di punti utilizzando il mouse e i pulsanti di navigazione nell'area dello schermo della nuvola di punti. Per tornare alla visualizzazione originale visualizzata quando hai aperto l'attività per la prima volta, scegli l'icona di ripristino della scena. La reimpostazione della visualizzazione non modifica le annotazioni. 

Dopo aver selezionato l'icona Aggiungi cuboide, puoi aggiungere i cuboidi alla visualizzazione della nuvola di punti 3D. Una volta aggiunto un cuboide, puoi adattarlo nelle tre visualizzazioni (superiore, laterale e anteriore) e nelle immagini (se incluse). 

![\[GIF che mostra come un worker può annotare una nuvola di punti 3D nel portale per i worker Ground Truth.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/gifs/object_detection/ot_basic_tools.gif)


Devi scegliere nuovamente l'icona di spostamento della scena per spostarti in un'altra area nella nuvola di punti 3D o nell'immagine. 

Per comprimere tutti i pannelli a destra e rendere la nuvola di punti 3D a schermo intero, scegli l'icona di schermo intero. 

Se sono incluse immagini della telecamera, è possibile che siano disponibili le seguenti opzioni di visualizzazione:
+ **C**: visualizza l'angolo della telecamera nella vista della nuvola di punti.
+ **F**: visualizza il frustum (o campo visivo) della telecamera utilizzata per acquisire l'immagine nella vista nuvola di punti. 
+ **P**: visualizza la nuvola di punti sovrapposta sull'immagine.
+ **B**: visualizza i cuboidi nell'immagine. 

Nel video seguente viene illustrato come utilizzare queste opzioni di visualizzazione. L'opzione **F** viene utilizzata per visualizzare il campo visivo della telecamera (l'area grigia), l'opzione **C** mostra la direzione verso cui è rivolta la telecamera e l'angolo della telecamera (righe blu) e l'opzione **B** viene utilizzata per visualizzare il cuboide. 

![\[GIF che mostra come utilizzare varie opzioni di visualizzazione.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/gifs/view-options-side.gif)


## Guida delle icone
<a name="sms-point-cloud-worker-instructions-od-icons"></a>

Questa tabella include informazioni sulle icone che vedi nel portale delle attività del worker. 


| Icon | Nome | Description | 
| --- | --- | --- | 
|  ![\[L’icona di Aggiungi cuboide.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/icons/add_cuobid.png)  |  aggiungi cuboide  |  Scegli questa icona per aggiungere un cuboide. Ogni cuboide aggiunto è associato alla categoria scelta.   | 
|  ![\[L’icona di Modifica cuboide.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/icons/edit_cuboid.png)  |  modifica cuboide  |  Scegli questa icona per modificare un cuboide. Dopo aver aggiunto un cuboide, puoi modificarne le dimensioni, la posizione e l'orientamento. Dopo l'aggiunta di un cuboide, viene attivata automaticamente la modalità di modifica del cuboide.   | 
|  ![\[L’icona di Righello.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/icons/Ruler_icon.png)  |  righello  |  Utilizza questa icona per misurare le distanze, in metri, nella nuvola di punti. Potresti voler utilizzare questo strumento se le istruzioni ti chiedono di annotare tutti gli oggetti a una determinata distanza dal centro del cuboide o dall'oggetto utilizzato per acquisire i dati. Quando selezioni questa icona, puoi posizionare il punto di inizio (primo contrassegno) in qualsiasi punto della nuvola di punti selezionandolo con il mouse. Lo strumento utilizzerà automaticamente l'interpolazione per posizionare un contrassegno sul punto più vicino entro la distanza di soglia dalla posizione selezionata, altrimenti il contrassegno verrà posizionato a terra. Se posizioni un punto di inizio per errore, puoi utilizzare il tasto Esc per invertire la posizione del contrassegno.  Dopo aver posizionato il primo contrassegno, vedrai una linea tratteggiata e un'etichetta dinamica che indica la distanza che ti sei allontanato dal primo contrassegno. Fai clic in un altro punto della nuvola di punti per inserire un secondo contrassegno. Quando posizioni il secondo contrassegno, la linea tratteggiata diventa continua e viene impostata la distanza.  Dopo aver impostato una distanza, puoi modificarla selezionando uno dei due contrassegni. È possibile eliminare un righello selezionandolo in un punto qualsiasi del righello e utilizzando il tasto Elimina sulla tastiera.   | 
|  ![\[L’icona di ripristino della scena.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/icons/fit_scene.png)  |  ripristino della scena  |  Scegli questa icona per ripristinare la vista della nuvola di punti, dei pannelli laterali e, se applicabile, di tutte le immagini nella posizione originale quando l'attività è stata aperta per la prima volta.   | 
|  ![\[L’icona di spostamento della scena.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/icons/move_scene.png)  |  spostamento della scena  |  Scegli questa icona per spostare la scena. Per impostazione predefinita, questa icona è selezionata al primo avvio di un'attività.   | 
|  ![\[L’icona di Schermo intero.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/icons/fullscreen.png)  |  schermo intero   |  Scegli questa icona per rendere la visualizzazione della nuvola di punti 3D a schermo intero e comprimere tutti i pannelli laterali.  | 
|  ![\[L’icona di Mostra etichette.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/icons/label-icons/show.png)  | mostra etichette |  Mostra le etichette nella visualizzazione della nuvola di punti 3D e, se applicabile, nelle immagini.   | 
|  ![\[L’icona di Nascondi etichette.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/icons/label-icons/hide.png)  | nascondi etichette |  Nascondi le etichette nella visualizzazione della nuvola di punti 3D e, se applicabile, nelle immagini.   | 
|  ![\[L’icona di Elimina etichette.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/icons/label-icons/delete.png)  | eliminazione di etichette |  Elimina un'etichetta.   | 

## Tasti di scelta rapida
<a name="sms-point-cloud-worker-instructions-od-hot-keys"></a>

Le scelte rapide elencate nel menu **Tasti di scelta rapida** ti consentono di navigare nella nuvola di punti 3D e utilizzare gli strumenti per aggiungere e modificare i cuboidi. 

Prima di iniziare l'attività, è consigliabile esaminare il menu **Tasti di scelta rapida** e familiarizzare con i relativi comandi. Devi utilizzare alcuni dei controlli del cuboide 3D per modificare il cuboide. 

## Rilasciare, interrompere, riprendere e rifiutare le attività
<a name="sms-point-cloud-worker-instructions-skip-reject-od"></a>

Quando si apre l'attività di etichettatura, tre pulsanti in alto a destra consentono di rifiutare l'attività (**Rifiuta attività**), rilasciarla (**Rilascia attività**) e interromperla e riprenderla in un secondo momento (**Interrompi e riprendi più tardi**). L'elenco seguente descrive cosa succede quando si seleziona una di queste opzioni:
+ **Rifiuta attività**: è opportuno rifiutare un'attività solo se c'è qualcosa che non va, ad esempio un problema con la nuvola di punti, le immagini o l'interfaccia utente. Se rifiuti un'attività, non sarà possibile recuperarla.
+ **Rilascia attività**: se rilasci un'attività, perdi tutto il lavoro svolto su quell'attività. Quando l'attività viene rilasciata, gli altri worker del team possono riprenderla. Se un numero sufficiente di worker si occuperà dell'attività, potrebbe non essere possibile riprenderla. Quando si seleziona questo pulsante e quindi si seleziona **Conferma**, si torna al portale dei worker. Se l'attività è ancora disponibile, il suo stato sarà **Disponibile**. Se altri worker la prelevano, scomparirà dal portale. 
+ **Interrompi e riprendi più tardi**: è possibile utilizzare il pulsante **Interrompi e riprendi più tardi** per smettere di lavorare e tornare all'attività in un secondo momento. È necessario utilizzare il pulsante **Salva** per salvare il lavoro prima di selezionare **Interrompi e riprendi più tardi**. Quando si seleziona questo pulsante e quindi si seleziona **Conferma**, si torna al portale dei worker e lo stato è **Interrotto**. È possibile selezionare la stessa attività per tornare a lavorarci. 

  Tieni presente che la persona che crea le attività di etichettatura specifica un limite di tempo entro il quale tutte le attività devono essere completate. Se non riprendi e non completi questa attività entro tale limite di tempo, essa scadrà e il lavoro non verrà inviato. Per ulteriori informazioni, consulta l'amministratore. 

## Salvataggio del lavoro e invio
<a name="sms-point-cloud-worker-instructions-saving-work-od"></a>

È necessario salvare regolarmente il lavoro. Ground Truth salverà automaticamente il lavoro ogni 15 minuti. 

Quando apri un'attività, devi completare il lavoro prima di premere **Invia**.

# Monitoraggio di oggetti della nuvola di punti 3D
<a name="sms-point-cloud-worker-instructions-object-tracking"></a>

Questa pagina ti consente di acquisire familiarità con l'interfaccia utente e gli strumenti disponibili per completare l'attività di rilevamento di oggetti della nuvola di punti 3D.

**Topics**
+ [La tua attività](#sms-point-cloud-worker-instructions-ot-task)
+ [Navigare nell'interfaccia utente](#sms-point-cloud-worker-instructions-worker-ui-ot)
+ [Modifica in blocco degli attributi di categorie e frame di etichette](#sms-point-cloud-worker-instructions-ot-bulk-edit)
+ [Guida delle icone](#sms-point-cloud-worker-instructions-ot-icons)
+ [Tasti di scelta rapida](#sms-point-cloud-worker-instructions-ot-hot-keys)
+ [Rilasciare, interrompere, riprendere e rifiutare le attività](#sms-point-cloud-worker-instructions-skip-reject-ot)
+ [Salvataggio del lavoro e invio](#sms-point-cloud-worker-instructions-saving-work-ot)

## La tua attività
<a name="sms-point-cloud-worker-instructions-ot-task"></a>

Quando lavori su un'attività di tracciamento di oggetti della nuvola di punti 3D devi selezionare una categoria dal menu **Annotazioni** sul lato destro del portale dei worker utilizzando il menu **Categorie di etichetta**. Dopo aver selezionato una categoria, utilizza gli strumenti Aggiungi cuboide e Adatta cuboide per adattare un cuboide attorno agli oggetti nella nuvola di punti 3D a cui si applica questa categoria. Dopo aver posizionato un cuboide, puoi modificarne la posizione, le dimensioni e l'orientamento direttamente nella nuvola di punti e nei tre pannelli visualizzati a destra. Se nel portale dei worker vengono visualizzate una o più immagini, puoi anche modificare i cuboidi nelle immagini o nella nuvola di punti 3D e le modifiche verranno visualizzate nell'altro supporto. 

**Importante**  
Se vedi che i cuboidi sono già stati aggiunti ai frame della nuvola di punti 3D quando apri l'attività, adattali e aggiungi altri cuboidi secondo necessità. 

Per modificare un cuboide, incluso lo spostamento, il riorientamento e la modifica delle dimensioni, devi utilizzare i tasti di scelta rapida. L'elenco completo dei tasti di scelta rapida è disponibile nel menu **Tasti di scelta rapida** dell'interfaccia utente. Di seguito sono riportate importanti combinazioni di tasti con cui è importante acquisire familiarità prima di iniziare l'attività di etichettatura. 


****  

| Comando Mac | Comando Windows | Azione | 
| --- | --- | --- | 
|  Cmd \$1 Trascina  |  Ctrl \$1 Trascina  |  Modifica le dimensioni del cuboide. | 
|  Opzione \$1 Trascina  |  Alt \$1 Trascina  |   Sposta il cuboide.   | 
|  Maiusc \$1 Trascina  |  Maiusc \$1 Trascina  |  Ruota il cuboide.   | 
|  Opzione \$1 O  |  Alt \$1 O  |  Inserisce il cuboide intorno ai punti intorno a cui è stato disegnato. Prima di utilizzare l'opzione, assicurati che il cuboide circondi completamente l'oggetto di interesse.   | 
|  Opzione \$1 G  |  Alt \$1 G  |  Posizionamento del cuboide a terra.   | 

Quando apri l'attività vengono caricati due frame. Se l'attività include più di due frame, devi utilizzare la barra di navigazione nell'angolo inferiore sinistro o l'icona di caricamento frame per caricare i frame aggiuntivi. È necessario annotare e adattare le etichette in tutti i frame prima di eseguire l'invio. 

Dopo aver inserito un cuboide attorno ai bordi di un oggetto, passa a un altro frame utilizzando la barra di navigazione nell'angolo inferiore sinistro dell'interfaccia utente. Se lo stesso oggetto è stato spostato in una nuova posizione, aggiungi un altro cuboide e adattalo ai bordi dell'oggetto. Ogni volta che aggiungi manualmente un cuboide, la barra della sequenza di frame nell'angolo inferiore sinistro dello schermo diventa rossa per indicare la posizione temporanea del frame nella sequenza.

L'interfaccia utente deduce automaticamente la posizione di quell'oggetto in tutti gli altri frame dopo aver posizionato un cuboide. Questo si chiama *interpolazione*. Puoi osservare il movimento di quell'oggetto e i cuboidi dedotti e creati manualmente. Adattamento dei cuboidi dedotti secondo le necessità. Il video seguente illustra come spostarsi tra i frame. Il video seguente mostra come l'interfaccia utente deduce automaticamente la posizione del cuboide in tutti i frame intermedi, se aggiungi un cuboide in un frame e poi lo adatti in un altro frame.

![\[GIF che mostra come viene dedotta la posizione di un cuboide tra i frame.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/gifs/object_tracking/label-interpolation.gif)


**Suggerimento**  
Puoi disattivare l'interpolazione cuboide automatica tra i frame utilizzando la voce di menu Nuvola di punti 3D. Seleziona **Nuvola di punti 3D** dal menu in alto, quindi seleziona **Interpola cuboidi tra frame**. Questa operazione deselezionerà questa opzione e interromperà l'interpolazione cuboide. Puoi riselezionare questo elemento per riattivare l'interpolazione cuboide.   
La disattivazione dell'interpolazione cuboide non avrà alcun impatto sui cuboidi che sono già stati interpolati tra i frame. 

Le singole etichette possono avere uno o più attributi etichetta. Se a un'etichetta è associato un attributo etichetta, questo verrà visualizzato quando si seleziona la freccia rivolta verso il basso accanto all'etichetta dal menu **ID etichetta**. Inserimento dei valori richiesti per tutti gli attributi etichetta. 

È possibile visualizzare gli attributi frame nel menu **ID etichetta**. Tali attributi verranno visualizzati in ogni frame dell'attività. Utilizza queste richieste sugli attributi per inserire informazioni aggiuntive su ogni frame. 

![\[Esempio di prompt degli attributi di frame.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/frame-attributes.png)


## Navigare nell'interfaccia utente
<a name="sms-point-cloud-worker-instructions-worker-ui-ot"></a>

Puoi navigare nella scena 3D utilizzando la tastiera e il mouse. Puoi:
+ Fare doppio clic su oggetti specifici nella nuvola di punti per ingrandirli.
+ È possibile utilizzare i tasti [ e ] della tastiera per ingrandire e passare da un'etichetta all'altra. Se non è selezionata alcuna etichetta, quando si seleziona [ o ], l'interfaccia utente ingrandisce la prima etichetta nell'elenco **ID etichetta**. 
+ Usa la rotella del mouse o un trackpad per ingrandire e ridurre la nuvola di punti.
+ Usa entrambi i tasti freccia della tastiera e i tasti Q, E, A e D per spostarsi Su, Giù, Sinistra, Destra. Usa i tasti della tastiera W e S per ingrandire e ridurre. 

Una volta posizionato un cuboide nella scena 3D, viene visualizzata una vista laterale con le tre visualizzazioni laterali proiettate: superiore, laterale e posteriore. Queste visualizzazioni laterali mostrano i punti all'interno e attorno al cuboide posizionato e consentono ai worker di perfezionare i limiti del cuboide in quell'area. I worker possono ingrandire e ridurre ciascuna di queste visualizzazioni laterali utilizzando il mouse. 

Il video seguente mostra i movimenti intorno alla nuvola di punti 3D e nella visualizzazione laterale. 

![\[GIF che mostra come un worker può utilizzare la vista 3D o 2D per regolare un cuboide.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/gifs/object_tracking/view-options-worker-ui.gif)


Nell'interfaccia utente di lavoro vengono visualizzati i seguenti menu:
+ **Istruzioni**: esamina queste istruzioni prima di iniziare l'attività.
+ **Scelte rapide**: utilizza questo menu per visualizzare le scelte rapide da tastiera disponibili per navigare nella nuvola di punti e utilizzare gli strumenti di annotazione forniti. 
+ **Etichetta**: utilizza questo menu per modificare un cuboide. Seleziona innanzitutto il cuboide, quindi scegli un'opzione da questo menu. Questo menu include strumenti di etichettatura assistita come il posizionamento del cuboide a terra e l'adattamento automatico del cuboide ai bordi dell'oggetto. 
+ **Visualizzazione**: utilizza questo menu per attivare e disattivare diverse opzioni di visualizzazione. Ad esempio, puoi usare questo menu per aggiungere una maglia a terra nella nuvola di punti e per scegliere la proiezione della nuvola di punti.
+ **Nuvola di punti 3D**: utilizza questo menu per aggiungere attributi ai punti della nuvola di punti, ad esempio il colore e l'intensità dei pixel. Nota che queste opzioni potrebbero non essere disponibili.

Quando apri un'attività, l'icona di spostamento della scena è attiva e puoi spostarti all'interno della nuvola di punti utilizzando il mouse e i pulsanti di navigazione nell'area dello schermo della nuvola di punti. Per tornare alla visualizzazione originale visualizzata quando hai aperto l'attività per la prima volta, scegli l'icona di ripristino della scena. 

Dopo aver selezionato l'icona Aggiungi cuboide, puoi aggiungere i cuboidi alla nuvola di punti e alle immagini (se incluse). Devi selezionare nuovamente l'icona di spostamento della scena per spostarti in un'altra area nella nuvola di punti 3D o nell'immagine. 

Per comprimere tutti i pannelli a destra e rendere la nuvola di punti 3D a schermo intero, scegli l'icona di schermo intero. 

Se sono incluse immagini della telecamera, è possibile che siano disponibili le seguenti opzioni di visualizzazione:
+ **C**: visualizza l'angolo della telecamera nella vista della nuvola di punti.
+ **F**: visualizza il frustum (o campo visivo) della telecamera utilizzata per acquisire l'immagine nella vista nuvola di punti. 
+ **P**: visualizza la nuvola di punti sovrapposta sull'immagine.
+ **B**: visualizza i cuboidi nell'immagine. 

Nel video seguente viene illustrato come utilizzare queste opzioni di visualizzazione. L'opzione **F** viene utilizzata per visualizzare il campo visivo della telecamera (l'area grigia), l'opzione **C** mostra la direzione verso cui è rivolta la telecamera e l'angolo della telecamera (righe blu) e l'opzione **B** viene utilizzata per visualizzare il cuboide. 

![\[GIF che mostra come utilizzare varie opzioni di visualizzazione.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/gifs/view-options-side.gif)


### Eliminazione di cuboidi
<a name="sms-point-cloud-instructions-ot-delete"></a>

È possibile selezionare un cuboide o un ID etichetta e:
+ Eliminare un singolo cuboide nel frame corrente che stai visualizzando.
+ Eliminare tutti i cuboidi con quell'ID etichetta prima o dopo il frame che stai visualizzando.
+ Eliminare tutti i cuboidi con quell'ID etichetta in tutti i frame. 

Un caso d'uso comune per l'eliminazione di un cuboide è se l'oggetto esce dalla scena.

È possibile utilizzare una o più di queste opzioni per eliminare sia i cuboidi posizionati manualmente che quelli interpolati con lo stesso ID etichetta.
+ Per eliminare tutti i cuboidi prima o dopo il frame in cui ci si trova attualmente, selezionare il cuboide, seleziona la voce di menu **Etichetta** nella parte superiore dell'interfaccia utente, quindi seleziona una delle opzioni **Elimina nei frame precedenti** o **Elimina nei frame successivi**. Utilizza il menu Tasti di scelta rapida per vedere i tasti di scelta rapida utilizzabili per queste opzioni.
+ Per eliminare un'etichetta in tutti i frame, seleziona **Elimina in tutti i frame** dal menu **Etichette** oppure utilizza i tasti di scelta rapida **Maiusc\$1Canc** sulla tastiera.
+ Per eliminare un singolo cuboide da un singolo frame, seleziona il cuboide e seleziona l'icona del cestino (![\[Trash can icon representing deletion or removal functionality.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/icons/label-icons/delete.png)) accanto all'ID dell'etichetta nella barra laterale **ID etichetta** a destra oppure usa il tasto Canc sulla tastiera per eliminare il cuboide.

Se hai inserito manualmente più di un cuboide con la stessa etichetta in frame diversi, quando elimini uno dei cuboidi posizionati manualmente, tutti i cuboidi interpolati si adattano. Questa regolazione avviene perché l'interfaccia utente utilizza i cuboidi posizionati manualmente come punti di ancoraggio per calcolare la posizione del cuboide interpolato. Quando si rimuove uno di questi punti di ancoraggio, l'interfaccia utente deve ricalcolare la posizione dei cuboidi interpolati.

Se si elimina un parallelepipedo da un frame, ma in seguito si decide di ripristinarlo, è possibile utilizzare le opzioni **Duplica nei frame precedenti** o **Duplica nei frame successivi** nel menu **Etichetta** per copiare il cuboide rispettivamente in tutti i frame precedenti o in tutti i frame successivi.

## Modifica in blocco degli attributi di categorie e frame di etichette
<a name="sms-point-cloud-worker-instructions-ot-bulk-edit"></a>

È possibile modificare in blocco gli attributi delle etichette e dei frame. 

Quando modifichi in blocco un attributo, specifica uno o più intervalli di frame a cui desideri applicare la modifica. L'attributo selezionato viene modificato in tutti i frame dell'intervallo, inclusi i frame iniziale e finale specificati. Quando modifichi in blocco gli attributi dell'etichetta, l'intervallo specificato *deve* contenere l'etichetta a cui è collegato l'attributo dell'etichetta. Se si specificano dei frame che non contengono questa etichetta, verrà generato un errore.

Per modificare in blocco un attributo, *è necessario* specificare prima il valore desiderato per esso. Ad esempio, se desideri modificare un attributo da *Sì* a *No*, è necessario selezionare *No* e quindi eseguire la modifica in blocco. 

È anche possibile specificare un nuovo valore per un attributo che non è stato inserito e quindi utilizzare la funzionalità di modifica in blocco per inserire quel valore in più frame. A tale scopo, seleziona il valore desiderato per l'attributo e completa la procedura seguente. 

**Per modificare in blocco un'etichetta o un attributo:**

1. Usa il mouse per fare clic con il pulsante destro del mouse sull'attributo che desideri modificare in blocco.

1. Specificare l'intervallo di frame a cui si desidera applicare la modifica collettiva utilizzando un trattino (`-`) nella casella di testo. Ad esempio, se desideri applicare la modifica ai frame da uno a dieci, immetti `1-10`. Se desideri applicare la modifica ai frame da due a cinque, da otto a dieci e venti, immetti `2-5,8-10,20`.

1. Seleziona **Conferma**.

Se viene visualizzato un messaggio di errore, verifica di aver inserito un intervallo valido e che l'etichetta associata all'attributo di etichetta che stai modificando (se applicabile) esista in tutti i frame specificati.

È possibile aggiungere rapidamente un'etichetta a tutti i frame precedenti o successivi utilizzando le opzioni **Duplica nei frame precedenti** e **Duplica nei frame successivi** nel menu **Etichetta** nella parte superiore dello schermo. 

## Guida delle icone
<a name="sms-point-cloud-worker-instructions-ot-icons"></a>

Questa tabella include informazioni sulle icone che vedi nel portale delle attività del worker. 


| Icon | Nome | Description | 
| --- | --- | --- | 
|  ![\[L’icona di Aggiungi cuboide.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/icons/add_cuobid.png)  |  aggiungi cuboide  |  Scegli questa icona per aggiungere un cuboide. Ogni cuboide aggiunto è associato alla categoria scelta.   | 
|  ![\[L’icona di Modifica cuboide.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/icons/edit_cuboid.png)  |  modifica cuboide  |  Scegli questa icona per modificare un cuboide. Dopo aver aggiunto un cuboide, puoi modificarne le dimensioni, la posizione e l'orientamento. Dopo l'aggiunta di un cuboide, viene attivata automaticamente la modalità di modifica del cuboide.   | 
|  ![\[L’icona di Righello.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/icons/Ruler_icon.png)  |  righello  |  Utilizza questa icona per misurare le distanze, in metri, nella nuvola di punti. Potresti voler utilizzare questo strumento se le istruzioni ti chiedono di annotare tutti gli oggetti a una determinata distanza dal centro del cuboide o dall'oggetto utilizzato per acquisire i dati. Quando selezioni questa icona, puoi posizionare il punto di inizio (primo contrassegno) in qualsiasi punto della nuvola di punti selezionandolo con il mouse. Lo strumento utilizzerà automaticamente l'interpolazione per posizionare un contrassegno sul punto più vicino entro la distanza di soglia dalla posizione selezionata, altrimenti il contrassegno verrà posizionato a terra. Se posizioni un punto di inizio per errore, puoi utilizzare il tasto Esc per invertire la posizione del contrassegno.  Dopo aver posizionato il primo contrassegno, vedrai una linea tratteggiata e un'etichetta dinamica che indica la distanza che ti sei allontanato dal primo contrassegno. Fai clic in un altro punto della nuvola di punti per inserire un secondo contrassegno. Quando posizioni il secondo contrassegno, la linea tratteggiata diventa continua e viene impostata la distanza.  Dopo aver impostato una distanza, puoi modificarla selezionando uno dei due contrassegni. È possibile eliminare un righello selezionandolo in un punto qualsiasi del righello e utilizzando il tasto Elimina sulla tastiera.   | 
|  ![\[L’icona di ripristino della scena.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/icons/fit_scene.png)  |  ripristino della scena  | Scegli questa icona per ripristinare la vista della nuvola di punti, dei pannelli laterali e, se applicabile, di tutte le immagini nella posizione originale quando l'attività è stata aperta per la prima volta.  | 
|  ![\[L’icona di spostamento della scena.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/icons/move_scene.png)  |  spostamento della scena  |  Scegli questa icona per spostare la scena. Per impostazione predefinita, questa icona è selezionata al primo avvio di un'attività.   | 
|  ![\[L’icona di Schermo intero.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/icons/fullscreen.png)  |  schermo intero   |  Scegli questa icona per rendere la visualizzazione della nuvola di punti 3D a schermo intero e comprimere tutti i pannelli laterali.  | 
|  ![\[L’icona di Carica frame.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/icons/load_screen.png)  |  carica frame  |  Scegli questa icona per caricare frame aggiuntivi.   | 
|  ![\[L’icona di Nascondi etichette.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/icons/label-icons/hide.png)  | nascondi etichette |  Nascondi le etichette nella visualizzazione della nuvola di punti 3D e, se applicabile, nelle immagini.   | 
|  ![\[L’icona di Mostra etichette.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/icons/label-icons/show.png)  | mostra etichette |  Mostra le etichette nella visualizzazione della nuvola di punti 3D e, se applicabile, nelle immagini.   | 
|  ![\[L’icona di Elimina etichette.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/icons/label-icons/delete.png)  | eliminazione di etichette |  Elimina un'etichetta. Questa opzione può essere utilizzata solo per eliminare le etichette create o modificate manualmente.   | 

## Tasti di scelta rapida
<a name="sms-point-cloud-worker-instructions-ot-hot-keys"></a>

Le scelte rapide elencate nel menu **Tasti di scelta rapida** ti consentono di navigare nella nuvola di punti 3D e utilizzare gli strumenti per aggiungere e modificare i cuboidi. 

Prima di iniziare l'attività, è consigliabile esaminare il menu **Tasti di scelta rapida** e familiarizzare con i relativi comandi. Devi utilizzare alcuni dei controlli del cuboide 3D per modificare il cuboide. 

## Rilasciare, interrompere, riprendere e rifiutare le attività
<a name="sms-point-cloud-worker-instructions-skip-reject-ot"></a>

Quando si apre l'attività di etichettatura, tre pulsanti in alto a destra consentono di rifiutare l'attività (**Rifiuta attività**), rilasciarla (**Rilascia attività**) e interromperla e riprenderla in un secondo momento (**Interrompi e riprendi più tardi**). L'elenco seguente descrive cosa succede quando si seleziona una di queste opzioni:
+ **Rifiuta attività**: è opportuno rifiutare un'attività solo se c'è qualcosa che non va, ad esempio un problema con la nuvola di punti, le immagini o l'interfaccia utente. Se rifiuti un'attività, non sarà possibile recuperarla.
+ **Rilascia attività**: utilizza questa opzione per rilasciare un'attività e consentire ad altri di lavorarci. Quando si rilascia un'attività, si perde tutto il lavoro svolto su di essa e gli altri worker del team possono riprenderla. Se un numero sufficiente di worker si occuperà dell'attività, potrebbe non essere possibile riprenderla. Quando si seleziona questo pulsante e quindi si seleziona **Conferma**, si torna al portale dei worker. Se l'attività è ancora disponibile, il suo stato sarà **Disponibile**. Se altri worker la prelevano, scomparirà dal portale. 
+ **Interrompi e riprendi più tardi**: è possibile utilizzare il pulsante **Interrompi e riprendi più tardi** per smettere di lavorare e tornare all'attività in un secondo momento. È necessario utilizzare il pulsante **Salva** per salvare il lavoro prima di selezionare **Interrompi e riprendi più tardi**. Quando si seleziona questo pulsante e quindi si seleziona **Conferma**, si torna al portale dei worker e lo stato è **Interrotto**. È possibile selezionare la stessa attività per tornare a lavorarci.

  Tieni presente che la persona che crea le attività di etichettatura specifica un limite di tempo entro il quale tutte le attività devono essere completate. Se non riprendi e non completi questa attività entro tale limite di tempo, essa scadrà e il lavoro non verrà inviato. Per ulteriori informazioni, consulta l'amministratore. 

## Salvataggio del lavoro e invio
<a name="sms-point-cloud-worker-instructions-saving-work-ot"></a>

È necessario salvare regolarmente il lavoro. Ground Truth salverà automaticamente il lavoro ogni 15 minuti. 

Quando apri un'attività, devi completare il lavoro prima di premere **Invia**. 

# Verifica e aggiustamento delle etichette
<a name="sms-verification-data"></a>

Quando le etichette su un set di dati devono essere convalidate, Amazon SageMaker Ground Truth fornisce funzionalità per consentire agli operatori di verificare che le etichette siano corrette o di modificare le etichette precedenti. Questi tipi di lavori si suddividono in due categorie distinte:
+ *Verifica dell’etichetta*: i worker indicano se le etichette esistenti sono corrette o valutano la qualità e possono aggiungere commenti per spiegare il loro ragionamento. I worker non saranno in grado di modificare o regolare le etichette. 

  Se si crea un processo di regolazione o verifica delle etichette con nuvola di punti 3D o fotogrammi video, è possibile scegliere di rendere modificabili dai worker gli attributi delle categorie delle etichette (non supportati per la segmentazione semantica della nuvola di punti 3D) e gli attributi dei fotogrammi. 
+ *Regolazione dell’etichetta*: i worker regolano le annotazioni precedenti e, se applicabile, etichettano gli attributi della categoria e dei fotogrammi per correggerli. 

I seguenti [tipi di attività predefiniti](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html) di Ground Truth supportano i processi di etichettatura di regolazione e verifica:
+ Riquadro di delimitazione
+ Segmentazione semantica 
+ Rilevamento di oggetti con nuvole di punti 3D, monitoraggio di oggetti con nuvole di punti 3D e segmentazione semantica con nuvole di punti 3D
+ Tutti i tipi di attività di rilevamento di oggetti con fotogrammi video e monitoraggio di oggetti con fotogrammi video: riquadro di delimitazione, polilinea, poligono e punto chiave

**Suggerimento**  
Per i processi di verifica dell'etichettatura con nuvole di punti 3D e fotogrammi video, è consigliabile aggiungere nuovi attributi di categoria dell'etichetta o attributi di fotogrammi al processo di etichettatura. I worker possono utilizzare questi attributi per verificare le singole etichette o l'intero fotogramma. Per ulteriori informazioni sulla categoria delle etichette e sugli attributi dei fotogrammi, consulta [Interfaccia utente dei worker](sms-point-cloud-general-information.md#sms-point-cloud-worker-task-ui) per nuvole di punti 3D e [Interfaccia utente dei worker](sms-video-overview.md#sms-video-worker-task-ui) fotogrammi video. 

Puoi avviare un processo di verifica e regolazione delle etichette utilizzando la console SageMaker AI o l'API. 

## Avvertenze e considerazioni
<a name="sms-data-verify-cautions"></a>

Per ottenere il comportamento previsto durante la creazione di un processo di verifica o aggiustamento delle etichette, verifica attentamente i dati di input. 
+ Se utilizzi dati immagine, verifica che il file manifest contenga informazioni esadecimali sui colori RGB. 
+ Per risparmiare sui costi di elaborazione, filtra i dati per assicurarti di non includere oggetti indesiderati nel manifest di input del processo di etichettatura.
+ Aggiungi le autorizzazioni Amazon S3 richieste per assicurarti che i dati di input vengano elaborati correttamente. 

Quando crei un processo di etichettatura di regolazione o verifica utilizzando l'API Ground Truth, *è necessario* utilizzare un processo di etichettatura `LabelAttributeName` diverso da quello originale.

### Requisiti di informazioni sui colori per i processi di segmentazione semantica
<a name="sms-data-verify-color-info"></a>

Per riprodurre correttamente le informazioni sui colori nelle attività di verifica o aggiustamento, lo strumento richiede informazioni di colore RGB esadecimale nel manifest (ad esempio \$1FFFFFF per il bianco). Durante la configurazione di un'attività di verifica o aggiustamento della segmentazione semantica, lo strumento esaminerà il manifest per verificare la presenza di queste informazioni. Se non riesce a trovarlo, Amazon SageMaker Ground Truth visualizza un messaggio di errore e termina la configurazione del lavoro.

Nelle iterazioni precedenti dello strumento di segmentazione semantica, le informazioni sul colore della categoria non sono state emesse in formato RGB esadecimale al manifest di output. Tale funzionalità è stata introdotta nel manifest di output contemporaneamente sono stati inseriti i flussi di lavoro di verifica e regolazione. Pertanto, i manifest di output meno recenti non sono compatibili con questo nuovo flusso di lavoro.

### Filtrare i dati prima di avviare il processo
<a name="sms-data-verify-filter"></a>

Amazon SageMaker Ground Truth elabora tutti gli oggetti nel tuo manifesto di input. Se disponi di un set di dati parzialmente etichettato, è possibile creare un manifest personalizzato utilizzando una [query di selezione Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html) sul manifest di input. Gli oggetti non etichettati falliscono singolarmente, ma non causano il fallimento del processo e potrebbero incorrere in costi di elaborazione. Il filtraggio degli oggetti che non si desidera verificare riduce i costi.

Se crei un processo di verifica utilizzando la console, è possibile utilizzare gli strumenti di filtraggio forniti. Se crei dei processi utilizzando l'API, filtra parte dei dati del flusso di lavoro, se necessario.

**Topics**
+ [Avvertenze e considerazioni](#sms-data-verify-cautions)
+ [Requisiti per creare processi di etichettatura di verifica e regolazione](sms-data-verify-adjust-prereq.md)
+ [Creare un processo di verifica delle etichette (console)](sms-data-verify-start-console.md)
+ [Creare un processo di regolazione dell’etichetta (console)](sms-data-adjust-start-console.md)
+ [Avviare un processo di verifica o regolazione delle etichette (API)](sms-data-verify-start-api.md)
+ [Dati di verifica e aggiustamento delle etichette nel manifest di output](sms-data-verify-manifest.md)

# Requisiti per creare processi di etichettatura di verifica e regolazione
<a name="sms-data-verify-adjust-prereq"></a>

Per creare un processo di verifica o regolazione delle etichette, è necessario soddisfare i seguenti criteri. 
+ Per i processi di etichettatura non in streaming: il file manifest di input da utilizzare deve contenere il nome dell’attributo dell’etichetta (`LabelAttributeName`) delle etichette da regolare. Quando si concatena un processo di etichettatura completato correttamente, il file manifesto di output viene utilizzato come file manifesto di input per il nuovo processo concatenato. Per ulteriori informazioni sul formato del file manifesto di output prodotto da Ground Truth per ogni tipo di attività, consulta [Etichettatura dei dati di output di un processo](sms-data-output.md).

  Per i processi di etichettatura in streaming: il messaggio Amazon SNS che viene inviato all'argomento di input di Amazon SNS del processo di etichettatura di regolazione o verifica deve contenere il nome dell'attributo di etichetta delle etichette da regolare o verificare. Per vedere un esempio di come è possibile creare un processo di etichettatura di regolazione o verifica con processi di etichettatura in streaming, guarda questo esempio di [Jupyter](https://github.com/aws/amazon-sagemaker-examples/blob/master/ground_truth_labeling_jobs/ground_truth_streaming_labeling_jobs/ground_truth_create_chained_streaming_labeling_job.ipynb) Notebook in. GitHub
+ Il tipo di attività del processo di etichettatura di verifica o regolazione deve essere lo stesso del processo originale, a meno che non si utilizzi il tipo di attività [Verifica dell'etichetta dell’immagine](sms-label-verification.md) per verificare le etichette dei riquadri di delimitazione o delle immagini di segmentazione semantica. Consulta il successivo punto elenco per ulteriori dettagli sui requisiti relativi ai tipi di attività relativi ai fotogrammi video.
+ Per i processi di verifica e regolazione delle annotazioni dei fotogrammi video, è necessario utilizzare lo stesso tipo di attività di annotazione utilizzato per creare le annotazioni del precedente processo di etichettatura. Ad esempio, se si crea un processo di rilevamento di oggetti con fotogrammi video per far disegnare ai worker dei riquadri di delimitazione attorno agli oggetti e quindi si crea un processo di regolazione del rilevamento di oggetti video, è necessario specificare i *riquadri di delimitazione* come tipo di attività di annotazione. Per ulteriori informazioni sui tipi di attività di annotazione dei fotogrammi video, consulta [Tipi di attività](sms-video-overview.md#sms-video-frame-tools).
+ Il tipo di attività selezionato per il processo di etichettatura di regolazione o verifica deve supportare un flusso di lavoro di audit. I seguenti [tipi di attività predefiniti](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html) di Ground Truth supportano i processi di etichettatura di regolazione e verifica: riquadro di delimitazione, segmentazione semantica, rilevamento di oggetti con nuvole di punti 3D, monitoraggio di oggetti con nuvole di punti 3D e segmentazione semantica con nuvole di punti 3D e tutti i tipi di attività di rilevamento di oggetti con fotogrammi video e monitoraggio di oggetti con fotogrammi video: riquadro di delimitazione, polilinea, poligono e punto chiave.

# Creare un processo di verifica delle etichette (console)
<a name="sms-data-verify-start-console"></a>

Utilizza una delle seguenti sezioni per creare un processo di verifica delle etichette per il tuo tipo di attività. I processi di etichettatura con riquadro di delimitazione e segmentazione semantica vengono creati scegliendo il tipo di attività **Verifica dell'etichetta** nella console. Per creare un processo di verifica per i tipi di attività con nuvole di punti 3D e fotogrammi video, è necessario scegliere lo stesso tipo di attività del processo di etichettatura originale e scegliere di visualizzare le etichette esistenti. 

## Creare un processo di verifica dell’etichetta di un’immagine (console)
<a name="sms-data-verify-start-console-bb-ss"></a>

Utilizza la procedura seguente per creare un riquadro di delimitazione o un processo di verifica della segmentazione semantica tramite la console. Questa procedura presuppone di aver già creato un riquadro di delimitazione o un processo di etichettatura con segmentazione semantica e che il relativo stato sia Completo. Questo è il processo di etichettatura che produce le etichette da verificare.

**Per creare un processo di verifica delle etichette delle immagini:**

1. Apri la console SageMaker AI all'indirizzo [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)e scegli **Labeling jobs**.

1. Avvia un nuovo processo di etichettatura [concatenando](sms-reusing-data.md) un processo precedente o iniziando da zero, specificando un manifest di input contenente oggetti dati etichettati.

1. Nel riquadro **Tipo di attività**, seleziona **Verifica dell’etichetta**.

1. Seleziona **Successivo**.

1. Nella sezione **worker** scegli il tipo di forza lavoro che desideri utilizzare. Per ulteriori dettagli sulle opzioni della forza lavoro, consulta [Forza lavoro](sms-workforce-management.md).

1. (Facoltativo) Dopo aver selezionato la forza lavoro, specifica il **Timeout attività** e il **Tempo di scadenza dell'attività**.

1. Nel riquadro **Opzioni di visualizzazione delle etichette esistenti**, il sistema mostra i nomi degli attributi delle etichette disponibili nel manifesto. Sceglie il nome dell'attributo etichetta che identifica le etichette che desideri vengano verificate dai worker. Ground Truth tenta di rilevare e popolare questi valori analizzando il manifesto, ma potrebbe essere necessario impostare il valore corretto. 

1. Utilizza le aree delle istruzioni del designer dello strumento per fornire un contesto su ciò che è stato richiesto agli etichettatori precedenti e ciò che i verificatori attuali devono controllare.

   È possibile aggiungere nuove etichette tra cui i worker possono scegliere per eseguire la verifica. Ad esempio, è possibile chiedere ai worker di verificare la qualità dell'immagine e fornire le etichette *Chiaro* e *Offuscato*. I worker avranno anche la possibilità di aggiungere un commento per spiegare la loro selezione. 

1. Seleziona l'opzione **Visualizza anteprima** per verificare che lo strumento visualizzi correttamente le etichette precedenti e presenti chiaramente l'attività di verifica dell’etichetta.

1. Seleziona **Crea**. In questo modo verrà creato e avviato il processo di etichettatura.

## Creare un processo di verifica delle etichette nei frame video o in una nuvola di punti (console)
<a name="sms-data-verify-start-console-frame"></a>

Utilizza la procedura seguente per creare una nuvola di punti 3D o un processo di verifica dei fotogrammi video tramite la console. Questa procedura presuppone che sia già stato creato un processo di etichettatura utilizzando il tipo di attività che produce i tipi di etichette che si desidera verificare e che il relativo stato sia Completo.

**Per creare un processo di verifica delle etichette delle immagini:**

1. Apri la console SageMaker AI all'indirizzo [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)e scegli **Labeling jobs**.

1. Avvia un nuovo processo di etichettatura [concatenando](sms-reusing-data.md) un processo precedente o iniziando da zero, specificando un manifest di input contenente oggetti dati etichettati.

1. Nel riquadro **Tipo di attività**, seleziona lo stesso tipo di attività del processo di etichettatura che è stato concatenato. Ad esempio, se il processo di etichettatura originale era un processo di etichettatura dei punti chiave di rilevamento di oggetti con fotogrammi video, seleziona quel tipo di attività. 

1. Scegli **Next (Successivo)**.

1. Nella sezione **worker** scegli il tipo di forza lavoro che desideri utilizzare. Per ulteriori dettagli sulle opzioni della forza lavoro, consulta [Forza lavoro](sms-workforce-management.md).

1. (Facoltativo) Dopo aver selezionato la forza lavoro, specifica il **Timeout attività** e il **Tempo di scadenza dell'attività**.

1. Attiva il commutatore accanto a **Visualizza le etichette esistenti**.

1. Seleziona **Verifica**.

1. Per **Nome attributo dell’etichetta** sceglie il nome dal manifest corrispondente alle etichette che desideri visualizzare per la verifica. I nomi attributi delle etichette verranno visualizzati solo per le etichette che corrispondono al tipo di attività selezionato nella schermata precedente. Ground Truth tenta di rilevare e popolare questi valori analizzando il manifesto, ma potrebbe essere necessario impostare il valore corretto.

1. Utilizza le aree delle istruzioni del designer dello strumento per fornire un contesto su ciò che è stato richiesto agli etichettatori precedenti e ciò che i verificatori attuali devono controllare. 

   Non è possibile modificare o aggiungere nuove etichette. È possibile rimuovere, modificare e aggiungere nuovi attributi di categoria di etichette e modificare oppure attributi di fotogrammi. Si consiglia di aggiungere nuovi attributi di categoria di etichette o attributi di fotogrammi al processo di etichettatura. I worker possono utilizzare questi attributi per verificare le singole etichette o l'intero fotogramma. 

   Per impostazione predefinita, gli attributi di categoria di etichette e gli attributi di fotogrammi preesistenti non saranno modificabili dai worker. Se desideri rendere modificabile una categoria di etichetta o un attributo di fotogramma, seleziona la casella di controllo **Consenti ai worker di modificare questo attributo** per il relativo attributo.

   Per ulteriori informazioni sulla categoria delle etichette e sugli attributi dei fotogrammi, consulta [Interfaccia utente dei worker](sms-point-cloud-general-information.md#sms-point-cloud-worker-task-ui) per nuvole di punti 3D e [Interfaccia utente dei worker](sms-video-overview.md#sms-video-worker-task-ui) per fotogrammi video. 

1. Seleziona l'opzione **Visualizza anteprima** per verificare che lo strumento visualizzi correttamente le etichette precedenti e presenti chiaramente l'attività di verifica dell’etichetta.

1. Seleziona **Crea**. In questo modo verrà creato e avviato il processo di etichettatura.

# Creare un processo di regolazione dell’etichetta (console)
<a name="sms-data-adjust-start-console"></a>

Utilizza una delle seguenti sezioni per creare un processo di verifica delle etichette per il tuo tipo di attività.

**Topics**
+ [Creare un processo di regolazione dell’etichetta di un’immagine (console)](#sms-data-adjust-start-console-bb-ss)
+ [Creare un processo di regolazione dell’etichetta in un frame video o una nuova di punti (console)](#sms-data-adjust-start-console-frame)

## Creare un processo di regolazione dell’etichetta di un’immagine (console)
<a name="sms-data-adjust-start-console-bb-ss"></a>

Utilizza la procedura seguente per creare un riquadro di delimitazione o un processo di etichettatura di regolazione con segmentazione semantica tramite la console. Questa procedura presuppone di aver già creato un riquadro di delimitazione o un processo di etichettatura con segmentazione semantica e che il relativo stato sia Completo. Questo è il processo di etichettatura che produce le etichette che si desidera regolare.

**Per creare un processo di regolazione dell’etichetta di un’immagine (console)**

1. Apri la console SageMaker AI all'indirizzo [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)e scegli **Labeling jobs**.

1. Avvia un nuovo processo di etichettatura [concatenando](sms-reusing-data.md) un processo precedente o iniziando da zero, specificando un manifest di input contenente oggetti dati etichettati.

1. Sceglie lo stesso tipo di attività del processo di etichettatura originale.

1. Scegli **Next (Successivo)**.

1. Nella sezione **worker** scegli il tipo di forza lavoro che desideri utilizzare. Per ulteriori dettagli sulle opzioni della forza lavoro, consulta [Forza lavoro](sms-workforce-management.md).

1. (Facoltativo) Dopo aver selezionato la forza lavoro, specifica il **Timeout attività** e il **Tempo di scadenza dell'attività**.

1. Espandi **Opzioni di visualizzazione delle etichette esistenti** selezionando la freccia accanto al titolo.

1. Seleziona la casella accanto a **Voglio visualizzare le etichetti esistenti dal set di dati per questo processo**.

1. Per **Nome attributo dell’etichetta**, scegli il nome dal manifest corrispondente alle etichette che desideri visualizzare per la regolazione. I nomi attributi delle etichette verranno visualizzati solo per le etichette che corrispondono al tipo di attività selezionato nella schermata precedente. Ground Truth tenta di rilevare e popolare questi valori analizzando il manifesto, ma potrebbe essere necessario impostare il valore corretto.

1. Utilizza le aree delle istruzioni del designer dello strumento per fornire un contesto su ciò che è stato richiesto agli etichettatori precedenti e ciò che i verificatori attuali devono controllare e regolare.

1. Scegli **Visualizza anteprima** per verificare che lo strumento mostri correttamente le etichette precedenti e presenti chiaramente l'attività.

1. Seleziona **Crea**. In questo modo verrà creato e avviato il processo di etichettatura.

## Creare un processo di regolazione dell’etichetta in un frame video o una nuova di punti (console)
<a name="sms-data-adjust-start-console-frame"></a>

Utilizza la procedura seguente per creare una nuvola di punti 3D o un processo di regolazione dei fotogrammi video tramite la console. Questa procedura presuppone che sia già stato creato un processo di etichettatura utilizzando il tipo di attività che produce i tipi di etichette che si desidera verificare e che il relativo stato sia Completo.

**Per creare una nuvola di punti 3D o un processo di regolazione delle etichette dei fotogrammi video (console)**

1. Apri la console SageMaker AI: [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) e scegli **Labeling jobs**.

1. Avvia un nuovo processo di etichettatura [concatenando](sms-reusing-data.md) un processo precedente o iniziando da zero, specificando un manifest di input contenente oggetti dati etichettati.

1. Scegli lo stesso tipo di attività del processo di etichettatura originale.

1. Attiva il commutatore accanto a **Visualizza le etichette esistenti**.

1. Seleziona **Regolazione**.

1. Per **Nome attributo dell’etichetta**, scegli il nome dal manifest corrispondente alle etichette che desideri visualizzare per la regolazione. I nomi attributi delle etichette verranno visualizzati solo per le etichette che corrispondono al tipo di attività selezionato nella schermata precedente. Ground Truth tenta di rilevare e popolare questi valori analizzando il manifesto, ma potrebbe essere necessario impostare il valore corretto.

1. Utilizza le aree delle istruzioni del designer dello strumento per fornire un contesto su ciò che è stato richiesto agli etichettatori precedenti e ciò che i regolatori attuali devono controllare. 

   Non è possibile rimuovere o modificare le etichette esistenti, ma è possibile aggiungerne di nuove. È possibile rimuovere, modificare e aggiungere nuovi attributi di categoria di etichette e modificare oppure attributi di fotogrammi.

   Per impostazione predefinita, gli attributi preesistenti delle categorie di etichette e gli attributi dei fotogrammi non saranno modificabili dai worker. Se desideri rendere non modificabile una categoria di etichetta o un attributo di fotogramma, deseleziona la casella di controllo **Consenti ai worker di modificare questo attributo** per il relativo attributo.

   Per ulteriori informazioni sulla categoria delle etichette e sugli attributi dei fotogrammi, consulta [Interfaccia utente dei worker](sms-point-cloud-general-information.md#sms-point-cloud-worker-task-ui) per nuvole di punti 3D e [Interfaccia utente dei worker](sms-video-overview.md#sms-video-worker-task-ui) per fotogrammi video. 

1. Scegli **Visualizza anteprima** per verificare che lo strumento mostri correttamente le etichette precedenti e presenti chiaramente l'attività.

1. Seleziona **Crea**. In questo modo verrà creato e avviato il processo di etichettatura.

# Avviare un processo di verifica o regolazione delle etichette (API)
<a name="sms-data-verify-start-api"></a>

Avvia un processo di verifica o regolazione delle etichette concatenando un processo completato correttamente o iniziando un nuovo processo da zero utilizzando l'operazione [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html). La procedura è quasi la stessa prevista per la configurazione di un nuovo processo di etichettatura con `CreateLabelingJob`, con alcune modifiche. Utilizza le seguenti sezioni per scoprire quali modifiche sono necessarie per concatenare un processo di etichettatura a un processo di etichettatura di regolazione o verifica. 

Quando si crea un processo di etichettatura di regolazione o verifica utilizzando l'API Ground Truth, *è necessario* utilizzare un processo di etichettatura `LabelAttributeName` diverso da quello originale. Il processo di etichettatura originale è il processo utilizzato per creare le etichette da regolare o verificare. 

**Importante**  
Il file di configurazione della categoria di etichette identificato per un processo di regolazione o di verifica in [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#SageMaker-CreateLabelingJob-request-LabelCategoryConfigS3Uri](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#SageMaker-CreateLabelingJob-request-LabelCategoryConfigS3Uri) di `CreateLabelingJob` deve contenere le stesse etichette utilizzate nel processo di etichettatura originale. È possibile aggiungere nuove etichette. Per i processi con nuvole di punti 3D e fotogrammi video, è possibile aggiungere nuovi attributi di categoria di etichette e fotogrammi al file di configurazione della categoria di etichette.

## Riquadro di delimitazione e segmentazione semantica
<a name="sms-data-verify-start-api-image"></a>

Per creare un riquadro di delimitazione o un processo di verifica o regolazione delle etichette con segmentazione semantica, utilizza le seguenti linee guida per specificare gli attributi API per l'operazione `CreateLabelingJob`: 
+ Utilizza il parametro [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#SageMaker-CreateLabelingJob-request-LabelAttributeName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#SageMaker-CreateLabelingJob-request-LabelAttributeName) per specificare il nome dell'etichetta di output che desideri utilizzare per le etichette verificate o regolate. È necessario utilizzare un `LabelAttributeName` diverso da quello utilizzato per il processo di etichettatura originale.
+ Se concateni il processo, le etichette del processo di etichettatura precedente da modificare o verificare verranno specificate nel modello di interfaccia utente personalizzato. Per informazioni su come creare un modello personalizzato, consulta [Creazione di modelli di attività del worker personalizzati](a2i-custom-templates.md).

  Identifica la posizione del modello di interfaccia utente nel [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UiConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UiConfig.html)parametro. SageMaker L'intelligenza artificiale fornisce widget che puoi utilizzare nel tuo modello personalizzato per visualizzare vecchie etichette. Utilizza l'attributo `initial-value` in uno dei seguenti elementi crowd per estrarre le etichette che richiedono la verifica o l’aggiustamento e includerle nel modello di attività:
  + [crowd-semantic-segmentation](sms-ui-template-crowd-semantic-segmentation.md)– Utilizza questo elemento crowd nel modello di attività dell'interfaccia utente personalizzato per specificare le etichette di segmentazione semantica che devono essere verificate o regolate.
  + [crowd-bounding-box](sms-ui-template-crowd-bounding-box.md)– Utilizza questo elemento crowd nel modello di attività dell'interfaccia utente personalizzato per specificare le etichette del riquadro di delimitazione che devono essere verificate o regolate.
+ Il parametro [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#SageMaker-CreateLabelingJob-request-LabelCategoryConfigS3Uri](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#SageMaker-CreateLabelingJob-request-LabelCategoryConfigS3Uri) deve contenere le stesse categorie di etichette del processo di etichettatura precedente.
+ Utilizza il bounding box o la regolazione o la verifica della segmentazione semantica lambda per e: ARNs [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn)
  + Per il bounding box, la funzione lambda del job di regolazione dell'etichettatura ARNs termina con `AdjustmentBoundingBox` e la funzione lambda di verifica termina con. ARNs `VerificationBoundingBox`
  + Per la segmentazione semantica, la funzione lambda del lavoro di etichettatura di regolazione termina con e la funzione lambda di verifica ARNs termina con`AdjustmentSemanticSegmentation`. ARNs `VerificationSemanticSegmentation`

## Nuvola di punti 3D e frame video
<a name="sms-data-verify-start-api-frame"></a>
+ Utilizza il parametro [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#SageMaker-CreateLabelingJob-request-LabelAttributeName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#SageMaker-CreateLabelingJob-request-LabelAttributeName) per specificare il nome dell'etichetta di output che desideri utilizzare per le etichette verificate o regolate. È necessario utilizzare un `LabelAttributeName` diverso da quello utilizzato per il processo di etichettatura originale. 
+ È necessario utilizzare il nome della risorsa Amazon (ARN) dell'interfaccia utente dell’attività umana (`HumanTaskUiArn`) utilizzato per il processo di etichettatura originale. Per vedere la funzionalità supportata, vedere. ARNs [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UiConfig.html#sagemaker-Type-UiConfig-HumanTaskUiArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UiConfig.html#sagemaker-Type-UiConfig-HumanTaskUiArn)
+ Nel file di configurazione della categoria di etichette è necessario specificare il nome dell'attributo di etichetta ([https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#SageMaker-CreateLabelingJob-request-LabelAttributeName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#SageMaker-CreateLabelingJob-request-LabelAttributeName)) del processo di etichettatura precedente utilizzato per creare il processo di etichettatura di regolazione o verifica nel parametro `auditLabelAttributeName`.
+ È possibile specificare se il processo di etichettatura è un processo di etichettatura di *verifica* o di *regolazione* utilizzando il parametro `editsAllowed` nel file di configurazione della categoria di etichette identificato dal parametro [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#SageMaker-CreateLabelingJob-request-LabelCategoryConfigS3Uri](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#SageMaker-CreateLabelingJob-request-LabelCategoryConfigS3Uri). 
  + Per i processi di etichettatura di *verifica*, è necessario utilizzare il parametro `editsAllowed` per specificare che non tutte le etichette possono essere modificate. `editsAllowed` deve essere impostato su `"none"` in ogni immissione in `labels`. Facoltativamente, è possibile specificare se gli attributi delle categorie di etichette e gli attributi dei fotogrammi possono essere regolati o meno dai worker. 
  + Facoltativamente, per i processi di etichettatura di *regolazione*, è possibile utilizzare il parametro `editsAllowed` per specificare etichette, attributi delle categorie di etichette e attributi dei fotogrammi che possono o non possono essere modificati dai worker. Se non si utilizza questo parametro, tutte le etichette, gli attributi delle categorie di etichette e gli attributi dei fotogramma saranno regolabili.

  Per ulteriori informazioni sul parametro `editsAllowed` e sulla configurazione del file di configurazione delle categorie di etichette, consulta [Schema del file di configurazione delle categorie di etichette](sms-label-cat-config-attributes.md#sms-label-cat-config-attributes-schema). 
+ Utilizzate la nuvola di punti 3D o la tecnologia lambda ARNs per la regolazione dei fotogrammi video [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn)sia [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AnnotationConsolidationConfig.html#sagemaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AnnotationConsolidationConfig.html#sagemaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn)per i lavori di regolazione che per quelli di etichettatura di verifica:
  + Per le nuvole di punti 3D, la funzione lambda del processo di etichettatura di regolazione e verifica ARNs termina rispettivamente con `Adjustment3DPointCloudSemanticSegmentation` e `Adjustment3DPointCloudObjectDetection` per la segmentazione semantica della nuvola di punti 3D, il rilevamento di oggetti e il tracciamento degli oggetti. `Adjustment3DPointCloudObjectTracking` 
  + Per i fotogrammi video, la funzione lambda del lavoro di regolazione e verifica dell'etichettatura ARNs termina rispettivamente con `AdjustmentVideoObjectDetection` e `AdjustmentVideoObjectTracking` per il rilevamento di oggetti con fotogrammi video e il tracciamento degli oggetti. 

Ground Truth memorizza i dati di output provenienti da un processo di verifica o regolazione delle etichette nel bucket S3 specificato nel parametro [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobOutputConfig.html#SageMaker-Type-LabelingJobOutputConfig-S3OutputPath](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobOutputConfig.html#SageMaker-Type-LabelingJobOutputConfig-S3OutputPath) dell'operazione [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html). Per ulteriori informazioni sui dati di output provenienti da un processo di verifica o aggiustamento delle etichette, consulta [Dati di verifica e aggiustamento delle etichette nel manifest di output](sms-data-verify-manifest.md).

# Dati di verifica e aggiustamento delle etichette nel manifest di output
<a name="sms-data-verify-manifest"></a>

Amazon SageMaker Ground Truth scrive i dati di verifica dell'etichetta nel manifesto di output all'interno dei metadati dell'etichetta. Aggiunge due proprietà ai metadati:
+ Una proprietà `type` con un valore di "`groundtruth/label-verification`.
+ Una proprietà `worker-feedback` con una matrice di valori `comment`. Questa proprietà viene aggiunta solo quando il worker inserisce commenti. Se non vi sono commenti, il campo non viene visualizzato.

Il manifest di output di esempio seguente mostra come vengono visualizzati i dati di verifica dell’etichetta:

```
{
  "source-ref":"S3 bucket location", 
  "verify-bounding-box":"1",    
  "verify-bounding-box-metadata":  
  {
    "class-name": "bad", 
    "confidence": 0.93, 
    "type": "groundtruth/label-verification", 
    "job-name": "verify-bounding-boxes",
    "human-annotated": "yes",
    "creation-date": "2018-10-18T22:18:13.527256",
    "worker-feedback": [
      {"comment": "The bounding box on the bird is too wide on the right side."},
      {"comment": "The bird on the upper right is not labeled."}
    ]
  }
}
```

L'output del worker dell’attività di regolazione è simile all'output del worker dell'attività originale, tranne nel fatto che conterrà i valori corretti e una proprietà `adjustment-status` con il valore di `adjusted` o `unadjusted` per indicare se è stata eseguita una regolazione.

Consulta [Etichettatura dei dati di output di un processo](sms-data-output.md) per ulteriori esempi di output di diverse attività.

# Flussi di lavoro di etichettatura personalizzati
<a name="sms-custom-templates"></a>

Questi argomenti consentono di configurare un processo di etichettatura Ground Truth che utilizza un modello di etichettatura personalizzato. Un modello di etichettatura personalizzato consente di creare un’interfaccia utente personalizzata del portale dei worker che questi ultimi possono utilizzare per etichettare i dati. Il modello può essere creato utilizzando HTML, CSS JavaScript, il [linguaggio di template Liquid](https://shopify.github.io/liquid/) e [Crowd HTML Elements](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-ui-template-reference.html).

## Panoramica di
<a name="sms-custom-templates-overview"></a>

Se è la prima volta che crei un flusso di lavoro di etichettatura personalizzato in Ground Truth, l’elenco seguente è un riepilogo generale delle fasi richieste.

1. *Configura la tua forza lavoro* - Per creare un flusso di lavoro di etichettatura personalizzato, hai bisogno di una forza lavoro. Questo argomento illustra come configurare una forza lavoro.

1. *Creazione di un modello personalizzato* - Per creare un modello personalizzato, è necessario mappare correttamente i dati del file manifesto di input alle variabili del modello.

1. *Utilizzo delle funzioni Lambda di elaborazione opzionali* - Per controllare il modo in cui i dati del manifesto di input vengono aggiunti al modello di worker e le annotazioni dei worker vengono registrate nel file di output del processo.

Questo argomento contiene anche tre end-to-end demo per aiutarti a capire meglio come utilizzare i modelli di etichettatura personalizzati.

**Nota**  
Gli esempi nei link sottostanti includono tutti funzioni Lambda di pre-annotazione e post-annotazione. Queste funzioni Lambda sono opzionali.
+ [Modello demo: annotazione di immagini con `crowd-bounding-box`](sms-custom-templates-step2-demo1.md)
+ [Modello demo: intenti di etichettatura con `crowd-classifier`](sms-custom-templates-step2-demo2.md)
+ [Crea un flusso di lavoro personalizzato per l'etichettatura dei dati con Amazon SageMaker Ground Truth](https://aws.amazon.com/blogs/machine-learning/build-a-custom-data-labeling-workflow-with-amazon-sagemaker-ground-truth/)

**Topics**
+ [Panoramica di](#sms-custom-templates-overview)
+ [Configurare la forza lavoro](sms-custom-templates-step1.md)
+ [Creazione di un modello di attività del worker personalizzato](sms-custom-templates-step2.md)
+ [Aggiunta di automazione con Liquid](sms-custom-templates-step2-automate.md)
+ [Elaborazione dei dati in un flusso di lavoro di etichettatura personalizzato con AWS Lambda](sms-custom-templates-step3.md)
+ [Modello demo: annotazione di immagini con `crowd-bounding-box`](sms-custom-templates-step2-demo1.md)
+ [Modello demo: intenti di etichettatura con `crowd-classifier`](sms-custom-templates-step2-demo2.md)
+ [Creare un flusso di lavoro personalizzato mediante l’API](sms-custom-templates-step4.md)

# Configurare la forza lavoro
<a name="sms-custom-templates-step1"></a>

In questa fase si utilizza la console per specificare il tipo di worker da usare e per effettuare le selezioni secondarie necessarie. Si presuppone che tu abbia già completato le fasi fino a questo punto nella sezione [Nozioni di base: crea un processo di etichettatura dei riquadri delimitatori con Ground Truth](sms-getting-started.md) e che tu abbia scelto **Attività di etichettatura personalizzata** come **Tipo di attività**.

**Per configurare la forza lavoro**

1. Scegliere innanzitutto un'opzione da **Tipi di worker**. Attualmente sono disponibili tre tipi:
   + **Public (Pubblico)** utilizza una forza lavoro su richiesta di appaltatori indipendenti, supportati da Amazon Mechanical Turk e pagati in base all'attività.
   + **Private (Privato)** utilizza dipendenti o appaltatori per la gestione dei dati che devono rimanere all'interno dell'organizzazione.
   + Il **fornitore** utilizza fornitori terzi specializzati nella fornitura di servizi di etichettatura dei dati, disponibili tramite Marketplace. AWS 

1. Se si sceglie l'opzione **Pubblico**, verrà chiesto di impostare il **numero di worker per oggetto set di dati**. Avere più worker che eseguono la stessa attività sullo stesso oggetto può aumentare la precisione dei risultati. Il valore predefinito è tre. Questo valore può essere aumentato o ridotto a seconda della precisione richiesta.

   Viene anche chiesto di impostare un valore **price per task (prezzo per attività)** utilizzando un menu a discesa. Il menu consiglia i prezzi in base al tempo necessario per completare l'attività.

   A questo scopo, si consiglia di eseguire innanzitutto un breve test dell'attività con una forza lavoro di tipo **private (privato)**. Il test fornisce una stima realistica del tempo richiesto per completare l'attività. È quindi possibile selezionare l'intervallo in cui ricade la stima nel menu **Price per task (Prezzo per attività)**. Se il tempo medio è superiore a 5 minuti, è consigliabile suddividere l'attività in unità più piccole.

## Next
<a name="templates-step1-next"></a>

[Creazione di un modello di attività del worker personalizzato](sms-custom-templates-step2.md)

# Creazione di un modello di attività del worker personalizzato
<a name="sms-custom-templates-step2"></a>

Per creare un processo di etichettatura personalizzato, è necessario aggiornare il modello di attività del worker, mappare i dati di input dal file manifesto alle variabili utilizzate nel modello e mappare i dati di output ad Amazon S3. Per ulteriori informazioni sulle funzionalità avanzate che utilizzano l’automazione Liquid, consulta [Aggiunta di automazione con Liquid](sms-custom-templates-step2-automate.md).

Le sezioni seguenti descrivono ciascuna delle fasi richieste.

## Modello di attività del worker
<a name="sms-custom-templates-step2-template"></a>

Un *modello di attività del worker* è un file utilizzato da Ground Truth per personalizzare l’interfaccia utente (UI) del worker. È possibile creare un modello di attività di lavoro utilizzando HTML, CSS JavaScript, il [linguaggio di modelli Liquid](https://shopify.github.io/liquid/) e [Crowd HTML Elements](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-ui-template-reference.html). Liquid viene utilizzato per automatizzare il modello. Crowd HTML Elements può essere utilizzato per includere strumenti di annotazione comuni e fornire la logica da inviare a Ground Truth.

Utilizza gli argomenti seguenti per informazioni su come creare un modello di attività del worker. È possibile visualizzare un archivio di esempi di modelli di attività dei lavoratori di Ground Truth su [GitHub](https://github.com/aws-samples/amazon-sagemaker-ground-truth-task-uis).

### Utilizzo del modello di attività di base worker nella console SageMaker AI
<a name="sms-custom-templates-step2-base"></a>

Puoi utilizzare un editor di modelli nella console Ground Truth per iniziare a creare un modello. Questo editor include una serie di modelli di base preprogettati. Supporta la compilazione automatica per il codice HTML e Crowd HTML Element.

**Per accedere all'editor di modelli personalizzati di Ground Truth:**

1. Segui le istruzioni in [Creare un processo di etichettatura (console)](sms-create-labeling-job-console.md).

1. Quindi seleziona **Personalizzato** per il valore di **Tipo di attività** del processo di etichettatura.

1. Scegli **Avanti** per accedere all’editor di modelli e ai modelli di base nella sezione **Configurazione dell’attività di etichettatura personalizzata**. 

1. (Facoltativo) Seleziona un modello di base dal menu a discesa in **Modelli**. Se preferisci creare un modello partendo da zero, scegli **Personalizza** dal menu a discesa per una struttura ridotta al minimo del modello.

Utilizza la sezione seguente per capire come visualizzare in locale un modello sviluppato nella console.

#### Visualizzazione locale dei modelli di attività del worker
<a name="sms-custom-template-step2-UI-local"></a>

È necessario utilizzare la console per testare il modo in cui il modello elabora i dati in entrata. Per testare l’aspetto dell’HTML e degli elementi personalizzati del modello, è possibile utilizzare il browser.

**Nota**  
Le variabili non vengono analizzate. Potrebbe essere necessario sostituirle con contenuti di esempio durante la visualizzazione locale dei contenuti.

Il seguente frammento di codice di esempio carica il codice necessario per il rendering degli elementi HTML personalizzati. Utilizza questo codice se desideri sviluppare l'aspetto del modello nell'editor preferito anziché nella console.

**Example**  

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
```

### Creazione di un esempio di attività HTML semplice
<a name="sms-custom-templates-step2-sample"></a>

Una volta pronto il modello di attività di base del worker, è possibile utilizzare questo argomento per creare un semplice modello di attività basato su HTML.

Di seguito è riportato un esempio di un file manifesto di input.

```
{
  "source": "This train is really late.",
  "labels": [ "angry" , "sad", "happy" , "inconclusive" ],
  "header": "What emotion is the speaker feeling?"
}
```

Nel modello di attività HTML è necessario mappare le variabili dal file manifesto di input al modello. È possibile mappare la variabile del manifesto di input di esempio utilizzando la seguente sintassi **task.input.source**, **task.input.labels** e **task.input.header**.

Quello che segue è un semplice esempio di modello di attività del worker HTML per l’analisi dei tweet. Tutte le attività iniziano e terminano con gli elementi `<crowd-form> </crowd-form>`. Analogamente agli elementi HTML `<form>` standard, tutto il codice del modulo deve essere racchiuso tra di essi. Ground Truth genera le attività dei worker direttamente dal contesto specificato nel modello, a meno che non si implementi una funzione Lambda di pre-annotazione. L’oggetto `taskInput` restituito da Ground Truth o [Lambda di pre-annotazione](sms-custom-templates-step3-lambda-requirements.md#sms-custom-templates-step3-prelambda) è l’oggetto `task.input` nei tuoi modelli.

Per una semplice attività di analisi dei tweet, utilizza l'elemento `<crowd-classifier>` che richiede i seguenti attributi:
+ *name* - Il nome della variabile di output. Le annotazioni dei worker vengono salvate con questo nome di variabile nel manifesto di output.
+ *categories* - Un array in formato JSON delle possibili risposte.
+ *header* - Un titolo per lo strumento di annotazione.

L’elemento `<crowd-classifier>` richiede almeno i tre elementi secondari seguenti.
+ *<classification-target>* - Il testo che verrà classificato dal worker in base alle opzioni specificate nell’attributo `categories` precedente.
+ *<full-instructions>* - Le istruzioni disponibili dal link “Visualizza istruzioni complete” nello strumento. Questo può essere lasciato vuoto, ma ti consigliamo di fornire buone istruzioni per ottenere risultati migliori.
+ *<short-instructions>* - Una descrizione più breve dell’attività che verrà visualizzata nella barra laterale dello strumento. Questo può essere lasciato vuoto, ma ti consigliamo di fornire buone istruzioni per ottenere risultati migliori.

Di seguito è riportata una semplice versione di questo strumento. La variabile **\$1\$1 task.input.source \$1\$1** è ciò che specifica i dati di origine del file di manifesto input. **\$1\$1 task.input.labels \$1 to\$1json \$1\$1** è un esempio di filtro di variabile per trasformare l’array in una rappresentazione JSON. L’attributo `categories` deve essere di tipo JSON.

**Example di utilizzo di `crowd-classifier` con il file JSON di manifesto input di esempio**  

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
<crowd-form>
  <crowd-classifier
    name="tweetFeeling"
    categories="='{{ task.input.labels | to_json }}'"
    header="{{ task.input.header }}'"
  >
     <classification-target>
       {{ task.input.source }}
     </classification-target>

    <full-instructions header="Sentiment Analysis Instructions">
      Try to determine the sentiment the author
      of the tweet is trying to express.
      If none seem to match, choose "cannot determine."
    </full-instructions>

    <short-instructions>
      Pick the term that best describes the sentiment of the tweet.
    </short-instructions>

  </crowd-classifier>
</crowd-form>
```

Puoi copiare e incollare il codice nell'editor del flusso di lavoro di creazione di lavori di etichettatura di Ground Truth per visualizzare un'anteprima dello strumento o provare una [demo di questo codice su CodePen](https://codepen.io/MTGT/full/OqBvJw).

 [https://codepen.io/MTGT/full/OqBvJw](https://codepen.io/MTGT/full/OqBvJw) 

## Dati di input, asset esterni e il tuo modello di attività
<a name="sms-custom-templates-step2-template-input"></a>

Le sezioni seguenti descrivono l’uso di asset esterni e i requisiti del formato dei dati di input, oltre a spiegare quando prendere in considerazione l’utilizzo delle funzioni Lambda di pre-annotazione.

### Requisiti per il formato dei dati di input
<a name="sms-custom-template-input-manifest"></a>

Quando crei un file manifesto di input da utilizzare nel tuo processo di etichettatura Ground Truth personalizzato, devi archiviare i dati in Amazon S3. I file manifest di input devono inoltre essere salvati nello stesso Regione AWS in cui deve essere eseguito il processo di etichettatura Ground Truth personalizzato. Il file manifesto può essere archiviato in qualsiasi bucket S3 Amazon accessibile al ruolo di servizio IAM utilizzato per eseguire il processo di etichettatura personalizzato in Ground Truth.

I file manifesto di input devono utilizzare il formato JSON o JSON delimitato da newline. Ogni riga è delimitata da un’interruzione di riga standard, **\$1n** oppure **\$1r\$1n**. Ogni riga deve essere anche un oggetto JSON valido. 

Inoltre, ogni oggetto JSON nel file manifesto deve contenere una delle seguenti chiavi: `source-ref` oppure `source`. I valori delle chiavi sono interpretati come segue:
+ `source-ref`: l'origine dell'oggetto è l'oggetto Amazon S3 specificato nel valore. Utilizza questo valore quando l'oggetto è un oggetto binario, ad esempio un'immagine.
+ `source`: l'origine dell'oggetto è il valore. Utilizza questo valore quando l'oggetto è un valore di testo.

Per ulteriori informazioni sulla formattazione dei file manifesto di input, consulta [File di manifesto di input](sms-input-data-input-manifest.md).

### Funzione Lambda di pre-annotazione
<a name="sms-custom-template-input-lambda"></a>

Facoltativamente, è possibile specificare una funzione *Lambda di pre-annotazione* per gestire il modo in cui i dati del file manifesto di input vengono gestiti prima dell’etichettatura. Se è stata specificata la coppia chiave-valore `isHumanAnnotationRequired`, è necessario utilizzare una funzione Lambda di pre-annotazione. Quando Ground Truth invia alla funzione Lambda di pre-annotazione una richiesta in formato JSON, utilizza gli schemi seguenti.

**Example di oggetto di dati identificato con la coppia chiave-valore `source-ref`**  

```
{
  "version": "2018-10-16",
  "labelingJobArn": arn:aws:lambda:us-west-2:555555555555:function:my-function
  "dataObject" : {
    "source-ref": s3://input-data-bucket/data-object-file-name
  }
}
```

**Example di oggetto di dati identificato con la coppia chiave-valore `source`**  

```
{
      "version": "2018-10-16",
      "labelingJobArn" : arn:aws:lambda:us-west-2:555555555555:function:my-function
      "dataObject" : {
        "source": Sue purchased 10 shares of the stock on April 10th, 2020
      }
    }
```

Di seguito è riportata la risposta prevista dalla funzione Lambda in caso di utilizzo di `isHumanAnnotationRequired`.

```
{
  "taskInput": {
    "source": "This train is really late.",
    "labels": [ "angry" , "sad" , "happy" , "inconclusive" ],
    "header": "What emotion is the speaker feeling?"
  },
  "isHumanAnnotationRequired": False
}
```

### Utilizzo di External Assets
<a name="sms-custom-template-step2-UI-external"></a>

I modelli personalizzati di Amazon SageMaker Ground Truth consentono di incorporare script e fogli di stile esterni. Ad esempio, il seguente blocco di codice mostra come aggiungere al proprio modello un foglio di stile che si trova in `https://www.example.com/my-enhancement-styles.css`.

**Example**  

```
<script src="https://www.example.com/my-enhancment-script.js"></script>
<link rel="stylesheet" type="text/css" href="https://www.example.com/my-enhancement-styles.css">
```

Se si verificano errori, verifica che il server di origine stia inviando il tipo MIME corretto e le intestazioni di codifica con gli asset.

Ad esempio, i tipi MIME e di codifica per gli script remoti sono: `application/javascript;CHARSET=UTF-8`.

Il tipo MIME e di codifica per i fogli di stile remoti sono: `text/css;CHARSET=UTF-8`.

## Dati di output e il tuo modello di attività
<a name="sms-custom-templates-step2-template-output"></a>

Le sezioni seguenti descrivono i dati di output di un processo di etichettatura personalizzato, oltre a spiegare quando prendere in considerazione l’utilizzo di una funzione Lambda post-annotazione.

### Dati di output
<a name="sms-custom-templates-data"></a>

Al termine del processo di etichettatura personalizzato, i dati vengono salvati nel bucket Amazon S3 specificato al momento della creazione del job. I dati vengono salvati in un file `output.manifest`.

**Nota**  
*labelAttributeName*è una variabile segnaposto. Nell’output è il nome del processo di etichettatura o il nome dell’attributo dell’etichetta specificato al momento della creazione del processo di etichettatura.
+ `source` oppure `source-ref` - È stato chiesto di etichettare la stringa o un worker URI S3. 
+ `labelAttributeName` - Un dizionario con il contenuto consolidato delle etichette della [funzione Lambda post-annotazione](sms-custom-templates-step3-lambda-requirements.md#sms-custom-templates-step3-postlambda). Se non viene specificata una funzione Lambda post-annotazione, questo dizionario è vuoto.
+ `labelAttributeName-metadata` - Metadati del processo di etichettatura personalizzato aggiunto da Ground Truth. 
+ `worker-response-ref` - L’URI S3 del bucket in cui vengono salvati i dati. Se viene specificata una funzione Lambda post-annotazione, questa coppia chiave-valore non viene visualizzata.

In questo esempio l'oggetto JSON è formattato per la leggibilità, nel file di output effettivo dell'oggetto JSON si trova su un'unica riga.

```
{
  "source" : "This train is really late.",
  "labelAttributeName" : {},
  "labelAttributeName-metadata": { # These key values pairs are added by Ground Truth
    "job_name": "test-labeling-job",
    "type": "groundTruth/custom",
    "human-annotated": "yes",
    "creation_date": "2021-03-08T23:06:49.111000",
    "worker-response-ref": "s3://amzn-s3-demo-bucket/test-labeling-job/annotations/worker-response/iteration-1/0/2021-03-08_23:06:49.json"
  }
}
```

### Utilizzo di una funzione Lambda post-annotazione per consolidare i risultati dei worker
<a name="sms-custom-templates-consolidation"></a>

Per impostazione predefinita, Ground Truth salva le risposte dei worker non elaborate in Amazon S3. Per un controllo più granulare sulla modalità di gestione delle risposte, è possibile specificare una *funzione Lambda post-annotazione*. Ad esempio, una funzione Lambda post-annotazione potrebbe essere utilizzata per consolidare l’annotazione se più worker hanno etichettato lo stesso oggetto di dati. Per ulteriori informazioni sulla creazione di funzioni Lambda post-annotazione, consulta [Lambda di post-annotazione](sms-custom-templates-step3-lambda-requirements.md#sms-custom-templates-step3-postlambda).

Per utilizzare una funzione Lambda post-annotazione, è necessario specificarla come parte di [https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_AnnotationConsolidationConfig.html](https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_AnnotationConsolidationConfig.html) in una richiesta `CreateLabelingJob`.

Per ulteriori informazioni sul funzionamento del consolidamento delle annotazioni, consulta [Consolidamento delle annotazioni](sms-annotation-consolidation.md).

# Aggiunta di automazione con Liquid
<a name="sms-custom-templates-step2-automate"></a>

Il sistema di modello personalizzato utilizza [Liquid](https://shopify.github.io/liquid/) per l'automazione. Si tratta di un linguaggio di markup inline open-source. In Liquid, il testo compreso tra parentesi graffe singole e simboli di percentuale è un'istruzione o un *tag* che svolge un’operazione come un flusso di controllo o un'iterazione. Il testo racchiuso tra parentesi graffe doppie è una variabile o *oggetto* che genera il suo valore.

Liquid è comunemente utilizzato per analizzare i dati provenienti dal file manifesto di input ed estrarre variabili pertinenti per creare l’attività. Ground Truth genera automaticamente le attività, a meno che non venga specificata una funzione Lambda di pre-annotazione. L’oggetto `taskInput` restituito da Ground Truth o [Lambda di pre-annotazione](sms-custom-templates-step3-lambda-requirements.md#sms-custom-templates-step3-prelambda) è l’oggetto `task.input` nei tuoi modelli.

Le proprietà nel manifesto di input vengono passate nel modello come `event.dataObject`.

**Example oggetto di dati del manifesto**  

```
{
  "source": "This is a sample text for classification",
  "labels": [ "angry" , "sad" , "happy" , "inconclusive" ],
  "header": "What emotion is the speaker feeling?"
}
```

**Example HTML di esempio con variabili**  

```
<crowd-classifier 
  name='tweetFeeling'
  categories='{{ task.input.labels | to_json }}'
  header='{{ task.input.header }}' >
<classification-target>
  {{ task.input.source }}
</classification-target>
```

Nota l’aggiunta di ` | to_json` alla proprietà `labels` di cui sopra. Si tratta di un filtro che trasforma l’array del manifesto di input in una rappresentazione JSON dell’array. Nella sezione successiva sono descritti i filtri variabili.

L'elenco seguente include due tipi di tag Liquid che potresti trovare utili per automatizzare l'elaborazione dei dati di input dei modelli. Se selezioni uno dei seguenti tipi di tag, verrai reindirizzato alla documentazione di Liquid.
+ [Flusso di controllo](https://shopify.github.io/liquid/tags/control-flow/): include operatori logici di programmazione come `if/else`, `unless` e `case/when`.
+ [Iterazione](https://shopify.github.io/liquid/tags/iteration/): consente di eseguire ripetutamente blocchi di codice utilizzando istruzioni come i cicli for. 

  Per un esempio di modello HTML che utilizza elementi Liquid per creare un ciclo for, consulta [translation-review-and-correction.liquid.html](https://github.com/aws-samples/amazon-sagemaker-ground-truth-task-uis/blob/8ae02533ea5a91087561b1daecd0bc22a37ca393/text/translation-review-and-correction.liquid.html) in. GitHub 

Per ulteriori informazioni e la documentazione, visita la [home page Liquid](https://shopify.github.io/liquid/).

## Filtri variabili
<a name="sms-custom-templates-step2-automate-filters"></a>

Oltre alle operazioni e ai [filtri Liquid](https://shopify.github.io/liquid/filters/abs/) standard, Ground Truth offre alcuni filtri aggiuntivi. I filtri vengono applicati posizionando un carattere barra verticale (`|`) dopo il nome di variabile e quindi specificando un nome filtro. I filtri possono essere concatenati nel formato seguente:

**Example**  

```
{{ <content> | <filter> | <filter> }}
```

### Escape automatico ed escape esplicito
<a name="sms-custom-templates-step2-automate-filters-autoescape"></a>

Per impostazione predefinita, gli input verranno preceduti da un carattere di escape HTML per evitare confusione tra testo variabile e HTML. Puoi aggiungere in maniera esplicita il filtro `escape` per rendere più evidente agli utenti che leggono il codice sorgente il modello su cui si esegue l'escape.

### escape\$1once
<a name="sms-custom-templates-step2-automate-escapeonce"></a>

`escape_once` garantisce che se hai già eseguito l'escape del codice, questo non viene nuovamente sottoposto a escape. Ad esempio, &amp; non diventa &amp;amp;.

### skip\$1autoescape
<a name="sms-custom-templates-step2-automate-skipautoescape"></a>

`skip_autoescape` è utile quando il contenuto deve essere utilizzato come HTML. Ad esempio, le istruzioni complete per un riquadro di delimitazione potrebbero contenere qualche paragrafo di testo e alcune immagini.

**Usa `skip_autoescape` con parsimonia**  
La best practice nei modelli è evitare di passare codice funzionale o markup con `skip_autoescape` a meno che non sei assolutamente certo di avere il controllo rigoroso di ciò che viene passato. Se stai passando input utente, potresti esporre i worker a un attacco Cross Site Scripting.

### to\$1json
<a name="sms-custom-templates-step2-automate-tojson"></a>

`to_json`codificherà ciò che gli invii in JSON (Object Notation). JavaScript Se fornisci un oggetto, verrà serializzato.

### grant\$1read\$1access
<a name="sms-custom-templates-step2-automate-grantreadaccess"></a>

`grant_read_access` accetta un URI S3 e lo codifica in un URL HTTPS con un token di accesso di breve durata per tale risorsa. Questo consente di mostrare ai worker oggetti di foto, audio o video archiviati in bucket S3 che non sono altrimenti accessibili pubblicamente.

### s3\$1presign
<a name="sms-custom-templates-step2-automate-s3"></a>

 Il filtro `s3_presign` funziona allo stesso modo del filtro `grant_read_access`. `s3_presign` accetta un URI Amazon S3 e lo codifica in un URL HTTPS con un token di accesso di breve durata per tale risorsa. Questo consente di visualizzare oggetti foto, audio o video archiviati in bucket S3 che non sono altrimenti accessibili pubblicamente dai worker.

**Example di filtri di variabili**  
Input  

```
auto-escape: {{ "Have you read 'James & the Giant Peach'?" }}
explicit escape: {{ "Have you read 'James & the Giant Peach'?" | escape }}
explicit escape_once: {{ "Have you read 'James &amp; the Giant Peach'?" | escape_once }}
skip_autoescape: {{ "Have you read 'James & the Giant Peach'?" | skip_autoescape }}
to_json: {{ jsObject | to_json }}                
grant_read_access: {{ "s3://amzn-s3-demo-bucket/myphoto.png" | grant_read_access }}
s3_presign: {{ "s3://amzn-s3-demo-bucket/myphoto.png" | s3_presign }}
```

**Example**  
Output  

```
auto-escape: Have you read &#39;James &amp; the Giant Peach&#39;?
explicit escape: Have you read &#39;James &amp; the Giant Peach&#39;?
explicit escape_once: Have you read &#39;James &amp; the Giant Peach&#39;?
skip_autoescape: Have you read 'James & the Giant Peach'?
to_json: { "point_number": 8, "coords": [ 59, 76 ] }
grant_read_access: https://s3.amazonaws.com/amzn-s3-demo-bucket/myphoto.png?<access token and other params>
s3_presign: https://s3.amazonaws.com/amzn-s3-demo-bucket/myphoto.png?<access token and other params>
```

**Example di un modello di classificazione automatico.**  
Per automatizzare l'esempio di classificazione del testo semplice, sostituisci il testo del tweet con una variabile.  
Il modello di classificazione del testo è riportato di seguito con automazione aggiunta. changes/additions Sono evidenziati in grassetto.  

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
<crowd-form>
  <crowd-classifier 
    name="tweetFeeling"
    categories="['positive', 'negative', 'neutral', 'cannot determine']"
    header="Which term best describes this tweet?" 
  >
    <classification-target>
       {{ task.input.source }}
    </classification-target>

    <full-instructions header="Analyzing a sentiment">
      Try to determine the feeling the author 
      of the tweet is trying to express. 
      If none seem to match, choose "other."
    </full-instructions>

    <short-instructions>
      Pick the term best describing the sentiment 
      of the tweet. 
    </short-instructions>

  </crowd-classifier>
</crowd-form>
```
Il testo del tweet che nell’esempio precedente è stato ora sostituito con un oggetto. L’oggetto `entry.taskInput` utilizza `source` (o un altro nome specificato nella funzione Lambda di pre-annotazione) come nome di proprietà per il testo ed è inserito direttamente nell’HTML essendo racchiuso tra parentesi graffe doppie.

# Elaborazione dei dati in un flusso di lavoro di etichettatura personalizzato con AWS Lambda
<a name="sms-custom-templates-step3"></a>

In questo argomento sono disponibili informazioni su come implementare funzioni [AWS Lambda](https://aws.amazon.com/lambda/) opzionali durante la creazione di un flusso di lavoro di etichettatura personalizzato. È possibile specificare due tipi di funzioni Lambda da utilizzare con il flusso di lavoro di etichettatura personalizzato.
+ *Lambda di pre-annotazione*: questa funzione avvia e pre-elabora ogni oggetto di dati inviato al processo di etichettatura prima di inviarlo ai worker.
+ *Lambda post-annotazione*: questa funzione elabora i risultati quando i worker inviano un'attività. Se si specificano più worker per oggetto dati, questa funzione può includere la logica per consolidare le annotazioni.

Se sei un nuovo utente di Lambda e Ground Truth, ti consigliamo di utilizzare le pagine di questa sezione secondo quanto segue:

1. Innanzitutto, consulta [Utilizzo di funzioni Lambda di pre-annotazione e post-annotazioneUtilizzo di funzioni Lambda](sms-custom-templates-step3-lambda-requirements.md).

1. Quindi, utilizza la pagina [Aggiungi le autorizzazioni richieste da utilizzare AWS Lambda con Ground Truth](sms-custom-templates-step3-lambda-permissions.md) per scoprire i requisiti in materia di sicurezza e autorizzazione per utilizzare le funzioni Lambda di pre-annotazione e post-annotazione in un processo di etichettatura personalizzato Ground Truth.

1. Successivamente, devi visitare la console Lambda o usare Lambda APIs per creare le tue funzioni. Usa la sezione [Creare funzioni Lambda utilizzando i modelli Ground Truth](sms-custom-templates-step3-lambda-create.md) per scoprire come creare funzioni Lambda.

1. Per scoprire come testare la funzione Lambda, consulta [Testare le funzioni Lambda di pre-annotazione e post-annotazione](sms-custom-templates-step3-lambda-test.md).

1. Dopo aver creato le funzioni Lambda di pre-elaborazione e post-elaborazione, selezionale nella sezione **Funzioni Lambda** visualizzata dopo l'editor di codice per il tuo HTML personalizzato nella tua console Ground Truth. Per scoprire come utilizzare queste funzioni in una richiesta API `CreateLabelingJob`, consulta [Creare un processo di etichettatura (API)](sms-create-labeling-job-api.md).

Per un tutorial sul flusso di lavoro di etichettatura personalizzato che includa esempi di funzioni Lambda di pre-annotazione e post-annotazione, consulta [Modello demo: annotazione di immagini con `crowd-bounding-box`](sms-custom-templates-step2-demo1.md).

**Topics**
+ [Utilizzo di funzioni Lambda di pre-annotazione e post-annotazione](sms-custom-templates-step3-lambda-requirements.md)
+ [Aggiungi le autorizzazioni richieste da utilizzare AWS Lambda con Ground Truth](sms-custom-templates-step3-lambda-permissions.md)
+ [Creare funzioni Lambda utilizzando i modelli Ground Truth](sms-custom-templates-step3-lambda-create.md)
+ [Testare le funzioni Lambda di pre-annotazione e post-annotazione](sms-custom-templates-step3-lambda-test.md)

# Utilizzo di funzioni Lambda di pre-annotazione e post-annotazione
<a name="sms-custom-templates-step3-lambda-requirements"></a>

Utilizza questi argomenti per scoprire la sintassi delle richieste inviate alle funzioni Lambda di pre-annotazione e post-annotazione e la sintassi di risposta richiesta, utilizzata da Ground Truth nei flussi di lavoro di etichettatura personalizzati.

**Topics**
+ [Lambda di pre-annotazione](#sms-custom-templates-step3-prelambda)
+ [Lambda di post-annotazione](#sms-custom-templates-step3-postlambda)

## Lambda di pre-annotazione
<a name="sms-custom-templates-step3-prelambda"></a>

Prima che un’attività di etichettatura venga inviata al worker, viene invocata una funzione Lambda di pre-annotazione opzionale.

Ground Truth invia alla funzione Lambda una richiesta in formato JSON per fornire informazioni sul processo di etichettatura e sull’oggetto di dati.

Di seguito sono riportati 2 esempi di richieste in formato JSON.

------
#### [ Data object identified with "source-ref" ]

```
{
    "version": "2018-10-16",
    "labelingJobArn": <labelingJobArn>
    "dataObject" : {
        "source-ref": <s3Uri>
    }
}
```

------
#### [ Data object identified with "source" ]

```
{
    "version": "2018-10-16",
    "labelingJobArn": <labelingJobArn>
    "dataObject" : {
        "source": <string>
    }
}
```

------

 L’elenco seguente contiene gli schemi di richiesta di pre-annotazione. Di seguito è riportata una descrizione di ciascun parametro.
+ `version` (stringa): questo è un numero di versione usato internamente da Ground Truth.
+ `labelingJobArn` (stringa): questo è l'Amazon Resource Name, o ARN, del proprio processo di etichettatura. Questo ARN può essere utilizzato come riferimento al processo di etichettatura quando si utilizzano operazioni dell’API Ground Truth come `DescribeLabelingJob`.
+ `dataObject` (oggetto JSON): la chiave contiene un'unica riga JSON, dal file manifest di input o inviata da Amazon SNS. Gli oggetti riga JSON nel tuo manifest possono essere di dimensioni fino a 100 KB e contenere un'ampia gamma di dati. Per un processo di annotazione di immagini molto semplice, il JSON `dataObject` può contenere solo una chiave `source-ref`, che identifica l'immagine da annotare. Se l'oggetto dati (ad esempio, una riga di testo) è incluso direttamente nel file manifest di input, l'oggetto dati viene identificato con `source`. Se si crea un processo di verifica o regolazione, questa riga può contenere i dati dell'etichetta e i metadati del precedente processo di etichettatura.

I seguenti esempi a schede mostrano esempi di una richiesta di pre-annotazione. Ogni parametro di queste richieste di esempio è spiegato sotto la tabella a schede.

------
#### [ Data object identified with "source-ref" ]

```
{
    "version": "2018-10-16",
    "labelingJobArn": "arn:aws:sagemaker:us-west-2:111122223333:labeling-job/<labeling_job_name>"
    "dataObject" : {
        "source-ref": "s3://input-data-bucket/data-object-file-name"
    }
}
```

------
#### [ Data object identified with "source" ]

```
{
    "version": "2018-10-16",
    "labelingJobArn": "arn:aws:sagemaker:<aws_region>:111122223333:labeling-job/<labeling_job_name>"
    "dataObject" : {
        "source": "Sue purchased 10 shares of the stock on April 10th, 2020"
    }
}
```

------

In cambio, Ground Truth richiede una risposta formattata come la seguente:

**Example di dati di restituzione previsti**  

```
{
    "taskInput": <json object>,
    "isHumanAnnotationRequired": <boolean> # Optional
}
```

Nell'esempio precedente, `<json object>` deve contenere *tutti* i dati richiesti dal modello di attività del worker personalizzato. Se stai eseguendo un'attività del riquadro di delimitazione in cui le istruzioni rimangono sempre le stesse, può essere semplicemente la risorsa HTTP(S) o Amazon S3 per il file di immagine. Se si tratta di un'attività di analisi del sentiment e oggetti diversi possono avere scelte diverse, sarà il riferimento dell'oggetto come una stringa e le scelte come una matrice di stringhe.

**Implicazioni di `isHumanAnnotationRequired`**  
Questo valore è facoltativo perché viene utilizzato `true` come valore predefinito. Il caso d'uso principale per l'impostazione esplicita è quando desideri escludere questo oggetto dati dall'etichettatura eseguita dai worker. 

Se hai una combinazione di oggetti del manifest, in cui alcuni richiedono l'annotazione umana e alcuni non la richiedono, puoi includere un valore `isHumanAnnotationRequired` in ogni oggetto dati. È possibile aggiungere una logica alla propria Lambda di pre-annotazione per determinare in modo dinamico se un oggetto richiede l'annotazione e impostare questo valore booleano di conseguenza.

### Esempi di funzioni Lambda di pre-annotazione
<a name="sms-custom-templates-step3-prelambda-example"></a>

La seguente funzione Lambda di pre-annotazione di base accede all’oggetto JSON in `dataObject` dalla richiesta iniziale e lo restituisce nel parametro `taskInput`.

```
import json

def lambda_handler(event, context):
    return {
        "taskInput":  event['dataObject']
    }
```

Supponendo che il file manifest di input utilizzi `"source-ref"` per identificare gli oggetti dati, il modello di attività del worker utilizzato nello stesso processo di etichettatura di questa Lambda di pre-annotazione deve includere un elemento Liquid come il seguente da importare `dataObject`:

```
{{ task.input.source-ref | grant_read_access }}
```

Se il file manifest di input ha utilizzato `source` per identificare l'oggetto dati, il modello di attività di elaborazione può importare `dataObject` con quanto segue:

```
{{ task.input.source }}
```

Il seguente esempio di pre-annotazione Lambda include una logica per identificare la chiave utilizzata in `dataObject` e per indicare l'oggetto dati utilizzando `taskObject` nell'istruzione return di Lambda.

```
import json

def lambda_handler(event, context):

    # Event received
    print("Received event: " + json.dumps(event, indent=2))

    # Get source if specified
    source = event['dataObject']['source'] if "source" in event['dataObject'] else None

    # Get source-ref if specified
    source_ref = event['dataObject']['source-ref'] if "source-ref" in event['dataObject'] else None

    # if source field present, take that otherwise take source-ref
    task_object = source if source is not None else source_ref

    # Build response object
    output = {
        "taskInput": {
            "taskObject": task_object
        },
        "humanAnnotationRequired": "true"
    }

    print(output)
    # If neither source nor source-ref specified, mark the annotation failed
    if task_object is None:
        print(" Failed to pre-process {} !".format(event["labelingJobArn"]))
        output["humanAnnotationRequired"] = "false"

    return output
```

## Lambda di post-annotazione
<a name="sms-custom-templates-step3-postlambda"></a>

Quando tutti i worker hanno annotato l'oggetto dati o quando è stato raggiunto [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanLoopConfig.html#SageMaker-Type-HumanLoopConfig-TaskAvailabilityLifetimeInSeconds](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanLoopConfig.html#SageMaker-Type-HumanLoopConfig-TaskAvailabilityLifetimeInSeconds), a seconda di ciò che avviene prima, Ground Truth invia tali annotazioni al proprio Lambda di post-annotazione. Questa Lambda viene generalmente utilizzata per [Consolidamento delle annotazioni](sms-annotation-consolidation.md).

**Nota**  
[Per vedere un esempio di funzione Lambda post-consolidamento, consulta [annotation\$1consolidation\$1lambda.py](https://github.com/aws-samples/aws-sagemaker-ground-truth-recipe/blob/master/aws_sagemaker_ground_truth_sample_lambda/annotation_consolidation_lambda.py) nel repository -recipe. aws-sagemaker-ground-truth](https://github.com/aws-samples/aws-sagemaker-ground-truth-recipe) GitHub 

Il blocco di codice seguente contiene lo schema di richiesta di post-annotazione. Ogni parametro è descritto nell'elenco puntato seguente.

```
{
    "version": "2018-10-16",
    "labelingJobArn": <string>,
    "labelCategories": [<string>],
    "labelAttributeName": <string>,
    "roleArn" : <string>,
    "payload": {
        "s3Uri": <string>
    }
 }
```
+ `version` (stringa): un numero di versione usato internamente da Ground Truth.
+ `labelingJobArn` (stringa): l'Amazon Resource Name, o ARN, del proprio processo di etichettatura. Questo ARN può essere utilizzato come riferimento al processo di etichettatura quando si utilizzano operazioni dell'API Ground Truth come `DescribeLabelingJob`.
+ `labelCategories` (elenco di stringhe): include le categorie di etichette e altri attributi specificati nella console o inclusi nel file di configurazione delle categorie di etichette.
+ `labelAttributeName` (stringa): il nome del processo di etichettatura o il nome dell'attributo dell'etichetta specificato quando si crea il processo di etichettatura.
+ `roleArn` (stringa): il nome della risorsa Amazon (ARN) del ruolo di esecuzione IAM specificato quando si crea il processo di etichettatura. 
+ `payload` (oggetto JSON): un JSON che include una chiave `s3Uri`, che identifica la posizione dei dati di annotazione per quell'oggetto dati in Amazon S3. Il secondo blocco di codice riportato di seguito mostra un esempio di questo file di annotazioni.

Il blocco di codice seguente contiene un esempio di richiesta post-annotazione. Ogni parametro in questo esempio è spiegato sotto il blocco di codice.

**Example di una richiesta Lambda post-annotazione**  

```
{
    "version": "2018-10-16",
    "labelingJobArn": "arn:aws:sagemaker:us-west-2:111122223333:labeling-job/labeling-job-name",
    "labelCategories": ["Ex Category1","Ex Category2", "Ex Category3"],
    "labelAttributeName": "labeling-job-attribute-name",
    "roleArn" : "arn:aws:iam::111122223333:role/role-name",
    "payload": {
        "s3Uri": "s3://amzn-s3-demo-bucket/annotations.json"
    }
 }
```

**Nota**  
Se nessun worker utilizza l'oggetto dati ed è stato raggiunto `TaskAvailabilityLifetimeInSeconds`, l'oggetto dati verrà contrassegnato come non riuscito e non verrà incluso come parte della richiesta Lambda post-annotazione.

Il seguente blocco di codice contiene lo schema di payload. Questo è il file indicato dal parametro `s3Uri` nell'oggetto JSON `payload` della richiesta Lambda post-annotazione. Ad esempio, se il blocco di codice precedente è la richiesta Lambda post-annotazione, il seguente file di annotazione si trova in `s3://amzn-s3-demo-bucket/annotations.json`.

Ogni parametro è descritto nell'elenco puntato seguente.

**Example di un file di annotazioni**  

```
[
    {
        "datasetObjectId": <string>,
        "dataObject": {
            "s3Uri": <string>,
            "content": <string>
        },
        "annotations": [{
            "workerId": <string>,
            "annotationData": {
                "content": <string>,
                "s3Uri": <string>
            }
       }]
    }
]
```
+ `datasetObjectId` (stringa): identifica un ID univoco che Ground Truth assegna a ciascun oggetto dati inviato al processo di etichettatura.
+ `dataObject` (oggetto JSON): l'oggetto dati che è stato etichettato. Se l'oggetto dati è incluso nel file manifesto di input e identificato utilizzando la chiave `source` (ad esempio una stringa), `dataObject` include una chiave `content` che identifica l'oggetto dati. Altrimenti, la posizione dell'oggetto dati (ad esempio, un link o un URI S3) viene identificata con `s3Uri`.
+ `annotations` (elenco di oggetti JSON): questo elenco contiene un unico oggetto JSON per ciascuna annotazione inviata dai worker a tale `dataObject`. Un singolo oggetto JSON contiene un `workerId` univoco che può essere utilizzato per identificare il worker che ha inviato l'annotazione. La chiave `annotationData` contiene uno dei seguenti elementi:
  + `content` (stringa): contiene i dati di annotazione. 
  + `s3Uri` (stringa): contiene un URI S3 che identifica la posizione dei dati di annotazione.

La tabella seguente contiene esempi del contenuto che è possibile trovare nel payload per diversi tipi di annotazioni.

------
#### [ Named Entity Recognition Payload ]

```
[
    {
      "datasetObjectId": "1",
      "dataObject": {
        "content": "Sift 3 cups of flour into the bowl."
      },
      "annotations": [
        {
          "workerId": "private.us-west-2.ef7294f850a3d9d1",
          "annotationData": {
            "content": "{\"crowd-entity-annotation\":{\"entities\":[{\"endOffset\":4,\"label\":\"verb\",\"startOffset\":0},{\"endOffset\":6,\"label\":\"number\",\"startOffset\":5},{\"endOffset\":20,\"label\":\"object\",\"startOffset\":15},{\"endOffset\":34,\"label\":\"object\",\"startOffset\":30}]}}"
          }
        }
      ]
    }
]
```

------
#### [ Semantic Segmentation Payload ]

```
[
    {
      "datasetObjectId": "2",
      "dataObject": {
        "s3Uri": "s3://amzn-s3-demo-bucket/gt-input-data/images/bird3.jpg"
      },
      "annotations": [
        {
          "workerId": "private.us-west-2.ab1234c5678a919d0",
          "annotationData": {
            "content": "{\"crowd-semantic-segmentation\":{\"inputImageProperties\":{\"height\":2000,\"width\":3020},\"labelMappings\":{\"Bird\":{\"color\":\"#2ca02c\"}},\"labeledImage\":{\"pngImageData\":\"iVBOR...\"}}}"
          }
        }
      ]
    }
  ]
```

------
#### [ Bounding Box Payload ]

```
[
    {
      "datasetObjectId": "0",
      "dataObject": {
        "s3Uri": "s3://amzn-s3-demo-bucket/gt-input-data/images/bird1.jpg"
      },
      "annotations": [
        {
          "workerId": "private.us-west-2.ab1234c5678a919d0",
          "annotationData": {
            "content": "{\"boundingBox\":{\"boundingBoxes\":[{\"height\":2052,\"label\":\"Bird\",\"left\":583,\"top\":302,\"width\":1375}],\"inputImageProperties\":{\"height\":2497,\"width\":3745}}}"
          }
        }
      ]
    }
 ]
```

------

La funzione Lambda post-annotazione può contenere una logica simile alla seguente per scorrere in loop e accedere a tutte le annotazioni contenute nella richiesta. [Per un esempio completo, consulta [annotation\$1consolidation\$1lambda.py](https://github.com/aws-samples/aws-sagemaker-ground-truth-recipe/blob/master/aws_sagemaker_ground_truth_sample_lambda/annotation_consolidation_lambda.py) nel repository -recipe. aws-sagemaker-ground-truth](https://github.com/aws-samples/aws-sagemaker-ground-truth-recipe) GitHub In questo GitHub esempio, è necessario aggiungere la propria logica di consolidamento delle annotazioni. 

```
for i in range(len(annotations)):
    worker_id = annotations[i]["workerId"]
    annotation_content = annotations[i]['annotationData'].get('content')
    annotation_s3_uri = annotations[i]['annotationData'].get('s3uri')
    annotation = annotation_content if annotation_s3_uri is None else s3_client.get_object_from_s3(
        annotation_s3_uri)
    annotation_from_single_worker = json.loads(annotation)

    print("{} Received Annotations from worker [{}] is [{}]"
            .format(log_prefix, worker_id, annotation_from_single_worker))
```

**Suggerimento**  
Quando esegui algoritmi di consolidamento sui dati, puoi utilizzare un servizio di database AWS per archiviare i risultati oppure puoi restituire i risultati elaborati a Ground Truth. I dati restituiti a Ground Truth vengono archiviati in manifesti di annotazione consolidati nel bucket S3 specificato per l'output durante la configurazione del processo di etichettatura.

In cambio, Ground Truth richiede una risposta formattata come la seguente:

**Example di dati di restituzione previsti**  

```
[
   {        
        "datasetObjectId": <string>,
        "consolidatedAnnotation": {
            "content": {
                "<labelattributename>": {
                    # ... label content
                }
            }
        }
    },
   {        
        "datasetObjectId": <string>,
        "consolidatedAnnotation": {
            "content": {
                "<labelattributename>": {
                    # ... label content
                }
            }
        }
    }
    .
    .
    .
]
```
A questo punto, tutti i dati che stai inviando al bucket S3, tranne `datasetObjectId`, saranno nell'oggetto `content`.

Quando restituisci le annotazioni `content`, ciò porta a una voce nel manifesto di output del proprio processo simile alla seguente:

**Example di formato etichetta nel manifest di output**  

```
{  "source-ref"/"source" : "<s3uri or content>", 
   "<labelAttributeName>": {
        # ... label content from you
    },   
   "<labelAttributeName>-metadata": { # This will be added by Ground Truth
        "job_name": <labelingJobName>,
        "type": "groundTruth/custom",
        "human-annotated": "yes", 
        "creation_date": <date> # Timestamp of when received from Post-labeling Lambda
    }
}
```

A causa della natura potenzialmente complessa di un modello personalizzato e dei dati che raccoglie, Ground Truth non offre un'ulteriore elaborazione dei dati.

# Aggiungi le autorizzazioni richieste da utilizzare AWS Lambda con Ground Truth
<a name="sms-custom-templates-step3-lambda-permissions"></a>

Potrebbe essere necessario configurare alcuni o tutti i seguenti elementi per creare e utilizzare AWS Lambda con Ground Truth. 
+ È necessario concedere a un ruolo o utente IAM (collettivamente, un'entità IAM) l'autorizzazione a creare le funzioni Lambda di pre-annotazione e post-annotazione utilizzando e a sceglierle durante la creazione del AWS Lambda processo di etichettatura. 
+ Il ruolo di esecuzione IAM specificato al momento della configurazione del processo di etichettatura richiede l'autorizzazione per richiamare le funzioni Lambda di pre-annotazione e post-annotazione. 
+ Le funzioni Lambda post-annotazione potrebbero richiedere un'autorizzazione per accedere ad Amazon S3.

Utilizza le seguenti sezioni per scoprire come creare le entità IAM e concedere le autorizzazioni sopra descritte.

**Topics**
+ [Concedi l'autorizzazione a creare e selezionare una funzione AWS Lambda](#sms-custom-templates-step3-postlambda-create-perms)
+ [Concedi l'autorizzazione al ruolo di esecuzione IAM per richiamare le funzioni AWS Lambda](#sms-custom-templates-step3-postlambda-execution-role-perms)
+ [Concedi le autorizzazioni Lambda post-annotazione per accedere all'annotazione](#sms-custom-templates-step3-postlambda-perms)

## Concedi l'autorizzazione a creare e selezionare una funzione AWS Lambda
<a name="sms-custom-templates-step3-postlambda-create-perms"></a>

Se non hai bisogno di autorizzazioni granulari per sviluppare funzioni Lambda di pre-annotazione e post-annotazione, puoi allegare la policy gestita a un utente o a un ruolo. AWS `AWSLambda_FullAccess` Questa politica concede ampie autorizzazioni per utilizzare tutte le funzionalità Lambda, nonché l'autorizzazione a eseguire azioni in altri servizi AWS con cui Lambda interagisce.

Per creare una policy più granulare per i casi d'uso sensibili alla sicurezza, consulta la documentazione [Identity-based IAM Policies for Lambda nella AWS Lambda to Developer Guide per scoprire come creare una policy IAM](https://docs.aws.amazon.com/lambda/latest/dg/access-control-identity-based.html) adatta al tuo caso d'uso. 

**Policy per l'utilizzo della console Lambda**

Se desideri concedere a un'entità IAM il permesso di utilizzare la console Lambda, consulta [Using the Lambda console](https://docs.aws.amazon.com/lambda/latest/dg/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-console) nella Developer Guide. AWS Lambda 

Inoltre, se desideri che l'utente sia in grado di accedere e distribuire le funzioni di pre-annotazione e post-annotazione di Ground Truth utilizzando la console Lambda, devi specificare *`<aws-region>`* dove vuoi distribuire le funzioni (deve essere la stessa AWS regione utilizzata per creare il processo di etichettatura) e aggiungere la seguente policy al ruolo IAM. AWS Serverless Application Repository 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "serverlessrepo:ListApplicationVersions",
                "serverlessrepo:GetApplication",
                "serverlessrepo:CreateCloudFormationTemplate"
            ],
            "Resource": "arn:aws:serverlessrepo:us-east-1:838997950401:applications/aws-sagemaker-ground-truth-recipe"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "serverlessrepo:SearchApplications",
            "Resource": "*"
        }
    ]
}
```

------

**Policy per visualizzare le funzioni Lambda nella console Ground Truth**

Per concedere a un'entità IAM l'autorizzazione a visualizzare le funzioni Lambda nella console Ground Truth quando l'utente crea un processo di etichettatura personalizzato, l'entità deve disporre delle autorizzazioni descritte in [Concedi a IAM il permesso di utilizzare la console Amazon SageMaker Ground Truth](sms-security-permission-console-access.md), incluse le autorizzazioni descritte nella sezione [Autorizzazioni personalizzate per il flusso di lavoro di etichettatura](sms-security-permission-console-access.md#sms-security-permissions-custom-workflow).

## Concedi l'autorizzazione al ruolo di esecuzione IAM per richiamare le funzioni AWS Lambda
<a name="sms-custom-templates-step3-postlambda-execution-role-perms"></a>

Se aggiungi la policy gestita IAM [AmazonSageMakerGroundTruthExecution](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerGroundTruthExecution)al ruolo di esecuzione IAM utilizzato per creare il processo di etichettatura, questo ruolo è autorizzato a elencare e richiamare le funzioni Lambda con una delle seguenti stringhe nel nome della funzione:`GtRecipe`,,, `SageMaker` o. `Sagemaker` `sagemaker` `LabelingFunction` 

Se i nomi delle funzioni Lambda di pre-annotazione o post-annotazione non includono uno dei termini del paragrafo precedente o se è necessaria un'autorizzazione più granulare rispetto a quelle della policy gestita `AmazonSageMakerGroundTruthExecution`, puoi aggiungere una policy simile alla seguente per concedere l'autorizzazione al ruolo di esecuzione per richiamare le funzioni di pre-annotazione e post-annotazione.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "lambda:InvokeFunction",
            "Resource": [
                "arn:aws:lambda:us-east-1:111122223333:function:<pre-annotation-lambda-name>",
                "arn:aws:lambda:us-east-1:111122223333:function:<post-annotation-lambda-name>"
            ]
        }
    ]
}
```

------

## Concedi le autorizzazioni Lambda post-annotazione per accedere all'annotazione
<a name="sms-custom-templates-step3-postlambda-perms"></a>

Come descritto in [Lambda di post-annotazione](sms-custom-templates-step3-lambda-requirements.md#sms-custom-templates-step3-postlambda), la richiesta Lambda post-annotazione include la posizione dei dati di annotazione in Amazon S3. Questa posizione è identificata dalla stringa `s3Uri` nell'oggetto `payload`. Per elaborare le annotazioni quando arrivano, anche per una semplice funzione passthrough, è necessario assegnare le autorizzazione necessarie al [ruolo di esecuzione della Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) post-annotazione per leggere i file da Amazon S3.

Sono molti i modi per configurare il proprio Lambda ai fini dell’accesso ai dati di annotazione in Amazon S3. Due modi comuni sono i seguenti:
+ Consenti al ruolo di esecuzione Lambda di assumere il ruolo di esecuzione SageMaker AI identificato `roleArn` nella richiesta Lambda post-annotazione. Questo ruolo di esecuzione SageMaker AI è quello utilizzato per creare il processo di etichettatura e ha accesso al bucket di output di Amazon S3 in cui sono archiviati i dati di annotazione.
+ Concedi al ruolo di esecuzione Lambda l'autorizzazione ad accedere direttamente al bucket di output Amazon S3.

Utilizza le seguenti sezioni per avere ulteriori informazioni sul modo per configurare queste opzioni. 

**Concedi a Lambda l'autorizzazione ad assumere il ruolo di esecuzione dell' SageMaker IA**

Per consentire a una funzione Lambda di assumere un ruolo di esecuzione SageMaker AI, è necessario allegare una policy al ruolo di esecuzione della funzione Lambda e modificare la relazione di trust del ruolo di esecuzione SageMaker AI per consentire a Lambda di assumerlo.

1. [Associa la seguente policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) al ruolo di esecuzione della tua funzione Lambda per assumere il ruolo di esecuzione SageMaker AI identificato in. `Resource` Sostituisci `222222222222` con un [ID di account AWS](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html). Sostituisci `sm-execution-role` con il nome del ruolo assunto.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": {
           "Effect": "Allow",
           "Action": "sts:AssumeRole",
           "Resource": "arn:aws:iam::222222222222:role/sm-execution-role"
       }
   }
   ```

------

1. [Modifica la politica di fiducia](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-managingrole_edit-trust-policy) del ruolo di esecuzione dell' SageMaker IA per includere quanto segue`Statement`. Sostituisci `222222222222` con un [ID di account AWS](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html). Sostituisci `my-lambda-execution-role` con il nome del ruolo assunto.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::222222222222:role/my-lambda-execution-role"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

**Concedi a Lambda l'autorizzazione al ruolo di esecuzione per accedere ad Amazon S3**

Puoi aggiungere una policy simile alla seguente al ruolo di esecuzione della funzione Lambda post-annotazione per assegnarle i permessi di lettura S3. Sostituisci *amzn-s3-demo-bucket* con il nome del bucket di output specificato quando crei un lavoro di etichettatura.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
        }
    ]
}
```

------

Per aggiungere autorizzazioni di lettura S3 a un ruolo di esecuzione Lambda nella console Lambda, segui la seguente procedura. 

**Aggiungi le autorizzazioni di lettura S3 alla Lambda post-annotazione:**

1. Apri la [pagina **Funzioni**](https://console.aws.amazon.com/lambda/home#/functions) nella console Lambda.

1. Scegli il nome della funzione di post-annotazione.

1. Scegliere **Configuration (Configurazione)**, quindi **Permissions (Autorizzazioni)**.

1. Seleziona il **Nome del ruolo** e la pagina di riepilogo per quel ruolo si apre nella console IAM in una nuova scheda. 

1. Seleziona **Collega policy**.

1. Esegui una delle seguenti operazioni:
   + Cerca e seleziona **`AmazonS3ReadOnlyAccess`** per fornire alla funzione l'autorizzazione a leggere tutti i bucket e gli oggetti nell'account. 
   + Se hai bisogno di autorizzazioni più granulari, seleziona **Crea policy** e usa l'esempio di policy nella sezione precedente per creare una policy. Tieni presente che è necessario tornare alla pagina di riepilogo del ruolo di esecuzione dopo aver creato la policy.

1. Se hai utilizzato la policy gestita `AmazonS3ReadOnlyAccess`, seleziona **Collega policy**. 

   Se hai creato una nuova policy, torna alla pagina di riepilogo del ruolo di esecuzione Lambda e collega la policy appena creata.

# Creare funzioni Lambda utilizzando i modelli Ground Truth
<a name="sms-custom-templates-step3-lambda-create"></a>

Puoi creare una funzione Lambda utilizzando la console Lambda AWS CLI, o un AWS SDK in un linguaggio di programmazione supportato di tua scelta. Utilizza la Guida per AWS Lambda gli sviluppatori per saperne di più su ciascuna di queste opzioni:
+ Per scoprire come creare una funzione Lambda utilizzando la console, consulta [Create a Lambda function with the console](https://docs.aws.amazon.com/lambda/latest/dg/getting-started-create-function.html).
+ Per informazioni su come creare una funzione Lambda utilizzando la AWS CLI, consulta Uso di [AWS Lambda con l' AWS](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-awscli.html)interfaccia a riga di comando.
+ Seleziona la sezione pertinente nell'indice per maggiori informazioni su come lavorare con Lambda nella lingua che preferisci. Ad esempio, seleziona [Lavora con Python](https://docs.aws.amazon.com/lambda/latest/dg/lambda-python.html) per saperne di più sull'utilizzo di Lambda con AWS SDK per Python (Boto3).

*Ground Truth fornisce modelli di pre-annotazione e post-annotazione tramite una ricetta AWS Serverless Application Repository (SAR).* Segui questa procedura per selezionare la ricetta Ground Truth nella console Lambda.

**Usa la ricetta SAR di Ground Truth per creare funzioni Lambda di pre-annotazione e post-annotazione:**

1. Apri la [pagina **Funzioni**](https://console.aws.amazon.com/lambda/home#/functions) nella console Lambda.

1. Seleziona **Crea funzione**.

1. Seleziona **Sfoglia il repository di app serverless**.

1. Nella casella di testo di ricerca, inserisci **aws-sagemaker-ground-truth-recipe** e seleziona l'app.

1. Seleziona **Implementa**. L'implementazione dell'app potrebbe richiedere un paio di minuti. 

   Una volta implementata l'app, nella sezione **Funzioni** della console Lambda vengono visualizzate due funzioni: `serverlessrepo-aws-sagema-GtRecipePreHumanTaskFunc-<id>` e `serverlessrepo-aws-sagema-GtRecipeAnnotationConsol-<id>`. 

1. Seleziona una di queste funzioni e aggiungi la tua logica personalizzata nella sezione **Codice**.

1. Quando hai finito di apportare modifiche, seleziona **Implementa** per implementarle.

# Testare le funzioni Lambda di pre-annotazione e post-annotazione
<a name="sms-custom-templates-step3-lambda-test"></a>

Puoi testare le funzioni Lambda di pre-annotazione e post-annotazione nella console Lambda. Se sei un nuovo utente di Lambda, puoi scoprire come testare o *richiamare* le funzioni Lambda nella console consultando il tutorial [Crea una funzione Lambda](https://docs.aws.amazon.com/lambda/latest/dg/getting-started-create-function.html#gettingstarted-zip-function) con la console nella Guida per sviluppatori AWS Lambda . Puoi utilizzare le sezioni di questa pagina per imparare a testare i modelli di pre-annotazione e post-annotazione di Ground Truth forniti tramite un AWS Serverless Application Repository (SAR). 

**Topics**
+ [Prerequisiti](#sms-custom-templates-step3-lambda-test-pre)
+ [Testa la funzione Lambda di pre-annotazione](#sms-custom-templates-step3-lambda-test-pre-annotation)
+ [Test della funzione Lambda di post-annotazione](#sms-custom-templates-step3-lambda-test-post-annotation)

## Prerequisiti
<a name="sms-custom-templates-step3-lambda-test-pre"></a>

È necessario effettuare le seguenti operazioni per effettuare i test descritti in questa pagina.
+ È necessario accedere alla console Lambda e sono necessaire le autorizzazioni per creare e richiamare le funzioni Lambda. Per scoprire come configurare queste autorizzazioni, consulta [Concedi l'autorizzazione a creare e selezionare una funzione AWS Lambda](sms-custom-templates-step3-lambda-permissions.md#sms-custom-templates-step3-postlambda-create-perms).
+ Se non hai implementato la ricetta SAR di Ground Truth, segui la procedura descritta in [Creare funzioni Lambda utilizzando i modelli Ground Truth](sms-custom-templates-step3-lambda-create.md) per farlo.
+ Per testare la funzione Lambda post-annotazione, è necessario disporre di un file di dati in Amazon S3 con dati di annotazione di esempio. Per un semplice test, puoi copiare e incollare il seguente codice in un file, salvarlo come `sample-annotations.json` e [caricare il file su Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html). Prendi nota dell'URI S3 di questo file: hai bisogno di queste informazioni per configurare il test Lambda post-annotazione.

  ```
  [{"datasetObjectId":"0","dataObject":{"content":"To train a machine learning model, you need a large, high-quality, labeled dataset. Ground Truth helps you build high-quality training datasets for your machine learning models."},"annotations":[{"workerId":"private.us-west-2.0123456789","annotationData":{"content":"{\"crowd-entity-annotation\":{\"entities\":[{\"endOffset\":8,\"label\":\"verb\",\"startOffset\":3},{\"endOffset\":27,\"label\":\"adjective\",\"startOffset\":11},{\"endOffset\":33,\"label\":\"object\",\"startOffset\":28},{\"endOffset\":51,\"label\":\"adjective\",\"startOffset\":46},{\"endOffset\":65,\"label\":\"adjective\",\"startOffset\":53},{\"endOffset\":74,\"label\":\"adjective\",\"startOffset\":67},{\"endOffset\":82,\"label\":\"adjective\",\"startOffset\":75},{\"endOffset\":102,\"label\":\"verb\",\"startOffset\":97},{\"endOffset\":112,\"label\":\"verb\",\"startOffset\":107},{\"endOffset\":125,\"label\":\"adjective\",\"startOffset\":113},{\"endOffset\":134,\"label\":\"adjective\",\"startOffset\":126},{\"endOffset\":143,\"label\":\"object\",\"startOffset\":135},{\"endOffset\":169,\"label\":\"adjective\",\"startOffset\":153},{\"endOffset\":176,\"label\":\"object\",\"startOffset\":170}]}}"}}]},{"datasetObjectId":"1","dataObject":{"content":"Sift 3 cups of flour into the bowl."},"annotations":[{"workerId":"private.us-west-2.0123456789","annotationData":{"content":"{\"crowd-entity-annotation\":{\"entities\":[{\"endOffset\":4,\"label\":\"verb\",\"startOffset\":0},{\"endOffset\":6,\"label\":\"number\",\"startOffset\":5},{\"endOffset\":20,\"label\":\"object\",\"startOffset\":15},{\"endOffset\":34,\"label\":\"object\",\"startOffset\":30}]}}"}}]},{"datasetObjectId":"2","dataObject":{"content":"Jen purchased 10 shares of the stock on Janurary 1st, 2020."},"annotations":[{"workerId":"private.us-west-2.0123456789","annotationData":{"content":"{\"crowd-entity-annotation\":{\"entities\":[{\"endOffset\":3,\"label\":\"person\",\"startOffset\":0},{\"endOffset\":13,\"label\":\"verb\",\"startOffset\":4},{\"endOffset\":16,\"label\":\"number\",\"startOffset\":14},{\"endOffset\":58,\"label\":\"date\",\"startOffset\":40}]}}"}}]},{"datasetObjectId":"3","dataObject":{"content":"The narrative was interesting, however the character development was weak."},"annotations":[{"workerId":"private.us-west-2.0123456789","annotationData":{"content":"{\"crowd-entity-annotation\":{\"entities\":[{\"endOffset\":29,\"label\":\"adjective\",\"startOffset\":18},{\"endOffset\":73,\"label\":\"adjective\",\"startOffset\":69}]}}"}}]}]
  ```
+ È necessario utilizzare le istruzioni riportate in [Concedi le autorizzazioni Lambda post-annotazione per accedere all'annotazione](sms-custom-templates-step3-lambda-permissions.md#sms-custom-templates-step3-postlambda-perms) per autorizzare il ruolo di esecuzione della funzione Lambda post-annotazione ad assumere il ruolo di esecuzione SageMaker AI utilizzato per creare il lavoro di etichettatura. La funzione Lambda post-annotazione utilizza il ruolo di esecuzione SageMaker AI per accedere al file di dati di annotazione, in S3. `sample-annotations.json`



## Testa la funzione Lambda di pre-annotazione
<a name="sms-custom-templates-step3-lambda-test-pre-annotation"></a>

Usa la seguente procedura per testare la funzione Lambda di pre-annotazione creata quando hai distribuito la ricetta Ground AWS Serverless Application Repository Truth (SAR). 

**Test della funzione Lambda di pre-annotazione della ricetta SAR di Ground Truth**

1. Apri la [pagina **Funzioni**](https://console.aws.amazon.com/lambda/home#/functions) nella console Lambda.

1. Seleziona la funzione di pre-annotazione che è stata implementata dalla ricetta SAR di Ground Truth. Il nome di questa funzione è simile a `serverlessrepo-aws-sagema-GtRecipePreHumanTaskFunc-<id>`.

1. Nella sezione **Codice sorgente**, seleziona la freccia accanto a **Test**.

1. Seleziona **Configura evento di test**.

1. Mantieni selezionata l'opzione **Crea nuovo evento di test**.

1. In **Modello di evento**, seleziona **SageMakerGround Truth PreHumanTask**. 

1. Assegna al test un **Nome evento**.

1. Seleziona **Crea**.

1. Seleziona nuovamente la freccia accanto a **Test**. Dovresti notare che il test che hai creato è selezionato e ciò è indicato con un punto accanto al nome dell'evento. Se non è selezionato, selezionalo. 

1. Seleziona **Test** per eseguire il test. 

Dopo aver eseguito il test, puoi vedere i **Risultati di esecuzione**. Nei **Log delle funzioni**, dovresti visualizzare una risposta simile alla seguente:

```
START RequestId: cd117d38-8365-4e1a-bffb-0dcd631a878f Version: $LATEST
Received event: {
  "version": "2018-10-16",
  "labelingJobArn": "arn:aws:sagemaker:us-east-2:123456789012:labeling-job/example-job",
  "dataObject": {
    "source-ref": "s3://sagemakerexample/object_to_annotate.jpg"
  }
}
{'taskInput': {'taskObject': 's3://sagemakerexample/object_to_annotate.jpg'}, 'isHumanAnnotationRequired': 'true'}
END RequestId: cd117d38-8365-4e1a-bffb-0dcd631a878f
REPORT RequestId: cd117d38-8365-4e1a-bffb-0dcd631a878f	Duration: 0.42 ms	Billed Duration: 1 ms	Memory Size: 128 MB	Max Memory Used: 43 MB
```

In questa risposta, possiamo vedere che l'output della funzione Lambda corrisponde alla sintassi di risposta pre-annotazione richiesta:

```
{'taskInput': {'taskObject': 's3://sagemakerexample/object_to_annotate.jpg'}, 'isHumanAnnotationRequired': 'true'}
```

## Test della funzione Lambda di post-annotazione
<a name="sms-custom-templates-step3-lambda-test-post-annotation"></a>

Usa la seguente procedura per testare la funzione Lambda post-annotazione creata quando hai distribuito la ricetta Ground AWS Serverless Application Repository Truth (SAR). 

**Testa della Lambda di post-annotazione della ricetta SAR di Ground Truth**

1. Apri la [pagina **Funzioni**](https://console.aws.amazon.com/lambda/home#/functions) nella console Lambda.

1. Seleziona la funzione di post-annotazione che è stata implementata dalla ricetta SAR di Ground Truth. Il nome di questa funzione è simile a `serverlessrepo-aws-sagema-GtRecipeAnnotationConsol-<id>`.

1. Nella sezione **Codice sorgente**, seleziona la freccia accanto a **Test**.

1. Seleziona **Configura evento di test**.

1. Mantieni selezionata l'opzione **Crea nuovo evento di test**.

1. In **Modello di evento**, seleziona **SageMakerGround Truth AnnotationConsolidation**.

1. Assegna al test un **Nome evento**.

1. Modifica il codice del modello fornito come segue:
   + Sostituisci Amazon Resource Name (ARN) `roleArn` con l'ARN del ruolo di esecuzione SageMaker AI che hai usato per creare il processo di etichettatura.
   + Sostituisci l'URI S3 in `s3Uri` con l'URI del file `sample-annotations.json` che hai aggiunto ad Amazon S3.

   Dopo aver apportato queste modifiche, il test dovrebbe essere simile al seguente:

   ```
   {
     "version": "2018-10-16",
     "labelingJobArn": "arn:aws:sagemaker:us-east-2:123456789012:labeling-job/example-job",
     "labelAttributeName": "example-attribute",
     "roleArn": "arn:aws:iam::222222222222:role/sm-execution-role",
     "payload": {
       "s3Uri": "s3://your-bucket/sample-annotations.json"
     }
   }
   ```

1. Seleziona **Crea**.

1. Seleziona nuovamente la freccia accanto a **Test**. Dovresti notare che il test che hai creato è selezionato e ciò è indicato con un punto accanto al nome dell'evento. Se non è selezionato, selezionalo. 

1. Seleziona **Test** per eseguire il test. 

Dopo aver eseguito il test, dovresti visualizzare una sezione `-- Consolidated Output --` nei **Log delle funzioni**, che contiene un elenco di tutte le annotazioni incluse in `sample-annotations.json`.

# Modello demo: annotazione di immagini con `crowd-bounding-box`
<a name="sms-custom-templates-step2-demo1"></a>

Quando scegli di utilizzare un modello personalizzato come tipo di attività nella console Amazon SageMaker Ground Truth, accedi al **pannello attività Etichettatura personalizzata**. in cui puoi scegliere tra più modelli di base. I modelli rappresentano alcune delle attività più comuni e forniscono un punto di partenza per la creazione di un modello di attività di etichettatura personalizzata. Se non utilizzi la console o come risorsa aggiuntiva, consulta [Amazon SageMaker AI Ground Truth Sample Task UIs ](https://github.com/aws-samples/amazon-sagemaker-ground-truth-task-uis) per un archivio di modelli dimostrativi per una varietà di tipi di attività di etichettatura.

Questa dimostrazione funziona con il modello. **BoundingBox** La dimostrazione funziona anche con le AWS Lambda funzioni necessarie per l'elaborazione dei dati prima e dopo l'operazione. Nel repository Github riportato sopra, per trovare modelli che funzionano con AWS Lambda le funzioni, `{{ task.input.<property name> }}` cercate nel modello.

**Topics**
+ [Modello Riquadro di delimitazione personalizzato iniziale](#sms-custom-templates-step2-demo1-base-template)
+ [Modello Riquadro di delimitazione personalizzato](#sms-custom-templates-step2-demo1-your-own-template)
+ [Il file manifest](#sms-custom-templates-step2-demo1-manifest)
+ [La tua funzione Lambda di pre-annotazione](#sms-custom-templates-step2-demo1-pre-annotation)
+ [La tua funzione Lambda di post-annotazione](#sms-custom-templates-step2-demo1-post-annotation)
+ [Output del processo di etichettatura](#sms-custom-templates-step2-demo1-job-output)

## Modello Riquadro di delimitazione personalizzato iniziale
<a name="sms-custom-templates-step2-demo1-base-template"></a>

Di seguito è riportato il modello di riquadro di delimitazione iniziale fornito.

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-form>
  <crowd-bounding-box
    name="boundingBox"
    src="{{ task.input.taskObject | grant_read_access }}"
    header="{{ task.input.header }}"
    labels="{{ task.input.labels | to_json | escape }}"
  >

    <!-- The <full-instructions> tag is where you will define the full instructions of your task. -->
    <full-instructions header="Bounding Box Instructions" >
      <p>Use the bounding box tool to draw boxes around the requested target of interest:</p>
      <ol>
        <li>Draw a rectangle using your mouse over each instance of the target.</li>
        <li>Make sure the box does not cut into the target, leave a 2 - 3 pixel margin</li>
        <li>
          When targets are overlapping, draw a box around each object,
          include all contiguous parts of the target in the box.
          Do not include parts that are completely overlapped by another object.
        </li>
        <li>
          Do not include parts of the target that cannot be seen,
          even though you think you can interpolate the whole shape of the target.
        </li>
        <li>Avoid shadows, they're not considered as a part of the target.</li>
        <li>If the target goes off the screen, label up to the edge of the image.</li>
      </ol>
    </full-instructions>

    <!-- The <short-instructions> tag allows you to specify instructions that are displayed in the left hand side of the task interface.
    It is a best practice to provide good and bad examples in this section for quick reference. -->
    <short-instructions>
      Use the bounding box tool to draw boxes around the requested target of interest.
    </short-instructions>
  </crowd-bounding-box>
</crowd-form>
```

I modelli personalizzati utilizzano il [linguaggio modello Liquid](https://shopify.github.io/liquid/) e ciascuno degli elementi tra parentesi graffe doppie è una variabile. La AWS Lambda funzione di pre-annotazione dovrebbe fornire un oggetto denominato `taskInput` e le proprietà di quell'oggetto sono accessibili come nel modello. `{{ task.input.<property name> }}`

## Modello Riquadro di delimitazione personalizzato
<a name="sms-custom-templates-step2-demo1-your-own-template"></a>

Ad esempio, supponiamo che tu abbia una grande raccolta di foto di animali in cui conosci il tipo di animale presente in un'immagine da un precedente processo di classificazione delle immagini. A questo punto vuoi tracciare un riquadro di delimitazione.

Nell'esempio iniziale sono disponibili tre variabili: `taskObject`, `header` e `labels`.

Ciascuna di queste sarà rappresentata in parti diverse del riquadro di delimitazione.
+ `taskObject` è un URL HTTP(S) o URI S3 per la foto che deve essere annotata. Il `| grant_read_access` aggiunto è un filtro che convertirà un URI S3 in un URL HTTPS con accesso di breve durata a tale risorsa. Se stai utilizzando un URL HTTP(S), non è necessario.
+ `header` è il testo sopra la foto da etichettare, ad esempio "Disegnare una casella attorno al volatile nella foto."
+ `labels` è un array, rappresentato come `['item1', 'item2', ...]`. Si tratta di etichette che possono essere assegnate dal worker alle diverse caselle che vengono disegnate. Ce ne può essere solo una o molte.

Ciascuno dei nomi di variabile proviene dall'oggetto JSON nella risposta del Lambda di pre-annotazione. I nomi riportati sopra sono semplici suggerimenti. Utilizza i nomi di variabile che ti sembrano più adatti per migliorare la leggibilità del codice all'interno del team.

**Utilizza le variabili solo quando necessario**  
Se un campo non cambia, puoi rimuovere la variabile dal modello e sostituirla con il testo, altrimenti dovrai ripetere il testo come valore in ogni oggetto nel manifest o codificarlo nella funzione Lambda di pre-annotazione.

**Example : Modello Riquadro di delimitazione personalizzato finale**  
Per semplificare la procedura, questo modello includerà una variabile, un'etichetta e istruzioni di base. Supponendo che il manifest includa una proprietà "animal" in ogni oggetto dati, quel valore può essere riutilizzato in due parti del modello.  

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
<crowd-form>
  <crowd-bounding-box
    name="boundingBox"
    labels="[ '{{ task.input.animal }}' ]"
    src="{{ task.input.source-ref | grant_read_access }}"
    header="Draw a box around the {{ task.input.animal }}."
  >
    <full-instructions header="Bounding Box Instructions" >
      <p>Draw a bounding box around the {{ task.input.animal }} in the image. If 
      there is more than one {{ task.input.animal }} per image, draw a bounding 
      box around the largest one.</p>
      <p>The box should be tight around the {{ task.input.animal }} with 
      no more than a couple of pixels of buffer around the 
      edges.</p>
      <p>If the image does not contain a {{ task.input.animal }}, check the <strong>
      Nothing to label</strong> box.
    </full-instructions>
    <short-instructions>
      <p>Draw a bounding box around the {{ task.input.animal }} in each image. If 
      there is more than one {{ task.input.animal }} per image, draw a bounding 
      box around the largest one.</p>
    </short-instructions>
  </crowd-bounding-box>
</crowd-form>
```
Nota il riutilizzo di `{{ task.input.animal }}` in tutto il modello. Se nel manifest tutti i nomi di animale iniziavano con una lettera maiuscola, puoi utilizzare `{{ task.input.animal | downcase }}`, incorporando uno dei filtri Liquid predefiniti nelle frasi in cui devono essere visualizzati in minuscolo.

## Il file manifest
<a name="sms-custom-templates-step2-demo1-manifest"></a>

Il file manifest deve fornire i valori delle variabili che stai utilizzando nel modello. Puoi eseguire alcune trasformazioni dei dati manifest nella Lambda di pre-annotazione, ma se non è necessario puoi mantenere basso il rischio di errori e la Lambda verrà eseguita più rapidamente. Di seguito è riportato un file manifest di esempio per il modello.

```
{"source-ref": "<S3 image URI>", "animal": "horse"}
{"source-ref": "<S3 image URI>", "animal" : "bird"}
{"source-ref": "<S3 image URI>", "animal" : "dog"}
{"source-ref": "<S3 image URI>", "animal" : "cat"}
```

## La tua funzione Lambda di pre-annotazione
<a name="sms-custom-templates-step2-demo1-pre-annotation"></a>

Come parte della configurazione del lavoro, fornite l'ARN di AWS Lambda una funzione che può essere chiamata per elaborare le voci del manifesto e passarle al motore dei modelli.

**Attribuzione di un nome alla funzione Lambda**  
Le best practice per la denominazione della funzione prevedono l'utilizzo di una delle quattro stringhe seguenti come parte del nome della funzione: `SageMaker`, `Sagemaker`, `sagemaker` o `LabelingFunction`. Questo vale per le funzioni sia di pre-annotazione che di post-annotazione.

Quando utilizzi la console, se disponi di funzioni AWS Lambda di proprietà del tuo account, verrà fornito un elenco a discesa di funzioni che soddisfano i requisiti di denominazione tra cui sceglierne una.

In questo esempio di base, passi informazioni al manifest senza ulteriori attività di elaborazione. Questo esempio di funzione di pre-annotazione è scritto per Python 3.7.

```
import json

def lambda_handler(event, context):
    return {
        "taskInput": event['dataObject']
    }
```

L'oggetto JSON del manifest verrà fornito come figlio dell'oggetto `event`. Le proprietà all'interno dell'oggetto `taskInput` saranno disponibili come variabili per il modello, perciò è sufficiente impostare il valore `taskInput` su `event['dataObject']` per passare tutti i valori dal tuo oggetto manifest al tuo modello senza doverli copiare uno a uno. Se vuoi inviare altri valori al modello, puoi aggiungerli all'oggetto `taskInput`.

## La tua funzione Lambda di post-annotazione
<a name="sms-custom-templates-step2-demo1-post-annotation"></a>

Come parte della configurazione del lavoro, fornite l'ARN di AWS Lambda una funzione che può essere chiamata per elaborare i dati del modulo quando un lavoratore completa un'attività. Questo può essere semplice o complesso quanto vuoi. Se desideri eseguire il consolidamento delle risposte e il punteggio non appena disponibili, puoi applicare gli algoritmi di consolidamento del punteggio che and/or preferisci. Se desideri archiviare i dati non elaborati per l’elaborazione offline, puoi farlo.

**Fornire autorizzazioni alla Lambda di pre-annotazione**  
I dati di annotazione saranno contenuti in un file designato dalla stringa `s3Uri` nell’oggetto `payload`. Per elaborare le annotazioni quando arrivano, anche per una semplice funzione passthrough, occorre assegnare l’accesso `S3ReadOnly` alla Lambda, in modo che possa leggere i file di annotazione.  
Nella pagina Console di creazione della Lambda, scorri fino al pannello **Execution role (Ruolo esecuzione)**. Seleziona **Create a new role from one or more templates (Crea un nuovo ruolo da uno o più modelli)**. Assegna un nome al ruolo. Dal menu a discesa **Policy templates (Modelli policy)**, scegli **Amazon S3 object read-only permissions (Autorizzazioni di sola lettura oggetto Amazon S3)**. Salva la Lambda; il ruolo verrà salvato e selezionato.

L'esempio seguente è in Python 2.7.

```
import json
import boto3
from urlparse import urlparse

def lambda_handler(event, context):
    consolidated_labels = []

    parsed_url = urlparse(event['payload']['s3Uri']);
    s3 = boto3.client('s3')
    textFile = s3.get_object(Bucket = parsed_url.netloc, Key = parsed_url.path[1:])
    filecont = textFile['Body'].read()
    annotations = json.loads(filecont);
    
    for dataset in annotations:
        for annotation in dataset['annotations']:
            new_annotation = json.loads(annotation['annotationData']['content'])
            label = {
                'datasetObjectId': dataset['datasetObjectId'],
                'consolidatedAnnotation' : {
                'content': {
                    event['labelAttributeName']: {
                        'workerId': annotation['workerId'],
                        'boxesInfo': new_annotation,
                        'imageSource': dataset['dataObject']
                        }
                    }
                }
            }
            consolidated_labels.append(label)
    
    return consolidated_labels
```

La Lambda di post-annotazione riceverà spesso batch di risultati dell’attività nell’oggetto evento. Questo batch sarà l’oggetto `payload` in cui Lambda esegue le iterazioni. Ciò che viene restituito sarà un oggetto che soddisfa il [contratto API](sms-custom-templates-step3.md).

## Output del processo di etichettatura
<a name="sms-custom-templates-step2-demo1-job-output"></a>

L’output del processo è disponibile in una cartella denominata in base al processo di etichettatura nel bucket S3 di destinazione specificato, all’interno di una sottocartella denominata `manifests`.

Per un'attività riquadro di delimitazione, l'aspetto dell'output disponibile nel manifest di output sarà simile alla demo sottostante. L'esempio è stato pulito per la stampa. L'output effettivo sarà una riga singola per record.

**Example : JSON nel manifest di output**  

```
{
  "source-ref":"<URL>",
  "<label attribute name>":
    {
       "workerId":"<URL>",
       "imageSource":"<image URL>",
       "boxesInfo":"{\"boundingBox\":{\"boundingBoxes\":[{\"height\":878, \"label\":\"bird\", \"left\":208, \"top\":6, \"width\":809}], \"inputImageProperties\":{\"height\":924, \"width\":1280}}}"},
  "<label attribute name>-metadata":
    {
      "type":"groundTruth/custom",
      "job_name":"<Labeling job name>",
      "human-annotated":"yes"
    },
  "animal" : "bird"
}
```
Nota che l'attributo `animal` aggiuntivo dal tuo manifest originale viene passato al manifest di output allo stesso livello di `source-ref` e dei dati di etichettatura. Tutte le proprietà del manifest di input, indipendentemente dal fatto che siano state utilizzati nel modello o meno, verranno passate al manifest di output.

# Modello demo: intenti di etichettatura con `crowd-classifier`
<a name="sms-custom-templates-step2-demo2"></a>

Se scegli di utilizzare un modello personalizzato, viene visualizzato il pannello **Custom labeling task (Attività di etichettatura personalizzata)**, in cui puoi scegliere tra più modelli iniziali che rappresentano alcune delle attività più comuni e che forniscono un punto di partenza da utilizzare nella creazione del modello di attività di etichettatura personalizzata.

Questa dimostrazione utilizza il modello **Intent Detection (Rilevamento intenti)**, che usa l'elemento `crowd-classifier` e le funzioni AWS Lambda necessarie per l'elaborazione dei dati prima e dopo l'attività.

**Topics**
+ [Modello di rilevamento intenti personalizzato iniziale](#sms-custom-templates-step2-demo2-base-template)
+ [Modello di rilevamento intenti personalizzato](#sms-custom-templates-step2-demo2-your-template)
+ [La tua funzione Lambda di pre-annotazione](#sms-custom-templates-step2-demo2-pre-lambda)
+ [La tua funzione Lambda di post-annotazione](#sms-custom-templates-step2-demo2-post-lambda)
+ [Output del proprio processo di etichettatura](#sms-custom-templates-step2-demo2-job-output)

## Modello di rilevamento intenti personalizzato iniziale
<a name="sms-custom-templates-step2-demo2-base-template"></a>

Questo è il modello di rilevamento intenti fornito come punto di partenza.

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-form>
  <crowd-classifier
    name="intent"
    categories="{{ task.input.labels | to_json | escape }}"
    header="Pick the most relevant intention expressed by the below text"
  >
    <classification-target>
      {{ task.input.utterance }}
    </classification-target>
    
    <full-instructions header="Intent Detection Instructions">
        <p>Select the most relevant intention expressed by the text.</p>
        <div>
           <p><strong>Example: </strong>I would like to return a pair of shoes</p>
           <p><strong>Intent: </strong>Return</p>
        </div>
    </full-instructions>

    <short-instructions>
      Pick the most relevant intention expressed by the text
    </short-instructions>
  </crowd-classifier>
</crowd-form>
```

I modelli personalizzati utilizzano il [linguaggio modello Liquid](https://shopify.github.io/liquid/) e ciascuno degli elementi tra parentesi graffe doppie è una variabile. La funzione AWS Lambda di pre-annotazione dovrebbe fornire un oggetto denominato `taskInput` e le proprietà di quell'oggetto sono accessibili come nel `{{ task.input.<property name> }}` modello.

## Modello di rilevamento intenti personalizzato
<a name="sms-custom-templates-step2-demo2-your-template"></a>

Nel modello iniziale sono presenti due variabili: la proprietà `task.input.labels` nel tag di apertura dell'elemento `crowd-classifier` e `task.input.utterance` nel contenuto della Regione `classification-target`.

A meno che non sia necessario offrire diversi set di etichette con diverse enunciazioni, evitare una variabile e utilizzare solo testo consente di risparmiare tempo di elaborazione e ridurre la possibilità di errore. Il modello utilizzato in questa dimostrazione rimuoverà tale variabile, ma variabili e filtri come `to_json` sono descritti in maggiore dettaglio nell'articolo relativo alla [dimostrazione `crowd-bounding-box`]().

### Definizione dello stile degli elementi
<a name="sms-custom-templates-step2-demo2-instructions"></a>

Due parti di questi elementi personalizzati che a volte vengono trascurati sono le Regioni `<full-instructions>` e `<short-instructions>`. Buone istruzioni generano buoni risultati.

Negli elementi che includono queste Regioni, `<short-instructions>` viene visualizzato automaticamente nel riquadro "Instructions" (Istruzioni) a sinistra della schermata del worker. Le `<full-instructions>` sono collegate dal collegamento "View full instructions" (Visualizza istruzioni complete) nella parte superiore del riquadro. Facendo clic sul collegamento viene visualizzata una finestra modale con più istruzioni dettagliate.

Non potete usare solo HTML e CSS, e JavaScript in queste sezioni siete incoraggiati a farlo se ritenete di poter fornire una serie completa di istruzioni ed esempi che aiuteranno i lavoratori a completare le vostre attività con maggiore velocità e precisione. 

**Example Prova un esempio con JSFiddle**  
[https://jsfiddle.net/MTGT_Fiddle_Manager/bjc0y1vd/35/](https://jsfiddle.net/MTGT_Fiddle_Manager/bjc0y1vd/35/)  
 Prova un'[attività `<crowd-classifier>` di esempio](https://jsfiddle.net/MTGT_Fiddle_Manager/bjc0y1vd/35/). L'esempio è reso da JSFiddle, quindi tutte le variabili del modello vengono sostituite con valori codificati. Fai clic sul collegamento "View full instructions" (Visualizza istruzioni complete) per visualizzare un set di esempi con stile CSS esteso. Potete eseguire un fork del progetto per sperimentare le vostre modifiche al CSS, aggiungere immagini di esempio o aggiungere funzionalità estese. JavaScript 

**Example : modello di rilevamento intenti personalizzato finale**  
Questo utilizza l'[attività `<crowd-classifier>` di esempio](https://jsfiddle.net/MTGT_Fiddle_Manager/bjc0y1vd/35/), ma con una variabile per il `<classification-target>`. Se cerchi di mantenere un design CSS uniforme tra una serie di processi di etichettatura diversi, puoi includere un foglio di stile esterno utilizzando un elemento `<link rel...>` così come faresti in qualsiasi altro documento HTML.  

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-form>
  <crowd-classifier
    name="intent"
    categories="['buy', 'eat', 'watch', 'browse', 'leave']"
    header="Pick the most relevant intent expressed by the text below"
  >
    <classification-target>
      {{ task.input.source }}
    </classification-target>
    
    <full-instructions header="Emotion Classification Instructions">
      <p>In the statements and questions provided in this exercise, what category of action is the speaker interested in doing?</p>
          <table>
            <tr>
              <th>Example Utterance</th>
              <th>Good Choice</th>
            </tr>
            <tr>
              <td>When is the Seahawks game on?</td>
              <td>
                eat<br>
                <greenbg>watch</greenbg>
                <botchoice>browse</botchoice>
              </td>
            </tr>
            <tr>
              <th>Example Utterance</th>
              <th>Bad Choice</th>
            </tr>
            <tr>
              <td>When is the Seahawks game on?</td>
              <td>
                buy<br>
                <greenbg>eat</greenbg>
                <botchoice>watch</botchoice>
              </td>
            </tr>
          </table>
    </full-instructions>

    <short-instructions>
      What is the speaker expressing they would like to do next?
    </short-instructions>  
  </crowd-classifier>
</crowd-form>
<style>
  greenbg {
    background: #feee23;
    display: block;
  }

  table {
    *border-collapse: collapse; /* IE7 and lower */
    border-spacing: 0; 
  }

  th, tfoot, .fakehead {
    background-color: #8888ee;
    color: #f3f3f3;
    font-weight: 700;
  }

  th, td, tfoot {
      border: 1px solid blue;
  }

  th:first-child {
    border-radius: 6px 0 0 0;
  }

  th:last-child {
    border-radius: 0 6px 0 0;
  }

  th:only-child{
    border-radius: 6px 6px 0 0;
  }

  tfoot:first-child {
    border-radius: 0 0 6px 0;
  }

  tfoot:last-child {
    border-radius: 0 0 0 6px;
  }

  tfoot:only-child{
    border-radius: 6px 6px;
  }

  td {
    padding-left: 15px ;
    padding-right: 15px ;
  }

  botchoice {
    display: block;
    height: 17px;
    width: 490px;
    overflow: hidden;
    position: relative;
    background: #fff;
    padding-bottom: 20px;
  }

  botchoice:after {
    position: absolute;
    bottom: 0;
    left: 0;  
    height: 100%;
    width: 100%;
    content: "";
    background: linear-gradient(to top,
       rgba(255,255,255, 1) 55%, 
       rgba(255,255,255, 0) 100%
    );
    pointer-events: none; /* so the text is still selectable */
  }
</style>
```

**Example : il file manifest**  
Se stai preparando il file manifest manualmente per un'attività di classificazione di testo come questa, i dati sono formattati nel modo seguente:  

```
{"source": "Roses are red"}
{"source": "Violets are Blue"}
{"source": "Ground Truth is the best"}
{"source": "And so are you"}
```

Questo si differenzia dal file manifest utilizzato per la dimostrazione [Modello demo: annotazione di immagini con `crowd-bounding-box`](sms-custom-templates-step2-demo1.md) in quanto `source-ref` è stato utilizzato come nome di proprietà anziché `source`. L'uso di `source-ref` designa S3 URIs per immagini o altri file che devono essere convertiti in HTTP. In caso contrario, `source` deve essere utilizzato così com'è con le stringhe di testo precedenti.

## La tua funzione Lambda di pre-annotazione
<a name="sms-custom-templates-step2-demo2-pre-lambda"></a>

Come parte della configurazione del lavoro, fornisci l'ARN di AWS Lambda un file che può essere chiamato per elaborare le voci del manifesto e passarle al motore dei modelli. 

Questa funzione Lambda deve avere una delle quattro stringhe seguenti come parte del nome funzione: `SageMaker`, `Sagemaker`, `sagemaker` o `LabelingFunction`.

Questo vale per le funzioni Lambda sia di pre-annotazione che di post-annotazione.

Quando utilizzi la console, se disponi di Lambda di proprietà del tuo account, verrà mostrato un elenco a discesa di funzioni che soddisfano i requisiti di denominazione tra cui scegliere.

In questo esempio di base, dove è disponibile una sola variabile, si tratta principalmente di una funzione pass-through. Di seguito è riportata una Lambda di pre-etichettatura che utilizza Python 3.7.

```
import json

def lambda_handler(event, context):
    return {
        "taskInput":  event['dataObject']
    }
```

La proprietà `dataObject` di `event` contiene le proprietà da un oggetto dati nel manifest.

In questa dimostrazione, che è un semplice passthrough, la passi direttamente come valore `taskInput`. Se aggiungi proprietà con tali valori all'oggetto `event['dataObject']`, saranno disponibili per il modello HTML come variabili Liquid con il formato `{{ task.input.<property name> }}`.

## La tua funzione Lambda di post-annotazione
<a name="sms-custom-templates-step2-demo2-post-lambda"></a>

Durante la configurazione del processo, specifica l'ARN di una funzione Lambda che può essere chiamata per elaborare i dati del modulo quando un worker completa un'attività. Questo può essere semplice o complesso quanto vuoi. Se desideri eseguire consolidamento e punteggio della risposta quando arrivano i dati, puoi applicare gli algoritmi di punteggio o consolidamento da te scelti. Se desideri archiviare i dati non elaborati per l’elaborazione offline, puoi farlo.

**Impostazione delle autorizzazioni per la funzione Lambda di post-annotazione**  
I dati di annotazione saranno contenuti in un file designato dalla stringa `s3Uri` nell’oggetto `payload`. Per elaborare le annotazioni quando arrivano, anche per una semplice funzione passthrough, occorre assegnare l’accesso `S3ReadOnly` alla Lambda, in modo che possa leggere i file di annotazione.  
Nella pagina Console di creazione della Lambda, scorri fino al pannello **Execution role (Ruolo esecuzione)**. Seleziona **Create a new role from one or more templates (Crea un nuovo ruolo da uno o più modelli)**. Assegna un nome al ruolo. Dal menu a discesa **Policy templates (Modelli policy)**, scegli **Amazon S3 object read-only permissions (Autorizzazioni di sola lettura oggetto Amazon S3)**. Salva la Lambda; il ruolo verrà salvato e selezionato.

L'esempio seguente è per Python 3.7.

```
import json
import boto3
from urllib.parse import urlparse

def lambda_handler(event, context):
    consolidated_labels = []

    parsed_url = urlparse(event['payload']['s3Uri']);
    s3 = boto3.client('s3')
    textFile = s3.get_object(Bucket = parsed_url.netloc, Key = parsed_url.path[1:])
    filecont = textFile['Body'].read()
    annotations = json.loads(filecont);
    
    for dataset in annotations:
        for annotation in dataset['annotations']:
            new_annotation = json.loads(annotation['annotationData']['content'])
            label = {
                'datasetObjectId': dataset['datasetObjectId'],
                'consolidatedAnnotation' : {
                'content': {
                    event['labelAttributeName']: {
                        'workerId': annotation['workerId'],
                        'result': new_annotation,
                        'labeledContent': dataset['dataObject']
                        }
                    }
                }
            }
            consolidated_labels.append(label)

    return consolidated_labels
```

## Output del proprio processo di etichettatura
<a name="sms-custom-templates-step2-demo2-job-output"></a>

La Lambda di post-annotazione riceverà spesso batch di risultati dell’attività nell’oggetto evento. Questo batch sarà l’oggetto `payload` in cui Lambda esegue le iterazioni.

L’output del processo è disponibile in una cartella denominata in base al processo di etichettatura nel bucket S3 di destinazione specificato, all’interno di una sottocartella denominata `manifests`.

Per un'attività di rilevamento intenti, l'aspetto dell'output disponibile nel manifest di output sarà simile alla demo sottostante. L'esempio è stato ripulito e distanziato per facilitarne la lettura. L'output effettivo sarà più compresso per macchine per la lettura macchina.

**Example : JSON nel manifest di output**  

```
[
  {
    "datasetObjectId":"<Number representing item's place in the manifest>",
     "consolidatedAnnotation":
     {
       "content":
       {
         "<name of labeling job>":
         {     
           "workerId":"private.us-east-1.XXXXXXXXXXXXXXXXXXXXXX",
           "result":
           {
             "intent":
             {
                 "label":"<label chosen by worker>"
             }
           },
           "labeledContent":
           {
             "content":"<text content that was labeled>"
           }
         }
       }
     }
   },
  "datasetObjectId":"<Number representing item's place in the manifest>",
     "consolidatedAnnotation":
     {
       "content":
       {
         "<name of labeling job>":
         {     
           "workerId":"private.us-east-1.6UDLPKQZHYWJQSCA4MBJBB7FWE",
           "result":
           {
             "intent":
             {
                 "label": "<label chosen by worker>"
             }
           },
           "labeledContent":
           {
             "content": "<text content that was labeled>"
           }
         }
       }
     }
   },
     ...
     ...
     ...
]
```

Questo dovrebbe aiutarti a creare e utilizzare il tuo modello personalizzato.

# Creare un flusso di lavoro personalizzato mediante l’API
<a name="sms-custom-templates-step4"></a>

Quando hai creato il modello di interfaccia utente personalizzato (fase 2) e le funzioni Lambda di elaborazione (fase 3), dovresti inserire il modello in un bucket Amazon S3 con un nome file nel formato: `<FileName>.liquid.html`. Usa l'azione [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html) per configurare l'attività. Potrai utilizzare la posizione di un modello personalizzato ([Creazione di un modello di attività del worker personalizzato](sms-custom-templates-step2.md)) archiviato in un file `<filename>.liquid.html` in S3 come valore del campo `UiTemplateS3Uri` nell'oggetto [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UiConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UiConfig.html) all'interno dell'oggetto [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html).

Per le attività AWS Lambda descritte in[Elaborazione dei dati in un flusso di lavoro di etichettatura personalizzato con AWS Lambda](sms-custom-templates-step3.md), l'ARN dell'attività di post-annotazione verrà utilizzato come valore per il `AnnotationConsolidationLambdaArn` campo e l'attività di pre-annotazione verrà utilizzata come valore per `PreHumanTaskLambdaArn.` 

# Creazione di un processo di etichettatura
<a name="sms-create-labeling-job"></a>

Puoi creare un processo di etichettatura nella console Amazon SageMaker AI e utilizzando un AWS SDK nella tua lingua preferita per l'esecuzione. `CreateLabelingJob` Dopo aver creato un lavoro di etichettatura, è possibile tenere traccia dei parametri dei lavoratori (per la forza lavoro privata) e dello stato del processo di etichettatura utilizzando [CloudWatch](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-monitor-cloud-watch.html).

Prima di creare un processo di etichettatura, si consiglia di consultare le seguenti pagine, a seconda dei casi:
+ È possibile specificare i dati di input utilizzando una configurazione automatica dei dati nella console o un file manifest di input nella console o quando si utilizza l'API `CreateLabelingJob`. Per la configurazione automatica dei dati, consulta [Automatizzare la configurazione dei dati per i processi di etichettatura](sms-console-create-manifest-file.md). Per informazioni su come creare un file manifest di input, consulta [File di manifesto di input](sms-input-data-input-manifest.md).
+ Revisione dell'etichettatura delle quote di dati di input del processo: [Quote dei dati di input](input-data-limits.md).

Dopo aver scelto il tipo di task, utilizza gli argomenti di questa pagina per scoprire come creare un processo di etichettatura.

Se sei un nuovo utente Ground Truth, ti consigliamo di iniziare a utilizzare la demo in [Nozioni di base: crea un processo di etichettatura dei riquadri delimitatori con Ground Truth](sms-getting-started.md).

**Importante**  
Ground Truth richiede che tutti i bucket S3 che contengono dati di immagine di input del processo di etichettatura abbiano una policy CORS collegata. Per ulteriori informazioni, consulta [Requisito CORS per i dati delle immagini di input](sms-cors-update.md).

**Topics**
+ [Tipi di attività integrati](sms-task-types.md)
+ [Creare pagine di istruzioni](sms-creating-instruction-pages.md)
+ [Creare un processo di etichettatura (console)](sms-create-labeling-job-console.md)
+ [Creare un processo di etichettatura (API)](sms-create-labeling-job-api.md)
+ [Creare un processo di etichettatura in streaming](sms-streaming-create-job.md)
+ [File di configurazione delle categoria di etichettatura con riferimento alle categorie di etichette e agli attributi dei frame](sms-label-cat-config-attributes.md)

# Tipi di attività integrati
<a name="sms-task-types"></a>

Amazon SageMaker Ground Truth include diversi tipi di attività predefiniti. Ground Truth fornisce un modello di attività del worker per tipi di attività predefiniti. Inoltre, alcuni tipi di attività predefiniti supportano [Automatizzare l’etichettatura dei dati](sms-automated-labeling.md). Negli argomenti seguenti viene descritto ogni tipo di attività integrata e vengono illustrati i modelli di attività del worker forniti da nella console Ground Truth. Per informazioni su come creare un processo di etichettatura nella console utilizzando uno di questi tipi di attività, seleziona la pagina relativa al tipo di attività.


****  

| Etichettatura delle immagini | Etichettatura del testo | Video di etichette e fotogrammi video | Etichettatura di nuvole di punti 3D | 
| --- | --- | --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/sms-task-types.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/sms-task-types.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/sms-task-types.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/sms-task-types.html)  | 

**Nota**  
Ciascun tipo di attività relativa ai fotogrammi video e alla nuvola di punti 3D include un tipo di attività di *regolazione* che consente di verificare e modificare le etichette relative a un precedente processo di etichettatura. Seleziona una pagina di attività relativa ai fotogrammi video o alla nuvola di punti 3D qui sopra per scoprire come modificare le etichette create utilizzando quel tipo di attività. 

# Creare pagine di istruzioni
<a name="sms-creating-instruction-pages"></a>

Crea istruzioni personalizzate per processi di etichettatura per migliorare la precisione del worker nel completamento dell'attività. Puoi modificare le istruzioni predefinite che vengono fornite nella console o crearne di personalizzate. Le istruzioni vengono mostrate al worker nella pagina di completamento dell'attività di etichettatura.

Sono disponibili due tipi di istruzioni:
+ *Istruzioni brevi*: istruzioni che vengono visualizzate nella stessa pagina Web in cui i worker completano un'attività. Queste istruzioni devono fornire un riferimento semplice per mostrare al worker il modo corretto di etichettare un oggetto.
+ *Istruzioni complete*: istruzioni che vengono visualizzate in una finestra di dialogo che si sovrappone alla pagina in cui i worker completano un'attività. Consigliamo di fornire istruzioni dettagliate per completare l'attività con più esempi che mostrano casi limite e altre situazioni difficili di etichettatura degli oggetti.

Creazione di istruzioni nella console durante la creazione di un processo di etichettatura. Inizia con le istruzioni esistenti per l'attività e utilizza l'editor per adattarle al processo di etichettatura.

**Nota**  
Dopo che è stato creato, il processo di etichettatura verrà avviato automaticamente e non sarà possibile modificare le istruzioni del worker. Se è necessario modificare le istruzioni del worker, interrompi il processo di etichettatura creato, clonalo e modifica le istruzioni del worker prima di creare un nuovo processo.   
Puoi clonare un processo di etichettatura nella console selezionando il processo di etichettatura e scegliendo **Clona** nel menu **Azioni** .   
Per clonare un processo di etichettatura utilizzando l'API Amazon SageMaker o l'SDK Amazon SageMaker preferito, effettua una nuova richiesta all'operazione `CreateLabelingJob` con le stesse specifiche del processo originale dopo aver modificato le istruzioni del worker. 

Per i processi di etichettatura di nuvole di punti 3D e dei fotogrammi video, puoi aggiungere le istruzioni per il worker al file di configurazione della categoria dell’etichetta. Puoi utilizzare una singola stringa per creare le istruzioni oppure aggiungere markup HTML per personalizzare l'aspetto delle istruzioni e aggiungere le immagini. Assicurati che tutte le immagini incluse nelle istruzioni siano disponibili pubblicamente oppure, se le istruzioni sono in Amazon S3, che i worker abbiano accesso in lettura per poterle visualizzare. Per ulteriori informazioni sul file di configurazione delle categorie di etichette, consulta [File di configurazione delle categoria di etichettatura con riferimento alle categorie di etichette e agli attributi dei frame](sms-label-cat-config-attributes.md).

## Istruzioni brevi
<a name="sms-creating-quick-instructions"></a>

Le istruzioni brevi vengono visualizzate nella stessa pagina Web utilizzata dai worker per etichettare gli oggetti dati. Ad esempio, di seguito è riportata la pagina di modifica per un'attività riquadro di delimitazione. Il pannello di istruzioni brevi si trova sulla sinistra.

![\[\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms-instructions-10.png)


Tieni presente che un worker impiega solo pochi secondi per consultare istruzioni brevi. I worker devono essere in grado di analizzare e comprendere le informazioni rapidamente. In ogni caso, il tempo richiesto per comprendere le istruzioni deve essere inferiore a quello richiesto per completare l'attività. Tieni presente i seguenti punti:
+ Le istruzioni devono essere chiare e semplici.
+ Le foto sono meglio delle parole. Crea una semplice illustrazione dell'attività che possa essere compresa immediatamente dai worker.
+ Se devi utilizzare parole, usa esempi brevi e concisi.
+ Le istruzioni brevi sono più importanti delle istruzioni complete.

La console di Amazon SageMaker Ground Truth fornisce un editor per poter creare le istruzioni brevi. Sostituisci il testo segnaposto e le immagini con le istruzioni per l'attività. Visualizza l'anteprima della pagina dell'attività del worker scegliendo **Anteprima**. L'anteprima verrà visualizzata in una nuova finestra; assicurati di disattivare il blocco dei popup in modo che la finestra venga visualizzata.

## Istruzioni complete
<a name="sms-creating-full-instructions"></a>

Puoi fornire istruzioni aggiuntive per i worker in una finestra di dialogo che si sovrappone alla pagina in cui worker etichettano gli oggetti dati. Utilizza le istruzioni complete per spiegare attività più complesse e mostrare ai worker il modo corretto per etichettare casi limite o altri oggetti difficili.

Puoi creare istruzioni complete utilizzando un editor nella console di Ground Truth. Come per le istruzioni rapide, tieni presente quanto segue:
+ I worker desiderano istruzioni dettagliate le prime volte che devono completare l'attività. Le eventuali informazioni che *devono* avere devono trovarsi nelle istruzioni rapide.
+ Le foto sono più importanti delle parole.
+ Il testo deve essere conciso.
+ Le istruzioni complete devono integrare le istruzioni brevi. Non ripetere informazioni visualizzate nelle istruzioni brevi.

La console di Ground Truth fornisce un editor per poter creare le istruzioni complete. Sostituisci il testo segnaposto e le immagini con le istruzioni per l'attività. Visualizza l'anteprima della pagina delle istruzioni complete scegliendo **Anteprima**. L'anteprima verrà visualizzata in una nuova finestra; assicurati di disattivare il blocco dei popup in modo che la finestra venga visualizzata.

## Aggiunta di immagini di esempio alle istruzioni
<a name="sms-using-s3-images"></a>

Le immagini forniscono esempi utili ai worker. Per aggiungere un'immagine accessibile pubblicamente alle tue istruzioni:
+ Posiziona il cursore nel punto in cui desideri inserire l'immagine nell'editor di istruzioni.
+ Fai clic sull'icona dell'immagine nella barra degli strumenti dell'editor.
+ Immetti l'URL dell'immagine.

Se la tua immagine di istruzione in Amazon S3 non è accessibile pubblicamente:
+ Come URL dell'immagine immetti: `{{ 'https://s3.amazonaws.com/your-bucket-name/image-file-name' | grant_read_access }}`.
+ In questo modo viene eseguito il rendering dell'URL dell'immagine con un codice di accesso monouso di breve durata per consentirne la visualizzazione nel browser del worker. Viene visualizzata un'icona di un'immagine rotta nell'editor di istruzioni, ma l'anteprima dello strumento consente di visualizzare l'immagine nell'anteprima con rendering.

# Creare un processo di etichettatura (console)
<a name="sms-create-labeling-job-console"></a>

Puoi utilizzare la console Amazon SageMaker AI per creare un processo di etichettatura per tutti i tipi di attività integrati di Ground Truth e i flussi di lavoro di etichettatura personalizzati. Per i tipi di attività predefiniti, consigliamo di utilizzare questa pagina insieme alla pagina [per il tipo di attività](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html). Ogni pagina relativa al tipo di attività include dettagli specifici sulla creazione di un processo di etichettatura utilizzando quel tipo di attività. 

È necessario fornire quanto segue per creare un processo di etichettatura nella console AI: SageMaker 
+ Un file manifest di input in Amazon S3. Puoi inserire il tuo set di dati di input in Amazon S3 e generare automaticamente un file manifest utilizzando la console Ground Truth (non supportata per i processi di etichettatura di nuvole di punti 3D). 

  In alternativa, puoi creare manualmente un file manifest di input. Per scoprire come, consulta [Dati di input](sms-data-input.md).
+ Un bucket Amazon S3 per memorizzare i dati di output.
+ Un ruolo IAM con autorizzazione ad accedere alle tue risorse in Amazon S3 e con una policy di esecuzione SageMaker AI allegata. Per una soluzione generale, puoi allegare la policy gestita a un ruolo IAM e includerla `sagemaker` nel nome del bucket. AmazonSageMakerFullAccess 

  Per policy più granulari, consulta [Assegnare le autorizzazioni IAM per utilizzare Ground Truth](sms-security-permission.md). 

  Per i tipi di attività con nuvola di punti 3D vi sono ulteriori considerazioni sulla sicurezza. [Ulteriori informazioni](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud-general-information.html#sms-security-permission-3d-point-cloud). 
+ Un team di lavoro. Crei un team di lavoro da una forza lavoro composta da worker, fornitori o worker privati di Amazon Mechanical Turk. Per saperne di più, consulta [Forza lavoro](sms-workforce-management.md).

  Non puoi utilizzare la forza lavoro di Mechanical Turk per i processi di etichettatura con nuvola di punti 3D o di fotogrammi video. 
+ Se utilizzi un flusso di lavoro di etichettatura personalizzato, devi salvare un modello di attività del worker in Amazon S3 e fornire un URI Amazon S3 per tale modello. Per ulteriori informazioni, consulta [Creazione di un modello di attività del worker personalizzato](sms-custom-templates-step2.md).
+ (Facoltativo) Una AWS KMS chiave ARN se desideri che l' SageMaker intelligenza artificiale crittografi l'output del tuo lavoro di etichettatura utilizzando la tua chiave di AWS KMS crittografia anziché la chiave di servizio Amazon S3 predefinita.
+ (Facoltativo) Etichette esistenti per il set di dati utilizzato per il processo di etichettatura. Utilizza questa opzione se desideri che i worker adeguino, approvino e rifiutino le etichette.
+ Se desideri creare un processo di etichettatura di regolazione o verifica, devi disporre di un file manifest di output in Amazon S3 che contenga le etichette che desideri modificare o verificare. Questa opzione è supportata solo per i processi di etichettatura di immagini con riquadri di delimitazione e segmentazione semantica e per i processi di etichettatura con nuvole di punti 3D e fotogrammi video. Si consiglia di utilizzare le istruzioni in [Verifica e aggiustamento delle etichette](sms-verification-data.md) per creare un processo di etichettatura di verifica o regolazione. 

**Importante**  
Il team di lavoro, il file manifesto di input, il bucket di output e altre risorse in Amazon S3 devono trovarsi nella AWS stessa regione utilizzata per creare il processo di etichettatura. 

Quando crei un lavoro di etichettatura utilizzando la console SageMaker AI, aggiungi istruzioni ed etichette per l'operatore all'interfaccia utente fornita da Ground Truth. Puoi visualizzare in anteprima e interagire con l'interfaccia utente del worker quando crei un processo di etichettatura nella console. Puoi anche vedere un'anteprima dell'interfaccia utente del worker nella pagina [tipi di attività integrata](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html).

**Per creare un processo di etichettatura (console)**

1. Accedi alla console SageMaker AI all'indirizzo [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/). 

1. Nel riquadro di navigazione sinistro, scegli **Processi di etichettatura**. 

1. Nella pagina **Processi di etichettatura** scegli **Crea processo di etichettatura**.

1. In **Nome processo**, immetti un nome per il processo di etichettatura.

1. (Facoltativo) Se desideri identificare le etichette con una chiave, seleziona **Desidero specificare un nome attributo etichetta diverso dal nome del processo di etichettatura**. Se non selezioni questa opzione, il nome del processo di etichettatura specificato nella fase precedente verrà utilizzato per identificare le etichette nel file manifest di output. 

1. Scegli una configurazione dei dati per creare una connessione tra il set di dati di input e Ground Truth. 
   + Per la **configurazione automatica dei dati**:
     + Segui le istruzioni riportate in [Automatizzare la configurazione dei dati per i processi di etichettatura](sms-console-create-manifest-file.md) per i processi di etichettatura di immagini, testo e videoclip.
     + Segui le istruzioni riportate in [Configurare in modo automatico i dati di input nei frame video](sms-video-automated-data-setup.md) per i processi di etichettatura di fotogrammi video. 
   + Per **Configurazione manuale dei dati**:
     + Per **Posizione del set di dati di input**, specifica la posizione in Amazon S3 in cui si trova il file manifest di input. Ad esempio, se il file manifest di input, manifest.json, si trova in **example-bucket**, immetti **s3://example-bucket/manifest.json**.
     + Per **Posizione del set di dati di output**, specifica la posizione in Amazon S3 in cui desideri che Ground Truth memorizzi i dati di output del processo di etichettatura. 

1. Per **IAM Role**, scegli un ruolo IAM esistente o crea un ruolo IAM con l'autorizzazione ad accedere alle tue risorse in Amazon S3, per scrivere nel bucket di output Amazon S3 specificato sopra e con SageMaker una policy di esecuzione AI allegata. 

1. (Facoltativo) Per una **configurazione aggiuntiva**, puoi specificare la quantità del tuo set di dati che desideri che i lavoratori etichettino e se desideri che l' SageMaker IA crittografi i dati di output per il tuo lavoro di etichettatura utilizzando una chiave di crittografia. AWS KMS Per crittografare i dati di output, è necessario disporre delle AWS KMS autorizzazioni richieste associate al ruolo IAM fornito nel passaggio precedente. Per ulteriori dettagli, consultare [Assegnare le autorizzazioni IAM per utilizzare Ground Truth](sms-security-permission.md). 

1. Nella sezione **Tipo di attività** in **Categoria attività** utilizza il menu a discesa per selezionare la categoria di attività. 

1. In **Selezione attività**, scegli il tipo di attività desiderato. 

1. (Facoltativo) Inserisci tag per il processo di etichettatura per facilitarne la ricerca nella console in un secondo momento. 

1. Scegli **Next (Successivo)**. 

1. Nella sezione **worker** scegli il tipo di forza lavoro che desideri utilizzare. Per ulteriori dettagli sulle opzioni della forza lavoro, consulta [Forza lavoro](sms-workforce-management.md).

1. (Facoltativo) Dopo aver selezionato la forza lavoro, specifica il **Timeout attività**. Si tratta della quantità massima di tempo che un worker ha per lavorare su un'attività.

   Per le attività di annotazione della nuvola di punti 3D, il timeout predefinito dell'attività è di 3 giorni. Il timeout predefinito per la classificazione del testo e delle immagini e i processi di etichettatura di verifica delle etichette è di 5 minuti. Il timeout predefinito per tutti gli altri tipi di attività dei processi di etichettatura è di 60 minuti.

1. (Facoltativo) Per i tipi di attività del riquadro di delimitazione, della segmentazione semantica, del fotogramma video e della nuvola di punti 3D, puoi selezionare **Visualizza etichette esistenti** se desideri visualizzare etichette per il set di dati di input per consentire ai worker di verificare o modificare.

   Per i processi di etichettatura con riquadri di delimitazione e segmentazione semantica, ciò creerà un processo di etichettatura di regolazione.

   Per processi di etichettatura con nuvole di punti 3D e fotogrammi video:
   + Seleziona **Regolazione** per creare un processo di etichettatura di regolazione. Quando selezioni questa opzione, puoi aggiungere nuove etichette ma non puoi rimuovere o modificare le etichette esistenti dal processo precedente. Facoltativamente, puoi scegliere gli attributi delle categorie delle etichette e gli attributi dei fotogrammi che desideri che i worker modifichino. Per rendere modificabile un attributo, seleziona la casella di controllo **Consenti ai worker di modificare questo attributo** per quell'attributo.

     Facoltativamente puoi aggiungere una nuova categoria di etichetta e gli attributi del fotogramma. 
   + Seleziona **Verifica** per creare un processo di etichettatura di regolazione. Quando selezioni questa opzione, puoi aggiungere, modificare o rimuovere etichette esistenti dal processo precedente. Facoltativamente, puoi scegliere gli attributi delle categorie delle etichette e gli attributi dei fotogrammi che desideri che i worker modifichino. Per rendere modificabile un attributo, seleziona la casella di controllo **Consenti ai worker di modificare questo attributo** per quell'attributo. 

     Ti consigliamo di aggiungere nuovi attributi di categoria alle etichette che desideri che i worker verifichino o di aggiungere uno o più attributi del fotogramma per consentire ai worker di fornire informazioni sull'intero fotogramma.

    Per ulteriori informazioni, consulta [Verifica e aggiustamento delle etichette](sms-verification-data.md).

1. Configura l'interfaccia utente dei tuoi worker:
   + Se utilizzi un [tipo di attività integrato](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html), specifica le istruzioni e le etichette dei worker. 
     + Per la classificazione delle immagini e del testo (etichetta singola e multipla) devi specificare almeno due categorie di etichette. Per tutti gli altri tipi di attività predefiniti, devi specificare almeno una categoria di etichette. 
     + (Facoltativo) Se stai creando un processo di etichettatura di nuvole di punti 3D o fotogrammi video, puoi specificare gli attributi delle categorie di etichette (non supportati per la segmentazione semantica della nuvola di punti 3D) e gli attributi dei fotogrammi. Gli attributi delle categorie di etichette possono essere assegnati a una o più etichette. Gli attributi del fotogramma verranno visualizzati su ciascuna nuvola di punti o etichetta dei worker del fotogramma video. Per ulteriori informazioni, consulta [Interfaccia utente dei worker](sms-point-cloud-general-information.md#sms-point-cloud-worker-task-ui) per la nuvola di punti 3D e [Interfaccia utente dei worker](sms-video-overview.md#sms-video-worker-task-ui) per i fotogrammi video. 
     + (Facoltativo) Aggiungi **Istruzioni aggiuntive** per aiutare il worker a completare l'attività.
   + Se stai creando un flusso di lavoro di etichettatura personalizzato, devi:
     + Inserisci un [modello personalizzato](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates-step2.html) nella casella del codice. I modelli personalizzati possono essere creati utilizzando una combinazione di HTML, il linguaggio di template Liquid e i nostri componenti web predefiniti. Facoltativamente, puoi scegliere un modello di base dal menu a discesa per iniziare. 
     + Specificare le funzioni lambda di pre-annotazione e post-annotazione. Per informazioni su come creare queste funzioni, consulta [Elaborazione dei dati in un flusso di lavoro di etichettatura personalizzato con AWS Lambda](sms-custom-templates-step3.md).

1. (Facoltativo) Puoi selezionare **Visualizza anteprima** per visualizzare in anteprima le istruzioni del worker, le etichette e interagire con l'interfaccia utente del worker. Assicurati che il blocco pop-up del browser sia disabilitato prima di generare l'anteprima.

1. Scegli **Create** (Crea).

Dopo aver creato correttamente il processo di etichettatura, si viene reindirizzati alla pagina **Processi di etichettatura**. Lo stato del processo di etichettatura appena creato è **In corso**. Questo stato viene aggiornato progressivamente quando i worker completano le attività. Quando tutte le attività sono state completate correttamente, lo stato viene modificato in **Completato**.

Se si verifica un problema durante la creazione del processo di etichettatura, lo stato cambia in **Non riuscito**.

Per visualizzare ulteriori dettagli sul processo, scegliere il nome del processo di etichettatura. 

## Fasi successive
<a name="sms-create-labeling-job-console-next-steps"></a>

Dopo aver modificato lo stato del processo di etichettatura in **Completato**, puoi visualizzare i dati di output nel bucket Amazon S3 specificato durante la creazione del processo di etichettatura. Per ulteriori informazioni sul formato dei dati di output, consulta [Etichettatura dei dati di output di un processo](sms-data-output.md).

# Creare un processo di etichettatura (API)
<a name="sms-create-labeling-job-api"></a>

Per creare un processo di etichettatura utilizzando l' SageMaker API Amazon, si utilizza l'[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)operazione. Per istruzioni specifiche sulla creazione di un processo di etichettatura per un tipo di attività predefinita, consulta la pagina [ relativa al tipo di attività](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html). Per informazioni su come creare un processo di etichettatura in streaming, che è un processo di etichettatura che viene eseguito continuamente, consulta [Creare un processo di etichettatura in streaming](sms-streaming-create-job.md)

Per utilizzare l’operazione `CreateLabelingJob`, è necessario quanto segue:
+ Un modello di attività del worker (`UiTemplateS3Uri`) o un ARN dell'interfaccia utente dell'attività umana (`[HumanTaskUiArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UiConfig.html#sagemaker-Type-UiConfig-HumanTaskUiArn)`) in Amazon S3. 
  + Per i processi con nuvole di punti 3D, i processi di rilevamento e tracciamento di oggetti video e i processi NER, utilizza l'ARN elencato in `HumanTaskUiArn` in base al tipo di attività.
  + Se utilizzi un tipo di attività integrato diverso dalle attività con nuvole di punti 3D, è possibile aggiungere le istruzioni per il worker a uno dei modelli predefiniti e salvare il modello (utilizzando un'estensione.html o .liquid) nel bucket S3. Trova i modelli di pre-compilazione nella pagina [del tipo di attività](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html).
  + Se utilizzi un flusso di lavoro di etichettatura personalizzato, è possibile creare un modello personalizzato e salvarlo nel bucket S3. Per informazioni su come creare un modello di lavoro personalizzato, consulta [Creazione di un modello di attività del worker personalizzato](sms-custom-templates-step2.md). Per gli elementi HTML personalizzati che è possibile utilizzare per personalizzare il modello, consulta [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md). Per un archivio di modelli dimostrativi per una varietà di attività di etichettatura, consulta [Amazon SageMaker Ground Truth Sample](https://github.com/aws-samples/amazon-sagemaker-ground-truth-task-uis) Task. UIs 
+ Un file manifest di input che specifica i dati di input in Amazon S3. Specifica la posizione del file manifest di input in `ManifestS3Uri`. Per informazioni sulla creazione di un file manifest di input, consulta [Dati di input](sms-data-input.md). Se crei un processo di etichettatura in streaming, questo è facoltativo. Per informazioni su come creare un processo di etichettatura in streaming, consulta [Creare un processo di etichettatura in streaming](sms-streaming-create-job.md).
+ Un bucket Amazon S3 per memorizzare i dati di output. Specifica questo bucket e, facoltativamente, un prefisso in `S3OutputPath`.
+ Un file di configurazione della categoria di etichetta. Il nome di ciascuna categoria di etichette deve essere univoco. Specifica la posizione di questo file in Amazon S3 utilizzando il parametro `LabelCategoryConfigS3Uri`. Il formato e le categorie di etichette per questo file dipendono dal tipo di attività utilizzata:
  + Per la classificazione delle immagini e del testo (etichetta singola e multipla) devi specificare almeno due categorie di etichette. Per tutti gli altri tipi di attività, il numero minimo di categorie di etichette richieste è una. 
  + Per le attività di riconoscimento di entità denominate, è necessario fornire istruzioni ai worker in questo file. Per informazioni dettagliate e un esempio, consulta [Fornisci le istruzioni per il worker in un file di configurazione della categoria di etichette](sms-named-entity-recg.md#worker-instructions-ner).
  + Per il tipo di attività con nuvola di punti 3D e fotogrammi video, utilizza il formato in [File di configurazione delle categoria di etichettatura con riferimento alle categorie di etichette e agli attributi dei frame](sms-label-cat-config-attributes.md).
  + Per tutti gli altri tipi di attività integrati e attività personalizzate, il file di configurazione delle categorie di etichette deve essere un file JSON nel formato seguente. Identifica le etichette che desideri utilizzare sostituendo `label_1`, `label_2`,`...` e `label_n` con le categorie di etichette. 

    ```
    {
        "document-version": "2018-11-28",
        "labels": [
            {"label": "label_1"},
            {"label": "label_2"},
            ...
            {"label": "label_n"}
        ]
    }
    ```
+ Un ruolo AWS Identity and Access Management (IAM) con la policy IAM [AmazonSageMakerGroundTruthExecution](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerGroundTruthExecution)gestita allegata e con le autorizzazioni per accedere ai bucket S3. Specificare questo ruolo in `RoleArn`. Per ulteriori informazioni su questa policy, consulta [Utilizzare le policy gestite da IAM con Ground Truth](sms-security-permissions-get-started.md). Se sono necessarie autorizzazioni più granulari, consulta [Assegnare le autorizzazioni IAM per utilizzare Ground Truth](sms-security-permission.md).

  Se il nome del bucket di input o di output non contiene `sagemaker`, è possibile collegare una policy simile al seguente al ruolo passato all'operazione `CreateLabelingJob`.

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "s3:GetObject"
              ],
              "Resource": [
                  "arn:aws:s3:::my_input_bucket/*"
              ]
          },
          {
              "Effect": "Allow",
              "Action": [
                  "s3:PutObject"
              ],
              "Resource": [
                  "arn:aws:s3:::my_output_bucket/*"
              ]
          }
      ]
  }
  ```

------
+ Una funzione AWS Lambda di pre-annotazione e post-annotazione (o consolidamento annotazioni) nome della risorsa Amazon (ARN) per elaborare i dati di input e output. 
  + Le funzioni Lambda sono predefinite in ogni AWS regione per i tipi di attività predefiniti. Per trovare l'ARN Lambda di pre-annotazione per la tua regione, consulta. [PreHumanTaskLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_HumanTaskConfig.html#SageMaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn) Per trovare l'ARN Lambda di consolidamento delle annotazioni per la tua regione, consulta. [AnnotationConsolidationLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_AnnotationConsolidationConfig.html#SageMaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn) 
  + Per i flussi di lavoro di etichettatura personalizzati, è necessario fornire un ARN Lamda post-annotazione e pre-annotazione personalizzato. Per informazioni su come creare queste funzioni Lambda, consulta [Elaborazione dei dati in un flusso di lavoro di etichettatura personalizzato con AWS Lambda](sms-custom-templates-step3.md).
+ Un ARN del team di lavoro specificato dall'utente in `WorkteamArn`. Riceverai un ARN per il team di lavoro quando ti iscrivi alla forza lavoro di un fornitore o crei un team di lavoro privato. Se state creando un lavoro di etichettatura per un tipo di attività con frame video o nuvola di punti, non potete utilizzare la forza lavoro. Amazon Mechanical Turk Per tutti gli altri tipi di attività, per utilizzare la forza lavoro di Mechanical Turk, usa il seguente ARN. *`region`*Sostituiscilo con la AWS regione che stai utilizzando per creare il lavoro di etichettatura.

  ` arn:aws:sagemaker:region:394669845002:workteam/public-crowd/default`

  Se utilizzi la [forza lavoro di Amazon Mechanical Turk](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-public.html), usa il parametro `ContentClassifiers` in `DataAttributes` di `InputConfig` per dichiarare che i tuoi contenuti sono privi di informazioni personali e di contenuti per adulti. 

  Ground Truth *richiede* che i dati di input siano privi di informazioni di identificazione personale (PII) quando utilizzi la forza lavoro di Mechanical Turk. Se utilizzi Mechanical Turk e non specifichi che i dati di input sono privi di informazioni personali utilizzando il flag `FreeOfPersonallyIdentifiableInformation`, il processo di etichettatura avrà esito negativo. Usa il `FreeOfAdultContent` flag per dichiarare che i tuoi dati di input sono privi di contenuti per adulti. SageMaker L'intelligenza artificiale può limitare il numero di dipendenti di Amazon Mechanical Turk che possono visualizzare la tua attività se contiene contenuti per adulti. 

  Per ulteriori informazioni sui team di lavoro e sulle forze lavoro, consulta [Forza lavoro](sms-workforce-management.md). 
+ Se utilizzi la forza lavoro di Mechanical Turk, devi specificare il prezzo che pagherai ai worker per l'esecuzione di una singola attività in `PublicWorkforceTaskPrice`.
+ Per configurare l'attività, è necessario fornire una descrizione e un titolo dell'attività utilizzando `TaskDescription` e `TaskTitle` rispettivamente. Facoltativamente, puoi fornire limiti di tempo che controllano il tempo a disposizione dei worker per lavorare su una singola attività (`TaskTimeLimitInSeconds`) e per quanto tempo le attività rimangono nel portale dei worker, disponibile per i worker (`TaskAvailabilityLifetimeInSeconds`).
+ (Facoltativo) Per [alcuni tipi di task](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-annotation-consolidation.html), è possibile assegnare a più worker un'etichetta a singola immagine dati (inserendo un numero maggiore di uno per il parametro `NumberOfHumanWorkersPerDataObject`). Per ulteriori informazioni sul consolidamento delle annotazioni, consulta [Consolidamento delle annotazioni](sms-annotation-consolidation.md).
+ (Facoltativo) Per creare un processo automatico di etichettatura dei dati, specifica uno dei processi ARNs elencati in [LabelingJobAlgorithmSpecificationArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobAlgorithmsConfig.html). `LabelingJobAlgorithmsConfig` Questo ARN identifica l'algoritmo utilizzato nel processo di etichettatura automatica dei dati. Il tipo di attività associato a questo ARN deve corrispondere al tipo di attività `PreHumanTaskLambdaArn` e `AnnotationConsolidationLambdaArn` specificate. L'etichettatura dei dati automatica è supportata per i seguenti tipi di attività: classificazione delle immagini, riquadro di delimitazione, segmentazione semantica e classificazione del testo. Il numero minimo di oggetti consentiti per l'etichettatura dei dati automatica è di 1.250, e consigliamo vivamente di fornire un minimo di 5.000 oggetti. Per ulteriori informazioni sui processi di etichettatura dei dati automatica, consulta [Automatizzare l’etichettatura dei dati](sms-automated-labeling.md).
+ (Facoltativo) Puoi fornire [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#API_CreateLabelingJob_RequestSyntax](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#API_CreateLabelingJob_RequestSyntax) che fa in modo che il processo di etichettatura si interrompa se viene soddisfatta una delle condizioni. Puoi utilizzare le condizioni di interruzione per controllare il costo del processo di etichettatura.

## Esempi
<a name="sms-create-labeling-job-api-examples"></a>

Gli esempi di codice seguenti mostrano come creare un processo di etichettatura utilizzando `CreateLabelingJob`. [Puoi anche vedere questi taccuini di esempio GitHub nel repository AI Examples. SageMaker ](https://github.com/aws/amazon-sagemaker-examples/tree/master/ground_truth_labeling_jobs)

------
#### [ AWS SDK per Python (Boto3) ]

Di seguito è riportato un esempio di [richiesta AWS Python SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job) per creare un processo di etichettatura per un tipo di attività integrata nella Regione Stati Uniti orientali (Virginia settentrionale) utilizzando una forza lavoro privata. Sostituisci tutto *red-italized text* con le risorse e le specifiche del tuo lavoro di etichettatura. 

```
response = client.create_labeling_job(
    LabelingJobName="example-labeling-job",
    LabelAttributeName="label",
    InputConfig={
        'DataSource': {
            'S3DataSource': {
                'ManifestS3Uri': "s3://bucket/path/manifest-with-input-data.json"
            }
        },
        'DataAttributes': {
            'ContentClassifiers': [
                "FreeOfPersonallyIdentifiableInformation"|"FreeOfAdultContent",
            ]
        }
    },
    OutputConfig={
        'S3OutputPath': "s3://bucket/path/file-to-store-output-data",
        'KmsKeyId': "string"
    },
    RoleArn="arn:aws:iam::*:role/*",
    LabelCategoryConfigS3Uri="s3://bucket/path/label-categories.json",
    StoppingConditions={
        'MaxHumanLabeledObjectCount': 123,
        'MaxPercentageOfInputDatasetLabeled': 123
    },
    HumanTaskConfig={
        'WorkteamArn': "arn:aws:sagemaker:region:*:workteam/private-crowd/*",
        'UiConfig': {
            'UiTemplateS3Uri': "s3://bucket/path/custom-worker-task-template.html"
        },
        'PreHumanTaskLambdaArn': "arn:aws:lambda:us-east-1:432418664414:function:PRE-tasktype",
        'TaskKeywords': [
            "Images",
            "Classification",
            "Multi-label"
        ],
        'TaskTitle': "Multi-label image classification task",
        'TaskDescription': "Select all labels that apply to the images shown",
        'NumberOfHumanWorkersPerDataObject': 1,
        'TaskTimeLimitInSeconds': 3600,
        'TaskAvailabilityLifetimeInSeconds': 21600,
        'MaxConcurrentTaskCount': 1000,
        'AnnotationConsolidationConfig': {
            'AnnotationConsolidationLambdaArn': "arn:aws:lambda:us-east-1:432418664414:function:ACS-"
        },
    Tags=[
        {
            'Key': "string",
            'Value': "string"
        },
    ]
)
```

------
#### [ AWS CLI ]

[Di seguito è riportato un esempio di richiesta AWS CLI per creare un processo di etichettatura per un tipo di attività integrato nella regione Stati Uniti orientali (Virginia settentrionale) utilizzando la forza lavoro di Amazon Mechanical Turk.](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-public.html) Per ulteriori informazioni, consulta [start-human-loop](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-labeling-job.html) nella *documentazione di riferimento dei comandi della [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/)*. Sostituisci tutto *red-italized text* con le risorse e le specifiche del tuo lavoro di etichettatura. 

```
$ aws --region us-east-1 sagemaker create-labeling-job \
--labeling-job-name "example-labeling-job" \
--label-attribute-name "label" \
--role-arn "arn:aws:iam::account-id:role/role-name" \
--input-config '{
        "DataAttributes": {
            "ContentClassifiers": [
                "FreeOfPersonallyIdentifiableInformation",
                "FreeOfAdultContent"
            ]
        },
        "DataSource": {
            "S3DataSource": {
                "ManifestS3Uri": "s3://bucket/path/manifest-with-input-data.json"
            }
        }
    }' \
--output-config '{
        "KmsKeyId": "",
        "S3OutputPath": "s3://bucket/path/file-to-store-output-data"
    }' \
--human-task-config '{
        "AnnotationConsolidationConfig": {
            "AnnotationConsolidationLambdaArn": "arn:aws:lambda:us-east-1:432418664414:function:ACS-"
        },
        "TaskAvailabilityLifetimeInSeconds": 21600,
        "TaskTimeLimitInSeconds": 3600,
        "NumberOfHumanWorkersPerDataObject": 1,
        "PreHumanTaskLambdaArn":  "arn:aws:lambda:us-east-1:432418664414:function:PRE-tasktype",
        "WorkteamArn": "arn:aws:sagemaker:us-east-1:394669845002:workteam/public-crowd/default",
        "PublicWorkforceTaskPrice": {
            "AmountInUsd": {
                "Dollars": 0,
                "TenthFractionsOfACent": 6,
                "Cents": 3
            }
        },
        "TaskDescription": "Select all labels that apply to the images shown",
        "MaxConcurrentTaskCount": 1000,
        "TaskTitle": "Multi-label image classification task",,
        "TaskKeywords": [
            "Images",
            "Classification",
            "Multi-label"
        ],
        "UiConfig": {
            "UiTemplateS3Uri": "s3://bucket/path/custom-worker-task-template.html"
        }
    }'
```

------

Per ulteriori informazioni su questa operazione, consulta [CreateLabelingJob](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateLabelingJob.html). Per informazioni su come utilizzare altre lingue specifiche SDKs, vedere la sezione [Vedere anche](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateLabelingJob.html#API_CreateLabelingJob_SeeAlso) nell'argomento. `CreateLabelingJobs` 

# Creare un processo di etichettatura in streaming
<a name="sms-streaming-create-job"></a>

I processi di etichettatura in streaming consentono di inviare singoli oggetti di dati in tempo reale a un processo di etichettatura in streaming in esecuzione perpetua. Per creare un processo di etichettatura in streaming, puoi specificare l’ARN dell’*argomento di input* di Amazon SNS, `SnsTopicArn`, nel parametro `InputConfig` quando effettui una richiesta [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html). Facoltativamente, puoi anche creare un *argomento di output* di Amazon SNS e specificarlo in `OutputConfig` se desideri ricevere i dati delle etichette in tempo reale.

**Importante**  
Se sei un nuovo utente dei processi di etichettatura in streaming di Ground Truth, ti consigliamo di consultare [Processi di etichettatura in streaming Ground Truth](sms-streaming-labeling-job.md) prima di creare un processo di etichettatura in streaming. I processi di etichettatura in streaming di Ground Truth sono supportati solo tramite l' SageMaker API.

Utilizza le seguenti sezioni per creare le risorse necessarie e utilizzabili per creare un processo di etichettatura in streaming:
+ Scopri come creare argomenti SNS con le autorizzazioni richieste per i processi di etichettatura in streaming di Ground Truth seguendo le fasi descritte in [Utilizzare gli argomenti Amazon SNS per l’etichettatura dei dati](sms-create-sns-input-topic.md) I tuoi argomenti SNS devono essere creati nella stessa AWS regione del processo di etichettatura. 
+ Scopri come configurare un endpoint per ricevere i dati di output delle attività di etichettatura su un dispositivo specificato ogni volta che viene completata un'attività di etichettatura [Iscrizione di un endpoint a un argomento di output Amazon SNS](sms-create-sns-input-topic.md#sms-streaming-subscribe-output-topic).
+ Per informazioni su come configurare il bucket Amazon S3 per inviare notifiche all'argomento di input di Amazon SNS, consulta [Creazione di notifiche di eventi di bucket basate su Amazon S3, in base ad Amazon SNS definito nel processo di etichettatura](sms-streaming-s3-setup.md).
+ Facoltativamente, aggiungi gli oggetti di dati che desideri etichettare non appena il processo di etichettatura inizia al tuo manifesto di input. Per ulteriori informazioni, consulta [Creazione di un file manifest (opzionale)](sms-streaming-manifest.md).
+ Sono necessarie altre risorse per creare un processo di etichettatura, come un ruolo IAM, un bucket Amazon S3, un modello di attività del worker e categorie di etichette. Questi sono descritti nella documentazione di Ground Truth sulla creazione di un processo di etichettatura. Per ulteriori informazioni, consulta [Creazione di un processo di etichettatura](sms-create-labeling-job.md). 
**Importante**  
Quando si crea un processo di etichettatura, è necessario fornire un ruolo di esecuzione IAM. Allega la policy AWS gestita **AmazonSageMakerGroundTruthExecution**a questo ruolo per assicurarti che disponga delle autorizzazioni necessarie per eseguire il tuo lavoro di etichettatura. 

Quando invii una richiesta per creare un processo di etichettatura in streaming, lo stato del processo di etichettatura è `Initializing`. Una volta che il processo di etichettatura è attivo, lo stato cambia in `InProgress`. Non inviare nuovi oggetti di dati al tuo processo di etichettatura né cercare di interrompere il processo di etichettatura mentre è nello stato `Initializing`. Una volta modificato lo stato in `InProgress`, puoi iniziare a inviare nuovi oggetti di dati utilizzando Amazon SNS e la configurazione Amazon S3. 

**Topics**
+ [Utilizzare gli argomenti Amazon SNS per l’etichettatura dei dati](sms-create-sns-input-topic.md)
+ [Creazione di notifiche di eventi di bucket basate su Amazon S3, in base ad Amazon SNS definito nel processo di etichettatura](sms-streaming-s3-setup.md)
+ [Creazione di un file manifest (opzionale)](sms-streaming-manifest.md)
+ [Crea un processo di etichettatura in streaming con l'API SageMaker](sms-streaming-create-labeling-job-api.md)
+ [Interruzione di un processo di etichettatura in streaming](sms-streaming-stop-labeling-job.md)

# Utilizzare gli argomenti Amazon SNS per l’etichettatura dei dati
<a name="sms-create-sns-input-topic"></a>

È necessario creare un input Amazon SNS per creare un processo di etichettatura in streaming. Facoltativamente, puoi fornire un argomento di output di Amazon SNS.

Quando crei un argomento Amazon SNS da utilizzare nel processo di etichettatura in streaming, prendi nota dell'argomento nome della risorsa Amazon (ARN). L'ARN sarà il valore di input per il parametro `SnsTopicArn` in `InputConfig` e `OutputConfig` quando si crea un processo di etichettatura.

## Creare un argomento di input
<a name="sms-streaming-input-topic"></a>

L'argomento di input viene utilizzato per inviare nuovi oggetti dati a Ground Truth. Per creare un argomento di input, segui le istruzioni in [Creazione di un argomento Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html) nella Guida per gli sviluppatori di Amazon Simple Notification Service.

Annota l'argomento di input ARN e usalo come input per il parametro `CreateLabelingJob` `SnsTopicArn` in `InputConfig`. 

## Creazione di un argomento di output
<a name="sms-streaming-output-topic"></a>

Se fornisci un argomento di output, questo viene utilizzato per inviare notifiche quando un oggetto di dati viene etichettato. Quando crei un argomento, puoi aggiungere una chiave di crittografia. Utilizzate questa opzione per aggiungere una chiave gestita AWS Key Management Service dal cliente al vostro argomento per crittografare i dati di output del vostro lavoro di etichettatura prima che vengano pubblicati sull'argomento di output.

Per creare un argomento di output, segui le istruzioni in [Creazione di un argomento Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html) nella Guida per gli sviluppatori di Amazon Simple Notification Service.

Se aggiungi la crittografia, è necessario collegare ulteriori autorizzazioni all'argomento. Per ulteriori informazioni, consulta [Aggiunta della crittografia all'argomento di output (opzionale)](#sms-streaming-encryption).

**Importante**  
Per aggiungere una chiave gestita dal cliente all'argomento di output durante la creazione di un argomento nella console, non utilizzate l'**opzione (impostazione predefinita) alias/aws/sns**. Seleziona una chiave gestita dal cliente che hai creato. 

Annota l'argomento di input ARN e usalo nella tua richiesta `CreateLabelingJob` nel parametro `SnsTopicArn` in `OutputConfig`. 

### Aggiunta della crittografia all'argomento di output (opzionale)
<a name="sms-streaming-encryption"></a>

Per crittografare i messaggi pubblicati sull'argomento di output, è necessario fornire una chiave AWS KMS gestita dal cliente per l'argomento. Modifica la seguente policy e aggiungila alla tua chiave gestita dal cliente per autorizzare Ground Truth a crittografare i dati di output prima di pubblicarli nell'argomento di output.

Sostituisci *`<account_id>`* con l'ID dell'account che stai utilizzando per creare l'argomento. Per informazioni su come trovare l'ID AWS del tuo account, consulta [Trovare l'ID AWS del tuo account](https://docs.aws.amazon.com/IAM/latest/UserGuide/console_account-alias.html#FindingYourAWSId). 

------
#### [ JSON ]

****  

```
{
    "Id": "key-console-policy",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Enable IAM User Permissions",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": "kms:*",
            "Resource": "*"
        },
        {
            "Sid": "Allow access for Key Administrators",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/Admin"
            },
            "Action": [
                "kms:Create*",
                "kms:Describe*",
                "kms:Enable*",
                "kms:List*",
                "kms:Put*",
                "kms:Update*",
                "kms:Revoke*",
                "kms:Disable*",
                "kms:Get*",
                "kms:Delete*",
                "kms:TagResource",
                "kms:UntagResource",
                "kms:ScheduleKeyDeletion",
                "kms:CancelKeyDeletion"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Inoltre, devi modificare e aggiungere la seguente policy al ruolo di esecuzione utilizzato per creare il processo di etichettatura (il valore di input per `RoleArn`). 

Sostituisci *`<account_id>`* con l'ID dell'account che stai utilizzando per creare l'argomento. Sostituisci *`<region>`* con la Regione AWS che stai utilizzando per creare il tuo processo di etichettatura. Sostituisci `<key_id>` con il tuo ID chiave gestito dal cliente.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "sid1",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/your_key_id"
        }
    ]
}
```

------

Per ulteriori informazioni sulla creazione e la protezione delle chiavi, consulta [Creazione delle chiavi](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) e [utilizzo delle politiche chiave](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) nella Guida per gli AWS Key Management Service sviluppatori.

## Iscrizione di un endpoint a un argomento di output Amazon SNS
<a name="sms-streaming-subscribe-output-topic"></a>

Quando un worker completa un'attività di etichettatura da un processo di etichettatura in streaming Ground Truth, Ground Truth utilizza l'argomento di output per pubblicare i dati di output su uno o più endpoint specificati dall'utente. Per ricevere notifiche quando un worker termina un'attività di etichettatura, è necessario sottoscrivere un endpoint all'argomento di output Amazon SNS.

Per informazioni su come aggiungere endpoint all'argomento di output, consulta [Subscribing to an Amazon SNS topic](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html) nella *Guida per gli sviluppatori di Amazon Simple Notification*.

Per ulteriori informazioni sul formato dei dati di output pubblicato su questi endpoint, consulta [Etichettatura dei dati di output di un processo](sms-data-output.md). 

**Importante**  
Se non sottoscrivi un endpoint all'argomento di output di Amazon SNS, non riceverai notifiche quando vengono etichettati nuovi oggetti dati. 

# Creazione di notifiche di eventi di bucket basate su Amazon S3, in base ad Amazon SNS definito nel processo di etichettatura
<a name="sms-streaming-s3-setup"></a>

Le modifiche al bucket Amazon S3, le notifiche degli eventi, sono abilitate tramite la console Amazon S3, l'API, la lingua specifica o il. AWS SDKs AWS Command Line Interface Gli eventi devono utilizzare lo stesso ARN dell’argomento di input di Amazon SNS, `SnsTopicArn`, specificato nel parametro `InputConfig` come parte della richiesta `CreateLabelingJob`.

**Le notifiche del bucket Amazon S3 e i dati di input non devono trovarsi nello stesso bucket Amazon S3**  
Quando crei notifiche di eventi, non utilizzare la stessa posizione Amazon S3 che hai specificato come valore di `S3OutputPath` nei parametri `OutputConfig`. Il collegamento dei due bucket può comportare l’elaborazione di oggetti di dati indesiderati da parte di Ground Truth per l’etichettatura.

Sei tu a controllare i tipi di eventi che desideri inviare al tuo argomento Amazon SNS. Ground Truth crea un processo di etichettatura quando invii [eventi di creazione degli oggetti](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/enable-event-notifications.html#enable-event-notifications-types).

La struttura degli eventi inviata all'argomento di input di Amazon SNS deve essere un messaggio JSON formattato utilizzando la stessa struttura trovata nella [Struttura dei messaggi di evento](https://docs.aws.amazon.com/AmazonS3/latest/dev/notification-content-structure.html).

*Per vedere esempi di come configurare una notifica di eventi per il tuo bucket Amazon S3 utilizzando la console Amazon S3, l'SDK per AWS .NET e l'SDK per AWS Java, segui questa procedura [dettagliata: Configura un bucket per le notifiche (argomento SNS o coda SQS) nella Amazon Simple](https://docs.aws.amazon.com/AmazonS3/latest/dev/ways-to-add-notification-config-to-bucket.html) Storage Service User Guide.*

 EventBridge Le notifiche di Amazon non sono supportate nativamente. Per utilizzare la notifica EventBridge basata, devi aggiornare il formato di output in modo che corrisponda al formato JSON utilizzato nella struttura dei [messaggi dell'evento](https://docs.aws.amazon.com/AmazonS3/latest/dev/notification-content-structure.html).

# Creazione di un file manifest (opzionale)
<a name="sms-streaming-manifest"></a>

Quando crei un processo di etichettatura in streaming, hai la possibilità di aggiungere oggetti (come immagini o testo) a un file manifest che specifichi in `ManifestS3Uri` di `CreateLabelingJob`. All'avvio del processo di etichettatura in streaming, questi oggetti vengono inviati ai worker o aggiunti alla coda di Amazon SQS se il numero totale di oggetti supera `MaxConcurrentTaskCount`. I risultati vengono aggiunti al percorso Amazon S3 specificato durante la creazione periodica del processo di etichettatura man mano che i worker completano le attività di etichettatura. I dati di output vengono inviati a qualsiasi endpoint sottoscritto all'argomento di output. 

Se desideri fornire oggetti iniziali da etichettare, crea un file manifest che identifichi questi oggetti e inseriscilo in Amazon S3. Specifica l'URI S3 di questo file manifest in `ManifestS3Uri` all'interno di `InputConfig`.

Per informazioni su come formattare il file manifest, consulta [Dati di input](sms-data-input.md). Per utilizzare la console SageMaker AI per generare automaticamente un file manifest (non supportato per i tipi di attività con nuvole di punti 3D), vedi[Automatizzare la configurazione dei dati per i processi di etichettatura](sms-console-create-manifest-file.md).

# Crea un processo di etichettatura in streaming con l'API SageMaker
<a name="sms-streaming-create-labeling-job-api"></a>

Di seguito è riportato un esempio di una [richiesta SDK Python AWS (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job) che puoi utilizzare per avviare un processo di etichettatura in streaming per un tipo di attività integrata nella Regione degli Stati Uniti orientali (Virginia settentrionale). Per ulteriori dettagli su ciascun parametro riportato di seguito, consulta [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html). Per informazioni su come creare un processo di etichettatura utilizzando questa API e una lingua specifica associata SDKs, consulta [Create a Labeling Job (API)](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-create-labeling-job-api.html).

In questo esempio, presta attenzione ai seguenti parametri:
+ `SnsDataSource`: questo parametro appare in `InputConfig` e `OutputConfig` e viene utilizzato rispettivamente per identificare gli argomenti di input e output di Amazon SNS. Per creare un processo di etichettatura in streaming, devi fornire un argomento di input di Amazon SNS. Facoltativamente, puoi anche fornire un argomento di output di Amazon SNS.
+ `S3DataSource`: questo parametro è facoltativo. Utilizza questo parametro se desideri includere un file manifest di input di oggetti di dati che desideri etichettare non appena inizia il processo di etichettatura.
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-StoppingConditions](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-StoppingConditions): questo parametro viene ignorato quando si crea un processo di etichettatura in streaming. Per ulteriori informazioni sull'interruzione di un processo di etichettatura in streaming, consulta [Interruzione di un processo di etichettatura in streaming](sms-streaming-stop-labeling-job.md).
+ I processi di etichettatura in streaming non supportano l'etichettatura dei dati automatizzata. Non includere il parametro `LabelingJobAlgorithmsConfig`.

```
response = client.create_labeling_job(
    LabelingJobName= 'example-labeling-job',
    LabelAttributeName='label',
    InputConfig={
        'DataSource': {
            'S3DataSource': {
                'ManifestS3Uri': 's3://bucket/path/manifest-with-input-data.json'
            },
            'SnsDataSource': {
                'SnsTopicArn': 'arn:aws:sns:us-east-1:123456789012:your-sns-input-topic'
            }
        },
        'DataAttributes': {
            'ContentClassifiers': [
                'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent',
            ]
        }
    },
    OutputConfig={
        'S3OutputPath': 's3://bucket/path/file-to-store-output-data',
        'KmsKeyId': 'string',
        'SnsTopicArn': 'arn:aws:sns:us-east-1:123456789012:your-sns-output-topic'
    },
    RoleArn='arn:aws:iam::*:role/*',
    LabelCategoryConfigS3Uri='s3://bucket/path/label-categories.json',
    HumanTaskConfig={
        'WorkteamArn': 'arn:aws:sagemaker:us-east-1:*:workteam/private-crowd/*',
        'UiConfig': {
            'UiTemplateS3Uri': 's3://bucket/path/custom-worker-task-template.html'
        },
        'PreHumanTaskLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:PRE-tasktype',
        'TaskKeywords': [
            'Example key word',
        ],
        'TaskTitle': 'Multi-label image classification task',
        'TaskDescription': 'Select all labels that apply to the images shown',
        'NumberOfHumanWorkersPerDataObject': 123,
        'TaskTimeLimitInSeconds': 123,
        'TaskAvailabilityLifetimeInSeconds': 123,
        'MaxConcurrentTaskCount': 123,
        'AnnotationConsolidationConfig': {
            'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-tasktype'
            }
        },
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
```

# Interruzione di un processo di etichettatura in streaming
<a name="sms-streaming-stop-labeling-job"></a>

È possibile interrompere manualmente il processo di etichettatura in streaming utilizzando l'operazione. [StopLabelingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopLabelingJob.html) 

Se il processo di etichettatura rimane inattivo per più di 10 giorni, viene automaticamente interrotto da Ground Truth. In questo contesto, un processo di etichettatura è considerato *inattivo* se non viene inviato alcun oggetto all'argomento di input di Amazon SNS e nessun oggetto rimane nella coda Amazon SQS in attesa di essere etichettato. Ad esempio, se nessun oggetto di dati viene inserito nell'argomento di input di Amazon SNS e tutti gli oggetti inseriti nel processo di etichettatura sono già etichettati, Ground Truth avvia un timer. Dopo l'avvio del timer, se non viene ricevuto alcun articolo entro un periodo di 10 giorni, il processo di etichettatura viene interrotto. 

Quando un processo di etichettatura viene interrotto, il relativo stato è `STOPPING` mentre Ground Truth ripulisce le risorse del processo di etichettatura e annulla l'iscrizione all'argomento Amazon SNS dalla coda Amazon SQS. Amazon SQS *non* viene eliminato da Ground Truth perché questa coda può contenere oggetti dati non elaborati. Dovrai eliminare manualmente la coda se desideri evitare di incorrere in costi aggiuntivi da Amazon SQS. Per ulteriori informazioni, consulta [Prezzi di Amazon SQS](https://aws.amazon.com/sqs/pricing/).

# File di configurazione delle categoria di etichettatura con riferimento alle categorie di etichette e agli attributi dei frame
<a name="sms-label-cat-config-attributes"></a>

Quando crei un lavoro di etichettatura con nuvole di punti o fotogrammi video 3D utilizzando l'operazione SageMaker API di Amazon`CreateLabelingJob`, utilizzi un file di configurazione della categoria di etichette per specificare le etichette e le istruzioni per l'operatore. Facoltativamente, puoi anche fornire quanto segue nel tuo file di attributi di categoria dell’etichetta:
+ Puoi fornire gli *attributi di categoria dell’etichetta* per il fotogramma video e il monitoraggio di oggetti della nuvola di punti 3D e i tipi di attività di monitoraggio di oggetti. I worker possono usare uno o più attributi per fornire ulteriori informazioni su un oggetto. Ad esempio, potresti utilizzare l'attributo *occluded* per consentire ai worker di individuare quando un oggetto è parzialmente ostruito. Puoi specificare un attributo di categoria dell’etichetta per una singola etichetta utilizzando il parametro `categoryAttributes` o per tutte le etichette utilizzando il parametro `categoryGlobalAttributes`. 
+ Puoi fornire *attributi del fotogramma* per i tipi di attività di tracciamento e rilevamento di oggetti con nuvole di punti 3D e fotogrammi video utilizzando `frameAttributes`. Quando crei un attributo del fotogramma, questo viene visualizzato su ogni fotogramma o nuvola di punti dell'attività del worker. Nei processi di etichettatura di fotogrammi video, si tratta di attributi che i worker assegnano a un intero fotogramma video. Per i processi di etichettatura con nuvole di punti 3D, questi attributi vengono applicati a una singola nuvola di punti. Utilizza gli attributi dei fotogrammi per consentire ai worker di fornire maggiori informazioni sulla scena in un fotogramma o in una nuvola di punti specifici.
+ Per i processi di etichettatura di fotogrammi video, utilizza il file di configurazione della categoria dell’etichetta per specificare il tipo di attività (riquadro di delimitazione, polilinea, poligono o keypoint) da inviare ai worker. 

Per i worker, specificare i valori per gli attributi della categoria dell’etichetta e gli attributi dei fotogrammi sarà facoltativo.

**Importante**  
Devi specificare un nome per l’attributo dell’etichetta in `auditLabelAttributeName` solo se esegui un processo di audit per verificare o regolare le etichette. Usa questo parametro per inserire quello [LabelAttributeName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelAttributeName)utilizzato nel processo di etichettatura che ha generato le annotazioni che desideri che il lavoratore modifichi. Quando crei un lavoro di etichettatura nella console, se non hai specificato il nome di un attributo di etichetta, il **nome** del tuo lavoro viene utilizzato come. LabelAttributeName

I seguenti argomenti mostrano esempi di file di configurazione delle categorie di etichette per diversi tipi di processi di etichettatura. Spiegano inoltre lo schema e le quote di un file di configurazione delle categorie.

**Topics**
+ [Esempi: file di configurazione delle categorie di etichette per processi di etichettatura in una nuvola di punti 3D](#sms-label-cat-config-attributes-3d-pc)
+ [Esempio: file di configurazione delle categorie di etichette per i processi di etichettatura in frame video](#sms-label-cat-config-attributes-vid-frame)
+ [Schema del file di configurazione delle categorie di etichette](#sms-label-cat-config-attributes-schema)
+ [Etichetta e quote dell'attributo di categoria dell’etichetta](#sms-point-cloud-label-cat-limits)

## Esempi: file di configurazione delle categorie di etichette per processi di etichettatura in una nuvola di punti 3D
<a name="sms-label-cat-config-attributes-3d-pc"></a>

I seguenti argomenti mostrano esempi di file di configurazione delle categorie di etichette in una nuvola di punti 3D per processi di rilevamento e tracciamento di oggetti, segmentazione semantica, regolazione ed etichettatura di verifica.

**Topics**
+ [Esempio: tracciamento e rilevamento di oggetti in una nuvola di punti 3D](#example-3d-point-cloud-object)
+ [Esempio: segmentazione semantica in una nuvola di punti 3D](#example-3d-point-cloud-semantic)
+ [Esempio: regolazione in una nuvola di punti 3D](#example-3d-point-cloud-adjustment)
+ [Esempio: verifica in una nuvola di punti 3D](#example-3d-point-cloud-verification)

### Esempio: tracciamento e rilevamento di oggetti in una nuvola di punti 3D
<a name="example-3d-point-cloud-object"></a>

Di seguito è riportato un esempio di file di configurazione della categoria dell’etichetta che include gli attributi della categoria dell’etichetta per un processo di etichettatura di oggetti con nuvole di punti 3D di rilevamento o monitoraggio di oggetti. Questo esempio include due attributi di fotogramma, che verranno aggiunti a tutte le nuvole di punti inviate al processo di etichettatura. L'etichetta `Car` includerà quattro attributi di categoria dell'etichetta: `X`, `Y`, `Z` e l'attributo globale, `W`.

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"],
            "isRequired":true 
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buzz", "biz"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number",
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum":["y1", "y2"]
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                }
            ]
        },
        {
            "label": "Pedestrian",
            "categoryAttributes": [...]
        }
    ],
    "instructions": {"shortInstruction":"Draw a tight Cuboid", "fullInstruction":"<html markup>"}
}
```

### Esempio: segmentazione semantica in una nuvola di punti 3D
<a name="example-3d-point-cloud-semantic"></a>

Di seguito è riportato un esempio di file di configurazione della categoria dell’etichetta per un processo di etichettatura della segmentazione semantica con nuvole di punti 3D. 

Gli attributi di categoria dell’etichetta non sono supportati per i tipi di attività di segmentazione semantica con nuvole di punti 3D. Gli attributi dei fotogrammi sono supportati. Gli attributi di categoria dell’etichetta per un processo di etichettatura di segmentazione semantica eventualmente forniti verranno ignorati.

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "labels": [
        {
            "label": "Car",
        },
        {
            "label": "Pedestrian",
        },
        {
            "label": "Cyclist",
        }
    ],
    "instructions": {"shortInstruction":"Select the appropriate label and paint all objects in the point cloud that it applies to the same color", "fullInstruction":"<html markup>"}
}
```

### Esempio: regolazione in una nuvola di punti 3D
<a name="example-3d-point-cloud-adjustment"></a>

Di seguito è riportato un esempio di file di configurazione della categoria dell’etichetta per un processo di etichettatura per il rilevamento di oggetti con nuvole di punti 3D o per la regolazione del monitoraggio di oggetti. Per i processi di etichettatura di regolazione con segmentazione semantica con nuvole di punti 3D, `categoryGlobalAttributes` e `categoryAttributes` non sono supportati. 

È necessario includere `auditLabelAttributeName` per specificare il nome dell'attributo dell'etichetta del precedente processo di etichettatura utilizzato per creare il processo di etichettatura di regolazione. Facoltativamente, è possibile utilizzare il parametro `editsAllowed` per specificare se un attributo di etichetta o fotogramma può essere modificato. 

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "editsAllowed":"none",
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "editsAllowed":"any",
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buzz", "biz"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "editsAllowed":"any",
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number"
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum":["y1", "y2"],
                    "editsAllowed":"any"
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                    "editsAllowed":"none"
                }
            ]
        },
        {
            "label": "Pedestrian",
            "categoryAttributes": [...]
        }
    ],
    "instructions": {"shortInstruction":"Draw a tight Cuboid", "fullInstruction":"<html markup>"},
    // include auditLabelAttributeName for label adjustment jobs
    "auditLabelAttributeName": "myPrevJobLabelAttributeName"
}
```

### Esempio: verifica in una nuvola di punti 3D
<a name="example-3d-point-cloud-verification"></a>

Di seguito è riportato un esempio di file di configurazione della categoria dell’etichetta utilizzabile per un processo di etichettatura per il rilevamento di oggetti con nuvole di punti 3D o per la verifica del monitoraggio di oggetti. Per un processo di etichettatura di verifica con segmentazione semantica con nuvole di punti 3D, `categoryGlobalAttributes` e `categoryAttributes` non sono supportati. 

È necessario includere `auditLabelAttributeName` per specificare il nome dell'attributo dell'etichetta del precedente processo di etichettatura utilizzato per creare il processo di etichettatura di verifica. Inoltre, è necessario utilizzare il parametro `editsAllowed` per specificare che non è possibile modificare alcuna etichetta. 

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "editsAllowed":"any", 
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "editsAllowed":"any", 
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "editsAllowed":"none", 
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buzz", "biz"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "editsAllowed":"none", 
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number",
                    "editsAllowed":"none"
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum":["y1", "y2"],
                    "editsAllowed":"any"
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                    "editsAllowed":"none"
                }
            ]
        },
        {
            "label": "Pedestrian",
            "editsAllowed":"none", 
            "categoryAttributes": [...]
        }
    ],
    "instructions": {"shortInstruction":"Draw a tight Cuboid", "fullInstruction":"<html markup>"},
    // include auditLabelAttributeName for label verification jobs
    "auditLabelAttributeName": "myPrevJobLabelAttributeName"
}
```

## Esempio: file di configurazione delle categorie di etichette per i processi di etichettatura in frame video
<a name="sms-label-cat-config-attributes-vid-frame"></a>

Gli strumenti di annotazione disponibili per il worker e il tipo di attività utilizzati dipendono dal valore specificato per `annotationType`. Ad esempio, se desideri che i worker utilizzino i punti chiave per monitorare le modifiche nella posa di oggetti specifici su più fotogrammi, devi specificare `Keypoint` per `annotationType`. Se non specifichi un tipo di annotazione, per impostazione predefinita verrà utilizzato `BoundingBox`. 

I seguenti argomenti mostrano esempi di file di configurazione di categorie di frame video.

**Topics**
+ [Esempio: keypoint in frame video](#example-video-frame-keypoint)
+ [Esempio: regolazione nei frame video](#example-video-frame-adjustment)
+ [Esempio: verifica nei frame video](#example-video-frame-verification)

### Esempio: keypoint in frame video
<a name="example-video-frame-keypoint"></a>

Di seguito è riportato un esempio di file di configurazione della categoria dell’etichetta dei punti chiave dei fotogrammi video con gli attributi della categoria dell’etichetta. Questo esempio include due attributi di fotogrammi, che verranno aggiunti a tutti i fotogrammi inviati al processo di etichettatura. L'etichetta `Car` includerà quattro attributi di categoria dell'etichetta: `X`, `Y`, `Z` e l'attributo globale, `W`. 

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buz", "buz2"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number",
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum": ["y1", "y2"]
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                }
            ]
        },
        {
            "label": "Pedestrian",
            "categoryAttributes": [...]
        }
    ],
    "annotationType":"Keypoint",
    "instructions": {"shortInstruction":"add example short instructions here", "fullInstruction":"<html markup>"}
}
```

### Esempio: regolazione nei frame video
<a name="example-video-frame-adjustment"></a>

Di seguito è riportato un esempio di file di configurazione della categoria dell’etichetta che è possibile utilizzare per un processo di etichettatura di regolazione dei fotogrammi video.

È necessario includere `auditLabelAttributeName` per specificare il nome dell'attributo dell'etichetta del precedente processo di etichettatura utilizzato per creare il processo di etichettatura di verifica. Facoltativamente, è possibile utilizzare il parametro `editsAllowed` per specificare se le etichette, gli attributi delle categorie dell’etichetta o gli attributi dei fotogrammi possono essere modificati o meno. 

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "editsAllowed":"none", 
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "editsAllowed":"any", 
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buz", "buz2"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "editsAllowed":"any", 
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number",
                    "editsAllowed":"any"
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum": ["y1", "y2"],
                    "editsAllowed":"any"
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                    "editsAllowed":"none"
                }
            ]
        },
        {
            "label": "Pedestrian",
            "editsAllowed":"none", 
            "categoryAttributes": [...]
        }
    ],
    "annotationType":"Keypoint",
    "instructions": {"shortInstruction":"add example short instructions here", "fullInstruction":"<html markup>"},
    // include auditLabelAttributeName for label adjustment jobs
    "auditLabelAttributeName": "myPrevJobLabelAttributeName"
}
```

### Esempio: verifica nei frame video
<a name="example-video-frame-verification"></a>

Di seguito è riportato un esempio di file di configurazione della categoria dell’etichetta per un processo di etichettatura di fotogrammi video.

È necessario includere `auditLabelAttributeName` per specificare il nome dell'attributo dell'etichetta del precedente processo di etichettatura utilizzato per creare il processo di etichettatura di verifica. Inoltre, è necessario utilizzare il parametro `editsAllowed` per specificare che non è possibile modificare alcuna etichetta. 

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "editsAllowed":"none", 
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "editsAllowed":"any", 
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "editsAllowed":"none", 
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buz", "buz2"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "editsAllowed":"none", 
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number",
                    "editsAllowed":"any"
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum": ["y1", "y2"],
                    "editsAllowed":"any"
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                    "editsAllowed":"none"
                }
            ]
        },
        {
            "label": "Pedestrian",
            "editsAllowed":"none", 
            "categoryAttributes": [...]
        }
    ],
    "annotationType":"Keypoint",
    "instructions": {"shortInstruction":"add example short instructions here", "fullInstruction":"<html markup>"},
    // include auditLabelAttributeName for label adjustment jobs
    "auditLabelAttributeName": "myPrevJobLabelAttributeName"
}
```

## Schema del file di configurazione delle categorie di etichette
<a name="sms-label-cat-config-attributes-schema"></a>

Nella tabella seguente sono elencati gli elementi che è possibile e necessario includere nel file di configurazione della categoria dell’etichetta.

**Nota**  
Il parametro `annotationType` è supportato solo per i processi di etichettatura dei fotogrammi video. 


****  

|  Parametro  |  Obbligatorio  |  Valori accettati  |  Description  | 
| --- | --- | --- | --- | 
| frameAttributes |  No  |  Un elenco di oggetti JSON. **Parametri obbligatori in ogni oggetto JSON:** `name`, `type`, `description` `minimum` e `maximum` sono obbligatori se `type` è `"number"` **Parametri facoltativi in ogni oggetto JSON:** `enum`, `editsAllowed`, `isRequired`  | Utilizza questo parametro per creare un attributo del fotogramma da applicare a tutti i fotogrammi oppure le nuvole di punti 3D nel tuo processo di etichettatura.Per ulteriori informazioni, consulta la terza tabella in questa sezione.  | 
| categoryGlobalAttributes |  No  |  Un elenco di oggetti JSON. **Parametri obbligatori in ogni oggetto JSON:** `name`, `type` `minimum` e `maximum` sono obbligatori se `type` è `"number"` **Parametri facoltativi in ogni oggetto JSON:** `description`, `enum`, `editsAllowed`, `isRequired`   | Utilizza questo parametro per creare attributi della categoria dell’etichetta da applicare a tutte le etichette specificate in `labels`. Per ulteriori informazioni, consulta la terza tabella in questa sezione.  | 
| labels |  Sì  |  Un elenco di 30 oggetti JSON al massimo **Parametri obbligatori in ogni oggetto JSON:** `label` **Parametri facoltativi in ogni oggetto JSON:** `categoryAttributes`, `editsAllowed`  |  Utilizza questo parametro per specificare le etichette o le classi. Aggiungi un elemento `label` per ogni classe.  Per aggiungere un attributo della categoria dell’etichetta a un'etichetta, aggiungi `categoryAttributes` all'etichetta. Utilizza `editsAllowed` per specificare se un'etichetta può essere modificata o meno in un processo di etichettatura di regolazione. Imposta `editsAllowed` su `"none"` per i processi di etichettatura di verifica. Per ulteriori informazioni, consulta la tabella seguente.  | 
| annotationType (supportato solo per i processi di etichettatura di fotogrammi video)  |  No   |  Stringa **Parametri accettati:** `BoundingBox`, `Polyline`, `Polygon`, `Keypoint` **Default**: `BoundingBox`  |  Consente di specificare il tipo di attività per i tuoi processi di etichettatura dei fotogrammi video. Ad esempio, per un'attività di rilevamento di oggetti con fotogrammi video poligonali, scegli `Polygon`.  Se non specifichi un `annotationType` quando crei un processo di etichettatura dei fotogrammi video, Ground Truth utilizzerà un `BoundingBox` per impostazione predefinita.   | 
| instructions |  No  | Un oggetto JSONParametri obbligatori in ogni oggetto JSON:`"shortInstruction"`, `"fullInstruction"` |  Utilizza questo parametro per aggiungere le istruzioni per aiutare i worker a completare le attività. Per ulteriori informazioni sulle istruzioni per i worker, consulta [Istruzioni per il lavoratore](sms-point-cloud-general-information.md#sms-point-cloud-worker-instructions-general).  Le istruzioni brevi devono contenere meno di 255 caratteri e le istruzioni lunghe devono contenere meno di 2.048 caratteri.  Per ulteriori informazioni, consulta [Creare pagine di istruzioni](sms-creating-instruction-pages.md).  | 
| auditLabelAttributeName |  Obbligatorio per i tipi di attività di regolazione e verifica  |  Stringa  |  Inserisci l'elemento [LabelAttributeName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelAttributeName)utilizzato nel lavoro di etichettatura di cui desideri modificare le annotazioni.  Utilizza questo parametro solo se crei un processo di regolazione per il fotogramma video e nuvole di punti 3D per il rilevamento di oggetti, il tracciamento di oggetti o la segmentazione semantica della nuvola di punti 3D.   | 

### Schema di oggetti di etichette
<a name="sms-labels-schema"></a>

La tabella seguente descrive i parametri che puoi e devi usare per creare un elenco di `Labels`. Ogni parametro deve essere incluso in un oggetto JSON. 


****  

| Parametro | Obbligatorio | Valori accettati | Description | 
| --- | --- | --- | --- | 
| label |  Sì  |  Stringa  |  Il nome della categoria di etichette che viene visualizzato dai worker. Il nome di ciascuna categoria di etichette deve essere univoco.  | 
| categoryAttributes |  No  |  Un elenco di oggetti JSON. **Parametri obbligatori in ogni oggetto JSON:** `name`, `type` `minimum` e `maximum` obbligatori se `type` è `"number"` **Parametri facoltativi in ogni oggetto JSON:** `description`, `enum`, `editsAllowed`, `isRequired`  | Utilizza questo parametro per aggiungere gli attributi di categoria dell’etichetta a determinate etichette specificate in `labels`. Per aggiungere uno o più attributi di categoria dell’etichetta a un'etichetta, includi l'oggetto JSON `categoryAttributes` nello stesso oggetto JSON `labels` di `label`.Per ulteriori informazioni, consulta la tabella seguente.  | 
| editsAllowed |  No  |  Stringa **Valori supportati:** `"none"`: non è consentita nessuna modifica. or `"any"` (Impostazione predefinita): tutte le modifiche sono consentite.  |  Specifica se un'etichetta può essere modificata o meno dai worker. Per i processi di etichettatura di *regolazione* con nuvole di punti 3D, aggiungi questo parametro a uno o più oggetti JSON nell'elenco `labels` per specificare se un worker può modificare o meno un'etichetta. Per i processi di etichettatura con nuvole di punti 3D e *verifica* di fotogrammi video, aggiungi questo parametro con il valore `"none"` a ciascun oggetto JSON nell'elenco `labels`. Ciò renderà tutte le etichette non modificabili.  | 

### FrameAttributes e schema categoryGlobalAttributes
<a name="sms-category-attributes-schema"></a>

La tabella seguente descrive i parametri che puoi e devi utilizzare per creare un attributo del fotogramma utilizzando `frameAttributes` e l’attributo di categoria dell’etichetta usando i parametri `categoryGlobalAttributes` e `categoryAttributes`.


****  

|  Parametro  |  Obbligatorio  |  Valori accettati  |  Description  | 
| --- | --- | --- | --- | 
| name |  Sì  |  Stringa  |  Utilizza questo parametro per assegnare un nome all'attributo di categoria o fotogramma dell’etichetta. Questo è il nome dell’attributo visualizzato dai worker. Il nome di ogni attributo di categoria dell’etichetta nel file di configurazione della categoria dell’etichetta deve essere univoco. Gli attributi globali della categoria dell’etichetta e gli attributi della categoria dell’etichetta specifici dell'etichetta non possono avere lo stesso nome.  | 
| type |  Sì  |  Stringa **Valori obbligatori**: `"string"` o `"number"`  |  Utilizza questo parametro per definire il tipo di attributo della categoria di etichetta o fotogramma.  Se specifichi `"string"` per `type` e fornisci un valore `enum` per questo attributo, i worker potranno scegliere tra una delle scelte fornite.  Se specifichi `"string"` per `type` e non fornisci un valore `enum`, i worker possono inserire testo in forma libera.  Se specifichi `number` per `type`, il worker può inserire un numero compreso tra i numeri `minimum` e`maximum` specificati.   | 
| enum |  No  |  Elenco di stringhe  |  Utilizza questo parametro per definire le opzioni tra cui i worker possono scegliere per questo attributo di categoria di etichetta o fotogramma. I worker possono scegliere un valore specificato in `enum`. Ad esempio, se specifichi `["foo", "buzz", "bar"`] per `enum`, i worker possono scegliere tra `foo`, `buzz` o `bar`. Devi specificare `"string"` per `type` per utilizzare un elenco `enum`.  | 
| description |  `frameAttributes`: Sì `categoryAttributes` oppure `categoryGlobalAttributes`: No  |  Stringa  |  Utilizza questo parametro per aggiungere una descrizione dell'attributo di categoria di etichetta o fotogramma. Puoi utilizzare questo campo per fornire ai worker maggiori informazioni sull'attributo.  Questo campo è obbligatorio per gli attributi del fotogramma.  | 
| minimum e maximum | Obbligatorio se l'attributo type è "number" | Numeri interi |  Utilizza questi parametri per specificare i valori minimi e massimi (inclusi) che i worker possono inserire per gli attributi numerici delle categorie di etichette o del fotogramma. Devi specificare `"number"` per `type` per utilizzare `minimum` e `maximum`.  | 
| editsAllowed |  No  |  Stringa **Valori obbligatori**: `"none"`: non è consentita nessuna modifica. or `"any"` (Impostazione predefinita): tutte le modifiche sono consentite.  |  Speciifica se un attributo di categoria di etichetta o fotogramma può essere modificato o meno dai worker. Per i processi di etichettatura di *regolazione* e *verifica* dei fotogrammi video o della nuvola di punti 3D, aggiungi questo parametro alla categoria dell’etichetta e agli oggetti JSON dell’attributo del fotogramma per specificare se un worker può modificare o meno un attributo.  | 
| isRequired |  No  |  Booleano  |  Specifica se i worker sono tenuti ad annotare un attributo. I worker non possono inviare il processo finché non vengono annotati tutti gli attributi obbligatori.  | 

## Etichetta e quote dell'attributo di categoria dell’etichetta
<a name="sms-point-cloud-label-cat-limits"></a>

È possibile specificare fino a 10 attributi di categoria dell’etichetta per classe. Queste quote di 10 attributi includono gli attributi di categoria dell’etichetta globali. Ad esempio, se crei quattro attributi di categoria dell’etichetta globali e assegni tre attributi di categoria dell’etichetta all'etichetta `X`, tale etichetta avrà 4\$13=7 attributi di categoria dell’etichetta in totale. Per tutti i limiti di categoria dell’etichetta e dell’attributo di categoria dell’etichetta, fai riferimento alla tabella riportata di seguito.


****  

|  Tipo  |  Min  |  Max  | 
| --- | --- | --- | 
|  Etichette (`Labels`)  |  1  |  30  | 
|  Quota di caratteri per il nome dell'etichetta  |  1  |  16  | 
|  Attributi della categoria dell’etichetta per etichetta (somma di `categoryAttributes` e `categoryGlobalAttributes`)  |  0  |  10  | 
|  Attributi della categoria dell’etichetta con immissione di testo in forma libera per etichetta (somma di `categoryAttributes` e `categoryGlobalAttributes`).   | 0 | 5 | 
|  Attributi del fotogramma  |  0  |  10  | 
|  Attributi di immissione di testo in forma libera in `frameAttributes`.  | 0 | 5 | 
|  Quota di caratteri per il nome dell'attributo (`name`)  |  1  |  16  | 
|  Quota di caratteri per la descrizione dell’attributo (`description`)  |  0  |  128  | 
|  Quota di caratteri per il tipo di attributo (`type`)  |  1  |  16  | 
|  Valori consentiti nell'elenco `enum` per un attributo `string`  | 1 | 10 | 
|  Quota di caratteri per un valore nell'elenco `enum`  | 1 | 16 | 
| Numero massimo di caratteri nella risposta di testo in forma libera per testo in forma libera frameAttributes | 0 | 1000 | 
| Numero massimo di caratteri nella risposta di testo in forma libera per testo in forma libera categoryAttributes e categoryGlobalAttributes | 0 | 80 | 

# Utilizzare dati di input e output
<a name="sms-data"></a>

I dati di input che fornisci ad Amazon SageMaker Ground Truth vengono inviati ai tuoi lavoratori per l'etichettatura. Puoi scegliere i dati da inviare ai tuoi worker creando un unico file manifest che definisce tutti i dati che richiedono l'etichettatura o inviando oggetti dati di input a un processo di etichettatura in streaming continuo per essere etichettati in tempo reale. 

I dati di output sono il risultato del processo di etichettatura. Il file di dati di output, o *file manifest aumentato*, contiene i dati dell'etichetta di ogni oggetto inviato al processo di etichettatura e i metadati sull'etichetta assegnati agli oggetti dati.

Quando utilizzi la classificazione delle immagini (singola e multietichetta), la classificazione del testo (a etichetta singola e multipla), il rilevamento di oggetti e la segmentazione semantica integrate nei tipi di attività per creare un lavoro di etichettatura, puoi utilizzare il file manifesto aumentato risultante per avviare un processo di formazione. SageMaker [Per una dimostrazione di come utilizzare un manifesto aumentato per addestrare un modello di machine learning per il rilevamento di oggetti con Amazon SageMaker AI, consulta object\$1detection\$1augmented\$1manifest\$1training.ipynb.](https://sagemaker-examples.readthedocs.io/en/latest/ground_truth_labeling_jobs/object_detection_augmented_manifest_training/object_detection_augmented_manifest_training.html) Per ulteriori informazioni, consulta [File di manifesto aumentati nei job di addestramento](augmented-manifest.md).

**Topics**
+ [Dati di input](sms-data-input.md)
+ [Dati di input nuvola di punti 3D](sms-point-cloud-input-data.md)
+ [Dati di input di fotogrammi video](sms-video-frame-input-data-overview.md)
+ [Etichettatura dei dati di output di un processo](sms-data-output.md)

# Dati di input
<a name="sms-data-input"></a>

I dati di input sono gli oggetti dati che vengono inviati alla forza lavoro per l'etichettatura. Sono disponibili due modi per inviare oggetti dati a Ground Truth per l'etichettatura: 
+ Inviare un elenco di oggetti dati che richiedono l'etichettatura utilizzando un file manifest di input.
+ Inviare singoli oggetti dati in tempo reale a un processo di etichettatura in streaming e in esecuzione perpetua. 

Se disponi di un set di dati che deve essere etichettato una sola volta e non hai bisogno di un processo di etichettatura continuo, crea un processo di etichettatura standard utilizzando un file manifest di input. 

Se desideri inviare regolarmente nuovi oggetti dati al tuo processo di etichettatura dopo che è stato avviato, crea un processo di etichettatura in streaming. Quando crei un processo di etichettatura in streaming, puoi facoltativamente utilizzare un file manifest di input per specificare un gruppo di dati che desideri etichettare immediatamente all'avvio del processo. È possibile inviare continuamente nuovi oggetti dati a un processo di etichettatura in streaming purché sia attivo. 

**Nota**  
I lavori di SageMaker etichettatura in streaming sono supportati solo tramite l'API. Non è possibile creare un processo di etichettatura in streaming utilizzando la console SageMaker AI.

I seguenti tipi di attività hanno requisiti e opzioni speciali per i dati di input:
+ Per i requisiti dei dati di input dei processi di etichettatura della [nuvola di punti 3D](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud.html), consulta [Dati di input nuvola di punti 3D](sms-point-cloud-input-data.md). 
+ Per i requisiti relativi ai dati di input del processo di etichettatura di [frame video](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-video-task-types.html), consulta [Dati di input di fotogrammi video](sms-video-frame-input-data-overview.md).

**Topics**
+ [File di manifesto di input](sms-input-data-input-manifest.md)
+ [Automatizzare la configurazione dei dati per i processi di etichettatura](sms-console-create-manifest-file.md)
+ [Formati di dati supportati](sms-supported-data-formats.md)
+ [Processi di etichettatura in streaming Ground Truth](sms-streaming-labeling-job.md)
+ [Quote dei dati di input](input-data-limits.md)
+ [Selezionare dati per l’etichettatura](sms-data-filtering.md)

# File di manifesto di input
<a name="sms-input-data-input-manifest"></a>

Ogni riga di un file manifest di input è una voce contenente un oggetto, o un riferimento a un oggetto, da etichettare. Una voce può contenere anche etichette relative a processi precedenti e, per alcuni tipi di attività, informazioni aggiuntive. 

I dati di input e il file manifest devono essere archiviati in Amazon Simple Storage Service (Amazon S3). Ciascuno ha requisiti specifici di storage e accesso, come segue:
+ Il bucket Amazon S3 che contiene i dati di input deve trovarsi nella stessa AWS regione in cui è in esecuzione Amazon Ground Truth SageMaker . Devi consentire ad Amazon SageMaker AI di accedere ai dati archiviati nel bucket Amazon S3 in modo che possa leggerli. Per ulteriori informazioni sui bucket S3 Amazon, consulta [Working with Amazon S3 buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html). 
+ Il file manifesto deve trovarsi nella stessa AWS regione dei file di dati, ma non deve trovarsi nella stessa posizione dei file di dati. Può essere archiviato in qualsiasi bucket Amazon S3 accessibile al ruolo AWS Identity and Access Management (IAM) assegnato a Ground Truth al momento della creazione del processo di etichettatura.

**Nota**  
I [tipi di attività](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html) con nuvola di punti 3D e frame video hanno requisiti e attributi manifest di input diversi.   
Per i [tipi di attività nuvola di punti 3D](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud.html), fai riferimento a [File di manifesto di input per processi di etichettatura in una nuvola di punti 3D](sms-point-cloud-input-manifest.md).  
Per i [tipi di attività frame video](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-video-task-types.html), fai riferimento a [Creazione di un file manifesto di input di fotogrammi video](sms-video-manual-data-setup.md#sms-video-create-manifest).

Manifest è un file con codifica UTF-8 in cui ogni riga è un oggetto JSON completo e valido. Ogni riga è delimitata da un’interruzione di riga standard, \$1n oppure \$1r\$1n. Dal momento che ogni riga deve essere un oggetto JSON valido, i caratteri di interruzione di riga senza escape non sono consentiti. Per ulteriori informazioni sul formato dei dati, consulta [JSON Lines](http://jsonlines.org/).

Ogni oggetto JSON nel file manifest non può superare i 100.000 caratteri. Nessun singolo attributo all'interno di un oggetto può includere più di 20.000 caratteri. I nomi degli attributi non possono iniziare il segno del dollaro `$`.

Ogni oggetto JSON nel file manifest deve contenere una delle seguenti chiavi: `source-ref` o `source`. I valori delle chiavi sono interpretati come segue:
+ `source-ref`: l'origine dell'oggetto è l'oggetto Amazon S3 specificato nel valore. Utilizza questo valore quando l'oggetto è un oggetto binario, ad esempio un'immagine.
+ `source`: l'origine dell'oggetto è il valore. Utilizza questo valore quando l'oggetto è un valore di testo.



Di seguito è riportato un esempio di un file manifest per file archiviati in un bucket S3 Amazon:

```
{"source-ref": "S3 bucket location 1"}
{"source-ref": "S3 bucket location 2"}
   ...
{"source-ref": "S3 bucket location n"}
```

Utilizza la chiave `source-ref` dei file immagine per i processi di riquadro di delimitazione, classificazione delle immagini (a etichetta singola e multipla), segmentazione semantica e dei video clip per l'etichettatura della classificazione video. Anche i processi di etichettatura 3D con nuvole di punti e frame video utilizzano la chiave `source-ref`, ma questi processi di etichettatura richiedono informazioni aggiuntive nel file manifest di input. Per ulteriori informazioni, consulta [Dati di input nuvola di punti 3D](sms-point-cloud-input-data.md) e [Dati di input di fotogrammi video](sms-video-frame-input-data-overview.md).

Di seguito è riportato un esempio di un file manifest con dati di input archiviati nel manifest:

```
{"source": "Lorem ipsum dolor sit amet"}
{"source": "consectetur adipiscing elit"}
   ...
{"source": "mollit anim id est laborum"}
```

Utilizzo della chiave `source` per i processi di classificazione del testo con etichetta singola e multietichetta e riconoscimento entità denominate. 

Puoi includere altre coppie chiave-valore nel file manifest. Queste coppie vengono passate al file di output invariate. Ciò è utile quando desideri passare informazioni tra applicazioni. Per ulteriori informazioni, consulta [Etichettatura dei dati di output di un processo](sms-data-output.md).

# Automatizzare la configurazione dei dati per i processi di etichettatura
<a name="sms-console-create-manifest-file"></a>

Puoi utilizzare la configurazione automatica dei dati per creare file manifest per i tuoi processi di etichettatura nella console Ground Truth utilizzando immagini, video, frame video, file di testo (.txt) e file con valori separati da virgole (.csv) archiviati in Amazon S3. Quando utilizzi la configurazione automatica dei dati, specifichi una posizione Amazon S3 in cui sono archiviati i dati di input e il tipo di dati di input, e Ground Truth cerca i file che corrispondono a quel tipo nella posizione specificata.

**Nota**  
Ground Truth non utilizza una AWS KMS chiave per accedere ai dati di input né per scrivere il file manifest di input nella posizione Amazon S3 specificata. L'utente o il ruolo che crea il processo di etichettatura deve disporre delle autorizzazioni per accedere ai dati di input in Amazon S3.

Prima di utilizzare la procedura seguente, assicurati che le immagini o i file di input siano formattati correttamente:
+ File di immagine: i file di immagine devono rispettare i limiti di dimensione e risoluzione elencati nelle tabelle disponibili in [Quote di dimensione dei file di input](input-data-limits.md#input-file-size-limit). 
+ File di testo: i dati di testo possono essere memorizzati in uno o più file .txt. Ogni elemento che vuoi etichettare deve essere separato da un'interruzione di riga standard. 
+ File CSV: i dati di testo possono essere memorizzati in uno o più file .csv. Ogni elemento che vuoi etichettare deve trovarsi in una riga separata.
+ Video: i file video possono essere in uno dei seguenti formati: .mp4, .ogg e.webm. Se desideri estrarre frame video dai tuoi file video per il rilevamento o il monitoraggio di oggetti, consulta [Fornire file video](sms-point-cloud-video-input-data.md#sms-point-cloud-video-frame-extraction).
+ Frame video: i frame video sono immagini estratte da un video. Tutte le immagini estratte da un singolo video vengono chiamate *sequenze di frame video*. Ogni sequenza di frame video deve avere chiavi di prefisso univoche in Amazon S3. Per informazioni, consulta [Fornire fotogrammi video](sms-point-cloud-video-input-data.md#sms-video-provide-frames). Per questo tipo di dati, consulta [Configurare in modo automatico i dati di input nei frame video](sms-video-automated-data-setup.md)

**Importante**  
Per i processi di rilevamento di oggetti con frame video e di monitoraggio di oggetti con frame video, consulta [Configurare in modo automatico i dati di input nei frame video](sms-video-automated-data-setup.md) per informazioni su come utilizzare la configurazione automatica dei dati. 

Segui queste istruzioni per configurare automaticamente la connessione del set di dati di input con Ground Truth.

**Connetti automaticamente i dati in Amazon S3 con Ground Truth**

1. Vai alla pagina **Create labelling job** nella console Amazon SageMaker AI all'indirizzo [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/). 

   Questo link ti porta nella regione della Virginia del Nord ( AWS us-east-1). Se i dati di input si trovano in un bucket Amazon S3 in un'altra Regione, passa a quella Regione. Per cambiare la tua AWS regione, nella [barra di navigazione](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/getting-started.html#select-region), scegli il nome della regione attualmente visualizzata.

1. Seleziona **Crea processo di etichettatura**.

1. Inserisci un **Nome processo**. 

1. Nella sezione **Configurazione dei dati di input**, seleziona **Configurazione automatica dei dati**.

1. Inserisci un URI Amazon S3 per la **posizione S3 per i set di dati di input**. 

1. Specifica la **posizione S3 per i set di dati di output**. I dati di output vengono archiviati qui. 

1. Scegli il tuo **Tipo di dati** utilizzando l'elenco a discesa.

1. Utilizza il menu a discesa in **Ruolo IAM** per selezionare un ruolo di esecuzione. Se selezioni **Crea un nuovo ruolo**, specifica i bucket S3 Amazon a cui desideri concedere l'autorizzazione di accesso a questo ruolo. Questo ruolo deve avere l'autorizzazione ad accedere ai bucket S3 specificati nelle fasi 5 e 6.

1. Seleziona **Configurazione dei dati completa**.

Questo crea un manifest di input nella posizione Amazon S3 per i set di dati di input specificati nella fase 5. Se stai creando un processo di etichettatura utilizzando l' SageMaker API o un AWS SDK AWS CLI, utilizza l'URI di Amazon S3 per questo file manifest di input come input per il parametro. `ManifestS3Uri` 

La seguente GIF mostra come utilizzare la configurazione automatica dei dati per i dati delle immagini. Questo esempio creerà un file, `dataset-YYMMDDTHHMMSS.manifest` nel bucket S3 Amazon `example-groundtruth-images` dove `YYMMDDTHHmmSS` indica anno (`YY`), mese (`MM`), giorno (`DD`) e ora (`HH`), minuti (`mm`) e secondi (`ss`), in cui è stato creato il file manifest di input. 

![\[GIF che mostra come utilizzare la configurazione automatica per i dati delle immagini.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/gifs/automated-data-setup.gif)


# Formati di dati supportati
<a name="sms-supported-data-formats"></a>

Quando crei manualmente un file manifest di input per [tipi di attività predefiniti](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html), i dati di input devono essere in uno dei seguenti formati di file di supporto per il rispettivo tipo di dati di input. Per ulteriori informazioni sulla configurazione automatica dei dati, consulta [Automatizzare la configurazione dei dati per i processi di etichettatura](sms-console-create-manifest-file.md).

**Suggerimento**  
Quando si utilizza la configurazione automatica dei dati, è possibile utilizzare formati di dati aggiuntivi per generare un file manifest di input per tipi di attività basate su frame video e testo.


****  

| Tipi di attività | Tipo di dati di input | Formati supportati | Esempio di riga del manifest di input | 
| --- | --- | --- | --- | 
|  Riquadro di delimitazione, segmentazione semantica, classificazione delle immagini (etichetta singola e multietichetta), verifica e regolazione delle etichette  |  Immagine  |  .jpg, .jpeg, .png  |  <pre>{"source-ref": "s3://amzn-s3-demo-bucket1/example-image.png"}</pre>  | 
|  Riconoscimento di entità denominate, classificazione del testo (etichetta singola e multipla)  | Testo | Testo in formato raw |  <pre>{"source": "Lorem ipsum dolor sit amet"}</pre>  | 
|  Classificazione video  | Video clip | .mp4, .ogg e .webm |  <pre>{"source-ref": "s3:///example-video.mp4"}</pre>  | 
| Rilevamento di oggetti in un frame video, monitoraggio di oggetti in un frame video (riquadri di delimitazione, polilinee, poligoni o punti chiave) | Frame video e file di sequenza di frame video (per il monitoraggio di oggetti) |  **Frame video**: .jpg, .jpeg, .png **File di sequenza**: .json  | Fai riferimento a [Creazione di un file manifesto di input di fotogrammi video](sms-video-manual-data-setup.md#sms-video-create-manifest). | 
|  Segmentazione semantica di nuvole di punti 3D, rilevamento di oggetti con nuvole di punti 3D e Monitoraggio di oggetti con nuvole di punti 3D  | Nuvole di punti e file di sequenza di nuvole di punti (per monitoraggio di oggetti) |  **Nuvole di punti**: formato di pacchetto binario e ASCII. Per ulteriori informazioni, consulta [Formati dati 3D non elaborati accettati](sms-point-cloud-raw-data-types.md). **File di sequenza**: .json  | Fai riferimento a [File di manifesto di input per processi di etichettatura in una nuvola di punti 3D](sms-point-cloud-input-manifest.md). | 

# Processi di etichettatura in streaming Ground Truth
<a name="sms-streaming-labeling-job"></a>

Se desideri inviare continuamente nuovi oggetti di dati ad Amazon SageMaker Ground Truth per l'etichettatura, utilizza un processo di etichettatura in streaming. I processi di etichettatura in streaming ti consentono di:
+ Inviare in tempo reale nuovi oggetti del set di dati ai processi utilizzando un processo di etichettatura in esecuzione perpetua. I processi ricevono continuamente nuovi oggetti dati da etichettare finché il processo di etichettatura è attivo e gli vengono inviati nuovi oggetti.
+ Ottenere visibilità sul numero di oggetti che sono stati messi in coda e sono in attesa di essere etichettati. Utilizzare queste informazioni per controllare il flusso di oggetti dati inviati al tuo processo di etichettatura.
+ Ricevere in tempo reale i dati delle etichette per i singoli oggetti dati man mano che i worker finiscono di etichettarli. 

I processi di etichettatura in streaming di Ground Truth rimangono attivi fino a quando non vengono interrotti manualmente o sono rimasti inattivi per più di 10 giorni. È possibile inviare in modo intermittente nuovi oggetti dati ai worker mentre il processo di etichettatura è attivo.

Se sei un nuovo utente dei processi di etichettatura in streaming di Ground Truth, ti consigliamo di esaminare [Come funziona](#sms-streaming-how-it-works). 

Utilizza [Creare un processo di etichettatura in streaming](sms-streaming-create-job.md) per scoprire come creare un processo di etichettatura in streaming.

**Nota**  
I processi di etichettatura in streaming di Ground Truth sono supportati solo tramite l' SageMaker API.

## Come funziona
<a name="sms-streaming-how-it-works"></a>

Quando si crea un processo di etichettatura in streaming Ground Truth, il processo rimane attivo fino a quando non viene interrotto manualmente, non rimane attivo per più di 10 giorni o non è in grado di accedere alle fonti di dati di input. È possibile inviare in modo intermittente nuovi oggetti dati ai worker mentre è attivo. Un worker può continuare a ricevere nuovi oggetti dati in tempo reale purché il numero totale di attività correntemente disponibili per il worker sia inferiore al valore in [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-MaxConcurrentTaskCount](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-MaxConcurrentTaskCount). Altrimenti, l'oggetto di dati viene inviato a una coda che Ground Truth crea per tuo conto in [Amazon Simple Queue Service](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html) (Amazon SQS) per un'elaborazione successiva. Queste attività vengono inviate ai worker non appena il numero totale di attività correntemente disponibili per un worker scende al di sotto di `MaxConcurrentTaskCount`. Se un oggetto di dati non viene inviato a un worker dopo 14 giorni, esso scade. È possibile visualizzare il numero di attività nella coda in sospeso e modificare il numero di oggetti da inviare al processo di etichettatura. Ad esempio, è possibile ridurre la velocità di invio degli oggetti al processo di etichettatura se l'arretrato di oggetti in sospeso supera una soglia. 

**Topics**
+ [Come funziona](#sms-streaming-how-it-works)
+ [Inviare dati a un processo di etichettatura in streaming](sms-streaming-how-it-works-send-data.md)
+ [Gestire richieste di etichettatura con una coda Amazon SQS](sms-streaming-how-it-works-sqs.md)
+ [Ricevere dati di output da un processo di etichettatura in streaming](sms-streaming-how-it-works-output-data.md)
+ [Gestione di messaggi duplicati](sms-streaming-impotency.md)

# Inviare dati a un processo di etichettatura in streaming
<a name="sms-streaming-how-it-works-send-data"></a>

Facoltativamente, è possibile inviare i dati di input a un processo di etichettatura in streaming una sola volta quando si crea il processo di etichettatura utilizzando un file manifest di input. Una volta avviato il processo di etichettatura e lo stato è `InProgress`, puoi inviare nuovi oggetti dati al processo di etichettatura in tempo reale utilizzando l'argomento di input di Amazon SNS e le notifiche degli eventi di Amazon S3. 

***Invia oggetti dati all'avvio del processo di etichettatura (una sola volta):***
+ **Usa un file manifest di input**: puoi facoltativamente specificare un file manifest di input S3 URI Amazon in `ManifestS3Uri` quando crei il processo di etichettatura in streaming. Ground Truth, non appena inizia il processo di etichettatura, invia ai worker per l'etichettatura ogni oggetto di dati nel file manifest. Per ulteriori informazioni, consulta [Creazione di un file manifest (opzionale)](sms-streaming-manifest.md).

  Dopo aver inviato una richiesta per creare il processo di etichettatura in streaming, il relativo stato sarà `Initializing`. Una volta che il processo di etichettatura è attivo, lo stato cambia in `InProgress` ed è possibile iniziare a utilizzare le opzioni in tempo reale per inviare oggetti dati aggiuntivi per l'etichettatura. 

***Invia oggetti dati in tempo reale:***
+ **Invia oggetti dati utilizzando messaggi Amazon SNS**: puoi inviare nuovi oggetti dati Ground Truth da etichettare inviando un messaggio Amazon SNS. Invierai questo messaggio a un argomento di input di Amazon SNS che creerai e specificherai quando crei il processo di etichettatura in streaming. Per ulteriori informazioni, consulta [Inviare oggetti di dati tramite Amazon SNS](#sms-streaming-how-it-works-sns).
+ **Invia oggetti dati inserendoli in un bucket S3 Amazon**: ogni volta che aggiungi un nuovo oggetto dati a un bucket S3 Amazon, puoi richiedere a Ground Truth di elaborare quell'oggetto per l'etichettatura. A tale scopo, aggiungi una notifica di evento al bucket in modo che notifichi l'argomento di input di Amazon SNS ogni volta che viene aggiunto (o *creato*) un nuovo oggetto in quel bucket. Per ulteriori informazioni, consulta [Inviare oggetti di dati tramite Amazon S3](#sms-streaming-how-it-works-s3). Questa opzione non è disponibile per i processi di etichettatura basati su testo come la classificazione del testo e il riconoscimento di entità denominate. 
**Importante**  
Se utilizzi la configurazione S3 Amazon, non utilizzare la stessa posizione S3 Amazon per la configurazione dei dati di input e i dati di output. Quando crei un processo di etichettatura, specifichi il prefisso S3 per i dati di output.

## Inviare oggetti di dati tramite Amazon SNS
<a name="sms-streaming-how-it-works-sns"></a>

Puoi inviare oggetti dati al tuo processo di etichettatura in streaming con Amazon Simple Notification Service (Amazon SNS). Amazon SNS è un servizio Web che coordina e gestisce la consegna di messaggi da e verso gli *endpoint* (ad esempio, un indirizzo e-mail o AWS Lambda una funzione). Un *argomento* di Amazon SNS funge da canale di comunicazione tra due o più endpoint. Si usa Amazon SNS per inviare o *pubblicare* nuovi oggetti dati sull'argomento specificato nel parametro [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html) `SnsTopicArn` in `InputConfig`. Il formato di questi messaggi è lo stesso di una singola riga di un [file manifest di input](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-data-input.html). 

Ad esempio, è possibile inviare una parte di testo a un processo attivo di classificazione ed etichettatura del testo pubblicandola nell'argomento di input. Il messaggio pubblicato potrebbe essere simile al seguente:

```
{"source": "Lorem ipsum dolor sit amet"}
```

Per inviare un nuovo oggetto immagine a un processo di classificazione delle immagini, il messaggio potrebbe avere un aspetto simile al seguente:

```
{"source-ref": "s3://amzn-s3-demo-bucket/example-image.jpg"}
```

**Nota**  
Puoi anche includere chiavi di deduplicazione IDs e deduplicazione personalizzate nei tuoi messaggi Amazon SNS. Per ulteriori informazioni, consulta [Gestione di messaggi duplicati](sms-streaming-impotency.md).

Quando Ground Truth crea il tuo processo di etichettatura in streaming, sottoscrive l'argomento di input di Amazon SNS. 

## Inviare oggetti di dati tramite Amazon S3
<a name="sms-streaming-how-it-works-s3"></a>

Puoi inviare uno o più nuovi oggetti dati a un processo di etichettatura in streaming inserendoli in un bucket S3 Amazon configurato con una notifica di eventi Amazon SNS. Ogni volta che viene creato un nuovo oggetto nel tuo bucket puoi configurare un evento per notificare l'argomento di input di Amazon SNS. È necessario specificare lo stesso argomento di input di Amazon SNS nel parametro [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html) `SnsTopicArn` in `InputConfig`.

Ogni volta che configuri un bucket S3 Amazon per inviare notifiche ad Amazon SNS, Ground Truth pubblicherà un evento di test `"s3:TestEvent"` per garantire che l'argomento esista e che il proprietario del bucket S3 Amazon specificato sia autorizzato a pubblicare sull'argomento specificato. Si consiglia di configurare la connessione S3 Amazon con Amazon SNS prima di iniziare un processo di etichettatura in streaming. In caso contrario, questo evento di test può essere registrato come oggetto dati ed essere inviato a Ground Truth per l'etichettatura. 

**Importante**  
Se utilizzi la configurazione S3 Amazon, non utilizzare la stessa posizione S3 Amazon per la configurazione dei dati di input e i dati di output. Quando crei un processo di etichettatura, specifichi il prefisso S3 per i dati di output.  
Per i processi di etichettatura basati su immagini, Ground Truth richiede che tutti i bucket S3 abbiano una policy CORS collegata. Per ulteriori informazioni, consulta [Requisito CORS per i dati delle immagini di input](sms-cors-update.md).

Dopo aver configurato il bucket S3 Amazon e creato il processo di etichettatura, puoi aggiungere oggetti al bucket e Ground Truth invia l'oggetto ai worker o lo colloca nella coda Amazon SQS. 

Per ulteriori informazioni, consulta [Creazione di notifiche di eventi di bucket basate su Amazon S3, in base ad Amazon SNS definito nel processo di etichettatura](sms-streaming-s3-setup.md).

**Importante**  
Questa opzione non è disponibile per i processi di etichettatura basati su testo come la classificazione del testo e il riconoscimento di entità denominate.

# Gestire richieste di etichettatura con una coda Amazon SQS
<a name="sms-streaming-how-it-works-sqs"></a>

Quando Ground Truth crea il tuo processo di etichettatura in streaming, crea una coda Amazon SQS nell'account utilizzato per creare AWS il processo di etichettatura. Il nome della coda è `GroundTruth-labeling_job_name` dove `labeling_job_name` è il nome del processo di etichettatura, in lettere minuscole. Quando invii oggetti dati al tuo processo di etichettatura, Ground Truth invia gli oggetti dati direttamente ai worker o mette l'attività in coda per essere elaborata in un secondo momento. Se un oggetto di dati non viene inviato a un worker dopo 14 giorni, esso scade e viene rimosso dalla coda. In Amazon SQS puoi impostare un allarme per rilevare quando gli oggetti scadono e utilizzare questo meccanismo per controllare il volume di oggetti che invii al tuo processo di etichettatura.

**Importante**  
La modifica, l'eliminazione o l'invio di oggetti direttamente alla coda Amazon SQS associata al processo di etichettatura in streaming può causare errori nel processo. 

# Ricevere dati di output da un processo di etichettatura in streaming
<a name="sms-streaming-how-it-works-output-data"></a>

Il bucket di output di Amazon S3 viene aggiornato periodicamente con nuovi dati di output derivanti dal processo di etichettatura in streaming. Facoltativamente, puoi specificare un argomento di output di Amazon SNS. Ogni volta che un worker invia un oggetto etichettato, viene inviata una notifica con i dati di output a quell'argomento. È possibile sottoscrivere un endpoint all'argomento di output SNS per ricevere notifiche o attivare eventi quando si ricevono dati di output da un'attività di etichettatura. Utilizza un argomento di output di Amazon SNS se desideri eseguire il concatenamento in tempo reale a un altro processo di streaming e ricevere notifiche Amazon SNS ogni volta che un oggetto di dati viene inviato da un worker.

Per ulteriori informazioni, consulta [Iscrizione di un endpoint a un argomento di output Amazon SNS](sms-create-sns-input-topic.md#sms-streaming-subscribe-output-topic).

# Gestione di messaggi duplicati
<a name="sms-streaming-impotency"></a>

Per gli oggetti dati inviati in tempo reale, Ground Truth garantisce l'idempotenza assicurando che ogni oggetto univoco venga inviato per l'etichettatura una sola volta, anche se il messaggio di input che si riferisce a quell'oggetto viene ricevuto più volte (messaggi duplicati). A tale scopo, a ciascun oggetto di dati inviato a un processo di etichettatura in streaming viene assegnato un *ID di deduplicazione*, che viene identificato con una *chiave di deduplicazione*. Se invii le tue richieste di etichettatura degli oggetti dati direttamente tramite l'argomento di input di Amazon SNS utilizzando messaggi Amazon SNS, puoi facoltativamente scegliere una chiave di deduplicazione personalizzata e la deduplicazione per i tuoi oggetti. IDs Per ulteriori informazioni, consulta [Specificare una chiave e un ID di deduplicazione in un messaggio Amazon SNS](sms-streaming-impotency-create.md).

Se non fornisci una chiave di deduplicazione o se utilizzi la configurazione Amazon S3 per inviare oggetti dati al processo di etichettatura, Ground Truth utilizza uno dei seguenti come ID di deduplicazione:
+ Per i messaggi inviati direttamente all'argomento di input di Amazon SNS, Ground Truth utilizza l'ID messaggio SNS. 
+ Per i messaggi che provengono da una configurazione S3 Amazon, Ground Truth crea un ID di deduplicazione combinando l'URI S3 Amazon dell'oggetto con il [token sequencer](https://docs.aws.amazon.com/AmazonS3/latest/dev/notification-content-structure.html) nel messaggio.

# Specificare una chiave e un ID di deduplicazione in un messaggio Amazon SNS
<a name="sms-streaming-impotency-create"></a>

Quando invii un oggetto dati al processo di etichettatura in streaming utilizzando un messaggio Amazon SNS, hai la possibilità di specificare la chiave di deduplicazione e l'ID di deduplicazione in uno dei seguenti modi. In tutti questi scenari, identifica la tua chiave di deduplicazione con `dataset-objectid-attribute-name`.

**Porta la tua chiave di deduplicazione e il tuo ID**

Crea la tua chiave di deduplicazione e il tuo ID di deduplicazione configurando il messaggio Amazon SNS come segue. Sostituisci `byo-key` con la tua chiave e `UniqueId` con l'ID di deduplicazione per quell'oggetto di dati.

```
{
    "source-ref":"s3://amzn-s3-demo-bucket/prefix/object1", 
    "dataset-objectid-attribute-name":"byo-key",
    "byo-key":"UniqueId" 
}
```

La chiave di deduplicazione può contenere fino a 140 caratteri. I modelli supportati includono: `"^[$a-zA-Z0-9](-*[a-zA-Z0-9])*"`

L'ID di deduplicazione può contenere fino a 1.024 caratteri. I modelli supportati includono: `^(https|s3)://([^/]+)/?(.*)$`

**Usa una chiave esistente per la tua chiave di deduplicazione**

È possibile utilizzare una chiave esistente nel messaggio come chiave di deduplicazione. Quando si esegue questa operazione, il valore associato a quella chiave viene utilizzato come ID di deduplicazione. 

Ad esempio, è possibile specificare l'utilizzo della chiave `source-ref` come chiave di deduplicazione formattando il messaggio come segue: 

```
{
    "source-ref":"s3://amzn-s3-demo-bucket/prefix/object1",
    "dataset-objectid-attribute-name":"source-ref" 
}
```

In questo esempio, Ground Truth utilizza `"s3://amzn-s3-demo-bucket/prefix/object1"` come id di deduplicazione.

# Trovare la chiave e l’ID di deduplicazione nei dati di output
<a name="sms-streaming-impotency-output"></a>

Puoi vedere la chiave di deduplicazione e l'ID nei dati di output. La chiave di deduplicazione è identificata da `dataset-objectid-attribute-name`. Quando si utilizza una chiave di deduplicazione personalizzata, l'output contiene qualcosa di simile al seguente:

```
"dataset-objectid-attribute-name": "byo-key",
"byo-key": "UniqueId",
```

Quando non si specifica una chiave, è possibile trovare l'ID di deduplicazione assegnato da Ground Truth all'oggetto dati come segue. Il parametro `$label-attribute-name-object-id` identifica l'ID di deduplicazione. 

```
{
    "source-ref":"s3://bucket/prefix/object1", 
    "dataset-objectid-attribute-name":"$label-attribute-name-object-id"
    "label-attribute-name" :0,
    "label-attribute-name-metadata": {...},
    "$label-attribute-name-object-id":"<service-generated-key>"
}
```

In `<service-generated-key>`, se l'oggetto dati proviene da una configurazione S3 Amazon, Ground Truth aggiunge un valore univoco utilizzato dal servizio ed emette un nuovo campo con chiave da `$sequencer` che mostra il sequencer S3 Amazon utilizzato. Se l'oggetto è stato inviato direttamente a SNS, Ground Truth utilizza l'ID del messaggio SNS.

**Nota**  
Non utilizzare il carattere `$` nel nome dell'attributo dell'etichetta. 

# Quote dei dati di input
<a name="input-data-limits"></a>

I set di dati di input utilizzati nelle attività di etichettatura di segmentazione semantica hanno una quota di 20.000 elementi. Per tutti gli altri tipi di processi di etichettatura, la quota di dimensioni del set di dati è di 100.000 voci. Per richiedere un aumento della quota per i processi di etichettatura diversi dai processi di segmentazione semantica, esamina le procedure in [AWS Service Quotas ](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) per richiedere un aumento della quota.

I dati immagine di input per le attività di etichettatura di apprendimento attivo e non attivo non devono superare le quote di dimensione e risoluzione. L'*apprendimento attivo* si riferisce al processo di etichettatura che utilizza l'[etichettatura automatica dei dati](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-automated-labeling.html). L'*apprendimento non attivo* si riferisce ai processi di etichettatura che non utilizzano l'etichettatura automatica dei dati.

Si applicano quote aggiuntive per le categorie di etichette per tutti i tipi di attività e per i dati di input e gli attributi delle categorie di etichettatura per i tipi di attività con nuvole di punti 3D e frame video. 

## Quote di dimensione dei file di input
<a name="input-file-size-limit"></a>

I file di input non possono superare le seguenti quote di dimensione per le attività di etichettatura di apprendimento attivo e non attivo. Non è prevista una quota di dimensioni dei file di input per i video utilizzati nei processi di [classificazione ed etichettatura dei video](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-video-classification.html).


| Tipo di attività di etichettatura | Quote di dimensione dei file di input | 
| --- | --- | 
| Classificazione delle immagini | 40 MB | 
| Riquadro di delimitazione (rilevamento di oggetti) | 40 MB | 
| Segmentazione semantica | 40 MB | 
| Adattamento dell'etichetta del riquadro di delimitazione (rilevamento di oggetti) | 40 MB | 
| Adattamento dell'etichetta di segmentazione semantica | 40 MB | 
| Verifica dell'etichetta del riquadro di delimitazione (rilevamento di oggetti) | 40 MB | 
| Verifica dell'etichetta di segmentazione semantica | 40 MB | 

## Quote di risoluzione dell’immagine di input
<a name="non-active-learning-input-data-limits"></a>

La risoluzione del file immagine si riferisce al numero di pixel di un'immagine e determina la quantità di dettagli che un'immagine contiene. Le quote di risoluzione delle immagini variano a seconda del tipo di lavoro di etichettatura e dell'algoritmo integrato di SageMaker intelligenza artificiale utilizzato. Nella tabella seguente sono elencate le quote di risoluzione per le immagini utilizzate nei processi di etichettatura di apprendimento attivi e non attivi.


| Tipo di attività di etichettatura | **Quota di risoluzione - Apprendimento non attivo** | Quota di risoluzione - Apprendimento attivo | 
| --- | --- | --- | 
| Classificazione delle immagini | 100 milioni di pixel | 3840 x 2160 pixel (4 K) | 
| Riquadro di delimitazione (rilevamento di oggetti) | 100 milioni di pixel | 3840 x 2160 pixel (4 K) | 
| Segmentazione semantica | 100 milioni di pixel | 1920 x 1080 pixel (1080 p) | 
| Adattamento dell'etichetta di rilevamento oggetti | 100 milioni di pixel | 3840 x 2160 pixel (4 K) | 
| Adattamento dell'etichetta di segmentazione semantica | 100 milioni di pixel | 1920 x 1080 pixel (1080 p) | 
| Verifica dell'etichetta di rilevamento oggetti | 100 milioni di pixel | Non disponibile | 
| Verifica dell'etichetta di segmentazione semantica | 100 milioni di pixel | Non disponibile | 

## Categorie di etichette: Quote
<a name="sms-label-quotas"></a>

Ogni tipo di attività di etichettatura ha una quota per il numero di categorie di etichette che è possibile specificare. I worker selezionano le categorie di etichette per creare annotazioni. Ad esempio, è possibile specificare le categorie di etichette *automobile*, *pedone* e *ciclista* quando si crea un processo di etichettatura dei riquadri di delimitazione e i worker selezioneranno la categoria dell'automobile prima di disegnare riquadri di delimitazione *attorno alle auto*.

**Importante**  
I nomi delle categorie di etichette non possono superare i 256 caratteri.   
Tutte le categorie di etichette devono essere univoche. Non è possibile specificare categorie di etichette duplicate. 

I seguenti limiti per le categorie di etichette si applicano ai processi di etichettatura. Le quote per le categorie di etichette dipendono dal fatto che si utilizzi l'operazione SageMaker API `CreateLabelingJob` o la console per creare un processo di etichettatura.


****  

| Tipo di attività di etichettatura | Quota di categoria di etichette: API | Quota di categoria di etichette: Console | 
| --- | --- | --- | 
| Classificazione delle immagini (multi-etichetta) | 50 | 50 | 
| Classificazione delle immagini (etichetta singola) | Illimitato | 30 | 
| Riquadro di delimitazione (rilevamento di oggetti) | 50 | 50 | 
| Verifica dell'etichetta | Illimitato | 30 | 
| Segmentazione semantica (con apprendimento attivo) | 20 | 10 | 
| Segmentazione semantica (senza apprendimento attivo) | Illimitato | 10 | 
| Riconoscimento delle entità denominate | Illimitato | 30 | 
| Classificazione del testo (multi-etichetta) | 50 | 50 | 
| Classificazione del testo (etichetta singola) | Illimitato | 30 | 
| Classificazione video | 30 | 30 | 
| Rilevamento di oggetti in frame video | 30 | 30 | 
| Monitoraggio di oggetti con frame video | 30 | 30 | 
| Rilevamento di oggetti della nuvola di punti 3D | 30 | 30 | 
| Monitoraggio di oggetti della nuvola di punti 3D | 30 | 30 | 
| Segmentazione semantica della nuvola di punti 3D | 30 | 30 | 

## Quote del processo di etichettatura con IA generativa
<a name="gen-ai-labeling-job-quotas"></a>

Le seguenti quote si applicano alle coppie domanda-risposta fornite nell’applicazione di etichettatura.


| Tipo di quota | Quota dei dati | 
| --- | --- | 
| Coppie domanda-risposta | Minimo una coppia. Massimo 20 coppie. | 
| Numero di parole di una domanda | Minimo una parola. Massimo 200 parole. | 
| Numero di parole di una risposta | Minimo una parola. Massimo 200 parole. | 

## Quote del processo di etichettatura di nuvole di punti 3D e frame video
<a name="sms-input-data-quotas-other"></a>

Le seguenti quote si applicano ai dati di input dei processi di etichettatura con nuvole di punti 3D e frame video.


****  

| Tipo di attività di etichettatura | Quota dei dati di input | 
| --- | --- | 
| Rilevamento di oggetti in frame video  |  2.000 frame video (immagini) per sequenza  | 
| Rilevamento di oggetti in frame video  |  10 sequenze di frame video per file manifest | 
| Monitoraggio di oggetti con frame video |  2.000 frame video (immagini) per sequenza  | 
| Monitoraggio di oggetti con frame video |  10 sequenze di frame video per file manifest | 
| Rilevamento di oggetti della nuvola di punti 3D |  100.000 fotogrammi a nuvola di punti per processo di etichettatura | 
| Monitoraggio di oggetti della nuvola di punti 3D |  100.000 sequenze di fotogrammi a nuvola di punti per processo di etichettatura | 
| Monitoraggio di oggetti della nuvola di punti 3D |  500 fotogrammi di nuvola di punti in ogni file di sequenza. | 

Quando crei un frame video o un processo di etichettatura con nuvole di punti 3D, puoi aggiungere uno o più *attributi di categoria di etichette* a ciascuna categoria di etichette specificata per consentire ai worker di fornire maggiori informazioni su un'annotazione.

Ogni attributo di categoria dell'etichetta ha un singolo `name` attributo di categoria dell'etichetta e un elenco di una o più opzioni (valori) tra cui scegliere. Per ulteriori informazioni, consulta [Interfaccia utente dei worker](sms-point-cloud-general-information.md#sms-point-cloud-worker-task-ui) per i processi di etichettatura con nuvole di punti 3D e [Interfaccia utente dei worker](sms-video-overview.md#sms-video-worker-task-ui) per i processi di etichettatura di frame video. 

 Le seguenti quote si applicano al numero di attributi, nomi e valori delle categorie di etichette che è possibile specificare per i processi di etichettatura.


****  

| Tipo di attività di etichettatura | Quota dell'attributo della categoria dell'etichetta (nome) | Quota dell'attributo della categoria dell'etichetta | 
| --- | --- | --- | 
| Rilevamento di oggetti in frame video  | 10 | 10 | 
| Monitoraggio di oggetti con frame video | 10 | 10 | 
| Rilevamento di oggetti della nuvola di punti 3D | 10 | 10 | 
| Monitoraggio di oggetti della nuvola di punti 3D | 10 | 10 | 
| Segmentazione semantica della nuvola di punti 3D | 10 | 10 | 

# Selezionare dati per l’etichettatura
<a name="sms-data-filtering"></a>

Puoi utilizzare la console Amazon SageMaker AI per selezionare una parte del tuo set di dati per l'etichettatura. I dati devono essere archiviati in un bucket S3 Amazon. Sono disponibili tre opzioni:
+ Utilizzare il set di dati completo.
+ Scegliere un campione del set di dati selezionato casualmente.
+ Specificare un sottoinsieme del set di dati utilizzando una query.

Le seguenti opzioni sono disponibili nella sezione **Lavori di etichettatura** della [console SageMaker AI](https://console.aws.amazon.com/sagemaker/groundtruth) dopo aver selezionato **Crea** processo di etichettatura. Per informazioni su come creare un processo di etichettatura nella console, consulta [Nozioni di base: crea un processo di etichettatura dei riquadri delimitatori con Ground Truth](sms-getting-started.md). Per configurare il set di dati utilizzato per l'etichettatura, nella sezione **Panoramica dei processi** seleziona **Configurazione aggiuntiva**.

## Utilizzo del set di dati completo
<a name="sms-full-dataset"></a>

Quando scegli di utilizzare il **set di dati completo** devi fornire un file manifest per gli oggetti dati. Puoi fornire il percorso del bucket Amazon S3 che contiene il file manifest o utilizzare la console SageMaker AI per creare il file. Per informazioni su come creare un file manifest utilizzando la console, consulta [Automatizzare la configurazione dei dati per i processi di etichettatura](sms-console-create-manifest-file.md). 

## Scelta di un campione casuale
<a name="sms-random-dataset"></a>

Quando vuoi etichettare un sottoinsieme casuale di dati, seleziona **Campione casuale**. Il set di dati viene archiviato nel bucket S3 Amazon specificato nel campo **Posizione del set di dati di input**. 

Dopo aver specificato la percentuale di oggetti di dati che desideri includere nell'esempio, scegli **Crea** sottoinsieme. SageMaker L'intelligenza artificiale sceglie casualmente gli oggetti di dati per il tuo lavoro di etichettatura. Dopo aver selezionato gli oggetti, scegli **Usa questo sottoinsieme**. 

SageMaker L'IA crea un file manifesto per gli oggetti di dati selezionati. Inoltre modifica il valore nel campo **Posizione del set di dati di input** in modo da puntare al nuovo file manifest.

## Specificare un sottoinsieme
<a name="sms-select-dataset"></a>

**Amazon S3 Select**  
Amazon S3 Select non è più disponibile per i nuovi clienti. I clienti esistenti di Amazon S3 Select possono continuare a utilizzare la funzionalità come di consueto. Per ulteriori informazioni, consulta [How to optimize querying your data in Amazon S3](https://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/)

Puoi specificare un sottoinsieme degli oggetti dati utilizzando una query `SELECT` di S3 Amazon sui nomi di file di oggetti. 

L'istruzione `SELECT` della query SQL è definita per l'utente. La clausola `WHERE` serve a specificare quali oggetti dati devono essere restituiti.

Per ulteriori informazioni sull'istruzione `SELECT` di S3 Amazon, consulta [Selecting content from Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html).

Scegli **Crea sottoinsieme** per avviare la selezione, quindi seleziona **Usa questo sottoinsieme** per utilizzare i dati selezionati. 

SageMaker AI crea un file manifesto per gli oggetti dati selezionati. Aggiorna inoltre il campo **Posizione del set di dati di input** per puntare al nuovo file manifest.

# Dati di input nuvola di punti 3D
<a name="sms-point-cloud-input-data"></a>

Per creare un processo di etichettatura con nuvole di punti 3D, è necessario creare un file manifest di input. Utilizza questo argomento per conoscere i requisiti di formattazione del file manifest di input per ogni tipo di attività. Per informazioni sui formati di dati di input grezzi che Ground Truth accetta per i processi di etichettatura nuvola di punti 3D, consulta la sezione [Formati dati 3D non elaborati accettati](sms-point-cloud-raw-data-types.md).

Utilizza il [tipo di attività di etichettatura](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud-task-types.html) per scegliere un argomento su [File di manifesto di input per processi di etichettatura in una nuvola di punti 3D](sms-point-cloud-input-manifest.md) per conoscere i requisiti di formattazione per ogni riga del file manifest di input.

**Topics**
+ [Formati dati 3D non elaborati accettati](sms-point-cloud-raw-data-types.md)
+ [File di manifesto di input per processi di etichettatura in una nuvola di punti 3D](sms-point-cloud-input-manifest.md)
+ [Comprensione dei sistemi di coordinate e della fusione dei sensori](sms-point-cloud-sensor-fusion-details.md)

# Formati dati 3D non elaborati accettati
<a name="sms-point-cloud-raw-data-types"></a>

Ground Truth utilizza i dati della nuvola di punti 3D per eseguire il rendering di scene 3D annotate dai worker. In questa sezione vengono descritti i formati di dati non elaborati accettati per i dati delle nuvole di punti e i dati di fusione dei sensori per un frame di nuvola di punti. Per informazioni su come creare un file manifest di input per connettere i file di dati di input non elaborati con Ground Truth, consulta [File di manifesto di input per processi di etichettatura in una nuvola di punti 3D](sms-point-cloud-input-manifest.md).

Per ogni fotogramma, Ground Truth supporta i file Compact Binary Pack Format (.bin) e ASCII (.txt). Questi file contengono informazioni sulla posizione (coordinate `x`, `y` e `z`) di tutti i punti che compongono il frame e, facoltativamente, informazioni sul colore dei pixel di ciascun punto per le nuvole di punti colorate. Quando si crea un file manifest di input del processo di etichettatura con nuvole di punti 3D, è possibile specificare il formato dei dati non elaborati nel parametro `format`. 

Nella tabella seguente sono elencati gli elementi che Ground Truth supporta nei file fotogramma di nuvola di punti per descrivere i singoli punti. 


****  

| Symbol | Valore | 
| --- | --- | 
|  `x`  |  Coordinata x del punto.  | 
|  `y`  |  Coordinata y del punto.  | 
|  `z`  |  Coordinata z del punto.  | 
|  `i`  |  L'intensità del punto.  | 
|  `r`  |  Il componente canale di colore rosso. Un valore a 8 bit (0-255).  | 
|  `g`  |  Il componente canale di colore verde. Un valore a 8 bit (0-255)  | 
|  `b`  |  Il componente del canale di colore blu. Un valore a 8 bit (0-255)  | 

Ground Truth presuppone quanto segue sui dati di input:
+ Tutte le coordinate posizionali (x, y, z) sono espresse in metri. 
+ Tutte le intestazioni di posa (qx, qy, qz, qw) sono misurate in [quaternioni](https://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation) spaziali.

## Formato pacchetto binario compatto
<a name="sms-point-cloud-raw-data-cbpf-format"></a>

Il formato pacchetto binario compatto rappresenta una nuvola di punti come un insieme ordinato di un flusso di punti. Ogni punto del flusso è un pacchetto binario ordinato di valori in virgola mobile a 4 byte in alcune varianti del formato `xyzirgb`. Gli elementi `x`, `y` e `z` sono necessari e ulteriori informazioni su quel pixel possono essere incluse in diversi modi utilizzando `i`, `r`, `g` e `b`. 

Per utilizzare un file binario per inserire i dati del fotogramma nuvola di punti in un processo di etichettatura con nuvole di punti 3D Ground Truth, immetti `binary/` nel parametro `format` per il file manifest di input e sostituisci `` con l'ordine degli elementi in ogni pacchetto binario. Ad esempio, è possibile immettere una delle seguenti opzioni per il parametro `format`. 
+ `binary/xyzi`: quando si utilizza questo formato, il flusso dell'elemento punto sarebbe nel seguente ordine: `x1y1z1i1x2y2z2i2...`
+ `binary/xyzrgb`: quando si utilizza questo formato, il flusso dell'elemento punto sarebbe nel seguente ordine: `x1y1z1r1g1b1x2y2z2r2g2b2...`
+ `binary/xyzirgb`: quando si utilizza questo formato, il flusso dell'elemento punto sarebbe nel seguente ordine: `x1y1z1i1r1g1b1x2y2z2i2r2g2b2...`

Quando si utilizza un file binario per i dati frame nuvola di punti, se non si immette un valore per `format`, viene utilizzato il formato predefinito `binary/xyzi` del pacchetto. 

## Formato ASCII
<a name="sms-point-cloud-raw-data-ascii-format"></a>

Il formato ASCII utilizza un file di testo per rappresentare una nuvola di punti, in cui ogni riga del file nuvola di punti ASCII rappresenta un singolo punto. Ogni punto è una linea del file di testo e contiene valori separati da spazi bianchi, ognuno dei quali è un valore ASCII in virgola mobile a 4 byte. Gli elementi `x`, `y` e `z` sono necessari per ogni punto e ulteriori informazioni su quel punto possono essere incluse in diversi modi utilizzando `i`, `r`, `g` e `b`.

Per utilizzare un file di testo per inserire i dati del fotogramma di nuvola di punti in un processo di etichettatura di nuvole di punti Ground Truth 3D, immetti `text/` nel parametro `format` per il file manifesto di input e sostituisci `` con l'ordine degli elementi punto su ogni riga. 

Ad esempio, se immetti `text/xyzi` per `format`, il file di testo per ogni frame nuvola di punti dovrebbe essere simile al seguente: 

```
x1 y1 z1 i1
x2 y2 z2 i2
...
...
```

Se immetti `text/xyzrgb`, il file di testo dovrebbe essere simile al seguente: 

```
x1 y1 z1 r1 g1 b1
x2 y2 z2 r2 g2 b1
...
...
```

Quando utilizzi un file di testo per i dati frame della nuvola di punti, se non immetti un valore per `format`, verrà utilizzato il formato predefinito `text/xyzi`. 

## Limiti di risoluzione delle nuvole di punti
<a name="sms-point-cloud-resolution"></a>

Ground Truth non ha un limite di risoluzione per i fotogrammi di nuvole di punti 3D. Tuttavia, si consiglia di limitare ogni frame di nuvola di punti a 500K punti per ottenere prestazioni ottimali. Quando Ground Truth esegue il rendering della visualizzazione della nuvola di punti 3D, questo deve essere visualizzabile sui computer dei worker, il che dipende dall'hardware del computer dei worker. I frame di nuvola di punti superiori a 1 milione di punti potrebbero non essere visualizzati su macchine standard o richiedere troppo tempo per il caricamento. 

# File di manifesto di input per processi di etichettatura in una nuvola di punti 3D
<a name="sms-point-cloud-input-manifest"></a>

Quando si crea un processo di etichettatura, si fornisce un file manifest di input in cui ogni riga del manifest descrive un'unità di attività che deve essere completata dagli annotatori. Il formato del file manifest di input dipende dal tipo di attività. 
+ Se crei un processo di **rilevamento di oggetti** o di **segmentazione semantica** della nuvola di punti 3D, ogni riga del file manifest di input contiene informazioni su un singolo frame nuvola di punti 3D. Questo è chiamato *manifest di input del frame di nuvola di punti*. Per ulteriori informazioni, consulta [Creazione di un file manifest di input del frame di nuvola di punti](sms-point-cloud-single-frame-input-data.md). 
+ Se crei un processo di etichettatura di **tracciamento di oggetti** di nuvola di punti 3D, ogni riga del file manifest di input contiene una sequenza di frame di nuvola di punti 3D e dati associati. Questo è chiamato un *manifest di input della sequenza di nuvola di punti*. Per ulteriori informazioni, consulta [Creazione di un file manifest di input della sequenza di nuvole di punti](sms-point-cloud-multi-frame-input-data.md). 

# Creazione di un file manifest di input del frame di nuvola di punti
<a name="sms-point-cloud-single-frame-input-data"></a>

Il manifest è un file con codifica UTF-8 in cui ogni riga è un oggetto JSON completo e valido. Ogni riga è delimitata da un’interruzione di riga standard, \$1n oppure \$1r\$1n. Dal momento che ogni riga deve essere un oggetto JSON valido, i caratteri di interruzione di riga senza escape non sono consentiti. Nel file manifest di input a frame singolo, ogni riga del manifest contiene i dati per un singolo frame di nuvola di punti. I dati del frame di nuvola di punti possono essere memorizzati in formato binario o ASCII (vedi [Formati dati 3D non elaborati accettati](sms-point-cloud-raw-data-types.md)). Questa è la formattazione del file manifest necessaria per il rilevamento di oggetti nubi di punti 3D e la segmentazione semantica. Facoltativamente, è anche possibile fornire dati di fusione del sensore della telecamera per ogni frame della nuvola di punti. 

Ground Truth supporta la fusione del sensore della nuvola di punti e della videocamera nel [sistema di coordinate mondiale](sms-point-cloud-sensor-fusion-details.md#sms-point-cloud-world-coordinate-system) per tutte le modalità. Se è possibile ottenere il sensore 3D estrinseco (come un estrinseco LiDAR), si consiglia di trasformare i frame di nuvole di punti 3D nel sistema di coordinate mondiali utilizzando l'estrinseco. Per ulteriori informazioni, consulta [Fusione dei sensori](sms-point-cloud-sensor-fusion-details.md#sms-point-cloud-sensor-fusion). 

Tuttavia, se non è possibile ottenere una nuvola di punti nel sistema di coordinate mondiali, è possibile fornire le coordinate nel sistema di coordinate originale in cui sono stati acquisiti i dati. Se si forniscono i dati della telecamera per la fusione dei sensori, si consiglia di fornire il sensore LiDAR e la posizione della telecamera nel sistema di coordinate mondiali. 

Per creare un file manifest di input a frame singolo, si identificherà la posizione di ogni frame nuvola di punti che si desidera che i worker etichettino utilizzando la chiave `source-ref`. Inoltre, è necessario utilizzare la chiave `source-ref-metadata` per identificare il formato del set di dati, un timestamp per tale frame e, facoltativamente, i dati di fusione del sensore e le immagini della videocamera.

Nell'esempio seguente viene illustrata la sintassi utilizzata per un file manifest di input per un processo di etichettatura con nuvola di punti a frame singolo. L'esempio include due frame di nuvola di punti. Per informazioni dettagliate su ciascun parametro, consulta la tabella che segue questo esempio. 

**Importante**  
Ogni riga del file manifest di input deve essere in formato [JSON Lines](http://jsonlines.org/). Il seguente blocco di codice mostra un file di input di un file manifest con due oggetti JSON. Ogni oggetto JSON viene utilizzato per indicare e fornire dettagli su un fotogramma di nuvola di punti singolo. Gli oggetti JSON sono stati espansi per motivi di leggibilità, ma è necessario ridurre al minimo ogni oggetto JSON per adattarlo a una singola riga durante la creazione di un file manifest di input. Un esempio viene fornito in questo blocco di codice.

```
{
    "source-ref": "s3://amzn-s3-demo-bucket/examplefolder/frame1.bin",
    "source-ref-metadata":{
        "format": "binary/xyzi",
        "unix-timestamp": 1566861644.759115,
        "ego-vehicle-pose":{
            "position": {
                "x": -2.7161461413869947,
                "y": 116.25822288149078,
                "z": 1.8348751887989483
            },
            "heading": {
                "qx": -0.02111296123795955,
                "qy": -0.006495469416730261,
                "qz": -0.008024565904865688,
                "qw": 0.9997181192298087
            }
        },
        "prefix": "s3://amzn-s3-demo-bucket/lidar_singleframe_dataset/someprefix/",
        "images": [
        {
            "image-path": "images/frame300.bin_camera0.jpg",
            "unix-timestamp": 1566861644.759115,
            "fx": 847.7962624528487,
            "fy": 850.0340893791985,
            "cx": 576.2129134707038,
            "cy": 317.2423573573745,
            "k1": 0,
            "k2": 0,
            "k3": 0,
            "k4": 0,
            "p1": 0,
            "p2": 0,
            "skew": 0,
            "position": {
                "x": -2.2722515189268138,
                "y": 116.86003310568965,
                "z": 1.454614668542299
            },
            "heading": {
                "qx": 0.7594754093069037,
                "qy": 0.02181790885672969,
                "qz": -0.02461725233103356,
                "qw": -0.6496916273040025
            },
            "camera-model": "pinhole"
        }]
    }
}
{
    "source-ref": "s3://amzn-s3-demo-bucket/examplefolder/frame2.bin",
    "source-ref-metadata":{
        "format": "binary/xyzi",
        "unix-timestamp": 1566861632.759133,
        "ego-vehicle-pose":{
            "position": {
                "x": -2.7161461413869947,
                "y": 116.25822288149078,
                "z": 1.8348751887989483
            },
            "heading": {
                "qx": -0.02111296123795955,
                "qy": -0.006495469416730261,
                "qz": -0.008024565904865688,
                "qw": 0.9997181192298087
            }
        },
        "prefix": "s3://amzn-s3-demo-bucket/lidar_singleframe_dataset/someprefix/",
        "images": [
        {
            "image-path": "images/frame300.bin_camera0.jpg",
            "unix-timestamp": 1566861644.759115,
            "fx": 847.7962624528487,
            "fy": 850.0340893791985,
            "cx": 576.2129134707038,
            "cy": 317.2423573573745,
            "k1": 0,
            "k2": 0,
            "k3": 0,
            "k4": 0,
            "p1": 0,
            "p2": 0,
            "skew": 0,
            "position": {
                "x": -2.2722515189268138,
                "y": 116.86003310568965,
                "z": 1.454614668542299
            },
            "heading": {
                "qx": 0.7594754093069037,
                "qy": 0.02181790885672969,
                "qz": -0.02461725233103356,
                "qw": -0.6496916273040025
            },
            "camera-model": "pinhole"
        }]
    }
}
```

Quando crei un file manifest di input, è necessario ridurre gli oggetti JSON per adattarli a una singola riga. Ad esempio, in un file manifest di input, il blocco di codice precedente apparirebbe come segue:

```
{"source-ref":"s3://amzn-s3-demo-bucket/examplefolder/frame1.bin","source-ref-metadata":{"format":"binary/xyzi","unix-timestamp":1566861644.759115,"ego-vehicle-pose":{"position":{"x":-2.7161461413869947,"y":116.25822288149078,"z":1.8348751887989483},"heading":{"qx":-0.02111296123795955,"qy":-0.006495469416730261,"qz":-0.008024565904865688,"qw":0.9997181192298087}},"prefix":"s3://amzn-s3-demo-bucket/lidar_singleframe_dataset/someprefix/","images":[{"image-path":"images/frame300.bin_camera0.jpg","unix-timestamp":1566861644.759115,"fx":847.7962624528487,"fy":850.0340893791985,"cx":576.2129134707038,"cy":317.2423573573745,"k1":0,"k2":0,"k3":0,"k4":0,"p1":0,"p2":0,"skew":0,"position":{"x":-2.2722515189268138,"y":116.86003310568965,"z":1.454614668542299},"heading":{"qx":0.7594754093069037,"qy":0.02181790885672969,"qz":-0.02461725233103356,"qw":-0.6496916273040025},"camera-model":"pinhole"}]}}
{"source-ref":"s3://amzn-s3-demo-bucket/examplefolder/frame2.bin","source-ref-metadata":{"format":"binary/xyzi","unix-timestamp":1566861632.759133,"ego-vehicle-pose":{"position":{"x":-2.7161461413869947,"y":116.25822288149078,"z":1.8348751887989483},"heading":{"qx":-0.02111296123795955,"qy":-0.006495469416730261,"qz":-0.008024565904865688,"qw":0.9997181192298087}},"prefix":"s3://amzn-s3-demo-bucket/lidar_singleframe_dataset/someprefix/","images":[{"image-path":"images/frame300.bin_camera0.jpg","unix-timestamp":1566861644.759115,"fx":847.7962624528487,"fy":850.0340893791985,"cx":576.2129134707038,"cy":317.2423573573745,"k1":0,"k2":0,"k3":0,"k4":0,"p1":0,"p2":0,"skew":0,"position":{"x":-2.2722515189268138,"y":116.86003310568965,"z":1.454614668542299},"heading":{"qx":0.7594754093069037,"qy":0.02181790885672969,"qz":-0.02461725233103356,"qw":-0.6496916273040025},"camera-model":"pinhole"}]}}
```

La tabella seguente mostra i parametri che è possibile includere nel file manifest di input:


****  

|  Parametro  |  Obbligatorio  |  Valori accettati  |  Description  | 
| --- | --- | --- | --- | 
|  `source-ref`  |  Sì  |  Stringa **Formato valore stringa accettato**:  `s3://<bucket-name>/<folder-name>/point-cloud-frame-file`  |  Posizione Amazon S3 di un singolo fotogramma di nuvola di punti.  | 
|  `source-ref-metadata`  |  Sì  |  Oggetto JSON **Parametri accettati**:  `format`, `unix-timestamp`, `ego-vehicle-pose`, `position`, `prefix`, `images`  |  Utilizzare questo parametro per includere ulteriori informazioni sulla nuvola di punti in `source-ref` e per fornire i dati della telecamera per la fusione dei sensori.   | 
|  `format`  |  No  |  Stringa **Valori stringa accettati**: `"binary/xyz"`, `"binary/xyzi"`, `"binary/xyzrgb"`, `"binary/xyzirgb"`, `"text/xyz"`, `"text/xyzi"`, `"text/xyzrgb"`, `"text/xyzirgb"` **Valori predefiniti:**  Quando il file identificato in `source-ref` ha un'estensione.bin, `binary/xyzi` Quando il file identificato in `source-ref` ha un'estensione.txt, `text/xyzi`  |  Utilizza questo parametro per specificare il formato dei dati della nuvola di punti. Per ulteriori informazioni, consulta [Formati dati 3D non elaborati accettati](sms-point-cloud-raw-data-types.md).  | 
|  `unix-timestamp`  |  Sì  |  Numero Un timestamp unix.   |  Il timestamp unix è il numero di secondi dal 1° gennaio 1970 fino all'ora UTC in cui i dati sono stati raccolti da un sensore.   | 
|  `ego-vehicle-pose`  |  No  |  Oggetto JSON  |  La posa del dispositivo utilizzato per raccogliere i dati della nuvola di punti. Per ulteriori informazioni su questo parametro, consulta [Includi le informazioni sulla posa del veicolo nel file manifest di input](#sms-point-cloud-single-frame-ego-vehicle-input).  | 
|  `prefix`  |  No  |  Stringa **Formato valore stringa accettato**:  `s3://<bucket-name>/<folder-name>/`  |  La posizione in Amazon S3 in cui vengono memorizzati i metadati, ad esempio le immagini della telecamera, per questo fotogramma.  Il prefisso deve terminare con una barra: `/`.  | 
|  `images`  |  No  |  List  |  Un elenco di parametri che descrivono le immagini della telecamera a colori utilizzate per la fusione dei sensori. È possibile includere fino a 8 immagini in questo elenco. Per ulteriori informazioni sui parametri richiesti per ogni immagine, consulta [Inserimento dei dati della videocamera nel manifest di input](#sms-point-cloud-single-frame-image-input).   | 

## Includi le informazioni sulla posa del veicolo nel file manifest di input
<a name="sms-point-cloud-single-frame-ego-vehicle-input"></a>

Utilizza la posizione del veicolo ego per fornire informazioni sulla posizione del veicolo utilizzato per acquisire i dati delle nuvole di punti. Ground Truth utilizza queste informazioni per calcolare la matrice estrinseca LiDAR. 

Ground Truth utilizza matrici estrinseche per proiettare etichette da e verso la scena 3D e le immagini 2D. Per ulteriori informazioni, consulta [Fusione dei sensori](sms-point-cloud-sensor-fusion-details.md#sms-point-cloud-sensor-fusion).

Nella tabella seguente vengono fornite ulteriori informazioni sui parametri `position` e orientamento (`heading`) necessari quando si forniscono informazioni sul veicolo ego. 


****  

|  Parametro  |  Obbligatorio  |  Valori accettati  |  Description  | 
| --- | --- | --- | --- | 
|  `position`  |  Sì  |  Oggetto JSON **Parametri obbligatori**: `x`, `y` e `z`. Immetti i numeri per questi parametri.   |  Il vettore di traslazione del veicolo ego nel sistema di coordinate mondiale.   | 
|  `heading`  |  Sì  |  Oggetto JSON **Parametri obbligatori**: `qx`, `qy`, `qz` e `qw`. Immetti i numeri per questi parametri.   |  L'orientamento del frame di riferimento del dispositivo o del sensore montato sul veicolo che rileva l'ambiente circostante, misurato in [quaternioni](https://en.wikipedia.org/wiki/Quaternion), (`qx`, `qy`, `qz`, `qw`) in un sistema di coordinate.  | 

## Inserimento dei dati della videocamera nel manifest di input
<a name="sms-point-cloud-single-frame-image-input"></a>

Per includere i dati della videocamera in un frame, utilizza i seguenti parametri per fornire informazioni su ciascuna immagine. La colonna **Obbligatorio** riportata di seguito si applica quando il parametro `images` è incluso nel file manifest di input in `source-ref-metadata`. Non è necessario includere immagini nel file manifest di input. 

Se includi immagini della videocamera, è necessario includere informazioni sui parametri `position` e `heading` utilizzare la cattura delle immagini nel sistema di coordinate mondiali.

Se le immagini sono distorte, Ground Truth può automaticamente annullarle utilizzando le informazioni fornite sull'immagine nel file manifest di input, inclusi i coefficienti di distorsione (`k1`, `k2`, `k3`, `k4`, `p1`, `p1`), il modello della telecamera e la matrice intrinseca della telecamera. La matrice intrinseca è costituita dalla lunghezza focale (`fx`, `fy`) e dal punto principale (`cx`, `cy)`. Consulta [Matrice intrinseca](sms-point-cloud-sensor-fusion-details.md#sms-point-cloud-intrinsic) per scoprire come Ground Truth utilizza le funzioni intrinseche della telecamera. Se i coefficienti di distorsione non sono inclusi, Ground Truth non altera un'immagine. 


****  

|  Parametro  |  Obbligatorio  |  Valori accettati  |  Description  | 
| --- | --- | --- | --- | 
|  `image-path`  |  Sì  |  Stringa **Esempio di formato**:  `<folder-name>/<imagefile.png>`  |  La posizione relativa all'interno di Amazon S3 del file di immagine. Questo percorso relativo verrà aggiunto al percorso specificato in `prefix`.   | 
|  `unix-timestamp`  |  Sì  |  Numero  |  Il timestamp unix è il numero di secondi dal 1° gennaio 1970 fino all'ora UTC in cui i dati sono stati raccolti da una fotocamera.   | 
|  `camera-model`  |  No  |  Stringa: **Valori accettati**: `"pinhole"`, `"fisheye"` **Default**: `"pinhole"`  |  Il modello della telecamera utilizzata per catturare l'immagine. Queste informazioni vengono utilizzate per non distorcere le immagini della telecamera.   | 
|  `fx, fy`  |  Sì  |  Numeri  |  La lunghezza focale della telecamera, nelle direzioni x (`fx`) e y (`fy`).  | 
|  `cx, cy`  |  Sì  | Numeri |  Le coordinate x (`cx`) e y (`cy`) del punto principale.   | 
|  `k1, k2, k3, k4`  |  No  |  Numero  |  Coefficienti di distorsione radiale. Supportato sia per i modelli di fotocamere **fisheye** e a **foro stenopeico**.   | 
|  `p1, p2`  |  No  |  Numero  |  Coefficienti di distorsione tangenziale. Supportato per i modelli di fotocamera a **foro stenopeico**.  | 
|  `skew`  |  No  |  Numero  |  Parametro per misurare l'inclinazione di un'immagine.   | 
|  `position`  |  Sì  |  Oggetto JSON **Parametri obbligatori**: `x`, `y` e `z`. Immetti i numeri per questi parametri.   | La posizione o l'origine del frame di riferimento della telecamera montata sul veicolo che cattura le immagini. | 
|  `heading`  |  Sì  |  Oggetto JSON **Parametri obbligatori**: `qx`, `qy`, `qz` e `qw`. Immetti i numeri per questi parametri.   |  L'orientamento del fotogramma di riferimento della telecamera montata sul veicolo che cattura le immagini, misurato utilizzando [quaternioni](https://en.wikipedia.org/wiki/Quaternion), (`qx`, `qy`, `qz`, `qw`), nel sistema di coordinate mondiali.   | 

## Limiti dei fotogrammi della nuvola di punti
<a name="sms-point-cloud-single-frame-limits"></a>

È possibile includere fino a 100.000 fotogrammi della nuvola di punti nel file manifest di input. Il processo di etichettatura con nuvola di punti 3D ha tempi di pre-elaborazione più lunghi rispetto ad altri tipi di attività di Ground Truth. Per ulteriori informazioni, consulta [Tempo di pre-elaborazione di un processo](sms-point-cloud-general-information.md#sms-point-cloud-job-creation-time).

# Creazione di un file manifest di input della sequenza di nuvole di punti
<a name="sms-point-cloud-multi-frame-input-data"></a>

Il manifest è un file con codifica UTF-8 in cui ogni riga è un oggetto JSON completo e valido. Ogni riga è delimitata da un’interruzione di riga standard, \$1n oppure \$1r\$1n. Dal momento che ogni riga deve essere un oggetto JSON valido, i caratteri di interruzione di riga senza escape non sono consentiti. Nel file manifest di input della sequenza di nuvola di punti, ogni riga del manifest contiene una sequenza di frame di nuvola di punti. I dati della nuvola di punti per ogni frame della sequenza possono essere memorizzati in formato binario o ASCII. Per ulteriori informazioni, consulta [Formati dati 3D non elaborati accettati](sms-point-cloud-raw-data-types.md). Questa è la formattazione del file manifest necessaria per il tracciamento di oggetti nuvola di punti 3D. Facoltativamente, è anche possibile fornire dati relativi all'attributo dei punti e alla fusione dei sensori della telecamera per ogni frame della nuvola di punti. Quando crei un file manifest di input di sequenza, devi fornire i dati di fusione dei sensori e della videocamera e LiDAR in un [sistema di coordinate mondiali](sms-point-cloud-sensor-fusion-details.md#sms-point-cloud-world-coordinate-system). 

Nell'esempio seguente viene illustrata la sintassi utilizzata per un file manifest di input quando ogni riga del manifest è un file di sequenza. Ogni riga del file manifest di input deve essere in formato [JSON Lines](http://jsonlines.org/).

```
{"source-ref": "s3://amzn-s3-demo-bucket/example-folder/seq1.json"}
{"source-ref": "s3://amzn-s3-demo-bucket/example-folder/seq2.json"}
```

I dati per ogni sequenza di frame di nuvola di punti devono essere memorizzati in un oggetto dati JSON. Di seguito è riportato un esempio del formato utilizzato per un file di sequenza. Le informazioni su ogni frame sono incluse come oggetto JSON e sono elencate in `frames`. Questo è un esempio di file di sequenza con file di frame a due nuvole di punti, `frame300.bin` e `frame303.bin`. *...*Viene utilizzato per indicare dove è necessario includere informazioni per frame aggiuntivi. Aggiungi un oggetto JSON per ogni fotogramma della sequenza.

Il seguente blocco di codice include un oggetto JSON per un singolo file di sequenza. L'oggetto JSON è stato espanso per garantire la leggibilità.

```
{
  "seq-no": 1,
  "prefix": "s3://amzn-s3-demo-bucket/example_lidar_sequence_dataset/seq1/",
  "number-of-frames": 100,
  "frames":[
    {
        "frame-no": 300, 
        "unix-timestamp": 1566861644.759115, 
        "frame": "example_lidar_frames/frame300.bin", 
        "format": "binary/xyzi", 
        "ego-vehicle-pose":{
            "position": {
                "x": -2.7161461413869947,
                "y": 116.25822288149078,
                "z": 1.8348751887989483
            },
            "heading": {
                "qx": -0.02111296123795955,
                "qy": -0.006495469416730261,
                "qz": -0.008024565904865688,
                "qw": 0.9997181192298087
            }
        }, 
        "images": [
        {
            "image-path": "example_images/frame300.bin_camera0.jpg",
            "unix-timestamp": 1566861644.759115,
            "fx": 847.7962624528487,
            "fy": 850.0340893791985,
            "cx": 576.2129134707038,
            "cy": 317.2423573573745,
            "k1": 0,
            "k2": 0,
            "k3": 0,
            "k4": 0,
            "p1": 0,
            "p2": 0,
            "skew": 0,
            "position": {
                "x": -2.2722515189268138,
                "y": 116.86003310568965,
                "z": 1.454614668542299
            },
            "heading": {
                "qx": 0.7594754093069037,
                "qy": 0.02181790885672969,
                "qz": -0.02461725233103356,
                "qw": -0.6496916273040025
            },
            "camera-model": "pinhole"
        }]
    },
    {
        "frame-no": 303, 
        "unix-timestamp": 1566861644.759115, 
        "frame": "example_lidar_frames/frame303.bin", 
        "format": "text/xyzi", 
        "ego-vehicle-pose":{...}, 
        "images":[{...}]
    },
     ...
  ]
}
```

La tabella seguente fornisce dettagli sui parametri di primo livello di un file di sequenza. Per informazioni dettagliate sui parametri richiesti per i singoli frame nel file di sequenza, consulta [Parametri per singoli frame di nuvole di punti](#sms-point-cloud-multi-frame-input-single-frame).


****  

|  Parametro  |  Obbligatorio  |  Valori accettati  |  Description  | 
| --- | --- | --- | --- | 
|  `seq-no`  |  Sì  |  Numero intero  |  Il numero ordinato della sequenza.   | 
|  `prefix`  |  Sì  |  Stringa **Valori accettati**: `s3://<bucket-name>/<prefix>/`  |  Posizione Amazon S3 in cui si trovano i file di sequenza.  Il prefisso deve terminare con una barra: `/`.  | 
|  `number-of-frames`  |  Sì  |  Numero intero  |  Numero totale di frame inclusi nel file di sequenza. Questo numero deve corrispondere al numero totale di frame elencati nel parametro `frames` nella riga successiva.  | 
|  `frames`  |  Sì  |  Elenco degli oggetti JSON  |  Un elenco di dati frame. La lunghezza dell'elenco deve essere uguale `number-of-frames`. Nell'interfaccia utente di lavoro, i frame in una sequenza saranno uguali all'ordine dei frame in questo array.  Per ulteriori informazioni sul formato di ogni frame, consulta [Parametri per singoli frame di nuvole di punti](#sms-point-cloud-multi-frame-input-single-frame).   | 

## Parametri per singoli frame di nuvole di punti
<a name="sms-point-cloud-multi-frame-input-single-frame"></a>

La tabella seguente mostra i parametri che è possibile includere nel file manifest di input.


****  

|  Parametro  |  Obbligatorio  |  Valori accettati  |  Description  | 
| --- | --- | --- | --- | 
|  `frame-no`  |  No  |  Numero intero  |  Il numero di frame. Si tratta di un identificatore opzionale specificato dal cliente per identificare il frame all'interno di una sequenza. Non è utilizzato da Ground Truth.  | 
|  `unix-timestamp`  |  Sì  |  Numero  |  Il timestamp unix è il numero di secondi dal 1° gennaio 1970 fino all'ora UTC in cui i dati sono stati raccolti da un sensore.  Il timestamp per ogni frame deve essere diverso e i timestamp devono essere sequenziali perché vengono utilizzati per l'interpolazione cuboide. Idealmente, questo dovrebbe essere il timestamp reale al momento della raccolta dei dati. Se questo non è disponibile, è necessario utilizzare una sequenza incrementale di timestamp, in cui il primo frame del file di sequenza corrisponde al primo timestamp della sequenza.  | 
|  `frame`  |  Sì  |  Stringa **Esempio di formato** `<folder-name>/<sequence-file.json>`  |  La posizione relativa, in Amazon S3, del file di sequenza. Questo percorso relativo verrà aggiunto al percorso specificato in `prefix`.  | 
|  `format`  |  No  |  Stringa **Valori stringa accettati**: `"binary/xyz"`, `"binary/xyzi"`, `"binary/xyzrgb"`, `"binary/xyzirgb"`, `"text/xyz"`, `"text/xyzi"`, `"text/xyzrgb"`, `"text/xyzirgb"` **Valori predefiniti:**  Quando il file identificato in `source-ref` ha un'estensione.bin, `binary/xyzi` Quando il file identificato in `source-ref` ha un'estensione.txt, `text/xyzi`  |  Utilizza questo parametro per specificare il formato dei dati della nuvola di punti. Per ulteriori informazioni, consulta [Formati dati 3D non elaborati accettati](sms-point-cloud-raw-data-types.md).  | 
|  `ego-vehicle-pose`  |  No  |  Oggetto JSON  |  La posa del dispositivo utilizzato per raccogliere i dati della nuvola di punti. Per ulteriori informazioni su questo parametro, consulta [Includi le informazioni sulla posa del veicolo nel file manifest di input](#sms-point-cloud-multi-frame-ego-vehicle-input).  | 
|  `prefix`  |  No  |  Stringa **Formato valore stringa accettato**:  `s3://<bucket-name>/<folder-name>/`  |  La posizione in Amazon S3 in cui vengono memorizzati i metadati, ad esempio le immagini della telecamera, per questo fotogramma.  Il prefisso deve terminare con una barra: `/`.  | 
|  `images`  |  No  |  List  |  Elenco dei parametri che descrivono le immagini della telecamera a colori utilizzate per la fusione dei sensori. È possibile includere fino a 8 immagini in questo elenco. Per ulteriori informazioni sui parametri richiesti per ogni immagine, consulta [Inserimento dei dati della telecamera nel manifest di input](#sms-point-cloud-multi-frame-image-input).   | 

## Includi le informazioni sulla posa del veicolo nel file manifest di input
<a name="sms-point-cloud-multi-frame-ego-vehicle-input"></a>

Utilizza la posizione del veicolo ego per fornire informazioni sulla posizione del veicolo utilizzato per acquisire i dati delle nuvole di punti. Ground Truth utilizza queste informazioni per calcolare le matrici estrinseche LiDAR. 

Ground Truth utilizza matrici estrinseche per proiettare etichette da e verso la scena 3D e le immagini 2D. Per ulteriori informazioni, consulta [Fusione dei sensori](sms-point-cloud-sensor-fusion-details.md#sms-point-cloud-sensor-fusion).

Nella tabella seguente vengono fornite ulteriori informazioni sui parametri `position` e orientamento (`heading`) necessari quando si forniscono informazioni sul veicolo ego. 


****  

|  Parametro  |  Obbligatorio  |  Valori accettati  |  Description  | 
| --- | --- | --- | --- | 
|  `position`  |  Sì  |  Oggetto JSON **Parametri obbligatori**: `x`, `y` e `z`. Immetti i numeri per questi parametri.   |  Il vettore di traslazione del veicolo ego nel sistema di coordinate mondiale.   | 
|  `heading`  |  Sì  |  Oggetto JSON **Parametri obbligatori**: `qx`, `qy`, `qz` e `qw`. Immetti i numeri per questi parametri.   |  L'orientamento del frame di riferimento del dispositivo o del sensore montato sul veicolo che rileva l'ambiente circostante, misurato in [quaternioni](https://en.wikipedia.org/wiki/Quaternion), (`qx`, `qy`, `qz`, `qw`) in un sistema di coordinate.  | 

## Inserimento dei dati della telecamera nel manifest di input
<a name="sms-point-cloud-multi-frame-image-input"></a>

Per includere i dati della telecamera a colori in un frame, utilizza i seguenti parametri per fornire informazioni su ciascuna immagine. La colonna **Obbligatorio** della tabella seguente si applica quando il parametro `images` è incluso nel file manifest di input. Non è necessario includere immagini nel file manifest di input. 

Se si includono immagini della telecamera, è necessario includere informazioni sulla posizione `position` e sull’orientamento (`heading`) della telecamera utilizzata per catturare le immagini. 

Se le immagini sono distorte, Ground Truth può automaticamente annullarle utilizzando le informazioni fornite sull'immagine nel file manifest di input, inclusi i coefficienti di distorsione (`k1`, `k2`, `k3`, `k4`, `p1`, `p1`), il modello della telecamera e la lunghezza focale (`fx`, `fy`) e il punto principale (`cx`, `cy)`. Per ulteriori informazioni su questi coefficienti e immagini non distorte, consulta [Camera calibration with OpenCV](https://docs.opencv.org/2.4.13.7/doc/tutorials/calib3d/camera_calibration/camera_calibration.html). Se i coefficienti di distorsione non sono inclusi, Ground Truth non altera un'immagine. 


****  

|  Parametro  |  Obbligatorio  |  Valori accettati  |  Description  | 
| --- | --- | --- | --- | 
|  `image-path`  |  Sì  |  Stringa **Esempio di formato**:  `<folder-name>/<imagefile.png>`  |  La posizione relativa all'interno di Amazon S3 del file di immagine. Questo percorso relativo verrà aggiunto al percorso specificato in `prefix`.   | 
|  `unix-timestamp`  |  Sì  |  Numero  |  Il timestamp dell'immagine.   | 
|  `camera-model`  |  No  |  Stringa: **Valori accettati**: `"pinhole"`, `"fisheye"` **Default**: `"pinhole"`  |  Il modello della telecamera utilizzata per catturare l'immagine. Queste informazioni vengono utilizzate per non distorcere le immagini della telecamera.   | 
|  `fx, fy`  |  Sì  |  Numeri  |  La lunghezza focale della telecamera, nelle direzioni x (`fx`) e y (`fy`).  | 
|  `cx, cy`  |  Sì  | Numeri |  Le coordinate x (`cx`) e y (`cy`) del punto principale.   | 
|  `k1, k2, k3, k4`  |  No  |  Numero  |  Coefficienti di distorsione radiale. Supportato sia per i modelli di fotocamere **fisheye** e a **foro stenopeico**.   | 
|  `p1, p2`  |  No  |  Numero  |  Coefficienti di distorsione tangenziale. Supportato per i modelli di fotocamera a **foro stenopeico**.  | 
|  `skew`  |  No  |  Numero  |  Parametro per misurare qualsiasi inclinazione nota nell'immagine.  | 
|  `position`  |  Sì  |  Oggetto JSON **Parametri obbligatori**: `x`, `y` e `z`. Immetti i numeri per questi parametri.   |  La posizione o l'origine del frame di riferimento della telecamera montata sul veicolo che cattura le immagini.  | 
|  `heading`  |  Sì  |  Oggetto JSON **Parametri obbligatori**: `qx`, `qy`, `qz` e `qw`. Immetti i numeri per questi parametri.   |  L'orientamento del frame di riferimento della telecamera montata sul veicolo che cattura le immagini, misurato utilizzando [quaternioni](https://en.wikipedia.org/wiki/Quaternion), `qx`, (`qy`, `qz`, `qw`).   | 

## Limiti dei frame del file di sequenza e della nuvola di punti
<a name="sms-point-cloud-multi-frame-limits"></a>

È possibile includere fino a 100.000 sequenze di frame di nuvola di punti nel file manifest di input. È possibile includere fino a 500 frame di nuvola di punti in ogni file di sequenza. 

Tieni presente che il processo di etichettatura con nuvola di punti 3D ha tempi di pre-elaborazione più lunghi rispetto ad altri tipi di attività Ground Truth. Per ulteriori informazioni, consulta [Tempo di pre-elaborazione di un processo](sms-point-cloud-general-information.md#sms-point-cloud-job-creation-time).

# Comprensione dei sistemi di coordinate e della fusione dei sensori
<a name="sms-point-cloud-sensor-fusion-details"></a>

I dati della nuvola di punti si trovano sempre in un sistema di coordinate. Questo sistema di coordinate può essere locale per il veicolo o il dispositivo che rileva l'ambiente circostante oppure può essere un sistema di coordinate mondiali. Quando si utilizzano processi di etichettatura con nuvole di punti Ground Truth 3D, tutte le annotazioni vengono generate utilizzando il sistema di coordinate dei dati di input. Per alcuni tipi di attività e funzionalità di etichettatura dei processi, è necessario fornire i dati in un sistema di coordinate mondiali 

In questo argomento verranno illustrate le seguenti informazioni:
+ Quando è *necessario fornire* dati di input in un sistema di coordinate mondiali o in un sistema di riferimento globale.
+ Che cos'è una coordinata mondiale e come convertire i dati della nuvola di punti in un sistema di coordinate mondiale. 
+ Come è possibile utilizzare le matrici estrinseche del sensore e della telecamera per fornire dati di posa quando si utilizza la fusione dei sensori. 

## Coordinamento dei requisiti di sistema per i processi di etichettatura
<a name="sms-point-cloud-sensor-fusion-coordinate-requirements"></a>

Se i dati della nuvola di punti sono stati raccolti in un sistema di coordinate locale, è possibile utilizzare una matrice estrinseca del sensore utilizzato per raccogliere i dati per convertirli in un sistema di coordinate mondiali o in un quadro di riferimento globale. Se non è possibile ottenere una matrice estrinseca per i dati della nuvola di punti e, di conseguenza, non è possibile ottenere nuvole di punti in un sistema di coordinate mondiale, è possibile fornire dati di nuvole di punti in un sistema di coordinate locale per i tipi di attività di rilevamento di oggetti nuvola di punti 3D e segmentazione semantica. 

Per il tracciamento degli oggetti, è necessario fornire i dati della nuvola di punti in un sistema di coordinate mondiale. Questo perché quando si tracciano oggetti su più frame, il veicolo ego stesso si muove nel mondo e quindi tutti i frame hanno bisogno di un punto di riferimento. 

Se si includono i dati della telecamera per la fusione dei sensori, si consiglia di fornire le posizioni della telecamera nello stesso sistema di coordinate mondiali del sensore 3D (ad esempio un sensore LiDAR). 

## Utilizzo dei dati delle nuvole di punti in un sistema di coordinate mondiali
<a name="sms-point-cloud-world-coordinate-system"></a>

Questa sezione spiega cos'è un sistema di coordinate mondiali (WCS), noto anche come *quadro di riferimento globale*, e spiega come è possibile fornire dati delle nuvole di punti in un sistema di coordinate mondiali.

### Che cos'è un sistema di coordinate mondiali?
<a name="sms-point-cloud-what-is-wcs"></a>

Un WCS o un quadro globale di riferimento è un sistema di coordinate universale fisso in cui sono posizionati i sistemi di coordinate del veicolo e del sensore. Ad esempio, se più frame di nuvole di punti si trovano in sistemi di coordinate diversi perché sono stati raccolti da due sensori, è possibile utilizzare un WCS per tradurre tutte le coordinate di questi frame di nuvole di punti in un unico sistema di coordinate, in cui tutti i frame hanno la stessa origine, (0,0). Questa trasformazione viene eseguita traslando l'origine di ciascun frame all'origine del WCS utilizzando un vettore di traslazione e ruotando i tre assi (tipicamente x, y e z) nell'orientamento corretto utilizzando una matrice di rotazione. Questa trasformazione del corpo rigido è chiamata *trasformazione omogenea*.

Un sistema di coordinate mondiali è importante per la pianificazione globale dei percorsi, la localizzazione, la mappatura e la gestione delle simulazioni degli scenari. Ground Truth utilizza il sistema di coordinate mondiali cartesiane destrorso come quello definito nello standard [ISO 8855](https://www.iso.org/standard/51180.html), in cui l'asse x è rivolto in avanti verso il movimento dell'auto, l'asse y è a sinistra e l'asse z punta verso l'alto da terra. 

Il quadro globale di riferimento dipende dai dati. Alcuni set di dati utilizzano la posizione LiDAR nel primo frame come origine. In questo scenario, tutti i frame utilizzano il primo frame come riferimento e l'intestazione e la posizione del dispositivo saranno vicini all'origine nel primo frame. Ad esempio, i dataset KITTI hanno il primo frame come riferimento per le coordinate mondiali. Altri set di dati forniscono una posizione del dispositivo che è diversa dall'origine.

Notate che questo non è il sistema di GPS/IMU coordinate, che in genere viene ruotato di 90 gradi lungo l'asse z. Se i dati della nuvola di punti si trovano in un sistema di GPS/IMU coordinate (come OXTS nel set di dati open source AV KITTI), è necessario trasformare l'origine in un sistema di coordinate mondiale (in genere il sistema di coordinate di riferimento del veicolo). È possibile applicare questa trasformazione moltiplicando i dati con i parametri di trasformazione (matrice di rotazione e vettore di traslazione). Questo trasformerà i dati dal suo sistema di coordinate originale in un sistema di coordinate di riferimento globale. Ulteriori informazioni su questa trasformazione sono disponibili nella sezione successiva. 

### Conversione dei dati di nuvole di punti 3D in un WCS
<a name="sms-point-cloud-coordinate-system-general"></a>

Ground Truth presuppone che i dati della nuvola di punti siano già stati trasformati in un sistema di coordinate di riferimento scelto. Ad esempio, è possibile scegliere il sistema di coordinate di riferimento del sensore (ad esempio LiDAR) come sistema di coordinate di riferimento globale. È inoltre possibile prendere nuvole di punti da vari sensori e trasformarle dalla vista del sensore alla vista del sistema di coordinate di riferimento del veicolo. È possibile utilizzare la matrice estrinseca di un sensore, costituita da una matrice di rotazione e da un vettore di traslazione, per convertire i dati della nuvola di punti in un WCS o un quadro di riferimento globale. 

Collettivamente, il vettore di traslazione e la matrice di rotazione possono essere utilizzati per formare una *matrice estrinseca*, che può essere utilizzata per convertire i dati da un sistema di coordinate locale a un WCS. Ad esempio, la matrice estrinseca LiDAR può essere composta come segue, dove `R` è la matrice di rotazione e `T` è il vettore di traslazione:

```
LiDAR_extrinsic = [R T;0 0 0 1]
```

Ad esempio, il set di dati KITTI a guida autonoma include una matrice di rotazione e un vettore di traslazione per la matrice di trasformazione estrinseca LiDAR per ogni frame. Il modulo Python [pykitti](https://github.com/utiasSTARS/pykitti) può essere utilizzato per caricare i dati KITTI e, nel set di dati `dataset.oxts[i].T_w_imu` genera la trasformazione estrinseca LiDAR per il `i`° frame che può essere moltiplicato con i punti in quel frame per convertirli in un frame mondiale: `np.matmul(lidar_transform_matrix, points)`. Se un punto nel frame LiDAR viene moltiplicato per una matrice estrinseca LiDAR, si trasforma in coordinate mondiali. Moltiplicando un punto nel frame mondiale con la matrice estrinseca della telecamera, si ottengono le coordinate del punto nel frame di riferimento della telecamera.

Nell'esempio di codice seguente viene illustrato come convertire i frame di nuvole di punti dal set di dati KITTI in un WCS. 

```
import pykitti
import numpy as np

basedir = '/Users/nameofuser/kitti-data'
date = '2011_09_26'
drive = '0079'

# The 'frames' argument is optional - default: None, which loads the whole dataset.
# Calibration, timestamps, and IMU data are read automatically. 
# Camera and velodyne data are available via properties that create generators
# when accessed, or through getter methods that provide random access.
data = pykitti.raw(basedir, date, drive, frames=range(0, 50, 5))

# i is frame number
i = 0

# lidar extrinsic for the ith frame
lidar_extrinsic_matrix = data.oxts[i].T_w_imu

# velodyne raw point cloud in lidar scanners own coordinate system
points = data.get_velo(i)

# transform points from lidar to global frame using lidar_extrinsic_matrix
def generate_transformed_pcd_from_point_cloud(points, lidar_extrinsic_matrix):
    tps = []
    for point in points:
        transformed_points = np.matmul(lidar_extrinsic_matrix, np.array([point[0], point[1], point[2], 1], dtype=np.float32).reshape(4,1)).tolist()
        if len(point) > 3 and point[3] is not None:
            tps.append([transformed_points[0][0], transformed_points[1][0], transformed_points[2][0], point[3]])
       
    return tps
    
# customer transforms points from lidar to global frame using lidar_extrinsic_matrix
transformed_pcl = generate_transformed_pcd_from_point_cloud(points, lidar_extrinsic_matrix)
```

## Fusione dei sensori
<a name="sms-point-cloud-sensor-fusion"></a>

Ground Truth supporta la fusione dei sensori dei dati della nuvola di punti con un massimo di 8 ingressi di videocamere. Questa funzione consente agli etichettatori umani di visualizzare la cornice della nuvola di punti 3D side-by-side con la cornice video sincronizzata. Oltre a fornire un contesto visivo più ampio per l'etichettatura, la fusione dei sensori consente ai worker di regolare le annotazioni nella scena 3D e nelle immagini 2D e la regolazione viene proiettata nell'altra vista. Il video seguente mostra un processo di etichettatura di nuvole di punti 3D con LiDAR e fusione dei sensori della telecamera. 

![\[GIF che mostra un processo di etichettatura in una nuvola di punti 3D con LiDAR e la fusione dei sensori della telecamera.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/gifs/object_tracking/sensor-fusion.gif)


Per ottenere risultati ottimali, quando si utilizza la fusione di sensori, la nuvola di punti deve trovarsi in un WCS. Ground Truth utilizza le informazioni sulla posizione del sensore (come LiDAR), della telecamera e del veicolo ego per calcolare le matrici estrinseche e intrinseche per la fusione dei sensori. 

### Matrice estrinseca
<a name="sms-point-cloud-extrinsics"></a>

Ground Truth utilizza matrici estrinseche del sensore (come LiDAR) ed estrinseche e intrinseche della telecamera per proiettare oggetti da e verso il frame di riferimento dei dati della nuvola di punti al frame di riferimento della telecamera. 

Ad esempio, per proiettare un'etichetta dalla nuvola di punti 3D al piano dell'immagine della telecamera, Ground Truth trasforma i punti 3D dal sistema di coordinate LiDAR al sistema di coordinate della telecamera. Ciò avviene in genere trasformando prima i punti 3D del sistema di coordinate LiDAR in un sistema di coordinate mondiale (o un quadro di riferimento globale) utilizzando la matrice estrinseca LiDAR. Ground Truth utilizza quindi l'estrinseco inverso della telecamera (che converte i punti da un quadro di riferimento globale al quadro di riferimento della telecamera) per trasformare i punti 3D del sistema di coordinate mondiali ottenuto nella fase precedente nel piano dell'immagine della telecamera. La matrice estrinseca LiDAR può anche essere utilizzata per trasformare i dati 3D in un sistema di coordinate mondiali. Se i dati 3D sono già trasformati in un sistema di coordinate mondiali, la prima trasformazione non ha alcun impatto sulla traslazione delle etichette e la traslazione delle etichette dipende solo dall'estrinseca inversa della telecamera. Una matrice di viste viene utilizzata per visualizzare le etichette proiettate. Per ulteriori informazioni su queste trasformazioni e sulla matrice della visualizzazione, consulta [Trasformazioni della fusione dei sensori Ground Truth](#sms-point-cloud-extrinsic-intrinsic-explanation).

 Ground Truth calcola queste matrici estrinseche utilizzando LiDAR e i *dati di posizione* della telecamera forniti dall'utente: `heading` (in quaternioni: `qx`, `qy`, `qz` e `qw`) e `position` (`x`, `y`, `z`). Per il veicolo, tipicamente la direzione e la posizione sono descritte nel quadro di riferimento del veicolo in un sistema di coordinate mondiali e sono chiamate *posa di un veicolo ego*. Per ogni telecamera estrinseca, è possibile aggiungere informazioni sulla posa per quella telecamera. Per ulteriori informazioni, consulta [Posa](#sms-point-cloud-pose).

### Matrice intrinseca
<a name="sms-point-cloud-intrinsic"></a>

Ground Truth utilizza le matrici estrinseche e intrinseche della telecamera per calcolare i parametri di visualizzazione per trasformare le etichette da e verso la scena 3D alle immagini della telecamera. Ground Truth calcola la matrice intrinseca della telecamera utilizzando la lunghezza focale della stessa (`fx`, `fy`) e le coordinate del centro ottico (`cx`, `cy`) fornite dall'utente. Per ulteriori informazioni, consulta [Intrinseca e distorsione](#sms-point-cloud-camera-intrinsic-distortion).

### Distorsione immagine
<a name="sms-point-cloud-image-distortion"></a>

La distorsione dell'immagine può verificarsi per una serie di motivi. Ad esempio, le immagini possono essere distorte a causa degli effetti barile o fish-eye. Ground Truth utilizza parametri intrinsechi insieme al coefficiente di distorsione per non distorcere le immagini fornite durante la creazione di processi di etichettatura con nuvole di punti 3D. Se la distorsione di un'immagine della telecamera è già stata annullata, tutti i coefficienti di distorsione devono essere impostati su 0.

Per ulteriori informazioni sulle trasformazioni eseguite da Ground Truth per annullare la distorsione delle immagini, consulta [Calibrazioni telecamera: estrinseca, intrinseca e distorsione](#sms-point-cloud-extrinsic-camera-explanation).

### Veicolo Ego
<a name="sms-point-cloud-ego-vehicle"></a>

Per raccogliere dati per applicazioni di guida autonome, le misurazioni utilizzate per generare dati di nuvole di punti vengono prese da sensori montati su un veicolo o sul *veicolo ego*. Per proiettare le regolazioni delle etichette da e verso la scena 3D e le immagini 2D, Ground Truth richiede che il veicolo ego si trovi in un sistema di coordinate mondiali. La posizione del veicolo ego comprende coordinate di posizione e quaternione di orientamento. 

 Ground Truth usa la posa del veicolo ego per calcolare le matrici di rotazione e le trasformazioni. Le rotazioni in 3 dimensioni possono essere rappresentate da una sequenza di 3 rotazioni intorno a una sequenza di assi. In teoria, tre assi che attraversano lo spazio euclideo 3D sono sufficienti. In pratica, gli assi di rotazione sono scelti come vettori di base. Si prevede che le tre rotazioni rientrino in un sistema di riferimento globale (estrinseco). Ground Truth non ha un sistema di riferimento (intrinseco) centrato sul corpo di supporto che è collegato all’oggetto in rotazione e si muove con esso. Per tracciare gli oggetti, Ground Truth deve misurare da un riferimento globale in cui tutti i veicoli sono in movimento. Quando si utilizzano processi di etichettatura di nuvole di punti Ground Truth 3D, z specifica l'asse di rotazione (rotazione estrinseca) e gli angoli di Eulero di imbardata sono espressi in radianti (angolo di rotazione).

### Posa
<a name="sms-point-cloud-pose"></a>

Ground Truth utilizza le informazioni di posa per le visualizzazioni 3D e la fusione dei sensori. Le informazioni di posa inserite attraverso il file manifest vengono utilizzate per calcolare matrici estrinseche. Se si dispone già di una matrice estrinseca, è possibile utilizzarla per estrarre i dati del sensore e della posa della telecamera. 

Ad esempio nel dataset KITTI a guida autonoma, il modulo Python [pykitti](https://github.com/utiasSTARS/pykitti) può essere utilizzato per caricare i dati KITTI. Nel set di dati `dataset.oxts[i].T_w_imu` fornisce la trasformazione estrinseca LiDAR per il `i`° frame e può essere moltiplicato con i punti per inserirli in un frame mondiale - `matmul(lidar_transform_matrix, points)`. Questa trasformazione può essere convertita in posizione (vettore di traslazione) e intestazione (in quaternione) di LiDAR per il formato JSON del file manifest di input. La trasformazione estrinseca della telecamera per `cam0` nel `i`° frame può essere calcolata da `inv(matmul(dataset.calib.T_cam0_velo, inv(dataset.oxts[i].T_w_imu)))` e questo può essere convertito in titolo e posizione per `cam0`.

```
import numpy

rotation = [[ 9.96714314e-01, -8.09890350e-02,  1.16333982e-03],
 [ 8.09967396e-02,  9.96661051e-01, -1.03090934e-02],
 [-3.24531964e-04,  1.03694477e-02,  9.99946183e-01]]
 
origin= [1.71104606e+00,
          5.80000039e-01,
          9.43144935e-01]

         
from scipy.spatial.transform import Rotation as R

# position is the origin
position = origin 
r = R.from_matrix(np.asarray(rotation))

# heading in WCS using scipy 
heading = r.as_quat()
print(f"pose:{position}\nheading: {heading}")
```

**Position**  
Nel file manifest di input, `position` si riferisce alla posizione del sensore rispetto a un frame mondiale. Se non si riesce a inserire la posizione del dispositivo in un sistema di coordinate mondiali, è possibile utilizzare i dati LiDAR con coordinate locali. Allo stesso modo, per le videocamere montate è possibile specificare la posizione e l'intestazione in un sistema di coordinate mondiali. Per la telecamera, se non si dispone di informazioni sulla posizione, utilizzare (0, 0, 0). 

Di seguito sono riportati i campi nell'oggetto posizione:

1.  `x` (in virgola mobile): coordinata x del veicolo ego, del sensore o della posizione della telecamera in metri. 

1.  `y` (in virgola mobile): coordinata y del veicolo ego, del sensore o della posizione della telecamera in metri. 

1.  `z` (in virgola mobile): coordinata z del veicolo ego, del sensore o della posizione della telecamera in metri. 

Di seguito è riportato un esempio di un oggetto JSON `position`: 

```
{
    "position": {
        "y": -152.77584902657554,
        "x": 311.21505956090624,
        "z": -10.854137529636024
      }
}
```

**Heading**  
Nel file manifest di input, `heading` è un oggetto che rappresenta l'orientamento di un dispositivo rispetto al frame mondiale. I valori delle intestazioni devono essere in quaternione. Un [quaternione](https://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation) è una rappresentazione dell'orientamento coerente con le proprietà sferiche geodesiche. Se non riesci a inserire l'intestazione del sensore nelle coordinate mondiali, usa il quaternione dell'identità `(qx = 0, qy = 0, qz = 0, qw = 1)`. Allo stesso modo, per le telecamere, specifica l'intestazione in quaternioni. Se non riesci a ottenere parametri estrinseci di calibrazione della telecamera, utilizza anche il quaternione di identità. 

I campi nell'oggetto `heading` sono i seguenti:

1.  `qx` (in virgola mobile): componente x del veicolo ego, del sensore o dell'orientamento della telecamera. 

1.  `qy` (in virgola mobile): componente y del veicolo ego, del sensore, o dell'orientamento della telecamera. 

1.  `qz` (in virgola mobile): componente z del veicolo ego, del sensore o dell'orientamento della telecamera. 

1. `qw` (in virgola mobile): componente w del veicolo ego, del sensore o dell'orientamento della telecamera. 

Di seguito è riportato un esempio di un oggetto JSON `heading`: 

```
{
    "heading": {
        "qy": -0.7046155108831117,
        "qx": 0.034278837280808494,
        "qz": 0.7070617895701465,
        "qw": -0.04904659893885366
      }
}
```

Per ulteriori informazioni, consulta [Calcolo dei quaternioni e della posizione di orientamento](#sms-point-cloud-ego-vehicle-orientation).

## Calcolo dei quaternioni e della posizione di orientamento
<a name="sms-point-cloud-ego-vehicle-orientation"></a>

Ground Truth richiede che tutti i dati di orientamento, o intestazione, siano forniti in quaternioni. Un [quaternione](https://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation) è una rappresentazione dell'orientamento coerente con proprietà sferiche geodesiche che possono essere utilizzate per approssimare la rotazione. Rispetto agli [angoli di Eulero](https://en.wikipedia.org/wiki/Euler_angles) sono più semplici da comporre ed evitano il problema del [blocco cardanico](https://en.wikipedia.org/wiki/Gimbal_lock). Rispetto alle matrici di rotazione sono più compatti, più stabili numericamente e più efficienti. 

È possibile calcolare quaternioni da una matrice di rotazione o da una matrice di trasformazione.

Se si dispone di una matrice di rotazione (composta dalle rotazioni degli assi) e vettore di traslazione (o origine) nel sistema di coordinate mondiali invece di una singola matrice di trasformazione rigida 4x4, è possibile utilizzare direttamente la matrice di rotazione e il vettore di traslazione per calcolare i quaternioni. Librerie come [scipy](https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.transform.Rotation.html) e [pyqaternion ](http://kieranwynn.github.io/pyquaternion/#explicitly-by-rotation-or-transformation-matrix) possono aiutare. Il seguente blocco di codice mostra un esempio che utilizza queste librerie per calcolare il quaternione da una matrice di rotazione. 

```
import numpy

rotation = [[ 9.96714314e-01, -8.09890350e-02,  1.16333982e-03],
 [ 8.09967396e-02,  9.96661051e-01, -1.03090934e-02],
 [-3.24531964e-04,  1.03694477e-02,  9.99946183e-01]]
 
origin = [1.71104606e+00,
          5.80000039e-01,
          9.43144935e-01]

         
from scipy.spatial.transform import Rotation as R
# position is the origin
position = origin 
r = R.from_matrix(np.asarray(rotation))
# heading in WCS using scipy 
heading = r.as_quat()
print(f"position:{position}\nheading: {heading}")
```

Anche uno strumento UI come il [3D Rotation Converter](https://www.andre-gaschler.com/rotationconverter/) può essere utile.

Se si dispone di una matrice di trasformazione estrinseca 4x4, si noti che la matrice di trasformazione è nel formato `[R T; 0 0 0 1]` dove `R` è la matrice di rotazione e `T` è il vettore di traslazione dell'origine. Ciò significa che è possibile estrarre la matrice di rotazione e il vettore di traslazione dalla matrice di trasformazione come segue.

```
import numpy as np

transformation 
= [[ 9.96714314e-01, -8.09890350e-02,  1.16333982e-03, 1.71104606e+00],
   [ 8.09967396e-02,  9.96661051e-01, -1.03090934e-02, 5.80000039e-01],
   [-3.24531964e-04,  1.03694477e-02,  9.99946183e-01, 9.43144935e-01],
   [              0,               0,               0,              1]]

transformation  = np.array(transformation )
rotation = transformation[0:3,0:3]
translation= transformation[0:3,3]

from scipy.spatial.transform import Rotation as R
# position is the origin translation
position = translation
r = R.from_matrix(np.asarray(rotation))
# heading in WCS using scipy 
heading = r.as_quat()
print(f"position:{position}\nheading: {heading}")
```

Con la tua configurazione, puoi calcolare una matrice di trasformazione estrinseca utilizzando la GPS/IMU posizione e l'orientamento (latitudine, longitudine, altitudine e rollio, inclinazione, imbardata) rispetto al sensore LiDAR sul veicolo ego. Ad esempio, è possibile calcolare la posa dai dati grezzi KITTI utilizzando `pose = convertOxtsToPose(oxts)` per trasformare i dati oxts in pose euclidee locali, specificate da matrici di trasformazione rigide 4x4. Puoi quindi trasformare questa matrice di trasformazione posa in un frame di riferimento globale utilizzando la matrice di trasformazione dei frame di riferimento nel sistema di coordinate mondiali.

```
struct Quaternion
{
    double w, x, y, z;
};

Quaternion ToQuaternion(double yaw, double pitch, double roll) // yaw (Z), pitch (Y), roll (X)
{
    // Abbreviations for the various angular functions
    double cy = cos(yaw * 0.5);
    double sy = sin(yaw * 0.5);
    double cp = cos(pitch * 0.5);
    double sp = sin(pitch * 0.5);
    double cr = cos(roll * 0.5);
    double sr = sin(roll * 0.5);

    Quaternion q;
    q.w = cr * cp * cy + sr * sp * sy;
    q.x = sr * cp * cy - cr * sp * sy;
    q.y = cr * sp * cy + sr * cp * sy;
    q.z = cr * cp * sy - sr * sp * cy;

    return q;
}
```

## Trasformazioni della fusione dei sensori Ground Truth
<a name="sms-point-cloud-extrinsic-intrinsic-explanation"></a>

Le sezioni seguenti illustrano in modo più dettagliato le trasformazioni di fusione dei sensori Ground Truth eseguite utilizzando i dati di posa forniti.

### LiDAR estrinseco
<a name="sms-point-cloud-extrinsic-lidar-explanation"></a>

Per proiettare da e verso una scena LiDAR 3D su un'immagine di una telecamera 2D, Ground Truth calcola le rigide metriche di proiezione della trasformazione utilizzando la posizione e la direzione del veicolo ego. Ground Truth calcola la rotazione e la traslazione delle coordinate di un mondo nel piano 3D eseguendo una semplice sequenza di rotazioni e traslazioni. 

Ground Truth calcola i parametri di rotazione utilizzando i quaternioni di intestazione come segue:

![\[Equazione: metriche di rotazione in una nuvola di punti Ground Truth.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/sms-point-cloud-rotation-matrix.png)


Qui, `[x, y, z, w]` corrisponde ai parametri dell'oggetto JSON `heading` `[qx, qy, qz, qw]`. Ground Truth calcola il vettore della colonna di traduzione come `T = [poseX, poseY, poseZ]`. Quindi, i parametri estrinseci sono semplicemente i seguenti:

```
LiDAR_extrinsic = [R T;0 0 0 1]
```

### Calibrazioni telecamera: estrinseca, intrinseca e distorsione
<a name="sms-point-cloud-extrinsic-camera-explanation"></a>

La *calibrazione geometrica della telecamera*, detta anche *resezionamento della telecamera*, stima i parametri di un obiettivo e di un sensore di immagine di un'immagine o di una telecamera. È possibile utilizzare questi parametri per correggere la distorsione dell'obiettivo, misurare la dimensione di un oggetto in unità mondiali o determinare la posizione della telecamera nella scena. I parametri della telecamera includono i coefficienti intrinseci e di distorsione.

#### Telecamera estrinseca
<a name="sms-point-cloud-camera-extrinsic"></a>

Se viene data la posa della telecamera, Ground Truth calcola la telecamera estrinseca in base a una rigida trasformazione dal piano 3D al piano della telecamera. Il calcolo è lo stesso di quello utilizzato per [LiDAR estrinseco](#sms-point-cloud-extrinsic-lidar-explanation), tranne che per il fatto che Ground Truth utilizza la posa della telecamera (`position` e `heading`) e calcola l'estrinseca inversa.

```
 camera_inverse_extrinsic = inv([Rc Tc;0 0 0 1]) #where Rc and Tc are camera pose components
```

#### Intrinseca e distorsione
<a name="sms-point-cloud-camera-intrinsic-distortion"></a>

Alcune telecamere, come le telecamere stenopeiche o fisheye, possono introdurre una distorsione significativa nelle foto. Questa distorsione può essere corretta utilizzando i coefficienti di distorsione e la lunghezza focale della telecamera. Per ulteriori informazioni, vedi [Calibrazione della telecamera con OpenCV](https://docs.opencv.org/2.4.13.7/doc/tutorials/calib3d/camera_calibration/camera_calibration.html) nella documentazione di OpenCV.

Ci sono due tipi di distorsione che Ground Truth può correggere: la distorsione radiale e la distorsione tangenziale.

La *distorsione radiale* si verifica quando i raggi di luce si piegano più vicino ai bordi di un obiettivo rispetto al suo centro ottico. Più piccolo è l'obiettivo, maggiore è la distorsione. La presenza della distorsione radiale si manifesta sotto forma di effetto *barile* o *fish-eye* e Ground Truth utilizza la Formula 1 per non distorcerla. 

**Formula 1:**

![\[Formula 1: equazioni per x_{corrected} e y_{corrected}, per correggere la distorsione radiale.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/sms-point-cloud-camera-distortion-1.png)


La *distorsione tangenziale* si verifica perché gli obiettivi utilizzati per riprendere le immagini non sono perfettamente paralleli al piano di imaging. Questo può essere corretto con la Formula 2. 

**Formula 2:**

![\[Formula 2: equazioni per x_{corrected} e y_{corrected}, per correggere la distorsione tangenziale.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/sms-point-cloud-camera-distortion-2.png)


Nel file manifest di input, è possibile fornire coefficienti di distorsione e Ground Truth eliminerà la distorsione delle immagini. Tutti i coefficienti di distorsione sono in virgola mobile. 
+ `k1`, `k2`, `k3`, `k4`: coefficienti di distorsione radiale. Supportato sia per i modelli di fotocamere fisheye e a foro stenopeico.
+ `p1` , `p2`: coefficienti di distorsione tangenziale. Supportato per i modelli di fotocamera a foro stenopeico.

Se la distorsione delle immagini è già stata eliminata, tutti i coefficienti di distorsione dovrebbero essere 0 nel manifest di input. 

Al fine di ricostruire correttamente l'immagine esatta, Ground Truth fa una conversione delle unità delle immagini in base alle lunghezze focali. Se si utilizza una lunghezza focale comune con un dato rapporto di aspetto per entrambi gli assi, ad esempio 1, nella formula superiore avremo una singola lunghezza focale. La matrice contenente questi quattro parametri è indicata come *matrice di calibrazione intrinseca della telecamera*. 

![\[L’array di calibrazione intrinseca della telecamera.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/pointcloud/sms-point-cloud-camera-intrinsic.png)


Sebbene i coefficienti di distorsione siano gli stessi indipendentemente dalle risoluzioni della telecamera utilizzate, questi dovrebbero essere scalati con la risoluzione corrente rispetto alla risoluzione calibrata. 

Di seguito sono riportati i valori in virgola mobile. 
+ `fx`: lunghezza focale in direzione x.
+ `fy`: lunghezza focale in direzione y.
+ `cx`: coordinata x del punto principale.
+ `cy`: coordinata y del punto principale.

Ground Truth utilizza la telecamera estrinseca e intrinseca per calcolare i parametri della vista, come mostrato nel seguente blocco di codice per trasformare le etichette tra la scena 3D e le immagini 2D.

```
def generate_view_matrix(intrinsic_matrix, extrinsic_matrix):
    intrinsic_matrix = np.c_[intrinsic_matrix, np.zeros(3)]
    view_matrix = np.matmul(intrinsic_matrix, extrinsic_matrix)
    view_matrix = np.insert(view_matrix, 2, np.array((0, 0, 0, 1)), 0)
    return view_matrix
```

# Dati di input di fotogrammi video
<a name="sms-video-frame-input-data-overview"></a>

Quando create un lavoro di rilevamento di oggetti con frame video o di etichettatura di oggetti, potete scegliere file video (MP4 file) o fotogrammi video per i dati di input. Tutte le attività dei worker vengono create utilizzando fotogrammi video, quindi se scegli i file video, usa lo strumento di estrazione di fotogrammi Ground Truth per estrarre i fotogrammi video (immagini) dai file video. 

Per entrambe queste opzioni, puoi utilizzare l'opzione di **configurazione automatica dei dati** nella sezione Ground Truth della console Amazon SageMaker AI per configurare una connessione tra Ground Truth e i tuoi dati di input in Amazon S3 in modo che Ground Truth sappia dove cercare i dati di input durante la creazione delle attività di etichettatura. In tal modo viene creato e archiviato un file manifesto di input nella posizione del set di dati di input di Amazon S3. Per ulteriori informazioni, consulta [Configurare in modo automatico i dati di input nei frame video](sms-video-automated-data-setup.md).

In alternativa, puoi creare manualmente file di sequenza per ogni sequenza di fotogrammi video che desideri etichettare e fornire la posizione in Amazon S3 di un file manifesto di input che faccia riferimento a ciascuno di questi file di sequenze utilizzando la chiave `source-ref`. Per ulteriori informazioni, consulta [Creazione di un file manifesto di input di fotogrammi video](sms-video-manual-data-setup.md#sms-video-create-manifest). 

**Topics**
+ [Scegli file video o fotogrammi video per i dati di input](sms-point-cloud-video-input-data.md)
+ [Configurazione dei dati di input](sms-video-data-setup.md)

# Scegli file video o fotogrammi video per i dati di input
<a name="sms-point-cloud-video-input-data"></a>

Quando crei un lavoro di rilevamento di oggetti o di tracciamento di oggetti con frame video, puoi fornire una sequenza di fotogrammi video (immagini) oppure puoi utilizzare la console Amazon SageMaker AI per fare in modo che Ground Truth estragga automaticamente i fotogrammi video dai tuoi file video. Utilizza le seguenti sezioni per avere ulteriori informazioni su queste opzioni. 

## Fornire fotogrammi video
<a name="sms-video-provide-frames"></a>

I fotogrammi video sono sequenze di immagini estratte da un file video. È possibile creare un processo di etichettatura Ground Truth per consentire ai worker di etichettare più sequenze di fotogrammi video. Ogni sequenza è composta da immagini estratte da un singolo video. 

Per creare un processo di etichettatura utilizzando sequenze di fotogrammi video, devi memorizzare ogni sequenza utilizzando un [prefisso di nome chiave](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#object-keys) univoco in Amazon S3. Nella console di Amazon S3, i prefissi dei nomi sono cartelle. Pertanto, nella console Amazon S3, ogni sequenza di fotogrammi video deve trovarsi nella propria cartella in Amazon S3.

Ad esempio, se disponi di due sequenze di fotogrammi video, puoi utilizzare i prefissi dei nomi chiave `sequence1/` e `sequence2/` per identificare le sequenze. In questo esempio, le sequenze possono trovarsi in `s3://amzn-s3-demo-bucket/video-frames/sequence1/` e `s3://amzn-s3-demo-bucket/video-frames/sequence2/`.

Se utilizzi la console Ground Truth per creare un file manifesto di input, tutti i prefissi dei nomi delle chiavi di sequenza devono trovarsi nella stessa posizione in Amazon S3. Ad esempio, nella console Amazon S3, ciascuna sequenza potrebbe essere in una cartella in `s3://amzn-s3-demo-bucket/video-frames/`. In questo esempio, la prima sequenza di fotogrammi video (immagini) potrebbe trovarsi in `s3://amzn-s3-demo-bucket/video-frames/sequence1/` e la seconda sequenza potrebbe trovarsi in `s3://amzn-s3-demo-bucket/video-frames/sequence2/`. 

**Importante**  
Anche se disponi di una sola sequenza di fotogrammi video che desideri che i worker etichettino, tale sequenza deve avere un prefisso del nome chiave in Amazon S3. Se utilizzi la console Amazon S3, significa che la sequenza si trova in una cartella. Essa non può trovarsi nella radice del bucket S3. 

Quando si creano attività di worker utilizzando sequenze di fotogrammi video, Ground Truth utilizza una sequenza per attività. In ogni attività, Ground Truth ordina i fotogrammi video utilizzando l'ordine binario [UTF-8](https://en.wikipedia.org/wiki/UTF-8). 

Ad esempio, i fotogrammi video potrebbero essere nell'ordine seguente in Amazon S3: 

```
[0001.jpg, 0002.jpg, 0003.jpg, ..., 0011.jpg]
```

Sono disposti nello stesso ordine nell'attività del worker: `0001.jpg, 0002.jpg, 0003.jpg, ..., 0011.jpg`.

I fotogrammi possono anche essere ordinati utilizzando una convenzione di denominazione come la seguente:

```
[frame1.jpg, frame2.jpg, ..., frame11.jpg]
```

In questo caso, `frame10.jpg` e `frame11.jpg` precedono `frame2.jpg` nell’attività del worker. Il worker vede i tuoi fotogrammi video nel seguente ordine: `frame1.jpg, frame10.jpg, frame11.jpg, frame2.jpg, ..., frame9.jpg`. 

## Fornire file video
<a name="sms-point-cloud-video-frame-extraction"></a>

È possibile utilizzare la funzione di suddivisione dei frame di Ground Truth quando si crea un nuovo lavoro di etichettatura nella console per estrarre i fotogrammi video dai file video (MP4 file). Una serie di fotogrammi video estratti da un singolo file video viene definita *sequenza di frame video*.

Puoi fare in modo che Ground Truth estragga automaticamente tutti i fotogrammi, fino a 2.000, dal video oppure puoi specificare una frequenza per l'estrazione di fotogrammi. Ad esempio, puoi fare in modo che Ground Truth estragga ogni 10o fotogramma dai tuoi video.

Puoi fornire fino a 50 video utilizzando la configurazione automatica dei dati per estrarre i fotogrammi; tuttavia, il file manifesto di input non può fare riferimento a più di 10 file di sequenza di fotogrammi video quando crei un processo di etichettatura di oggetti con fotogrammi video e di rilevamento di oggetti con fotogrammi video. Se utilizzi lo strumento console di configurazione automatica dei dati per estrarre fotogrammi video da più di 10 file video, dovrai modificare il file manifesto generato dallo strumento oppure crearne uno nuovo per includere al massimo 10 file di sequenza di fotogrammi video. Per ulteriori informazioni su queste quote, vedi [Quote del processo di etichettatura di nuvole di punti 3D e frame video](input-data-limits.md#sms-input-data-quotas-other).

Per utilizzare lo strumento di estrazione dei fotogrammi video, consulta [Configurare in modo automatico i dati di input nei frame video](sms-video-automated-data-setup.md). 

Quando tutti i fotogrammi video sono stati estratti con successo dai tuoi video, nella posizione del set di dati di input S3 vedrai quanto segue:
+ Un prefisso del nome chiave (una cartella nella console Amazon S3) il cui nome viene assegnato dopo ogni video. Ciascuno di questi prefissi porta a:
  + Una sequenza di fotogrammi video estratti dal video utilizzata per denominare quel prefisso.
  + Un file di sequenza utilizzato per identificare tutte le immagini che compongono la sequenza. 
+ Un file manifesto di input con estensione .manifest. Questo identifica tutti i file di sequenza che verranno utilizzati per creare il processo di etichettatura. 

Tutti i fotogrammi estratti da un singolo file video vengono utilizzati per un'attività di etichettatura. Se estrai fotogrammi video da più file video, vengono create più attività per il processo di etichettatura, una per ogni sequenza di fotogrammi video. 

 Ground Truth archivia ogni sequenza di fotogrammi video che estrae nella posizione Amazon S3 per i set di dati di input utilizzando un [prefisso di nome chiave](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#object-keys) univoco. Nella console di Amazon S3, i prefissi dei nomi sono cartelle.

# Configurazione dei dati di input
<a name="sms-video-data-setup"></a>

Quando crei un processo di etichettatura di fotogrammi video, devi far sapere a Ground Truth dove cercare i dati di input. Ci sono due modi per farlo:
+ È possibile archiviare i dati di input in Amazon S3 e fare in modo che Ground Truth rilevi automaticamente il set di dati di input utilizzato per il processo di etichettatura. Per ulteriori informazioni su questa opzione, consulta [Configurare in modo automatico i dati di input nei frame video](sms-video-automated-data-setup.md). 
+ È possibile creare un file manifesto di input e file di sequenza e caricarli su Amazon S3. Per ulteriori informazioni su questa opzione, consulta [Configurare in modo manuale i dati di input nei frame video](sms-video-manual-data-setup.md). 

**Topics**
+ [Configurare in modo automatico i dati di input nei frame video](sms-video-automated-data-setup.md)
+ [Configurare in modo manuale i dati di input nei frame video](sms-video-manual-data-setup.md)

# Configurare in modo automatico i dati di input nei frame video
<a name="sms-video-automated-data-setup"></a>

È possibile utilizzare la configurazione automatica dei dati Ground Truth per rilevare automaticamente i file video nel tuo bucket Amazon S3 ed estrarre i fotogrammi video da tali file. Per scoprire come, consulta [Fornire file video](sms-point-cloud-video-input-data.md#sms-point-cloud-video-frame-extraction).

Se disponi già di fotogrammi video in Amazon S3, puoi utilizzare la configurazione automatica dei dati per utilizzare questi fotogrammi video nel tuo processo di etichettatura. Per questa opzione, tutti i fotogrammi video di un singolo video devono essere memorizzati utilizzando un prefisso univoco. Per maggiori informazioni sui requisiti per utilizzare questa opzione, consulta [Fornire fotogrammi video](sms-point-cloud-video-input-data.md#sms-video-provide-frames).

Seleziona una delle seguenti sezioni per scoprire come configurare la connessione automatica del set di dati di input con Ground Truth.

## Fornire file video ed estrarre fotogrammi
<a name="sms-video-provide-files-auto-setup-console"></a>

Utilizza la seguente procedura per collegare i file video a Ground Truth ed estrai automaticamente i fotogrammi video da tali file per il rilevamento di oggetti con fotogrammi video e i processi di etichettatura di tracciamento degli oggetti.

**Nota**  
Se utilizzi lo strumento console di configurazione automatica dei dati per estrarre fotogrammi video da più di 10 file video, dovrai modificare il file manifesto generato dallo strumento oppure crearne uno nuovo per includere al massimo 10 file di sequenza di fotogrammi video. Per ulteriori informazioni, consulta [Fornire file video](sms-point-cloud-video-input-data.md#sms-point-cloud-video-frame-extraction).

Assicurati che i tuoi file video siano archiviati in un bucket Amazon S3 nella stessa Regione AWS in cui esegui la configurazione automatica dei dati. 

**Connetti automaticamente i tuoi file video in Amazon S3 con Ground Truth ed estrai i fotogrammi video:**

1. Vai alla pagina **Create labelling job** nella console Amazon SageMaker AI: [https://console.aws.amazon.com/sagemaker/groundtruth](https://console.aws.amazon.com//sagemaker/groundtruth). 

   I bucket S3 di input e output devono trovarsi nella stessa Regione AWS in cui crei il processo di etichettatura. Questo link ti porta nella regione della Virginia del Nord ( AWS us-east-1). Se i dati di input si trovano in un bucket Amazon S3 in un'altra Regione, passa a quella Regione. Per cambiare la tua AWS regione, nella [barra di navigazione](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/getting-started.html#select-region), scegli il nome della regione attualmente visualizzata.

1. Seleziona **Crea processo di etichettatura**.

1. Inserisci un **Nome processo**. 

1. Nella sezione **Configurazione dei dati di input**, seleziona **Configurazione automatica dei dati**.

1. Inserisci un URI Amazon S3 per la **posizione S3 per i set di dati di input**. Un URI S3 ha il seguente aspetto: `s3://amzn-s3-demo-bucket/path-to-files/`. Questo URI deve indicare la posizione di Amazon S3 in cui sono archiviati i file video.

1. Specifica la **posizione S3 per i set di dati di output**. I dati di output vengono archiviati qui. Puoi scegliere di archiviare i dati di output nella **stessa posizione del set di dati di input** o **specificare una nuova posizione** e inserire l'URI S3 della posizione in cui desideri archiviare i dati di output.

1. Scegli **File video** per il tuo **tipo di dati** utilizzando l'elenco a discesa.

1. Scegli **Sì, estrai i fotogrammi per le attività di tracciamento e rilevamento degli oggetti**. 

1. Scegli un metodo di **estrazione di fotogrammi**.
   + Quando scegli **Usa tutti i fotogrammi estratti dal video per creare un'attività di etichettatura**, Ground Truth estrae tutti i fotogrammi da ogni video nella **posizione S3 per i set di dati di input**, fino a 2.000 fotogrammi. Se un video nel set di dati di input contiene più di 2.000 fotogrammi, i primi 2.000 vengono estratti e utilizzati per l'attività di etichettatura. 
   + Quando scegli **Usa ogni *x* fotogramma di un video per creare un'attività di etichettatura**, Ground Truth estrae ogni fotogramma da ogni *x* video nella tua **posizione S3 per** i set di dati di input. 

     Ad esempio, se il video dura 2 secondi e ha una [frequenza fotogrammi](https://en.wikipedia.org/wiki/Frame_rate) di 30 fotogrammi al secondo, il video contiene 60 fotogrammi. Se specifichi 10 qui, Ground Truth estrae ogni decimo fotogramma dal tuo video. Ciò significa che vengono estratti il 1o, 10o, 20o, 30o, 40o, 50o e 60o fotogramma. 

1. Scegliere o creare un ruolo di esecuzione IAM. Assicurati che questo ruolo sia autorizzato ad accedere alle tue posizioni Amazon S3 per i dati di input e output specificati nelle fasi 5 e 6. 

1. Seleziona **Configurazione dei dati completa**.

## Fornire fotogrammi video
<a name="sms-video-provide-frames-auto-setup-console"></a>

Utilizza la seguente procedura per collegare le sequenze di fotogrammi video con Ground Truth per i processi di rilevamento degli oggetti dei fotogrammi video e di etichettatura del tracciamento degli oggetti. 

Assicurati che i tuoi fotogrammi video siano archiviati in un bucket Amazon S3 nella stessa Regione AWS in cui esegui la configurazione automatica dei dati. Ogni sequenza di fotogrammi video deve avere un prefisso univoco. Ad esempio, se hai due sequenze memorizzate in `s3://amzn-s3-demo-bucket/video-frames/sequences/`, ognuna dovrebbe avere un prefisso univoco come `sequence1` e `sequence2` ed entrambe dovrebbero trovarsi direttamente sotto il prefisso `/sequences/`. Nell'esempio precedente, le posizioni di queste due sequenze sono: `s3://amzn-s3-demo-bucket/video-frames/sequences/sequence1/` e `s3://amzn-s3-demo-bucket/video-frames/sequences/sequence2/`. 

**Connetti automaticamente il tuo fotogramma video in Amazon S3 con Ground Truth:**

1. Vai alla pagina **Create labelling job** nella console Amazon SageMaker AI: [https://console.aws.amazon.com/sagemaker/groundtruth](https://console.aws.amazon.com//sagemaker/groundtruth). 

   I bucket S3 di input e output devono trovarsi nella stessa Regione AWS in cui crei il processo di etichettatura. Questo link ti porta nella regione della Virginia del Nord ( AWS us-east-1). Se i dati di input si trovano in un bucket Amazon S3 in un'altra Regione, passa a quella Regione. Per cambiare la tua AWS regione, nella [barra di navigazione](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/getting-started.html#select-region), scegli il nome della regione attualmente visualizzata.

1. Seleziona **Crea processo di etichettatura**.

1. Inserisci un **Nome processo**. 

1. Nella sezione **Configurazione dei dati di input**, seleziona **Configurazione automatica dei dati**.

1. Inserisci un URI Amazon S3 per la **posizione S3 per i set di dati di input**. 

   Questa deve essere la posizione Amazon S3 in cui sono archiviate le sequenze. Ad esempio, se hai due sequenze memorizzate in `s3://amzn-s3-demo-bucket/video-frames/sequences/sequence1/`, `s3://amzn-s3-demo-bucket/video-frames/sequences/sequence2/` inserisci `s3://amzn-s3-demo-bucket/video-frames/sequences/` qui.

1. Specifica la **posizione S3 per i set di dati di output**. I dati di output vengono archiviati qui. Puoi scegliere di archiviare i dati di output nella **stessa posizione del set di dati di input** o **specificare una nuova posizione** e inserire l'URI S3 della posizione in cui desideri archiviare i dati di output.

1. Scegli i **frame video** per il tuo **tipo di dati** utilizzando l'elenco a discesa. 

1. Scegliere o creare un ruolo di esecuzione IAM. Assicurati che questo ruolo sia autorizzato ad accedere alle tue posizioni Amazon S3 per i dati di input e output specificati nelle fasi 5 e 6. 

1. Seleziona **Configurazione dei dati completa**.

Queste procedure creeranno un manifesto di input nella posizione Amazon S3 per i set di dati di input specificati nella fase 5. Se stai creando un processo di etichettatura utilizzando l' SageMaker API o un AWS SDK AWS CLI, utilizza l'URI Amazon S3 per questo file manifest di input come input per il parametro. `ManifestS3Uri`

# Configurare in modo manuale i dati di input nei frame video
<a name="sms-video-manual-data-setup"></a>

Scegli l'opzione di configurazione manuale dei dati se hai creato file di sequenza per ciascuna delle sequenze di fotogrammi video e un file manifesto che elenchi i riferimenti a tali file di sequenze.

## Creazione di un file manifesto di input di fotogrammi video
<a name="sms-video-create-manifest"></a>

 Ground Truth utilizza il file manifesto di input per identificare la posizione del set di dati di input durante la creazione di attività di etichettatura. Per i processi di rilevamento di oggetti con fotogramma video e di tracciamento degli oggetti, ogni riga del file manifesto di input identifica la posizione di un file di sequenza di fotogrammi video. Ogni file di sequenza identifica le immagini incluse in una singola sequenza di fotogrammi video.

Utilizza questa pagina per scoprire come creare un file di sequenza di fotogrammi video e un file manifesto di input per i processi di tracciamento di oggetti con fotogrammi video e di rilevamento di oggetti, di etichettatura.

Se desideri che Ground Truth generi automaticamente i file di sequenza e inserisca il file manifesto, consulta [Configurare in modo automatico i dati di input nei frame video](sms-video-automated-data-setup.md). 

### Creazione di un manifesto di input di sequenza di fotogrammi video
<a name="sms-video-create-input-manifest-file"></a>

Nel file manifesto di input della sequenza di fotogrammi video, ogni riga del manifesto è un oggetto JSON, con una chiave `"source-ref"` che fa riferimento a un file di sequenza. Ogni file di sequenza identifica la posizione di una sequenza di fotogrammi video. Questa è la formattazione del file manifesto richiesta per tutti i processi di etichettatura dei fotogrammi video. 

Nell'esempio seguente viene illustrata la sintassi utilizzata per un file manifesto di input:

```
{"source-ref": "s3://amzn-s3-demo-bucket/example-folder/seq1.json"}
{"source-ref": "s3://amzn-s3-demo-bucket/example-folder/seq2.json"}
```

### Creazione di un file di sequenza di fotogrammi video
<a name="sms-video-create-sequence-file"></a>

I dati per ogni sequenza di fotogrammi video devono essere memorizzati in un oggetto dati JSON. Di seguito è riportato un esempio del formato utilizzato per un file di sequenza. Le informazioni su ogni frame sono incluse come oggetto JSON e sono elencate in `frames`. Il seguente file JSON è stato ampliato per motivi di leggibilità. 

```
{
 "seq-no": 1,
 "prefix": "s3://amzn-s3-demo-bucket/prefix/video1/",
 "number-of-frames": 3,
 "frames":[
   {"frame-no": 1, "unix-timestamp": 1566861644, "frame": "frame0001.jpg" },
   {"frame-no": 2, "unix-timestamp": 1566861644, "frame": "frame0002.jpg" }, 
   {"frame-no": 3, "unix-timestamp": 1566861644, "frame": "frame0003.jpg" }   
 ]
}
```

Nella tabella seguente vengono forniti dettagli sui parametri mostrati in questo esempio di codice. 


****  

|  Parametro  |  Obbligatorio  |  Valori accettati  |  Description  | 
| --- | --- | --- | --- | 
|  `seq-no`  |  Sì  |  Numero intero  |  Il numero ordinato della sequenza.   | 
|  `prefix`  |  Sì  |  Stringa **Valori accettati**: `s3://<bucket-name>/<prefix>/`  |  Posizione Amazon S3 in cui si trovano i file di sequenza.  Il prefisso deve terminare con una barra: `/`.  | 
|  `number-of-frames`  |  Sì  |  Numero intero  |  Numero totale di frame inclusi nel file di sequenza. Questo numero deve corrispondere al numero totale di frame elencati nel parametro `frames` nella riga successiva.  | 
|  `frames`  |  Sì  |  Elenco degli oggetti JSON **Campo obbligatorio**: `frame-no`, `frame` **Facoltativo**: `unix-timestamp`  |  Un elenco di dati frame. La lunghezza dell'elenco deve essere uguale `number-of-frames`. Nell'interfaccia utente del worker, i fotogrammi in una sequenza sono ordinati in ordine binario [UTF-8](https://en.wikipedia.org/wiki/UTF-8). Per ulteriori informazioni su questo ordine, consulta [Fornire fotogrammi video](sms-point-cloud-video-input-data.md#sms-video-provide-frames).  | 
| frame-no |  Sì  |  Numero intero  |  Il numero dell'ordine del fotogramma. Questo determinerà l'ordine di un fotogramma nella sequenza.   | 
|  `unix-timestamp`  |  No  |  Numero intero  |  Il timestamp unix di un fotogramma. Il numero di secondi trascorsi dal 1° gennaio 1970 all'ora UTC in cui il fotogramma è stato acquisito.   | 
| frame |  Sì  |  Stringa  |  Il nome di un file di immagine con fotogramma video.   | 

# Etichettatura dei dati di output di un processo
<a name="sms-data-output"></a>

L'output di un processo di etichettatura viene inserito nella posizione Amazon S3 specificata nella console o nella chiamata all'[CreateLabelingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)operazione. I dati di output vengono visualizzati in questa posizione quando i worker hanno inviato una o più attività o quando le attività scadono. Tieni presente che potrebbero essere necessari alcuni minuti prima che i dati di output vengano visualizzati in S3 Amazon dopo che il worker ha inviato l'attività o l'attività è scaduta.

Ogni riga nel file di dati di output è identica al file manifest con l'aggiunta di un attributo e un valore per l'etichetta assegnata all'oggetto di input. Il nome attributo per il valore è definito nella console o nella chiamata all'operazione `CreateLabelingJob`. Non puoi utilizzare `-metadata` nel nome attributo etichetta. Se esegui una segmentazione semantica dell'immagine, una segmentazione semantica della nuvola di punti 3D o un processo di tracciamento degli oggetti della nuvola di punti 3D, l'attributo di etichetta deve terminare con `-ref`. Per qualsiasi altro tipo di processo, il nome attributo non può terminare con `-ref`.

L'output del processo di etichettatura è il valore della coppia chiave-valore con l'etichetta. L'etichetta e il valore sovrascrivono gli eventuali dati JSON esistenti nel file di input con il nuovo valore. 

Di seguito è riportato, ad esempio, l'output di un processo di etichettatura di classificazione delle immagini in cui i file di dati di input sono archiviati in un `amzn-s3-demo-bucket` S3 Amazon e il nome attributo di etichetta è definito come *`sport`*. In questo esempio l'oggetto JSON è formattato per la leggibilità, nel file di output effettivo dell'oggetto JSON si trova su un'unica riga. Per ulteriori informazioni sul formato dei dati, consulta [JSON Lines](http://jsonlines.org/). 

```
{
    "source-ref": "s3://amzn-s3-demo-bucket/image_example.png",
    "sport":0,
    "sport-metadata":
    {
        "class-name": "football",
        "confidence": 0.00,
        "type":"groundtruth/image-classification",
        "job-name": "identify-sport",
        "human-annotated": "yes",
        "creation-date": "2018-10-18T22:18:13.527256"
    }
}
```

Il valore dell'etichetta può essere qualsiasi JSON valido. In questo caso il valore dell'etichetta è l'indice della classe nell'elenco di classificazione. Altri tipi di processo, ad esempio riquadro di delimitazione, hanno valori più complessi.

Qualsiasi coppia chiave-valore nel file manifest di input diversa dall'attributo etichetta è invariata nel file di output. Puoi utilizzarla per passare i dati all'applicazione.

L'output di un processo di etichettatura può essere utilizzato come input di un altro processo di etichettatura. Questo può essere utilizzato durante la concatenazione di processi di etichettatura. Ad esempio, puoi inviare un processo di etichettatura per determinare lo sport che viene praticato. Quindi, inviane un altro utilizzando gli stessi dati per determinare se lo sport è praticato al chiuso o all'aperto. Utilizzando i dati di output del primo processo come manifest per il secondo processo, puoi consolidare i risultati dei due processi in un solo file di output per facilitare l'elaborazione delle applicazioni. 

Il file di dati di output viene scritto nel percorso di output periodicamente mentre il processo è in corso. Questi file intermedi contengono una riga per ciascuna riga del file manifest. Se un oggetto è etichettato, l'etichetta viene inclusa. Se l'oggetto non è stato etichettato, viene scritto nel file di output intermedio in modo identico al file manifest.

## Directory di output
<a name="sms-output-directories"></a>

Ground Truth crea più directory nel percorso di output di S3 Amazon. Queste directory contengono i risultati del processo di etichettatura e altri artefatti del processo. Il nome della directory di primo livello di un processo di etichettatura è identico a quello del processo di etichettatura; le directory di output si trovano sotto di essa. Ad esempio, se il processo di etichettatura è stato denominato **find-people**, l'output si trova nelle seguenti directory:

```
s3://amzn-s3-demo-bucket/find-people/activelearning
s3://amzn-s3-demo-bucket/find-people/annotations
s3://amzn-s3-demo-bucket/find-people/inference
s3://amzn-s3-demo-bucket/find-people/manifests
s3://amzn-s3-demo-bucket/find-people/training
```

Ogni directory contiene l'output seguente:

### Directory di apprendimento attivo
<a name="sms-output-activelearning"></a>

La directory `activelearning` è presente solo se utilizzi l'etichettatura dei dati automatica. Contiene il set di convalida di input e output per l'etichettatura dei dati automatica e la cartella di input e output per l'etichettatura dei dati automatica.

### Directory di annotazioni
<a name="sms-directories-annotations"></a>

La directory `annotations` contiene tutte le annotazioni effettuate dalla forza lavoro. Queste sono le risposte dai singoli worker che non sono state consolidate in una singola etichetta per l'oggetto dati. 

Nella directory `annotations` principale sono disponibili tre sottodirectory. 
+ La prima, `worker-response`, contiene le risposte dai singoli worker. Questa directory contiene una sottodirectory per ogni iterazione, che a sua volta contiene una sottodirectory per ogni oggetto dati presente in tale iterazione. I dati di risposta del worker per ogni oggetto dati vengono archiviati in un file JSON, con data e ora, che contiene le risposte inviate da ciascun worker per quell'oggetto dati e, se utilizzi una forza lavoro privata, i metadati relativi a tali worker. Per ulteriori informazioni su questi metadati, consulta [Metadati di worker](#sms-worker-id-private).
+ La seconda, `consolidated-annotation`, contiene le informazioni richieste per consolidare le annotazioni nel batch corrente in etichette per gli oggetti dati.
+ La terza, `intermediate`, contiene il manifest di output per il batch corrente con le eventuali etichette completate. Questo file viene aggiornato quando l'etichetta per ogni oggetto dati viene completata.

**Nota**  
Si consiglia di non utilizzare file non menzionati nella documentazione.

### Directory di inferenza
<a name="sms-directories-inference"></a>

La directory `inference` è presente solo se utilizzi l'etichettatura dei dati automatica. Questa directory contiene i file di input e output per la trasformazione batch SageMaker AI utilizzata durante l'etichettatura degli oggetti di dati.

### Directory di file manifesto
<a name="sms-directories-manifest"></a>

La directory `manifest` contiene il manifest di output del processo di etichettatura. C'è una sottodirectory nella directory del file manifest, `output`. La directory `output` contiene il file manifest di output per il processo di etichettatura. Il file è denominato `output.manifest`.

### Directory di addestramento
<a name="sms-directories-training"></a>

La directory `training` è presente solo se utilizzi l'etichettatura dei dati automatica. Questa directory contiene i file di input e output utilizzati per eseguire l’addestramento del modello di etichettatura dei dati automatica.

## Punteggio di attendibilità
<a name="sms-output-confidence"></a>

Quando più di un worker annota una singola attività, l'etichetta risulta dal consolidamento delle annotazioni. Ground Truth calcola un punteggio di attendibilità per ogni etichetta. Un *punteggio di attendibilità* è un numero compreso tra 0 e 1 che indica quanto Ground Truth è sicuro dell'etichetta. Puoi utilizzare il punteggio di attendibilità per confrontare gli oggetti dati etichettati tra loro e identificare le etichette più o meno attendibili.

Non occorre interpretare un valore dei punteggi di attendibilità come un valore assoluto o mettere a confronto i punteggi di attendibilità tra i processi di etichettatura. Ad esempio, se tutti i punteggi di attendibilità sono compresi tra 0,98 e 0,998, è consigliabile confrontare gli oggetti dati solo tra loro e non basarsi sui punteggi di attendibilità elevati. 

Non è consigliabile confrontare i punteggi di attendibilità di oggetti dati etichettati da umani e oggetti dati etichettati automaticamente. I punteggi di attendibilità per umani vengono calcolati utilizzando la funzione di consolidamento delle annotazioni per l'attività, mentre i punteggi di attendibilità per etichettatura automatica vengono calcolati utilizzando un modello che incorpora caratteristiche oggetto. I due modelli hanno in genere scale e attendibilità media diverse.

Per un processo di etichettatura del riquadro di delimitazione, Ground Truth calcola un punteggio di attendibilità per casella. Puoi confrontare i punteggi di attendibilità all'interno di un'immagine o tra immagini per lo stesso tipo di etichettatura (umana o automatica). Non puoi confrontare punteggi di attendibilità tra processi di etichettatura.

Se un singolo worker annota un'attività (`NumberOfHumanWorkersPerDataObject` è impostato su `1` o nella console si immette 1 per **Numero di worker per oggetto di set di dati**), il punteggio di attendibilità verrà impostato su `0.00`. 

## Metadati di worker
<a name="sms-worker-id-private"></a>

Ground Truth fornisce informazioni che puoi utilizzare per monitorare i singoli worker nei dati di output delle attività. I seguenti dati si trovano nelle directory sotto `worker-response` situato in [Directory di annotazioni](#sms-directories-annotations):
+ `acceptanceTime` è l'ora in cui il worker ha accettato l'attività. Il formato di questo indicatore di data e ora è `YYYY-MM-DDTHH:MM:SS.mmmZ` per l'anno (`YYYY`), il mese (`MM`), il giorno (`DD`), l'ora (`HH`), il minuto (`MM`), il secondo (`SS`) e il millisecondo (`mmm`). La data e l'ora sono separati da una **T**. 
+ `submissionTime` è l'ora in cui il worker ha inviato le proprie annotazioni utilizzando il pulsante **Invia**. Il formato di questo indicatore di data e ora è `YYYY-MM-DDTHH:MM:SS.mmmZ` per l'anno (`YYYY`), il mese (`MM`), il giorno (`DD`), l'ora (`HH`), il minuto (`MM`), il secondo (`SS`) e il millisecondo (`mmm`). La data e l'ora sono separati da una **T**. 
+ `timeSpentInSeconds` riporta il tempo totale, in secondi, durante il quale un worker ha lavorato attivamente su quell'attività. Questo parametro non include il tempo in cui un worker si è fermato o si è preso una pausa.
+ `workerId` è univoco per ogni worker. 
+ Se utilizzi una [forza lavoro privata](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-private.html), in `workerMetadata`, vedrai quanto segue.
  + `identityProviderType` è il servizio utilizzato per gestire la forza lavoro privata. 
  + `issuer` è il pool di utenti Cognito o il gestore dell’identità digitale dell’emittente associato al team di lavoro assegnato a questa attività di revisione umana.
  + Un identificatore `sub` univoco che fa riferimento al worker. Se crei una forza lavoro utilizzando Amazon Cognito, puoi recuperare i dettagli su questo worker (come il nome o il nome utente) utilizzando questo ID Amazon Cognito. Per informazioni, consulta [Managing and searching for user accounts](https://docs.aws.amazon.com/cognito/latest/developerguide/how-to-manage-user-accounts.html#manage-user-accounts-searching-user-attributes) nella [Guida per gli sviluppatori di Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/).

Di seguito è riportato un esempio dell'output che potresti visualizzare se utilizzi Amazon Cognito per creare una forza lavoro privata. Questo è identificato in `identityProviderType`.

```
"submissionTime": "2020-12-28T18:59:58.321Z",
"acceptanceTime": "2020-12-28T18:59:15.191Z", 
"timeSpentInSeconds": 40.543,
"workerId": "a12b3cdefg4h5i67",
"workerMetadata": {
    "identityData": {
        "identityProviderType": "Cognito",
        "issuer": "https://cognito-idp.aws-region.amazonaws.com/aws-region_123456789",
        "sub": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
    }
}
```

 Di seguito è riportato un esempio del `workerMetadata` che potresti visualizzare se utilizzi il tuo IdP OIDC per creare una forza lavoro privata:

```
"workerMetadata": {
        "identityData": {
            "identityProviderType": "Oidc",
            "issuer": "https://example-oidc-ipd.com/adfs",
            "sub": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
        }
}
```

Per ulteriori informazioni sull’uso della forza lavoro privata, consulta [Forza lavoro privata](sms-workforce-private.md).

## Metadati di output
<a name="sms-output-metadata"></a>

L'output di ciascun processo contiene metadati relativi all'etichetta assegnata agli oggetti dati. Questi elementi sono gli stessi per tutti i processi con variazioni minime. L'esempio seguente mostra gli elementi dei metadati:

```
    "confidence": 0.00,
    "type": "groundtruth/image-classification",
    "job-name": "identify-animal-species",
    "human-annotated": "yes",
    "creation-date": "2020-10-18T22:18:13.527256"
```

Di seguito è riportato il significato degli elementi:
+ `confidence`: la fiducia che Ground Truth ha nella correttezza dell'etichetta. Per ulteriori informazioni, consulta [Punteggio di attendibilità](#sms-output-confidence).
+ `type`: il tipo di processo di classificazione. Per i tipi di processo, consulta [Tipi di attività integrati](sms-task-types.md). 
+ `job-name`: il nome assegnato al processo al momento della sua creazione.
+ `human-annotated`: se l'oggetto dei dati è stato etichettato da un essere umano o mediante etichettatura automatica dei dati. Per ulteriori informazioni, consulta [Automatizzare l’etichettatura dei dati](sms-automated-labeling.md).
+ `creation-date`: la data e l'ora di creazione dell'etichetta.

## Output del processo di classificazione
<a name="sms-output-class"></a>

Di seguito sono riportati gli output di esempio (file manifest di output) di un processo di classificazione delle immagini e di un processo di classificazione del testo. Questi includono l'etichetta assegnata da Ground Truth all'oggetto dati, il valore dell'etichetta e i metadati che descrivono l'etichetta.

Oltre agli elementi di metadati standard, i metadati per un processo di classificazione includono il valore di testo della classe dell'etichetta. Per ulteriori informazioni, consulta [Classificazione delle immagini - MXNet](image-classification.md).

Il testo rosso in corsivo negli esempi seguenti varia a seconda delle specifiche del processo di etichettatura e dei dati di output. 

```
{
    "source-ref":"s3://amzn-s3-demo-bucket/example_image.jpg",
    "species":"0",
    "species-metadata":
    {
        "class-name": "dog",
        "confidence": 0.00,
        "type": "groundtruth/image-classification",
        "job-name": "identify-animal-species",
        "human-annotated": "yes",
        "creation-date": "2018-10-18T22:18:13.527256"
    }
}
```

```
{
    "source":"The food was delicious",
    "mood":"1",
    "mood-metadata":
    {
        "class-name": "positive",
        "confidence": 0.8,
        "type": "groundtruth/text-classification",
        "job-name": "label-sentiment",
        "human-annotated": "yes",
        "creation-date": "2020-10-18T22:18:13.527256"
    }
}
```

## Output del processo di classificazione multi-etichetta
<a name="sms-output-multi-label-classification"></a>

Di seguito sono riportati i file manifest di output di esempio di un processo di classificazione delle immagini multi-etichetta e di un processo di classificazione del testo multi-etichetta. Includono le etichette assegnate da Ground Truth all'oggetto dati (ad esempio l'immagine o il testo) e i metadati che descrivono le etichette viste dal worker durante il completamento dell'attività di etichettatura. 

Il parametro nome attributo etichetta (ad esempio `image-label-attribute-name`) contiene un array di tutte le etichette selezionate da almeno uno dei worker che hanno completato questa attività. Questo array contiene chiavi di interi (ad esempio, `[1,0,8]`) che corrispondono alle etichette trovate in `class-map`. Nell'esempio di classificazione delle immagini multi-etichetta, `bicycle`, `person` e `clothing` sono stati selezionati da almeno uno dei worker che ha completato l'attività di etichettatura per l'immagine trovata in `exampleimage.jpg`.

`confidence-map` mostra il punteggio di attendibilità assegnato da Ground Truth a ciascuna etichetta selezionata da un worker. Per ulteriori informazioni sui punteggi di attendibilità, consulta [Punteggio di attendibilità](#sms-output-confidence).

Il testo rosso in corsivo negli esempi seguenti varia a seconda delle specifiche del processo di etichettatura e dei dati di output. 

Di seguito è riportato un esempio di un file manifest di output di classificazione delle immagini multi-etichetta. 

```
{
    "source-ref": "s3://amzn-s3-demo-bucket/example_image.jpg",
    "image-label-attribute-name":[1,0,8],
    "image-label-attribute-name-metadata":
       {
        "job-name":"labeling-job/image-label-attribute-name",
        "class-map":
            {
                "1":"bicycle","0":"person","8":"clothing"
            },
        "human-annotated":"yes",
        "creation-date":"2020-02-27T21:36:25.000201",
        "confidence-map":
            {
                "1":0.95,"0":0.77,"8":0.2
            },
        "type":"groundtruth/image-classification-multilabel"
        }
}
```

Di seguito è riportato un esempio di un file manifest di output di classificazione del testo multi-etichetta. In questo esempio, `approving`, `sad` e `critical` sono stati selezionati da almeno uno dei worker che ha completato l'attività di etichettatura per l'oggetto `exampletext.txt` trovato in `amzn-s3-demo-bucket`.

```
{
    "source-ref": "s3://amzn-s3-demo-bucket/exampletext.txt",
    "text-label-attribute-name":[1,0,4],
    "text-label-attribute-name-metadata":
       {
        "job-name":"labeling-job/text-label-attribute-name",
        "class-map":
            {
                "1":"approving","0":"sad","4":"critical"
            },
        "human-annotated":"yes",
        "creation-date":"2020-02-20T21:36:25.000201",
        "confidence-map":
            {
                "1":0.95,"0":0.77,"4":0.2
            },
        "type":"groundtruth/text-classification-multilabel"
        }
}
```

## Output del processo di un riquadro di delimitazione
<a name="sms-output-box"></a>

Di seguito è riportato un esempio di output (file manifest di output) di un processo riquadro di delimitazione. Per questa attività, vengono restituiti tre riquadri di delimitazione. Il valore dell'etichetta contiene informazioni sulle dimensioni dell'immagine e la posizione dei riquadri di delimitazione.

L'elemento `class_id` è l'indice della classe del riquadro nella lista di classi disponibili per l'attività. L'elemento di metadati `class-map` contiene il testo della classe.

I metadati hanno un punteggio di attendibilità separato per ogni riquadro di delimitazione. I metadati includono anche l'elemento `class-map` che mappa `class_id` al valore di testo della classe. Per ulteriori informazioni, consulta [Rilevamento di oggetti - MXNet](object-detection.md).

Il testo rosso in corsivo negli esempi seguenti varia a seconda delle specifiche del processo di etichettatura e dei dati di output. 

```
{
    "source-ref": "s3://amzn-s3-demo-bucket/example_image.png",
    "bounding-box-attribute-name":
    {
        "image_size": [{ "width": 500, "height": 400, "depth":3}],
        "annotations":
        [
            {"class_id": 0, "left": 111, "top": 134,
                    "width": 61, "height": 128},
            {"class_id": 5, "left": 161, "top": 250,
                     "width": 30, "height": 30},
            {"class_id": 5, "left": 20, "top": 20,
                     "width": 30, "height": 30}
        ]
    },
    "bounding-box-attribute-name-metadata":
    {
        "objects":
        [
            {"confidence": 0.8},
            {"confidence": 0.9},
            {"confidence": 0.9}
        ],
        "class-map":
        {
            "0": "dog",
            "5": "bone"
        },
        "type": "groundtruth/object-detection",
        "human-annotated": "yes",
        "creation-date": "2018-10-18T22:18:13.527256",
        "job-name": "identify-dogs-and-toys"
    }
 }
```

L'output di un processo di ottimizzazione del riquadro di delimitazione è simile al seguente JSON. Si noti che il JSON originale viene mantenuto intatto e vengono elencati due nuovi lavori, ciascuno con "adjust-" anteposto al nome dell'attributo originale. 

```
{
    "source-ref": "S3 bucket location",
    "bounding-box-attribute-name":
    {
        "image_size": [{ "width": 500, "height": 400, "depth":3}],
        "annotations":
        [
            {"class_id": 0, "left": 111, "top": 134,
                    "width": 61, "height": 128},
            {"class_id": 5, "left": 161, "top": 250,
                     "width": 30, "height": 30},
            {"class_id": 5, "left": 20, "top": 20,
                     "width": 30, "height": 30}
        ]
    },
    "bounding-box-attribute-name-metadata":
    {
        "objects":
        [
            {"confidence": 0.8},
            {"confidence": 0.9},
            {"confidence": 0.9}
        ],
        "class-map":
        {
            "0": "dog",
            "5": "bone"
        },
        "type": "groundtruth/object-detection",
        "human-annotated": "yes",
        "creation-date": "2018-10-18T22:18:13.527256",
        "job-name": "identify-dogs-and-toys"
    },
    "adjusted-bounding-box":
    {
        "image_size": [{ "width": 500, "height": 400, "depth":3}],
        "annotations":
        [
            {"class_id": 0, "left": 110, "top": 135,
                    "width": 61, "height": 128},
            {"class_id": 5, "left": 161, "top": 250,
                     "width": 30, "height": 30},
            {"class_id": 5, "left": 10, "top": 10,
                     "width": 30, "height": 30}
        ]
    },
    "adjusted-bounding-box-metadata":
    {
        "objects":
        [
            {"confidence": 0.8},
            {"confidence": 0.9},
            {"confidence": 0.9}
        ],
        "class-map":
        {
            "0": "dog",
            "5": "bone"
        },
        "type": "groundtruth/object-detection",
        "human-annotated": "yes",
        "creation-date": "2018-11-20T22:18:13.527256",
        "job-name": "adjust-bounding-boxes-on-dogs-and-toys",
        "adjustment-status": "adjusted"
    }
}
```

In questo output, il `type` del processo non cambia, ma viene aggiunto un campo `adjustment-status`. Questo campo ha il valore `adjusted` o `unadjusted`. Se più worker hanno esaminato l'oggetto e almeno uno ha modificato l'etichetta, lo stato è `adjusted`.

## Riconoscimento delle entità nominali
<a name="sms-output-data-ner"></a>

Di seguito è riportato un esempio di file manifest di output da un'attività di etichettatura di riconoscimento delle entità denominate (NER) Per questa attività, ne vengono restituiti sette `entities`.

Nel manifest di output, l'oggetto JSON, `annotations`, include un elenco delle `labels` (categorie di etichette) fornite.

Le risposte dei worker si trovano in un elenco denominato `entities`. Ogni entità di questo elenco è un oggetto JSON che contiene un valore `label` che corrisponde a uno dell'elenco `labels`, un valore intero `startOffset` per l'offset Unicode iniziale dell'intervallo etichettato e un valore intero `endOffset` per l'offset Unicode finale.

I metadati hanno un punteggio di attendibilità separato per ogni entità. Se un singolo worker ha etichettato ogni oggetto di dati, il valore di attendibilità per ogni entità sarà pari a zero.

Il testo in rosso e in corsivo negli esempi seguenti dipende dall'etichettatura degli input relativi al lavoro e delle risposte dei worker.

```
{
    "source": "Amazon SageMaker is a cloud machine-learning platform that was launched in November 2017. SageMaker enables developers to create, train, and deploy machine-learning (ML) models in the cloud. SageMaker also enables developers to deploy ML models on embedded systems and edge-devices",
    "ner-labeling-job-attribute-name": {
        "annotations": {
            "labels": [
                {
                    "label": "Date",
                    "shortDisplayName": "dt"
                },
                {
                    "label": "Verb",
                    "shortDisplayName": "vb"
                },
                {
                    "label": "Thing",
                    "shortDisplayName": "tng"
                },
                {
                    "label": "People",
                    "shortDisplayName": "ppl"
                }
            ],
            "entities": [
                {
                    "label": "Thing",
                    "startOffset": 22,
                    "endOffset": 53
                },
                {
                    "label": "Thing",
                    "startOffset": 269,
                    "endOffset": 281
                },
                {
                    "label": "Verb",
                    "startOffset": 63,
                    "endOffset": 71
                },
                {
                    "label": "Verb",
                    "startOffset": 228,
                    "endOffset": 234
                },
                {
                    "label": "Date",
                    "startOffset": 75,
                    "endOffset": 88
                },
                {
                    "label": "People",
                    "startOffset": 108,
                    "endOffset": 118
                },
                {
                    "label": "People",
                    "startOffset": 214,
                    "endOffset": 224
                }
            ]
        }
    },
    "ner-labeling-job-attribute-name-metadata": {
        "job-name": "labeling-job/example-ner-labeling-job",
        "type": "groundtruth/text-span",
        "creation-date": "2020-10-29T00:40:39.398470",
        "human-annotated": "yes",
        "entities": [
            {
                "confidence": 0
            },
            {
                "confidence": 0
            },
            {
                "confidence": 0
            },
            {
                "confidence": 0
            },
            {
                "confidence": 0
            },
            {
                "confidence": 0
            },
            {
                "confidence": 0
            }
        ]
    }
}
```

## Output del processo di verifica di un’etichetta
<a name="sms-output-bounding-box-verification"></a>

L'output (file manifest di output) di un processo di verifica del riquadro di delimitazione è diverso dall'output di un'attività di annotazione riquadro di delimitazione. Ciò è dovuto al fatto che i worker hanno un diverso tipo di attività. Non stanno etichettando oggetti, ma valutando l'accuratezza dell'etichettatura precedente, emettendo un giudizio e quindi fornendo quel giudizio e forse alcuni commenti.

Se i dipendenti umani verificano o regolano le etichette dei riquadri di delimitazione precedenti, l'output di un'attività di verifica è simile al seguente JSON. Il testo rosso in corsivo negli esempi seguenti varia a seconda delle specifiche del processo di etichettatura e dei dati di output. 

```
{
    "source-ref":"s3://amzn-s3-demo-bucket/image_example.png",
    "bounding-box-attribute-name":
    {
        "image_size": [{ "width": 500, "height": 400, "depth":3}],
        "annotations":
        [
            {"class_id": 0, "left": 111, "top": 134,
                    "width": 61, "height": 128},
            {"class_id": 5, "left": 161, "top": 250,
                     "width": 30, "height": 30},
            {"class_id": 5, "left": 20, "top": 20,
                     "width": 30, "height": 30}
        ]
    },
    "bounding-box-attribute-name-metadata":
    {
        "objects":
        [
            {"confidence": 0.8},
            {"confidence": 0.9},
            {"confidence": 0.9}
        ],
        "class-map":
        {
            "0": "dog",
            "5": "bone"
        },
        "type": "groundtruth/object-detection",
        "human-annotated": "yes",
        "creation-date": "2018-10-18T22:18:13.527256",
        "job-name": "identify-dogs-and-toys"
    },
    "verify-bounding-box-attribute-name":"1",
    "verify-bounding-box-attribute-name-metadata":
    {
        "class-name": "bad",
        "confidence": 0.93,
        "type": "groundtruth/label-verification",
        "job-name": "verify-bounding-boxes",
        "human-annotated": "yes",
        "creation-date": "2018-11-20T22:18:13.527256",
        "worker-feedback": [
            {"comment": "The bounding box on the bird is too wide on the right side."},
            {"comment": "The bird on the upper right is not labeled."}
        ]
    }
}
```

Anche se il `type` sull'output del riquadro di delimitazione originale era `groundtruth/object-detection`, il nuovo `type` è `groundtruth/label-verification`. Tieni presente inoltre che l’array `worker-feedback` fornisce i commenti dei worker. Se il worker non fornisce commenti, i campi vuoti vengono esclusi durante il consolidamento.

## Output del processo di segmentazione semantica
<a name="sms-output-segmentation"></a>

Di seguito è riportato il file manifest di output di un processo di etichettatura di segmentazione semantica. Il valore dell'etichetta per il processo è un riferimento a un file PNG in un bucket S3 Amazon.

Oltre agli elementi standard, i metadati per l'etichetta includono una mappa colori che definisce quali colori sono usati per etichettare l'immagine, il nome della classe associato al colore e il punteggio di attendibilità per ogni colore. Per ulteriori informazioni, consulta [Algoritmo di segmentazione semantica](semantic-segmentation.md).

Il testo rosso in corsivo negli esempi seguenti varia a seconda delle specifiche del processo di etichettatura e dei dati di output. 

```
{
    "source-ref": "s3://amzn-s3-demo-bucket/example_city_image.png",
    "city-streets-ref": "S3 bucket location",
    "city-streets-ref-metadata": {
      "internal-color-map": {
        "0": {
           "class-name": "BACKGROUND",
           "confidence": 0.9,
           "hex-color": "#ffffff"
        },
        "1": {
           "class-name": "buildings",
           "confidence": 0.9,
           "hex-color": "#2acf59"
        },
        "2":  {
           "class-name": "road",
           "confidence": 0.9,
           "hex-color": "#f28333"
       }
     },
     "type": "groundtruth/semantic-segmentation",
     "human-annotated": "yes",
     "creation-date": "2018-10-18T22:18:13.527256",
     "job-name": "label-city-streets",
     },
     "verify-city-streets-ref":"1",
     "verify-city-streets-ref-metadata":
     {
        "class-name": "bad",
        "confidence": 0.93,
        "type": "groundtruth/label-verification",
        "job-name": "verify-city-streets",
        "human-annotated": "yes",
        "creation-date": "2018-11-20T22:18:13.527256",
        "worker-feedback": [
            {"comment": "The mask on the leftmost building is assigned the wrong side of the road."},
            {"comment": "The curb of the road is not labeled but the instructions say otherwise."}
        ]
     }
}
```

L'attendibilità viene valutata in base all'immagine. I punteggi di attendibilità sono identici in tutte le classi all'interno di un'immagine. 

L'output di un processo di regolazione della segmentazione semantica è simile al seguente JSON.

```
{
    "source-ref": "s3://amzn-s3-demo-bucket/example_city_image.png",
    "city-streets-ref": "S3 bucket location",
    "city-streets-ref-metadata": {
      "internal-color-map": {
        "0": {
           "class-name": "BACKGROUND",
           "confidence": 0.9,
           "hex-color": "#ffffff"
        },
        "1": {
           "class-name": "buildings",
           "confidence": 0.9,
           "hex-color": "#2acf59"
        },
        "2":  {
           "class-name": "road",
           "confidence": 0.9,
           "hex-color": "#f28333"
       }
     },
     "type": "groundtruth/semantic-segmentation",
     "human-annotated": "yes",
     "creation-date": "2018-10-18T22:18:13.527256",
     "job-name": "label-city-streets",
     },
     "adjusted-city-streets-ref": "s3://amzn-s3-demo-bucket/example_city_image.png",
     "adjusted-city-streets-ref-metadata": {
      "internal-color-map": {
        "0": {
           "class-name": "BACKGROUND",
           "confidence": 0.9,
           "hex-color": "#ffffff"
        },
        "1": {
           "class-name": "buildings",
           "confidence": 0.9,
           "hex-color": "#2acf59"
        },
        "2":  {
           "class-name": "road",
           "confidence": 0.9,
           "hex-color": "#f28333"
       }
     },
     "type": "groundtruth/semantic-segmentation",
     "human-annotated": "yes",
     "creation-date": "2018-11-20T22:18:13.527256",
     "job-name": "adjust-label-city-streets",
     }
}
```

## Output del rilevamento di oggetti in un frame video
<a name="sms-output-video-object-detection"></a>

Di seguito è riportato il file manifest di output di un processo di etichettatura per il rilevamento di oggetti in un frame video. Quanto *red, italicized text* negli esempi seguenti dipende dall'etichettatura delle specifiche del lavoro e dei dati di output.

Oltre agli elementi standard, i metadati includono una mappa che elenca ogni classe con almeno un'etichetta nella sequenza. I metadati includono anche `job-name` che è il nome assegnato al processo di etichettatura. Per le attività di regolazione, se uno o più riquadri di delimitazione vengono modificati, nei metadati per i flussi di lavoro di audit è presente un parametro `adjustment-status` impostato su `adjusted`. 

```
{
    "source-ref": "s3://amzn-s3-demo-bucket/example-path/input-manifest.json",
    "CarObjectDetection-ref": "s3://amzn-s3-demo-bucket/output/labeling-job-name/annotations/consolidated-annotation/output/0/SeqLabel.json",
    "CarObjectDetection-ref-metadata": {
        "class-map": {
            "0": "car",
            "1": "bus"
        },
        "job-name": "labeling-job/labeling-job-name",
        "human-annotated": "yes",
        "creation-date": "2021-09-29T05:50:35.566000",
        "type": "groundtruth/video-object-detection"
        }
}
```

Ground Truth crea un file di sequenza di output per ogni sequenza di frame video etichettata. Ogni file di sequenza di output contiene quanto segue: 
+ Tutte le annotazioni per i frame in una sequenza nell'elenco `detection-annotations` degli oggetti JSON. 
+ Per ogni frame annotato da un worker, il nome del file del frame (`frame`), numero (`frame-no`), un elenco di oggetti JSON contenenti annotazioni (`annotations`) e, se applicabile, `frame-attributes`. Il nome di questo elenco è definito dal tipo di attività che utilizzi:`polylines`, `polygons`, `keypoints` e, per i riquadri di delimitazione, `annotations`.

   

  Ogni oggetto JSON contiene informazioni su una singola annotazione e sull'etichetta associata. La tabella seguente descrive i parametri che verranno visualizzati per ogni tipo di attività relativa ai frame video.   
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/sms-data-output.html)

  Oltre ai valori specifici del tipo di attività, in ogni oggetto JSON vedrai quanto segue:
  + Valori di tutti gli `label-category-attributes` specificati per quell'etichetta. 
  + Il `class-id` del riquadro. Utilizza `class-map` nel file manifest di output per vedere a quale categoria di etichette corrisponde questo ID. 

Di seguito è riportato un esempio di un file `SeqLabel.json` tratto da un processo di etichettatura di oggetti basato su frame video di un riquadro di delimitazione. Questo file si troverà sotto `s3://amzn-s3-demo-bucket/output-prefix/annotations/consolidated-annotation/output/annotation-number/`

```
{
    "detection-annotations": [
        {
            "annotations": [
                {
                    "height": 41,
                    "width": 53,
                    "top": 152,
                    "left": 339,
                    "class-id": "1",
                    "label-category-attributes": {
                        "occluded": "no",
                        "size": "medium"
                    }
                },
                {
                    "height": 24,
                    "width": 37,
                    "top": 148,
                    "left": 183,
                    "class-id": "0",
                    "label-category-attributes": {
                        "occluded": "no",
                    }
                }
            ],
            "frame-no": 0,
            "frame": "frame_0000.jpeg", 
            "frame-attributes": {name: value, name: value}
        },
        {
            "annotations": [
                {
                    "height": 41,
                    "width": 53,
                    "top": 152,
                    "left": 341,
                    "class-id": "0",
                    "label-category-attributes": {}
                },
                {
                    "height": 24,
                    "width": 37,
                    "top": 141,
                    "left": 177,
                    "class-id": "0",
                    "label-category-attributes": {
                        "occluded": "no",
                    }
                }
            ],
            "frame-no": 1,
            "frame": "frame_0001.jpeg",
            "frame-attributes": {name: value, name: value}
        }
    ]
}
```

## Output del monitoraggio di oggetti in un frame video
<a name="sms-output-video-object-tracking"></a>

Di seguito è riportato il file manifest di output di un processo di etichettatura di monitoraggio di oggetti con frame video. Quanto *red, italicized text* negli esempi seguenti dipende dalle specifiche del lavoro di etichettatura e dai dati di output.

Oltre agli elementi standard, i metadati includono una mappa delle classi che elenca ogni classe che ha almeno un'etichetta nella sequenza di frame. I metadati includono anche il `job-name` che è il nome assegnato al processo di etichettatura. Per le attività di regolazione, se uno o più riquadri di delimitazione vengono modificati, nei metadati per i flussi di lavoro di audit è presente un parametro `adjustment-status` impostato su `adjusted`. 

```
{
    "source-ref": "s3://amzn-s3-demo-bucket/example-path/input-manifest.json",
    "CarObjectTracking-ref": "s3://amzn-s3-demo-bucket/output/labeling-job-name/annotations/consolidated-annotation/output/0/SeqLabel.json",
    "CarObjectTracking-ref-metadata": {
        "class-map": {
            "0": "car",
            "1": "bus"
        },
        "job-name": "labeling-job/labeling-job-name",
        "human-annotated": "yes",
        "creation-date": "2021-09-29T05:50:35.566000",
        "type": "groundtruth/video-object-tracking"
        }
 }
```

Ground Truth crea un file di sequenza di output per ogni sequenza di frame video etichettata. Ogni file di sequenza di output contiene quanto segue: 
+ Tutte le annotazioni per i frame in una sequenza nell'elenco `tracking-annotations` degli oggetti JSON. 
+ Per ogni fotogramma annotato da un worker, il fotogramma (`frame`), numero (`frame-no`), un elenco di oggetti JSON contenenti annotazioni (`annotations`) e, se applicabile, attributi frame (`frame-attributes`). Il nome di questo elenco è definito dal tipo di attività che utilizzi:`polylines`, `polygons`, `keypoints` e, per i riquadri di delimitazione, `annotations`.

  Ogni oggetto JSON contiene informazioni su una singola annotazione e sull'etichetta associata. La tabella seguente descrive i parametri che verranno visualizzati per ogni tipo di attività relativa ai frame video.   
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/sms-data-output.html)

  Oltre ai valori specifici del tipo di attività, in ogni oggetto JSON vedrai quanto segue: 
  + Valori di tutti gli `label-category-attributes` specificati per quell'etichetta. 
  + Il `class-id` del riquadro. Utilizza `class-map` nel file manifest di output per vedere a quale categoria di etichette corrisponde questo ID. 
  + Un `object-id` che identifica un'istanza di un'etichetta. Questo ID sarà lo stesso in tutti i fotogrammi se un worker identifica la stessa istanza di un oggetto in più fotogrammi. Ad esempio, se un'auto apparisse in più fotogrammi, tutti i riquadri di delimitazione utilizzati per identificare quell'auto avrebbero lo stesso valore `object-id`.
  + Il `object-name` è l'ID dell'istanza di quell'annotazione. 

Di seguito è riportato un esempio di un file `SeqLabel.json` tratto da un processo di etichettatura per il monitoraggio di oggetti basato su frame video di un riquadro di delimitazione. Questo file si troverà sotto `s3://amzn-s3-demo-bucket/output-prefix/annotations/consolidated-annotation/output/annotation-number/`

```
{
    "tracking-annotations": [
        {
            "annotations": [
                {
                    "height": 36,
                    "width": 46,
                    "top": 178,
                    "left": 315,
                    "class-id": "0",
                    "label-category-attributes": {
                        "occluded": "no"
                    },
                    "object-id": "480dc450-c0ca-11ea-961f-a9b1c5c97972",
                    "object-name": "car:1"
                }
            ],
            "frame-no": 0,
            "frame": "frame_0001.jpeg",
            "frame-attributes": {}
        },
        {
            "annotations": [
                {
                    "height": 30,
                    "width": 47,
                    "top": 163,
                    "left": 344,
                    "class-id": "1",
                    "label-category-attributes": {
                        "occluded": "no",
                        "size": "medium"
                    },
                    "object-id": "98f2b0b0-c0ca-11ea-961f-a9b1c5c97972",
                    "object-name": "bus:1"
                },
                {
                    "height": 28,
                    "width": 33,
                    "top": 150,
                    "left": 192,
                    "class-id": "0",
                    "label-category-attributes": {
                        "occluded": "partially"
                    },
                    "object-id": "480dc450-c0ca-11ea-961f-a9b1c5c97972",
                    "object-name": "car:1"
                }
            ],
            "frame-no": 1,
            "frame": "frame_0002.jpeg",
            "frame-attributes": {name: value, name: value}
        }
    ]
}
```

## Output della segmentazione semantica in una nuvola di punti 3D
<a name="sms-output-point-cloud-segmentation"></a>

Di seguito è riportato il file manifest di output di un processo di etichettatura di segmentazione semantica di una nuvola di punti 3D. 

Oltre agli elementi standard, i metadati per l'etichetta includono una mappa colori che definisce quali colori sono usati per etichettare l'immagine, il nome della classe associato al colore e il punteggio di attendibilità per ogni colore. Inoltre, nei metadati per i flussi di lavoro di audit è presente un parametro `adjustment-status` che è impostato su `adjusted` se la maschera di colore viene modificata. Se hai aggiunti uno o più `frameAttributes` al file di configurazione della categoria di etichette, le risposte del worker per gli attributi dei fotogrammi si trovano nell'oggetto JSON, `dataset-object-attributes`.

Il parametro `your-label-attribute-ref` contiene il percorso di un file compresso con estensione .zlib. Quando questo file si decomprime, esso contiene un array. Ogni indice dell'array corrisponde all'indice di un punto annotato nella nuvola di punti di input. Il valore dell'array ad un determinato indice fornisce la classe del punto in corrispondenza dello stesso indice nella nuvola di punti, in base alla mappa semantica dei colori trovata nel parametro `color-map` di `metadata`.

Per decomprimere un file.zlib puoi utilizzare un codice Python simile al seguente:

```
import zlib
from array import array

# read the label file
compressed_binary_file = open(zlib_file_path/file.zlib, 'rb').read()

# uncompress the label file
binary_content = zlib.decompress(compressed_binary_file)

# load labels to an array
my_int_array_data = array('B', binary_content);

print(my_int_array_data)
```

Il blocco di codice riportato sopra produrrà un output simile al seguente. Ogni elemento dell'array stampato contiene la classe di un punto in corrispondenza di quell'indice nella nuvola di punti. Ad esempio, `my_int_array_data[0] = 1` significa che `point[0]` nella nuvola di punti di input ha una classe `1`. Nel seguente esempio di file manifest di output, la classe `0` corrisponde a `"Background"`, `1` con `Car` e `2` con `Pedestrian`.

```
>> array('B', [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2])
```

Di seguito viene riportato un esempio di un file manifest di output del processo di etichettatura 3D a segmentazione semantica di una nuvola di punti. Il testo rosso in corsivo negli esempi seguenti varia a seconda delle specifiche del processo di etichettatura e dei dati di output. 

```
{
   "source-ref": "s3://amzn-s3-demo-bucket/examplefolder/frame1.bin",
   "source-ref-metadata":{
      "format": "binary/xyzi",
      "unix-timestamp": 1566861644.759115,
      "ego-vehicle-pose":{...}, 
      "prefix": "s3://amzn-s3-demo-bucket/lidar_singleframe_dataset/prefix",
      "images": [{...}] 
    },
    "lidar-ss-label-attribute-ref": "s3://amzn-s3-demo-bucket/labeling-job-name/annotations/consolidated-annotation/output/dataset-object-id/filename.zlib",
    "lidar-ss-label-attribute-ref-metadata": { 
        'color-map': {
            "0": {
                "class-name": "Background",
                "hex-color": "#ffffff",
                "confidence": 0.00
            },
            "1": {
                "class-name": "Car",
                "hex-color": "#2ca02c",
                "confidence": 0.00
            },
            "2": {
                "class-name": "Pedestrian",
                "hex-color": "#1f77b4",
                "confidence": 0.00
            },
            "3": {
                "class-name": "Tree",
                "hex-color": "#ff7f0e",
                "confidence": 0.00
            }
        },
        'type': 'groundtruth/point_cloud_single_frame_semantic_segmentation', 
        'human-annotated': 'yes',
        'creation-date': '2019-11-12T01:18:14.271944',
        'job-name': 'labeling-job-name',
        //only present for adjustment audit workflow
        "adjustment-status": "adjusted", // "adjusted" means the label was adjusted
        "dataset-object-attributes": {name: value, name: value}
    }
}
```

## Output del rilevamento di oggetti in una nuvola di punti 3D
<a name="sms-output-point-cloud-object-detection"></a>

Di seguito è riportato un esempio di output di un processo di rilevamento di oggetti della nuvola di punti 3D. Per questo tipo di attività, i dati relativi ai cuboidi 3D vengono restituiti nel parametro `3d-bounding-box`, in un elenco denominato `annotations`. In questo elenco, ogni cuboide 3D viene descritto utilizzando le seguenti informazioni. 
+ Ogni classe o categoria di etichetta specificata nel manifest di input è associata a un oggetto `class-id`. Utilizza `class-map` per identificare la classe associata a ciascun ID classe.
+ Queste classi vengono utilizzate per assegnare a ciascun cuboide 3D un `object-name` nel formato `<class>:<integer>` dove `integer` è un numero univoco che identifica il cuboide nel frame. 
+ `center-x`, `center-y` e `center-z` sono le coordinate del centro del cuboide, nello stesso sistema di coordinate dei dati di input della nuvola di punti 3D utilizzata nel processo di etichettatura.
+ `length`, `width` e `height` descrivono le dimensioni del cuboide. 
+ `yaw` è usato per descrivere l'orientamento (intestazione) del cuboide.
**Nota**  
`yaw` è ora nel sistema cartesiano destrorso. Poiché questa funzione è stata aggiunta il 2 settembre 2022 19:02:17 UTC, è possibile convertire la misurazione `yaw` nei dati di output precedenti utilizzando quanto segue (tutte le unità sono in radianti):  

  ```
  old_yaw_in_output = pi - yaw
  ```
+ Nella nostra definizione, \$1x è a destra, \$1y è in avanti e \$1z è in alto rispetto al piano terra. L'ordine di rotazione è x - y - z. `roll`, `pitch` e `yaw` sono rappresentati nel sistema cartesiano destro. Nello spazio 3D, `roll` è lungo l'asse x, `pitch` è lungo l'asse y e `yaw` si trova lungo l'asse z. Tutti e tre vanno in senso antiorario.
+ Se nel file manifest di input sono stati inclusi attributi di etichetta per una determinata classe, viene incluso un parametro `label-category-attributes` per tutti i cuboidi per cui i worker hanno selezionato gli attributi etichetta. 

Se uno o più cuboidi vengono modificati, nei metadati per i flussi di lavoro di audit è presente un parametro `adjustment-status` impostato su `adjusted`. Se hai aggiunti uno o più `frameAttributes` al file di configurazione della categoria di etichette, le risposte del worker per gli attributi dei frame si trovano nell'oggetto JSON, `dataset-object-attributes`.

Quanto *red, italicized text* negli esempi seguenti dipende dalle specifiche del lavoro di etichettatura e dai dati di output. Le ellissi (*...*) indicano una continuazione di tale elenco, in cui possono apparire oggetti aggiuntivi con lo stesso formato dell'oggetto precedente.

```
{
   "source-ref": "s3://amzn-s3-demo-bucket/examplefolder/frame1.txt",
   "source-ref-metadata":{
      "format": "text/xyzi",
      "unix-timestamp": 1566861644.759115, 
      "prefix": "s3://amzn-s3-demo-bucket/lidar_singleframe_dataset/prefix",
      "ego-vehicle-pose": {
            "heading": {
                "qx": -0.02111296123795955,
                "qy": -0.006495469416730261,
                "qz": -0.008024565904865688,
                "qw": 0.9997181192298087
            },
            "position": {
                "x": -2.7161461413869947,
                "y": 116.25822288149078,
                "z": 1.8348751887989483
            }
       },
       "images": [
            {
                "fx": 847.7962624528487,
                "fy": 850.0340893791985,
                "cx": 576.2129134707038,
                "cy": 317.2423573573745,
                "k1": 0,
                "k2": 0,
                "k3": 0,
                "k4": 0,
                "p1": 0,
                "p2": 0,
                "skew": 0,
                "unix-timestamp": 1566861644.759115,
                "image-path": "images/frame_0_camera_0.jpg", 
                "position": {
                    "x": -2.2722515189268138,
                    "y": 116.86003310568965,
                    "z": 1.454614668542299
                },
                "heading": {
                    "qx": 0.7594754093069037,
                    "qy": 0.02181790885672969,
                    "qz": -0.02461725233103356,
                    "qw": -0.6496916273040025
                },
                "camera_model": "pinhole"
            }
        ]
    },
   "3d-bounding-box": 
    {
       "annotations": [
            {
                "label-category-attributes": {
                    "Occlusion": "Partial",
                    "Type": "Sedan"
                },
                "object-name": "Car:1",
                "class-id": 0,
                "center-x": -2.616382013657516,
                "center-y": 125.04149850484193,
                "center-z": 0.311272296465834,
                "length": 2.993000265181146,
                "width": 1.8355260519692056,
                "height": 1.3233490884304047,
                "roll": 0,
                "pitch": 0,
                "yaw": 1.6479308313703527
            },
            {
                "label-category-attributes": {
                    "Occlusion": "Partial",
                    "Type": "Sedan"
                },
                "object-name": "Car:2",
                "class-id": 0,
                "center-x": -5.188984560617168,
                "center-y": 99.7954483288783,
                "center-z": 0.2226435567445657,
                "length": 4,
                "width": 2,
                "height": 2,
                "roll": 0,
                "pitch": 0,
                "yaw": 1.6243170732068055
            }
        ]
    },
    "3d-bounding-box-metadata":
    {
        "objects": [], 
        "class_map": 
        {
            "0": "Car",
        },
        "type": "groundtruth/point_cloud_object_detection",
        "human-annotated": "yes", 
        "creation-date": "2018-10-18T22:18:13.527256",
        "job-name": "identify-3d-objects",
        "adjustment-status": "adjusted",
        "dataset-object-attributes": {name: value, name: value}
    }
}
```

## Output del monitoraggio di oggetti in una nuvola di punti 3D
<a name="sms-output-point-cloud-object-tracking"></a>

Quello che segue è un esempio di file manifest di output di un processo di etichettatura per il monitoraggio di oggetti in nuvola di punti 3D. Quanto *red, italicized text* negli esempi seguenti dipende dall'etichettatura delle specifiche del lavoro e dei dati di output. Le ellissi (*...*) indicano una continuazione di tale elenco, in cui possono apparire oggetti aggiuntivi con lo stesso formato dell'oggetto precedente.

Oltre agli elementi standard, i metadati includono una mappa che elenca ogni classe con almeno un'etichetta nella sequenza. Se uno o più cuboidi vengono modificati, nei metadati per i flussi di lavoro di audit è presente un parametro `adjustment-status` impostato su `adjusted`. 

```
{
   "source-ref": "s3://amzn-s3-demo-bucket/myfolder/seq1.json",
    "lidar-label-attribute-ref": "s3://amzn-s3-demo-bucket/<labelingJobName>/annotations/consolidated-annotation/output/<datasetObjectId>/SeqLabel.json",
    "lidar-label-attribute-ref-metadata": { 
        "objects": 
        [
            {   
                "frame-no": 300,
                "confidence": []
            },
            {
                "frame-no": 301,
                "confidence": []
            },
            ...
        ],    
        'class-map': {'0': 'Car', '1': 'Person'}, 
        'type': 'groundtruth/point_cloud_object_tracking', 
        'human-annotated': 'yes',
        'creation-date': '2019-11-12T01:18:14.271944',
        'job-name': 'identify-3d-objects',
        "adjustment-status": "adjusted" 
    }
}
```

Nell'esempio precedente, i dati del cuboide per ogni frame in `seq1.json` sono in `SeqLabel.json` nella posizione S3 Amazon, `s3://amzn-s3-demo-bucket/<labelingJobName>/annotations/consolidated-annotation/output/<datasetObjectId>/SeqLabel.json`. Di seguito è riportato un esempio di questo file di sequenza di etichette.

Per ogni frame della sequenza, vengono visualizzati `frame-number`, `frame-name` se applicabile, `frame-attributes` e un elenco di `annotations`. Questo elenco contiene cuboidi 3D disegnati per quel frame. Ogni frame include le seguenti informazioni: 
+ Un `object-name` nel formato `<class>:<integer>` dove `class` identifica la categoria di etichetta e `integer` è un ID univoco nel set di dati.
+ Quando i worker disegnano un cuboide, questo viene associato a un unico `object-id` che è associato a tutti i cuboidi che identificano lo stesso oggetto su più frame.
+ Ogni classe o categoria di etichetta specificata nel manifest di input è associata a `class-id`. Utilizza `class-map` per identificare la classe associata a ciascun ID classe.
+ `center-x`, `center-y` e `center-z` sono le coordinate del centro del cuboide, nello stesso sistema di coordinate dei dati di input della nuvola di punti 3D utilizzata nel processo di etichettatura.
+ `length`, `width` e `height` descrivono le dimensioni del cuboide. 
+ `yaw` è usato per descrivere l'orientamento (intestazione) del cuboide.
**Nota**  
`yaw` è ora nel sistema cartesiano destrorso. Poiché questa funzione è stata aggiunta il 2 settembre 2022 19:02:17 UTC, è possibile convertire la misurazione `yaw` nei dati di output precedenti utilizzando quanto segue (tutte le unità sono in radianti):  

  ```
  old_yaw_in_output = pi - yaw
  ```
+ Nella nostra definizione, \$1x è a destra, \$1y è in avanti e \$1z è in alto rispetto al piano terra. L'ordine di rotazione è x - y - z. `roll`, `pitch` e `yaw` sono rappresentati nel sistema cartesiano destro. Nello spazio 3D, `roll` è lungo l'asse x, `pitch` è lungo l'asse y e `yaw` si trova lungo l'asse z. Tutti e tre vanno in senso antiorario.
+ Se nel file manifest di input sono stati inclusi attributi di etichetta per una determinata classe, viene incluso un parametro `label-category-attributes` per tutti i cuboidi per cui i worker hanno selezionato gli attributi etichetta. 

```
{
    "tracking-annotations": [
        {
            "frame-number": 0,
            "frame-name": "0.txt.pcd",
            "frame-attributes": {name: value, name: value},
            "annotations": [
                {
                    "label-category-attributes": {},
                    "object-name": "Car:4",
                    "class-id": 0,
                    "center-x": -2.2906369208300674,
                    "center-y": 103.73924823843463,
                    "center-z": 0.37634114027023313,
                    "length": 4,
                    "width": 2,
                    "height": 2,
                    "roll": 0,
                    "pitch": 0,
                    "yaw": 1.5827222214406014,
                    "object-id": "ae5dc770-a782-11ea-b57d-67c51a0561a1"
                },
                {
                    "label-category-attributes": {
                        "Occlusion": "Partial",
                        "Type": "Sedan"
                    },
                    "object-name": "Car:1",
                    "class-id": 0,
                    "center-x": -2.6451293634707413,
                    "center-y": 124.9534455706848,
                    "center-z": 0.5020834081743839,
                    "length": 4,
                    "width": 2,
                    "height": 2.080488827301309,
                    "roll": 0,
                    "pitch": 0,
                    "yaw": -1.5963335581398077,
                    "object-id": "06efb020-a782-11ea-b57d-67c51a0561a1"
                },
                {
                    "label-category-attributes": {
                        "Occlusion": "Partial",
                        "Type": "Sedan"
                    },
                    "object-name": "Car:2",
                    "class-id": 0,
                    "center-x": -5.205611313118477,
                    "center-y": 99.91731932137061,
                    "center-z": 0.22917217081212138,
                    "length": 3.8747142207671956,
                    "width": 1.9999999999999918,
                    "height": 2,
                    "roll": 0,
                    "pitch": 0,
                    "yaw": 1.5672228760316775,
                    "object-id": "26fad020-a782-11ea-b57d-67c51a0561a1"
                }
            ]
        },
        {
            "frame-number": 1,
            "frame-name": "1.txt.pcd",
            "frame-attributes": {},
            "annotations": [
                {
                    "label-category-attributes": {},
                    "object-name": "Car:4",
                    "class-id": 0,
                    "center-x": -2.2906369208300674,
                    "center-y": 103.73924823843463,
                    "center-z": 0.37634114027023313,
                    "length": 4,
                    "width": 2,
                    "height": 2,
                    "roll": 0,
                    "pitch": 0,
                    "yaw": 1.5827222214406014,
                    "object-id": "ae5dc770-a782-11ea-b57d-67c51a0561a1"
                },
                {
                    "label-category-attributes": {
                        "Occlusion": "Partial",
                        "Type": "Sedan"
                    },
                    "object-name": "Car:1",
                    "class-id": 0,
                    "center-x": -2.6451293634707413,
                    "center-y": 124.9534455706848,
                    "center-z": 0.5020834081743839,
                    "length": 4,
                    "width": 2,
                    "height": 2.080488827301309,
                    "roll": 0,
                    "pitch": 0,
                    "yaw": -1.5963335581398077,
                    "object-id": "06efb020-a782-11ea-b57d-67c51a0561a1"
                },
                {
                    "label-category-attributes": {
                        "Occlusion": "Partial",
                        "Type": "Sedan"
                    },
                    "object-name": "Car:2",
                    "class-id": 0,
                    "center-x": -5.221311072916759,
                    "center-y": 100.4639841045424,
                    "center-z": 0.22917217081212138,
                    "length": 3.8747142207671956,
                    "width": 1.9999999999999918,
                    "height": 2,
                    "roll": 0,
                    "pitch": 0,
                    "yaw": 1.5672228760316775,
                    "object-id": "26fad020-a782-11ea-b57d-67c51a0561a1"
                }
            ]
        }       
    ]
}
```

## Output del monitoraggio di oggetti in una nuvola di punti 3D-2D
<a name="sms-output-3d-2d-point-cloud-object-tracking"></a>

Quello che segue è un esempio di file manifest di output di un processo di etichettatura per il monitoraggio di oggetti in nuvola di punti 3D. Quanto *red, italicized text* negli esempi seguenti dipende dall'etichettatura delle specifiche del lavoro e dei dati di output. Le ellissi (*...*) indicano una continuazione di tale elenco, in cui possono apparire oggetti aggiuntivi con lo stesso formato dell'oggetto precedente.

Oltre agli elementi standard, i metadati includono una mappa che elenca ogni classe con almeno un'etichetta nella sequenza. Se uno o più cuboidi vengono modificati, nei metadati per i flussi di lavoro di audit è presente un parametro `adjustment-status` impostato su `adjusted`. 

```
{
  "source-ref": "s3://amzn-s3-demo-bucket/artifacts/gt-point-cloud-demos/sequences/seq2.json",
  "source-ref-metadata": {
    "json-paths": [
      "number-of-frames",
      "prefix",
      "frames{frame-no, frame}"
    ]
  },
  "3D2D-linking-ref": "s3://amzn-s3-demo-bucket/xyz/3D2D-linking/annotations/consolidated-annotation/output/0/SeqLabel.json",
  "3D2D-linking-ref-metadata": {
    "objects": [
      {
        "frame-no": 0,
        "confidence": []
      },
      {
        "frame-no": 1,
        "confidence": []
      },
      {
        "frame-no": 2,
        "confidence": []
      },
      {
        "frame-no": 3,
        "confidence": []
      },
      {
        "frame-no": 4,
        "confidence": []
      },
      {
        "frame-no": 5,
        "confidence": []
      },
      {
        "frame-no": 6,
        "confidence": []
      },
      {
        "frame-no": 7,
        "confidence": []
      },
      {
        "frame-no": 8,
        "confidence": []
      },
      {
        "frame-no": 9,
        "confidence": []
      }
    ],
    "class-map": {
      "0": "Car"
    },
    "type": "groundtruth/point_cloud_object_tracking",
    "human-annotated": "yes",
    "creation-date": "2023-01-19T02:55:10.206508",
    "job-name": "mcm-linking"
  },
  "3D2D-linking-chain-ref": "s3://amzn-s3-demo-bucket/xyz/3D2D-linking-chain/annotations/consolidated-annotation/output/0/SeqLabel.json",
  "3D2D-linking-chain-ref-metadata": {
    "objects": [
      {
        "frame-no": 0,
        "confidence": []
      },
      {
        "frame-no": 1,
        "confidence": []
      },
      {
        "frame-no": 2,
        "confidence": []
      },
      {
        "frame-no": 3,
        "confidence": []
      },
      {
        "frame-no": 4,
        "confidence": []
      },
      {
        "frame-no": 5,
        "confidence": []
      },
      {
        "frame-no": 6,
        "confidence": []
      },
      {
        "frame-no": 7,
        "confidence": []
      },
      {
        "frame-no": 8,
        "confidence": []
      },
      {
        "frame-no": 9,
        "confidence": []
      }
    ],
    "class-map": {
      "0": "Car"
    },
    "type": "groundtruth/point_cloud_object_tracking",
    "human-annotated": "yes",
    "creation-date": "2023-01-19T03:29:49.149935",
    "job-name": "3d2d-linking-chain"
  }
}
```

Nell'esempio precedente, i dati del cuboide per ogni frame in `seq2.json` sono in `SeqLabel.json` nella posizione S3 Amazon, `s3://amzn-s3-demo-bucket/<labelingJobName>/annotations/consolidated-annotation/output/<datasetObjectId>/SeqLabel.json`. Di seguito è riportato un esempio di questo file di sequenza di etichette.

Per ogni frame della sequenza, vengono visualizzati `frame-number`, `frame-name` se applicabile, `frame-attributes` e un elenco di `annotations`. Questo elenco contiene cuboidi 3D disegnati per quel frame. Ogni frame include le seguenti informazioni: 
+ Un `object-name` nel formato `<class>:<integer>` dove `class` identifica la categoria di etichetta e `integer` è un ID univoco nel set di dati.
+ Quando i worker disegnano un cuboide, questo viene associato a un unico `object-id` che è associato a tutti i cuboidi che identificano lo stesso oggetto su più frame.
+ Ogni classe o categoria di etichetta specificata nel manifest di input è associata a `class-id`. Utilizza `class-map` per identificare la classe associata a ciascun ID classe.
+ `center-x`, `center-y` e `center-z` sono le coordinate del centro del cuboide, nello stesso sistema di coordinate dei dati di input della nuvola di punti 3D utilizzata nel processo di etichettatura.
+ `length`, `width` e `height` descrivono le dimensioni del cuboide. 
+ `yaw` è usato per descrivere l'orientamento (intestazione) del cuboide.
**Nota**  
`yaw` è ora nel sistema cartesiano destrorso. Poiché questa funzione è stata aggiunta il 2 settembre 2022 19:02:17 UTC, è possibile convertire la misurazione `yaw` nei dati di output precedenti utilizzando quanto segue (tutte le unità sono in radianti):  

  ```
  old_yaw_in_output = pi - yaw
  ```
+ Nella nostra definizione, \$1x è a destra, \$1y è in avanti e \$1z è in alto rispetto al piano terra. L'ordine di rotazione è x - y - z. `roll`, `pitch` e `yaw` sono rappresentati nel sistema cartesiano destro. Nello spazio 3D, `roll` è lungo l'asse x, `pitch` è lungo l'asse y e `yaw` si trova lungo l'asse z. Tutti e tre vanno in senso antiorario.
+ Se nel file manifest di input sono stati inclusi attributi di etichetta per una determinata classe, viene incluso un parametro `label-category-attributes` per tutti i cuboidi per cui i worker hanno selezionato gli attributi etichetta. 

```
{
  "lidar": {
    "tracking-annotations": [
      {
        "frame-number": 0,
        "frame-name": "0.txt.pcd",
        "annotations": [
          {
            "label-category-attributes": {
              "Type": "Sedan"
            },
            "object-name": "Car:1",
            "class-id": 0,
            "center-x": 12.172361721602815,
            "center-y": 120.23067521992364,
            "center-z": 1.590525771183712,
            "length": 4,
            "width": 2,
            "height": 2,
            "roll": 0,
            "pitch": 0,
            "yaw": 0,
            "object-id": "505b39e0-97a4-11ed-8903-dd5b8b903715"
          },
          {
            "label-category-attributes": {},
            "object-name": "Car:4",
            "class-id": 0,
            "center-x": 17.192725195301094,
            "center-y": 114.55705365827872,
            "center-z": 1.590525771183712,
            "length": 4,
            "width": 2,
            "height": 2,
            "roll": 0,
            "pitch": 0,
            "yaw": 0,
            "object-id": "1afcb670-97a9-11ed-9a84-ff627d099e16"
          }
        ],
        "frame-attributes": {}
      },
      {
        "frame-number": 1,
        "frame-name": "1.txt.pcd",
        "annotations": [
          {
            "label-category-attributes": {
              "Type": "Sedan"
            },
            "object-name": "Car:1",
            "class-id": 0,
            "center-x": -1.6841480600695489,
            "center-y": 126.20198882749516,
            "center-z": 1.590525771183712,
            "length": 4,
            "width": 2,
            "height": 2,
            "roll": 0,
            "pitch": 0,
            "yaw": 0,
            "object-id": "505b39e0-97a4-11ed-8903-dd5b8b903715"
          },
          {
            "label-category-attributes": {},
            "object-name": "Car:4",
            "class-id": 0,
            "center-x": 17.192725195301094,
            "center-y": 114.55705365827872,
            "center-z": 1.590525771183712,
            "length": 4,
            "width": 2,
            "height": 2,
            "roll": 0,
            "pitch": 0,
            "yaw": 0,
            "object-id": "1afcb670-97a9-11ed-9a84-ff627d099e16"
          }
        ],
        "frame-attributes": {}
      },
      {
        "frame-number": 2,
        "frame-name": "2.txt.pcd",
        "annotations": [
          {
            "label-category-attributes": {
              "Type": "Sedan"
            },
            "object-name": "Car:1",
            "class-id": 0,
            "center-x": -1.6841480600695489,
            "center-y": 126.20198882749516,
            "center-z": 1.590525771183712,
            "length": 4,
            "width": 2,
            "height": 2,
            "roll": 0,
            "pitch": 0,
            "yaw": 0,
            "object-id": "505b39e0-97a4-11ed-8903-dd5b8b903715"
          },
          {
            "label-category-attributes": {},
            "object-name": "Car:4",
            "class-id": 0,
            "center-x": 17.192725195301094,
            "center-y": 114.55705365827872,
            "center-z": 1.590525771183712,
            "length": 4,
            "width": 2,
            "height": 2,
            "roll": 0,
            "pitch": 0,
            "yaw": 0,
            "object-id": "1afcb670-97a9-11ed-9a84-ff627d099e16"
          }
        ],
        "frame-attributes": {}
      }
    ]
  },
  "camera-0": {
    "tracking-annotations": [
      {
        "frame-no": 0,
        "frame": "0.txt.pcd",
        "annotations": [
          {
            "label-category-attributes": {
              "Occlusion": "Partial"
            },
            "object-name": "Car:2",
            "class-id": 0,
            "width": 223,
            "height": 164,
            "top": 225,
            "left": 486,
            "object-id": "5229df60-97a4-11ed-8903-dd5b8b903715"
          }
        ],
        "frame-attributes": {}
      },
      {
        "frame-no": 1,
        "frame": "1.txt.pcd",
        "annotations": [
          {
            "label-category-attributes": {},
            "object-name": "Car:4",
            "class-id": 0,
            "width": 252,
            "height": 246,
            "top": 237,
            "left": 473,
            "object-id": "1afcb670-97a9-11ed-9a84-ff627d099e16"
          }
        ],
        "frame-attributes": {}
      }
    ]
  }
}
```

Il cuboide e il riquadro di delimitazione di un oggetto sono collegati tramite un id oggetto comune.

# Etichettatura dei dati avanzata
<a name="sms-data-labeling"></a>

Amazon SageMaker Ground Truth gestisce l'invio di oggetti di dati ai lavoratori per l'etichettatura. L'etichettatura di ogni oggetto dati è un'*attività*. I worker completano ogni attività fino al completamento dell'intero processo di etichettatura. Ground Truth divide il numero totale di attività in *batch* più piccoli che vengono inviati ai worker. Un nuovo batch viene inviato a worker quando quello precedente è terminato.

Ground Truth fornisce due funzionalità che consentono di migliorare la precisione delle etichette dati e ridurre il costo totale di etichettatura dei dati:
+ Il *consolidamento delle annotazioni* aiuta a migliorare l'accuratezza delle etichette dell'oggetto dati. Combina i risultati di più attività di annotazione di più worker in un'unica etichetta ad alta fedeltà.
+ L’*etichettatura automatica dei dati*, utilizza la tecnologia di machine learning per etichettare parti dei dati automaticamente senza doverli inviare a worker umani.

**Topics**
+ [Controllare il flusso di oggetti di dati inviati ai worker](sms-batching.md)
+ [Consolidamento delle annotazioni](sms-annotation-consolidation.md)
+ [Automatizzare l’etichettatura dei dati](sms-automated-labeling.md)
+ [Concatenazione di processi di etichettatura](sms-reusing-data.md)

# Controllare il flusso di oggetti di dati inviati ai worker
<a name="sms-batching"></a>

A seconda del tipo di lavoro di etichettatura creato, Amazon SageMaker Ground Truth invia oggetti di dati ai lavoratori in batch o in streaming. Puoi controllare il flusso di oggetti dati verso i worker nei modi seguenti:
+ Per entrambi i tipi di processo di etichettatura, puoi utilizzare `MaxConcurrentTaskCount` per controllare il numero totale di oggetti di dati disponibili per tutti i worker in un determinato momento in cui il processo di etichettatura è in esecuzione.
+ Per i processi di etichettatura in streaming, puoi controllare il flusso di oggetti di dati verso i worker monitorando e controllando il numero di oggetti dati inviati ad Amazon SQS associati al tuo processo di etichettatura. 

Utilizza le seguenti sezioni per avere ulteriori informazioni su queste opzioni.

**Topics**
+ [Utilizzalo MaxConcurrentTaskCount per controllare il flusso di oggetti di dati](#sms-batching-maxconcurrenttaskcount)
+ [Utilizzare Amazon SQS per controllare il flusso di oggetti di dati verso processi di etichettatura in streaming](#sms-batching-streaming-sqs)

## Utilizzalo MaxConcurrentTaskCount per controllare il flusso di oggetti di dati
<a name="sms-batching-maxconcurrenttaskcount"></a>

[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-MaxConcurrentTaskCount](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-MaxConcurrentTaskCount) definisce il numero massimo di oggetti di dati disponibili contemporaneamente nella coda delle attività del portale per i worker. Se utilizzi la console, questo parametro è impostato su 1.000. Se utilizzi `CreateLabelingJob`, puoi impostare questo parametro su qualsiasi numero intero compreso tra 1 e 5.000, entrambi inclusi.

Utilizza l’esempio seguente per comprendere meglio in che modo il numero di voci nel file di manifesto, `NumberOfHumanWorkersPerDataObject`, e `MaxConcurrentTaskCount` definiscono le attività visualizzate dai worker nella coda delle attività all’interno dell’interfaccia utente del portale per i worker.

1. Hai un file di manifesto di input con 600 voci.

1. Per ogni voce del file di manifesto di input è possibile utilizzare `NumberOfHumanWorkersPerDataObject` per definire il numero di worker umani che etichetteranno una voce dal file di manifesto di input. In questo esempio, imposta `NumberOfHumanWorkersPerDataObject` su un valore pari a 3. Questo crea 3 attività diverse per ogni voce nel file di manifesto di input. Inoltre, per essere contrassegnato come correttamente etichettato, almeno 3 worker diversi devono etichettare l’oggetto. Questo crea un totale di 1.800 attività (600 x 3) che devono essere completate dai worker.

1. Per fare in modo che i worker visualizzino solo 100 attività alla volta nella loro coda all’interno dell’interfaccia utente del portale per i worker, imposta `MaxConcurrentTaskCount` su un valore pari a 100. Ground Truth riempie quindi la coda delle attività del portale per i lavoratori con 100 attività per worker.

1. Quello che succede dopo varia a seconda del tipo di processo di etichettatura creato e dal fatto che si tratti di un processo di etichettatura in streaming.
   + **Processo di etichettatura in streaming**: purché il numero totale di oggetti disponibili per i worker sia pari a `MaxConcurrentTaskCount`, tutti gli oggetti del set di dati rimanenti nel file di manifesto di input e che invii in tempo reale tramite Amazon SNS vengono inseriti in una coda Amazon SQS. Quando il numero totale di oggetti disponibili per i worker scende al di sotto di `MaxConcurrentTaskCount` meno `NumberOfHumanWorkersPerDataObject`, viene utilizzato un nuovo oggetto di dati dalla coda per creare attività `NumberOfHumanWorkersPerDataObject`, che vengono inviate ai worker in tempo reale.
   + **Processo di etichettatura non in streaming**: man mano che i worker terminano di etichettare un set di oggetti, ai worker verranno inviate fino a `MaxConcurrentTaskCount` volte `NumberOfHumanWorkersPerDataObject` il numero massimo di nuove attività. Questo processo viene ripetuto fino a quando tutti gli oggetti di dati nel file manifesto di input non vengono etichettati.

## Utilizzare Amazon SQS per controllare il flusso di oggetti di dati verso processi di etichettatura in streaming
<a name="sms-batching-streaming-sqs"></a>

Quando crei un processo di etichettatura in streaming, nel tuo account viene creata automaticamente una coda Amazon SQS. Gli oggetti dati vengono aggiunti alla coda di Amazon SQS solo quando il numero totale di oggetti inviati ai worker è superiore a `MaxConcurrentTaskCount`. In caso contrario, gli oggetti vengono inviati direttamente ai worker.

Puoi utilizzare questa coda per gestire il flusso di oggetti di dati verso il processo di etichettatura. Per ulteriori informazioni, consulta [Gestire richieste di etichettatura con una coda Amazon SQS](sms-streaming-how-it-works-sqs.md).

# Consolidamento delle annotazioni
<a name="sms-annotation-consolidation"></a>

Una *annotazione* è il risultato dell'attività di etichettatura di un singolo worker. Il *consolidamento delle annotazioni* combina le annotazioni di due o più worker in una singola etichetta per gli oggetti dati. Un'etichetta, che viene assegnata a ciascun oggetto nel set di dati, è una stima probabilistica di quel che dovrebbe essere l'etichetta vera. Ogni oggetto nel set di dati in genere dispone di più annotazioni, ma di una sola etichetta o di un solo set di etichette.

Puoi decidere quanti worker annotano ogni oggetto nel set di dati. L’uso di un numero maggiore di worker può aumentare la precisione delle etichette, ma aumenta anche il costo dell'etichettatura. Per ulteriori informazioni sui prezzi di Ground Truth, consulta i prezzi di [Amazon SageMaker Ground Truth](https://aws.amazon.com/sagemaker/groundtruth/pricing/).

Se utilizzi la console Amazon SageMaker AI per creare un processo di etichettatura, le seguenti sono le impostazioni predefinite per il numero di lavoratori che possono annotare gli oggetti: 
+ Classificazione del testo: 3 worker
+ Classificazione delle immagini: 3 worker
+ Riquadri di delimitazione: 5 worker
+ Segmentazione semantica: 3 worker
+ Riconoscimento delle entità denominate: 3 worker

Quando utilizzi l'operazione [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html), devi impostare il numero di worker che devono annotare ogni oggetto dati utilizzando il parametro `NumberOfHumanWorkersPerDataObject`. Puoi sovrascrivere il numero predefinito di worker che annotano un oggetto dati utilizzando la console o l'operazione [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html).

Ground Truth fornisce una funzione di consolidamento delle annotazioni per ciascuna delle attività di etichettatura predefinite: riquadro di delimitazione, classificazione delle immagini, riconoscimento delle entità denominate, segmentazione semantica e classificazione del testo. Le funzioni sono le seguenti:
+ Il consolidamento delle annotazioni multiclasse per la classificazione delle immagini e del testo utilizza una variante dell'approccio di [massimizzazione dell'aspettativa (EM, Expectation Maximization)](https://en.wikipedia.org/wiki/Expectation-maximization_algorithm) alle annotazioni. Stima i parametri per ogni worker e utilizza l'inferenza bayesiana per stimare la vera classe in base alle annotazioni classe di singoli worker. 
+ L'annotazione riquadro di delimitazione consolida i riquadri di delimitazione da più worker. Individua i riquadri più simili da worker diversi in base [all'indice di Jaccard](https://en.wikipedia.org/wiki/Jaccard_index), o intersezione sopra unione, dei riquadri e ne calcola la media. 
+ Il consolidamento delle annotazioni di segmentazione semantica tratta ogni pixel in una singola immagine come una classificazione multiclasse. Considera le annotazioni pixel dei worker come "voti", con informazioni aggiuntive provenienti dai pixel circostanti incorporati applicando una funzione di sfumatura all'immagine.
+ Seleziona il testo dei cluster del riconoscimento delle entità denominate in base alla somiglianza di Jaccard e calcola i limiti di selezione in base alla modalità o alla mediana, se la modalità non è chiara. L'etichetta si risolve nell'etichetta di entità più assegnata nel cluster, interrompendo i vincoli per selezione casuale.

Puoi utilizzare altri algoritmi per consolidare le annotazioni. Per informazioni, consulta [Creazione di funzioni di consolidamento delle annotazioni](consolidation-lambda.md). 

# Creazione di funzioni di consolidamento delle annotazioni
<a name="consolidation-lambda"></a>

Puoi scegliere di utilizzare la tua funzione di consolidamento delle annotazioni per determinare le etichette finali per gli oggetti etichettati. Esistono molti approcci possibili per scrivere una funzione e l'approccio che adotti dipende dalla natura delle annotazioni da consolidare. In generale, le funzioni di consolidamento osservano le annotazioni dei worker, ne misurano la somiglianza e quindi utilizzano una forma di giudizio probabilistico per determinare quale deve essere l'etichetta più probabile.

Se desideri utilizzare altri algoritmi per creare funzioni di consolidamento delle annotazioni, puoi trovare le risposte del worker nella cartella `[project-name]/annotations/worker-response` del bucket Amazon S3 nel quale dirigi l'output del processo.

## Valutare la somiglianza
<a name="consolidation-assessing"></a>

Per valutare la somiglianza tra etichette, puoi utilizzare una delle seguenti strategie o utilizzarne una che soddisfa le esigenze di etichettatura dei dati:
+ Per spazi etichetta costituiti da categorie discrete, mutuamente esclusive, come la classificazione multiclasse, la valutazione della somiglianza può essere semplice. Le etichette discrete o corrispondono o non corrispondono. 
+ Per spazi etichetta che non includono valori discreti, come le annotazioni riquadro di delimitazione, occorre trovare una misura di somiglianza ampia. Per i riquadri di delimitazione, una tale misura è l'indice di Jaccard. Questo consente di misurare il rapporto dell'intersezione di due caselle con l'unione delle caselle per valutarne la somiglianza. Ad esempio, se ci sono tre annotazioni, può esserci una funzione che determina quali annotazioni rappresentano lo stesso oggetto e devono essere consolidate.

## Valutare l’etichetta più probabile
<a name="consolidation-probable-label"></a>

Tenendo in considerazione una delle strategie illustrate nelle sezioni precedenti, crea una sorta di giudizio probabilistico su come deve essere l'etichetta consolidata. Nel caso di categorie discrete mutuamente esclusive, può essere semplice. Uno dei modi più comuni per eseguire questa operazione è prendere i risultati di una votazione a maggioranza tra le annotazioni. Ciò consente di pesare le annotazioni equamente. 

Alcuni approcci tentano di stimare la precisione di annotatori diversi e di pesare le relative annotazioni in proporzione alla probabilità di correttezza. Un esempio è il metodo Expectation Maximization, che viene utilizzato nella funzione di consolidamento Ground Truth predefinita per annotazioni multiclasse. 

Per ulteriori informazioni sulla creazione di una funzione di consolidamento delle annotazioni, consulta [Elaborazione dei dati in un flusso di lavoro di etichettatura personalizzato con AWS Lambda](sms-custom-templates-step3.md).

# Automatizzare l’etichettatura dei dati
<a name="sms-automated-labeling"></a>

Se lo desideri, Amazon SageMaker Ground Truth può utilizzare l'apprendimento attivo per automatizzare l'etichettatura dei dati di input per determinati tipi di attività integrate. *L'apprendimento attivo* è una tecnica di machine learning che consente di identificare i dati che devono essere etichettati dai worker. In Ground Truth, questa funzionalità è chiamata etichettatura dei dati automatica. L'etichettatura dei dati automatica aiuta a ridurre i costi e i tempi necessari per etichettare il set di dati rispetto al solo impiego di esseri umani. Quando utilizzi l'etichettatura automatizzata, devi sostenere costi di formazione e inferenza. SageMaker 

Si consiglia di utilizzare l'etichettatura dei dati automatica su set di dati di grandi dimensioni perché le reti neurali utilizzate con l'apprendimento attivo richiedono una quantità significativa di dati per ogni nuovo set di dati. In genere, man mano che fornisci più dati, aumenta il potenziale per le previsioni di alta precisione. I dati saranno etichettati automaticamente solo se la rete neurale utilizzata nel modello di etichettatura automatica può raggiungere un livello di accuratezza sufficientemente elevato. Pertanto, con set di dati più grandi, puoi etichettare automaticamente i dati perché la rete neurale può ottenere una precisione sufficiente per l'etichettatura automatica. L'etichettatura dei dati automatica è più appropriata quando disponi di migliaia di oggetti dati. Il numero minimo di oggetti consentiti per l'etichettatura dei dati automatica è di 1.250, ma consigliamo vivamente di fornire un minimo di 5.000 oggetti.

L'etichettatura dei dati automatica è disponibile solo per i seguenti tipi di attività integrate Ground Truth: 
+ [Creare un processo di etichettatura per la classificazione delle immagini (API)](sms-image-classification.md)
+ [Identificare i contenuti delle immagini utilizzando la segmentazione semantica](sms-semantic-segmentation.md)
+ Rilevamento di oggetti ([Classificare oggetti di immagini utilizzando un riquadro di delimitazione](sms-bounding-box.md))
+ [Categorizzare il testo con la classificazione (etichetta singola)](sms-text-classification.md)

I [processi di etichettatura in streaming](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-streaming-labeling-job.html) non supportano l'etichettatura dei dati automatica.

Per ulteriori informazioni su come creare un flusso di lavoro di apprendimento attivo personalizzato utilizzando il tuo modello, consulta [Imposta un flusso di lavoro di apprendimento attivo con il tuo modello](#samurai-automated-labeling-byom).

Le quote dei dati di input si applicano ai processi di etichettatura dei dati automatica. Per informazioni sulle dimensioni del set di dati, sulla dimensione dei dati di input e sui limiti di risoluzione, consulta [Quote dei dati di input](input-data-limits.md).

**Nota**  
Prima di utilizzare un modello di etichettatura automatica in produzione, devi perfezionare o testare il prodotto, o eseguire entrambe le attività. Puoi ottimizzare il modello (o creare e ottimizzare un altro modello supervisionato di tua scelta) sul set di dati prodotto dal processo di etichettatura per ottimizzare l'architettura e gli iperparametri del modello. Se decidi di utilizzare il modello per inferenza senza ottimizzazione, ti consigliamo di verificare la sua precisione su un sottoinsieme rappresentativo (ad esempio, selezionato casualmente) del set di dati etichettato con Ground Truth e che corrisponda alle tue aspettative.

## Come funziona
<a name="sms-automated-labeling-how-it-works"></a>

Puoi abilitare l'etichettatura dei dati automatica quando crei un processo di etichettatura. Ecco come funziona:

1. Quando Ground Truth avvia un processo di etichettatura dei dati automatica, seleziona un campione casuale di oggetti di dati di input e lo invia ai worker umani. Se più del 10% di questi oggetti di dati fallisce, il processo di etichettatura avrà esito negativo. Se il processo di etichettatura fallisce, oltre a esaminare ogni messaggio di errore restituito da Ground Truth, verifica che i dati di input vengano visualizzati correttamente nell'interfaccia utente del worker, che le istruzioni siano chiare e che i worker abbiano tempo sufficiente per completare le attività.

1. Quando i dati etichettati vengono restituiti, vengono utilizzati per creare un set di addestramento e un set di convalida. Ground Truth utilizza questi set di dati per addestrare e convalidare il modello utilizzato per l'etichettatura automatica.

1. Ground Truth esegue un processo di addestramento in batch, utilizzando il modello convalidato per l'inferenza sui dati di convalida. L'inferenza in batch produce un punteggio di attendibilità e un parametro di qualità per ogni oggetto nei dati di convalida.

1. Il componente di etichettatura automatica utilizzerà questi parametri di qualità e i punteggi di attendibilità per creare una *soglia di attendibilità* che garantisca etichette di qualità. 

1. Ground Truth esegue un processo di trasformazione in batch sui dati non etichettati nel set di dati, utilizzando lo stesso modello convalidato per l'inferenza. Questo produce un punteggio di attendibilità per ogni oggetto. 

1. Il componente di etichettatura automatica Ground Truth determina se il punteggio di attendibilità prodotto nella fase 5 per ciascun oggetto soddisfa la soglia richiesta determinata nella fase 4. Se il punteggio di attendibilità soddisfa il valore di soglia, la qualità prevista dell'etichettatura automatica supera il livello di attendibilità richiesto e tale oggetto è considerato auto-etichettato. 

1. La fase 6 produce un set di dati non etichettati con punteggi di attendibilità. Ground Truth seleziona i punti dati con punteggi di attendibilità bassi da questo set di dati e li invia ai worker umani. 

1. Ground Truth utilizza i dati esistenti etichettati dai worker umani e questi dati aggiuntivi etichettati dai worker umani per aggiornare il modello.

1. Il processo viene ripetuto fino a quando il set di dati è completamente etichettato o fino a quando non viene soddisfatta un'altra condizione di arresto. Ad esempio, l'etichettatura automatica si interrompe se viene raggiunto il budget relativo all’annotazione umana.

Le fasi precedenti avvengono in iterazioni. Seleziona ogni scheda nella tabella seguente per visualizzare un esempio dei processi che avvengono in ogni iterazione di un processo di etichettatura automatico con rilevamento di oggetti. Il numero di oggetti dati utilizzati in una determinata fase in queste immagini (ad esempio, 200) è specifico di questo esempio. Se ci sono meno di 5.000 oggetti da etichettare, la dimensione del set di convalida è pari al 20% dell'intero set di dati. Se ci sono più di 5.000 oggetti da etichettare, la dimensione del set di convalida è pari al 10% dell'intero set di dati. Puoi controllare il numero di etichette umane raccolte per iterazione di apprendimento attivo modificando il valore per [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-MaxConcurrentTaskCount](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-MaxConcurrentTaskCount) quando utilizzi l'operazione API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html). Questo valore è impostato su 1.000 quando crei un processo di etichettatura utilizzando la console. Nel flusso di apprendimento attivo illustrato nella scheda **Apprendimento attivo**, questo valore è impostato su 200.

------
#### [ Model Training ]

![\[Esempio di processo di addestramento dei modelli.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/auto-labeling/sagemaker-gt-annotate-data-3.png)


------
#### [ Automated Labeling ]

![\[Esempio di processo di etichettatura automatica.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/auto-labeling/sagemaker-gt-annotate-data-4.png)


------
#### [ Active Learning ]

![\[Esempio di processo di apprendimento attivo.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/auto-labeling/sagemaker-gt-annotate-data-5.png)


------

### Precisione delle etichette automatiche
<a name="sms-automated-labeling-accuracy"></a>

La definizione di *accuratezza* dipende dal tipo di attività integrata utilizzata con l'etichettatura automatica. Per tutti i tipi di attività, questi requisiti di accuratezza sono predeterminati da Ground Truth e non possono essere configurati manualmente.
+ Per la classificazione delle immagini e del testo, Ground Truth utilizza la logica per trovare un livello di attendibilità di previsione delle etichette che corrisponda ad almeno il 95% di accuratezza dell'etichetta. Ciò significa che Ground Truth si aspetta che l'accuratezza delle etichette automatiche sia almeno del 95% rispetto alle etichette che gli etichettatori umani fornirebbero per quegli esempi.
+ Per i riquadri di delimitazione, la media prevista dell'[Intersection Over Union (IoU)](https://www.pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection/) delle immagini etichettate automaticamente è 0,6. Per trovare l'IoU medio, Ground Truth calcola l'IoU medio di tutti i riquadri previsti e mancati sull'immagine per ogni classe, quindi calcola la media di questi valori tra le classi.
+ Per la segmentazione semantica, l'IoU medio previsto delle immagini etichettate automaticamente è 0,7. Per trovare l'IoU medio, Ground Truth prende la media dei valori IoU di tutte le classi nell'immagine (escluso lo sfondo).

Ad ogni iterazione di apprendimento attivo (fasi 3-6 nell'elenco precedente), la soglia di attendibilità viene rilevata utilizzando il set di convalida con annotazioni umane in modo che l'accuratezza prevista degli oggetti etichettati automaticamente soddisfi determinati requisiti di accuratezza predefiniti.

## Creare un processo di etichettatura dei dati automatica (console)
<a name="sms-create-automated-labeling-console"></a>

Per creare un processo di etichettatura che utilizzi l'etichettatura automatica nella console SageMaker AI, utilizza la seguente procedura.

**Per creare un processo di etichettatura dei dati (console) automatica**

1. Apri la sezione dei **lavori di etichettatura** di Ground Truth della console SageMaker AI:[https://console.aws.amazon.com/sagemaker/groundtruth](https://console.aws.amazon.com/sagemaker/groundtruth).

1. Usando [Creare un processo di etichettatura (console)](sms-create-labeling-job-console.md) come guida, completa le sezioni **Panoramica dei processi** e **Tipo di attività**. Tieni presente che l'etichettatura automatica non è supportata per i tipi di attività personalizzati.

1. In **Worker**, scegli il tipo di forza lavoro. 

1. Nella stessa sezione, scegli **Abilita l'etichettatura dei dati automatica**. 

1. [Configurare lo strumento riquadro di delimitazione](sms-getting-started.md#sms-getting-started-step4)Come guida, crea le istruzioni per i lavoratori nello strumento di ***Task Type*etichettatura** della sezione. Ad esempio, se hai selezionato **Segmentazione semantica** come tipo di processo di etichettatura, questa sezione sarà intitolata **Strumento di etichettatura della segmentazione semantica**.

1. Per visualizzare in anteprima le istruzioni del worker e il pannello di controllo, scegli **Anteprima**.

1. Scegli **Create** (Crea). Così facendo, verranno creati e avviati il processo di etichettatura e il processo di etichettatura automatica. 

Puoi vedere il tuo lavoro di etichettatura apparire nella sezione **Labeling jobs** della SageMaker console AI. I dati di output verranno visualizzati nel bucket Amazon S3 specificato durante la creazione del processo di etichettatura. Per ulteriori informazioni sul formato e la struttura dei file dei dati di output del processo di etichettatura, consulta [Etichettatura dei dati di output di un processo](sms-data-output.md).

## Creare un processo di etichettatura dei dati automatica (API)
<a name="sms-create-automated-labeling-api"></a>

Per creare un processo di etichettatura automatizzato dei dati utilizzando l' SageMaker API, utilizza il [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobAlgorithmsConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobAlgorithmsConfig.html)parametro dell'operazione. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html) Per informazioni su come avviare un processo di etichettatura utilizzando l'operazione `CreateLabelingJob`, consulta [Creare un processo di etichettatura (API)](sms-create-labeling-job-api.md).

Specificate nel parametro l'Amazon Resource Name (ARN) dell'algoritmo che state utilizzando per l'etichettatura automatica dei dati. [LabelingJobAlgorithmSpecificationArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobAlgorithmsConfig.html#SageMaker-Type-LabelingJobAlgorithmsConfig-LabelingJobAlgorithmSpecificationArn) Scegli uno dei quattro algoritmi Ground Truth integrati supportati con l'etichettatura automatica:
+ [Creare un processo di etichettatura per la classificazione delle immagini (API)](sms-image-classification.md)
+ [Identificare i contenuti delle immagini utilizzando la segmentazione semantica](sms-semantic-segmentation.md)
+ Rilevamento di oggetti ([Classificare oggetti di immagini utilizzando un riquadro di delimitazione](sms-bounding-box.md)) 
+ [Categorizzare il testo con la classificazione (etichetta singola)](sms-text-classification.md)

Al termine di un processo di etichettatura dei dati automatica, Ground Truth restituisce l'ARN del modello utilizzato per il processo di etichettatura dei dati automatica. Utilizzate questo modello come modello di partenza per tipi di lavori di etichettatura automatica simili fornendo l'ARN, in formato stringa, nel parametro. [InitialActiveLearningModelArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobAlgorithmsConfig.html#SageMaker-Type-LabelingJobAlgorithmsConfig-InitialActiveLearningModelArn) Per recuperare l'ARN del modello, utilizzate AWS Command Line Interface un comando AWS CLI() simile al seguente. 

```
# Fetch the mARN of the model trained in the final iteration of the previous labeling job.Ground Truth
pretrained_model_arn = sagemaker_client.describe_labeling_job(LabelingJobName=job_name)['LabelingJobOutput']['FinalActiveLearningModelArn']
```

Per crittografare i dati sul volume di archiviazione collegato alle istanze di calcolo ML utilizzate nell'etichettatura automatica, includete una chiave AWS Key Management Service (AWS KMS) nel parametro. `VolumeKmsKeyId` Per informazioni sulle chiavi AWS KMS, vedi [Cos'è AWS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) il servizio di gestione delle chiavi? nella *Guida per gli sviluppatori del servizio di gestione delle AWS chiavi*.

Per un esempio che utilizza l'[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)operazione per creare un processo di etichettatura automatizzato dei dati, vedi l'esempio **object\$1detection\$1tutorial** nella sezione AI Examples **SageMaker , Ground** **Truth Labeling** Jobs di un'istanza di notebook AI. SageMaker Per informazioni su come creare e aprire un'istanza del notebook, consulta [Crea un'istanza Amazon SageMaker Notebook](howitworks-create-ws.md).

## Istanze Amazon EC2 richieste per l’etichettatura dei dati automatica
<a name="sms-auto-labeling-ec2"></a>

Nella tabella seguente sono elencate le istanze Amazon Elastic Compute Cloud (Amazon EC2) necessarie per eseguire l'etichettatura dei dati automatica per i processi di addestramento e inferenza in batch.


| Tipo di processo di etichettatura dei dati automatica | Tipo di istanza di addestramento | Tipo di istanza di inferenza | 
| --- | --- | --- | 
|  Classificazione delle immagini  |  ml.p3.2xlarge\$1  |  ml.c5.xlarge  | 
|  Rilevamento di oggetti (riquadro di delimitazione)  |  ml.p3.2xlarge\$1  |  ml.c5.4xlarge  | 
|  Classificazione del testo  |  ml.c5.2xlarge  |  ml.m4.xlarge  | 
|  Segmentazione semantica  |  ml.p3.2xlarge\$1  |  ml.p3.2xlarge\$1  | 

\$1 Nella Regione Asia Pacifico (Mumbai) (ap-south-1) usa invece ml.p2.8xlarge.

 Ground Truth gestisce le istanze utilizzate per processi di etichettatura dei dati automatica. Crea, configura e termina le istanze in base alle necessità per eseguire il processo. Queste istanze non vengono visualizzate nel pannello di controllo delle istanze Amazon EC2.

## Imposta un flusso di lavoro di apprendimento attivo con il tuo modello
<a name="samurai-automated-labeling-byom"></a>

Puoi creare un flusso di lavoro di apprendimento attivo con il tuo algoritmo per eseguire addestramento e inferenze in quel flusso di lavoro per etichettare automaticamente i tuoi dati. Il notebook bring\$1your\$1own\$1model\$1for\$1sagemaker\$1labeling\$1workflows\$1with\$1active\$1learning.ipynb lo dimostra utilizzando l'algoritmo integrato AI,. SageMaker [BlazingText](https://docs.aws.amazon.com/sagemaker/latest/dg/blazingtext.html) Questo notebook fornisce uno stack che è possibile utilizzare per eseguire questo flusso di lavoro. CloudFormation AWS Step FunctionsÈ possibile trovare il taccuino e i file di supporto in questo [GitHub repository](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/ground_truth_labeling_jobs/bring_your_own_model_for_sagemaker_labeling_workflows_with_active_learning).

# Concatenazione di processi di etichettatura
<a name="sms-reusing-data"></a>

Amazon SageMaker Ground Truth può riutilizzare i set di dati di lavori precedenti in due modi: clonazione e concatenamento.

La modalità *clonazione* copia la configurazione di un processo di etichettatura precedente e consente di apportare ulteriori modifiche, prima di impostarla per l'esecuzione.

La modalità *concatenazione* utilizza non solo la configurazione del processo precedente, ma anche i risultati. Questo consente di proseguire un processo non completato e di aggiungere etichette o oggetti dati a un processo completato. La concatenazione è un'operazione più complessa. 

Per l’elaborazione dei dati: 
+  La clonazione utilizza il manifest di *input* del processo precedente, con modifiche facoltative, come manifest di input del nuovo processo. 
+  La concatenazione usa il manifest di *output* del processo precedente come manifest di input del nuovo processo. 

La concatenazione è utile quando è necessario:
+ Proseguire un processo di etichettatura che è stato interrotto manualmente.
+ Continuare un processo di etichettatura che non è riuscito a metà processo, dopo aver risolto i problemi.
+ Passare all'etichettatura dei dati automatica dopo avere etichettato manualmente una parte di un processo (o viceversa).
+ Aggiungere altri più oggetti dati a un processo completato e avviare il processo da quel punto.
+ Aggiungere un'altra annotazione a un processo completato. Se ad esempio hai una raccolta di frasi etichettate per argomento e vuoi eseguire di nuovo il set, classificandole in base al pubblico implicito dell'argomento.

In Amazon SageMaker Ground Truth puoi configurare un processo di etichettatura concatenato con la console o l'API.

## Termine chiave: nome attributo dell’etichetta
<a name="sms-reusing-data-LAN"></a>

Il *nome attributo dell’etichetta* (`LabelAttributeName` nell'API) è una stringa utilizzata come chiave per la coppia chiave-valore formata con l'etichetta che un worker assegna all'oggetto dati.

Per il nome attributo dell’etichetta si applicano le seguenti regole:
+ Tale nome non può terminare con `-metadata`.
+ I nomi `source` e `source-ref` sono riservati e non possono essere utilizzati.
+ Per i processi di etichettatura di segmentazione semantica, deve finire con `-ref`. Per tutti gli altri processi di etichettatura, *non può* finire con `-ref`. Se utilizzi la console per creare il lavoro, Amazon SageMaker Ground Truth aggiunge automaticamente `-ref` a tutti i nomi degli attributi delle etichette ad eccezione dei lavori di segmentazione semantica.
+ Per un processo di etichettatura concatenato, se usi lo stesso nome attributo dell’etichetta del processo originario e configuri il processo concatenato per l'utilizzo dell'etichettatura automatica, se a un certo punto è stata usata la modalità di etichettatura automatica, Ground Truth utilizza il modello del processo originario.

In un manifest di output, il nome attributo dell’etichetta appare simile al seguente.

```
  "source-ref": "<S3 URI>",
  "<label attribute name>": {
    "annotations": [{
      "class_id": 0,
      "width": 99,
      "top": 87,
      "height": 62,
      "left": 175
    }],
    "image_size": [{
      "width": 344,
      "depth": 3,
      "height": 234
    }]
  },
  "<label attribute name>-metadata": {
    "job-name": "<job name>",
    "class-map": {
      "0": "<label attribute name>"
    },
    "human-annotated": "yes",
    "objects": [{
      "confidence": 0.09
    }],
    "creation-date": "<timestamp>",
    "type": "groundtruth/object-detection"
  }
```

Se crei un processo nella console, Ground Truth usa il nome del processo come nome attributo dell’etichetta per il processo, se non imposti esplicitamente un altro valore.

## Avviare un processo concatenato (console)
<a name="sms-reusing-data-console"></a>

Seleziona un processo di etichettatura arrestato, non riuscito o completato nell'elenco dei processi esistenti. Viene abilitato il menu **Azioni**.

Nel menu **Azioni** scegli **Copia**.

### Pannello Job overview (Panoramica processo)
<a name="sms-reusing-data-console-job-panel"></a>

Nel riquadro **Panoramica dei processi** viene impostato un nuovo **Nome del processo** in base al titolo del processo da cui si concatena quello corrente. Puoi modificarlo.

Puoi anche specificare un nome dell'attributo etichetta diverso dal nome del processo di etichettatura.

Se esegui la concatenazione da un processo completato, il nome dell'attributo etichetta utilizza il nome del nuovo processo che stai configurando. Per cambiare il nome, seleziona la casella di controllo.

Se esegui la concatenazione da un processo arrestato o non riuscito, il nome dell'attributo etichetta utilizza il nome del processo di origine della concatenazione. Il valore può essere visualizzato e modificato facilmente perché la casella di controllo relativa al nome è selezionata.

**Considerazioni relative al nome attributo dell’etichetta**  
Per **impostazione predefinita** viene utilizzato il nome attributo etichetta selezionato da Ground Truth. Tutti gli oggetti dati senza dati connessi a tale nome attributo etichetta vengono etichettati.
**Quando si usa un nome attributo etichetta** non presente nel manifest, il processo elabora *tutti* gli oggetti nel set di dati.

La **posizione del set di dati di input** in questo caso viene selezionata automaticamente come manifest di output del processo concatenato. Il campo di input non è disponibile, quindi non è modificabile.

**Aggiunta di oggetti dati a un processo di etichettatura**  
Non è possibile specificare un file manifest alternativo. Modifica manualmente il manifest di output del processo precedente per aggiungere nuovi elementi prima di avviare un processo concatenato. L'URI di Amazon S3 ti aiuta a individuare la posizione di archiviazione del file manifest nel tuo bucket Amazon S3. Scarica il file manifest da lì, modificalo in locale nel tuo computer, quindi carica la nuova versione per sostituirlo. Assicurati di non introdurre errori durante la modifica. Ti consigliamo di usare lo strumento di convalida JSON per controllare il codice JSON. Sono disponibili molti editor di testo popolari e plugin linter IDEs .

## Avviare un processo concatenato (API)
<a name="sms-reusing-data-API"></a>

La procedura è quasi uguale alla configurazione di un nuovo processo di etichettatura mediante `CreateLabelingJob`, ma vi sono due importanti differenze.
+ **Posizione del manifest:** anziché usare il manifest originale del processo precedente, il valore `ManifestS3Uri` in `DataSource` deve puntare all'URI di Amazon S3 del *manifest di output* del processo di etichettatura precedente.
+ **Nome attributo dell’etichetta:** qui è importante impostare il valore `LabelAttributeName` corretto. Si tratta della chiave nella coppia chiave-valore in cui i dati di etichettatura sono il valore. Ecco alcuni esempi di casi d'uso:
  + **Aggiunta di etichette nuove o più specifiche per un processo completato**: imposta un nuovo nome dell'attributo etichetta.
  + **Etichettatura di elementi non etichettati da un processo precedente**: usa il nome dell'attributo etichetta del processo precedente.

## Utilizzare un set di dati parzialmente etichettati
<a name="sms-reusing-data-newdata"></a>

Puoi ottenere alcuni vantaggi di concatenazione se utilizzi un manifest aumentato che è già stato parzialmente etichettato. Seleziona la casella di controllo **Nome attributo dell’etichetta** e imposta il nome in modo che corrisponda al nome nel manifest.

Se utilizzi l'API, le istruzioni sono identiche a quelle per l'avvio di un processo concatenato. Devi però caricare il tuo manifest in un bucket Amazon S3 e utilizzarlo, invece di utilizzare il manifest di output di un processo precedente.

Il valore **Nome attributo dell’etichetta** nel manifest deve rispettare i requisiti di denominazione illustrati sopra.

# Sicurezza e autorizzazioni di Ground Truth
<a name="sms-security-general"></a>

Utilizza gli argomenti di questa pagina per informazioni sulle funzionalità di sicurezza di Ground Truth e su come configurare le autorizzazioni AWS Identity and Access Management (IAM) per consentire a un utente o a un ruolo di creare un processo di etichettatura. Inoltre, scopri come creare un *ruolo di esecuzione*. Un ruolo di esecuzione è il ruolo specificato al momento della creazione di un processo di etichettatura. Questo ruolo viene utilizzato per iniziare il processo di etichettatura.

Se sei un nuovo utente e desideri iniziare rapidamente o se non hai bisogno di autorizzazioni granulari, consulta [Utilizzare le policy gestite da IAM con Ground Truth](sms-security-permissions-get-started.md).

Per ulteriori informazioni sugli utenti e i ruoli IAM, consulta [Identities (Users, Groups and Roles)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) nella Guida per l'utente IAM. 

Per saperne di più sull'utilizzo di IAM con l' SageMaker intelligenza artificiale, consulta[AWS Identity and Access Management per Amazon SageMaker AI](security-iam.md).

**Topics**
+ [Requisito CORS per i dati delle immagini di input](sms-cors-update.md)
+ [Assegnare le autorizzazioni IAM per utilizzare Ground Truth](sms-security-permission.md)
+ [Utilizzo di Amazon SageMaker Ground Truth in un cloud privato virtuale Amazon](sms-vpc.md)
+ [Crittografia dei dati di output e del volume di archiviazione](sms-security.md)
+ [Autenticazione e restrizioni della forza lavoro](sms-security-workforce-authentication.md)

# Requisito CORS per i dati delle immagini di input
<a name="sms-cors-update"></a>

All'inizio del 2020, i browser più diffusi come Chrome e Firefox hanno modificato il comportamento predefinito per la rotazione delle immagini in base ai metadati delle immagini, denominati [dati EXIF](https://en.wikipedia.org/wiki/Exif). In precedenza, i browser visualizzavano sempre le immagini esattamente come venivano archiviate su disco, in genere senza rotazione. Dopo la modifica, le immagini ora ruotano in base a un frammento di metadati dell'immagine chiamato *valore di orientamento*. Ciò ha importanti implicazioni per l'intera comunità di machine learning (ML). Ad esempio, se le applicazioni che aggiungono annotazioni alle immagini non tengono conto dell'orientamento EXIF, possono visualizzare le immagini con orientamenti imprevisti, con conseguenti etichette errate. 

A partire da Chrome 89, non è più AWS possibile impedire automaticamente la rotazione delle immagini perché il gruppo di standard web W3C ha deciso che la possibilità di controllare la rotazione delle immagini viola la politica del Web relativa alla stessa origine. Pertanto, per garantire che i worker umani annotino le immagini di input con un orientamento prevedibile quando invii richieste per creare un processo di etichettatura, devi aggiungere una policy di intestazione CORS ai bucket Amazon S3 che contengono le immagini di input.

**Importante**  
Se non aggiungi una configurazione CORS ai bucket Amazon S3 che contengono i dati di input, le attività di etichettatura per tali oggetti di dati di input avranno esito negativo.

Se crei un processo tramite la console Ground Truth, CORS è abilitato per impostazione predefinita. Se tutti i dati di input *non* si trovano nello stesso bucket Amazon S3 del file manifesto di input, devi aggiungere una configurazione CORS a tutti i bucket Amazon S3 che contengono dati di input utilizzando le seguenti istruzioni.

Se utilizzi l'API `CreateLabelingJob` per creare un processo di etichettatura Ground Truth, è possibile aggiungere una policy CORS a un bucket Amazon S3 che contiene dati di input nella console S3. Per impostare le intestazioni CORS richieste sul bucket Amazon S3 che contengono le immagini di input nella console Amazon S3, segui le istruzioni dettagliate in [Come aggiungere la condivisione delle risorse multidominio con la funzionalità CORS?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-cors-configuration.html) Utilizza il seguente codice di configurazione CORS per i bucket che ospitano le tue immagini. Se utilizzi la console Amazon S3 per aggiungere la policy al tuo bucket, devi utilizzare il formato JSON.

**Importante**  
Se crei un processo di etichettatura di nuvole di punti o fotogrammi video 3D, devi aggiungere ulteriori regole alla configurazione CORS. Per ulteriori informazioni, consulta [Requisiti per l’autorizzazione dei processi di etichettatura in una nuvola di punti 3D](sms-security-permission-3d-point-cloud.md) e [Requisiti di autorizzazione per processi in frame video](sms-video-overview.md#sms-security-permission-video-frame) rispettivamente. 

**JSON**

```
[{
   "AllowedHeaders": [],
   "AllowedMethods": ["GET"],
   "AllowedOrigins": ["*"],
   "ExposeHeaders": ["Access-Control-Allow-Origin"]
}]
```

**XML**

```
<CORSConfiguration>
 <CORSRule>
   <AllowedOrigin>*</AllowedOrigin>
   <AllowedMethod>GET</AllowedMethod>
   <ExposeHeader>Access-Control-Allow-Origin</ExposeHeader>
 </CORSRule>
</CORSConfiguration>
```

La seguente GIF illustra le istruzioni contenute nella documentazione di Amazon S3 per aggiungere una policy di intestazione CORS utilizzando la console Amazon S3. Per istruzioni scritte, consulta **Using the Amazon S3 console** nella pagina della documentazione [How do I add cross-domain resource sharing with CORS?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-cors-configuration.html) nella Guida per l'utente della console Amazon Simple Storage Service.

![\[Gif su come aggiungere una policy di intestazione CORS utilizzando la console di Amazon S3.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/gifs/cors-config.gif)


# Assegnare le autorizzazioni IAM per utilizzare Ground Truth
<a name="sms-security-permission"></a>

Utilizza gli argomenti di questa sezione per imparare a utilizzare le policy gestite e personalizzate AWS Identity and Access Management (IAM) per gestire l'accesso a Ground Truth e alle risorse associate. 

È possibile utilizzare le sezioni di questa pagina per imparare quanto segue: 
+ Come creare policy IAM che concedano a un utente o a un ruolo l'autorizzazione a creare un processo di etichettatura. Gli amministratori possono utilizzare le policy IAM per limitare l'accesso ad Amazon SageMaker AI e ad altri AWS servizi specifici di Ground Truth.
+ Come creare un *ruolo di esecuzione dell' SageMaker *IA. Un ruolo di esecuzione è il ruolo specificato al momento della creazione di un processo di etichettatura. Il ruolo viene utilizzato per avviare e gestire il processo di etichettatura.

Di seguito è riportata una panoramica degli argomenti contenuti in questa pagina: 
+ Se stai iniziando a utilizzare Ground Truth o non hai bisogno di autorizzazioni granulari per il tuo caso d'uso, ti consigliamo di utilizzare le policy gestite IAM descritte in [Utilizzare le policy gestite da IAM con Ground Truth](sms-security-permissions-get-started.md).
+ Scopri le autorizzazioni necessarie per l'utilizzo della console Ground Truth in [Concedi a IAM il permesso di utilizzare la console Amazon SageMaker Ground Truth](sms-security-permission-console-access.md). Questa sezione include esempi di policy che concedono a un'entità IAM l'autorizzazione a creare e modificare team di lavoro privati, iscriversi ai team di lavoro dei fornitori e creare flussi di lavoro di etichettatura personalizzati.
+ Quando si crea un processo di etichettatura, è necessario fornire un ruolo di esecuzione. Utilizzare [Crea un ruolo di esecuzione dell' SageMaker IA per un lavoro di etichettatura Ground Truth](sms-security-permission-execution-role.md) per informazioni sulle autorizzazioni necessarie per questo ruolo.

# Utilizzare le policy gestite da IAM con Ground Truth
<a name="sms-security-permissions-get-started"></a>

SageMaker AI e Ground Truth forniscono politiche AWS gestite che puoi utilizzare per creare un lavoro di etichettatura. Se stai iniziando a utilizzare Ground Truth e non hai bisogno di autorizzazioni granulari per il tuo caso d'uso, ti consigliamo di utilizzare le seguenti policy:
+ `[AmazonSageMakerFullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess)` – Utilizza questa policy per concedere a un utente o a un ruolo l'autorizzazione a creare un processo di etichettatura. Si tratta di una politica generale che concede a un'entità l'autorizzazione a utilizzare le funzionalità di SageMaker intelligenza artificiale, nonché le funzionalità dei AWS servizi necessari tramite la console e l'API. Questa policy autorizza l'entità a creare un processo di etichettatura e a creare e gestire la forza lavoro utilizzando Amazon Cognito. Per saperne di più, consulta [AmazonSageMakerFullAccess Policy](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonSageMakerFullAccess).
+ `[AmazonSageMakerGroundTruthExecution](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerGroundTruthExecution)` – Per creare un *ruolo di esecuzione*, è possibile collegare la policy `[AmazonSageMakerGroundTruthExecution](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerGroundTruthExecution)` a un ruolo. Un ruolo di esecuzione è il ruolo specificato al momento della creazione di un processo di etichettatura e viene usato per avviare il processo di etichettatura. Questa policy consente di creare processi di etichettatura in streaming e non in streaming e di creare un processo di etichettatura utilizzando qualsiasi tipo di attività. Tieni presente i seguenti limiti di questa policy gestita.
  + **Autorizzazioni Amazon S3**: questa policy concede un'autorizzazione al ruolo di esecuzione per accedere ai bucket Amazon S3 con le seguenti stringhe nel nome: `GroundTruth`, `Groundtruth`, `groundtruth`, `SageMaker`, `Sagemaker` e `sagemaker` o un bucket con un [tag oggetto](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html) che include `SageMaker` nel nome (senza distinzione tra maiuscole e minuscole). Assicurati che i nomi dei bucket di input e output includano queste stringhe o aggiungi autorizzazioni aggiuntive al tuo ruolo di esecuzione per [concedergli l'autorizzazione ad accedere ai tuoi bucket Amazon S3](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_s3_rw-bucket.html). Devi autorizzare questo ruolo a eseguire le seguenti operazioni sui tuoi bucket Amazon S3:`AbortMultipartUpload`, `GetObject` e `PutObject`.
  + **Flussi di lavoro personalizzati**: quando si crea un [flusso di lavoro di etichettatura personalizzato](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates.html), questo ruolo di esecuzione è limitato all'invocazione di AWS Lambda funzioni con una delle seguenti stringhe come parte del nome della funzione:`GtRecipe`,,`SageMaker`, `Sagemaker` o. `sagemaker` `LabelingFunction` Questo vale per le funzioni Lambda sia di pre-annotazione che di post-annotazione. Se scegli di utilizzare nomi senza tali stringhe, devi fornire in maniera esplicita l'autorizzazione `lambda:InvokeFunction` al ruolo di esecuzione utilizzato per creare il processo di etichettatura.

Per informazioni su come allegare una policy AWS gestita a un utente o a un ruolo, consulta [Aggiungere e rimuovere le autorizzazioni di identità IAM nella IAM User](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#add-policies-console) Guide.

# Concedi a IAM il permesso di utilizzare la console Amazon SageMaker Ground Truth
<a name="sms-security-permission-console-access"></a>

Per utilizzare l'area Ground Truth della console SageMaker AI, devi concedere l'autorizzazione a un'entità per accedere all' SageMaker IA e ad altri AWS servizi con cui interagisce Ground Truth. Le autorizzazioni richieste per accedere ad altri AWS servizi dipendono dal caso d'uso: 
+ Le autorizzazioni di Amazon S3 sono necessarie per tutti i casi d'uso. Queste autorizzazioni devono concedere l'accesso ai bucket Amazon S3 che contengono dati di input e output. 
+ Marketplace AWS le autorizzazioni sono necessarie per utilizzare la forza lavoro di un fornitore.
+ Per la configurazione del team di lavoro privato è richiesta l'autorizzazione di Amazon Cognito.
+ AWS KMS sono necessarie le autorizzazioni per visualizzare le AWS KMS chiavi disponibili che possono essere utilizzate per la crittografia dei dati di output.
+ Le autorizzazioni IAM sono necessarie per elencare i ruoli di esecuzione preesistenti o per creare un nuovo ruolo. Inoltre, è necessario utilizzare add a `PassRole` permission per consentire all' SageMaker IA di utilizzare il ruolo di esecuzione scelto per avviare il processo di etichettatura.

Le sezioni seguenti elencano le policy che potresti voler concedere a un ruolo per utilizzare una o più funzioni di Ground Truth. 

**Topics**
+ [Autorizzazioni della console Ground Truth](#sms-security-permissions-console-all)
+ [Autorizzazioni personalizzate per il flusso di lavoro di etichettatura](#sms-security-permissions-custom-workflow)
+ [Autorizzazioni per la forza lavoro privata](#sms-security-permission-workforce-creation)
+ [Autorizzazioni per la forza lavoro del fornitore](#sms-security-permissions-workforce-creation-vendor)

## Autorizzazioni della console Ground Truth
<a name="sms-security-permissions-console-all"></a>

Per concedere l'autorizzazione a un utente o a un ruolo di utilizzare l'area Ground Truth della console SageMaker AI per creare un processo di etichettatura, allega la seguente politica all'utente o al ruolo. La seguente policy concede a un ruolo IAM l'autorizzazione per creare un processo di etichettatura utilizzando un [tipo di attività predefinito](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html). Se desideri creare un flusso di lavoro di etichettatura personalizzato, aggiungi la policy [Autorizzazioni personalizzate per il flusso di lavoro di etichettatura](#sms-security-permissions-custom-workflow) alla policy seguente. Ciascun criterio `Statement` incluso nella seguente policy è descritto sotto questo blocco di codice.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "SageMakerApis",
            "Effect": "Allow",
            "Action": [
                "sagemaker:*"
            ],
            "Resource": "*"
        },
        {
            "Sid": "KmsKeysForCreateForms",
            "Effect": "Allow",
            "Action": [
                "kms:DescribeKey",
                "kms:ListAliases"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AccessAwsMarketplaceSubscriptions",
            "Effect": "Allow",
            "Action": [
                "aws-marketplace:ViewSubscriptions"
            ],
            "Resource": "*"
        },
        {
            "Sid": "SecretsManager",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:CreateSecret",
                "secretsmanager:DescribeSecret",
                "secretsmanager:ListSecrets"
            ],
            "Resource": "*"
        },
        {
            "Sid": "ListAndCreateExecutionRoles",
            "Effect": "Allow",
            "Action": [
                "iam:ListRoles",
                "iam:CreateRole",
                "iam:CreatePolicy",
                "iam:AttachRolePolicy"
            ],
            "Resource": "*"
        },
        {
            "Sid": "PassRoleForExecutionRoles",
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "sagemaker.amazonaws.com"
                }
            }
        },
        {
            "Sid": "GroundTruthConsole",
            "Effect": "Allow",
            "Action": [
                "groundtruthlabeling:*",
                "lambda:InvokeFunction",
                "lambda:ListFunctions",
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket",
                "s3:GetBucketCors",
                "s3:PutBucketCors",
                "s3:ListAllMyBuckets",
                "cognito-idp:AdminAddUserToGroup",
                "cognito-idp:AdminCreateUser",
                "cognito-idp:AdminDeleteUser",
                "cognito-idp:AdminDisableUser",
                "cognito-idp:AdminEnableUser",
                "cognito-idp:AdminRemoveUserFromGroup",
                "cognito-idp:CreateGroup",
                "cognito-idp:CreateUserPool",
                "cognito-idp:CreateUserPoolClient",
                "cognito-idp:CreateUserPoolDomain",
                "cognito-idp:DescribeUserPool",
                "cognito-idp:DescribeUserPoolClient",
                "cognito-idp:ListGroups",
                "cognito-idp:ListIdentityProviders",
                "cognito-idp:ListUsers",
                "cognito-idp:ListUsersInGroup",
                "cognito-idp:ListUserPoolClients",
                "cognito-idp:ListUserPools",
                "cognito-idp:UpdateUserPool",
                "cognito-idp:UpdateUserPoolClient"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Questa policy include le seguenti istruzioni. È possibile definire una qualsiasi di queste istruzioni aggiungendo risorse specifiche all'elenco `Resource` relativo a tale istruzione.

`SageMakerApis`

Questa dichiarazione include`sagemaker:*`, che consente all'utente di eseguire tutte le [azioni dell'API SageMaker AI](sagemaker/latest/APIReference/API_Operations.html). È possibile ridurre l'ambito di questa policy impedendo agli utenti di eseguire operazioni che non vengono utilizzate per creare e monitorare un processo di etichettatura. 

**`KmsKeysForCreateForms`**

È necessario includere questa dichiarazione solo se si desidera concedere a un utente l'autorizzazione a elencare e selezionare AWS KMS le chiavi nella console Ground Truth da utilizzare per la crittografia dei dati di output. La policy di cui sopra concede all'utente l'autorizzazione a elencare e selezionare qualsiasi chiave nell'account in AWS KMS. Per limitare le chiavi che un utente può elencare e selezionare, specifica tali chiavi ARNs in`Resource`.

**`SecretsManager`**

Questa istruzione fornisce all'utente il permesso di descrivere, elencare e creare le risorse Gestione dei segreti AWS necessarie per creare il processo di etichettatura.

`ListAndCreateExecutionRoles`

Questa istruzione fornisce all'utente l'autorizzazione a elencare (`ListRoles`) e creare (`CreateRole`) i ruoli IAM nel tuo account. Inoltre, concede all'utente l'autorizzazione a creare (`CreatePolicy`) policy e collegare (`AttachRolePolicy`) policy alle entità. Sono necessarie per elencare, selezionare e, se necessario, creare un ruolo di esecuzione nella console. 

Se hai già creato un ruolo di esecuzione e desideri restringere l'ambito di questa istruzione in modo che gli utenti possano selezionare solo quel ruolo nella console, specifica i ruoli a cui desideri che l'utente disponga ARNs dell'autorizzazione per visualizzare `Resource` e rimuovere le azioni e `CreateRole` `CreatePolicy``AttachRolePolicy`,

`AccessAwsMarketplaceSubscriptions`

Queste autorizzazioni sono necessarie per visualizzare e scegliere i team di lavoro dei fornitori a cui sei già iscritto quando crei un processo di etichettatura. Per concedere all'utente l'autorizzazione a *iscriversi* ai team di lavoro dei fornitori, aggiungi l’istruzione in [Autorizzazioni per la forza lavoro del fornitore](#sms-security-permissions-workforce-creation-vendor) alla policy di cui sopra.

`PassRoleForExecutionRoles`

Ciò è necessario per concedere al creatore del processo di etichettatura l'autorizzazione a visualizzare in anteprima l'interfaccia utente del worker e verificare che i dati di input, le etichette e le istruzioni vengano visualizzati correttamente. Questa istruzione fornisce a un'entità le autorizzazioni per passare il ruolo di esecuzione IAM utilizzato per creare il processo di etichettatura all' SageMaker IA per il rendering e l'anteprima dell'interfaccia utente del lavoratore. Per restringere l'ambito di questa policy, aggiungi il ruolo ARN del ruolo di esecuzione utilizzato per creare il processo di etichettatura in `Resource`.

**`GroundTruthConsole`**
+ `groundtruthlabeling` – Ciò consente all'utente di eseguire le azioni necessarie per utilizzare determinate funzionalità della console Ground Truth. Queste includono le autorizzazioni per descrivere lo stato del processo di etichettatura (`DescribeConsoleJob`), elencare tutti gli oggetti del set di dati nel file manifesto di input (`ListDatasetObjects`), filtrare il set di dati se è selezionato il campionamento del set di dati (`RunFilterOrSampleDatasetJob`) e generare file manifesto di input se viene utilizzata l'etichettatura automatizzata dei dati (`RunGenerateManifestByCrawlingJob`). Queste azioni sono disponibili solo quando si utilizza la console Ground Truth e non possono essere richiamate direttamente utilizzando un'API.
+ `lambda:InvokeFunction` e `lambda:ListFunctions`: queste azioni forniscono agli utenti l'autorizzazione a elencare e richiamare le funzioni Lambda utilizzate per eseguire un flusso di lavoro di etichettatura personalizzato.
+ `s3:*`: tutte le autorizzazioni Amazon S3 incluse in questa istruzione vengono utilizzate per visualizzare i bucket Amazon S3 per la [configurazione automatizzata dei dati](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-console-create-manifest-file.html) (`ListAllMyBuckets`), accedere ai dati di input in Amazon S3 (`ListBucket`, `GetObject`), cercare e creare una policy CORS in Amazon S3, se necessario (`GetBucketCors` e `PutBucketCors`) e scrivere file di output del processo di etichettatura su S3 (`PutObject`).
+ `cognito-idp`: queste autorizzazioni vengono utilizzate per creare, visualizzare e gestire una forza lavoro privata utilizzando Amazon Cognito. Per ulteriori informazioni su queste azioni, consulta [Amazon Cognito API Reference](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-reference.html).

## Autorizzazioni personalizzate per il flusso di lavoro di etichettatura
<a name="sms-security-permissions-custom-workflow"></a>

Aggiungi la seguente istruzione a una policy simile a quella in uso in [Autorizzazioni della console Ground Truth](#sms-security-permissions-console-all) per concedere all'utente l'autorizzazione a selezionare funzioni Lambda preesistenti di pre-annotazione e post-annotazione durante la [creazione di un flusso di lavoro di etichettatura personalizzato](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates.html).

```
{
    "Sid": "GroundTruthConsoleCustomWorkflow",
    "Effect": "Allow",
    "Action": [
        "lambda:InvokeFunction",
        "lambda:ListFunctions"
    ],
    "Resource": "*"
}
```

Per informazioni su come concedere a un'entità l'autorizzazione a creare e testare le funzioni Lambda di pre-annotazione e post-annotazione, consulta [Required Permissions to Use Lambda With Ground Truth](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates-step3-lambda-permissions.html).

## Autorizzazioni per la forza lavoro privata
<a name="sms-security-permission-workforce-creation"></a>

Quando viene aggiunta a una policy di autorizzazione, la seguente autorizzazione concede l'accesso per creare e gestire una forza lavoro privata e un team di lavoro usando Amazon Cognito. Queste autorizzazioni non sono necessarie per utilizzare una [forza lavoro IdP OIDC](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-create-private-oidc.html#sms-workforce-create-private-oidc-next-steps).

```
{
    "Effect": "Allow",
    "Action": [
        "cognito-idp:AdminAddUserToGroup",
        "cognito-idp:AdminCreateUser",
        "cognito-idp:AdminDeleteUser",
        "cognito-idp:AdminDisableUser",
        "cognito-idp:AdminEnableUser",
        "cognito-idp:AdminRemoveUserFromGroup",
        "cognito-idp:CreateGroup",
        "cognito-idp:CreateUserPool",
        "cognito-idp:CreateUserPoolClient",
        "cognito-idp:CreateUserPoolDomain",
        "cognito-idp:DescribeUserPool",
        "cognito-idp:DescribeUserPoolClient",
        "cognito-idp:ListGroups",
        "cognito-idp:ListIdentityProviders",
        "cognito-idp:ListUsers",
        "cognito-idp:ListUsersInGroup",
        "cognito-idp:ListUserPoolClients",
        "cognito-idp:ListUserPools",
        "cognito-idp:UpdateUserPool",
        "cognito-idp:UpdateUserPoolClient"
        ],
    "Resource": "*"
}
```

Per ulteriori informazioni sulla creazione di forza lavoro privata con Amazon Cognito, consulta [Forze lavoro Amazon Cognito](sms-workforce-private-use-cognito.md). 

## Autorizzazioni per la forza lavoro del fornitore
<a name="sms-security-permissions-workforce-creation-vendor"></a>

È possibile aggiungere la seguente istruzione alla policy in [Concedi a IAM il permesso di utilizzare la console Amazon SageMaker Ground Truth](#sms-security-permission-console-access) per concedere a un'entità l'autorizzazione di iscriversi alla [forza lavoro di un fornitore](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-vendor.html).

```
{
    "Sid": "AccessAwsMarketplaceSubscriptions",
    "Effect": "Allow",
    "Action": [
        "aws-marketplace:Subscribe",
        "aws-marketplace:Unsubscribe",
        "aws-marketplace:ViewSubscriptions"
    ],
    "Resource": "*"
}
```

# Crea un ruolo di esecuzione dell' SageMaker IA per un lavoro di etichettatura Ground Truth
<a name="sms-security-permission-execution-role"></a>

Quando configuri il tuo lavoro di etichettatura, devi fornire un ruolo di *esecuzione, che è un ruolo* che l' SageMaker IA è autorizzata ad assumere per avviare ed eseguire il tuo lavoro di etichettatura.

Questo ruolo deve concedere a Ground Truth l'autorizzazione per accedere ai seguenti elementi: 
+ Amazon S3 per recuperare i dati di input e scrivere i dati di output in un bucket Amazon S3. È possibile concedere l'autorizzazione per un ruolo IAM per accedere a un intero bucket fornendo l'ARN del bucket oppure concedere l'accesso al ruolo per accedere a risorse specifiche in un bucket. Ad esempio, l'ARN per un bucket può essere simile a `arn:aws:s3:::amzn-s3-demo-bucket1` e l'ARN di una risorsa in un bucket Amazon S3 può essere simile a `arn:aws:s3:::amzn-s3-demo-bucket1/prefix/file-name.png`. Per applicare un'azione a tutte le risorse in un bucket Amazon S3, puoi utilizzare il carattere jolly: `*`. Ad esempio, `arn:aws:s3:::amzn-s3-demo-bucket1/prefix/*`. Per ulteriori informazioni, consulta [Amazon S3 Resources](https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html) nella Guida per l'utente di Amazon Simple Storage Service.
+ CloudWatch per registrare le metriche dei lavoratori ed etichettare gli stati dei lavori.
+ AWS KMS per la crittografia dei dati. (Facoltativo)
+ AWS Lambda per l'elaborazione dei dati di input e output quando si crea un flusso di lavoro personalizzato. 

Inoltre, se crei un [processo di etichettatura in streaming](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-streaming-labeling-job.html), questo ruolo deve avere l'autorizzazione per accedere a:
+ Amazon SQS per creare un'interazione con una coda SQS utilizzata per [gestire le richieste di etichettatura](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-streaming-labeling-job.html#sms-streaming-how-it-works-sqs).
+ Amazon SNS per abbonarsi e recuperare messaggi dal tuo argomento di input di Amazon SNS e per inviare messaggi all'argomento di output di Amazon SNS.

Tutte queste autorizzazioni possono essere concesse con la policy gestita `[AmazonSageMakerGroundTruthExecution](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerGroundTruthExecution)`, *tranne *:
+ Crittografia dei dati e del volume di archiviazione dei bucket Amazon S3. Per informazioni su come configurare queste autorizzazioni, consulta [Crittografa i dati di output e il volume di archiviazione con AWS KMS](sms-security-kms-permissions.md).
+ Autorizzazione a selezionare e richiamare funzioni Lambda che non includono `GtRecipe`, `SageMaker`, `Sagemaker`, `sagemaker` o `LabelingFunction` nel nome della funzione.
+ Bucket Amazon S3 che non includono né `GroundTruth`, `Groundtruth`, `groundtruth`, `SageMaker`, `Sagemaker` e `sagemaker` né nel prefisso né nel nome del bucket o un [tag di oggetto](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html) che include `SageMaker` nel nome (senza distinzione tra maiuscole e minuscole).

Se hai bisogno di autorizzazioni più granulari di quelle fornite in `AmazonSageMakerGroundTruthExecution`, usa i seguenti esempi di policy per creare un ruolo di esecuzione adatto al tuo caso d'uso specifico.

**Topics**
+ [Requisiti dei ruoli di esecuzione dei tipi di attività integrati (non in streaming)](#sms-security-permission-execution-role-built-in-tt)
+ [Requisiti dei ruoli di esecuzione dei tipi di attività integrati (in streaming)](#sms-security-permission-execution-role-built-in-tt-streaming)
+ [Requisiti del ruolo di esecuzione per i tipi di attività personalizzate](#sms-security-permission-execution-role-custom-tt)
+ [Requisiti di autorizzazione per l'etichettatura automatizzata dei dati](#sms-security-permission-execution-role-custom-auto-labeling)

## Requisiti dei ruoli di esecuzione dei tipi di attività integrati (non in streaming)
<a name="sms-security-permission-execution-role-built-in-tt"></a>

La seguente policy concede l'autorizzazione per creare un processo di etichettatura per un [tipo di attività predefinito](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html). Questa politica di esecuzione non include le autorizzazioni per la crittografia o la decrittografia AWS KMS dei dati. Sostituisci ogni ARN rosso in corsivo con il tuo Amazon S3. ARNs

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3ViewBuckets",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::<input-bucket-name>",
                "arn:aws:s3:::<output-bucket-name>"
            ]
        },
        {
            "Sid": "S3GetPutObjects",
            "Effect": "Allow",
            "Action": [
                "s3:AbortMultipartUpload",
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::<input-bucket-name>/*",
                "arn:aws:s3:::<output-bucket-name>/*"
            ]
        },
        {
            "Sid": "CloudWatch",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData",
                "logs:CreateLogStream",
                "logs:CreateLogGroup",
                "logs:DescribeLogStreams",
                "logs:PutLogEvents"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Requisiti dei ruoli di esecuzione dei tipi di attività integrati (in streaming)
<a name="sms-security-permission-execution-role-built-in-tt-streaming"></a>

Se crei un processo di etichettatura in streaming, devi aggiungere una policy simile alla seguente al ruolo di esecuzione utilizzato per creare il processo di etichettatura. Per restringere l'ambito della policy, sostituisci l'`*`in `Resource` con AWS risorse specifiche alle quali desideri concedere l'autorizzazione all'accesso e all'utilizzo del ruolo IAM.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:AbortMultipartUpload",
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*",
                "arn:aws:s3:::amzn-s3-demo-bucket2/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {
                    "s3:ExistingObjectTag/SageMaker": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketLocation",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket2"
            ]
        },
        {
            "Sid": "CloudWatch",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData",
                "logs:CreateLogStream",
                "logs:CreateLogGroup",
                "logs:DescribeLogStreams",
                "logs:PutLogEvents"
            ],
            "Resource": "*"
        },
        {
            "Sid": "StreamingQueue",
            "Effect": "Allow",
            "Action": [
                "sqs:CreateQueue",
                "sqs:DeleteMessage",
                "sqs:GetQueueAttributes",
                "sqs:GetQueueUrl",
                "sqs:ReceiveMessage",
                "sqs:SendMessage",
                "sqs:SetQueueAttributes"
            ],
            "Resource": "arn:aws:sqs:*:*:*GroundTruth*"
        },
        {
            "Sid": "StreamingTopicSubscribe",
            "Effect": "Allow",
            "Action": "sns:Subscribe",
            "Resource": [
                "arn:aws:sns:us-east-1:111122223333:input-topic-name",
                "arn:aws:sns:us-east-1:111122223333:output-topic-name"
            ],
            "Condition": {
                "StringEquals": {
                    "sns:Protocol": "sqs"
                },
                "StringLike": {
                    "sns:Endpoint": "arn:aws:sns:us-east-1:111122223333:*GroundTruth*"
                }
            }
        },
        {
            "Sid": "StreamingTopic",
            "Effect": "Allow",
            "Action": [
                "sns:Publish"
            ],
            "Resource": [
                "arn:aws:sns:us-east-1:111122223333:input-topic-name",
                "arn:aws:sns:us-east-1:111122223333:output-topic-name"
            ]
        },
        {
            "Sid": "StreamingTopicUnsubscribe",
            "Effect": "Allow",
            "Action": [
                "sns:Unsubscribe"
            ],
            "Resource": [
                "arn:aws:sns:us-east-1:111122223333:input-topic-name",
                "arn:aws:sns:us-east-1:111122223333:output-topic-name"
            ]
        }
    ]
}
```

------

## Requisiti del ruolo di esecuzione per i tipi di attività personalizzate
<a name="sms-security-permission-execution-role-custom-tt"></a>

Se desideri creare un [flusso di lavoro di etichettatura personalizzato](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates.html), aggiungi la seguente istruzione a una policy del ruolo di esecuzione come quelle disponibili in [Requisiti dei ruoli di esecuzione dei tipi di attività integrati (non in streaming)](#sms-security-permission-execution-role-built-in-tt) o [Requisiti dei ruoli di esecuzione dei tipi di attività integrati (in streaming)](#sms-security-permission-execution-role-built-in-tt-streaming).

Questa policy concede l'autorizzazione del ruolo di esecuzione su `Invoke` per le funzioni Lambda di pre-annotazione e post-annotazione.

```
{
    "Sid": "LambdaFunctions",
    "Effect": "Allow",
    "Action": [
        "lambda:InvokeFunction"
    ],
    "Resource": [
        "arn:aws:lambda:<region>:<account-id>:function:<pre-annotation-lambda-name>",
        "arn:aws:lambda:<region>:<account-id>:function:<post-annotation-lambda-name>"
    ]
}
```

## Requisiti di autorizzazione per l'etichettatura automatizzata dei dati
<a name="sms-security-permission-execution-role-custom-auto-labeling"></a>

Se desideri creare un processo di etichettatura con l'[etichettatura dei dati automatizzata](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-automated-labeling.html) abilitata, devi 1) aggiungere una policy alla policy IAM collegata al ruolo di esecuzione e 2) aggiornare la policy di attendibilità del ruolo di esecuzione. 

La seguente dichiarazione consente di trasferire il ruolo di esecuzione IAM all' SageMaker IA in modo che possa essere utilizzato per eseguire i processi di formazione e inferenza utilizzati rispettivamente per l'apprendimento attivo e l'etichettatura automatica dei dati. Aggiungi questa istruzione a una policy relativa al ruolo di esecuzione come quelle che trovi in [Requisiti dei ruoli di esecuzione dei tipi di attività integrati (non in streaming)](#sms-security-permission-execution-role-built-in-tt) o [Requisiti dei ruoli di esecuzione dei tipi di attività integrati (in streaming)](#sms-security-permission-execution-role-built-in-tt-streaming). Sostituisci `arn:aws:iam::<account-number>:role/<role-name>` con l'ARN del ruolo di esecuzione. È possibile trovare l'ARN del ruolo IAM nella console IAM in **Ruoli**. 

```
{
    "Effect": "Allow",
    "Action": [
        "iam:PassRole"
    ],
    "Resource": "arn:aws:iam::<account-number>:role/<execution-role-name>",
    "Condition": {
        "StringEquals": {
            "iam:PassedToService": [
                "sagemaker.amazonaws.com"
            ]
        }
    }
}
```

La seguente dichiarazione consente all' SageMaker IA di assumere il ruolo di esecuzione per creare e gestire i lavori di SageMaker formazione e inferenza. Questa policy deve essere aggiunta alla relazione di attendibilità del ruolo di esecuzione. Per informazioni su come aggiungere o modificare una policy di attendibilità del ruolo IAM, consulta [Modifying a role](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html) nella Guida per l'utente IAM.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Principal": {"Service": "sagemaker.amazonaws.com" },
        "Action": "sts:AssumeRole"
    }
}
```

------



# Crittografa i dati di output e il volume di archiviazione con AWS KMS
<a name="sms-security-kms-permissions"></a>

È possibile utilizzare AWS Key Management Service (AWS KMS) per crittografare i dati di output da un processo di etichettatura specificando una [chiave gestita dal cliente al](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys) momento della creazione del processo di etichettatura. Se utilizzi l'operazione API `CreateLabelingJob` per creare un processo di etichettatura che utilizza l'etichettatura dei dati automatizzata, puoi anche utilizzare una chiave gestita dal cliente per crittografare il volume di archiviazione collegato alle istanze di calcolo ML per eseguire i processi di addestramento e inferenza.

Questa sezione descrive le policy IAM da collegare alla chiave gestita dal cliente per abilitare la crittografia dei dati di output e le policy da collegare alla chiave gestita dal cliente e al ruolo di esecuzione per utilizzare la crittografia del volume di archiviazione. Per ulteriori informazioni su queste opzioni, consulta [Crittografia dei dati di output e del volume di archiviazione](sms-security.md).

## Crittografare i dati di output utilizzando KMS
<a name="sms-security-kms-permissions-output-data"></a>

Se specifichi una chiave gestita AWS KMS dal cliente per crittografare i dati di output, devi aggiungere a quella chiave una policy IAM simile alla seguente. Questa policy concede al ruolo di esecuzione IAM utilizzato per creare l'autorizzazione del processo di etichettatura a utilizzare questa chiave per eseguire tutte le azioni elencate in `"Action"`. Per ulteriori informazioni su queste azioni, consulta le [AWS KMS autorizzazioni nella Guida](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html) per gli AWS Key Management Service sviluppatori.

Per utilizzare questa policy, sostituisci l'ARN del ruolo di servizio IAM in `"Principal"` con l'ARN del ruolo di esecuzione che utilizzi per creare il processo di etichettatura. Quando crei un processo di etichettatura nella console, questo è il ruolo che specifichi per **Ruolo IAM** nella sezione **Panoramica del lavoro**. Quando crei un processo di etichettatura utilizzando `CreateLabelingJob`, questo è l'ARN specificato per [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-RoleArn).

```
{
    "Sid": "AllowUseOfKmsKey",
    "Effect": "Allow",
    "Principal": {
        "AWS": "arn:aws:iam::111122223333:role/service-role/example-role"
    },
    "Action": [
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt*",
        "kms:GenerateDataKey*",
        "kms:DescribeKey"
    ],
    "Resource": "*"
}
```

## Crittografare l'etichettatura automatizzata dei dati (ML Compute Instance Storage Volume)
<a name="sms-security-kms-permissions-storage-volume"></a>

Se specifichi un [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobResourceConfig.html#sagemaker-Type-LabelingJobResourceConfig-VolumeKmsKeyId](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobResourceConfig.html#sagemaker-Type-LabelingJobResourceConfig-VolumeKmsKeyId) per crittografare il volume di archiviazione collegato all'istanza di calcolo ML utilizzata per l'addestramento e l'inferenza automatizzati sull'etichettatura dei dati, devi effettuare le seguenti operazioni:
+ Collega le autorizzazioni descritte in [Crittografare i dati di output utilizzando KMS](#sms-security-kms-permissions-output-data) alla chiave gestita dal cliente.
+ Collega una policy simile alla seguente al ruolo di esecuzione IAM che utilizzi per creare il processo di etichettatura. Questo è il ruolo IAM specificato per [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-RoleArn) in `CreateLabelingJob`. Per ulteriori informazioni sulle `"kms:CreateGrant"` azioni consentite da questa politica, consulta l' AWS Key Management Service API [https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)Reference.

------
#### [ JSON ]

****  

```
{
"Version":"2012-10-17",		 	 	  
"Statement": 
 [  
   {
    "Effect": "Allow",
    "Action": [
       "kms:CreateGrant"
    ],
    "Resource": "*"
  }
]
}
```

------

Per ulteriori informazioni sulla crittografia del volume di archiviazione Ground Truth, consulta [Usa la tua chiave KMS per crittografare il volume di archiviazione automatizzato dell'etichettatura dei dati (solo API)](sms-security.md#sms-security-kms-storage-volume).

# Utilizzo di Amazon SageMaker Ground Truth in un cloud privato virtuale Amazon
<a name="sms-vpc"></a>

 Con [Amazon Virtual Private Cloud](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Introduction.html) (Amazon VPC) puoi avviare AWS risorse in una rete virtuale logicamente isolata da te definita. Ground Truth supporta l’esecuzione di processi di etichettatura all’interno di Amazon VPC invece di connetterti via Internet. Quando avvii un processo di etichettatura in un Amazon VPC, la comunicazione tra il tuo VPC e Ground Truth viene condotta in modo completo e sicuro all'interno della rete. AWS 

Questa guida mostra come utilizzare Ground Truth in un Amazon VPC nei seguenti modi:

1. [Esegui un processo di etichettatura di Amazon SageMaker Ground Truth in un Amazon Virtual Private Cloud](samurai-vpc-labeling-job.md)

1. [Usa la modalità Amazon VPC da un portale per worker privati](samurai-vpc-worker-portal.md)

# Esegui un processo di etichettatura di Amazon SageMaker Ground Truth in un Amazon Virtual Private Cloud
<a name="samurai-vpc-labeling-job"></a>

Ground Truth supporta le seguenti funzionalità in Amazon VPC.
+ Puoi utilizzare le policy dei bucket di Amazon S3 per controllare l'accesso ai bucket da endpoint Amazon VPC specifici o specifici. VPCs Se avvii un processo di etichettatura e i dati di input si trovano in un bucket Amazon S3 con accesso limitato agli utenti nel tuo VPC, puoi aggiungere una policy di bucket per concedere anche a un endpoint Ground Truth l’autorizzazione ad accedere al bucket. Per ulteriori informazioni, consulta [Consenti a Ground Truth di accedere ai bucket Amazon S3 con restrizioni VPC](#sms-vpc-permissions-s3).
+ Puoi avviare un [processo di etichettatura automatica dei dati](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-automated-labeling.html) nel tuo VPC. Si utilizza una configurazione VPC per specificare sottoreti VPC e gruppi di sicurezza. SageMaker L'intelligenza artificiale utilizza questa configurazione per avviare i processi di formazione e inferenza utilizzati per l'etichettatura automatizzata dei dati nel tuo VPC. Per ulteriori informazioni, consulta [Creare un processo di etichettatura automatizzata dei dati in un VPC](#sms-vpc-permissions-automated-labeling).

Puoi utilizzare queste opzioni in uno dei seguenti modi.
+ Puoi utilizzare entrambi questi metodi per avviare un processo di etichettatura utilizzando un bucket Amazon S3 protetto da VPC con etichettatura automatica dei dati abilitata.
+ Puoi avviare un processo di etichettatura utilizzando qualsiasi [tipo di attività integrata utilizzando un bucket](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html) protetto da VPC.
+ Puoi avviare un [flusso di lavoro di etichettatura personalizzato utilizzando un bucket](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates.html) protetto da VPC. Ground Truth interagisce con le funzioni Lambda di pre-annotazione e post-annotazione utilizzando un endpoint [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/endpoint-services-overview.html).

Ti consigliamo di esaminare [Prerequisiti per eseguire un processo di etichettatura Ground Truth in un VPC](#sms-vpc-gt-prereq) prima di creare un processo di etichettatura in un Amazon VPC.

## Prerequisiti per eseguire un processo di etichettatura Ground Truth in un VPC
<a name="sms-vpc-gt-prereq"></a>

Verifica i seguenti prerequisiti prima di creare un processo di etichettatura Ground Truth in un Amazon VPC. 
+ Se sei un nuovo utente di Ground Truth, consulta la sezione [Guida introduttiva](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-getting-started.html) per scoprire come creare un processo di etichettatura.
+ Se i dati di input si trovano in un bucket Amazon S3 protetto da VPC, i worker devono accedere al portale dei worker dal tuo VPC. I processi di etichettatura basati su VPC richiedono l’utilizzo di un team di lavoro privato. Per ulteriori informazioni sulla creazione di un team di lavoro privato, consulta [Use a Private Workforce](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-private.html).
+ I seguenti prerequisiti sono specifici per l’avvio di un processo di etichettatura in un VPC.
  + Utilizza le istruzioni in [Creare un endpoint VPC Amazon S3.](https://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html#train-vpc-s3) I container di addestramento e inferenza utilizzati nel flusso di lavoro di etichettatura dei dati automatica utilizzano questo endpoint per comunicare con i bucket in Amazon S3.
  + Consulta [Automate Data Labelling](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-automated-labeling.html) per ulteriori informazioni su questa funzionalità. Tieni presente che l'etichettatura automatica dei dati è supportata per i seguenti [tipi di attività predefiniti](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html): [classificazione delle immagini (etichetta singola)](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-image-classification.html), [segmentazione semantica delle immagini](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-semantic-segmentation.html), [riquadro di delimitazione](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-bounding-box.html) e [classificazione del testo](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-text-classification.html) (etichetta singola). I processi di etichettatura in streaming non supportano l'etichettatura dei dati automatizzata.
+ Consulta la sezione [Ground Truth Security and Permissions](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-security-general.html) e assicurati di aver soddisfatto le seguenti condizioni.
  + L'utente che crea il processo di etichettatura dispone di tutte le autorizzazioni necessarie
  + Hai creato un ruolo di esecuzione IAM con le autorizzazioni richieste. Se non hai bisogno di autorizzazioni ottimizzate per il tuo caso d'uso, ti consigliamo di utilizzare le policy gestite IAM descritte in [Concedere autorizzazioni generali per iniziare a usare Ground Truth](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-security-permission.html#sms-security-permissions-get-started).
  + Consenti al tuo VPC di accedere ai bucket `sagemaker-labeling-data-region` e `sm-bxcb-region-saved-task-states` S3. Si tratta di bucket S3 regionalizzati di proprietà del sistema a cui si accede dal portale di lavoro quando il worker sta eseguendo un'attività. Utilizziamo questi bucket per interagire con i dati gestiti dal sistema.

## Consenti a Ground Truth di accedere ai bucket Amazon S3 con restrizioni VPC
<a name="sms-vpc-permissions-s3"></a>

Le seguenti sezioni forniscono dettagli sulle autorizzazioni richieste da Ground Truth per avviare processi di etichettatura utilizzando bucket Amazon S3 con accesso limitato agli endpoint VPC e VPC. Per informazioni su come limitare l'accesso a un bucket Amazon S3 a un VPC, consulta [Controlling access from VPC endpoints with bucket policies](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies-vpc-endpoint.html) nella Guida per l'utente di Amazon Simple Storage Service. Per informazioni su come aggiungere una policy a un bucket S3, consulta [Adding a bucket policy using the Amazon S3 console](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html).

**Nota**  
La modifica delle policy sui bucket esistenti può causare il fallimento dei processi Ground Truth `IN_PROGRESS`. Ti consigliamo di iniziare nuovi processi utilizzando un nuovo bucket. Se desideri continuare a utilizzare lo stesso bucket, puoi eseguire una delle seguenti operazioni.  
Attendi il completamento di un processo `IN_PROGRESS`.
Termina il processo utilizzando la console o il AWS CLI.

Puoi limitare l'accesso ai bucket Amazon S3 agli utenti del tuo VPC utilizzando un endpoint [AWS PrivateLink](https://aws.amazon.com/privatelink/). Ad esempio, la seguente policy del bucket S3 consente l'accesso a un bucket specifico, `<bucket-name>`, solo da `<vpc>` e dall'endpoint `<vpc-endpoint>`. Quando modifichi questa politica, devi sostituirla *red-italized text* con le tue risorse e le tue specifiche.

**Nota**  
La seguente policy *impedisce* a tutte le entità *diverse*dagli utenti all'interno di un VPC di eseguire le azioni elencate in `Action`. Se non includi azioni in questo elenco, sono comunque accessibili a qualsiasi entità che abbia accesso a questo bucket e sia autorizzata a eseguire tali azioni. Ad esempio, se un utente è autorizzato a eseguire `GetBucketLocation` sul tuo bucket Amazon S3, la policy seguente non limita l'utente a eseguire questa azione al di fuori del tuo VPC.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "Policy1415115909152",
    "Statement": [
        {
            "Sid": "AccessToSpecificVPCEOnly",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Effect": "Deny",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ],
            "Condition": {
                "StringNotEquals": {
                    "aws:sourceVpce": [
                        "vpce-12345678",
                        "vpce-12345678901234567"
                    ]
                }
            }
        }
    ]
}
```

------

Ground Truth deve essere in grado di eseguire le seguenti azioni Amazon S3 sui bucket S3 utilizzati per configurare il processo di etichettatura.

```
"s3:AbortMultipartUpload",
"s3:GetObject",
"s3:PutObject",
"s3:ListBucket",
"s3:GetBucketLocation"
```

Puoi farlo aggiungendo un endpoint Ground Truth alla bucket policy come quello menzionato in precedenza. La tabella seguente include gli endpoint del servizio Ground Truth per ogni AWS regione. Aggiungi un endpoint nella stessa [Regione AWS](https://docs.aws.amazon.com/general/latest/gr/rande.html) che utilizzi per eseguire il processo di etichettatura alla tua policy bucket.


****  

| AWS Regione | Endpoint di etichettatura Ground Truth | 
| --- | --- | 
| us-east-2 | vpce-02569ba1c40aad0bc | 
| us-east-1 | vpce-08408e335ebf95b40 | 
| us-west-2 | vpce-0ea07aa498eb78469 | 
| ca-central-1 | vpce-0d46ea4c9ff55e1b7 | 
| eu-central-1 | VPCE-0865e7194a099183d | 
| eu-west-2 | vpce-0bccd56798f4c5df0 | 
| eu-west-1 | vpce-0788e7ed8628e595d | 
| ap-south-1 | vpce-0d7fcda14e1783f11 | 
| ap-southeast-2 | vpce-0b7609e6f305a77d4 | 
| ap-southeast-1 | vpce-0e7e67b32e9efed27 | 
| ap-northeast-2 | vpce-007893f89e05f2bbf | 
| ap-northeast-1 | vpce-0247996a1a1807dbd | 

Ad esempio, le seguenti policy limitano `GetObject` e le azioni `PutObject` su:
+ Un bucket Amazon S3 per gli utenti in un VPC (`<vpc>`)
+ Un endpoint VPC (`<vpc-endpoint>`)
+ Un endpoint del servizio Ground Truth (`<ground-truth-endpoint>`)

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "1",
    "Statement": [
        {
            "Sid": "DenyAccessFromNonGTandCustomerVPC",
            "Effect": "Deny",
            "Principal": "*",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::bucket-name",
                "arn:aws:s3:::bucket-name/*"
            ],
            "Condition": {
              "StringNotEquals": {
                "aws:SourceVpc": "vpc-12345678",
                "aws:sourceVpce": [
                  "vpce-12345678",
                  "vpce-12345678"
                ] 
             }
           }
        }
    ]
}
```

------

Se desideri che un utente abbia l'autorizzazione per avviare un processo di etichettatura utilizzando la console Ground Truth, devi anche aggiungere l'ARN dell'utente alla policy bucket utilizzando la condizione `aws:PrincipalArn`. Questo utente deve inoltre disporre dell'autorizzazione per eseguire le seguenti azioni di Amazon S3 sul bucket utilizzato per avviare il processo di etichettatura.

```
"s3:GetObject",
"s3:PutObject",
"s3:ListBucket",
"s3:GetBucketCors",
"s3:PutBucketCors",
"s3:ListAllMyBuckets",
```

Il codice seguente è un esempio di policy sui bucket che limita l'autorizzazione a eseguire le azioni elencate in `Action` sul bucket S3 `<bucket-name>` a quanto segue.
+ *<role-name>*
+ Gli endpoint VPC elencati in `aws:sourceVpce`
+ Utenti all'interno del VPC denominati *<vpc>*

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "1",
    "Statement": [
        {
            "Sid": "DenyAccessFromNonGTandCustomerVPC",
            "Effect": "Deny",
            "Principal": "*",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::bucket-name/*",
                "arn:aws:s3:::bucket-name"
            ],
            "Condition": {
                "StringNotEquals": {
                    "aws:SourceVpc": "vpc-12345678",
                    "aws:PrincipalArn": "arn:aws:iam::111122223333:role/role-name"
                },
                "StringNotEquals": {
                    "aws:sourceVpce": [
                        "vpce-12345678",
                        "vpce-12345678"
                    ]
                }
            }
        }
    ]
}
```

------

**Nota**  
Gli endpoint dell'interfaccia Amazon VPC e i bucket Amazon S3 protetti utilizzati per i dati di input e output devono trovarsi nella stessa AWS regione utilizzata per creare il processo di etichettatura.

Dopo aver concesso a Ground Truth l'autorizzazione ad accedere ai tuoi bucket Amazon S3, puoi utilizzare uno degli argomenti in [Crea un processo di etichettatura](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-create-labeling-job.html) per avviare un processo di etichettatura. Specifica i bucket Amazon S3 con restrizioni VPC per i bucket di dati di input e output.

## Creare un processo di etichettatura automatizzata dei dati in un VPC
<a name="sms-vpc-permissions-automated-labeling"></a>

Per creare un processo di etichettatura automatizzato dei dati utilizzando Amazon VPC, fornisci una configurazione VPC utilizzando la console Ground Truth o il funzionamento dell'API. `CreateLabelingJob` SageMaker L'intelligenza artificiale utilizza le sottoreti e i gruppi di sicurezza forniti per avviare i processi di formazione e inferenza utilizzati per l'etichettatura automatica. 

**Importante**  
Prima di avviare un processo di etichettatura automatizzata dei dati con una configurazione VPC, assicurati di aver creato un endpoint VPC Amazon S3 utilizzando il VPC che desideri utilizzare per il processo di etichettatura. Per scoprire come, consulta [Create an Amazon S3 VPC Endpoint](https://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html#train-vpc-s3).  
Inoltre, se crei un processo di etichettatura automatizzato dei dati utilizzando un bucket Amazon S3 con restrizioni VPC, devi seguire le istruzioni in [Consenti a Ground Truth di accedere ai bucket Amazon S3 con restrizioni VPC](#sms-vpc-permissions-s3) per autorizzare Ground Truth ad accedere al bucket.

Utilizza le seguenti procedure per imparare ad aggiungere una configurazione VPC alla tua richiesta di processo di etichettatura.

**Aggiungi una configurazione VPC a un processo di etichettatura dei dati automatizzato (console):**

1. Segui le istruzioni in [Crea un processo di etichettatura (Console)](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-create-labeling-job-console.html) e completa ogni fase della procedura, fino alla fase 15.

1. Nella sezione **worker**, seleziona la casella di controllo accanto a **Abilita l'etichettatura automatica dei dati**.

1. Massimizza la sezione di **configurazione del VPC** della console selezionando la freccia.

1. Specifica il **cloud privato virtuale (VPC)** da utilizzare per il processo di etichettatura automatica dei dati.

1. Scegli l'elenco a discesa in **Sottoreti** e seleziona una o più sottoreti.

1. Scegli l'elenco a discesa in **Gruppi di sicurezza** e seleziona uno o più gruppi.

1. Completa tutte le fasi rimanenti della procedura in [Crea un processo di etichettatura (Console)](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-create-labeling-job-console.html).

**Aggiungi una configurazione VPC a un processo di etichettatura dei dati automatizzato (API):**  
Per configurare un processo di etichettatura utilizzando l'operazione dell'API Ground Truth, `CreateLabelingJob`, segui le istruzioni in [Create an automated data labeling job (API)](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-automated-labeling.html#sms-create-automated-labeling-api) per configurare la tua richiesta. Oltre ai parametri descritti in questa documentazione, devi includere un parametro `VpcConfig` in `LabelingJobResourceConfig` per specificare una o più sottoreti e gruppi di sicurezza utilizzando lo schema seguente.

```
"LabelingJobAlgorithmsConfig": { 
      "InitialActiveLearningModelArn": "string",
      "LabelingJobAlgorithmSpecificationArn": "string",
      "LabelingJobResourceConfig": { 
         "VolumeKmsKeyId": "string",
         "VpcConfig": { 
            "SecurityGroupIds": [ "string" ],
            "Subnets": [ "string" ]
         }
      }
}
```

Di seguito è riportato un esempio di [richiesta AWS SDK Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job) per creare un processo di etichettatura automatizzata dei dati nella Regione Stati Uniti orientali (Virginia settentrionale) utilizzando una forza lavoro privata. Sostituisci tutto *red-italicized text* con le risorse e le specifiche del tuo lavoro di etichettatura. Per ulteriori informazioni sull'`CreateLabelingJob`operazione, consulta il tutorial [Create a Labeling Job (API)](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-create-labeling-job-api.html) e la documentazione sull'[CreateLabelingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)API.

```
import boto3
client = boto3.client(service_name='sagemaker')

response = client.create_labeling_job(
    LabelingJobName="example-labeling-job",
    LabelAttributeName="label",
    InputConfig={
        'DataSource': {
            'S3DataSource': {
                'ManifestS3Uri': "s3://bucket/path/manifest-with-input-data.json"
            }
        }
    },
    "LabelingJobAlgorithmsConfig": {
      "LabelingJobAlgorithmSpecificationArn": "arn:aws:sagemaker:us-east-1:027400017018:labeling-job-algorithm-specification/tasktype",
      "LabelingJobResourceConfig": { 
         "VpcConfig": { 
            "SecurityGroupIds": [ "sg-01233456789", "sg-987654321" ],
            "Subnets": [ "subnet-e0123456", "subnet-e7891011" ]
         }
      }
    },
    OutputConfig={
        'S3OutputPath': "s3://bucket/path/file-to-store-output-data",
        'KmsKeyId': "string"
    },
    RoleArn="arn:aws:iam::*:role/*,
    LabelCategoryConfigS3Uri="s3://bucket/path/label-categories.json",
    StoppingConditions={
        'MaxHumanLabeledObjectCount': 123,
        'MaxPercentageOfInputDatasetLabeled': 123
    },
    HumanTaskConfig={
        'WorkteamArn': "arn:aws:sagemaker:region:*:workteam/private-crowd/*",
        'UiConfig': {
            'UiTemplateS3Uri': "s3://bucket/path/custom-worker-task-template.html"
        },
        'PreHumanTaskLambdaArn': "arn:aws:lambda:us-east-1:432418664414:function:PRE-tasktype",
        'TaskKeywords': [
            "Images",
            "Classification",
            "Multi-label"
        ],
        'TaskTitle': "Add task title here",
        'TaskDescription': "Add description of task here for workers",
        'NumberOfHumanWorkersPerDataObject': 1,
        'TaskTimeLimitInSeconds': 3600,
        'TaskAvailabilityLifetimeInSeconds': 21600,
        'MaxConcurrentTaskCount': 1000,
        'AnnotationConsolidationConfig': {
            'AnnotationConsolidationLambdaArn': "arn:aws:lambda:us-east-1:432418664414:function:ACS-tasktype"
        },
    Tags=[
        {
            'Key': "string",
            'Value': "string"
        },
    ]
)
```

# Usa la modalità Amazon VPC da un portale per worker privati
<a name="samurai-vpc-worker-portal"></a>

Per limitare l'accesso al portale di lavoro agli etichettatori che lavorano all'interno del tuo Amazon VPC, puoi aggiungere una configurazione VPC quando crei una forza lavoro privata Ground Truth. Puoi anche aggiungere una configurazione VPC a una forza lavoro privata esistente. Ground Truth crea automaticamente endpoint di interfaccia VPC nel tuo VPC e configura AWS PrivateLink tra l'endpoint VPC e i servizi Ground Truth. L'URL del portale dei worker associato alla forza lavoro è accessibile dal tuo VPC. Puoi accedere all'URL del portale di lavoro anche dalla rete Internet pubblica fino a quando non si imposta la restrizione sulla rete Internet pubblica. Quando elimini la forza lavoro o rimuovi la configurazione VPC dalla tua forza lavoro, Ground Truth elimina automaticamente gli endpoint VPC associati alla forza lavoro.

**Nota**  
Per ciascuna forza lavoro può esserci un solo VPC supportato.

Le attività con [nuvole di punti](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud.html) e [video](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-video.html) non supportano il caricamento tramite un VPC.

La guida mostra come completare le fasi necessarie per aggiungere ed eliminare una configurazione Amazon VPC alla forza lavoro e soddisfare i prerequisiti.

## Prerequisiti
<a name="samurai-vpc-getting-started-prerequisites"></a>

Per eseguire un processo di etichettatura Ground Truth in Amazon VPC, esamina i seguenti prerequisiti.
+ Hai un Amazon VPC configurato che puoi usare. Se non hai configurato un VPC, segui queste istruzioni per [creare un VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#interface-endpoint-shared-subnets).
+ A seconda di come viene scritto un [Modello di attività del worker](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-instructions-overview.html), è possibile accedere ai dati di etichettatura archiviati in un bucket Amazon S3 direttamente da Amazon S3 durante le attività di etichettatura. In questi casi, la rete VPC deve essere configurata per consentire il traffico dal dispositivo utilizzato dall'etichettatore umano al bucket S3 contenente i dati di etichettatura.
+ Segui [Visualizzazione e aggiornamento degli attributi DNS per il VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-updating) per abilitare i nomi host DNS e la risoluzione DNS per il VPC.

**Nota**  
Il VPC per la forza lavoro può essere configurato in due modi. Puoi farlo tramite la [console](https://console.aws.amazon.com/sagemaker) o l' AWS SageMaker AI [CLI](https://aws.amazon.com/cli/).

# Utilizzo della console SageMaker AI per gestire una configurazione VPC
<a name="samurai-vpc-workforce-console"></a>

Puoi utilizzare la [console SageMaker AI](https://console.aws.amazon.com/sagemaker) per aggiungere o rimuovere una configurazione VPC. Puoi anche eliminare una forza lavoro esistente.

## Aggiungere una configurazione VPC alla tua forza lavoro
<a name="samurai-add-vpc-workforce"></a>

### Creazione di una forza lavoro privata
<a name="samurai-vpc-create-workforce"></a>
+ [Crea una forza lavoro privata tramite la Amazon Cognito](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-private-use-cognito.html)
+ [Crea una forza lavoro privata utilizzando OpenID Connect (OIDC) Identity Provider (IdP).](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-private-use-oidc.html)

Dopo aver creato la tua forza lavoro privata, aggiungi una configurazione VPC.

1. Accedi ad [Amazon SageMaker Runtime](https://console.aws.amazon.com/sagemaker) nella tua console.

1. Seleziona **Etichettatura delle forze lavoro** nel pannello di sinistra.

1. Seleziona **Privato** per accedere alla tua forza lavoro privata. Dopo che lo **stato della forza lavoro** è **attivo**, seleziona **Aggiungi** accanto a **VPC.**

1. Quando ti viene richiesto di configurare il tuo VPC, fornisci quanto segue:

   1. Il **VPC**

   1. **Sottoreti**

      1. Assicurati che il tuo VPC disponga di una sottorete esistente

   1. **Gruppi di sicurezza**

      1. 
**Nota**  
Non puoi selezionare più di 5 gruppi di sicurezza.

   1. Dopo aver inserito queste informazioni, scegli **Conferma**.

1. Dopo aver scelto **Conferma**, verrai reindirizzato alla pagina **Privata** in **Etichettatura delle forze lavoro**. Dovresti vedere un banner verde in alto che riporta la dicitura **L’aggiornamento della forza lavoro privata con la configurazione VPC è stato inizializzato con successo**. Lo stato della forza lavoro è **In aggiornamento.** Accanto al pulsante **Elimina la forza lavoro** c'è il pulsante **Aggiorna**, che può essere utilizzato per recuperare lo **Stato della forza lavoro** più recente. Dopo che lo stato della forza lavoro è passato ad **Attivo**, viene aggiornato anche l'ID dell'endpoint VPC.

## Rimozione di una configurazione VPC dalla tua forza lavoro
<a name="samurai-remove-vpc-workforce"></a>

Utilizza le seguenti informazioni per rimuovere una configurazione VPC dalla tua forza lavoro utilizzando la console.

1. Accedi ad [Amazon SageMaker Runtime](https://console.aws.amazon.com/sagemaker) nella tua console.

1. Seleziona **Etichettatura delle forze lavoro** nel pannello di sinistra.

1. Trova e seleziona la tua forza lavoro.

1. In **Riepilogo della forza lavoro privata**, trova **VPC** e scegli **Rimuovi** accanto ad esso.

1. Selezionare **Rimuovi**.

## Eliminazione di una forza lavoro tramite la console
<a name="samurai-delete-vpc-workforce"></a>

Se elimini una forza lavoro, non dovresti avere nessun team associato ad essa. Puoi eliminare una forza lavoro solo se lo stato della forza lavoro è **Attivo** o **Non riuscito**.

Utilizza le seguenti informazioni per eliminare una forza lavoro utilizzando la console.

1. Accedi ad [Amazon SageMaker Runtime](https://console.aws.amazon.com/sagemaker) nella tua console.

1. Seleziona **Etichettatura delle forze lavoro** nel pannello di sinistra.

1. Trova e seleziona la tua forza lavoro.

1. Scegli **Elimina la forza lavoro**.

1. Scegli **Elimina**.

# Utilizzo dell' AWS API SageMaker AI per gestire una configurazione VPC
<a name="samurai-vpc-workforce-cli"></a>

Utilizza le seguenti sezioni per saperne di più sulla gestione di una VPCs configurazione, mantenendo al contempo il giusto livello di accesso al team di lavoro.

## Crea una forza lavoro con una configurazione VPC
<a name="samurai-create-vpc-cli"></a>

Se l'account ha già una forza lavoro, devi prima eliminarlo. Puoi anche aggiornare la forza lavoro con la configurazione VPC.

```
aws sagemaker create-workforce --cognito-config '{"ClientId": "app-client-id","UserPool": "Pool_ID",}' --workforce-vpc-config \       
" {\"VpcId\": \"vpc-id\", \"SecurityGroupIds\": [\"sg-0123456789abcdef0\"], \"Subnets\": [\"subnet-0123456789abcdef0\"]}" --workforce-name workforce-name
{
    "WorkforceArn": "arn:aws:sagemaker:us-west-2:xxxxxxxxx:workforce/workforce-name"
}
```

Descrivi la forza lavoro e assicurati che lo stato sia `Initializing`.

```
aws sagemaker describe-workforce --workforce-name workforce-name
{
    "Workforce": {
        "WorkforceName": "workforce-name",
        "WorkforceArn": "arn:aws:sagemaker:us-west-2:xxxxxxxxx:workforce/workforce-name",
        "LastUpdatedDate": 1622151252.451,
        "SourceIpConfig": {
            "Cidrs": []
        },
        "SubDomain": "subdomain.us-west-2.sagamaker.aws.com",
        "CognitoConfig": {
            "UserPool": "Pool_ID",
            "ClientId": "app-client-id"
        },
        "CreateDate": 1622151252.451,
        "WorkforceVpcConfig": {
            "VpcId": "vpc-id",
            "SecurityGroupIds": [
                "sg-0123456789abcdef0"
            ],
            "Subnets": [
                "subnet-0123456789abcdef0"
            ]
        },
        "Status": "Initializing"
    }
}
```

Passa alla console di Amazon VPC. Seleziona **Endpoint** dal pannello di sinistra. Nel tuo account dovrebbero essere creati due endpoint VPC.

## Aggiungere una configurazione VPC alla tua forza lavoro
<a name="samurai-add-vpc-cli"></a>

Aggiorna una forza lavoro privata non VPC con una configurazione VPC utilizzando il seguente comando.

```
aws sagemaker update-workforce --workforce-name workforce-name\
--workforce-vpc-config "{\"VpcId\": \"vpc-id\", \"SecurityGroupIds\": [\"sg-0123456789abcdef0\"], \"Subnets\": [\"subnet-0123456789abcdef0\"]}"
```

Descrivi la forza lavoro e assicurati che lo stato sia `Updating`.

```
aws sagemaker describe-workforce --workforce-name workforce-name
{
    "Workforce": {
        "WorkforceName": "workforce-name",
        "WorkforceArn": "arn:aws:sagemaker:us-west-2:xxxxxxxxx:workforce/workforce-name",
        "LastUpdatedDate": 1622151252.451,
        "SourceIpConfig": {
            "Cidrs": []
        },
        "SubDomain": "subdomain.us-west-2.sagamaker.aws.com",
        "CognitoConfig": {
            "UserPool": "Pool_ID",
            "ClientId": "app-client-id"
        },
        "CreateDate": 1622151252.451,
        "WorkforceVpcConfig": {
            "VpcId": "vpc-id",
            "SecurityGroupIds": [
                "sg-0123456789abcdef0"
            ],
            "Subnets": [
                "subnet-0123456789abcdef0"
            ]
        },
        "Status": "Updating"
    }
}
```

Passa alla console di Amazon VPC. Seleziona **Endpoint** dal pannello di sinistra. Nel tuo account dovrebbero essere creati due endpoint VPC.

## Rimozione di una configurazione VPC dalla tua forza lavoro
<a name="samurai-remove-vpc-cli"></a>

Aggiorna una forza lavoro privata VPC con una configurazione VPC vuota per rimuovere le risorse VPC.

```
aws sagemaker update-workforce --workforce-name workforce-name\ 
--workforce-vpc-config "{}"
```

Descrivi la forza lavoro e assicurati che lo stato sia `Updating`.

```
aws sagemaker describe-workforce --workforce-name workforce-name
{
    "Workforce": {
        "WorkforceName": "workforce-name",
        "WorkforceArn": "arn:aws:sagemaker:us-west-2:xxxxxxxxx:workforce/workforce-name",
        "LastUpdatedDate": 1622151252.451,
        "SourceIpConfig": {
            "Cidrs": []
        },
        "SubDomain": "subdomain.us-west-2.sagamaker.aws.com",
        "CognitoConfig": {
            "UserPool": "Pool_ID",
            "ClientId": "app-client-id"
        },
        "CreateDate": 1622151252.451,
        "Status": "Updating"
    }
}
```

Passa alla console Amazon VPC. Seleziona **Endpoint** dal pannello di sinistra. I due endpoint VPC devono essere eliminati.

## Limita l'accesso pubblico al portale dei worker mantenendo l'accesso tramite un VPC
<a name="public-access-vpc"></a>

 I worker in un portale di lavoro VPC o non VPC possono vedere le attività lavorative di etichettatura a loro assegnate. L'incarico deriva dall'assegnazione dei worker di un gruppo di lavoro tramite gruppi OIDC. È responsabilità del cliente limitare l'accesso al proprio portale pubblico per i worker impostando `sourceIpConfig` nella propria forza lavoro. 

**Nota**  
Puoi limitare l'accesso al portale dei lavoratori solo tramite l' SageMaker API. Questa operazione non può essere eseguita tramite la console.

Per limitare l'accesso pubblico al portale di lavoro, utilizza il seguente comando:

```
aws sagemaker update-workforce --region us-west-2 \
--workforce-name workforce-demo --source-ip-config '{"Cidrs":["10.0.0.0/16"]}'
```

Dopo aver impostato `sourceIpConfig` nella forza lavoro, i worker possono accedere al portale dei worker in VPC ma non tramite Internet pubblico.

**Nota**  
Non è possibile impostare la restrizione `sourceIP` per il portale di lavoro in VPC.

# Crittografia dei dati di output e del volume di archiviazione
<a name="sms-security"></a>

Con Amazon SageMaker Ground Truth, puoi etichettare dati altamente sensibili, mantenere il controllo dei tuoi dati e utilizzare le migliori pratiche di sicurezza. Mentre il processo di etichettatura è in corso, Ground Truth crittografa i dati in transito e quando sono inattivi. Inoltre, puoi usare AWS Key Management Service (AWS KMS) con Ground Truth per fare quanto segue:
+ Utilizzare una [chiave gestita dal cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys) per crittografare i dati di output. 
+ Utilizzate la chiave gestita AWS KMS dal cliente per il processo di etichettatura automatizzata dei dati per crittografare il volume di storage collegato all'istanza di calcolo utilizzata per l'addestramento e l'inferenza dei modelli. 

Utilizzare gli argomenti di questa pagina per informazioni sulle funzionalità di sicurezza di Ground Truth.

## Utilizza la tua chiave KMS per crittografare i dati di output
<a name="sms-security-kms-output-data"></a>

Facoltativamente, puoi fornire una chiave gestita AWS KMS dal cliente quando crei un processo di etichettatura, che Ground Truth utilizza per crittografare i dati di output. 

Se non fornisci una chiave gestita dal cliente, Amazon SageMaker AI utilizza l'impostazione predefinita di Amazon S3 Chiave gestita da AWS per l'account del tuo ruolo per crittografare i dati di output.

Se specifichi una chiave gestita dal cliente, devi aggiungere le autorizzazioni richieste alla chiave descritta in [Crittografa i dati di output e il volume di archiviazione con AWS KMS](sms-security-kms-permissions.md). Quando utilizzi l'operazione API `CreateLabelingJob`, puoi specificare l'ID della chiave gestita dal cliente utilizzando il parametro `[KmsKeyId](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobOutputConfig.html#sagemaker-Type-LabelingJobOutputConfig-KmsKeyId)`. Consulta la seguente procedura per scoprire come aggiungere una chiave gestita dal cliente quando crei un processo di etichettatura utilizzando la console.

**Per aggiungere una AWS KMS chiave per crittografare i dati di output (console):**

1. Completa le prime 7 fasi descritte in [Creare un processo di etichettatura (console)](sms-create-labeling-job-console.md).

1. Nella fase 8, seleziona la freccia accanto a **Configurazione aggiuntiva** per espandere questa sezione.

1. Per **Chiave di crittografia**, seleziona la AWS KMS chiave che desideri utilizzare per crittografare i dati di output.

1. Completa le fasi restanti in [Creare un processo di etichettatura (console)](sms-create-labeling-job-console.md) per creare un processo di etichettatura.

## Usa la tua chiave KMS per crittografare il volume di archiviazione automatizzato dell'etichettatura dei dati (solo API)
<a name="sms-security-kms-storage-volume"></a>

Quando crei un processo di etichettatura dei dati automatizzata utilizzando l'operazione API `CreateLabelingJob`, puoi crittografare il volume di archiviazione collegato alle istanze di calcolo ML che eseguono i processi di addestramento e inferenza. Per aggiungere la crittografia al volume di archiviazione, utilizza il parametro `VolumeKmsKeyId` per inserire una chiave gestita AWS KMS dal cliente. Per ulteriori informazioni su questo parametro, consulta `[LabelingJobResourceConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobResourceConfig.html#sagemaker-Type-LabelingJobResourceConfig-VolumeKmsKeyId)`.

Se specifichi un ID chiave o un ARN per`VolumeKmsKeyId`, il tuo ruolo di esecuzione SageMaker AI deve includere le autorizzazioni per la chiamata. `kms:CreateGrant` Per informazioni su come aggiungere questa autorizzazione a un ruolo di esecuzione, consulta [Crea un ruolo di esecuzione dell' SageMaker IA per un lavoro di etichettatura Ground Truth](sms-security-permission-execution-role.md).

**Nota**  
Se specifichi una chiave gestita AWS KMS dal cliente quando crei un processo di etichettatura nella console, tale chiave viene utilizzata *solo* per crittografare i dati di output. Essa non viene utilizzata per crittografare il volume di archiviazione collegato alle istanze di calcolo ML utilizzate per l'etichettatura dei dati automatizzata.

# Autenticazione e restrizioni della forza lavoro
<a name="sms-security-workforce-authentication"></a>

Ground Truth consente di utilizzare la forza lavoro privata per operare sui processi di etichettatura. Una *forza lavoro privata* è un concetto astratto che si riferisce a un insieme di persone che lavorano per te. Ogni processo di etichettatura viene creato utilizzando un team di lavoro composto da worker della forza lavoro. Ground Truth supporta la creazione di personale privato utilizzando Amazon Cognito. 

Una forza lavoro A Ground Truth esegue la mappatura su un pool di utenti di Amazon Cognito. Un team di lavoro di Ground Truth esegue la mappatura su un gruppo di utenti di Amazon Cognito. Amazon Cognito gestisce l'autenticazione dei worker. Amazon Cognito supporta la connessione Open ID (OIDC) e i clienti possono impostare la federazione Amazon Cognito con il proprio provider di identità (IdP). 

Ground Truth consente solo una forza lavoro per account per AWS regione. Ogni forza lavoro dispone di un URL di accesso dedicato al portale di lavoro Ground Truth. 

Puoi anche limitare i lavoratori a un intervallo di indirizzi CIDR (Classless Inter-Domain Routing). block/IP Ciò significa che gli annotatori devono trovarsi in una rete specifica per accedere al sito di annotazione. È possibile aggiungere fino a quattro blocchi CIDR per una forza lavoro. Per ulteriori informazioni, consulta [Gestione della forza lavoro privata tramite l'API Amazon SageMaker](sms-workforce-management-private-api.md).

Per informazioni su come creare una forza lavoro privata, vedi [Crea una forza lavoro privata (Amazon Cognito)](sms-workforce-create-private.md).

## Limitazione dell'accesso dei tipi di forza lavoro
<a name="sms-security-permission-condition-keys"></a>

I team di lavoro di Amazon SageMaker Ground Truth rientrano in tre [tipi di forza lavoro](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management.html): pubblica (con Amazon Mechanical Turk), privata e vendor. Per limitare l'accesso degli utenti a un team di lavoro specifico utilizzando uno di questi tipi o l'ARN del team di lavoro, utilizza `sagemaker:WorkteamType` and/or i tasti di `sagemaker:WorkteamArn` condizione. Per la chiave di `sagemaker:WorkteamType` condizione, utilizza [gli operatori di condizione stringa](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). Per la chiave di condizione `sagemaker:WorkteamArn`, utilizza [gli operatori di condizione nome della risorsa Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN). Se l'utente tenta di creare un lavoro di etichettatura con un team di lavoro limitato, SageMaker AI restituisce un errore di accesso negato. 

Le policy riportate di seguito illustrano diversi modi per utilizzare le chiavi di condizione `sagemaker:WorkteamType` e `sagemaker:WorkteamArn` con gli operatori di condizione appropriati e i valori di condizione validi. 

Nell'esempio seguente viene utilizzata la chiave di condizione `sagemaker:WorkteamType` con l'operatore di condizione `StringEquals` per limitare l'accesso a un team di lavoro pubblico. Accetta i valori delle condizioni nel seguente formato:`workforcetype-crowd`, where *workforcetype* can equal `public``private`, o`vendor`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RestrictWorkteamType",
            "Effect": "Deny",
            "Action": "sagemaker:CreateLabelingJob",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "sagemaker:WorkteamType": "public-crowd"
                }
            }
        }
    ]
}
```

------

Le policy seguenti mostrano come limitare l'accesso a un team di lavoro pubblico utilizzando la chiave di condizione `sagemaker:WorkteamArn`. La prima mostra come usare una variante regex IAM valida dell'ARN del team di lavoro e l'operatore di condizione `ArnLike`. La seconda mostra come usare l'operatore di condizione `ArnEquals` e l'ARN del team di lavoro.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RestrictWorkteamType",
            "Effect": "Deny",
            "Action": "sagemaker:CreateLabelingJob",
            "Resource": "*",
            "Condition": {
                "ArnLike": {
                    "sagemaker:WorkteamArn": "arn:aws:sagemaker:*:*:workteam/public-crowd/*"
                }
            }
        }
    ]
}
```

------

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RestrictWorkteamType",
            "Effect": "Deny",
            "Action": "sagemaker:CreateLabelingJob",
            "Resource": "*",
            "Condition": {
                "ArnEquals": {
                    "sagemaker:WorkteamArn": "arn:aws:sagemaker:us-west-2:394669845002:workteam/public-crowd/default"
                }
            }
        }
    ]
}
```

------

# Monitoraggio dello stato del processo di etichettatura
<a name="sms-monitor-cloud-watch"></a>

Per monitorare lo stato dei tuoi lavori di etichettatura, puoi impostare una regola [Amazon CloudWatch Events (CloudWatch Events](https://docs.aws.amazon.com/sagemaker/latest/dg/monitoring-cloudwatch.html#cloudwatch-metrics-ground-truth)) per Amazon SageMaker Ground Truth (Ground Truth) per inviare un evento a CloudWatch Events quando lo stato di un lavoro di etichettatura cambia `Stopped` o quando un lavoratore accetta, rifiuta, invia o restituisce un'attività. `Completed` `Failed` 

*Dopo aver creato una regola, puoi aggiungervi un obiettivo.* CloudWatch Events utilizza questo target per richiamare un altro AWS servizio per elaborare l'evento. Ad esempio, puoi creare una destinazione utilizzando un argomento Amazon Simple Notification Service (Amazon SNS) per inviare una notifica al tuo indirizzo e-mail quando lo stato di un processo di etichettatura cambia.

**Prerequisiti:**

Per creare una regola CloudWatch Events, avrai bisogno di un ruolo AWS Identity and Access Management (IAM) con una politica di fiducia di events.amazonaws.com allegata. Di seguito è riportato un esempio di una policy di attendibilità events.amazonaws.com.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "events.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

**Topics**
+ [Invia eventi a eventi CloudWatch](#sms-cloud-watch-event-rule-setup)
+ [Configurazione di una destinazione per elaborare eventi](#sms-cloud-watch-events-labelingjob-notifications)
+ [Scadenza processo di etichettatura](#sms-labeling-job-expiration)
+ [Rifiuto delle attività](#sms-decline-tasks)

## Invia eventi a eventi CloudWatch
<a name="sms-cloud-watch-event-rule-setup"></a>

Per configurare una regola CloudWatch Events per ottenere aggiornamenti di stato, o *eventi*, per i tuoi lavori di etichettatura Ground Truth, usa il [https://docs.aws.amazon.com/cli/latest/reference/events/put-rule.html](https://docs.aws.amazon.com/cli/latest/reference/events/put-rule.html)comando AWS Command Line Interface (AWS CLI). Puoi filtrare gli eventi inviati alla regola in base alla modifica dello stato. Ad esempio, puoi creare una regola che invia una notifica all'utente solo se lo stato di un processo di etichettatura cambia in `Completed`. Quando si utilizza il comando `put-rule`, specifica quanto segue per ricevere gli stati del processo di etichettatura: 
+ `\"source\":[\"aws.sagemaker\"]`
+ `\"detail-type\":[\"SageMaker Ground Truth Labeling Job State Change\"]`

Per configurare una regola CloudWatch Events per controllare tutte le modifiche di stato, utilizzate il seguente comando e sostituite il testo segnaposto. Ad esempio, sostituiscilo `"GTLabelingJobStateChanges"` con un nome di regola CloudWatch Events univoco e *`"arn:aws:iam::111122223333:role/MyRoleForThisRule"`* con l'Amazon Resource Number (ARN) di un ruolo IAM con una policy di fiducia events.amazonaws.com allegata. 

```
aws events put-rule --name "GTLabelingJobStateChanges" 
    --event-pattern "{\"source\":[\"aws.sagemaker\"],\"detail-type\":[\"SageMaker Ground Truth Labeling Job State Change\"]}" 
    --role-arn "arn:aws:iam::111122223333:role/MyRoleForThisRule" 
    --region "region"
```

Per filtrare in base allo stato del processo, utilizza la sintassi `\"detail\":{\"LabelingJobStatus\":[\"Status\"]}}"`. I valori validi di `Status` sono `Completed`, `Failed` ed `Stopped`. 

L'esempio seguente crea una regola CloudWatch Events che notifica all'utente quando un processo di etichettatura in us-west-2 (Oregon) diventa. `Completed`

```
aws events put-rule --name "LabelingJobCompleted" 
    --event-pattern "{\"source\":[\"aws.sagemaker\"],\"detail-type\":[\"SageMaker Ground Truth Labeling Job State Change\"], \"detail\":{\"LabelingJobStatus\":[\"Completed\"]}}"  
    --role-arn "arn:aws:iam::111122223333:role/MyRoleForThisRule" 
    --region us-west-2
```

L'esempio seguente crea una regola CloudWatch Events che notifica all'utente quando un processo di etichettatura in us-east-1 (Virginia) diventa o. `Completed` `Failed`

```
aws events put-rule --name "LabelingJobCompletedOrFailed" 
    --event-pattern "{\"source\":[\"aws.sagemaker\"],\"detail-type\":[\"SageMaker Ground Truth Labeling Job State Change\"], \"detail\":{\"LabelingJobStatus\":[\"Completed\", \"Failed\"]}}"  
    --role-arn "arn:aws:iam::111122223333:role/MyRoleForThisRule" 
    --region us-east-1
```

 Per ulteriori informazioni sulla `put-rule` richiesta, consulta [Event Patterns in CloudWatch Events](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html) nella *Amazon CloudWatch Events User Guide*.

## Configurazione di una destinazione per elaborare eventi
<a name="sms-cloud-watch-events-labelingjob-notifications"></a>

Dopo aver creato una regola, eventi simili ai seguenti vengono inviati a CloudWatch Events. In questo esempio, lo stato del processo di etichettatura `test-labeling-job` è cambiato in `Completed`.

```
{
    "version": "0",
    "id": "111e1111-11d1-111f-b111-1111b11dcb11",
    "detail-type": "SageMaker Ground Truth Labeling Job State Change",
    "source": "aws.sagemaker",
    "account": "111122223333",
    "time": "2018-10-06T12:26:13Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:sagemaker:us-east-1:111122223333:labeling-job/test-labeling-job"
    ],
    "detail": {      
        "LabelingJobStatus": "Completed"
    }
}
```

Per elaborare gli eventi, è necessario configurare una destinazione. Ad esempio, se desideri ricevere un'e-mail quando lo stato del lavoro di etichettatura cambia, utilizza una procedura in [Configurazione delle notifiche Amazon SNS nella Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html) *User Guide per impostare un argomento CloudWatch Amazon* SNS e iscrivere la tua e-mail ad esso. Dopo aver creato un argomento, puoi utilizzarlo per creare una destinazione. 

**Per aggiungere un obiettivo alla tua regola Events CloudWatch**

1. Apri la CloudWatch console: [https://console.aws.amazon.com/cloudwatch/home](https://console.aws.amazon.com/cloudwatch/home)

1. Nel riquadro di navigazione, scegli **Regole**.

1. Scegliere la regola a cui aggiungere una destinazione. 

1. Seleziona **Azioni**, quindi scegli **Modifica**.

1. In **Target**, scegli **Aggiungi obiettivo** e scegli il AWS servizio che desideri utilizzare quando viene rilevato un evento di modifica dello stato del processo di etichettatura. 

1. Configurazione della destinazione. Per le istruzioni, consulta l'argomento relativo alla configurazione di una destinazione nella [Documentazione AWS per tale servizio](https://docs.aws.amazon.com/index.html).

1. Scegli **Configura dettagli**.

1. In **Nome**, immetti un nome e, facoltativamente, fornisci dettagli sullo scopo della regola in **Descrizione**. 

1. Accertati che la casella di controllo accanto a **Stato** sia selezionata, in modo che la regola sia indicata come **Abilitata**. 

1. Scegli **Aggiorna regola**.

## Scadenza processo di etichettatura
<a name="sms-labeling-job-expiration"></a>

Se il processo di etichettatura non viene completato dopo 30 giorni, scadrà. Se il processo di etichettatura scade, è possibile concatenare il processo per creare un nuovo processo di etichettatura che invierà solo dati non etichettati ai worker. Per ulteriori informazioni e per informazioni su come creare un processo di etichettatura utilizzando il concatenamento, consulta [Concatenazione di processi di etichettatura](sms-reusing-data.md).

## Rifiuto delle attività
<a name="sms-decline-tasks"></a>

I worker possono rifiutare le attività. 

I worker rifiutano un'attività se le istruzioni non sono chiare, i dati di input non vengono visualizzati correttamente o se riscontrano altri problemi con l'attività. Se il numero di worker per oggetto set di dati ([https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-NumberOfHumanWorkersPerDataObject](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-NumberOfHumanWorkersPerDataObject)) rifiuta l'attività, l'oggetto dati viene contrassegnato come scaduto e non verrà inviato ad altri worker.

# Usa Amazon SageMaker Ground Truth Plus per etichettare i dati
<a name="gtp"></a>

Amazon SageMaker Ground Truth Plus è un servizio di etichettatura dei dati chiavi in mano che utilizza una forza lavoro esperta per fornire rapidamente annotazioni di alta qualità e riduce i costi fino al 40%. Utilizzando SageMaker Ground Truth Plus, i data scientist e i manager aziendali, come i data operations manager e i program manager, possono creare set di dati di formazione di alta qualità senza dover creare applicazioni di etichettatura e gestire autonomamente la forza lavoro addetta all'etichettatura. Puoi iniziare a usare Amazon SageMaker Ground Truth Plus caricando i dati insieme ai requisiti di etichettatura in Amazon S3. 
<a name="why-use-gtp"></a>
**Perché usare SageMaker Ground Truth Plus?**  
Per addestrare un modello di machine learning (ML), i data scientist hanno bisogno di set di dati etichettati di grandi dimensioni, di alta qualità. Con la crescita dell'adozione del machine learning, aumentano le esigenze di etichettatura. Ciò costringe i data scientist a dedicare settimane alla creazione di flussi di lavoro per l'etichettatura dei dati e alla gestione di una forza lavoro di etichettatura dei dati. Sfortunatamente, ciò rallenta l'innovazione e aumenta i costi. Per garantire che i data scientist possano dedicare il loro tempo alla creazione, all’addestramento e all'implementazione di modelli di machine learning, i data scientist in genere incaricano altri team interni, composti da responsabili delle operazioni di dati e responsabili dei programmi, di produrre set di dati di addestramento di alta qualità. Tuttavia, questi team in genere non hanno accesso alle competenze necessarie per fornire set di dati di addestramento di alta qualità, il che influisce sui risultati del machine learning. Di conseguenza, cercate un partner per l'etichettatura dei dati che possa aiutarli a creare set di dati di addestramento di alta qualità su larga scala senza consumare le proprie risorse interne.

Quando carichi i dati, SageMaker Ground Truth Plus imposta i flussi di lavoro di etichettatura dei dati e li gestisce per tuo conto. Da lì, una forza lavoro esperta addestrata su una varietà di attività di apprendimento automatico (ML) esegue l'etichettatura dei dati. SageMaker Ground Truth Plus offre attualmente due tipi di forza lavoro esperta: una forza lavoro impiegata su Amazon e un elenco curato di fornitori di terze parti. SageMaker Ground Truth Plus ti offre la flessibilità di scegliere il personale addetto all'etichettatura. AWS gli esperti selezionano la migliore forza lavoro addetta all'etichettatura in base ai requisiti del progetto. Ad esempio, se hai bisogno di persone esperte nell'etichettatura dei file audio, specificalo nelle linee guida fornite a SageMaker Ground Truth Plus e il servizio selezionerà automaticamente gli etichettatori con tali competenze. 

**Importante**  
SageMaker Ground Truth Plus non supporta dati certificati PHI, PCI o FedRAMP e non è necessario fornire questi dati a Ground Truth Plus. SageMaker 
<a name="how-it-works-gtp"></a>
**Come funziona SageMaker Ground Truth Plus?**  
Un flusso di lavoro è composto da cinque componenti principali.
+ Richiesta di un progetto
+ Creazione di un team di progetto
+ Accesso al portale del progetto per monitorare lo stato di avanzamento dei set di dati di addestramento e rivedere i dati etichettati
+ Creazione di un batch
+ Ricezione dei dati etichettati
<a name="how-do-i-use-gtp"></a>
**Come si usa SageMaker Ground Truth Plus?**  
Se sei un utente alle prime armi di SageMaker Ground Truth Plus, usa [Guida introduttiva ad Amazon SageMaker Ground Truth Plus.](gtp-getting-started.md) get started. Per accedere a SageMaker Ground Truth Plus utilizzando la console SageMaker AI, devi trovarti negli Stati Uniti orientali (Virginia settentrionale) (`us-east-1`).

# Guida introduttiva ad Amazon SageMaker Ground Truth Plus.
<a name="gtp-getting-started"></a>

La guida mostra come completare i passaggi necessari per avviare un progetto Amazon SageMaker Ground Truth Plus, rivedere le etichette e soddisfare i prerequisiti di SageMaker Ground Truth Plus.

Per iniziare a utilizzare SageMaker Ground Truth Plus, rivedi [Configura i prerequisiti di Amazon SageMaker Ground Truth Plus](gtp-getting-started-prerequisites.md) e[Componenti principali di Amazon SageMaker Ground Truth Plus](gtp-getting-started-core-components.md).

# Configura i prerequisiti di Amazon SageMaker Ground Truth Plus
<a name="gtp-getting-started-prerequisites"></a>

La pagina seguente descrive come registrare un AWS account e configurare un utente amministrativo nel tuo account. Se disponi già di un AWS account e di una configurazione utente, puoi saltare questa pagina.

## Registrati per un Account AWS
<a name="sign-up-for-aws"></a>

Se non ne hai unoAccount AWS, completa i seguenti passaggi per crearne uno.

**Per iscriverti a un Account AWS**

1. Apri la [https://portal.aws.amazon.com/billing/registrazione.](https://portal.aws.amazon.com/billing/signup)

1. Segui le istruzioni online.

   Nel corso della procedura di registrazione riceverai una telefonata o un messaggio di testo e ti verrà chiesto di inserire un codice di verifica attraverso la tastiera del telefono.

   Quando ti iscrivi a unAccount AWS, *Utente root dell'account AWS*viene creato un. L’utente root dispone dell’accesso a tutte le risorse e tutti i Servizi AWS nell’account. Come best practice di sicurezza, assegna l’accesso amministrativo a un utente e utilizza solo l’utente root per eseguire [attività che richiedono l’accesso di un utente root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWSti invia un'email di conferma dopo il completamento della procedura di registrazione. In qualsiasi momento, puoi visualizzare l'attività corrente del tuo account e gestirlo accedendo a [https://aws.amazon.com/](https://aws.amazon.com/)e scegliendo **Il mio account**.

## Crea un utente con accesso amministrativo
<a name="create-an-admin"></a>

Dopo esserti registratoAccount AWS, proteggi Utente root dell'account AWSAWS IAM Identity Center, abilita e crea un utente amministrativo in modo da non utilizzare l'utente root per le attività quotidiane.

**Proteggi i tuoi Utente root dell'account AWS**

1.  Accedi [Console di gestione AWS](https://console.aws.amazon.com/)come proprietario dell'account scegliendo **Utente root** e inserendo il tuo indirizzo Account AWS email. Nella pagina successiva, inserisci la password.

   Per informazioni sull’accesso utilizzando un utente root, consulta la pagina [Signing in as the root user](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) della *Guida per l’utente di Accedi ad AWS*.

1. Abilita l’autenticazione a più fattori (MFA) per l’utente root.

   Per istruzioni, consulta [Abilitare un dispositivo MFA virtuale per l'utente Account AWS root (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) nella Guida per l'*utente IAM*.

**Crea un utente con accesso amministrativo**

1. Abilita il Centro identità IAM.

   Per istruzioni, consulta [Abilitazione del AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html) nella *Guida per l’utente di AWS IAM Identity Center*.

1. Nel Centro identità IAM, assegna l’accesso amministrativo a un utente.

   Per un tutorial sull'utilizzo di IAM Identity Center directory come fonte di identità, consulta [Configurare l'accesso utente con l'impostazione predefinita IAM Identity Center directory](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html) nella *Guida per l'AWS IAM Identity Centerutente*.

**Accesso come utente amministratore**
+ Per accedere come utente del Centro identità IAM, utilizza l’URL di accesso che è stato inviato al tuo indirizzo e-mail quando hai creato l’utente del Centro identità IAM.

  Per informazioni sull'accesso utilizzando un utente IAM Identity Center, consulta [AWSAccedere al portale di accesso](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) nella *Guida per l'Accedi ad AWSutente*.

**Assegnazione dell’accesso ad altri utenti**

1. Nel Centro identità IAM, crea un set di autorizzazioni conforme alla best practice per l’applicazione di autorizzazioni con il privilegio minimo.

   Segui le istruzioni riportate nella pagina [Creazione di un set di autorizzazioni](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html) nella *Guida per l’utente di AWS IAM Identity Center*.

1. Assegna al gruppo prima gli utenti e poi l’accesso con autenticazione unica (Single Sign-On).

   Per istruzioni, consulta [Aggiungere gruppi](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html) nella *Guida per l’utente di AWS IAM Identity Center*.

# Componenti principali di Amazon SageMaker Ground Truth Plus
<a name="gtp-getting-started-core-components"></a>

I seguenti termini sono fondamentali per comprendere le funzionalità di SageMaker Ground Truth Plus:
+ **Progetto**: ogni incontro qualificato con un AWS esperto porta a un progetto SageMaker Ground Truth Plus. Un progetto può essere in fase pilota o di produzione.
+ **Batch**: un batch è una raccolta di oggetti dati ricorrenti simili come immagini, frame video e testo da etichettare. Un progetto può avere più batch.
+ **Metriche**: Le metriche sono dati sul tuo progetto SageMaker Ground Truth Plus per una data specifica o per un intervallo di date.
+ **Tipo di attività**: SageMaker Ground Truth Plus supporta cinque tipi di attività per l'etichettatura dei dati. È inoltre possibile avere un tipo di attività personalizzato. Questi includono testo, immagini, video, audio e nuvola di punti 3D.
+ **Oggetti dati**: singoli elementi che devono essere etichettati.

# Richiedi un progetto
<a name="gtp-request-project"></a>

La richiesta di un nuovo progetto Amazon SageMaker Ground Truth Plus avvia la collaborazione con il team di SageMaker Ground Truth Plus che lavora per comprendere le tue esigenze e fornire un set di dati etichettato di alta qualità, personalizzato in base al tuo caso d'uso. Nella richiesta del progetto, puoi fornire dettagli sull’attività di etichettatura, ad esempio tipo di attività, dimensione del set di dati e qualsiasi dato sensibile. È inoltre necessario specificare un ruolo AWS IAM con autorizzazioni per SageMaker Ground Truth Plus per accedere ai dati ed eseguire il processo di etichettatura. La pagina seguente mostra come creare una nuova richiesta di progetto utilizzando la console SageMaker AI.

Per richiedere un progetto, procedi come indicato di seguito:

1. Nella scheda Ground Truth di Amazon SageMaker AI, scegli **Plus**.

1. Nella pagina **SageMaker Ground Truth Plus**, scegli **Richiedi progetto**.

1. Si apre una pagina intitolata **Richiedi un progetto**. La pagina include i campi **Informazioni generali** e **Panoramica del progetto**. Immetti le seguenti informazioni

   1. In **Informazioni generali**, inserisci il tuo **nome**, **cognome** e **indirizzo e-mail aziendale**. Un AWS esperto utilizza queste informazioni per contattarti e discutere del progetto dopo aver inviato la richiesta.

   1. In **Panoramica del progetto**, inserisci il **nome del progetto** e la **descrizione del progetto**. Scegli il **tipo di attività** in base ai dati e al caso d'uso. Puoi anche indicare se i tuoi dati contengono informazioni di identificazione personale (PII). 

   1. Crea o seleziona un ruolo IAM che conceda a SageMaker Ground Truth Plus le autorizzazioni per eseguire un lavoro di etichettatura scegliendo una delle opzioni seguenti. 

      1. Puoi **creare un ruolo IAM** che conceda l'accesso a qualsiasi bucket S3 specificato.

      1. Puoi **inserire ARN del ruolo IAM personalizzato**.

      1. Puoi selezionare un ruolo esistente.

      1. Se utilizzi un ruolo esistente o un ARN del ruolo IAM personalizzato, assicurati di disporre del ruolo IAM e della policy di attendibilità come segue.

         Ruolo IAM

------
#### [ JSON ]

****  

         ```
         {
             "Version":"2012-10-17",		 	 	 
             "Statement": [
                 {
                     "Effect": "Allow",
                     "Action": [
                         "s3:GetObject",
                         "s3:GetBucketLocation",
                         "s3:ListBucket",
                         "s3:PutObject"
                     ],
                     "Resource": [
                         "arn:aws:s3:::your-bucket-name",
                         "arn:aws:s3:::your-bucket-name/*"
                     ]
                 }
             ]
         }
         ```

------

         Policy di attendibilità

------
#### [ JSON ]

****  

         ```
         {
             "Version":"2012-10-17",		 	 	 
             "Statement": [
                 {
                     "Effect": "Allow",
                     "Principal": {
                         "Service": "sagemaker-ground-truth-plus.amazonaws.com"
                     },
                     "Action": "sts:AssumeRole"
                 }
             ]
         }
         ```

------

1. Scegli **Richiedi un progetto**.

Una volta creato un progetto, puoi trovarlo nella pagina **SageMaker Ground Truth Plus**, nella sezione Progetti. Lo stato del progetto dovrebbe essere **Revisione in corso**

**Nota**  
Non puoi avere più di 5 progetti con lo stato **Revisione in corso**.

# Creazione di un team di progetto
<a name="gtp-project-team"></a>

Un team di progetto fornisce l'accesso ai membri dell'organizzazione o del team per tenere traccia dei progetti, visualizzare i parametri e rivedere le annotazioni. Puoi creare un team di progetto SageMaker Ground Truth Plus dopo aver condiviso i tuoi dati in un bucket Amazon S3.

Per aggiungere membri del team utilizzando Amazon Cognito, puoi scegliere tra due opzioni:

1. Creazione un nuovo gruppo di utenti Amazon Cognito

   1. Inserisci un **nome del gruppo di utenti Amazon Cognito**. Questo nome non può essere modificato.

   1. Inserisci gli indirizzi e-mail di un massimo di 50 membri del team nel campo **Indirizzi e-mail**. Gli indirizzi devono essere separati da una virgola.

   1. Seleziona **Crea team di progetto**.  
![\[Esempio: sezione Crea team di progetto nella console.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/gtb-project-team.png)

   1. I membri del team ricevono un'e-mail che li invita a unirsi al team di progetto SageMaker Ground Truth Plus, come mostrato nell'immagine seguente.   
![\[Esempio: e-mail di Invito in anteprima.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/gtb-email-preview.png)

1. Importazione di membri del team da gruppi di utenti Amazon Cognito esistenti.

   1. Scegli un pool di utenti creato. I pool di utenti richiedono un dominio e un gruppo di utenti esistente. Se viene visualizzato un errore indicante che il dominio manca, impostarlo nelle opzioni **Nome dominio** all'interno della pagina **Integrazione app** della console per il gruppo.

   1. Scegli un client dell’app. Consigliamo di utilizzare un client generato da Amazon SageMaker AI.

   1. Seleziona un gruppo di utenti dal pool per importarne i membri.

   1. Seleziona **Crea team di progetto**.

Puoi visualizzare e gestire l'elenco dei membri del team tramite la console AWS.

**Per aggiungere membri del team dopo aver creato il team di progetto:**

1. Scegli **Invita nuovi membri** nella sezione **Membri**.

1. Inserisci gli indirizzi e-mail di un massimo di 50 membri del team nel campo **Indirizzi e-mail**. Gli indirizzi devono essere separati da una virgola.

1. Scegli **Invita nuovi Membri**

**Per eliminare membri del team esistenti:**

1. Scegli il membro del team da eliminare nella sezione **Membri**.

1. Scegli **Elimina**.

Dopo aver aggiunto membri al team di progetto, puoi aprire il portale del progetto per accedere ai tuoi progetti.

# Portale del progetto
<a name="gtp-project-portal"></a>

Dopo aver inviato con successo il modulo di iscrizione e aver creato un team di progetto, puoi accedere al progetto SageMaker Ground Truth Plus scegliendo **Apri portale del progetto** sulla console AWS.

Ogni progetto è composto da uno o più batch. Un *batch* è una raccolta di oggetti di dati ricorrenti e simili (testo, immagini, frame video e nuvole di punti) da etichettare. Il portale del progetto offre trasparenza per il processo di etichettatura dei dati. Puoi rimanere aggiornato su un progetto, creare batch all'interno di un progetto, esaminare lo stato di avanzamento dei set di dati su più progetti e analizzare i parametri del progetto. Il portale del progetto consente, inoltre, di esaminare un sottoinsieme dei dati etichettati e fornire feedback. Puoi configurare le colonne visualizzate nel progetto e nella tabella batch.

![\[Portale del progetto per Amazon SageMaker Ground Truth Plus.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/gtp-project-how-it-works.png)


Puoi utilizzare il portale del progetto SageMaker Ground Truth Plus per monitorare i seguenti dettagli relativi al tuo progetto.

**Nome progetto**: ogni progetto è identificato con un nome univoco.

**Stato**: Un progetto SageMaker Ground Truth Plus ha uno dei seguenti tipi di stato:

1. **Revisione in corso**: il modulo di richiesta progetto è stato inviato con successo. Un esperto AWS sta attualmente esaminando la tua richiesta.

1. **Richiesta approvata**: la tua richiesta progetto è stata approvata. Ora puoi condividere i tuoi dati creando un nuovo batch dal portale del progetto.

1. **Progettazione del flusso di lavoro e avanzamento della configurazione**: un esperto AWS sta configurando il progetto.

1. **Pilota in corso**: l'etichettatura degli oggetti per il progetto nella fase pilota è attualmente in corso.

1. **Pilota completato**: l'etichettatura degli oggetti è stata completata e i dati etichettati vengono archiviati nel bucket Amazon S3.

1. **Prezzi completati**: un esperto AWS condivide con te i prezzi del progetto di produzione.

1. **Contratto eseguito**: il contratto è stato completato.

1. **Produzione in corso**: l'etichettatura del progetto in fase di produzione è in corso.

1. **Produzione completata**: l'etichettatura degli oggetti è stata completata e i dati etichettati vengono archiviati nel bucket Amazon S3.

1. **In pausa**: il progetto è attualmente in pausa su tua richiesta.

**Tipo di attività**: SageMaker Ground Truth Plus consente di etichettare cinque tipi di attività, tra cui testo, immagini, video, audio e nuvole di punti.

**Batch**: numero totale di batch all'interno di un progetto.

**Data di creazione del progetto**: data di inizio di un progetto.

**Oggetti totali**: numero totale degli oggetti da etichettare in tutti i batch.

**Oggetti completati**: numero di oggetti già etichettati.

**Oggetti rimanenti**: numero di oggetti ancora da etichettare.

**Oggetti non riusciti**: numero di oggetti che non possono essere etichettati a causa di un problema con i dati di input.

# Crea un Batch
<a name="gtp-create-batches"></a>

Puoi utilizzare il portale del progetto per creare batch per un progetto dopo che lo stato del progetto è stato modificato in **Richiesta approvata**.

![\[Il modulo di input per creare un batch utilizzando Amazon SageMaker Ground Truth Plus.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/gtp-create-batch.png)


Per creare un batch, procedi come descritto qui di seguito:

1. Seleziona un progetto scegliendo il nome del progetto.

1. Si apre una pagina intitolata con il nome del progetto. Nella sezione **Batch**, scegli **Crea batch**.

1. Inserisci il **Nome batch**, la **Descrizione batch**, la **Posizione S3 per i set di dati di input** e **la posizione S3 per i set di dati di output**.

1. Scegli **Invia**.

**Per creare un batch correttamente, verifica che siano soddisfatti i seguenti criteri:**
+ I tuoi dati si trovano nella Regione Stati Uniti orientali (Virginia settentrionale).
+ La dimensione massima per ogni file non è superiore a 2 gigabyte.
+ Il numero massimo di file in un batch è 10.000.
+ La dimensione totale di un batch è inferiore a 100 gigabyte.
+ Non hai più di 5 batch con lo stato **Trasferimento dati in corso**.

**Nota**  
Non puoi creare un batch prima che lo stato del progetto passi a **Richiesta approvata**.

# Metriche dei batch
<a name="gtp-review-metrics"></a>

I parametri sono dati sul progetto SageMaker Ground Truth Plus per una data specifica o per un intervallo di date.

Puoi rivedere i parametri per tutti i batch o scegliere un batch a tua scelta, come mostrato nell'immagine seguente.

![\[Istogrammi di esempio di metriche per i tuoi batch nella console.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/gtb-review-metrics.png)


Puoi esaminare i seguenti parametri relativi al batch:

**Oggetti totali**: numero totale degli oggetti in un batch o in tutti i batch.

**Oggetti completati in giornata**: numero totale di oggetti etichettati in una data specifica o in un intervallo di date.

**Etichette completate in giornata**: numero totale di etichette completate in una data specifica o in un intervallo di date. Un oggetto può avere più etichette.

# Dettagli batch
<a name="gtp-review-batches"></a>

Ogni progetto Amazon SageMaker Ground Truth Plus è composto da uno o più batch. Ogni batch è composto da oggetti dati da etichettare. Puoi visualizzare tutti i batch del tuo progetto utilizzando il portale del progetto come mostrato nella seguente immagine. 

![\[Batch di esempio per il tuo progetto nel portale del progetto.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/gtb-review-batch.png)


Puoi utilizzare il portale del progetto SageMaker Ground Truth Plus per tenere traccia dei seguenti dettagli relativi a ogni batch. 

**Nome batch**: ogni batch è identificato con un nome batch univoco.

**Stato**: Un batch SageMaker Ground Truth Plus ha uno dei seguenti tipi di stato:

1. **Richiesta inviata**: è stato inviato correttamente un nuovo batch.

1. **Trasferimento dati non riuscito**: il trasferimento dei dati non è riuscito con errori. Controlla il motivo dell'errore e crea un nuovo batch dopo aver corretto l'errore.

1. **Dati ricevuti**: abbiamo ricevuto i tuoi dati di input non etichettati.

1. **In corso**: l'etichettatura dei dati è in corso.

1. **Pronto per la revisione**: l'etichettatura dei dati è completata. Un sottoinsieme di oggetti etichettati del batch è pronto per essere esaminato. Questa fase è opzionale.

1. **Invio della revisione in corso**: il feedback sulla revisione è attualmente in fase di elaborazione.

1. **Revisione completata**: il batch è stato esaminato correttamente. Successivamente, devi accettarlo o rifiutarlo. Questa azione non può essere annullata.

1. **Accettato**: hai accettato i dati etichettati e a breve li riceverai nel tuo bucket Amazon S3.

1. **Rifiutato**: i dati etichettati devono essere rielaborati.

1. **Inviati per la rilavorazione**: i dati etichettati vengono inviati per la rilavorazione. È possibile rivedere il batch dopo che lo stato è cambiato in **Pronto per la revisione**.

1. **Pronti per la consegna**: i dati etichettati sono pronti per essere trasferiti nel bucket Amazon S3.

1. **Dati consegnati**: l'etichettatura degli oggetti è completa e i dati etichettati vengono archiviati nel bucket Amazon S3.

1. **In pausa**: il batch viene messo in pausa su richiesta dell'utente.

**Tipo di attività**: SageMaker Ground Truth Plus consente di etichettare cinque tipi di attività tra cui testo, immagini, video, audio e nuvole di punti.

**Data di creazione batch**: data di creazione del batch.

**Oggetti totali**: numero totale degli oggetti da etichettare in tutti i batch.

**Oggetti completati**: numero di oggetti etichettati.

**Oggetti rimanenti**: numero di oggetti ancora da etichettare.

**Oggetti non riusciti**: numero di oggetti che non possono essere etichettati a causa di un problema con i dati di input.

**Oggetti da esaminare**: numero di oggetti pronti per la revisione.

**Oggetti con feedback**: numero di oggetti che hanno ricevuto feedback dai membri del team.

SageMaker Ground Truth Plus consente di esaminare un set campione di dati etichettati (determinati durante la chiamata di consultazione iniziale) tramite l'interfaccia utente di revisione mostrata nell'immagine seguente.

![\[Uno screenshot del portale del progetto utilizzato per esaminare i batch.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/gtb-review-ui.png)


Il portale consente ai membri del team di progetto e a voi di esaminare un piccolo set di esempi degli oggetti etichettati per ogni batch. È possibile fornire feedback per ogni oggetto etichettato all'interno di quel sottoinsieme tramite questa interfaccia utente. L'interfaccia utente di revisione consente di navigare tra il sottoinsieme di oggetti etichettati e di fornire feedback su tali oggetti etichettati.

Puoi eseguire le seguenti azioni utilizzando l’interfaccia utente per la revisione.
+ Usa i controlli a freccia in basso a sinistra per navigare tra gli oggetti di dati.
+ Puoi fornire un feedback per ogni oggetto. La **sezione Feedback** si trova nel pannello di destra. Scegli **Invia** per inviare feedback per tutte le immagini.
+ Usa i controlli delle immagini nel vassoio inferiore per ingrandire, eseguire la panoramica e controllare il contrasto.
+ Se hai intenzione di tornare per completare la revisione, scegli **Interrompi e riprendi più tardi in** alto a destra.
+ Scegli **Salva** per salvare i tuoi progressi. Inoltre, i tuoi progressi vengono salvati automaticamente ogni 15 minuti.
+ Per uscire dall'interfaccia utente di revisione, scegli **Chiudi** nell'angolo in alto a destra dell'interfaccia utente di revisione.
+ Puoi verificare gli **Attributi etichetta** e gli **Attributi frame** su ciascun riquadro utilizzando il pannello a destra. In questa attività non è possibile creare nuovi oggetti o modificare oggetti esistenti.

# Accetta o rifiuta i batch
<a name="gtp-accept-reject-batch"></a>

Dopo aver esaminato un batch, devi scegliere se accettarlo o rifiutarlo.

Se accetti un batch, l'output di quel processo di etichettatura viene inserito nel bucket Amazon S3 da te specificato. Una volta che i dati vengono consegnati al bucket S3, lo stato del batch cambia da **Accettato** a **Dati consegnati**.

Se rifiuti un batch, puoi fornire un feedback e spiegare i motivi del rifiuto del batch.

SageMaker Ground Truth Plus consente di fornire feedback sia a livello di oggetto dati che a livello di batch. Puoi fornire feedback per gli oggetti di dati tramite l'interfaccia utente di revisione. Puoi utilizzare il portale del progetto per fornire feedback per ogni batch. Quando rifiuti un batch, un esperto AWS ti contatta per determinare il processo di rilavorazione e le fasi successive del batch. 

**Nota**  
 L'accettazione o il rifiuto di un batch è un'azione unica e non può essere annullata. Devi accettare o rifiutare ogni batch del progetto. 

# Forza lavoro
<a name="sms-workforce-management"></a>

Una *forza lavoro* è il gruppo di worker che sono stati selezionati per etichettare il set di dati. Puoi scegliere una forza lavoro Amazon Mechanical Turk, una forza lavoro gestita dal fornitore oppure creare la tua forza lavoro privata per etichettare o rivedere il set di dati. Qualunque sia il tipo di forza lavoro scelto, Amazon SageMaker AI si occupa di inviare attività ai worker. 

Quando utilizzi una forza lavoro privata, crei anche *team di lavoro*, un gruppo di worker della tua forza lavoro assegnati a *mansioni* specifiche: processi di etichettatura di [Amazon SageMaker Ground Truth](https://docs.aws.amazon.com/sagemaker/latest/dg/sms.html) o attività di revisione umana di [IA aumentata Amazon](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-use-augmented-ai-a2i-human-review-loops.html). Puoi avere più team di lavoro e assegnare uno o più team di lavoro a ogni processo.

Puoi utilizzare Amazon Cognito o il tuo Provider di identità (IdP) privato OpenID Connect (OIDC) per gestire la tua forza lavoro e i tuoi team di lavoro privati. Per ulteriori informazioni sulle autorizzazioni richieste per gestire la forza lavoro in questo modo, consulta [Autorizzazioni necessarie per utilizzare la console Amazon SageMaker Ground Truth](security_iam_id-based-policy-examples.md#groundtruth-console-policy).

**Topics**
+ [Utilizzo della forza lavoro Amazon Mechanical Turk](sms-workforce-management-public.md)
+ [Effettuare l’abbonamento a forze lavoro di fornitori](sms-workforce-management-vendor.md)
+ [Forza lavoro privata](sms-workforce-private.md)

# Utilizzo della forza lavoro Amazon Mechanical Turk
<a name="sms-workforce-management-public"></a>

La forza lavoro di Amazon Mechanical Turk (Mechanical Turk) fornisce il maggior numero di lavoratori per il lavoro di etichettatura di Amazon [Ground SageMaker Truth](https://docs.aws.amazon.com//sagemaker/latest/dg/a2i.html) e per l'attività di revisione umana di Amazon [Augmented](https://docs.aws.amazon.com//sagemaker/latest/dg/a2i-use-augmented-ai-a2i-human-review-loops.html) AI. La forza lavoro di Amazon Mechanical Turk è una risorsa mondiale. I worker sono disponibili 24 ore al giorno, 7 giorni a settimana. In genere quando si utilizza la forza lavoro Amazon Mechanical Turk, si ottengono tempi di produzione minimi per le attività di etichettatura e le attività di revisione umana.

Qualsiasi fatturazione della forza lavoro Amazon Mechanical Turk viene gestita come parte della fatturazione di Ground Truth o IA aumentata Amazon. Non devi creare un account Mechanical Turk separato per utilizzare la forza lavoro di Mechanical Turk.

**Importante**  
Non devi condividere informazioni riservate, informazioni personali o informazioni sanitarie protette con questa forza lavoro. Non dovresti usare la forza lavoro di Amazon Mechanical Turk quando utilizzi Amazon A2I in combinazione con servizi AWS idonei all'HIPAA, come Amazon Textract e Amazon Rekognition, per carichi di lavoro contenenti informazioni sanitarie protette.

Puoi scegliere Mechanical Turk come forza lavoro quando crei un processo di etichettatura Ground Truth o un flusso di lavoro di revisione umana di Amazon A2I (definizione del flusso). Puoi creare un processo di etichettatura e un flusso di lavoro di revisione umana utilizzando la console di intelligenza artificiale e l'API. SageMaker 

Quando utilizzi un'operazione API per creare un processo di etichettatura o un flusso di lavoro di revisione umana, utilizzi il seguente ARN per la forza lavoro Amazon Mechanical Turk per il tuo `WorkteamArn`. Sostituiscilo *`region`* con la AWS regione che stai utilizzando per creare il processo di etichettatura o i loop umani. Ad esempio, se crei un processo di etichettatura negli Stati Uniti occidentali (Oregon), sostituisci *`region`*o con `us-west-2`.
+ ` arn:aws:sagemaker:region:394669845002:workteam/public-crowd/default`

Ground Truth e Amazon A2I *richiedono* che i dati di input siano privi di informazioni di identificazione personale (PII) quando utilizzi Mechanical Turk. Se utilizzi la forza lavoro di Mechanical Turk e non specifichi che i dati di input sono privi di informazioni personali, i processi di etichettatura di Ground Truth e le attività di IA aumentata avranno esito negativo. Devi specificare che i tuoi dati di input sono privi di PII quando crei un processo di etichettatura Ground Truth e quando crei un ciclo umano Amazon A2I utilizzando un'integrazione incorporata o un'operazione `StartHumanLoop`.

Usa le seguenti sezioni per imparare a usare Mechanical Turk con questi servizi.

**Topics**
+ [Utilizzare Mechanical Turk con Ground Truth](#sms-workforce-management-public-unsupported)
+ [Usare Mechanical Turk con Amazon A2I](#sms-workforce-management-public-gt)
+ [Quando Mechanical Turk non è supportato?](#sms-workforce-management-public-a2i)

## Utilizzare Mechanical Turk con Ground Truth
<a name="sms-workforce-management-public-unsupported"></a>

Puoi utilizzare Mechanical Turk con Ground Truth quando crei un processo di etichettatura utilizzando la console o l'operazione `[CreateLabelingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)`.

Quando crei un processo di etichettatura, ti consigliamo di regolare il numero di worker che annotano ogni oggetto di dati in base alla complessità del processo e alla qualità di cui hai bisogno. Amazon SageMaker Ground Truth utilizza il consolidamento delle annotazioni per migliorare la qualità delle etichette. Più worker possono fare la differenza nella qualità delle etichette per processi di etichettatura più complessi, ma potrebbero non fare la differenza per processi più semplici. Per ulteriori informazioni, consulta [Consolidamento delle annotazioni](sms-annotation-consolidation.md). Tieni presente che il consolidamento delle annotazioni non è supportato per i flussi di lavoro di revisione umana Amazon A2I. 

**Per utilizzare Mechanical Turk quando crei un processo di etichettatura (console):**

1. Usa quanto segue per creare un lavoro di etichettatura utilizzando l'area Ground Truth della console SageMaker AI:[Creare un processo di etichettatura (console)](sms-create-labeling-job-console.md). 

1. Quando selezioni i **tipi di worker** nella sezione **worker**, seleziona **Amazon Mechanical Turk**.

1. Specifica la quantità totale di tempo a disposizione dei worker per completare un'attività utilizzando **Timeout attività**.

1. Specifica la quantità totale di tempo in cui un'attività rimane disponibile per i worker in **Scadenza attività**. Questo è il tempo a disposizione dei worker per completare un'attività prima che avvia esito negativo.

1. Seleziona il **Prezzo per attività** utilizzando l'elenco a discesa. Questa è la somma di denaro che un worker riceve per il completamento di una singola attività.

1. (Facoltativo) Se applicabile, seleziona **Il set di dati non contiene contenuti per adulti**. SageMaker L'intelligenza artificiale può limitare gli operatori di Mechanical Turk che possono visualizzare la tua attività se contiene contenuti per adulti.

1. Devi leggere e confermare la seguente dichiarazione selezionando la casella di controllo per utilizzare la forza lavoro di Mechanical Turk. Se i dati di input contengono informazioni riservate, informazioni personali o informazioni sanitarie protette, devi selezionare un'altra forza lavoro.

   **Comprendi e accetti che la forza lavoro di Mechanical Turk è composta da collaboratori indipendenti dislocati in tutto il mondo e che non devi condividere informazioni riservate, informazioni personali o informazioni sanitarie protette con questa forza lavoro**.

1. (Facoltativo) Seleziona la casella di controllo accanto a **Abilita l'etichettatura automatica dei dati** se desideri abilitare l'etichettatura automatica dei dati. Per ulteriori informazioni su questa funzionalità, consulta [Automatizzare l’etichettatura dei dati](sms-automated-labeling.md).

1. Puoi specificare il **Numero di worker per oggetto set di dati** in **Configurazione aggiuntiva**. Ad esempio, se inserisci 3 in questo campo, ogni oggetto di dati verrà etichettato da 3 worker.

Quando crei il tuo processo di etichettatura selezionando **Crea**, le tue attività di etichettatura vengono inviate ai worker di Mechanical Turk.

**Per utilizzare Mechanical Turk quando crei un processo di etichettatura (API):**

1. Per creare un processo di etichettatura utilizzando l’operazione `[CreateLabelingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)`, usa quanto segue: [Creare un processo di etichettatura (API)](sms-create-labeling-job-api.md). 

1. Utilizza quanto segue per il [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-WorkteamArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-WorkteamArn). Sostituisci *`region`* con la AWS regione che stai utilizzando per creare il lavoro di etichettatura.

   `arn:aws:sagemaker:region:394669845002:workteam/public-crowd/default`

1. Usa `[TaskTimeLimitInSeconds](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-TaskTimeLimitInSeconds)` per specificare la quantità totale di tempo a disposizione dei worker per completare un'attività.

1. Usa `[TaskAvailabilityLifetimeInSeconds](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-TaskAvailabilityLifetimeInSeconds)` per specificare la quantità totale di tempo in cui un'attività rimane disponibile per i worker. Questo è il tempo a disposizione dei worker per completare un'attività prima che avvia esito negativo.

1. Usa `[NumberOfHumanWorkersPerDataObject]()` per specificare il numero di worker per oggetto set di dati.

1. Usa `[PublicWorkforceTaskPrice](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-PublicWorkforceTaskPrice)` per impostare il prezzo per attività. Questa è la somma di denaro che un worker riceve per il completamento di una singola attività.

1. Usa `[DataAttributes](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobInputConfig.html#sagemaker-Type-LabelingJobInputConfig-DataAttributes)` per specificare che i dati di input sono privi di informazioni riservate, informazioni personali o informazioni sanitarie protette. 

   Ground Truth e *richiede* che i dati di input siano privi di informazioni di identificazione personale (PII) quando utilizzi la forza lavoro di Mechanical Turk. Se utilizzi Mechanical Turk e non specifichi che i dati di input sono privi di informazioni personali utilizzando il flag `FreeOfPersonallyIdentifiableInformation`, il processo di etichettatura avrà esito negativo. 

   Usa il `FreeOfAdultContent` flag per dichiarare che i tuoi dati di input sono privi di contenuti per adulti. SageMaker L'intelligenza artificiale può limitare gli operatori di Mechanical Turk che possono visualizzare la tua attività se contiene contenuti per adulti. 

Puoi vedere esempi di come utilizzare questa API nei seguenti notebook, disponibili su: [Ground GitHub Truth Jupyter](https://github.com/aws/amazon-sagemaker-examples/tree/master/ground_truth_labeling_jobs) Notebook Examples.

## Usare Mechanical Turk con Amazon A2I
<a name="sms-workforce-management-public-gt"></a>

Puoi specificare che desideri utilizzare Mechanical Turk con Amazon A2I quando crei un flusso di lavoro di revisione umana, noto anche come *definizione del flusso*, nella console o con l’operazione API `CreateFlowDefinition`. Quando utilizzi questo flusso di lavoro di revisione umana per configurare i cicli umani, devi specificare che i dati di input non contengono informazioni personali.

**Per utilizzare Mechanical Turk quando crei un flusso di lavoro di revisione umana (console):**

1. Utilizza quanto segue per creare un flusso di lavoro di revisione umana nella sezione Augmented AI SageMaker della console [Creazione di un flusso di lavoro di revisione umana (Console)](a2i-create-flow-definition.md#a2i-create-human-review-console) AI:. 

1. Quando selezioni i **tipi di worker** nella sezione **worker**, seleziona **Amazon Mechanical Turk**.

1. Seleziona il **Prezzo per attività** utilizzando l'elenco a discesa. Questa è la somma di denaro che un worker riceve per il completamento di una singola attività.

1. (Facoltativo) Puoi specificare il **Numero di worker per oggetto set di dati** in **Configurazione aggiuntiva**. Ad esempio, se inserisci 3 in questo campo, ogni oggetto di dati verrà etichettato da 3 worker.

1. (Facoltativo) Specifica la quantità totale di tempo a disposizione dei worker per completare un'attività utilizzando **Timeout attività**.

1. (Facoltativo) Specifica la quantità totale di tempo in cui un'attività rimane disponibile per i worker in **Scadenza attività**. Questo è il tempo a disposizione dei worker per completare un'attività prima che avvia esito negativo.

1. Una volta creato il flusso di lavoro di revisione umana, puoi utilizzarlo per configurare un ciclo umano fornendo il relativo nome della risorsa Amazon (ARN) nel parametro `FlowDefinitionArn`. Puoi configurare un ciclo umano utilizzando una delle operazioni API di un tipo di attività integrata o l'operazione dell'API di runtime Amazon A2I, `StartHumanLoop`. Per ulteriori informazioni, consulta [Creazione e avvio di un ciclo umano](a2i-start-human-loop.md).

   Quando configuri il ciclo umano, devi specificare che i dati di input sono privi di informazioni di identificazione personale (PII) utilizzando il classificatore di contenuti `FreeOfPersonallyIdentifiableInformation` in `DataAttributes`. Se utilizzi Mechanical Turk e non specifichi che i tuoi dati di input sono privi di PII, le tue attività di revisione umana falliranno. 

   Usa il `FreeOfAdultContent` flag per dichiarare che i tuoi dati di input sono privi di contenuti per adulti. SageMaker L'intelligenza artificiale può limitare gli operatori di Mechanical Turk che possono visualizzare la tua attività se contiene contenuti per adulti. 

**Per utilizzare Mechanical Turk quando crei un flusso di lavoro di revisione umana (API):**

1. Usa quanto segue per creare un flusso di lavoro di revisione umana utilizzando l'operazione `[CreateFlowDefinition](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html)`: [Creare un flusso di lavoro di revisione umana (API)](a2i-create-flow-definition.md#a2i-create-human-review-api).

1. Utilizza quanto segue per il [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-WorkteamArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-WorkteamArn). Sostituisci *`region`* con la AWS regione che stai utilizzando per creare il lavoro di etichettatura.

   `arn:aws:sagemaker:region:394669845002:workteam/public-crowd/default`

1. Usa `[TaskTimeLimitInSeconds](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-TaskTimeLimitInSeconds)` per specificare la quantità totale di tempo a disposizione dei worker per completare un'attività.

1. Usa `[TaskAvailabilityLifetimeInSeconds](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-TaskAvailabilityLifetimeInSeconds)` per specificare la quantità totale di tempo in cui un'attività rimane disponibile per i worker. Questo è il tempo a disposizione dei worker per completare un'attività prima che avvia esito negativo.

1. Usa `[TaskCount](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanLoopConfig.html#sagemaker-Type-HumanLoopConfig-TaskCount)` per specificare il numero di worker per oggetto set di dati. Ad esempio, se specifichi 3 per questo parametro, ogni oggetto di dati verrà etichettato da 3 worker.

1. Usa `[PublicWorkforceTaskPrice](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-PublicWorkforceTaskPrice)` per impostare il prezzo per attività. Questa è la somma di denaro che un worker riceve per il completamento di una singola attività.

1. Una volta creato il flusso di lavoro di revisione umana, puoi utilizzarlo per configurare un ciclo umano fornendo il relativo nome della risorsa Amazon (ARN) nel parametro `FlowDefinitionArn`. Puoi configurare un ciclo umano utilizzando una delle operazioni API di un tipo di attività integrata o l'operazione dell'API di runtime Amazon A2I, `StartHumanLoop`. Per ulteriori informazioni, consulta [Creazione e avvio di un ciclo umano](a2i-start-human-loop.md).

   Quando configuri il ciclo umano, devi specificare che i dati di input sono privi di informazioni di identificazione personale (PII) utilizzando il classificatore di contenuti `FreeOfPersonallyIdentifiableInformation` in `DataAttributes`. Se utilizzi Mechanical Turk e non specifichi che i tuoi dati di input sono privi di PII, le tue attività di revisione umana falliranno. 

   Usa il `FreeOfAdultContent` flag per dichiarare che i tuoi dati di input sono privi di contenuti per adulti. SageMaker L'intelligenza artificiale può limitare gli operatori di Mechanical Turk che possono visualizzare la tua attività se contiene contenuti per adulti. 

Puoi vedere esempi di come utilizzare questa API nei seguenti notebook, disponibili su: GitHub [Amazon A2I](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks) Jupyter Notebook Examples.

## Quando Mechanical Turk non è supportato?
<a name="sms-workforce-management-public-a2i"></a>

Questa forza lavoro non è supportata nei seguenti scenari. In ogni scenario, devi utilizzare una forza lavoro [privata](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-private.html) o di un [fornitore](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-vendor.html). 
+ Questa forza lavoro non è supportata per i processi di etichettatura di fotogrammi video Ground Truth e per i processi di etichettatura di nuvole di punti 3D.
+ Non puoi utilizzare questa forza lavoro se i dati di input contengono informazioni personali di identificazione (PII).
+ Mechanical Turk non è disponibile in alcune regioni AWS speciali. Se applicabile, consulta la documentazione relativa alla tua Regione speciale per ulteriori informazioni. 

# Effettuare l’abbonamento a forze lavoro di fornitori
<a name="sms-workforce-management-vendor"></a>

Puoi utilizzare una forza lavoro gestita dal fornitore per etichettare i tuoi dati utilizzando Amazon SageMaker Ground Truth (Ground Truth) e IA aumentata Amazon (Amazon A2I). I fornitori sono esperti nella fornitura di servizi di etichettatura dati per scopi di machine learning. Le forze lavoro dei fornitori per questi due servizi devono essere create e gestite separatamente tramite la console di Amazon SageMaker AI. 

I fornitori mettono a disposizione i loro servizi tramite AWS Marketplace. Puoi trovare i dettagli dei servizi del fornitore nella relativa pagina dei dettagli, ad esempio il numero di worker e le ore di lavoro. Puoi utilizzare questi dettagli per fare delle stime sul costo del processo di etichettatura e sul tempo previsto per completare il processo. Dopo aver scelto un fornitore, effettua l'abbonamento ai suoi servizi utilizzando AWS Marketplace.

Un abbonamento è un contratto tra utente e fornitore. Nel contratto sono enunciati i dettagli del contratto, ad esempio il prezzo, la pianificazione o la politica sul rimborso. In caso di problemi con il processo di etichettatura, rivolgersi direttamente al fornitore.

Puoi abbonarti a qualsiasi numero di fornitori per soddisfare le esigenze di annotazione dati. Quando crei un'attività di etichettatura, puoi specificare che venga instradata a un fornitore specifico.

**Importante**  
Prima di inviare dati riservati a un fornitore, controlla le prassi di sicurezza e conformità del fornitore sulla relativa pagina dei dettagli ed esamina il contratto di licenza con l'utente finale (EULA) che fa parte del contratto di abbonamento. Sei responsabile di garantire che il fornitore soddisfi i requisiti di conformità per le informazioni personali o riservate. Non condividete informazioni sanitarie protette con questa forza lavoro.

Per abbonarti a una forza lavoro del fornitore devi utilizzare la console. Quando disponi di un abbonamento, puoi utilizzare l'operazione [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListSubscribedWorkteams.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListSubscribedWorkteams.html) per creare un elenco dei fornitori abbonati.

**Per effettuare l'abbonamento a una forza lavoro del fornitore**

1. Apri la console di SageMaker AI all’indirizzo [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Scegli la pagina appropriata nella console SageMaker AI.
   + Per le attività di etichettatura Ground Truth, scegli **Etichettatura delle forze lavoro**, seleziona **Fornitore**, quindi scegli **Trova servizi di etichettatura dati**.
   + Per i flussi di lavoro di revisione umana Amazon A2I, scegli **Forze lavoro di revisione umana**, scegli **Fornitore**, quindi **Trova servizi di revisione umana**. 

1. La console apre il Marketplace AWS con:
   + categoria di servizi di etichettatura dati selezionata per Ground Truth
   + categoria di servizi di revisione umana selezionata per Amazon A2I

   Qui viene visualizzato un elenco dei servizi fornitore disponibili per questo servizio. 

1. Scegliere un fornitore. Marketplace AWS visualizza le informazioni dettagliate sull'etichettatura dei dati o sul servizio di revisione umana. Utilizza queste informazioni per stabilire se il fornitore soddisfa i requisiti per la tua attività.

1. Se il fornitore soddisfa i requisiti, scegliere **Continua per abbonarti**.

1. Rivedere i dettagli dell'abbonamento. Se si accettano i termini, scegliere **Abbonati** per completare l'abbonamento al servizio.

# Forza lavoro privata
<a name="sms-workforce-private"></a>

 Una **forza lavoro privata** è un gruppo di worker scelti dall'*utente*. Questi possono essere dipendenti dell'azienda o un gruppo di soggetti esperti del settore. Ad esempio, se l'attività è etichettare immagini mediche, puoi creare una forza lavoro privata di persone esperte di queste immagini. 

Ogni account AWS ha accesso a una singola forza lavoro privata per Regione e il proprietario ha la possibilità di creare più **team di lavoro** **privati** all'interno di quella forza lavoro. Un singolo team di lavoro privato viene utilizzato per completare un'attività di etichettatura o attività di revisione umana o un'*attività*. È possibile assegnare ogni team di lavoro a un'attività separata o utilizzare un singolo team per più lavori. Un singolo worker può essere in più team di lavoro. 

La tua forza lavoro privata può essere creata e gestita utilizzando [Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/what-is-amazon-cognito.html) o il tuo Provider di identità (IdP) OpenID Connect (OIDC) privato. 

Se sei un nuovo utente di [Amazon SageMaker Ground Truth](https://docs.aws.amazon.com/sagemaker/latest/dg/sms.html) o [IA aumentata Amazon](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-use-augmented-ai-a2i-human-review-loops.html) e non desideri che i tuoi worker siano gestiti con il tuo IdP, ti consigliamo di utilizzare Amazon Cognito per creare e gestire la tua forza lavoro privata. 

Dopo aver creato una forza lavoro, oltre a creare e gestire team di lavoro, puoi completare le seguenti operazioni: 
+ [Monitoraggio delle prestazioni dei worker](https://docs.aws.amazon.com/sagemaker/latest/dg/workteam-private-tracking.html)
+ [Crea e gestisci argomenti di Amazon SNS](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-private-sns.html) per avvisare i worker quando sono disponibili attività di etichettatura
+ [Gestione dell'accesso alla forza lavoro privata alle attività mediante gli indirizzi IP](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-private-api.html)

**Nota**  
La tua forza lavoro privata è condivisa tra Ground Truth e Amazon A2I. Per creare e gestire team di lavoro privati utilizzati da IA aumentata, utilizza la sezione Ground Truth della console SageMaker AI. 

**Topics**
+ [Forze lavoro Amazon Cognito](sms-workforce-private-use-cognito.md)
+ [Forze di lavoro IdP OIDC](sms-workforce-private-use-oidc.md)
+ [Gestione della forza lavoro privata tramite l'API Amazon SageMaker](sms-workforce-management-private-api.md)
+ [Tracciare le metriche delle prestazioni dei worker](workteam-private-tracking.md)
+ [Creazione dell'argomento Amazon SNS](sms-workforce-management-private-sns.md)

# Forze lavoro Amazon Cognito
<a name="sms-workforce-private-use-cognito"></a>

Crea e gestisci la tua forza lavoro privata utilizzando Amazon Cognito quando desideri creare la tua forza lavoro utilizzando la console di Amazon SageMaker AI o se non vuoi il sovraccarico di gestione delle credenziali e dell’autenticazione dei worker. Quando crei una forza lavoro privata con Amazon Cognito, fornisce autenticazione, autorizzazione e gestione degli utenti per i dipendenti privati. 

**Topics**
+ [Crea una forza lavoro privata (Amazon Cognito)](sms-workforce-create-private.md)
+ [Gestisci una forza lavoro privata (Amazon Cognito)](sms-workforce-management-private.md)

# Crea una forza lavoro privata (Amazon Cognito)
<a name="sms-workforce-create-private"></a>

Quando usi Amazon Cognito, puoi creare una forza lavoro privata in uno dei seguenti modi: 
+ Creare una nuova forza lavoro durante la creazione dell'attività di etichettatura. Per scoprire come, consulta [Creazione di una forza lavoro Amazon Cognito durante la creazione di un'attività di etichettatura](sms-workforce-create-private-console.md#create-workforce-labeling-job).
+ Creare una nuova forza lavoro prima di creare l'attività di etichettatura. Per scoprire come, consulta [Creare una forza lavoro Amazon Cognito utilizzando la pagina Etichettatura delle forze lavoro](sms-workforce-create-private-console.md#create-workforce-sm-console).
+ Importa una forza lavoro esistente dopo aver creato un pool di utenti nella console Amazon Cognito. Per scoprire come, consulta [Crea una forza lavoro privata (Amazon Cognito Console)](sms-workforce-create-private-cognito.md). 

Una volta creata una forza lavoro privata, tale forza lavoro, tutti i team di lavoro e i worker ad essa associati saranno disponibili per l'utilizzo per tutte le attività di etichettatura GroundTruth e per i flussi di lavoro di revisione umana IA aumentata Amazon. 

Se non conosci Amazon SageMaker AI e desideri testare Ground Truth o Amazon A2I, ti suggeriamo di creare un team di lavoro privato composto da persone della tua organizzazione utilizzando la console. Utilizza questo team di lavoro durante la creazione di flussi di lavoro di etichettatura o revisione umana (definizioni di flusso) per verificare l'interfaccia utente del worker e il flusso di lavoro del processo. 

**Topics**
+ [Crea una forza lavoro privata (Amazon SageMaker AI Console)](sms-workforce-create-private-console.md)
+ [Crea una forza lavoro privata (Amazon Cognito Console)](sms-workforce-create-private-cognito.md)

# Crea una forza lavoro privata (Amazon SageMaker AI Console)
<a name="sms-workforce-create-private-console"></a>

 Puoi creare una forza lavoro privata nella console Amazon SageMaker AI in due modi:
+ Quando crei un lavoro di etichettatura nella pagina **Labeling jobs** della sezione Amazon SageMaker Ground Truth.
+ Utilizzando la pagina **Labeling workforce** della sezione Amazon SageMaker Ground Truth. Se stai creando una forza lavoro privata per un flusso di lavoro di revisione umana Amazon A2I, utilizza questo metodo.

Entrambi questi metodi creano anche un team di lavoro predefinito contenente tutti i membri della forza lavoro. Questa forza lavoro privata può essere utilizzata sia per i lavori di Ground Truth che per quelli di IA aumentata Amazon. 

Quando crei una forza lavoro privata utilizzando la console, l' SageMaker intelligenza artificiale utilizza Amazon Cognito come provider di identità per la tua forza lavoro. Se desideri utilizzare il tuo Identity Provider (IdP) OpenID Connect (OIDC) per creare e gestire la tua forza lavoro privata, devi creare una forza lavoro utilizzando l'operazione API. SageMaker `CreateWorkforce` Per ulteriori informazioni, consulta [Creazione di una forza lavoro privata (IdP OIDC)](sms-workforce-create-private-oidc.md). 

## Creazione di una forza lavoro Amazon Cognito durante la creazione di un'attività di etichettatura
<a name="create-workforce-labeling-job"></a>

Se al momento della creazione di un processo di etichettatura non hai creato una forza lavoro privata per utilizzare worker privati, ti verrà chiesto di creare un team di lavoro. Ciò creerà un forza lavoro privata creata utilizzando Amazon Cognito.

**Per creare una forza lavoro durante la creazione di un'attività di etichettatura (console)**

1.  Apri la console AI all'indirizzo. SageMaker [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)

1. Nel riquadro di navigazione, scegliere **Attività di etichettatura** e compilare tutti i campi obbligatori. Per istruzioni su come avviare un'attività di etichettatura, consulta [Nozioni di base: crea un processo di etichettatura dei riquadri delimitatori con Ground Truth](sms-getting-started.md). Scegli **Next (Successivo)**.

1. Scegliere **Privato** per il tipo di forza lavoro. 

1. Nella sezione **worker**, immettere:

   1. Il **Nome del team**. 

   1. Indirizzi e-mail per una forza lavoro di massimo 100 membri. Per gli indirizzi e-mail viene rilevata la distinzione tra maiuscole e minuscole. I worker devono accedere utilizzando la stessa combinazione di maiuscole e minuscole dell'indirizzo inserito inizialmente. Puoi aggiungere altri membri della forza lavoro dopo che l'attività è stata creata. 

   1. Il nome della tua organizzazione. SageMaker L'intelligenza artificiale lo utilizza per personalizzare l'e-mail inviata ai lavoratori.

   1. Un indirizzo e-mail di contatto per i worker per segnalare problemi relativi all'attività.

Quando crei l'attività di etichettatura, a ogni worker viene inviata un'e-mail di invito a unirsi alla forza lavoro. Dopo aver creato la forza lavoro, puoi aggiungere, eliminare e disabilitare i lavoratori utilizzando la console SageMaker AI o la console Amazon Cognito. 

## Creare una forza lavoro Amazon Cognito utilizzando la pagina Etichettatura delle forze lavoro
<a name="create-workforce-sm-console"></a>

Per creare e gestire la forza lavoro privata con Amazon Cognito, è possibile utilizzare la pagina **Etichettatura delle forze lavoro**. Quando si seguono le istruzioni riportate di seguito, si ha la possibilità di creare una forza lavoro privata inserendo le e-mail dei worker importando una forza lavoro preesistente da un pool di utenti Amazon Cognito. Per importare una forza lavoro, consulta [Crea una forza lavoro privata (Amazon Cognito Console)](sms-workforce-create-private-cognito.md).

**Per creare una forza lavoro privata tramite le e-mail dei worker**

1. Apri la console Amazon SageMaker AI all'indirizzo [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Nel riquadro di navigazione, scegliere **Etichettatura delle forze lavoro**. 

1. Scegliere **Privato**, quindi scegliere **Crea team privato**. 

1. Selezionare **Invita nuovi worker tramite e-mail**.

1. Incollare o digitare un elenco di massimo 50 indirizzi e-mail, separati da virgole, nella casella degli indirizzi e-mail. 

1. Inserire un nome dell'organizzazione e un'e-mail di contatto. 

1. Facoltativamente, scegli un argomento SNS a cui iscrivere il team in modo che i worker vengano avvisati via e-mail quando diventano disponibili nuove attività di etichettatura Ground Truth. Le notifiche SNS sono supportate da Ground Truth e non da IA aumentata. Se i worker effettuano la sottoscrizione per notifiche SNS, riceveranno solo notifiche sulle attività di etichettatura Ground Truth. Non riceveranno notifiche sulle attività IA aumentata. 

1.  Fare clic sul pulsante **Crea team privato**. 

Dopo aver importato la forza lavoro privata, aggiornare la pagina. Sulla pagina **Riepilogo forza lavoro privata**, è possibile vedere le informazioni relative al pool di utenti Amazon Cognito per la forza lavoro, un elenco di team di lavoro della forza lavoro e un elenco di tutti i membri della forza lavoro privata. 

**Nota**  
Se si eliminano tutti i team di lavoro privati, è necessario ripetere questo processo per utilizzare una forza lavoro privata in tale Regione. 

# Crea una forza lavoro privata (Amazon Cognito Console)
<a name="sms-workforce-create-private-cognito"></a>

 Amazon Cognito viene utilizzato per definire e gestire la tua forza lavoro privata e i tuoi team di lavoro. Si tratta di un servizio che puoi utilizzare per creare le identità per i worker e autenticare queste identità con provider di identità.  Una forza lavoro privata corrisponde a un singolo **pool di utenti Amazon Cognito**. I team di lavoro privati corrispondono ai **gruppi di utenti Amazon Cognito** all'interno del pool di utenti.  

 Esempio di provider di identità supportati da Amazon Cognito: 
+ Provider di accesso social come Facebook e Google 
+ Provider OpenID Connect (OIDC) 
+ Provider Security Assertion Markup Language (SAML) come Active Directory 
+ Il provider di identità Amazon Cognito integrato 

 Per ulteriori informazioni, consulta [What is Amazon Cognito?](https://docs.aws.amazon.com/cognito/latest/developerguide/what-is-amazon-cognito.html).

Per creare una forza lavoro privata utilizzando Amazon Cognito, è necessario disporre di un pool di utenti Amazon Cognito esistente contenente almeno un gruppo di utenti. Consulta [Tutorial: creating a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/tutorial-create-user-pool.html) per informazioni su come creare un pool di utenti. Consulta [Aggiunta di gruppi a un pool di utenti](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-user-groups.html) per informazioni su come aggiungere un gruppo di utenti a un pool. 

Una volta creato il pool di utenti, segui i passaggi seguenti per creare una forza lavoro privata importando quel pool di utenti in Amazon SageMaker AI.

**Per creare una forza lavoro privata importando un pool di utenti Amazon Cognito**

1. Apri la console SageMaker AI all'indirizzo. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) 

1. Nel riquadro di navigazione, scegliere **Etichettatura delle forze lavoro**. 

1. Scegli **Privato**.

1. Scegli **Crea team privato**. Questo crea una forza lavoro privata e un team di lavoro. 

1. Scegliere **Importa worker da gruppi di utenti Amazon Cognito esistenti**. 

1. Scegli un pool di utenti creato. I pool di utenti richiedono un dominio e un gruppo di utenti esistente. Se viene visualizzato un errore indicante che il dominio manca, impostarlo nelle opzioni **Nome dominio** all'interno della pagina **Integrazione app** della console per il gruppo.

1. Scegli un client dell’app. Ti consigliamo di utilizzare un client generato dall' SageMaker intelligenza artificiale. 

1. Seleziona un gruppo di utenti dal pool per importarne i membri. 

1. Facoltativamente, selezionare un argomento Amazon Simple Notification Service (Amazon SNS) a cui iscrivere il team in modo che i worker vengano avvisati via e-mail quando diventano disponibili nuove attività di etichettatura. Le notifiche SNS sono supportate da Ground Truth e non da IA aumentata. Se i worker effettuano la sottoscrizione per notifiche SNS, riceveranno solo notifiche sulle attività di etichettatura Ground Truth. Non riceveranno notifiche sulle attività IA aumentata. 

1. Scegli **Crea team privato**. 

**Importante**  
Dopo aver creato una forza lavoro utilizzando un pool di utenti Amazon Cognito, questa non deve essere eliminata senza aver prima eliminato tutti i team di lavoro associati a quel pool nella SageMaker console di intelligenza artificiale.  

 Dopo aver importato la forza lavoro privata, aggiornare la pagina per visualizzare la pagina di **Riepilogo forza lavoro privata**. Questa pagina contiene le informazioni relative al pool di utenti Amazon Cognito per la forza lavoro, un elenco di team di lavoro della forza lavoro e un elenco di tutti i membri della forza lavoro privata. Questa forza lavoro può ora essere utilizzata sia in Amazon Augmented AI che in Amazon SageMaker Ground Truth rispettivamente per attività di revisione umana e lavori di etichettatura dei dati. 

# Gestisci una forza lavoro privata (Amazon Cognito)
<a name="sms-workforce-management-private"></a>

Dopo aver creato una forza lavoro privata utilizzando Amazon Cognito, puoi creare e gestire team di lavoro utilizzando la console SageMaker Amazon AI e le operazioni API.

Puoi eseguire le seguenti operazioni utilizzando la [console SageMaker AI o la console](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-private-console.html) [Amazon Cognito](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-private-cognito.html). 
+ Aggiungi o elimina team di lavoro.
+ Aggiungi worker alla forza lavoro e uno o più team di lavoro.
+ Disabilita o rimuovi i worker dalla forza lavoro e da uno o più team di lavoro. Se aggiungi worker a una forza lavoro utilizzando la console Amazon Cognito, devi utilizzare la stessa console per rimuovere il worker dalla forza lavoro.

Puoi limitare l'accesso alle attività ai lavoratori con indirizzi IP specifici utilizzando l' SageMaker API. Per ulteriori informazioni, consulta [Gestione della forza lavoro privata tramite l'API Amazon SageMaker](sms-workforce-management-private-api.md).

**Topics**
+ [Gestire una forza lavoro (Amazon SageMaker AI Console)](sms-workforce-management-private-console.md)
+ [Gestisci una forza lavoro privata (Amazon Cognito Console)](sms-workforce-management-private-cognito.md)

# Gestire una forza lavoro (Amazon SageMaker AI Console)
<a name="sms-workforce-management-private-console"></a>

Puoi utilizzare la console Amazon SageMaker AI per creare e gestire i team di lavoro e i singoli lavoratori che costituiscono una forza lavoro privata. 

Utilizza un team di lavoro per assegnare i membri della tua forza lavoro privata a un'*attività* di etichettatura o di revisione umana. Quando crei la tua forza lavoro utilizzando la console SageMaker AI, esiste un team di lavoro chiamato **E veryone-in-private-workforce** che ti consente di assegnare l'intera forza lavoro a un lavoro. Poiché un pool di utenti Amazon Cognito importato può contenere membri che non desideri includere nei team di lavoro, un team di lavoro simile non viene creato per pool di utenti Amazon Cognito.

 Sono disponibili due opzioni per creare un nuovo team di lavoro. 
+ Puoi creare un team di lavoro nella console SageMaker AI e aggiungere membri della tua forza lavoro al team. 
+ Puoi creare un gruppo di utenti tramite la console Amazon Cognito e quindi creare un team di lavoro importando il gruppo di utenti. Puoi importare più gruppi di utenti in ogni team di lavoro. Per gestire i membri del team di lavoro, aggiorna il gruppo di utenti nella console Amazon Cognito. Per ulteriori informazioni, consulta [Gestisci una forza lavoro privata (Amazon Cognito Console)](sms-workforce-management-private-cognito.md).  

## Crea un team di lavoro utilizzando la console SageMaker AI
<a name="create-workteam-sm-console"></a>

Puoi creare un nuovo gruppo di utenti Amazon Cognito o importare un gruppo di utenti esistente utilizzando la console SageMaker AI, nella pagina **Labeling** workforce. Per ulteriori informazioni sulla creazione di un gruppo di utenti nella console Amazon Cognito, consulta [Gestisci una forza lavoro privata (Amazon Cognito Console)](sms-workforce-management-private-cognito.md).

**Per creare un team di lavoro utilizzando la console AI SageMaker**

1. Apri la console SageMaker AI all'indirizzo [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/). 

1. Scegliere **Etichettatura delle forze lavoro** dal menu a sinistra.

1.  In **Privato**, scegliere **Crea team privato**. 

1. In **Dettagli del team**, immettere il **Nome del team**. Il nome deve essere univoco nel tuo account in una AWS regione. 

1. In **Aggiungi worker**, scegliere un metodo per aggiungere worker al team utilizzando un gruppo di utenti.
   + Se si sceglie **Crea un team aggiungendo worker a un nuovo gruppo di utenti Amazon Cognito**, selezionare i worker da aggiungere al team. 
   + Se si sceglie **Crea un team importando gruppi di utenti Amazon Cognito esistenti**, scegliere i gruppi di utenti che fanno parte del nuovo team. 

1. Se si seleziona un **argomento SNS**, tutti i worker aggiunti al team vengono iscritti all'argomento Amazon SNS e ricevono una notifica quando sono disponibili nuovi elementi di lavoro per il team. Selezionare da un elenco degli argomenti Amazon SNS correlati a Ground Truth esistenti oppure selezionare **Crea nuovo argomento** per aprire una finestra di dialogo per la creazione di argomenti. 

   Le notifiche SNS sono supportate da Ground Truth e non da IA aumentata. Se i worker effettuano la sottoscrizione per notifiche SNS, riceveranno solo notifiche sulle attività di etichettatura Ground Truth. Non riceveranno notifiche sulle attività IA aumentata. 

I worker in un team di lavoro che ha sottoscritto un argomento ricevono notifiche quando un nuovo processo di etichettatura Ground Truth per quel team diventa disponibile e quando uno sta per scadere. 

 Consulta l'argomento [Creazione dell'argomento Amazon SNS](sms-workforce-management-private-sns.md) per ulteriori informazioni sull'utilizzo di Amazon SNS.

### Sottoscrizioni
<a name="subscriptions"></a>

Dopo aver creato un team di lavoro, puoi visualizzare ulteriori informazioni sul team e modificare o impostare l'argomento Amazon SNS a cui sono abbonati i membri visitando la console Amazon Cognito. Se hai aggiunto membri del team prima di iscrivere il team a un argomento, devi iscriverli manualmente a quell'argomento. Leggi [Creazione e gestione di argomenti Amazon SNS per i team di lavoro](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-private-sns.html) per maggiori informazioni su come creare e gestire l'argomento Amazon SNS. 

## Aggiunta o rimozione di worker
<a name="add-remove-workers-sm"></a>

 Un *team di lavoro* è un gruppo di worker all'interno della forza lavoro cui puoi assegnare le attività. Un worker può essere aggiunto a più di un team di lavoro. Una volta che un worker è stato aggiunto a un team di lavoro, tale worker può essere disabilitato o rimosso.

### Aggiunta di worker alla forza lavoro
<a name="add-workers-sm-console"></a>

 L'aggiunta di un worker alla forza lavoro consente di aggiungerlo a qualsiasi team di lavoro all'interno di tale forza lavoro.  

**Per aggiungere worker utilizzando la pagina di riepilogo forza lavoro privata:**

1. Apri la console Amazon SageMaker AI all'indirizzo [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Scegliere** Etichettatura delle forze lavoro** per passare alla pagina di riepilogo forza lavoro privata. 

1. Scegli **Privato**.

1. Scegliere **Invita nuovi worker.**

1. Incollare o digitare un elenco di indirizzi e-mail, separati da virgole, nella casella degli indirizzi e-mail. Puoi avere fino a 50 indirizzi e-mail in questo elenco. 

### Aggiunta di un worker a un team di lavoro
<a name="add-worker-workteam-sm-console"></a>

 Un worker deve essere aggiunto alla forza lavoro prima di essere aggiunto a un team di lavoro. Per aggiungere un worker a un team di lavoro, passare prima alla pagina **Riepilogo forza lavoro privata** utilizzando la procedura descritta sopra. 

**Per aggiungere un worker a un team di lavoro dalla pagina di riepilogo della forza lavoro privata**

1. Nella sezione **Team privati** scegliere il team a cui si desidera aggiungere i worker. 

1. Scegliere la scheda **worker**. 

1. Scegliere **Aggiungi worker al team** e scegliere le caselle accanto ai worker che si desidera aggiungere.

1. Fare clic su **Aggiungi worker al team**.

### Disattivazione e rimozione di un worker dalla forza lavoro
<a name="disable-remove-workers-console"></a>

La disattivazione di un worker impedisce al worker di ricevere un'attività. Questa operazione non rimuove il worker dalla forza lavoro o da qualsiasi team di lavoro a cui è associato il worker. Per disabilitare o rimuovere un worker da un team di lavoro, passare prima alla pagina Riepilogo forza lavoro privata utilizzando la procedura descritta sopra. 

**Per disattivare un worker utilizzando la pagina Riepilogo forza lavoro privata**

1. Nella sezione **worker**, scegliere il worker che si desidera disattivare. 

1. Scegliere **Disabilita**. 

 Se lo si desidera, è possibile **abilitare** successivamente un worker dopo che è stato disabilitato. 

Puoi rimuovere i lavoratori dalla tua forza lavoro privata direttamente nella console di SageMaker intelligenza artificiale se quel lavoratore è stato aggiunto in questa console. Se è stato aggiunto il worker (utente) nella console Amazon Cognito, consulta [Gestisci una forza lavoro privata (Amazon Cognito Console)](sms-workforce-management-private-cognito.md) per apprendere come rimuovere il worker dalla console Amazon Cognito. 

**Per rimuovere un worker utilizzando la pagina Riepilogo forza lavoro privata**

1. Nella sezione **worker**, scegliere il worker che si desidera rimuovere. 

1. Se il worker non è stato disattivato, scegliere **Disattiva**.  

1. Selezionare il worker e scegliere **Elimina**. 

# Gestisci una forza lavoro privata (Amazon Cognito Console)
<a name="sms-workforce-management-private-cognito"></a>

Una forza lavoro privata corrisponde a un singolo **pool di utenti Amazon Cognito**. I team di lavoro privati corrispondono ai **gruppi di utenti Amazon Cognito** all'interno del pool di utenti. I worker corrispondono agli **utenti Amazon Cognito** all'interno di tali gruppi. 

Dopo aver creato la forza lavoro, è possibile aggiungere team di lavoro e singoli worker tramite la console Amazon Cognito. È inoltre possibile eliminare i worker dalla forza lavoro privata o rimuoverli da singoli team nella console Amazon Cognito. 

**Importante**  
Non è possibile eliminare i team di lavoro dalla console Amazon Cognito. L'eliminazione di un gruppo di utenti Amazon Cognito associato a un team di lavoro di SageMaker Amazon AI comporterà un errore. Per rimuovere i team di lavoro, usa la console SageMaker AI.  

## Crea team di lavoro (Amazon Cognito Console)
<a name="create-work-teams-cog"></a>

 È possibile creare un nuovo team di lavoro per completare un processo aggiungendo un gruppo di utenti Amazon Cognito al pool di utenti associato alla forza lavoro privata. Per aggiungere un gruppo di utenti Amazon Cognito a un pool di lavoro esistente, consulta [Aggiunta di gruppi a un pool di utenti](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-user-groups.html).  

**Per creare un team di lavoro utilizzando un gruppo di utenti Amazon Cognito esistente**

1. Apri la console SageMaker AI all'indirizzo [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/). 

1. Nel riquadro di navigazione, selezionare **Forze lavoro**. 

1. Per **Team privati**, scegliere **Crea team privato**. 

1. In **Dettagli del team**, assegnare un nome al team. Il nome deve essere univoco nel tuo account in una AWS regione. 

1. Per **Aggiungi worker,** scegli **Importa gruppi di utenti Amazon Cognito esistenti** e scegli uno o più gruppi di utenti che fanno parte del nuovo team. 

1. Se selezioni un **Argomento SNS**, tutti i worker aggiunti al team vengono iscritti all'argomento Amazon Simple Notification Service (Amazon SNS) e ricevono una notifica quando sono disponibili nuovi elementi di lavoro per il team. Scegli da un elenco dei tuoi argomenti SNS esistenti relativi a SageMaker Ground Truth o Amazon Augmented AI o scegli **Crea nuovo argomento** per crearne uno. 
**Nota**  
Le notifiche SNS sono supportate da Ground Truth e non da IA aumentata. Se i worker effettuano la sottoscrizione per notifiche SNS, riceveranno solo notifiche sulle attività di etichettatura Ground Truth. Non riceveranno notifiche sulle attività IA aumentata. 

### Sottoscrizioni
<a name="subscriptions-cog-workteam"></a>

Dopo aver creato un team di lavoro, puoi visualizzare ulteriori informazioni sul team e modificare o impostare l'argomento SNS a cui sono abbonati i membri utilizzando la console Amazon Cognito. Se hai aggiunto membri del team prima di iscrivere il team a un argomento, devi iscriverli manualmente a quell'argomento. Per ulteriori informazioni, consulta [Creazione dell'argomento Amazon SNS](sms-workforce-management-private-sns.md). 

## Aggiungi e rimuovi worker (Amazon Cognito Console)
<a name="add-remove-workers-cog"></a>

 Quando utilizzi la console Amazon Cognito per aggiungere worker a un team di lavoro, devi aggiungere un utente al pool di utenti associato alla forza lavoro prima di aggiungerlo a un gruppo di utenti. Gli utenti possono essere aggiunti a un pool di utenti in vari modi. Per ulteriori informazioni, consulta [Signing Up and Confirming User Accounts](https://docs.aws.amazon.com/cognito/latest/developerguide/signing-up-users-in-your-app.html). 

### Aggiunta di un worker a un team di lavoro
<a name="add-worker-workteam-cog"></a>

Dopo che un utente è stato aggiunto a un pool, l'utente può essere associato a gruppi di utenti all'interno di tale pool. Dopo che un utente è stato aggiunto a un gruppo di utenti, tale utente diventa un worker di qualsiasi team di lavoro creato utilizzando tale gruppo di utenti.

**Per aggiungere un utente a un gruppo di utenti**

1. Apri la console Amazon Cognito:. [https://console.aws.amazon.com/cognito/](https://console.aws.amazon.com/cognito) 

1. Scegli **Manage User Pools** (Gestisci pool di utenti).

1. Scegli il pool di utenti associato alla tua forza lavoro basata sull' SageMaker intelligenza artificiale.  

1. In **Impostazioni generali**, scegliere **Utenti e gruppi** ed effettuare una delle seguenti operazioni: 
   + Scegliere **Gruppi**, scegliere il gruppo a cui si desidera aggiungere l'utente e scegliere **Aggiungi utenti**. Scegliere gli utenti che si desidera aggiungere selezionando l'icona "più" a destra del nome degli utenti.  
   + Scegliere **Utenti**, selezionare l'utente che si desidera aggiungere al gruppo di utenti e scegliere **Aggiungi al gruppo**. Dal menu a discesa, scegliere il gruppo e selezionare **Aggiungi al gruppo**.

### Disattivazione e rimozione di un worker da un team di lavoro
<a name="disable-remove-workers-cog"></a>

La disattivazione di un worker impedisce al worker di ricevere lavori. Questa operazione non rimuove il worker dalla forza lavoro o da qualsiasi team di lavoro a cui è associato il worker. Per rimuovere un utente da un team di lavoro in Amazon Cognito, è possibile rimuovere l'utente dal gruppo di utenti associato a tale team.

**Per disattivare un worker (console Amazon Cognito)**

1. Apri la console Amazon Cognito:. [https://console.aws.amazon.com/cognito/](https://console.aws.amazon.com/cognito) 

1. Scegli **Manage User Pools** (Gestisci pool di utenti).

1. Scegli il pool di utenti associato alla tua forza lavoro basata sull' SageMaker intelligenza artificiale.

1. In **General Settings (Impostazioni generali)**, selezionare **Users and Groups (Utenti e gruppi)**.

1. Scegliere l'utente che si desidera disattivare.

1. Scegliere **Disabilita utente**.

È possibile abilitare un utente disabilitato scegliendo **Abilita utente**.  

**Per rimuovere un utente da un gruppo utenti (console Amazon Cognito)**

1. Apri la console Amazon Cognito:. [https://console.aws.amazon.com/cognito/](https://console.aws.amazon.com/cognito) 

1. Scegli **Manage User Pools** (Gestisci pool di utenti). 

1. Scegli il pool di utenti associato alla tua forza lavoro basata sull' SageMaker intelligenza artificiale.  

1. In **General Settings (Impostazioni generali)**, selezionare **Users and Groups (Utenti e gruppi)**. 

1. Nella scheda **Utente** scegliere l'icona **X** a destra del gruppo da cui si desidera rimuovere l'utente. 

# Forze di lavoro IdP OIDC
<a name="sms-workforce-private-use-oidc"></a>

Crea una forza lavoro privata utilizzando un Provider di identità (IdP) OpenID Connect (OIDC) quando desideri gestire e autenticare i tuoi worker utilizzando il tuo IdP OIDC. Le credenziali individuali dei worker e gli altri dati rimarranno privati. Ground Truth e Amazon A2I avranno visibilità solo sulle informazioni sui worker fornite tramite le dichiarazioni inviate a questi servizi. Per creare una forza lavoro utilizzando un IdP OIDC, il tuo IdP deve supportare i *gruppi* perché Ground Truth e Amazon A2I mappano uno o più gruppi del tuo IdP in un team di lavoro. Per ulteriori informazioni, consulta [Invia reclami obbligatori e facoltativi a Ground Truth e Amazon A2I](sms-workforce-create-private-oidc.md#sms-workforce-create-private-oidc-configure-idp).

Se sei un nuovo utente di Ground Truth o Amazon A2I, puoi testare l'interfaccia utente e il flusso di lavoro creando un team di lavoro privato e aggiungendoti come worker. Usa questo team di lavoro quando crei un processo di etichettatura o un flusso di lavoro di revisione umana. Innanzitutto, crea una forza lavoro OIDC IdP privata seguendo le istruzioni contenute in [Creazione di una forza lavoro privata (IdP OIDC)](sms-workforce-create-private-oidc.md). Successivamente, consulta [Gestione di una forza lavoro privata (IdP OIDC)](sms-workforce-manage-private-oidc.md) per scoprire come creare un team di lavoro.

**Topics**
+ [Creazione di una forza lavoro privata (IdP OIDC)](sms-workforce-create-private-oidc.md)
+ [Gestione di una forza lavoro privata (IdP OIDC)](sms-workforce-manage-private-oidc.md)

# Creazione di una forza lavoro privata (IdP OIDC)
<a name="sms-workforce-create-private-oidc"></a>

Crea una forza lavoro privata utilizzando un Identity Provider (IdP) OpenID Connect (OIDC) quando desideri autenticare e gestire i worker utilizzando il tuo provider di identità. Usa questa pagina per scoprire come configurare il tuo IdP per comunicare con Amazon SageMaker Ground Truth (Ground Truth) o Amazon Augmented AI (Amazon A2I) e per imparare a creare una forza lavoro utilizzando il tuo IdP. 

Per creare una forza lavoro utilizzando un IdP OIDC, il tuo IdP deve supportare i *gruppi* perché Ground Truth e Amazon A2I utilizzano uno o più gruppi da te specificati per creare team di lavoro. Utilizza i team di lavoro per specificare i worker incaricati dei processi di etichettatura e delle attività di revisione umana. Poiché i gruppi non sono un'[attestazione standard](https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims), il tuo IdP potrebbe avere una convenzione di denominazione diversa per un gruppo di utenti (worker). Pertanto, devi identificare uno o più gruppi di utenti a cui appartiene un worker utilizzando l'attestazione personalizzata `sagemaker:groups` inviata a Ground Truth o Amazon A2I dal tuo IdP. Per ulteriori informazioni, consulta [Invia reclami obbligatori e facoltativi a Ground Truth e Amazon A2I](#sms-workforce-create-private-oidc-configure-idp).

Crei una forza lavoro IdP OIDC utilizzando l'operazione API. SageMaker [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html) Una volta creata una forza lavoro privata, tale forza lavoro, tutti i team di lavoro e i worker ad essa associati saranno disponibili per l'utilizzo per tutte le attività di etichettatura GroundTruth e per i flussi di lavoro di revisione umana Amazon A2I. Per ulteriori informazioni, consulta [Creazione di una forza lavoro OIDC IdP](#sms-workforce-create-private-oidc-createworkforce).

## Invia reclami obbligatori e facoltativi a Ground Truth e Amazon A2I
<a name="sms-workforce-create-private-oidc-configure-idp"></a>

Quando utilizzi il tuo IdP, Ground Truth e Amazon A2I utilizzano il tuo `Issuer`, `ClientId` e `ClientSecret` per autenticare i worker ottenendo un CODICE di autenticazione dal tuo `AuthorizationEndpoint`. 

Ground Truth e Amazon A2I utilizzeranno questo CODICE per ottenere un’attestazione personalizzata dal `TokenEndpoint` o `UserInfoEndpoint` del tuo IdP. Puoi configurare `TokenEndpoint` per restituire un token web JSON (JWT) o `UserInfoEndpoint` per restituire un oggetto JSON. L'oggetto JWT o JSON deve contenere attestazioni obbligatorie e facoltative specificate dall'utente. Un'[attestazione](https://openid.net/specs/openid-connect-core-1_0.html#Terminology) è una coppia chiave-valore che contiene informazioni su un worker o metadati sul servizio OIDC. La tabella seguente elenca le attestazioni che devono essere incluse e che possono essere facoltativamente incluse nell'oggetto JWT o JSON restituito dal tuo IdP. 

**Nota**  
Alcuni dei parametri nella tabella seguente possono essere specificati utilizzando un `:` o `-`. Ad esempio, è possibile specificare i gruppi a cui appartiene un worker utilizzando `sagemaker:groups` o `sagemaker-groups` nell’attestazione. 


|  Name  | Richiesto | Formato e valori accettati | Description | Esempio | 
| --- | --- | --- | --- | --- | 
|  `sagemaker:groups` o `sagemaker-groups`  |  Sì  |  **Tipo di dati**: Se un worker appartiene a un singolo gruppo, identifica il gruppo utilizzando una stringa. Se un worker appartiene a più gruppi, utilizza un elenco con un massimo di 10 stringhe.  **Caratteri consentiti**: Espressione regolare: [\$1p\$1L\$1\$1p\$1M\$1\$1p\$1S\$1\$1p\$1N\$1\$1p\$1P\$1]\$1 **Quote**: 10 gruppi per worker 63 caratteri per nome del gruppo  |  Assegna un worker a uno o più gruppi. I gruppi vengono utilizzati per mappare il worker in team di lavoro.   |  Esempio di worker che appartiene a un singolo gruppo: `"work_team1"` Esempio di worker che appartiene a più di un gruppo: `["work_team1", "work_team2"]`   | 
|  `sagemaker:sub` o `sagemaker-sub`  |  Sì  |  **Tipo di dati**: Stringa  |  Questo è obbligatorio per tenere traccia dell'identità di un worker all'interno della piattaforma Ground Truth per il controllo e per identificare le attività svolte da quel worker.  Per ADFS: i clienti devono utilizzare l’Identificatore di sicurezza primario (SID).   |  `"111011101-123456789-3687056437-1111"`  | 
|  `sagemaker:client_id` o `sagemaker-client_id`  |  Sì  |  **Tipo di dati**: Stringa **Caratteri consentiti**: Espressione regolare: [\$1 w\$1-] \$1 **Virgolette:** 128 caratteri   |  Un ID client. Tutti i token devono essere emessi per questo ID cliente.   |  `"00b600bb-1f00-05d0-bd00-00be00fbd0e0"`  | 
|  `sagemaker:name` o `sagemaker-name`  |  Sì  |  **Tipo di dati**: Stringa  |  Il nome del worker da visualizzare nel portale dei worker.  |  `"Jane Doe"`  | 
|  `email`  |  No  |  **Tipo di dati**: Stringa  |  L'e-mail del worker. Ground Truth utilizza questa e-mail per notificare ai worker che sono stati invitati a lavorare sulle attività di etichettatura. Ground Truth utilizzerà questa e-mail anche per avvisare i dipendenti quando le attività di etichettatura diventano disponibili se imposti un argomento di Amazon SNS per un team di lavoro di cui fa parte il worker.  |  `"example-email@domain.com"`  | 
|  `email_verified`  |  No  |  **Tipo di dati**: Bool **Valori accettati**: `True`, `False`  |  Indica se l'e-mail dell'utente è stata verificata o meno.   |  `True`  | 

Di seguito è riportato un esempio della sintassi dell'oggetto JSON che `UserInfoEndpoint` può restituire. 

```
{
    "sub":"122",
    "exp":"10000",
    "sagemaker-groups":["group1","group2"]
    "sagemaker-name":"name",
    "sagemaker-sub":"122",
    "sagemaker-client_id":"123456"
}
```

Ground Truth o Amazon A2I confrontano i gruppi elencati in `sagemaker:groups` o `sagemaker-groups` per verificare che il worker appartenga al team di lavoro specificato nel processo di etichettatura o nell'attività di revisione umana. Dopo la verifica del team di lavoro, le attività di etichettatura o di revisione umana vengono inviate a quel worker. 

## Creazione di una forza lavoro OIDC IdP
<a name="sms-workforce-create-private-oidc-createworkforce"></a>

È possibile creare una forza lavoro utilizzando l'operazione SageMaker API e le specifiche lingue associate. `CreateWorkforce` SDKs Specifica un indirizzo `WorkforceName` e informazioni sul tuo IDP OIDC nel parametro `OidcConfig`. Si consiglia di configurare l'OIDC con un URI di reindirizzamento segnaposto e quindi di aggiornare l'URI con l'URL del portale di lavoro dopo aver creato la forza lavoro. Per ulteriori informazioni, consulta [Configura il tuo IdP OIDC](#sms-workforce-create-private-oidc-configure-url).

Un esempio della richiesta è illustrato nello screenshot seguente. Per ulteriori informazioni su ciascun parametro contenuto in questa richiesta, consulta [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html).

```
CreateWorkforceRequest: {
    #required fields
    WorkforceName: "example-oidc-workforce",
    OidcConfig: { 
        ClientId: "clientId",
        ClientSecret: "secret",
        Issuer: "https://example-oidc-idp.com/adfs",
        AuthorizationEndpoint: "https://example-oidc-idp.com/adfs/oauth2/authorize",
        TokenEndpoint: "https://example-oidc-idp.com/adfs/oauth2/token",
        UserInfoEndpoint: "https://example-oidc-idp.com/adfs/oauth2/userInfo",
        LogoutEndpoint: "https://example-oidc-idp.com/adfs/oauth2/log-out",
        JwksUri: "https://example-oidc-idp.com/adfs/discovery/keys"
    },
    SourceIpConfig: {
        Cidrs: ["string", "string"]
    }
}
```

### Configura il tuo IdP OIDC
<a name="sms-workforce-create-private-oidc-configure-url"></a>

Il modo in cui configuri il tuo IdP OIDC dipende dall'IdP che utilizzi e dai tuoi requisiti aziendali. 

Quando configuri il tuo IdP, devi specificare un URI di richiamata o di reindirizzamento. Dopo che Ground Truth o Amazon A2I hanno autenticato un worker, questo URI reindirizzerà il worker al portale dei worker dove i worker possono accedere alle attività di etichettatura o di revisione umana. Per creare un URL del portale di lavoro, devi creare una forza lavoro con i dettagli del tuo IdP OIDC utilizzando l'operazione API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html). In particolare, devi configurare il tuo IdP OIDC con le attestazioni sagemaker personalizzate richieste (consulta la sezione successiva per maggiori dettagli). Pertanto, ti consigliamo di configurare l'OIDC con un URI di reindirizzamento segnaposto e quindi di aggiornare l'URI dopo aver creato la forza lavoro. Consulta [Creazione di una forza lavoro OIDC IdP](#sms-workforce-create-private-oidc-createworkforce) per scoprire come creare una forza lavoro utilizzando questa API. 

Puoi visualizzare l'URL del tuo portale di lavoro nella console SageMaker Ground Truth o utilizzando l'operazione SageMaker API`DescribeWorkforce`. L'URL del portale di lavoro si trova nel parametro [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Workforce.html#sagemaker-Type-Workforce-SubDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Workforce.html#sagemaker-Type-Workforce-SubDomain) della risposta.

**Importante**  
Assicurati di aggiungere il sottodominio della forza lavoro all'elenco di indirizzi consentiti per IdP di OIDC. Quando aggiungi il sottodominio all'elenco degli indirizzi consentiti, deve terminare con `/oauth2/idpresponse`.

**Per visualizzare l'URL del portale di lavoro dopo aver creato una forza lavoro privata (Console):**

1. Apri la console SageMaker AI all'indirizzo [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/). 

1. Nel riquadro di navigazione, scegliere **Etichettatura delle forze lavoro**. 

1. Selezionare la scheda **Private (Privata)**.

1. In **Riepilogo della forza lavoro privata** vedrai l'**URL di accesso al portale Etichettatura**. Questo è l'URL del tuo portale per i worker.

**Per visualizzare l'URL del portale dei worker dopo aver creato una forza lavoro privata (API):**

Quando crei una forza lavoro privata utilizzando `[CreateWorkforce](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html)`, specifichi un `WorkforceName`. Usa questo nome per chiamare [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeWorkforce.html). La tabella seguente include esempi di richieste che utilizzano AWS CLI and AWS SDK per Python (Boto3). 

------
#### [ SDK for Python (Boto3) ]

```
response = client.describe_workforce(WorkforceName='string')
print(f'The workforce subdomain is: {response['SubDomain']}')
```

------
#### [ AWS CLI ]

```
$ C:\>  describe-workforce --workforce-name 'string'
```

------

## Convalida la tua risposta di autenticazione della forza lavoro OIDC IdP
<a name="sms-workforce-create-private-oidc-validate"></a>

Dopo aver creato la forza lavoro OIDC IdP, puoi utilizzare la seguente procedura per convalidare il relativo flusso di lavoro di autenticazione utilizzando cURL. Questa procedura presuppone che tu abbia accesso a un terminale e che cURL sia installato.

**Per convalidare la tua risposta di autorizzazione OIDC IdP:**

1. Ottieni un codice di autorizzazione utilizzando un URI configurato come segue:

   ```
   {AUTHORIZE ENDPOINT}?client_id={CLIENT ID}&redirect_uri={REDIRECT URI}&scope={SCOPE}&response_type=code
   ```

   1. Sostituisci *`{AUTHORIZE ENDPOINT}`* con l'endpoint di autorizzazione per il tuo IdP OIDC.

   1. Sostituiscilo `{CLIENT ID}` con l'ID cliente del tuo OAuth cliente.

   1. Sostituisci *`{REDIRECT URI}`* con l'URL del portale dei worker. Se non è già presente, devi aggiungere `/oauth2/idpresponse` alla fine dell'URL.

   1. Se hai un ambito personalizzato, usalo per sostituire `{SCOPE}`. Se non disponi di un ambito personalizzato, sostituisci `{SCOPE}` con `openid`.

   Di seguito è riportato un esempio di URI dopo le modifiche precedenti:

   ```
   https://example.com/authorize?client_id=f490a907-9bf1-4471-97aa-6bfd159f81ac&redirect_uri=https%3A%2F%2F%2Fexample.labeling.sagemaker.aws%2Foauth2%2Fidpresponse&response_type=code&scope=openid
   ```

1. Copia e incolla nel browser l'URI modificato nella fase 1 e premi Invio sulla tastiera.

1. Effettua l'autenticazione utilizzando il tuo IdP.

1. Copia il parametro di query del codice di autenticazione nell'URI. Questo parametro inizia con `code=`. Di seguito è riportato un esempio di risposta. In questo esempio, copia `code=MCNYDB...` e tutto ciò che segue.

   ```
   https://example.labeling.sagemaker.aws/oauth2/idpresponse?code=MCNYDB....
   ```

1. Apri un terminale e inserisci il seguente comando dopo aver apportato le modifiche richieste elencate di seguito:

   ```
   curl --request POST \
     --url '{TOKEN ENDPOINT}' \
     --header 'content-type: application/x-www-form-urlencoded' \
     --data grant_type=authorization_code \
     --data 'client_id={CLIENT ID}' \
     --data client_secret={CLIENT SECRET} \
     --data code={CODE} \
     --data 'redirect_uri={REDIRECT URI}'
   ```

   1. Sostituisci `{TOKEN ENDPOINT}` con l'endpoint token per il tuo IdP OIDC.

   1. Sostituiscilo `{CLIENT ID}` con il Client ID del tuo OAuth cliente.

   1. Sostituiscilo `{CLIENT SECRET}` con il Client Secret OAuth del tuo cliente.

   1. Sostituisci `{CODE}` con il parametro di query del codice di autenticazione che hai copiato nella fase 4.

   1. Sostituisci *`{REDIRECT URI}`* con l'URL del portale dei worker.

   Di seguito è riportato un esempio di richiesta cURL dopo aver apportato le modifiche precedenti:

   ```
   curl --request POST \
     --url 'https://example.com/token' \
     --header 'content-type: application/x-www-form-urlencoded' \
     --data grant_type=authorization_code \
     --data 'client_id=f490a907-9bf1-4471-97aa-6bfd159f81ac' \
     --data client_secret=client-secret \
     --data code=MCNYDB... \
     --data 'redirect_uri=https://example.labeling.sagemaker.aws/oauth2/idpresponse'
   ```

1. Questa fase dipende dal tipo di `access_token` restituito da IdP, da un token di accesso in testo normale o da un token di accesso JWT.
   + Se il tuo IdP non supporta i token di accesso JWT, `access_token` potrebbe essere testo normale (ad esempio un UUID). Viene visualizzata una risposta simile alla seguente. In questo caso, vai alla fase 7.

     ```
     {
       "access_token":"179c144b-fccb-4d96-a28f-eea060f39c13",
       "token_type":"Bearer",
       "expires_in":3600,
       "refresh_token":"ef43e52e-9b4f-410c-8d4c-d5c5ee57631a",
       "scope":"openid"
     }
     ```
   + Se il tuo IdP supporta i token di accesso JWT, la fase 5 dovrebbe generare un token di accesso in formato JWT. Ad esempio, la risposta può apparire simile alla seguente:

     ```
     {
         "access_token":"eyJh...JV_adQssw5c",
         "refresh_token":"i6mapTIAVSp2oJkgUnCACKKfZxt_H5MBLiqcybBBd04",
         "refresh_token_expires_in":6327,
         "scope":"openid",
         "id_token":"eyJ0eXAiOiJK9...-rDaQzUHl6cQQWNiDpWOl_lxXjQEvQ"
     }
     ```

     Copia il JWT e decodificalo. Puoi usare uno script python o un sito Web di terze parti per decodificarlo. Ad esempio, puoi visitare il sito Web [https://jwt.io/](https://jwt.io/) e incollare il JWT nella casella Codificato per **decodificarlo**. 

     Assicurati che la risposta decodificata contenga quanto segue:
     + Le affermazioni SageMaker AI **richieste** nella tabella riportata in[Invia reclami obbligatori e facoltativi a Ground Truth e Amazon A2I](#sms-workforce-create-private-oidc-configure-idp). In caso contrario, devi riconfigurare il tuo IdP OIDC in modo che contenga queste attestazioni. 
     + L'[emittente](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OidcConfig.html#sagemaker-Type-OidcConfig-Issuer) che hai specificato quando hai configurato la forza lavoro IdP.

1. Apri un terminale e inserisci il seguente comando dopo aver apportato le modifiche richieste elencate di seguito:

   ```
   curl -X POST -H 'Authorization: Bearer {ACCESS TOKEN}' -d '' -k -v {USERINFO ENDPOINT}
   ```

   1. Sostituisci `{USERINFO ENDPOINT}` con l'endpoint informazioni utente per il tuo IdP OIDC.

   1. Sostituisci `{ACCESS TOKEN}` con il token di accesso nella risposta che hai ricevuto nella fase 7. Questa è la voce per il parametro `"access_token"`.

   Di seguito è riportato un esempio di richiesta cURL dopo aver apportato le modifiche precedenti:

   ```
    curl -X POST -H 'Authorization: Bearer eyJ0eX...' -d '' -k -v https://example.com/userinfo
   ```

1. La risposta alla fase finale della procedura precedente può essere simile al seguente blocco di codice. 

   Se il `access_token` restituito nella fase 6 era testo normale, è necessario verificare che questa risposta contenga le informazioni richieste. In questo caso, la risposta deve contenere le affermazioni SageMaker AI **richieste** nella tabella riportata in[Invia reclami obbligatori e facoltativi a Ground Truth e Amazon A2I](#sms-workforce-create-private-oidc-configure-idp). Ad esempio, `sagemaker-groups`, `sagamaker-name`.

   ```
   {
       "sub":"122",
       "exp":"10000",
       "sagemaker-groups":["group1","group2"]
       "sagemaker-name":"name",
       "sagemaker-sub":"122",
       "sagemaker-client_id":"123456"
   }
   ```

## Fasi successive
<a name="sms-workforce-create-private-oidc-next-steps"></a>

Dopo aver creato una forza lavoro privata utilizzando il tuo IdP e verificato la risposta di autenticazione dell'IdP, puoi creare team di lavoro utilizzando i tuoi gruppi IdP. Per ulteriori informazioni, consulta [Gestione di una forza lavoro privata (IdP OIDC)](sms-workforce-manage-private-oidc.md). 

È possibile limitare l'accesso dei lavoratori alle attività a indirizzi IP specifici e aggiornare o eliminare la forza lavoro utilizzando l' SageMaker API. Per ulteriori informazioni, consulta [Gestione della forza lavoro privata tramite l'API Amazon SageMaker](sms-workforce-management-private-api.md).

# Gestione di una forza lavoro privata (IdP OIDC)
<a name="sms-workforce-manage-private-oidc"></a>

Dopo aver creato una forza lavoro privata utilizzando il tuo Identity Provider (IdP) OpenID Connect (OIDC), puoi gestire i tuoi worker utilizzando il tuo IdP. Ad esempio, puoi aggiungere, rimuovere e raggruppare i worker direttamente tramite il tuo IdP.

Per aggiungere lavoratori a un lavoro di etichettatura di Amazon SageMaker Ground Truth (Ground Truth) o a un'attività di revisione umana di Amazon Augmented AI (Amazon A2I), crei team di lavoro utilizzando 1-10 gruppi IdP e assegnando quel team di lavoro al lavoro o all'attività. Assegni un team di lavoro a un processo o un'attività specificando quel team di lavoro quando crei un processo di etichettatura (Ground Truth) o un flusso di lavoro di revisione umana (Amazon A2I). 

Puoi assegnare un solo team a ciascun processo di etichettatura o flusso di lavoro di revisione umana. Puoi utilizzare lo stesso team per creare più processi di etichettatura o attività di revisione umana. Puoi anche creare più team di lavoro per lavorare su diversi processi di etichettatura o attività di revisione umana. 

## Prerequisiti
<a name="sms-workforce-manage-private-oidc-prerequisites"></a>

Per creare e gestire team di lavoro privati utilizzando i tuoi gruppi IdP OIDC, devi innanzitutto creare una forza lavoro utilizzando l'operazione API. SageMaker [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html) Per ulteriori informazioni, consulta [Creazione di una forza lavoro privata (IdP OIDC)](sms-workforce-create-private-oidc.md). 

## Aggiungere team di lavoro
<a name="sms-workforce-manage-private-oidc-workteams"></a>

**Puoi utilizzare la console SageMaker AI per creare un team di lavoro privato utilizzando la tua forza lavoro IdP OIDC nella pagina **Labeling** workforce in Ground Truth.** Se stai creando un processo di etichettatura Ground Truth, puoi anche creare un team di lavoro privato durante la creazione di un processo di etichettatura.

**Nota**  
Puoi creare e gestire team di lavoro per Amazon A2I nell'area Ground Truth della console SageMaker AI.

Puoi anche utilizzare l' SageMaker API e le specifiche lingue associate SDKs per creare un team di lavoro privato.

Utilizza le seguenti procedure per imparare a creare un team di lavoro privato utilizzando la console di SageMaker intelligenza artificiale e l'API. 

**Per creare un team di lavoro privato nella pagina Forze lavoro di etichettatura (console)**

1. Vai all'area Ground Truth della console SageMaker AI: [https://console.aws.amazon.com/sagemaker/groundtruth](https://console.aws.amazon.com/sagemaker/groundtruth).

1. Seleziona **Etichettatura delle forze lavoro**.

1. Seleziona **Privato**.

1. Nella sezione **Team privati**, seleziona **Crea team privato**.

1. Nella sezione **Dettagli del team**, inserisci il **Nome del team**. 

1. Nella sezione **Aggiungi worker**, inserisci il nome di un singolo gruppo di utenti. Tutti i worker associati a questo gruppo nel tuo IdP vengono aggiunti a questo team di lavoro. 

1. Per aggiungere più di un gruppo di utenti, seleziona **Aggiungi nuovo gruppo di utenti** e inserisci i nomi dei gruppi di utenti che desideri aggiungere a questo team di lavoro. Specifica un gruppo di utenti per riga. 

1. (Facoltativo) Per i processi di etichettatura Ground Truth, se fornisci un'e-mail per i worker del vostro JWT, Ground Truth avviserà i worker quando è disponibile una nuova attività di etichettatura se selezioni un argomento SNS. 

1. Scegli **Crea team privato**.

**Per creare un team di lavoro privato durante la creazione di un processo di etichettatura Ground (console)**

1. Vai all'area Ground Truth della console SageMaker AI: [https://console.aws.amazon.com/sagemaker/groundtruth](https://console.aws.amazon.com/sagemaker/groundtruth).

1. Seleziona **Processi di etichettatura**.

1. Usa le istruzioni riportate in [Creare un processo di etichettatura (console)](sms-create-labeling-job-console.md) per creare un processo di etichettatura. Fermati quando arrivi alla sezione **worker** nella seconda pagina. 

1. Seleziona **Privato** per il tipo di worker.

1. Immetti un **Nome del team**. 

1. Nella sezione **Aggiungi worker**, inserisci il nome di un singolo gruppo di utenti in **Gruppi di utenti**. Tutti i worker associati a questo gruppo nel tuo IdP vengono aggiunti a questo team di lavoro.
**Importante**  
I nomi dei gruppi specificati per i **Gruppi di utenti** devono corrispondere ai nomi dei gruppi specificati nel tuo IdP OIDC.

1. Per aggiungere più di un gruppo di utenti, seleziona **Aggiungi nuovo gruppo di utenti** e inserisci i nomi dei gruppi di utenti che desideri aggiungere a questo team di lavoro. Specifica un gruppo di utenti per riga.

1. Completa tutte le fasi rimanenti per creare il tuo processo di etichettatura. 

Il team privato che crei viene utilizzato per questo lavoro di etichettatura ed è elencato nella sezione **Etichettatura della forza lavoro** della console AI. SageMaker 

**Per creare un team di lavoro privato utilizzando l'API SageMaker**  
È possibile creare un team di lavoro privato utilizzando l'operazione SageMaker API`[CreateWorkteam](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkteam.html)`. 

Quando usi questa operazione, elenca nel parametro tutti i gruppi di utenti che desideri includere nel team di lavoro nel parametro `OidcMemberDefinition` `Groups`. 

**Importante**  
I nomi dei gruppi specificati per `Groups` devono corrispondere ai nomi dei gruppi specificati nel tuo IdP OIDC. 

Ad esempio, se i nomi dei gruppi di utenti sono `group1`, `group2` e `group3` nel tuo IdP IDC, configura `OidcMemberDefinition` come segue:

```
 "OidcMemberDefinition": { 
    "Groups": ["group1", "group2", "group3"]
  }
```

Inoltre, è necessario assegnare un nome al team di lavoro utilizzando il parametro `WorkteamName`.

## Aggiungere o rimuovere gruppi IdP dai team di lavoro
<a name="sms-workforce-manage-private-oidc-workteam-update"></a>

Dopo aver creato un team di lavoro, puoi utilizzare l' SageMaker API per gestirlo. Utilizza l'operazione [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateWorkteam.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateWorkteam.html) per aggiornare i gruppi di utenti IdP inclusi in quel team di lavoro. 
+ Utilizza il parametro `WorkteamName` per identificare il team di lavoro che intendi aggiornare. 
+ Quando usi questa operazione, elenca nel parametro tutti i gruppi di utenti che desideri includere nel team di lavoro nel parametro [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OidcMemberDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OidcMemberDefinition.html) `Groups`. Se un gruppo di utenti è associato a un team di lavoro e *non* lo includi in questo elenco, quel gruppo di utenti non è più associato a questo team di lavoro. 

## Eliminare un team di lavoro
<a name="sms-workforce-manage-private-oidc-workteam-delete"></a>

Puoi eliminare un team di lavoro utilizzando la console SageMaker AI e l' SageMaker API. 

**Per eliminare un team di lavoro privato nella console SageMaker AI**

1. Vai all'area Ground Truth della console SageMaker AI: [https://console.aws.amazon.com/sagemaker/groundtruth](https://console.aws.amazon.com/sagemaker/groundtruth).

1. Seleziona **Etichettatura delle forze lavoro**.

1. Seleziona **Privato**.

1. Nella sezione **Team privati**, scegli il team di lavoro che desideri eliminare. 

1. Seleziona **Elimina**.

**Per eliminare un team di lavoro privato (API)**  
Puoi eliminare un team di lavoro privato utilizzando l'operazione SageMaker `[DeleteWorkteam](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteWorkteam.html)` API.

## Gestire i singoli worker
<a name="sms-workforce-manage-private-oidc-worker-manage"></a>

Quando crei una forza lavoro utilizzando il tuo IdP OIDC, non puoi usare Ground Truth o Amazon A2I per gestire singoli worker. 
+ Per aggiungere un worker a un team di lavoro, aggiungi quel worker a un gruppo associato a quel team di lavoro. 
+ Per rimuovere un worker da un team di lavoro, rimuovi quel worker da tutti i gruppi di utenti associati a quel team di lavoro. 

## Aggiornare, eliminare e descrivere la tua forza lavoro
<a name="sms-workforce-manage-private-oidc-workforce"></a>

Puoi aggiornare, eliminare e descrivere la tua forza lavoro IdP OIDC utilizzando l'API. SageMaker Di seguito è riportato un elenco di operazioni API utilizzabili per gestire la forza lavoro. Per ulteriori dettagli, incluso come individuare il nome della forza lavoro, consulta [Gestione della forza lavoro privata tramite l'API Amazon SageMaker](sms-workforce-management-private-api.md).
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateWorkforce.html): potresti voler aggiornare una forza lavoro creata utilizzando il tuo IdP OIDC per specificare un endpoint di autorizzazione, un endpoint token o un emittente diverso. Puoi aggiornare qualsiasi parametro trovato in `[OidcConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OidcConfig.html)` utilizzando questa operazione.

  Puoi aggiornare la configurazione IdP di OIDC solo quando non ci sono team di lavoro associati alla tua forza lavoro. Per informazioni su come eliminare i team di lavoro, consulta [Eliminare un team di lavoro](#sms-workforce-manage-private-oidc-workteam-delete).
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteWorkforce.html): usa questa operazione per eliminare la tua forza lavoro privata. Se hai dei team di lavoro associati alla tua forza lavoro, devi eliminarli prima di eliminare la tua forza lavoro. Per ulteriori informazioni, consulta [Eliminare un team di lavoro](#sms-workforce-manage-private-oidc-workteam-delete).
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeWorkforce.html)— Utilizza questa operazione per elencare informazioni private sulla forza lavoro, tra cui il nome della forza lavoro, Amazon Resource Name (ARN) e, se applicabile, gli intervalli di indirizzi IP consentiti (). CIDRs 

# Gestione della forza lavoro privata tramite l'API Amazon SageMaker
<a name="sms-workforce-management-private-api"></a>

Puoi utilizzare Amazon SageMaker API Operations per gestire, aggiornare ed eliminare la tua forza lavoro privata. Per ogni operazione API elencata nei seguenti argomenti, puoi trovare un elenco di specifiche lingue supportate SDKs e la relativa documentazione nella sezione **Vedi anche** della documentazione API.

**Topics**
+ [Trovare il nome di una forza lavoro](sms-workforce-management-private-api-name.md)
+ [Limitare l’accesso dei worker alle attività agli indirizzi IP consentiti](sms-workforce-management-private-api-cidr.md)
+ [Abilitare una forza lavoro dual stack](sms-workforce-management-private-api-dualstack.md)
+ [Aggiornare la configurazione della forza lavoro del gestore dell’identità digitale OIDC](sms-workforce-management-private-api-update.md)
+ [Eliminare una forza lavoro privata](sms-workforce-management-private-api-delete.md)

# Trovare il nome di una forza lavoro
<a name="sms-workforce-management-private-api-name"></a>

Alcune operazioni API relative alla forza lavoro SageMaker AI richiedono il nome della forza lavoro come input. Puoi visualizzare i nomi della forza lavoro privata e del fornitore di Amazon Cognito o OIDC IdP in AWS una regione utilizzando le operazioni API in quella regione. []() AWS Se hai creato la tua forza lavoro utilizzando il tuo IdP OIDC, puoi trovare il nome della tua forza lavoro nell'area Ground Truth della console AI. SageMaker 

**Per trovare il nome della tua forza lavoro nella console AI SageMaker**

1. Vai all'area Ground Truth della console SageMaker AI: [https://console.aws.amazon.com/sagemaker/groundtruth](https://console.aws.amazon.com/sagemaker/groundtruth).

1. Seleziona **Etichettatura delle forze lavoro**.

1. Seleziona **Privato**.

1. Nella sezione **Riepilogo della forza lavoro privata**, individua l'ARN della tua forza lavoro. Il nome della tua forza lavoro si trova alla fine di questo ARN. Ad esempio, se l'ARN è `arn:aws:sagemaker:us-east-2:111122223333:workforce/example-workforce`, il nome della forza lavoro è `example-workforce`. 

# Limitare l’accesso dei worker alle attività agli indirizzi IP consentiti
<a name="sms-workforce-management-private-api-cidr"></a>

Per impostazione predefinita, una forza lavoro non è limitata a specifici indirizzi IP. Puoi utilizzare l'[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateWorkforce.html)operazione per richiedere che i lavoratori utilizzino un intervallo specifico di indirizzi IP ([CIDRs](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)) per accedere alle attività. Se ne specifichi uno o più CIDRs, i lavoratori che tentano di accedere alle attività utilizzando qualsiasi indirizzo IP al di fuori degli intervalli specificati vengono negati e riceveranno un messaggio di errore HTTP 204 No Content sul portale di lavoro. Puoi specificare fino a 10 valori CIDR utilizzando `UpdateWorkforce`. 

Dopo aver limitato la forza lavoro a una o più unità CIDRs, l'output degli `UpdateWorkforce` elenchi è consentito CIDRs. È inoltre possibile utilizzare l'[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeWorkforce.html)operazione per visualizzare tutto ciò che è consentito CIDRs per una forza lavoro. 

# Abilitare una forza lavoro dual stack
<a name="sms-workforce-management-private-api-dualstack"></a>

Puoi abilitare una forza lavoro dual-stack utilizzando le [CreateWorkforce](https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_CreateWorkforce.html)operazioni e API. [UpdateWorkforce](https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_UpdateWorkforce.html) La creazione di una forza lavoro dual-stack, l'aggiornamento di una forza lavoro esistente al dual-stack e la modifica di una forza lavoro da dual-stack a non sono supportati in. IPv4 Console di gestione AWS

**Importante**  
Una forza lavoro senza un oggetto `IpAddressType` definito utilizza `IPv4` per impostazione predefinita. 

## Creare una forza lavoro dual stack
<a name="sms-workforce-management-private-dualstack-create"></a>

Il processo di creazione di una forza lavoro dual-stack è simile alla creazione di una sola forza lavoro, con le eccezioni riportate di seguito. IPv4 Per ulteriori informazioni, consulta [CreateWorkforce](https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_CreateWorkforce.html).
+ Per collegare un VPC alla forza lavoro privata, assicurati che il VPC sia anche dual-stack, con blocchi CIDR IPv6 associati alle sottoreti del VPC.
+ Per utilizzare il `SourceIpConfig` parametro per limitare il traffico a un intervallo di indirizzi IP specifico, assicurati che nell'elenco siano inclusi anche i blocchi CIDR. IPv6 
+ Per implementare policy con condizioni `SourceIp` sui bucket S3 a cui accedono le tue attività, assicurati che tali policy siano aggiornate per renderle compatibili con la modalità dual stack.
+ L’endpoint di autenticazione del tuo gestore dell’identità digitale supporta la modalità dual stack. Per ulteriori informazioni consulta [Flusso di autenticazione](https://docs.aws.amazon.com//elasticloadbalancing/latest/application/listener-authenticate-users.html#authentication-flow).

**Esempio di chiamata SDK `CreateWorkforce` con boto3**

Per ulteriori informazioni, consulta [create\$1workforce](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_workforce.html#SageMaker.Client.create_workforce).

```
import boto3

client = boto3.resource('sagemaker')

# IpAddressType = 'dualstack'|'ipv4'
client.create_workforce(
    WorkforceName='string',
    IpAddressType='dualstack',
    WorkforceConfig={
        'CognitoConfig': {
            'UserPool': 'string',
            'Client': 'string'
        }
    }
)
```

## Aggiornare una forza lavoro dual stack
<a name="sms-workforce-management-private-dualstack-update"></a>

Quando aggiorni una forza lavoro esistente per renderla dual stack, tieni presente quanto segue. Per ulteriori informazioni, consulta [UpdateWorkforce](https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_UpdateWorkforce.html)e ottieni [IPv6 assistenza per il tuo VPC](https://docs.aws.amazon.com//vpc/latest/userguide/vpc-migrate-ipv6.html).
+ Se un VPC è collegato alla forza lavoro, è necessario aggiornarlo in modo che diventi dual stack. Assicurati inoltre che tutti i gruppi di sicurezza per il VPC IPv6 consentano il traffico.
+ Se utilizzi il `SourceIpConfig` parametro, aggiornalo per includere i blocchi IPv6 CIDR.
+ Per implementare policy con condizioni `SourceIp` sui bucket S3 a cui accedono le tue attività, assicurati che tali policy siano aggiornate per renderle compatibili con la modalità dual stack.
+ L’endpoint di autenticazione del tuo gestore dell’identità digitale supporta la modalità dual stack. Per ulteriori informazioni consulta [Flusso di autenticazione](https://docs.aws.amazon.com//elasticloadbalancing/latest/application/listener-authenticate-users.html#authentication-flow).

**Esempio di chiamata SDK `UpdateWorkforce` con boto3**

Per ulteriori informazioni, consulta [update\$1workforce](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/update_workforce.html#SageMaker.Client.update_workforce).

```
import boto3

client = boto3.resource('sagemaker')

# IpAddressType = 'dualstack'|'ipv4'
client.update_workforce(
    WorkforceName='string',
    IpAddressType='dualstack'
)
```

# Aggiornare la configurazione della forza lavoro del gestore dell’identità digitale OIDC
<a name="sms-workforce-management-private-api-update"></a>

Potresti voler aggiornare una forza lavoro creata utilizzando il tuo IdP OIDC per specificare un endpoint di autorizzazione, un endpoint token o un emittente diverso. Puoi aggiornare qualsiasi parametro trovato in `[OidcConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OidcConfig.html)` utilizzando l’operazione [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateWorkforce.html).

**Importante**  
Puoi aggiornare la configurazione IdP di OIDC solo quando non ci sono team di lavoro associati alla tua forza lavoro. Puoi eliminare un team di lavoro privato tramite l’operazione `[DeleteWorkteam](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteWorkteam.html)`.

# Eliminare una forza lavoro privata
<a name="sms-workforce-management-private-api-delete"></a>

Puoi avere solo una forza lavoro privata in ogni AWS regione. Potresti voler eliminare la tua forza lavoro privata in una AWS regione quando:
+ Vuoi creare una forza lavoro utilizzando un nuovo pool di utenti di Amazon Cognito. 
+ Hai già creato una forza lavoro privata utilizzando Amazon Cognito e desideri creare una forza lavoro utilizzando il tuo gestore dell’identità digitale OpenID Connect (OIDC).

Per eliminare una forza lavoro privata, utilizza l'operazione API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteWorkforce.html). Se hai dei team di lavoro associati alla tua forza lavoro, devi eliminarli prima di eliminare la tua forza lavoro. Puoi eliminare un team di lavoro privato tramite l’operazione `[DeleteWorkteam](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteWorkteam.html)`. 

# Tracciare le metriche delle prestazioni dei worker
<a name="workteam-private-tracking"></a>

 Amazon SageMaker Ground Truth registra gli eventi dei worker su Amazon CloudWatch, ad esempio quando un worker avvia o invia un'attività. Utilizza i parametri di Amazon CloudWatch per misurare e monitorare il throughput di un team o di singoli worker. 

**Importante**  
Il monitoraggio degli eventi dei worker non è disponibile per i flussi di lavoro di revisione umana di IA aumentata Amazon. 

## Abilitazione del monitoraggio
<a name="workteam-private-tracking-setup"></a>

 Durante il processo di configurazione di un nuovo team di lavoro, vengono create le autorizzazioni per la registrazione dei file di log Amazon CloudWatch per gli eventi dei worker. Poiché questa funzionalità è stata aggiunta nell'agosto del 2019, i team di lavoro creati prima di tale data potrebbero non disporre delle autorizzazioni corrette. Se tutti i tuoi team di lavoro sono stati creati prima dell'agosto 2019, crea un nuovo team di lavoro. Non è necessario aggiungere alcun membro e il team può essere eliminato dopo la creazione ma, semplicemente creandolo, verranno stabilite le autorizzazioni che saranno poi applicate a tutti i team di lavoro, a prescindere dal momento in cui sono stati creati. 

## Tracciare le metriche utilizzando i log
<a name="workteam-private-tracking-logs"></a>

 Una volta abilitato il monitoraggio, l'attività dei worker verrà registrata. Apri la console Amazon CloudWatch e scegli **Log** nel riquadro di navigazione. Viene visualizzato un gruppo di log denominato **/aws/sagemaker/groundtruth/WorkerActivity**. 

Ogni attività completata viene rappresentata da una voce di log, contenente informazioni sul worker, sul relativo team, sull'attività, sulla data di accettazione dell'attività e sulla data di invio.

**Example Voce di log**  

```
{
  "worker_id": "cd449a289e129409",
  "cognito_user_pool_id": "us-east-2_IpicJXXXX",
  "cognito_sub_id": "d6947aeb-0650-447a-ab5d-894db61017fd",
  "task_accepted_time": "Wed Aug 14 16:00:59 UTC 2019",
  "task_submitted_time": "Wed Aug 14 16:01:04 UTC 2019",
  "task_returned_time": "",
  "task_declined_time": "",
  "workteam_arn": "arn:aws:sagemaker:us-east-2:############:workteam/private-crowd/Sample-labeling-team",
  "labeling_job_arn": "arn:aws:sagemaker:us-east-2:############:labeling-job/metrics-demo",
  "work_requester_account_id": "############",
  "job_reference_code": "############",
  "job_type": "Private",
  "event_type": "TasksSubmitted",
  "event_timestamp": "1565798464"
}
```

Un punto dati utile in ogni evento è `cognito_sub_id`. Puoi associarlo a un singolo worker.

1. Apri la console di Amazon SageMaker AI all’indirizzo [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Nella sezione **Ground Truth** scegli **Forze lavoro**.

1. Scegli **Privato**.

1. Fai clic sul nome di un team nella sezione **Team privati**.

1. Nella sezione **Riepilogo team**, seleziona il gruppo di utenti identificato in **Gruppo di utenti Amazon Cognito**. Il gruppo viene visualizzato nella console di Amazon Cognito.

1. Nella pagina **Gruppo** sono elencati gli utenti nel gruppo. Seleziona un qualsiasi collegamento utente nella colonna **Nome utente** per visualizzare ulteriori informazioni sull'utente, incluso un ID **secondario** univoco.

Per ottenere informazioni su tutti i membri del team, utilizza l'operazione [ListUsers](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ListUsers.html) ([esempi](https://docs.aws.amazon.com/cognito/latest/developerguide/how-to-manage-user-accounts.html#cognito-user-pools-searching-for-users-listusers-api-examples)) nell'API di Amazon Cognito.

## Tracciare le metriche utilizzando la console CloudWatch
<a name="workteam-private-tracking-metrics"></a>

Se non desideri scrivere script personalizzati per elaborare e visualizzare le informazioni di log non elaborate, i parametri di Amazon CloudWatch ti offrono informazioni dettagliate sull'attività del worker.

**Visualizzazione dei parametri**

1. Apri la console CloudWatch all'indirizzo [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Nel riquadro di navigazione, scegli **Parametri**.

1. Seleziona lo spazio dei nomi `AWS/SageMaker/Workteam` quindi esplora i [parametri disponibili](monitoring-cloudwatch.md). Ad esempio, selezionando i parametri **Team di lavoro** e **Forza lavoro** puoi calcolare il tempo medio per attività inviata per un processo di etichettatura specifico.

Per maggiori informazioni, consulta [Using Amazon CloudWatch Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html).

# Creazione dell'argomento Amazon SNS
<a name="sms-workforce-management-private-sns"></a>

Le fasi per creare le notifiche degli argomenti di Amazon SNS per i team di lavoro sono simili a quelle descritte in [Nozioni di base](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html) nella *Guida per gli sviluppatori di Amazon SNS*, con un’aggiunta importante: è necessario aggiungere una policy di accesso in modo che Amazon SageMaker AI possa pubblicare messaggi nell’argomento per tuo conto.

Se crei un team di lavoro utilizzando la console, hai a disposizione un'opzione per creare un nuovo argomento per il team, in modo da non dover eseguire queste fasi.

**Importante**  
La funzionalità Amazon SNS non è supportata da Amazon A2I. Se i worker effettuano la sottoscrizione alle notifiche dell’argomento Amazon SNS, riceveranno notifiche solo sui processi di etichettatura Ground Truth. I worker non riceveranno notifiche sulle nuove attività di revisione umana di Amazon A2I.

**Per aggiungere la policy quando si crea l'argomento**

1. Apri la console Amazon SNS all'indirizzo [https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home).

1. In **Crea argomento**, immetti il nome dell'argomento e quindi scegli **Fasi successive**.

1. In **Policy di accesso**, scegli **Avanzate**.

1. In **editor JSON**, trova la proprietà `Resource` che visualizza l'ARN dell'argomento.

1. Copia il valore dell'ARN di `Resource`.

1. Prima della parentesi di chiusura finale (`]`), aggiungi la policy seguente.

   ```
       , {
           "Sid": "AwsSagemaker_SnsAccessPolicy",
           "Effect": "Allow",
           "Principal": {
               "Service": "sagemaker.amazonaws.com"
           },
           "Action": "sns:Publish",
           "Resource": "arn:partition:sns:region:111122223333:MyTopic", # ARN of the topic you copied in the previous step
           "Condition": {
               "ArnLike": {
                   "aws:SourceArn": "arn:partition:sagemaker:region:111122223333:workteam/*" # Workteam ARN
               },
               "StringEquals": {
                   "aws:SourceAccount": "111122223333" # SNS topic account
               }
           }
       }
   ```

1. Crea l'argomento.

Una volta creato, l'argomento viene visualizzato nella schermata di riepilogo **Argomenti**. Per ulteriori informazioni sulla creazione degli argomenti, consulta [Creating a Topic](https://docs.aws.amazon.com/sns/latest/dg/sns-tutorial-create-topic.html) in *Guida per gli sviluppatori di Amazon SNS*.

# Gestione delle sottoscrizioni dei worker
<a name="workteam-private-sns-manage-topic"></a>

Se effettui la sottoscrizione di un team di lavoro a un argomento dopo aver già creato il team di lavoro, i singoli membri del team di lavoro aggiunti al team al momento della creazione del team di lavoro non vengono automaticamente inclusi nella sottoscrizione all'argomento. Per informazioni sulla sottoscrizione degli indirizzi e-mail dei worker all'argomento, consulta [Subscribing and Endpoint to an Amazon SNS Topic](https://docs.aws.amazon.com/sns/latest/dg/sns-tutorial-create-subscribe-endpoint-to-topic.html) in *Guida per gli sviluppatori di Amazon SNS*.

L'unico caso in cui i worker vengono iscritti automaticamente all'argomento è quando crei o importi un gruppo di utenti Amazon Cognito al momento della creazione di un team di lavoro ***e*** imposti la sottoscrizione all'argomento quando crei il gruppo di lavoro. Per ulteriori informazioni sulla creazione e la gestione dei tuoi team di lavoro con Amazon Cognito, consulta [Crea team di lavoro (Amazon Cognito Console)](sms-workforce-management-private-cognito.md#create-work-teams-cog).

# Riferimento per gli elementi Crowd HTML
<a name="sms-ui-template-reference"></a>

Gli elementi Crowd HTML sono componenti web, uno standard web che astrae il markup HTML, il CSS e le JavaScript funzionalità in un tag HTML o in un set di tag. Amazon SageMaker AI offre ai clienti la possibilità di progettare i propri modelli di attività personalizzati in HTML. 

Come punto di partenza, puoi utilizzare un modello creato utilizzando Crowd HTML Elements da uno dei seguenti GitHub repository: 
+ [Attività di esempio UIs per Amazon SageMaker Ground Truth](https://github.com/aws-samples/amazon-sagemaker-ground-truth-task-uis)
+ [Oltre 60 attività di esempio UIs per Amazon Augmented AI (A2I)](https://github.com/aws-samples/amazon-a2i-sample-task-uis)

Questi repository includono modelli progettati per attività audio, immagine, testo, video e altri tipi di etichettatura dei dati e annotazioni. 

Per ulteriori informazioni su come implementare modelli personalizzati in Amazon SageMaker Ground Truth, consulta[Flussi di lavoro di etichettatura personalizzati](sms-custom-templates.md). Per ulteriori informazioni sui modelli personalizzati in IA aumentata Amazon, consulta [Creazione di modelli di attività del worker personalizzati](a2i-custom-templates.md).

# SageMaker Elementi HTML di AI Crowd
<a name="general-topiclist"></a>

Di seguito è riportato un elenco di Crowd HTML Elements che semplificano la creazione di un modello personalizzato e forniscono un'interfaccia utente familiare per i worker. Questi elementi sono supportati in Ground Truth, IA aumentata e Mechanical Turk.

# crowd-alert
<a name="sms-ui-template-crowd-alert"></a>

Un messaggio che avvisa il worker su una situazione corrente.

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/YzNPdGd).

Di seguito è riportato un esempio di modello Liquid che utilizza l’elemento `<crowd-alert>`. Copia il codice seguente e salvalo in un file con l’estensione `.html`. Apri il file in qualsiasi browser per visualizzare l'anteprima e interagire con questo modello. 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-form>
  <div id="errorBox"></div>
   
  <crowd-keypoint
    src="{{ task.input.taskObject | grant_read_access }}"
    labels="['Item A', 'Item B', 'Item C']"        
    header="Please locate the centers of each item."
    name="annotatedResult">
    <short-instructions>
      Describe your task briefly here and give examples
    </short-instructions>
    <full-instructions>
      Give additional instructions and good/bad examples here
    </full-instructions>   
  </crowd-keypoint>
</crowd-form>

<script>
  var num_obj = 1;

  document.querySelector('crowd-form').onsubmit = function(e) {
    const keypoints = document.querySelector('crowd-keypoint').value.keypoints || document.querySelector('crowd-keypoint')._submittableValue.keypoints;
    const labels = keypoints.map(function(p) {
      return p.label;
    });

    // 1. Make sure total number of keypoints is correct.
    var original_num_labels = document.getElementsByTagName("crowd-keypoint")[0].getAttribute("labels");

    original_num_labels = original_num_labels.substring(2, original_num_labels.length - 2).split("\",\"");
    var goalNumKeypoints = num_obj*original_num_labels.length;
    if (keypoints.length != goalNumKeypoints) {
      e.preventDefault();
      errorBox.innerHTML = '<crowd-alert type="error" dismissible>You must add all keypoint annotations and use each label only once.</crowd-alert>';
      errorBox.scrollIntoView();
      return;
    }

    // 2. Make sure all labels are unique.
    labelCounts = {};
    for (var i = 0; i < labels.length; i++) {
      if (!labelCounts[labels[i]]) {
        labelCounts[labels[i]] = 0;
      }
      labelCounts[labels[i]]++;
    }
    const goalNumSingleLabel = num_obj;

    const numLabels = Object.keys(labelCounts).length;

    Object.entries(labelCounts).forEach(entry => {
      if (entry[1] != goalNumSingleLabel) {
        e.preventDefault();
        errorBox.innerHTML = '<crowd-alert type="error" dismissible>You must use each label only once.</crowd-alert>';
        errorBox.scrollIntoView();
      }
    })
  };
</script>
```

## Attributes
<a name="alert-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

### dismissible
<a name="alert-attributes-dismissible"></a>

Un interruttore booleano che, se presente, consente al worker di chiudere il messaggio.

### tipo
<a name="alert-attributes-type"></a>

Una stringa che specifica il tipo di messaggio da visualizzare. I valori possibili sono "info" (impostazione predefinita), "success", "error" e "warning".

## Gerarchia di elementi
<a name="alert-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi principali**: [crowd-form](sms-ui-template-crowd-form.md)
+ **Elementi figlio**: nessuno

## Vedi anche
<a name="alert-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-badge
<a name="sms-ui-template-crowd-badge"></a>

Un'icona che galleggia sopra l'angolo in alto a destra di un altro elemento cui è collegata.

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/WNRbPwZ).

Di seguito è riportato un esempio di modello che utilizza l’elemento `<crowd-badge>`. Copia il codice seguente e salvalo in un file con l'estensione `.html`. Apri il file in qualsiasi browser per visualizzare l'anteprima e interagire con questo modello. 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-form>
  <crowd-image-classifier
    name="crowd-image-classifier"
    src="https://unsplash.com/photos/NLUkAA-nDdE"
    header="Choose the correct category for this image."
    categories="['Person', 'Umbrella', 'Chair', 'Dolphin']"
  >
    <full-instructions header="Classification Instructions">
      <p>Read the task carefully and inspect the image.</p>
      <p>Choose the appropriate label that best suits the image.</p>
    </full-instructions>
   
    <short-instructions id="short-instructions">
      <p>Read the task carefully and inspect the image.</p>
      <p>Choose the appropriate label that best suits the image.</p>
      <crowd-badge icon="star" for="short-instructions"/>
    </short-instructions>
  </crowd-image-classifier>
</crowd-form>
```

## Attributes
<a name="badge-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

### for
<a name="badge-attributes-for"></a>

Una stringa che specifica l'ID dell'elemento cui il badge è collegato.

### icon
<a name="badge-attributes-icon"></a>

Una stringa che specifica l'icona da visualizzare nel badge. La stringa deve essere il nome di un'icona del set *[iron-icons](https://github.com/PolymerElements/iron-icons)* open-source, che è precaricato, o l'URL a un'icona personalizzata.

Questo attributo sostituisce l'attributo *label*. 

Di seguito è riportato un esempio della sintassi che è possibile utilizzare per aggiungere un’iron-icon a un elemento HTML `<crowd-badge>`. Sostituisci `icon-name` con il nome dell’icona che desideri utilizzare da questo [set di icone](https://www.webcomponents.org/element/@polymer/iron-icons/demo/demo/index.html). 

```
<crowd-badge icon="icon-name" for="short-instructions"/>
```

### etichetta
<a name="badge-attributes-label"></a>

Il testo da visualizzare nel badge. Sono consigliati al massimo tre caratteri perché un testo troppo grande eccede l'area del badge. È possibile visualizzare un'icona al posto del testo impostando l'attributo *icon*.

## Gerarchia di elementi
<a name="badge-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi principali**: [crowd-form](sms-ui-template-crowd-form.md)
+ **Elementi figlio**: nessuno

## Vedi anche
<a name="badge-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-button
<a name="sms-ui-template-crowd-button"></a>

Un pulsante modellato che rappresenta un'operazione.

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/RwKNvgG).

Di seguito è riportato un esempio di modello che utilizza l’elemento `<crowd-button>`. Copia il codice seguente e salvalo in un file con l'estensione `.html`. Apri il file in qualsiasi browser per visualizzare l'anteprima e interagire con questo modello. 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-form>
  <crowd-image-classifier
    name="crowd-image-classifier"
    src="https://unsplash.com/photos/NLUkAA-nDdE"
    header="Please select the correct category for this image"
    categories="['Person', 'Umbrella', 'Chair', 'Dolphin']"
  >
    <full-instructions header="Classification Instructions">
      <p>Read the task carefully and inspect the image.</p>
      <p>Choose the appropriate label that best suits the image.</p>
    </full-instructions>
    <short-instructions>
      <p>Read the task carefully and inspect the image.</p>
      <p>Choose the appropriate label that best suits the image.</p>
      <crowd-button>
        <iron-icon icon="question-answer"/>
      </crowd-button>
    </short-instructions>
  </crowd-image-classifier>
</crowd-form>
```

## Attributes
<a name="button-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

### disabled
<a name="button-attributes-disabled"></a>

Un interruttore booleano che, se presente, visualizza il pulsante come disabilitato e ne impedisce la selezione.

### form-action
<a name="button-attributes-form-action"></a>

Un interruttore che invia il suo elemento [crowd-form](sms-ui-template-crowd-form.md) padre, se impostato su "submit", o ripristina il suo elemento <crowd-form> padre, se impostato su "reset".

### href
<a name="button-attributes-href"></a>

L'URL a una risorsa online. Utilizza questa proprietà se hai bisogno di un link modellato come un pulsante.

### icon
<a name="button-attributes-icon"></a>

Una stringa che specifica l'icona da visualizzare accanto al testo del pulsante. La stringa deve essere il nome di un'icona del set di *[iron-icons](https://github.com/PolymerElements/iron-icons)* open-source, che è precaricata. Ad esempio, per inserire l'iron-icon [ricerca](https://www.webcomponents.org/element/@polymer/iron-icons/demo/demo/index.html) utilizza quanto segue:

```
<crowd-button>
    <iron-icon icon="search"/>
</crowd-button>
```

L'icona si trova a sinistra o a destra del testo, come specificato dall'attributo *icon-align*.

Per utilizzare un'icona personalizzata, consulta **icon-url**.

### icon-align
<a name="button-attributes-icon-align"></a>

La posizione sinistra o destra dell'icona rispetto al testo del pulsante. L'impostazione predefinita è "left".

### icon-url
<a name="button-attributes-icon-url"></a>

Un URL a un'immagine personalizzata per l'icona. Un'immagine personalizzata può essere usata al posto di un'icona standard specificata dall'attributo *icon*.

### loading
<a name="button-attributes-loading"></a>

Un interruttore booleano che, se presente, visualizza il pulsante come in stato di caricamento. Questo attributo ha la precedenza sull'attributo *disabilitato* se entrambi sono presenti.

### target
<a name="button-attributes-target"></a>

Quando si utilizza l'attributo `href` per fare in modo che il pulsante agisca come un collegamento ipertestuale a un URL specifico, l'attributo `target` fa opzionalmente riferimento a un frame o a una finestra in cui l'URL collegato deve essere caricato.

### variant
<a name="button-attributes-variantl"></a>

Lo stile generale del pulsante. Utilizza "primary" per pulsanti principali, "normal" per pulsanti secondari, "link" per pulsanti terziari o "icon" per visualizzare solo l'icona senza testo.

## Gerarchia di elementi
<a name="button-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi principali**: [crowd-form](sms-ui-template-crowd-form.md)
+ **Elementi figlio**: nessuno

## Vedi anche
<a name="button-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-bounding-box
<a name="sms-ui-template-crowd-bounding-box"></a>

Un widget per disegnare rettangoli su un'immagine e assegnare un'etichetta alla parte dell'immagine racchiusa in ogni rettangolo.

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/XWpJGad).

Di seguito è riportato un esempio di modello Liquid che utilizza l’elemento `<crowd-bounding-box>`. Copia il codice seguente e salvalo in un file con l’estensione `.html`. Apri il file in qualsiasi browser per visualizzare l’anteprima e interagire con questo modello. Per altri esempi, consulta questo [GitHub repository.](https://github.com/aws-samples/amazon-sagemaker-ground-truth-task-uis/tree/master/images) 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-form>
  <crowd-bounding-box
    name="annotatedResult"
    src="{{ task.input.taskObject | grant_read_access }}"
    header="Draw bounding boxes around all the cats and dogs in this image"
    labels="['Cat', 'Dog']"
  >
    <full-instructions header="Bounding Box Instructions" >
      <p>Use the bounding box tool to draw boxes around the requested target of interest:</p>
      <ol>
        <li>Draw a rectangle using your mouse over each instance of the target.</li>
        <li>Make sure the box does not cut into the target, leave a 2 - 3 pixel margin</li>
        <li>
          When targets are overlapping, draw a box around each object,
          include all contiguous parts of the target in the box.
          Do not include parts that are completely overlapped by another object.
        </li>
        <li>
          Do not include parts of the target that cannot be seen,
          even though you think you can interpolate the whole shape of the target.
        </li>
        <li>Avoid shadows, they're not considered as a part of the target.</li>
        <li>If the target goes off the screen, label up to the edge of the image.</li>
      </ol>
    </full-instructions>

    <short-instructions>
      Draw boxes around the requested target of interest.
    </short-instructions>
  </crowd-bounding-box>
</crowd-form>
```

## Attributes
<a name="bounding-box-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

### intestazione
<a name="bounding-box-attributes-header"></a>

Il testo da visualizzare sopra l’immagine. Si tratta in genere di una domanda o semplice istruzione per il worker.

### initial-value
<a name="bounding-box-attributes-initialValue"></a>

Un array di oggetti JSON, ciascuno dei quali imposta un rettangolo di delimitazione quando il componente viene caricato. Ogni oggetto JSON nell’array contiene le seguenti proprietà: Le caselle di delimitazione impostate tramite la proprietà `initial-value` possono essere regolate e se una risposta del dipendente è stata regolata viene monitorata tramite un valore booleano `initialValueModified` nell'output della risposta del dipendente.
+ **altezza**: l'altezza della casella in pixel.
+ **etichetta**: il testo assegnato alla casella come parte dell'attività di etichettatura. Questo testo deve corrispondere a una delle etichette definite nell'attributo *labels* dell'elemento < crowd-bounding-box >.
+ **sinistra**: distanza dell'angolo superiore sinistro della casella dal lato sinistro dell'immagine, misurata in pixel.
+ **in alto**: distanza tra l'angolo superiore sinistro della casella e la parte superiore dell'immagine, misurata in pixel.
+ **larghezza**: la larghezza della casella in pixel.

  È possibile estrarre il valore iniziale del riquadro di delimitazione da un file manifest di un lavoro precedente in un modello personalizzato utilizzando il linguaggio di template Liquid:

  ```
  initial-value="[
    {% for box in task.input.manifestLine.label-attribute-name-from-prior-job.annotations %}
      {% capture class_id %}{{ box.class_id }}{% endcapture %}
      {% assign label = task.input.manifestLine.label-attribute-name-from-prior-job-metadata.class-map[class_id] %}
      {
        label: {{label | to_json}},
        left: {{box.left}},
        top: {{box.top}},
        width: {{box.width}},
        height: {{box.height}},
      },
    {% endfor %}
   ]"
  ```

### labels
<a name="bounding-box-attributes-labels"></a>

Un array di stringhe in formato JSON, ciascuna delle quali è un'etichetta che un worker può assegnare alla parte di immagine racchiusa da un rettangolo. **Limite:** 10 etichette.

### nome
<a name="bounding-box-attributes-name"></a>

Il nome di questo widget. Viene utilizzato come una chiave per l’input del widget nell’output del modulo.

### src
<a name="bounding-box-attributes-src"></a>

L'URL dell'immagine su cui disegnare riquadri di delimitazione. 

## Gerarchia di elementi
<a name="bounding-box-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi principali**: [crowd-form](sms-ui-template-crowd-form.md)
+ **Elementi figlio**: [full-instructions](#bounding-box-regions-full-instructions), [short-instructions](#bounding-box-regions-short-instructions)

## Regioni
<a name="bounding-box-regions"></a>

Le seguenti Regioni sono richieste da questo elemento.

### full-instructions
<a name="bounding-box-regions-full-instructions"></a>

Istruzioni generali su come disegnare riquadri di delimitazione.

### short-instructions
<a name="bounding-box-regions-short-instructions"></a>

Istruzioni importanti specifiche dell’attività che vengono visualizzate in una posizione di rilievo.

## Output
<a name="bounding-box-output"></a>

Il seguente output è supportato da questo elemento.

### boundingBoxes
<a name="bounding-box-output-boundingBoxes"></a>

Un array di oggetti JSON, ciascuno dei quali specifica un riquadro di delimitazione che è stato creato dal worker. Ogni oggetto JSON nell’array contiene le seguenti proprietà:
+ **altezza**: l'altezza della casella in pixel.
+ **etichetta**: il testo assegnato alla casella come parte dell'attività di etichettatura. Questo testo deve corrispondere a una delle etichette definite nell'attributo *labels* dell'elemento < crowd-bounding-box >.
+ **sinistra**: distanza dell'angolo superiore sinistro della casella dal lato sinistro dell'immagine, misurata in pixel.
+ **in alto**: distanza tra l'angolo superiore sinistro della casella e la parte superiore dell'immagine, misurata in pixel.
+ **larghezza**: la larghezza della casella in pixel.

### inputImageProperties
<a name="bounding-box-output-inputImageProperties"></a>

Un oggetto JSON che specifica le dimensioni dell'immagine che viene annotata dal worker. Questo oggetto include le seguenti proprietà.
+ **altezza**: l'altezza dell’immagine in pixel.
+ **larghezza**: la larghezza dell’immagine in pixel.

**Example : output elemento di esempio**  
Di seguito sono riportati esempi di output da scenari di utilizzo comuni per questo elemento.  
**Etichetta singola, riquadro singolo/etichetta multipla, riquadro singolo**  

```
[
  {
    "annotatedResult": {
      "boundingBoxes": [
        {
          "height": 401,
          "label": "Dog",
          "left": 243,
          "top": 117,
          "width": 187
        }
      ],
      "inputImageProperties": {
        "height": 533,
        "width": 800
      }
    }
  }
]
```
**Etichetta singola, riquadro multiplo**  

```
[
  {
    "annotatedResult": {
      "boundingBoxes": [
        {
          "height": 401,
          "label": "Dog",
          "left": 243,
          "top": 117,
          "width": 187
        },
        {
          "height": 283,
          "label": "Dog",
          "left": 684,
          "top": 120,
          "width": 116
        }
      ],
      "inputImageProperties": {
        "height": 533,
        "width": 800
      }
    }
  }
]
```
**Etichetta multipla, riquadro multiplo**  

```
[
  {
    "annotatedResult": {
      "boundingBoxes": [
        {
          "height": 395,
          "label": "Dog",
          "left": 241,
          "top": 125,
          "width": 158
        },
        {
          "height": 298,
          "label": "Cat",
          "left": 699,
          "top": 116,
          "width": 101
        }
      ],
      "inputImageProperties": {
        "height": 533,
        "width": 800
      }
    }
  }
]
```
È possibile avere molte etichette disponibili, ma solo quelle utilizzate vengono visualizzate nell’output.

## Vedi anche
<a name="bounding-box-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-card
<a name="sms-ui-template-crowd-card"></a>

Un riquadro con un aspetto elevato per la visualizzazione delle informazioni.

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/QWdwoxe).

Di seguito è riportato un esempio di modello progettato per le attività di analisi del sentiment che utilizzano l'elemento `<crowd-card>`. Copia il codice seguente e salvalo in un file con l’estensione `.html`. Apri il file in qualsiasi browser per visualizzare l'anteprima e interagire con questo modello. 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<style>
  h3 {
    margin-top: 0;
  }
  
  crowd-card {
    width: 100%;
  }
  
  .card {
    margin: 10px;
  }
  
  .left {
    width: 70%;
    margin-right: 10px;
    display: inline-block;
    height: 200px;
  }
  
  .right {
    width: 20%;
    height: 200px;
    display: inline-block;
  }
</style>

<crowd-form>
  <short-instructions>
    Your short instructions here.
  </short-instructions>
  
  <full-instructions>
    Your full instructions here.
  </full-instructions>
  
  <div class="left">
    <h3>What sentiment does this text convey?</h3>
    <crowd-card>
      <div class="card">
        Nothing is great.
      </div>
    </crowd-card>
  </div>
  
  <div class="right">
    <h3>Select an option</h3>
    
    <select name="sentiment1" style="font-size: large" required>
      <option value="">(Please select)</option>
      <option>Negative</option>
      <option>Neutral</option>
      <option>Positive</option>
      <option>Text is empty</option>
    </select>
  </div>
  
  <div class="left">
    <h3>What sentiment does this text convey?</h3>
    <crowd-card>
      <div class="card">
        Everything is great!
      </div>
    </crowd-card>
  </div>
  
  <div class="right">
    <h3>Select an option</h3>
    
    <select name="sentiment2" style="font-size: large" required>
      <option value="">(Please select)</option>
      <option>Negative</option>
      <option>Neutral</option>
      <option>Positive</option>
      <option>Text is empty</option>
    </select>
  </div>
</crowd-form>
```

## Attributes
<a name="card-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

### heading
<a name="card-attributes-heading"></a>

Il testo visualizzato nella parte superiore del riquadro.

### image
<a name="card-attributes-image"></a>

Un URL a un'immagine da visualizzare all'interno del riquadro.

## Gerarchia di elementi
<a name="card-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi principali**: [crowd-form](sms-ui-template-crowd-form.md)
+ **Elementi figlio**: nessuno

## Vedi anche
<a name="card-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-checkbox
<a name="sms-ui-template-crowd-checkbox"></a>

Un componente dell'interfaccia utente che può essere selezionato o deselezionato per consentire a un utente di selezionare più opzioni di un set.

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/YzNPgOL).

Di seguito è riportato un esempio di modello Liquid che utilizza l’elemento `<crowd-checkbox>`. Copia il codice seguente e salvalo in un file con l’estensione `.html`. Apri il file in qualsiasi browser per visualizzare l'anteprima e interagire con questo modello. 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-form>
  
  <p>Find the official website for: <strong>{{ task.input.company }}</strong></p>
  <p>Do not give Yelp pages, LinkedIn pages, etc.</p>
  <p>Include the http:// prefix from the website</p>
  <crowd-input name="website" placeholder="http://example.com"></crowd-input>

  <crowd-checkbox name="website-found">Website Found</crowd-checkbox>

</crowd-form>
```

## Attributes
<a name="checkbox-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

### checked
<a name="checkbox-attributes-checked"></a>

Un interruttore booleano che, se presente, visualizza la casella di controllo come selezionata.

Di seguito è riportato un esempio di syntx utilizzato per selezionare una casella di controllo per impostazione predefinita.

```
  <crowd-checkbox name="checkedBox" value="checked" checked>This box is checked</crowd-checkbox>
```

### disabled
<a name="checkbox-attributes-disabled"></a>

Un interruttore booleano che, se presente, visualizza la casella di controllo come disabilitata e ne impedisce la selezione.

Di seguito è riportato un esempio della sintassi utilizzata per disabilitare una casella di controllo. 

```
  <crowd-checkbox name="disabledCheckBox" value="Disabled" disabled>Cannot be selected</crowd-checkbox>
```

### nome
<a name="checkbox-attributes-name"></a>

Una stringa che viene utilizzata per identificare la risposta inviata dal worker. Questo valore corrisponderà a una chiave nell’oggetto JSON che specifica la risposta.

### obbligatorio
<a name="checkbox-attributes-required"></a>

Un interruttore booleano che, se presente, richiede al worker di fornire l'input.

Di seguito è riportato un esempio della sintassi utilizzata per richiedere la selezione di una casella di controllo.

```
  <crowd-checkbox name="work_verified" required>Instructions were clear</crowd-checkbox>
```

### value
<a name="checkbox-attributes-value"></a>

Una stringa utilizzata come il nome dello stato della casella di controllo nell'output. Se non specificato, viene usato il valore predefinito "on". 

## Gerarchia di elementi
<a name="checkbox-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi principali**: [crowd-form](sms-ui-template-crowd-form.md)
+ **Elementi figlio**: nessuno

## Output
<a name="checkbox-element-output"></a>

Fornisce un oggetto JSON. La stringa `name` è il nome dell'oggetto e la stringa `value` è il nome proprietà per un valore booleano basato sullo stato della casella di controllo; true se selezionata, false se non selezionata.

**Example : output elemento di esempio**  
**Utilizzo dello stesso valore `name` per più riquadri.**  

```
<!-- INPUT -->  
<div><crowd-checkbox name="image_attributes" value="blurry"> Blurry </crowd-checkbox></div>
<div><crowd-checkbox name="image_attributes" value="dim"> Too Dim </crowd-checkbox></div>
<div><crowd-checkbox name="image_attributes" value="exposed"> Too Bright </crowd-checkbox></div>
```

```
//Output with "blurry" and "dim" checked
[
  {
    "image_attributes": {
      "blurry": true,
      "dim": true,
      "exposed": false
    }
  }
]
```
Tutti e tre i valori di colore sono proprietà di un singolo oggetto.  
**Uso di valori `name` diversi per ciascun riquadro.**  

```
<!-- INPUT -->
<div><crowd-checkbox name="Stop" value="Red"> Red </crowd-checkbox></div>
<div><crowd-checkbox name="Slow" value="Yellow"> Yellow </crowd-checkbox></div>
<div><crowd-checkbox name="Go" value="Green"> Green </crowd-checkbox></div>
```

```
//Output with "Red" checked
[
  {
    "Go": {
      "Green": false
    },
    "Slow": {
      "Yellow": false
    },
    "Stop": {
      "Red": true
    }
  }
]
```

## Vedi anche
<a name="checkbox-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-classifier
<a name="sms-ui-template-crowd-classifier"></a>

Un widget per la classificazione di contenuti non di immagine, ad esempio audio, video o testo.

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/KKawYBm).

Di seguito è riportato un esempio di un modello di attività del worker HTML creato utilizzando `crowd-classifier`. In questo esempio viene utilizzato il [linguaggio modello Liquid](https://shopify.github.io/liquid/basics/introduction/) per automatizzare:
+ Categorie etichette nel parametro `categories` 
+ Gli oggetti che vengono classificati nel parametro `classification-target`. 

Copia il codice seguente e salvalo in un file con l’estensione `.html`. Apri il file in qualsiasi browser per visualizzare l'anteprima e interagire con questo modello. 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-form>
    <crowd-classifier
      name="category"
      categories="{{ task.input.labels | to_json | escape }}"
      header="What type of a document is this?"
    >
      <classification-target>
        <iframe style="width: 100%; height: 600px;" src="{{ task.input.taskObject  | grant_read_access }}" type="application/pdf"></iframe>
      </classification-target>
      
      <full-instructions header="Document Classification Instructions">
        <p>Read the task carefully and inspect the document.</p>
        <p>Choose the appropriate label that best suits the document.</p>
      </full-instructions>

      <short-instructions>
        Please choose the correct category for the document
      </short-instructions>
    </crowd-classifier>
</crowd-form>
```

## Attributes
<a name="crowd-classifier-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

### categorie
<a name="crowd-classifier-attributes-categories"></a>

Un array di stringhe in formato JSON, ciascuna delle quali è una categoria che un worker può assegnare al testo. È consigliabile includere "other" come una categoria; in caso contrario il worker potrebbe non essere in grado di fornire una risposta.

### intestazione
<a name="crowd-classifier-attributes-header"></a>

Il testo da visualizzare sopra l’immagine. Si tratta in genere di una domanda o semplice istruzione per il worker.

### nome
<a name="crowd-classifier-attributes-name"></a>

Il nome di questo widget. Viene utilizzato come una chiave per l’input del widget nell’output del modulo.

## Gerarchia di elementi
<a name="crowd-classifier-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi principali**: [crowd-form](sms-ui-template-crowd-form.md)
+ **Elementi figlio**: [classification-target](#crowd-classifier-regions-classification-target), [full-instructions](#crowd-classifier-regions-full-instructions), [short-instructions](#crowd-classifier-regions-short-instructions)

## Regioni
<a name="crowd-classifier-regions"></a>

Le seguenti Regioni sono supportate da questo elemento.

### classification-target
<a name="crowd-classifier-regions-classification-target"></a>

Il contenuto che deve essere classificato dal worker. Può essere testo normale o HTML. Esempi di utilizzo di HTML includono, *a titolo esemplificativo*, l'integrazione di un lettore audio o video, l'integrazione di un PDF o l'esecuzione di un confronto tra due o più immagini.

### full-instructions
<a name="crowd-classifier-regions-full-instructions"></a>

Istruzioni generali su come eseguire la classificazione del testo.

### short-instructions
<a name="crowd-classifier-regions-short-instructions"></a>

Istruzioni importanti specifiche dell’attività che vengono visualizzate in una posizione di rilievo.

## Output
<a name="crowd-classifier-output"></a>

L'output di questo elemento è un oggetto che utilizza il valore `name` specificato come un nome di proprietà e una stringa di `categories` come valore della proprietà.

**Example : output elemento di esempio**  
Di seguito è riportato un esempio di output di questo elemento.  

```
[
  {
    "<name>": {
      "label": "<value>"
    }
  }
]
```

## Vedi anche
<a name="crowd-classifier-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-classifier-multi-select
<a name="sms-ui-template-crowd-classifier-multi-select"></a>

Un widget per classificare varie forme di contenuto, come audio, video o testo, in una o più categorie. Il contenuto da classificare viene definito come un *oggetto*. 

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/ExZaMOm).

Di seguito è riportato un esempio di un modello di attività del worker HTML creato utilizzando questo elemento. Copia il codice seguente e salvalo in un file con l’estensione `.html`. Apri il file in qualsiasi browser per visualizzare l'anteprima e interagire con questo modello. 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-form>
    <crowd-classifier-multi-select
      name="category"
      categories="['Positive', 'Negative', 'Neutral']"
      header="Select the relevant categories"
      exclusion-category="{ text: 'None of the above' }"
    >
      <classification-target>
        {{ task.input.taskObject }}
      </classification-target>
      
      <full-instructions header="Text Categorization Instructions">
        <p><strong>Positive</strong> sentiment include: joy, excitement, delight</p>
        <p><strong>Negative</strong> sentiment include: anger, sarcasm, anxiety</p>
        <p><strong>Neutral</strong>: neither positive or negative, such as stating a fact</p>
        <p><strong>N/A</strong>: when the text cannot be understood</p>
        <p>When the sentiment is mixed, such as both joy and sadness, choose both labels.</p>
      </full-instructions>

      <short-instructions>
       Choose all categories that are expressed by the text. 
      </short-instructions>
    </crowd-classifier-multi-select>
</crowd-form>
```

## Attributes
<a name="crowd-classifier-multi-attributes"></a>

I seguenti attributi sono supportati da questo elemento `crowd-classifier-multi-select`. Ogni attributo accetta un valore stringa o valori stringa. 

### categorie
<a name="crowd-classifier-multi-attributes-categories"></a>

Obbligatorio. Un array di stringhe in formato JSON, ciascuna delle quali è una categoria che un worker può assegnare all'oggetto. 

### intestazione
<a name="crowd-classifier-multi-attributes-header"></a>

Obbligatorio. Il testo da visualizzare sopra l’immagine. Si tratta in genere di una domanda o semplice istruzione per i worker.

### nome
<a name="crowd-classifier-multi-attributes-name"></a>

Obbligatorio. Il nome di questo widget. Nell’output del modulo, il nome viene utilizzato come una chiave per l’input del widget.

### exclusion-category
<a name="crowd-classifier-multi-attributes-exclusion-category"></a>

Opzionale. Una stringa in formato JSON con il seguente formato: `"{ text: 'default-value' }"`. Questo attributo imposta un valore predefinito che i worker possono scegliere se nessuna delle etichette si applica all'oggetto visualizzato nell'interfaccia utente del worker.

## Gerarchia di elementi
<a name="crowd-classifier-multi-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi padre e figlio:
+ **Elementi principali**: [crowd-form](sms-ui-template-crowd-form.md)
+ **Elementi figlio**: [classification-target](sms-ui-template-crowd-classifier.md#crowd-classifier-regions-classification-target), [full-instructions](sms-ui-template-crowd-classifier.md#crowd-classifier-regions-full-instructions), [short-instructions](sms-ui-template-crowd-classifier.md#crowd-classifier-regions-short-instructions)

## Regioni
<a name="crowd-classifier-multi-regions"></a>

Questo elemento utilizza le seguenti regioni.

### classification-target
<a name="crowd-classifier-multi-regions-classification-target"></a>

Il contenuto che deve essere classificato dal worker. Il contenuto può essere testo normale o un oggetto specificato nel modello utilizzando HTML. Ad esempio, puoi utilizzare elementi HTML per includere un lettore video o audio, incorporando un file PDF, o includere un confronto di due o più immagini.

### full-instructions
<a name="crowd-classifier-multi-regions-full-instructions"></a>

Istruzioni generali su come classificare il testo.

### short-instructions
<a name="crowd-classifier-multi-regions-short-instructions"></a>

Istruzioni importanti specifiche dell’attività. Queste istruzioni sono visualizzate in modo ben visibile.

## Output
<a name="crowd-classifier-multi-output"></a>

L'output di questo elemento è un oggetto che utilizza il valore `name` specificato come un nome di proprietà e una stringa di `categories` come il valore della proprietà.

**Example : output elemento di esempio**  
Di seguito è riportato un esempio di output di questo elemento.  

```
[
  {
    "<name>": {
        labels: ["label_a", "label_b"]
    }
  }
]
```

## Vedi anche
<a name="crowd-classifier-multi-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti:
+ [Categorizzare il testo con la classificazione (multi-etichetta)](sms-text-classification-multilabel.md)
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-entity-annotation
<a name="sms-ui-template-crowd-entity-annotation"></a>

Un widget per etichettare parole, frasi o stringhe di caratteri all'interno di un testo più lungo. I worker selezionano un'etichetta ed evidenziano il testo a cui si applica l'etichetta. 

**Importante: widget autonomo**  
Non utilizzare l'elemento `<crowd-entity-annotation>`con l'elemento `<crowd-form>`. Contiene la propria logica di invio del modulo e il pulsante **Invia**.

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/XWpJQrR).

Di seguito è riportato un esempio di modello che utilizza l’elemento `<crowd-entity-annotation>`. Copia il codice seguente e salvalo in un file con l'estensione `.html`. Apri il file in qualsiasi browser per visualizzare l'anteprima e interagire con questo modello. 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-entity-annotation
  name="crowd-entity-annotation"
  header="Highlight parts of the text below"
  labels="[{'label': 'person', 'shortDisplayName': 'per', 'fullDisplayName': 'Person'}, {'label': 'date', 'shortDisplayName': 'dat', 'fullDisplayName': 'Date'}, {'label': 'company', 'shortDisplayName': 'com', 'fullDisplayName': 'Company'}]"
  text="Amazon SageMaker Ground Truth helps you build highly accurate training datasets for machine learning quickly."
>
  <full-instructions header="Named entity recognition instructions">
    <ol>
      <li><strong>Read</strong> the text carefully.</li>
      <li><strong>Highlight</strong> words, phrases, or sections of the text.</li>
      <li><strong>Choose</strong> the label that best matches what you have highlighted.</li>
      <li>To <strong>change</strong> a label, choose highlighted text and select a new label.</li>
      <li>To <strong>remove</strong> a label from highlighted text, choose the X next to the abbreviated label name on the highlighted text.</li>
      <li>You can select all of a previously highlighted text, but not a portion of it.</li>
    </ol>
  </full-instructions>

  <short-instructions>
    Apply labels to words or phrases.
  </short-instructions>

    <div id="additionalQuestions" style="margin-top: 20px">
      <h3>
        What is the overall subject of this text?
      </h3>
      <crowd-radio-group>
        <crowd-radio-button name="tech" value="tech">Technology</crowd-radio-button>
        <crowd-radio-button name="politics" value="politics">Politics</crowd-radio-button>
      </crowd-radio-group>
    </div>
</crowd-entity-annotation>

<script>
  document.addEventListener('all-crowd-elements-ready', () => {
    document
      .querySelector('crowd-entity-annotation')
      .shadowRoot
      .querySelector('crowd-form')
      .form
      .appendChild(additionalQuestions);
  });
</script>
```

## Attributes
<a name="entity-annotation-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

### intestazione
<a name="entity-annotation-attributes-header"></a>

Il testo da visualizzare sopra l’immagine. Si tratta in genere di una domanda o semplice istruzione per il worker.

### initial-value
<a name="entity-annotation-attributes-initial-value"></a>

Un array di oggetti in formato JSON, ognuno dei quali definisce un'annotazione da applicare al testo all'inizializzazione. Gli oggetti contengono un valore `label` che corrisponde a uno nell'attributo `labels`, un valore `startOffset` intero per l'offset unicode iniziale dello span etichettato e un valore `endOffset` intero per l'offset unicode finale.

**Example**  

```
[
  {
    label: 'person',
    startOffset: 0,
    endOffset: 16
  },
  ...
]
```

### labels
<a name="entity-annotation-attributes-labels"></a>

Una matrice di oggetti in formato JSON, ciascuno dei quali contiene:
+ `label` (obbligatorio): il nome utilizzato per identificare le entità.
+ `fullDisplayName` (facoltativo): utilizzato per l'elenco di etichette nel widget di attività. Il valore predefinito è il valore dell’etichetta, se non specificato.
+ `shortDisplayName` (facoltativo): un'abbreviazione di 3-4 lettere per visualizzare le entità prima selezionate. Il valore predefinito è il valore dell’etichetta, se non specificato.
**`shortDisplayName` è altamente consigliato**  
I valori visualizzati sopra le selezioni possono sovrapporsi e creare difficoltà nella gestione delle entità etichettate nello spazio di lavoro. È consigliabile fornire un carattere di 3-4 `shortDisplayName` per ogni etichetta per evitare sovrapposizioni e mantenere lo spazio di lavoro gestibile per i worker.

**Example**  

```
[
  {
    label: 'person',
    shortDisplayName: 'per', 
    fullDisplayName: 'person'
  }
]
```

### nome
<a name="entity-annotation-attributes-name"></a>

Serve come nome del widget nel DOM. Viene utilizzato anche come nome di attributo dell'etichetta nell'output del modulo e nel manifest di output.

### testo
<a name="entity-annotation-attributes-text"></a>

Il testo da annotare. Per impostazione predefinita, il sistema di creazione di modelli utilizza caratteri di escape tra virgolette e stringhe HTML. Se il codice è già preceduto in tutto o in parte da caratteri di escape, consulta [Filtri variabili](sms-custom-templates-step2-automate.md#sms-custom-templates-step2-automate-filters) per ulteriori modi per controllare i caratteri di escape.

## Gerarchia di elementi
<a name="entity-annotation-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi figlio**: [full-instructions](#entity-annotation-regions-full-instructions), [short-instructions](#entity-annotation-regions-short-instructions)

## Regioni
<a name="entity-annotation-regions"></a>

Le seguenti Regioni sono supportate da questo elemento.

### full-instructions
<a name="entity-annotation-regions-full-instructions"></a>

Istruzioni generali su come utilizzare il widget.

### short-instructions
<a name="entity-annotation-regions-short-instructions"></a>

Istruzioni importanti specifiche dell’attività che vengono visualizzate in una posizione di rilievo.

## Output
<a name="entity-annotation-output"></a>

Il seguente output è supportato da questo elemento.

### Entità
<a name="entity-annotation-output-entities"></a>

Un oggetto JSON che specifica l'inizio, la fine e l'etichetta di un'annotazione. Questo oggetto include le seguenti proprietà.
+ **etichetta** — L'etichetta assegnata.
+ **startOffset** — L'offset Unicode dell'inizio del testo selezionato.
+ **endOffset** — L'offset Unicode del primo carattere dopo la selezione.

**Example : output elemento di esempio**  
Di seguito è riportato un esempio di output di tale elemento.  

```
{
  "myAnnotatedResult": {
    "entities": [
      {
        "endOffset": 54,
        "label": "person",
        "startOffset": 47
      },
      {
        "endOffset": 97,
        "label": "event",
        "startOffset": 93
      },
      {
        "endOffset": 219,
        "label": "date",
        "startOffset": 212
      },
      {
        "endOffset": 271,
        "label": "location",
        "startOffset": 260
      }
    ]
  }
}
```

## Vedi anche
<a name="entity-annotation-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-fab
<a name="sms-ui-template-crowd-fab"></a>

Un pulsante mobile con un'immagine al centro. 

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/ExZaJaw).

Di seguito è riportato un esempio di modello Liquid progettato per la classificazione delle immagini che utilizza l’elemento `<crowd-fab>`. Questo modello consente JavaScript ai lavoratori di segnalare problemi con l'interfaccia utente del lavoratore. Copia il codice seguente e salvalo in un file con l’estensione `.html`. Apri il file in qualsiasi browser per visualizzare l'anteprima e interagire con questo modello. 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
<crowd-form>
    <crowd-image-classifier 
        src="${image_url}"
        categories="['Cat', 'Dog', 'Bird', 'None of the Above']"
        header="Choose the correct category for the image"
        name="category">


        <short-instructions>
            <p>Read the task carefully and inspect the image.</p>
            <p>Choose the appropriate label that best suits the image.</p>
            <p>If there is an issue with the image or tools, please select
              <b>None of the Above</b>, describe the issue in the text box and click the 
              button below.</p>
            <crowd-input label="Report an Issue" name="template-issues"></crowd-input>
            <crowd-fab id="button1" icon="report-problem" title="Issue"/>
        </short-instructions>
        
        <full-instructions header="Classification Instructions">
            <p>Read the task carefully and inspect the image.</p>
            <p>Choose the appropriate label that best suits the image. 
            Use the <b>None of the Above</b> option if none of the other labels suit the image.</p>
        </full-instructions>

    </crowd-image-classifier>
</crowd-form>

<script>
  [
    button1,
  ].forEach(function(button) {
    button.addEventListener('click', function() {
      document.querySelector('crowd-form').submit();
    });
  });
</script>
```

## Attributes
<a name="fab-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

### disabled
<a name="fab-attributes-disabled"></a>

Un interruttore booleano che, se presente, visualizza il pulsante mobile come disabilitato e ne impedisce la selezione.

### icon
<a name="fab-attributes-icon"></a>

Una stringa che specifica l'icona da visualizzare al centro del pulsante. La stringa deve essere il nome di un'icona del set *[iron-icons](https://github.com/PolymerElements/iron-icons)* open-source, che è precaricato, o l'URL a un'icona personalizzata.

Di seguito è riportato un esempio della sintassi che è possibile utilizzare per aggiungere un’iron-icon a un elemento HTML `<crowd-fab>`. Sostituisci `icon-name` con il nome dell’icona che desideri utilizzare da questo [set di icone](https://www.webcomponents.org/element/@polymer/iron-icons/demo/demo/index.html). 

```
<crowd-fab "id="button1" icon="icon-name" title="Issue"/>
```

### etichetta
<a name="fab-attributes-label"></a>

Una stringa costituita da un singolo carattere che può essere utilizzata al posto di un'icona. Emoticon o più caratteri possono portare alla visualizzazione di puntini di sospensione.

### titolo
<a name="fab-attributes-title"></a>

Una stringa che viene visualizzata come descrizione comando quando si posiziona il puntatore del mouse sul pulsante.

## Gerarchia di elementi
<a name="fab-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi principali**: [crowd-form](sms-ui-template-crowd-form.md)
+ **Elementi figlio**: nessuno

## Vedi anche
<a name="fab-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-form
<a name="sms-ui-template-crowd-form"></a>

Il wrapper del modulo per tutte le attività personalizzate. Consente di impostare e implementare operazioni importanti per il corretto invio dei dati del modulo.

Se un [crowd-button](sms-ui-template-crowd-button.md) di tipo "submit" non è incluso nell'elemento `<crowd-form>`, verrà aggiunto automaticamente all'elemento `<crowd-form>`. 

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/oNBgOWa).

Di seguito è riportato un esempio di un modello di classificazione delle immagini che utilizza l’elemento `<crowd-form>`. Copia il codice seguente e salvalo in un file con l’estensione `.html`. Apri il file in qualsiasi browser per visualizzare l’anteprima e interagire con questo modello. 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-form>
    <crowd-image-classifier 
        src="${image_url}"
        categories="['Cat', 'Dog', 'Bird', 'None of the Above']"
        header="Choose the correct category for the image"
        name="category">


        <short-instructions>
            <p>Read the task carefully and inspect the image.</p>
            <p>Choose the appropriate label that best suits the image.</p>
        </short-instructions>

 
        <full-instructions header="Classification Instructions">
            <p>Read the task carefully and inspect the image.</p>
            <p>Choose the appropriate label that best suits the image. 
            Use the <b>None of the Above</b> option if none of the other labels suit the image.</p>
        </full-instructions>

    </crowd-image-classifier>
</crowd-form>
```

## Gerarchia di elementi
<a name="form-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi padre**: nessuno
+ **Elementi figlio**: uno qualsiasi degli elementi [modello interfaccia utente](sms-ui-template-reference.md)

## Eventi elemento
<a name="form-element-events"></a>

L'elemento `crowd-form` estende [l'elemento `form` standard HTML](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form) e ne eredita gli eventi, come `onclick` e `onsubmit`.

## Vedi anche
<a name="form-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-icon-button
<a name="sms-ui-template-crowd-icon-button"></a>

Un pulsante con un'immagine posizionata al centro. Quando l'utente tocca il pulsante, dal centro del pulsante viene generato un effetto increspatura.

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/ExZaJXE).

Di seguito è riportato un esempio di modello Liquid progettato per la classificazione delle immagini che utilizza l’elemento `<crowd-icon-button>`. Questo modello consente JavaScript ai lavoratori di segnalare problemi con l'interfaccia utente del lavoratore. Copia il codice seguente e salvalo in un file con l’estensione `.html`. Apri il file in qualsiasi browser per visualizzare l'anteprima e interagire con questo modello. 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
<crowd-form>
    <crowd-image-classifier 
        src="${image_url}"
        categories="['Cat', 'Dog', 'Bird', 'None of the Above']"
        header="Choose the correct category for the image"
        name="category">


        <short-instructions>
            <p>Read the task carefully and inspect the image.</p>
            <p>Choose the appropriate label that best suits the image.</p>
            <p>If there is an issue with the image or tools, please select
              <b>None of the Above</b>, describe the issue in the text box and click the 
              button below.</p>
            <crowd-input label="Report an Issue" name="template-issues"/></crowd-input>
            <crowd-icon-button id="button1" icon="report-problem" title="Issue"/>
        </short-instructions>
        
        <full-instructions header="Classification Instructions">
            <p>Read the task carefully and inspect the image.</p>
            <p>Choose the appropriate label that best suits the image. 
            Use the <b>None of the Above</b> option if none of the other labels suit the image.</p>
        </full-instructions>

    </crowd-image-classifier>
</crowd-form>

<script>
  [
    button1,
  ].forEach(function(button) {
    button.addEventListener('click', function() {
      document.querySelector('crowd-form').submit();
    });
  });
</script>
```

## Attributes
<a name="icon-button-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

### disabled
<a name="icon-button-attributes-disabled"></a>

Un interruttore booleano che, se presente, visualizza il pulsante come disabilitato e ne impedisce la selezione.

### icon
<a name="icon-button-attributes-icon"></a>

Una stringa che specifica l'icona da visualizzare al centro del pulsante. La stringa deve essere il nome di un'icona del set *[iron-icons](https://github.com/PolymerElements/iron-icons)* open-source, che è precaricato, o l'URL a un'icona personalizzata.

Di seguito è riportato un esempio della sintassi che è possibile utilizzare per aggiungere un’iron-icon a un elemento HTML `<crowd-icon-button>`. Sostituisci `icon-name` con il nome dell’icona che desideri utilizzare da questo [set di icone](https://www.webcomponents.org/element/@polymer/iron-icons/demo/demo/index.html). 

```
<crowd-icon-button id="button1" icon="icon-name" title="Issue"/>
```

## Gerarchia di elementi
<a name="icon-button-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi principali**: [crowd-form](sms-ui-template-crowd-form.md)
+ **Elementi figlio**: nessuno

## Vedi anche
<a name="icon-button-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-image-classifier
<a name="sms-ui-template-crowd-image-classifier"></a>

Un widget per classificare un'immagine. Utilizza uno dei seguenti formati di immagine supportati: APNG, BMP, GIF, ICO, JPEG, PNG, SVG. Le immagini non hanno limiti di dimensione. 

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/vYgEvWw).

Di seguito è riportato un esempio di un modello di classificazione delle immagini che utilizza l’elemento `<crowd-image-classifier>`. Copia il codice seguente e salvalo in un file con l’estensione `.html`. Apri il file in qualsiasi browser per visualizzare l'anteprima e interagire con questo modello. 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
<crowd-form>
    <crowd-image-classifier 
        src="${image_url}"
        categories="['Cat', 'Dog', 'Bird', 'None of the Above']"
        header="Choose the correct category for the image"
        name="category">


        <short-instructions>
            <p>Read the task carefully and inspect the image.</p>
            <p>Choose the appropriate label that best suits the image.</p>
        </short-instructions>

 
        <full-instructions header="Classification Instructions">
            <p>Read the task carefully and inspect the image.</p>
            <p>Choose the appropriate label that best suits the image. 
            Use the <b>None of the Above</b> option if none of the other labels suit the image.</p>
        </full-instructions>

    </crowd-image-classifier>
</crowd-form>
```

## Attributes
<a name="image-classifier-attributes"></a>

I seguenti attributi sono richiesti da questo elemento.

### categorie
<a name="image-classifier-attributes-categories"></a>

Un array di stringhe in formato JSON, ciascuna delle quali è una categoria che un worker può assegnare all'immagine. È consigliabile includere "other" come una categoria, in modo che il worker possa fornire una risposta. Puoi specificare fino a 10 categorie.

### intestazione
<a name="image-classifier-attributes-header"></a>

Il testo da visualizzare sopra l’immagine. Si tratta in genere di una domanda o semplice istruzione per il worker.

### nome
<a name="image-classifier-attributes-name"></a>

Il nome di questo widget. Viene utilizzato come una chiave per l’input del widget nell’output del modulo.

### overlay
<a name="image-classifier-attributes-overlay"></a>

Informazioni da sovrapporre all'immagine sorgente. Questo è per i flussi di lavoro di verifica delle attività di delimitazione, di segmentazione semantica e di segmentazione istanza.

Si tratta di un oggetto JSON contenente un oggetto con il nome del tipo di attività in camelCase come chiave. Il valore di tale chiave è un oggetto che contiene le etichette e altre informazioni necessarie dall'attività precedente.

Segue un esempio di un elemento `crowd-image-classifier` con attributi per la verifica di un'attività di delimitazione:

```
<crowd-image-classifier
    name="boundingBoxClassification"
    header="Rate the quality of the annotations based on the background section 
       in the instructions on the left hand side."
    src="https://i.imgur.com/CIPKVJo.jpg"
    categories="['good', 'bad', 'okay']"
    overlay='{
        "boundingBox": {
            labels: ["bird", "cat"], 
            value: [
                {
                  height: 284,
                  label: "bird",
                  left: 230,
                  top: 974,
                  width: 223
                },
                {
                  height: 69,
                  label: "bird",
                  left: 79,
                  top: 889,
                  width: 247
                }
            ]
        },
    }'
> ... </crowd-image-classifier>
```

Un'attività di verifica della segmentazione semantica utilizzerebbe il valore `overlay` come segue:

```
<crowd-image-classifier
  name='crowd-image-classifier'
  categories='["good", "bad"]'
  src='URL of image to be classified'
  header='Please classify'
  overlay='{
    "semanticSegmentation": {
      "labels": ["Cat", "Dog", "Bird", "Cow"],
      "labelMappings": {
        "Bird": {
          "color": "#ff7f0e"
        },
        "Cat": {
          "color": "#2ca02c"
        },
        "Cow": {
          "color": "#d62728"
        },
        "Dog": {
          "color": "#2acf59"
        }
      },
      "src": "URL of overlay image",
    }
  }'
> ... </crowd-image-classifier>
```

Un'attività di segmentazione delle istanze utilizzerebbe il valore `overlay` come segue:

```
<crowd-image-classifier
  name='crowd-image-classifier'
  categories='["good", "bad"]'
  src='URL of image to be classified'
  header='Please classify instances of each category'
  overlay='{
    "instanceSegmentation": {
       "labels": ["Cat", "Dog", "Bird", "Cow"],
       "instances": [
        {
         "color": "#2ca02c",
         "label": "Cat"
        },
        {
         "color": "#1f77b4",
         "label": "Cat"
        },
        {
         "color": "#d62728",
         "label": "Dog"
        }
       ],
       "src": "URL of overlay image",
    }
  }'
> ... </crowd-image-classifier>
```

### src
<a name="image-classifier-attributes-src"></a>

L’URL dell’immagine da classificare. 

## Gerarchia di elementi
<a name="image-classifier-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi principali**: [crowd-form](sms-ui-template-crowd-form.md)
+ **Elementi figlio**: [full-instructions](#image-classifier-regions-full-instructions), [short-instructions](#image-classifier-regions-short-instructions), [worker-comment](#image-classifier-regions-worker-comment)

## Regioni
<a name="image-classifier-regions"></a>

Le seguenti regioni sono utilizzate da questo elemento.

### full-instructions
<a name="image-classifier-regions-full-instructions"></a>

Istruzioni generali per il worker su come classificare un’immagine.

### short-instructions
<a name="image-classifier-regions-short-instructions"></a>

Istruzioni importanti specifiche dell’attività che vengono visualizzate in una posizione di rilievo.

### worker-comment
<a name="image-classifier-regions-worker-comment"></a>

Utilizzare questa opzione nei flussi di lavoro di verifica quando è necessario che i dipendenti spieghino perché hanno fatto una determinata scelta. Utilizzare il testo tra i tag di apertura e chiusura per fornire istruzioni ai dipendenti su quali informazioni devono essere incluse nel commento.

Utilizza gli attributi seguenti:

#### intestazione
<a name="image-classifier-regions-worker-comment-header"></a>

Una frase con un invito all'azione per lasciare un commento. Utilizzata come testo del titolo per una finestra modale in cui viene aggiunto il commento.

Opzionale. Il valore predefinito è “Aggiungi un commento”.

#### link-text
<a name="image-classifier-regions-worker-comment-link-text"></a>

Questo testo appare sotto le categorie del widget. Quando si seleziona con un clic, si apre una finestra modale in cui il dipendente può aggiungere un commento.

Opzionale. Il valore predefinito è “Aggiungi un commento”.

#### placeholder
<a name="image-classifier-regions-worker-comment-placeholder"></a>

Testo di esempio nell'area di testo del commento sovrascritto quando il dipendente inizia a digitare. Questo non viene visualizzato in output se il dipendente lascia il campo vuoto.

Opzionale. L’impostazione predefinita è vuoto.

## Output
<a name="image-classifier-output"></a>

L'output di questo elemento è una stringa che specifica uno dei valori definiti nell'attributo *categories* dell'elemento < crowd-image-classifier >.

**Example : output elemento di esempio**  
Di seguito è riportato un esempio di output di questo elemento.  

```
[
  {
    "<name>": {
      "label": "<value>"
      "workerComment": "Comment - if no comment is provided, this field will not be present"
    }
  }
]
```

## Vedi anche
<a name="image-classifier-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-image-classifier-multi-seleziona
<a name="sms-ui-template-crowd-image-classifier-multi"></a>

Un widget per classificare un'immagine in una o più categorie. Utilizza uno dei seguenti formati di immagine supportati: APNG, BMP, GIF, ICO, JPEG, PNG, SVG. Le immagini non hanno limiti di dimensione. 

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/WNRbWgR).

Di seguito è riportato un esempio di un modello di attività del worker HTML creato utilizzando questo elemento crowd. Copia il codice seguente e salvalo in un file con l'estensione `.html`. Apri il file in qualsiasi browser per visualizzare l'anteprima e interagire con questo modello. 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-form>
  <crowd-image-classifier-multi-select
    name="animals"
    categories="['Cat', 'Dog', 'Horse', 'Pig', 'Bird']"
    src="https://images.unsplash.com/photo-1509205477838-a534e43a849f?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1998&q=80"
    header="Please identify the animals in this image"
    exclusion-category="{ text: 'None of the above' }"
  >
    <full-instructions header="Classification Instructions">
      <p>If more than one label applies to the image, select multiple labels.</p>
      <p>If no labels apply, select <b>None of the above</b></p>
    </full-instructions>

    <short-instructions>
      <p>Read the task carefully and inspect the image.</p>
      <p>Choose the appropriate label(s) that best suit the image.</p>
    </short-instructions>
  </crowd-image-classifier-multi-select>
</crowd-form>
```

## Attributes
<a name="image-classifier-multi-attributes"></a>

I seguenti attributi sono supportati da questo elemento `crowd-image-classifier-multi-select`. Ogni attributo accetta un valore stringa o valori stringa.

### categorie
<a name="image-classifier-multi-attributes-categories"></a>

Obbligatorio. Un array di stringhe in formato JSON, ciascuna delle quali è una categoria che un worker può assegnare all'immagine. Un worker deve scegliere almeno una categoria e può scegliere tutte le categorie. 

### intestazione
<a name="image-classifier-multi-attributes-header"></a>

Obbligatorio. Il testo da visualizzare sopra l’immagine. Si tratta in genere di una domanda o semplice istruzione per i worker.

### nome
<a name="image-classifier-multi-attributes-name"></a>

Obbligatorio. Il nome di questo widget. Nell’output del modulo, il nome viene utilizzato come una chiave per l’input del widget.

### src
<a name="image-classifier-multi-attributes-src"></a>

Obbligatorio. L’URL dell’immagine da classificare. 

### exclusion-category
<a name="image-classifier-multi-attributes-exclusion-category"></a>

Opzionale. Una stringa in formato JSON con il seguente formato: `"{ text: 'default-value' }"`. Questo attributo imposta un valore predefinito che i worker possono scegliere se nessuna delle etichette si applica all'immagine visualizzata nell'interfaccia utente del worker.

## Gerarchia di elementi
<a name="image-classifier-multi-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi padre e figlio:
+ **Elementi principali**: [crowd-form](sms-ui-template-crowd-form.md)
+ **Elementi figlio**: [full-instructions](sms-ui-template-crowd-image-classifier.md#image-classifier-regions-full-instructions), [short-instructions](sms-ui-template-crowd-image-classifier.md#image-classifier-regions-short-instructions), [worker-comment](sms-ui-template-crowd-image-classifier.md#image-classifier-regions-worker-comment)

## Regioni
<a name="image-classifier-multi-regions"></a>

Questo elemento utilizza le seguenti regioni

### full-instructions
<a name="image-classifier-multi-regions-full-instructions"></a>

Istruzioni generali per il worker su come classificare un’immagine.

### short-instructions
<a name="image-classifier-multi-regions-short-instructions"></a>

Istruzioni importanti specifiche dell’attività. Queste istruzioni sono visualizzate in modo ben visibile.

## Output
<a name="image-classifier-multi-output"></a>

L'output di questo elemento è una stringa che specifica uno o più dei valori definiti nell'attributo `categories` dell'elemento `<crowd-image-classifier-multi-select>`.

**Example : output elemento di esempio**  
Di seguito è riportato un esempio di output di questo elemento.  

```
[
  {
    "<name>": {
        labels: ["label_a", "label_b"]
    }
  }
]
```

## Vedi anche
<a name="image-classifier-multi-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti:
+ [Creare un processo di etichettatura per la classificazione delle immagini (multi-etichetta)](sms-image-classification-multilabel.md)
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-input
<a name="sms-ui-template-crowd-input"></a>

Una casella che accetta dati di input.

**Non può essere a chiusura automatica**  
A differenza dell'elemento `input` nello standard HTML, questo elemento non può essere chiuso automaticamente inserendo una barra prima della parentesi di chiusura, ad esempio `<crowd-input ... />`. Deve essere seguito da un `</crowd-input>` per chiudere l'elemento.

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/wvgBZYW).

Di seguito è riportato un esempio di modello Liquid che utilizza l’elemento `<crowd-input>`. Copia il codice seguente e salvalo in un file con l’estensione `.html`. Apri il file in qualsiasi browser per visualizzare l'anteprima e interagire con questo modello. 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-form>
  <img style="max-width: 35vw; max-height: 50vh" src="{{ task.input.taskObject | grant_read_access }}">
  <crowd-input name="tag1" label="Word/phrase 1" required></crowd-input>
  <crowd-input name="tag2" label="Word/phrase 2" required></crowd-input>
  <crowd-input name="tag3" label="Word/phrase 3" required></crowd-input>

  <short-instructions>
    Your custom quick instructions and examples
  </short-instructions>

  <full-instructions>
    Your custom detailed instracutions and more examples
  </full-instructions>
</crowd-form>
```

## Attributes
<a name="input-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

### allowed-pattern
<a name="input-attributes-allowed-pattern"></a>

Un'espressione regolare che viene utilizzata con l'attributo *auto-validate* per ignorare caratteri non corrispondenti durante la digitazione del worker.

### auto-focus
<a name="input-attributes-auto-focus"></a>

Quando il valore è impostato su true, l'area di input del browser diventa attiva dopo il caricamento. In questo modo, il worker può iniziare a digitare senza doverla prima selezionare.

### auto-validate
<a name="input-attributes-auto-validate"></a>

Un interruttore booleano che, se presente, attiva la convalida dell’input. Il comportamento del validatore può essere modificato dagli attributi *error-message* e *allowed-pattern*.

### disabled
<a name="input-attributes-disabled"></a>

Un interruttore booleano che, se presente, visualizza l’area di input come disabilitata.

### error-message
<a name="input-attributes-error-message"></a>

Il testo da visualizzare sotto il campo di input, sul lato sinistro, se la convalida non riesce.

### etichetta
<a name="input-attributes-label"></a>

Una stringa che viene visualizzata all’interno di un campo di testo.

Questo testo si riduce e si solleva sopra un campo di testo quando il worker inizia a digitare nel campo o quando l'attributo *value* è impostato.

### max-length
<a name="input-attributes-max-length"></a>

 Un numero massimo di caratteri accettati dall'input. L'immissione oltre questo limite viene ignorata.

### min-length
<a name="input-attributes-min-length"></a>

Una lunghezza minima per l'immissione nel campo

### nome
<a name="input-attributes-name"></a>

 Imposta il nome dell'input da utilizzare nel DOM e l'output del modulo.

### placeholder
<a name="input-attributes-placeholder"></a>

Un valore stringa che viene usato come testo segnaposto, visualizzato finché il worker non inizia a inserire i dati nell'input. Non viene utilizzato come un valore predefinito.

### obbligatorio
<a name="input-attributes-required"></a>

Un interruttore booleano che, se presente, richiede al worker di fornire l'input.

### tipo
<a name="input-attributes-type"></a>

Richiede una stringa per impostare il HTML5 `input-type` comportamento dell'input. A titolo di esempio si possono menzionare `file` e `date`.

### value
<a name="input-attributes-value"></a>

Un set di impostazioni che diventa il default se il worker non fornisce input. Il set di impostazioni viene visualizzato in un campo di testo.

## Gerarchia di elementi
<a name="input-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi principali**: [crowd-form](sms-ui-template-crowd-form.md)
+ **Elementi figlio**: nessuno

## Output
<a name="input-element-output"></a>

Fornisce una stringa `name` come il nome della proprietà e il testo che è stato inserito nel campo come il suo valore.

**Example : output JSON di esempio**  
I valori per più elementi vengono emessi nello stesso oggetto, con il valore dell'attributo `name` come nome di proprietà. Elementi senza input non vengono visualizzati nell'output. Ad esempio, utilizziamo tre input:  

```
<crowd-input name="tag1" label="Word/phrase 1"></crowd-input>
<crowd-input name="tag2" label="Word/phrase 2"></crowd-input>
<crowd-input name="tag3" label="Word/phrase 3"></crowd-input>
```
Di seguito è riportato l'output se solo due elementi dispongono di input:  

```
[
  {
    "tag1": "blue",
    "tag2": "red"
  }
]
```
Questo significa che qualsiasi codice compilato per analizzare questi risultati deve essere in grado di gestire la presenza o meno di ogni input nelle risposte.

## Vedi anche
<a name="input-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-instance-segmentation
<a name="sms-ui-template-crowd-instance-segmentation"></a>

Un widget per l'identificazione di singole istanze di oggetti specifici all'interno di un'immagine e la creazione di un overlay colorato per ogni istanza etichettata.

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/PoWwvwG).

Di seguito è riportato un esempio di modello Liquid che utilizza `<crowd-instance-segmentation>`. Copia il codice seguente e salvalo in un file con l’estensione `.html`. Apri il file in qualsiasi browser per visualizzare l’anteprima e interagire con questo modello. 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-form>
  <crowd-instance-segmentation
    name="annotatedResult"
    src="{{ task.input.taskObject | grant_read_access }}"
    header="Please label each of the requested objects in this image"
    labels="['Cat', 'Dog', 'Bird']"
  >
    <full-instructions header="Segmentation Instructions">
      <ol>
          <li><strong>Read</strong> the task carefully and inspect the image.</li>
          <li><strong>Read</strong> the options and review the examples provided to understand more about the labels.</li>
          <li><strong>Choose</strong> the appropriate label that best suits the image.</li>
      </ol>
    </full-instructions>

    <short-instructions>
      <p>Use the tools to label all instances of the requested items in the image</p>
    </short-instructions>
  </crowd-instance-segmentation>
</crowd-form>
```

Utilizza un modello simile al seguente per consentire ai worker di aggiungere le proprie categorie (etichette).

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
<crowd-form>
  <crowd-instance-segmentation
    id="annotator"
    name="myTexts"
    src="{{ task.input.taskObject | grant_read_access }}"
    header="Click Instructions to add new labels."
    labels="['placeholder']"
  >
    <short-instructions>
      <h3>Add a label to describe each type of object in this image.</h3>
      <h3>Cover each instance of each object with a segmentation mask.</h3>
      <br>
      <h3>
        Add new label
      </h3>
      <crowd-input name="_customLabel" id="customLabel"></crowd-input>
      <crowd-button id="addLabel">Add</crowd-button>
      
      <br><br><br>
      <h3>
      Manage labels
      </h3>
      <div id="labelsSection"></div>
    </short-instructions>
    
    <full-instructions>
      Describe your task in more detail here.
    </full-instructions>
  </crowd-instance-segmentation>
</crowd-form>

<script>
  document.addEventListener('all-crowd-elements-ready', function(event) {
    document.querySelector('crowd-instance-segmentation').labels = [];  
  });
  
  function populateLabelsSection() {
    labelsSection.innerHTML = '';
    annotator.labels.forEach(function(label) {
      const labelContainer = document.createElement('div');
      labelContainer.innerHTML = label + ' <a href="javascript:void(0)">(Delete)</a>';
      labelContainer.querySelector('a').onclick = function() {
        annotator.labels = annotator.labels.filter(function(l) {
          return l !== label;
        });
        populateLabelsSection();
      };
      labelsSection.appendChild(labelContainer);
    });
  }

  addLabel.onclick = function() {
    annotator.labels = annotator.labels.concat([customLabel.value]);
    customLabel.value = null;
    
    populateLabelsSection();
  };
</script>
```

## Attributes
<a name="instance-segmentation-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

### intestazione
<a name="instance-segmentation-attributes-header"></a>

Il testo da visualizzare sopra l’immagine. Si tratta in genere di una domanda o semplice istruzione per il worker.

### labels
<a name="instance-segmentation-attributes-labels"></a>

Un array di stringhe in formato JSON, ciascuna delle quali è un'etichetta che un worker può assegnare a un'istanza di un oggetto nell'immagine. I worker possono generare colori di sovrapposizione diversi per ogni istanza pertinente selezionando "add instance" (aggiungi istanza) sotto l'etichetta nello strumento.

### nome
<a name="instance-segmentation-attributes-name"></a>

Il nome di questo widget. Viene utilizzato come una chiave per i dati di etichettatura nell'output del modulo.

### src
<a name="instance-segmentation-attributes-src"></a>

L'URL dell'immagine che deve essere etichettata.

## initial-value
<a name="instance-segmentation-attributes-initial-value"></a>

Un oggetto JSON contenente le mappature dei colori di un lavoro di segmentazione delle istanze precedente e un collegamento all'output dell'immagine sovrapposta prodotta dal lavoro precedente. Includere questa opzione quando si desidera che un dipendente umano verifichi i risultati di un processo di etichettatura precedente e lo modifichi se necessario.

L'attributo apparirà come segue:

```
  initial-value="{
    "instances": [
      {
        "color": "#2ca02c",
        "label": "Cat"
      },
      {
        "color": "#1f77b4",
        "label": "Cat"
      },
      {
        "color": "#d62728",
        "label": "Dog"
      }
    ],
    "src": {{ "S3 file URL for image" | grant_read_access }}
  }"
```

## Gerarchia di elementi
<a name="instance-segmentation-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi principali**: [crowd-form](sms-ui-template-crowd-form.md)
+ **Elementi figlio**: [full-instructions](#instance-segmentation-regions-full-instructions), [short-instructions](#instance-segmentation-regions-short-instructions)

## Regioni
<a name="instance-segmentation-regions"></a>

Le seguenti Regioni sono supportate da questo elemento.

### full-instructions
<a name="instance-segmentation-regions-full-instructions"></a>

Istruzioni generali su come eseguire la segmentazione dell’immagine.

### short-instructions
<a name="instance-segmentation-regions-short-instructions"></a>

Istruzioni importanti specifiche dell’attività che vengono visualizzate in una posizione di rilievo.

## Output
<a name="instance-segmentation-output"></a>

Il seguente output è supportato da questo elemento.

### labeledImage
<a name="instance-segmentation-output-labeledImage"></a>

Un oggetto JSON contenente un PNG con codifica Base64 delle etichette.

### Istanze
<a name="instance-segmentation-output-labelMappings"></a>

Un array JSON contenente oggetti con etichette e colori dell'istanza.
+ **colore** — Il valore esadecimale del colore RGB dell'etichetta nel PNG `labeledImage`.
+ **etichetta** — L'etichetta assegnata alle sovrapposizioni che utilizzano quel colore. Questo valore può ripetersi, perché istanze diverse dell'etichetta sono identificate dal loro colore univoco.

### inputImageProperties
<a name="instance-segmentation-output-inputImageProperties"></a>

Un oggetto JSON che specifica le dimensioni dell'immagine che viene annotata dal worker. Questo oggetto include le seguenti proprietà.
+ **altezza**: l'altezza dell’immagine in pixel.
+ **larghezza**: la larghezza dell’immagine in pixel.

**Example : output elemento di esempio**  
Di seguito è riportato un esempio di output di questo elemento.  

```
[
  {
    "annotatedResult": {
      "inputImageProperties": {
        "height": 533,
        "width": 800
      },
      "instances": [
        {
          "color": "#1f77b4",
          "label": "<Label 1>": 
        },
        {
          "color": "#2ca02c",
          "label": "<Label 1>": 
        },
        {
          "color": "#ff7f0e",
          "label": "<Label 3>": 
        },
      ],
      "labeledImage": {
        "pngImageData": "<Base-64 Encoded Data>"
      }
    }
  }
]
```

## Vedi anche
<a name="instance-segmentation-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-instructions
<a name="sms-ui-template-crowd-instructions"></a>

Un elemento che visualizza le istruzioni su tre pagine con schede, **Riepilogo**, **Istruzioni dettagliate** ed **Esempi**, quando il worker fa clic su un collegamento o un pulsante.

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/XWpJwbx).

Di seguito è riportato un esempio di un modello Liquid che ha utilizzato l'elemento `<crowd-instructions>`. Copia il codice seguente e salvalo in un file con l’estensione `.html`. Apri il file in qualsiasi browser per visualizzare l'anteprima e interagire con questo modello. 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-form>
  	<crowd-instructions link-text="View instructions" link-type="button">
		  <short-summary>
		    <p>Given an image, write three words or short phrases that summarize its contents.</p>
		  </short-summary>
		  <detailed-instructions>
		    <p>Imagine that you are describing an image to a friend or tagging it for a news website. Provide three specific words or short phrases that describe it.</p>
		  </detailed-instructions>
		  <positive-example>
		    <p><img src="https://s3.amazonaws.com/cv-demo-images/highway.jpg"/></p>
		    <p>
		    	<ul>
		    		<li>Highway</li>
		    		<li>Cars</li>
		    		<li>Gas station</li>
		    	</ul>
		    </p>
		  </positive-example>
		  <negative-example>
		    <p><img src="https://s3.amazonaws.com/cv-demo-images/highway.jpg"/></p>
		    <p>
		    	These are not specific enough:
		    	<ol>
		    		<li>Trees</li>
		    		<li>Outside</li>
		    		<li>Daytime</li>
		    	</ol>
		    </p>
		  </negative-example>
	</crowd-instructions>
    <p><strong>Instructions: </strong>Given an image, write three words or short phrases that summarize its contents.</p>
    <p>If someone were to see these three words or phrases, they should understand the subject and context of the image, as well as any important actions.</p>
	<p>View the instructions for detailed instructions and examples.</p>
	<p><img style="max-width: 100%; max-height: 100%" src="{{ task.input.taskObject | grant_read_access }}"></p>
  <crowd-input name="tag1" label="Word/phrase 1" required></crowd-input>
  <crowd-input name="tag2" label="Word/phrase 2" required></crowd-input>
  <crowd-input name="tag3" label="Word/phrase 3" required></crowd-input>
</crowd-form>
```

## Attributes
<a name="instructions-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

### link-text
<a name="instructions-attributes-link-text"></a>

Il testo da visualizzare per aprire le istruzioni. L'impostazione predefinita è **Click for instructions (Fai click per le istruzioni)**.

### link-type
<a name="instructions-attributes-link-type"></a>

Una stringa che specifica il tipo di trigger per le istruzioni. I valori possibili sono “link” (impostazione predefinita) e “button”.

## Gerarchia di elementi
<a name="instructions-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi principali**: [crowd-form](sms-ui-template-crowd-form.md)
+ **Elementi figlio**: nessuno

## Regioni
<a name="instructions-regions"></a>

Le seguenti Regioni sono supportate da questo elemento.

### detailed-instructions
<a name="instructions-regions-detailed-instructions"></a>

Contenuto che fornisce istruzioni specifiche per un'attività. Viene visualizzato nella pagina della scheda "Detailed Instructions" (Istruzioni dettagliate).

### negative-example
<a name="instructions-regions-negative-examples"></a>

Contenuto che fornisce esempi di completamento attività inadeguato. Viene visualizzato nella pagina della scheda “Examples” (Esempi). All’interno di questo elemento possono essere forniti più esempi.

### positive-example
<a name="instructions-regions-positive-examples"></a>

Contenuto che fornisce esempi di completamento attività corretto. Viene visualizzato nella pagina della scheda “Examples” (Esempi).

### short-summary
<a name="instructions-regions-short-summary"></a>

Un breve dichiarazione che riepiloga l'attività da completare. Viene visualizzata nella pagina della scheda "Summary" (Riepilogo). All’interno di questo elemento possono essere forniti più esempi.

## Vedi anche
<a name="instructions-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-keypoint
<a name="sms-ui-template-crowd-keypoint"></a>

Consente di generare uno strumento per selezionare e annotare punti chiave su un'immagine.

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/GRrgaWN).

Di seguito è riportato un esempio di modello Liquid che utilizza l'elemento `<crowd-keypoint>`. Copia il codice seguente e salvalo in un file con l’estensione `.html`. Apri il file in qualsiasi browser per visualizzare l'anteprima e interagire con questo modello. 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-form>
  <div id="errorBox"></div>
   
  <crowd-keypoint
    src="{{ task.input.taskObject | grant_read_access }}"
    labels="['Item A', 'Item B', 'Item C']"        
    header="Please locate the centers of each item."
    name="annotatedResult">
    <short-instructions>
      Describe your task briefly here and give examples
    </short-instructions>
    <full-instructions>
      Give additional instructions and good/bad examples here
    </full-instructions>   
  </crowd-keypoint>
</crowd-form>

<script>
  var num_obj = 1;

  document.querySelector('crowd-form').onsubmit = function(e) {
    const keypoints = document.querySelector('crowd-keypoint').value.keypoints || document.querySelector('crowd-keypoint')._submittableValue.keypoints;
    const labels = keypoints.map(function(p) {
      return p.label;
    });

    // 1. Make sure total number of keypoints is correct.
    var original_num_labels = document.getElementsByTagName("crowd-keypoint")[0].getAttribute("labels");

    original_num_labels = original_num_labels.substring(2, original_num_labels.length - 2).split("\",\"");
    var goalNumKeypoints = num_obj*original_num_labels.length;
    if (keypoints.length != goalNumKeypoints) {
      e.preventDefault();
      errorBox.innerHTML = '<crowd-alert type="error" dismissible>You must add all keypoint annotations and use each label only once.</crowd-alert>';
      errorBox.scrollIntoView();
      return;
    }

    // 2. Make sure all labels are unique.
    labelCounts = {};
    for (var i = 0; i < labels.length; i++) {
      if (!labelCounts[labels[i]]) {
        labelCounts[labels[i]] = 0;
      }
      labelCounts[labels[i]]++;
    }
    const goalNumSingleLabel = num_obj;

    const numLabels = Object.keys(labelCounts).length;

    Object.entries(labelCounts).forEach(entry => {
      if (entry[1] != goalNumSingleLabel) {
        e.preventDefault();
        errorBox.innerHTML = '<crowd-alert type="error" dismissible>You must use each label only once.</crowd-alert>';
        errorBox.scrollIntoView();
      }
    })
  };
</script>
```

## Attributes
<a name="keypoint-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

### intestazione
<a name="keypoint-attributes-header"></a>

Il testo da visualizzare sopra l’immagine. Si tratta in genere di una domanda o semplice istruzione per il worker.

### initial-value
<a name="keypoint-attributes-initial"></a>

Un array, in formato JSON, di keypoint da applicare all'immagine all'avvio. Esempio:

```
initial-value="[
  {
    'label': 'Left Eye',
    'x': 1022,
    'y': 429
  },
  {
    'label': 'Beak',
    'x': 941,
    'y': 403
  }
]
```

**Nota**  
I valori di etichetta utilizzati in questo attributo devono avere un valore corrispondente nell'attributo `labels` o non verrà eseguito il rendering del punto.

### labels
<a name="keypoint-attributes-labels"></a>

Un array, in formato JSON, di stringhe da utilizzare come etichette di annotazione keypoint.

### nome
<a name="keypoint-attributes-name"></a>

Una stringa utilizzata per identificare la risposta inviata dal worker. Questo valore corrisponderà a una chiave nell’oggetto JSON che specifica la risposta.

### src
<a name="keypoint-attributes-src"></a>

L'URI di origine dell'immagine da annotare.

## Gerarchia di elementi
<a name="keypoint-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi principali**: [crowd-form](sms-ui-template-crowd-form.md)
+ **Elementi figlio**: [full-instructions](#keypoint-regions-full-instructions), [short-instructions](#keypoint-regions-short-instructions)

## Regioni
<a name="keypoint-regions"></a>

Le seguenti Regioni sono richieste da questo elemento.

### full-instructions
<a name="keypoint-regions-full-instructions"></a>

Istruzioni generali su come eseguire l'annotazione dell'immagine.

### short-instructions
<a name="keypoint-regions-short-instructions"></a>

Istruzioni importanti specifiche dell’attività che vengono visualizzate in una posizione di rilievo.

## Output
<a name="keypoint-output"></a>

Il seguente output è supportato da questo elemento.

### inputImageProperties
<a name="keypoint-output-inputImageProperties"></a>

Un oggetto JSON che specifica le dimensioni dell'immagine che viene annotata dal worker. Questo oggetto include le seguenti proprietà.
+ **altezza**: l'altezza dell’immagine in pixel.
+ **larghezza**: la larghezza dell’immagine in pixel.

### keypoints
<a name="keypoint-output-keypoints"></a>

Un array di oggetti JSON contenenti le coordinate e l'etichetta di un keypoint. Ogni oggetto contiene le seguenti proprietà.
+ **etichetta**: l'etichetta assegnata per il keypoint.
+ **x**: la coordinata X, in pixel, del keypoint sull'immagine.
+ **y**: la coordinata Y, in pixel, del keypoint sull'immagine.

**Nota**  
Le coordinate X e Y sono basate sul fatto che 0,0 si trova nell'angolo in alto a sinistra dell'immagine.

**Example : output elemento di esempio**  
Di seguito è riportato un output di esempio dell'utilizzo di questo elemento.  

```
[
  {
    "crowdKeypoint": {
      "inputImageProperties": {
        "height": 1314,
        "width": 962
      },
      "keypoints": [
        {
          "label": "dog",
          "x": 155,
          "y": 275
        },
        {
          "label": "cat",
          "x": 341,
          "y": 447
        },
        {
          "label": "cat",
          "x": 491,
          "y": 513
        },
        {
          "label": "dog",
          "x": 714,
          "y": 578
        },
        {
          "label": "cat",
          "x": 712,
          "y": 763
        },
        {
          "label": "cat",
          "x": 397,
          "y": 814
        }
      ]
    }
  }
]
```
È possibile che siano disponibili molte etichette, ma solo quelle utilizzate vengono visualizzate nell'output.

## Vedi anche
<a name="keypoint-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-line
<a name="sms-ui-template-crowd-line"></a>

Un widget per disegnare linee su un'immagine. Ogni riga è associata a un'etichetta e i dati di output riporteranno i punti iniziale e finale di ogni linea. 

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/NWdPVgw).

Di seguito è riportato un esempio di modello Liquid che utilizza l’elemento `<crowd-line>`. Copia il codice seguente e salvalo in un file con l’estensione `.html`. Apri il file in qualsiasi browser per visualizzare l’anteprima e interagire con questo modello. Per altri esempi, consulta questo [GitHub repository.](https://github.com/aws-samples/amazon-sagemaker-ground-truth-task-uis/tree/master/images) 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-form>
  <crowd-line
    name="crowdLine"
    src="{{ task.input.taskObject | grant_read_access }}"
    header="Add header here to describe the task"
    labels="['car','pedestrian','street car']"
  >
    <short-instructions>
        <p>Read the task carefully and inspect the image.</p>
        <p>Choose the appropriate label that best suits the image.</p>
        <p>Draw a line on each objects that the label applies to.</p>
    </short-instructions>

    <full-instructions>
        <p>Read the task carefully and inspect the image.</p>
        <p>Choose the appropriate label that best suits the image. 
        <p>Draw a line along each object that the image applies to.
            Make sure that the line does not extend beyond the boundaries
            of the object.
        </p>
        <p>Each line is defined by a starting and ending point. Carefully
        place the starting and ending points on the boundaries of the object.</p>
    </full-instructions>
    
  </crowd-line>
</crowd-form>
```

## Attributes
<a name="line-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

### intestazione
<a name="line-attributes-header"></a>

Opzionale. Il testo da visualizzare sopra l’immagine. Si tratta in genere di una domanda o semplice istruzione per il worker.

### initial-value
<a name="line-attributes-initialValue"></a>

Opzionale. Un array di oggetti JSON, ciascuno dei quali imposta una linea quando il componente viene caricato. Ogni oggetto JSON nell'array contiene le seguenti proprietà:
+ **etichetta**: il testo assegnato alla linea come parte dell'attività di etichettatura. Questo testo deve corrispondere alle etichette definite nell'attributo *labels* dell'elemento `<crowd-line>`.
+ **vertici**: le coordinate pixel `x` e `y` dei vertici del punto di inizio e il punto di fine della linea rispetto all'angolo superiore sinistro dell'immagine.

```
initial-value="{
    lines: [
    {
        label: 'sideline', // label of this line annotation
        vertices:[         // an array of vertices which decide the position of the line
        {
            x: 84,
            y: 110
        },
        {
            x: 60,
            y: 100
        }
        ]
    },
    {
        label: 'yardline',
        vertices:[       
        {
            x: 651,
            y: 498
        },
        {
            x: 862,
            y: 869
        }
        ]
    }
   ]
}"
```

Le linee impostate tramite la proprietà `initial-value` possono essere regolate. Il fatto che la risposta di un worker sia stata modificata o meno viene tracciato tramite un valore booleano `initialValueModified` nell’output della risposta del worker.

### labels
<a name="line-attributes-labels"></a>

Obbligatorio. Un array di stringhe in formato JSON, ciascuna delle quali è un'etichetta che un worker può assegnare alla linea. 

**Limite:** 10 etichette.

### label-colors
<a name="line-attributes-label-colors"></a>

Opzionale. Una matrice di stringhe. Ogni stringa è un codice esadecimale (esadecimale) per un'etichetta.

### nome
<a name="line-attributes-name"></a>

Obbligatorio. Il nome di questo widget. Viene utilizzato come una chiave per l’input del widget nell’output del modulo.

### src
<a name="line-attributes-src"></a>

Obbligatorio. L'URL dell'immagine su cui disegnare linee. 

## Regioni
<a name="line-regions"></a>

Le seguenti Regioni sono richieste da questo elemento.

### full-instructions
<a name="line-regions-full-instructions"></a>

Istruzioni generali su come disegnare linee. 

### short-instructions
<a name="line-regions-short-instructions"></a>

Istruzioni importanti specifiche dell’attività che vengono visualizzate in una posizione di rilievo.

## Gerarchia di elementi
<a name="line-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi principali**: [crowd-form](sms-ui-template-crowd-form.md)
+ **Elementi figlio**: [short-instructions](#line-regions-short-instructions), [full-instructions](#line-regions-full-instructions)

## Output
<a name="line-output"></a>

### inputImageProperties
<a name="line-output-inputImageProperties"></a>

Un oggetto JSON che specifica le dimensioni dell'immagine che viene annotata dal worker. Questo oggetto include le seguenti proprietà.
+ **altezza**: l'altezza dell’immagine in pixel.
+ **larghezza**: la larghezza dell’immagine in pixel.

### lines
<a name="line-output-labelMappings"></a>

Un array JSON contenente oggetti con etichette e vertici di linee.
+ **etichetta**: l'etichetta data a una linea.
+ vertici: le coordinate pixel `x` e `y` dei vertici del punto di inizio e il punto di fine della linea rispetto all'angolo superiore sinistro dell'immagine.

**Example : output elemento di esempio**  
Di seguito è riportato un esempio di output di questo elemento.

```
{
    "crowdLine": { //This is the name you set for the crowd-line
      "inputImageProperties": {
        "height": 1254,
        "width": 2048
      },
      "lines": [
        {
          "label": "yardline",
          "vertices": [ 
            {
              "x": 58,
              "y": 295
            },
            {
              "x": 1342,
              "y": 398
            }
          ]
        },
        {
          "label": "sideline",
          "vertices": [
            {
              "x": 472,
              "y": 910
            },
            {
              "x": 1480,
              "y": 600
            }
          ]
        }
      ]
    }
  }
```

## Vedi anche
<a name="line-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-modal
<a name="sms-ui-template-crowd-modal"></a>

Una finestra di piccole dimensioni che viene visualizzata sullo schermo quando è aperto. 

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/RwKNmyK).

Di seguito è riportato un esempio della sintassi che è possibile utilizzare con l’elemento `<crowd-modal>`. Copia il codice seguente e salvalo in un file con l’estensione `.html`. Apri il file in qualsiasi browser per visualizzare l'anteprima e interagire con questo modello. 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-modal
link-text = "See Examples"
link-type = "button">
Example Modal Text</crowd-modal>
```

## Attributes
<a name="modal-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

### link-text
<a name="modal-attributes-link-text"></a>

Il testo da visualizzare per aprire la finestra modale. Il valore predefinito è "Click to open modal" (Fare clic per aprire finestra modale).

### link-type
<a name="modal-attributes-link-type"></a>

Una stringa che specifica il tipo di trigger per la finestra modale. I valori possibili sono “link” (impostazione predefinita) e “button”.

## Gerarchia di elementi
<a name="modal-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi principali**: [crowd-form](sms-ui-template-crowd-form.md)
+ **Elementi figlio**: nessuno

## Vedi anche
<a name="modal-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-polygon
<a name="sms-ui-template-crowd-polygon"></a>

Un widget per disegnare poligoni su un'immagine e assegnare un'etichetta alla parte dell'immagine racchiusa in ogni poligono.

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/eYgmajo).

Di seguito è riportato un esempio di modello Liquid che utilizza l’elemento `<crowd-polygon>`. Copia il codice seguente e salvalo in un file con l’estensione `.html`. Apri il file in qualsiasi browser per visualizzare l'anteprima e interagire con questo modello. 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-form>
  <crowd-polygon
    name="annotatedResult"
    src="{{ task.input.taskObject | grant_read_access }}"
    header="Draw a polygon around each of the requested target(s) of interest"
    labels="['Cat', 'Dog', 'Bird']"
  >
    <full-instructions header="Polygon instructions">
      <ul>
        <li>Make the polygon tight around the object</li>
        <li>You need to select a label before starting a polygon</li>
        <li>You will need to select a label again after completing a polygon</li>
        <li>To select a polygon, you can click on its borders</li>
        <li>You can start drawing a polygon from inside another polygon</li>
        <li>You can undo and redo while you're drawing a polygon to go back and forth between points you've placed</li>
        <li>You are prevented from drawing lines that overlap other lines from the same polygon</li>
      </ul>
    </full-instructions>

    <short-instructions>
      <p>Draw a polygon around each of the requested target(s) of interest</p>
      <p>Make the polygon tight around the object</p>
    </short-instructions>
  </crowd-polygon>
</crowd-form>
```

## Attributes
<a name="polygon-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

### intestazione
<a name="polygon-attributes-header"></a>

Il testo da visualizzare sopra l’immagine. Si tratta in genere di una domanda o semplice istruzione per il worker.

### labels
<a name="polygon-attributes-labels"></a>

Un array di stringhe in formato JSON, ciascuna delle quali è un'etichetta che un worker può assegnare alla parte di immagine racchiusa da un poligono.

### nome
<a name="polygon-attributes-name"></a>

Il nome di questo widget. Viene utilizzato come una chiave per l’input del widget nell’output del modulo.

### src
<a name="polygon-attributes-src"></a>

L'URL dell'immagine su cui disegnare poligoni. 

### initial-value
<a name="polygon-attributes-initialValue"></a>

Un array di oggetti JSON, ciascuno dei quali definisce un poligono da disegnare quando il componente viene caricato. Ogni oggetto JSON nell’array contiene le seguenti proprietà:
+ **etichetta**: il testo assegnato al poligono come parte dell'attività di etichettatura. Questo testo deve corrispondere alle etichette definite nell'attributo *labels* dell'elemento <crowd-polygon>.
+ **vertici**: una matrice di oggetti JSON. Ogni oggetto contiene un valore di coordinate x e y per un punto nel poligono.

**Example**  
L'aspetto di un attributo `initial-value` potrebbe essere simile a quello riportato di seguito.  

```
initial-value = 
  '[
     {
     "label": "dog",
     "vertices": 
       [
         {
            "x": 570,
            "y": 239
         },
        ... 
         {
            "x": 759,
            "y": 281
         }
       ]
     }
  ]'
```
Poiché questo sarà all'interno di un elemento HTML, l'array JSON deve essere racchiuso tra virgolette singole o doppie. L'esempio precedente utilizza virgolette singole per incapsulare il JSON e virgolette doppie all'interno del JSON stesso. Se occorre combinare virgolette singole e doppie all'interno del JSON, sostituirle con i loro codici di entità HTML (`&quot;` per virgoletta doppia, `&#39;` per virgoletta singola) per eseguirne l'escape in modo sicuro.

## Gerarchia di elementi
<a name="polygon-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi principali**: [crowd-form](sms-ui-template-crowd-form.md)
+ **Elementi figlio**: [full-instructions](#polygon-regions-full-instructions), [short-instructions](#polygon-regions-short-instructions)

## Regioni
<a name="polygon-regions"></a>

Le seguenti regioni sono obbligatorie.

### full-instructions
<a name="polygon-regions-full-instructions"></a>

Istruzioni generali su come disegnare poligoni.

### short-instructions
<a name="polygon-regions-short-instructions"></a>

Istruzioni importanti specifiche dell’attività che vengono visualizzate in una posizione di rilievo.

## Output
<a name="polygon-output"></a>

Il seguente output è supportato da questo elemento.

### polygons
<a name="polygon-output-boundingBoxes"></a>

Un array di oggetti JSON, ciascuno dei quali descrive un poligono che è stato creato dal worker. Ogni oggetto JSON nell’array contiene le seguenti proprietà:
+ **etichetta**: il testo assegnato al poligono come parte dell'attività di etichettatura.
+ **vertici**: una matrice di oggetti JSON. Ogni oggetto contiene un valore di coordinate x e y per un punto nel poligono. L'angolo in alto a sinistra dell'immagine è 0,0.

### inputImageProperties
<a name="polygon-output-inputImageProperties"></a>

Un oggetto JSON che specifica le dimensioni dell'immagine che viene annotata dal worker. Questo oggetto include le seguenti proprietà.
+ **altezza**: l'altezza dell’immagine in pixel.
+ **larghezza**: la larghezza dell’immagine in pixel.

**Example : output elemento di esempio**  
Di seguito sono riportati esempi di output da scenari di utilizzo comuni per questo elemento.  
**Etichetta singola, poligono singolo**  

```
{
    "annotatedResult": 
    {
      "inputImageProperties": {
        "height": 853,
        "width": 1280
      },
      "polygons": 
      [
        {
          "label": "dog",
          "vertices": 
          [
            {
              "x": 570,
              "y": 239
            },
            {
              "x": 603,
              "y": 513
            },
            {
              "x": 823,
              "y": 645
            },
            {
              "x": 901,
              "y": 417
            },
            {
              "x": 759,
              "y": 281
            }
          ]
        }
      ]
    }
  }
]
```
**Etichetta singola, poligoni multipli**  

```
[
  {
    "annotatedResult": {
      "inputImageProperties": {
        "height": 853,
        "width": 1280
      },
      "polygons": [
        {
          "label": "dog",
          "vertices": [
            {
              "x": 570,
              "y": 239
            },
            {
              "x": 603,
              "y": 513
            },
            {
              "x": 823,
              "y": 645
            },
            {
              "x": 901,
              "y": 417
            },
            {
              "x": 759,
              "y": 281
            }
          ]
        },
        {
          "label": "dog",
          "vertices": [
            {
              "x": 870,
              "y": 278
            },
            {
              "x": 908,
              "y": 446
            },
            {
              "x": 1009,
              "y": 602
            },
            {
              "x": 1116,
              "y": 519
            },
            {
              "x": 1174,
              "y": 498
            },
            {
              "x": 1227,
              "y": 479
            },
            {
              "x": 1179,
              "y": 405
            },
            {
              "x": 1179,
              "y": 337
            }
          ]
        }
      ]
    }
  }
]
```
**Etichette multiple, poligoni multipli**  

```
[
  {
    "annotatedResult": {
      "inputImageProperties": {
        "height": 853,
        "width": 1280
      },
      "polygons": [
        {
          "label": "dog",
          "vertices": [
            {
              "x": 570,
              "y": 239
            },
            {
              "x": 603,
              "y": 513
            },
            {
              "x": 823,
              "y": 645
            },
            {
              "x": 901,
              "y": 417
            },
            {
              "x": 759,
              "y": 281
            }
          ]
        },
        {
          "label": "cat",
          "vertices": [
            {
              "x": 870,
              "y": 278
            },
            {
              "x": 908,
              "y": 446
            },
            {
              "x": 1009,
              "y": 602
            },
            {
              "x": 1116,
              "y": 519
            },
            {
              "x": 1174,
              "y": 498
            },
            {
              "x": 1227,
              "y": 479
            },
            {
              "x": 1179,
              "y": 405
            },
            {
              "x": 1179,
              "y": 337
            }
          ]
        }
      ]
    }
  }
]
```
È possibile avere molte etichette disponibili, ma solo quelle utilizzate vengono visualizzate nell’output.

## Vedi anche
<a name="polygon-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-polyline
<a name="sms-ui-template-crowd-polyline"></a>

Un widget per disegnare polilinee o linee su un'immagine. Ogni polilinea è associata a un'etichetta e può includere due o più vertici. Una polilinea può intersecarsi e i suoi punti iniziale e finale possono essere posizionati in qualsiasi punto dell'immagine.

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/PoWwvyJ).

Di seguito è riportato un esempio di modello Liquid che utilizza l’elemento `<crowd-polyline>`. Copia il codice seguente e salvalo in un file con l’estensione `.html`. Apri il file in qualsiasi browser per visualizzare l’anteprima e interagire con questo modello. Per altri esempi, consulta questo [GitHub repository.](https://github.com/aws-samples/amazon-sagemaker-ground-truth-task-uis/tree/master/images) 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-form>
  <crowd-polyline
    name="crowdPolyline"
    src="{{ task.input.taskObject | grant_read_access }}"
    header="Add header here to describe the task"
    labels="['car','pedestrian','street car']"
  >
    <full-instructions>
        <p>Read the task carefully and inspect the image.</p>
        <p>Choose the appropriate label that best suits the image.</p>
        <p>Draw a polyline around the boundaries of all objects
        that the label applies to.</p>
        <p>Use the <b>Enter</b> key to complete a polyline.</p>
        <p>Make sure that the polyline fits tightly around the boundary
        of the object.</p>
    </full-instructions>

    <short-instructions>
        <p>Read the task carefully and inspect the image.</p>
        <p>Review the tool guide to learn how to use the polyline tool.</p>
        <p>Choose the appropriate label that best suits the image.</p>
        <p>To draw a polyline, select a label that applies to an object of interest 
            and add a single point to the photo by clicking on that point. Continue to 
            draw the polyline around the object by adding additional points
            around the object boundary.</p>
        <p>After you place the final point on the polyline, press <b>Enter</b> on your
        keyboard to complete the polyline.</p>

    </short-instructions>
  </crowd-polyline>
</crowd-form>
```

## Attributes
<a name="polyline-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

### intestazione
<a name="polyline-attributes-header"></a>

Opzionale. Il testo da visualizzare sopra l’immagine. Si tratta in genere di una domanda o semplice istruzione per il worker.

### initial-value
<a name="polyline-attributes-initialValue"></a>

Opzionale. Un array di oggetti JSON, ciascuno dei quali imposta una polilinea quando il componente viene caricato. Ogni oggetto JSON nell'array contiene le seguenti proprietà:
+ **etichetta**: il testo assegnato alla polilinea come parte dell'attività di etichettatura. Questo testo deve corrispondere alle etichette definite nell'attributo *labels* dell'elemento `<crowd-polyline>`.
+ **vertici**: le coordinate pixel `x` e `y` dei vertici di una polilinea rispetto all'angolo superiore sinistro dell'immagine.

```
 initial-value= "{
    polylines: [
    {
        label: 'sideline', // label of this line annotation
        vertices:[         // an array of vertices which decide the position of the line
        {
            x: 84,
            y: 110
        },
        {
            x: 60,
            y: 100
        }
        ]
    },
    {
        label: 'yardline',
        vertices:[       
        {
            x: 651,
            y: 498
        },
        {
            x: 862,
            y: 869
        },
        {
            x: 1000,
            y: 869
        }
        ]
    }
   ]
}"
```

Le polilinee impostate tramite la proprietà `initial-value` possono essere regolate. Il fatto che la risposta di un worker sia stata modificata o meno viene tracciato tramite un valore booleano `initialValueModified` nell'output della risposta del worker.

### labels
<a name="polyline-attributes-labels"></a>

Obbligatorio. Un array di stringhe in formato JSON, ciascuna delle quali è un'etichetta che un worker può assegnare alla linea. 

**Limite:** 10 etichette.

### label-colors
<a name="polyline-attributes-label-colors"></a>

Opzionale. Una matrice di stringhe. Ogni stringa è un codice esadecimale (esadecimale) per un'etichetta.

### nome
<a name="polyline-attributes-name"></a>

Obbligatorio. Il nome di questo widget. Viene utilizzato come una chiave per l’input del widget nell’output del modulo.

### src
<a name="polyline-attributes-src"></a>

Obbligatorio. L'URL dell'immagine su cui disegnare polilinee.

## Regioni
<a name="polyline-regions"></a>

Le seguenti Regioni sono richieste da questo elemento.

### full-instructions
<a name="polyline-regions-full-instructions"></a>

Istruzioni generali su come disegnare polilinee. 

### short-instructions
<a name="polyline-regions-short-instructions"></a>

Istruzioni importanti specifiche dell’attività che vengono visualizzate in una posizione di rilievo.

## Gerarchia di elementi
<a name="polyline-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi principali**: [crowd-form](sms-ui-template-crowd-form.md)
+ **Elementi figlio**: [short-instructions](#polyline-regions-short-instructions), [full-instructions](#polyline-regions-full-instructions)

## Output
<a name="polyline-output"></a>

### inputImageProperties
<a name="polyline-output-inputImageProperties"></a>

Un oggetto JSON che specifica le dimensioni dell'immagine che viene annotata dal worker. Questo oggetto include le seguenti proprietà.
+ **altezza**: l'altezza dell’immagine in pixel.
+ **larghezza**: la larghezza dell’immagine in pixel.

### polilinee
<a name="polyline-output-labelMappings"></a>

Un array JSON contenente oggetti con etichette e vertici di polilinee.
+ **etichetta**: l'etichetta data a una linea.
+ vertici: le coordinate pixel `x` e `y` dei vertici di una polilinea rispetto all'angolo superiore sinistro dell'immagine.

**Example : output elemento di esempio**  
Di seguito è riportato un esempio di output di questo elemento.

```
 {
    "crowdPolyline": { //This is the name you set for the crowd-polyline
      "inputImageProperties": {
        "height": 1254,
        "width": 2048
      },
      "polylines": [
        {
          "label": "sideline",
          "vertices": [
            {
              "x": 651,
              "y": 498
            },
            {
              "x": 862,
              "y": 869
            },
            {
              "x": 1449,
              "y": 611
            }
          ]
        },
        {
          "label": "yardline",
          "vertices": [
            {
              "x": 1148,
              "y": 322
            },
            {
              "x": 1705,
              "y": 474
            },
            ,
            {
              "x": 1755,
              "y": 474
            }
          ]
        }
      ]
    }
  }
```

## Vedi anche
<a name="polyline-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-radio-button
<a name="sms-ui-template-crowd-radio-button"></a>

Un pulsante che può essere selezionato o deselezionato. Quando i pulsanti di opzione si trovano all'interno di un gruppo di opzioni, un solo pulsante di opzione può essere selezionato nel gruppo in qualsiasi momento. Di seguito è riportato un esempio di come configurare un elemento `crowd-radio-button` all'interno di un elemento `crowd-radio-group`.

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/yLgyWGZ).

Di seguito è riportato un esempio della sintassi che è possibile utilizzare con l’elemento `<crowd-radio-button>`. Copia il codice seguente e salvalo in un file con l’estensione `.html`. Apri il file in qualsiasi browser per visualizzare l’anteprima e interagire con questo modello. 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
<crowd-form>
<crowd-radio-group>
    <crowd-radio-button name="tech" value="tech">Technology</crowd-radio-button>
    <crowd-radio-button name="politics" value="politics">Politics</crowd-radio-button>
</crowd-radio-group>
</crowd-form>
```

L'esempio precedente può essere visto in un modello di attività di lavoro personalizzato, in questo GitHub esempio: [Entity Recognition Labeling Job Custom Template](https://github.com/aws-samples/amazon-sagemaker-ground-truth-task-uis/blob/master/text/named-entity-recognition-with-additional-classification.liquid.html).

I pulsanti di opzione dell’elemento HTML crowd non supportano il tag HTML, `required`. Per rendere obbligatoria la selezione di un pulsante di opzione, utilizza elementi `<input type="radio">` per creare pulsanti di opzione e aggiungi il tag `required`. L'attributo `name` per tutti gli elementi `<input>` che appartengono allo stesso gruppo di pulsanti di opzione deve essere lo stesso. Ad esempio, il modello seguente richiede all'utente di selezionare un pulsante di opzione nel gruppo `animal-type` prima dell'invio.

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
<crowd-form>
  <p>Select an animal type:</p>
<img src="https://images.unsplash.com/photo-1537151608828-ea2b11777ee8?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1539&q=80" style="height: 500; width: 400;"/>
<br><br>
<div>
  <input type="radio" id="cat" name="animal-type" value="cat" required>
  <label for="cat">Cat</label>
</div>
<div>
  <input type="radio" id="dog" name="animal-type" value="dog">
  <label for="dog">Dog</label>
</div>
<div>
  <input type="radio" id="unknown" name="animal-type" value="unknown">
  <label for="unknown">Unknown</label>
</div>
    <full-instructions header="Classification Instructions">
      <p>Read the task carefully and inspect the image.</p>
      <p>Choose the appropriate label that best suits the image.</p>
    </full-instructions>
    <short-instructions>
      <p>Read the task carefully and inspect the image.</p>
      <p>Choose the appropriate label that best suits the image.</p>
    </short-instructions>
</crowd-form>
```

## Attributes
<a name="radio-button-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

### checked
<a name="radio-button-attributes-checked"></a>

Un interruttore booleano che, se presente, visualizza il pulsante di opzione come selezionato.

### disabled
<a name="radio-button-attributes-disabled"></a>

Un interruttore booleano che, se presente, visualizza il pulsante come disabilitato e ne impedisce la selezione.

### nome
<a name="radio-button-attributes-name"></a>

Una stringa che viene utilizzata per identificare la risposta inviata dal worker. Questo valore corrisponderà a una chiave nell’oggetto JSON che specifica la risposta.

**Nota**  
Se utilizzi i pulsanti all'esterno di un elemento [crowd-radio-group](sms-ui-template-crowd-radio-group.md), ma con la stessa stringa `name` e stringhe `value` diverse, l'oggetto `name` nell'output conterrà un valore booleano per ogni stringa `value`. Per garantire che un solo pulsante in un gruppo sia selezionato, renderli figli di un elemento [crowd-radio-group](sms-ui-template-crowd-radio-group.md) e utilizzare valori nome diversi.

### value
<a name="radio-button-attributes-value"></a>

Un nome di proprietà per il valore booleano dell'elemento. Se non specificato, utilizza "on" come impostazione predefinita, ad esempio `{ "<name>": { "<value>": <true or false> } }`.

## Gerarchia di elementi
<a name="radio-button-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi principali**: [crowd-radio-group](sms-ui-template-crowd-radio-group.md)
+ **Elementi figlio**: nessuno

## Output
<a name="radio-button-output"></a>

Emette un oggetto con il seguente modello: `{ "<name>": { "<value>": <true or false> } }`. Se utilizzi i pulsanti all'esterno di un elemento [crowd-radio-group](sms-ui-template-crowd-radio-group.md), ma con la stessa stringa `name` e stringhe `value` diverse, l'oggetto nome conterrà un valore booleano per ogni stringa `value`. Per garantire che un solo pulsante in un gruppo di pulsanti sia selezionato, renderli figli di un elemento [crowd-radio-group](sms-ui-template-crowd-radio-group.md) e utilizzare valori nome diversi.

**Example Esempio di output di questo elemento**  

```
[
  {
    "btn1": {
      "yes": true
    },
    "btn2": {
      "no": false
    }
  }
]
```

## Vedi anche
<a name="radio-button-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-radio-group
<a name="sms-ui-template-crowd-radio-group"></a>

Un gruppo di pulsanti di opzione. Solo un pulsante di opzione all'interno del gruppo può essere selezionato. La scelta di un pulsante di opzione cancella gli eventuali pulsanti di opzioni scelti in precedenza all'interno dello stesso gruppo. Per un esempio di modello di interfaccia utente personalizzato che utilizza l'elemento `crowd-radio-group`, consulta questo [modello personalizzato per il processo di etichettatura di riconoscimento dell'entità](https://github.com/aws-samples/amazon-sagemaker-ground-truth-task-uis/blob/master/text/named-entity-recognition-with-additional-classification.liquid.html).

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/KKawjPJ).

Di seguito è riportato un esempio della sintassi che è possibile utilizzare con l’elemento `<crowd-radio-group>`. Copia il codice seguente e salvalo in un file con l’estensione `.html`. Apri il file in qualsiasi browser per visualizzare l'anteprima e interagire con questo modello. 

```
  
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<style>
	body {
		padding-left: 20px;
		margin-bottom: 20px;
	}
	#outer-container {
	    display: flex;
	    justify-content: space-around;
	    max-width: 900px;
	    margin-left: 100px;
	}
	.left-container {
    	margin-right: auto;
    	padding-right: 50px;
	}
	.right-container {
    	margin-left: auto;
    	padding-left: 50px;
	}
	#vertical-separator {
	    border: solid 1px #d5dbdb;
	}
</style>

<crowd-form>
    <div>
        <h1>Instructions</h1>
	Lorem ipsum...
    </div>
    <div>
        <h2>Background</h2>
    	<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
    </div>
    <div id="outer-container">
	<span class="left-container">
	    <h2>Option 1</h2>
	    <p>Nulla facilisi morbi tempus iaculis urna. Orci dapibus ultrices in iaculis nunc sed augue lacus.</p>
	</span>
	<span id="vertical-separator"></span>
	<span class="right-container">
	    <h2>Option 2</h2>
	    <p>Ultrices vitae auctor eu augue ut. Pellentesque massa placerat duis ultricies lacus sed turpis tincidunt id.</p>
	</span>
    </div>
    <div>
        <h2>Question</h2>
    	<p>Which do you agree with?</p>
	<crowd-radio-group>
	    <crowd-radio-button name="option1" value="Option 1">Option 1</crowd-radio-button>
	    <crowd-radio-button name="option2" value="Option 2">Option 2</crowd-radio-button>
	</crowd-radio-group>

    	<p>Why did you choose this answer?</p>
	<crowd-text-area name="explanation" placeholder="Explain how you reached your conclusion..."></crowd-text-area>
    </div>
</crowd-form>
```

## Attributes
<a name="radio-group-attributes"></a>

Nessun attributo speciale supportato da questo elemento.

## Gerarchia di elementi
<a name="radio-group-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi principali**: [crowd-form](sms-ui-template-crowd-form.md)
+ **Elementi figlio**: [crowd-radio-button](sms-ui-template-crowd-radio-button.md)

## Output
<a name="radio-group-output"></a>

Emette un array di oggetti che rappresentano gli elementi [crowd-radio-button](sms-ui-template-crowd-radio-button.md) al suo interno.

**Example Esempio di output elemento**  

```
[
  {
    "btn1": {
      "yes": true
    },
    "btn2": {
      "no": false
    }
  }
]
```

## Vedi anche
<a name="radio-group-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-semantic-segmentation
<a name="sms-ui-template-crowd-semantic-segmentation"></a>

Un widget per la segmentazione di un'immagine e l'assegnazione di un'etichetta a ogni segmento dell'immagine.

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/LYxEKEb).

Di seguito è riportato un esempio di modello Liquid che utilizza l’elemento `<crowd-semantic-segmentation>`. Copia il codice seguente e salvalo in un file con l’estensione `.html`. Apri il file in qualsiasi browser per visualizzare l'anteprima e interagire con questo modello. 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-form>
  <crowd-semantic-segmentation
    name="annotatedResult"
    src="{{ task.input.taskObject | grant_read_access }}"
    header="Please label each of the requested objects in this image"
    labels="['Cat', 'Dog', 'Bird']"
  >
    <full-instructions header="Segmentation Instructions">
      <ol>
          <li><strong>Read</strong> the task carefully and inspect the image.</li>
          <li><strong>Read</strong> the options and review the examples provided to understand more about the labels.</li>
          <li><strong>Choose</strong> the appropriate label that best suits the image.</li>
      </ol>
    </full-instructions>

    <short-instructions>
      <p>Use the tools to label the requested items in the image</p>
    </short-instructions>
  </crowd-semantic-segmentation>
</crowd-form>
```

## Attributes
<a name="semantic-segmentation-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

### intestazione
<a name="semantic-segmentation-attributes-header"></a>

Il testo da visualizzare sopra l’immagine. Si tratta in genere di una domanda o semplice istruzione per il worker.

### initial-value
<a name="semantic-segmentation-attributes-initial-value"></a>

Un oggetto JSON contenente le mappature dei colori di un lavoro di segmentazione semantica precedente e un collegamento all'output dell'immagine sovrapposta prodotta dal lavoro precedente. Includere questa opzione quando si desidera che un dipendente umano verifichi i risultati di un processo di etichettatura precedente e lo modifichi se necessario.

L'attributo apparirà come segue:

```
  initial-value='{
    "labelMappings": {
        "Bird": {
          "color": "#ff7f0e"
        },
        "Cat": {
          "color": "#2ca02c"
        },
        "Cow": {
          "color": "#d62728"
        },
        "Dog": {
          "color": "#1f77b4"
        }
      },
    "src": {{ "S3 file URL for image" | grant_read_access }}
  }'
```

Quando si utilizzano [tipi di attività predefiniti](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html) di Ground Truth con [consolidamento delle annotazioni](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-annotation-consolidation.html) (in cui più di un worker etichetta una singola immagine), le mappature delle etichette vengono incluse nei record di output dei singoli worker, tuttavia il risultato complessivo è rappresentato come `internal-color-map` nei risultati consolidati.

È possibile convertire `internal-color-map` in `label-mappings` in un modello personalizzato utilizzando il linguaggio di template Liquid:

```
initial-value="{
  'src' : '{{ task.input.manifestLine.label-attribute-name-from-prior-job| grant_read_access }}',
  'labelMappings': {
     {% for box in task.input.manifestLine.label-attribute-name-from-prior-job-metadata.internal-color-map %}
       {% if box[1]['class-name'] != 'BACKGROUND' %}
         {{ box[1]['class-name'] | to_json }}: {
           'color': {{ box[1]['hex-color'] | to_json }}
         },
       {% endif %} 
     {% endfor %}
   } 
}"
```

### labels
<a name="semantic-segmentation-attributes-labels"></a>

Un array di stringhe in formato JSON, ciascuna delle quali è un'etichetta che un worker può assegnare a un segmento dell'immagine.

### nome
<a name="semantic-segmentation-attributes-name"></a>

Il nome di questo widget. Viene utilizzato come una chiave per l’input del widget nell’output del modulo.

### src
<a name="semantic-segmentation-attributes-src"></a>

L'URL dell'immagine che deve essere segmentata.

## Gerarchia di elementi
<a name="semantic-segmentation-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi principali**: [crowd-form](sms-ui-template-crowd-form.md)
+ **Elementi figlio**: [full-instructions](#semantic-segmentation-regions-full-instructions), [short-instructions](#semantic-segmentation-regions-short-instructions)

## Regioni
<a name="semantic-segmentation-regions"></a>

Le seguenti Regioni sono supportate da questo elemento.

### full-instructions
<a name="semantic-segmentation-regions-full-instructions"></a>

Istruzioni generali su come eseguire la segmentazione dell’immagine.

### short-instructions
<a name="semantic-segmentation-regions-short-instructions"></a>

Istruzioni importanti specifiche dell’attività che vengono visualizzate in una posizione di rilievo.

## Output
<a name="semantic-segmentation-output"></a>

Il seguente output è supportato da questo elemento.

### labeledImage
<a name="semantic-segmentation-output-labeledImage"></a>

Un oggetto JSON contenente un PNG con codifica Base64 delle etichette.

### labelMappings
<a name="semantic-segmentation-output-labelMappings"></a>

Un oggetto JSON contenete oggetti denominati con etichette di segmentazione.
+ **colore** — Il valore esadecimale del colore RGB dell'etichetta nel PNG `labeledImage`.

### initialValueModified
<a name="semantic-segmentation-output-initialValueModified"></a>

Un valore booleano che indica se i valori iniziali sono stati modificati. Questo è incluso solo quando l'output proviene da un'attività di regolazione.

### inputImageProperties
<a name="semantic-segmentation-output-inputImageProperties"></a>

Un oggetto JSON che specifica le dimensioni dell'immagine che viene annotata dal worker. Questo oggetto include le seguenti proprietà.
+ **altezza**: l'altezza dell’immagine in pixel.
+ **larghezza**: la larghezza dell’immagine in pixel.

**Example : output elemento di esempio**  
Di seguito è riportato un esempio di output di questo elemento.  

```
[
  {
    "annotatedResult": {
      "inputImageProperties": {
        "height": 533,
        "width": 800
      },
      "labelMappings": {
        "<Label 2>": {
          "color": "#ff7f0e"
        },
        "<label 3>": {
          "color": "#2ca02c"
        },
        "<label 1>": {
          "color": "#1f77b4"
        }
      },
      "labeledImage": {
        "pngImageData": "<Base-64 Encoded Data>"
      }
    }
  }
]
```

## Vedi anche
<a name="semantic-segmentation-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-slider
<a name="sms-ui-template-crowd-slider"></a>

Una barra con una manopola scorrevole che consente a un worker di selezionare un valore da un intervallo di valori spostando la manopola. Il dispositivo di scorrimento lo rende un'ottima scelta per impostazioni che riflettono livelli di intensità, ad esempio volume, luminosità o saturazione colore.

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/RwKNzWL).

Di seguito è riportato un esempio di modello di indagine che utilizza l'elemento `<crowd-slider>`. Copia il codice seguente e salvalo in un file con l’estensione `.html`. Apri il file in qualsiasi browser per visualizzare l'anteprima e interagire con questo modello. 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-form>
<crowd-instructions link-text="View instructions" link-type="button">
  <short-summary>
    <p>Provide a brief instruction here</p>
  </short-summary>

  <detailed-instructions>
    <h3>Provide more detailed instructions here</h3>
    <p>Include additional information</p>
  </detailed-instructions>

  <positive-example>
    <p>Provide an example of a good answer here</p>
    <p>Explain why it's a good answer</p>
  </positive-example>

  <negative-example>
    <p>Provide an example of a bad answer here</p>
    <p>Explain why it's a bad answer</p>
  </negative-example>
</crowd-instructions>

<div>
  <p>What is your favorite color for a bird?</p>
  <crowd-input name="favoriteColor" placeholder="example: pink" required></crowd-input>
</div>

<div>
  <p>Check this box if you like birds</p>
  <crowd-checkbox name="likeBirds" checked="true" required></crowd-checkbox>
</div>

<div>
  <p>On a scale of 1-10, how much do you like birds?</p>
  <crowd-slider name="howMuch" min="1" max="10" step="1" pin="true" required></crowd-slider>
</div>

<div>
  <p>Write a short essay describing your favorite bird</p>
  <crowd-text-area name="essay" rows="4" placeholder="Lorem ipsum..." required></crowd-text-area>
</div>
</crowd-form>
```

## Attributes
<a name="slider-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

### disabled
<a name="slider-attributes-disabled"></a>

Un interruttore booleano che, se presente, visualizza il cursore come disabilitato.

### editable
<a name="slider-attributes-editable"></a>

Un interruttore booleano che, se presente, visualizza un up/down pulsante che può essere scelto per selezionare il valore.

La selezione del valore tramite il up/down pulsante è un'alternativa alla selezione del valore spostando la manopola sul cursore. La manopola sul dispositivo di scorrimento si sposterà in modo sincrono con le scelte del pulsante su/giù.

### max
<a name="slider-attributes-max"></a>

Un numero che specifica il valore massimo sul dispositivo di scorrimento.

### min
<a name="slider-attributes-min"></a>

Un numero che specifica il valore minimo sul dispositivo di scorrimento.

### nome
<a name="slider-attributes-name"></a>

Una stringa che viene utilizzata per identificare la risposta inviata dal worker. Questo valore corrisponderà a una chiave nell’oggetto JSON che specifica la risposta.

### pin
<a name="slider-attributes-pin"></a>

Un interruttore booleano che, se presente, visualizza il valore corrente sopra la manopola quando viene spostata.

### obbligatorio
<a name="slider-attributes-required"></a>

Un interruttore booleano che, se presente, richiede al worker di fornire l'input.

### secondary-progress
<a name="slider-attributes-secondary-progress"></a>

Quando utilizzato con un attributo CSS `crowd-slider-secondary-color`, la barra di avanzamento viene colorata fino al punto rappresentato da `secondary-progress`. Ad esempio, se sta rappresentando l'avanzamento di un video in streaming, `value` rappresenta la posizione del visualizzatore nella timeline del video. Il valore `secondary-progress` rappresenta il punto sulla timeline fino a cui il video è stato bufferizzato.

### fase
<a name="slider-attributes-step"></a>

Un numero che specifica la differenza tra i valori selezionabili sul dispositivo di scorrimento.

### value
<a name="slider-attributes-value"></a>

Un set di impostazioni che diventa il default se il worker non fornisce input.

## Gerarchia di elementi
<a name="slider-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi principali**: [crowd-form](sms-ui-template-crowd-form.md)
+ **Elementi figlio**: nessuno

## Vedi anche
<a name="slider-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-tab
<a name="sms-ui-template-crowd-tab"></a>

Un componente modellato per somigliare a una scheda con le informazioni sottostanti.

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in. [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/dyNPBGW)

Di seguito è riportato un esempio di modello che utilizza l’elemento `<crowd-tab>`. Copia il codice seguente e salvalo in un file con l’estensione `.html`. Apri il file in qualsiasi browser per visualizzare l'anteprima e interagire con questo modello. 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-form>
  <crowd-tabs>
    <crowd-tab header="Tab 1">
      <h2>Image</h2>

      <img
        src="https://images.unsplash.com/photo-1478382188900-5bb598fe27d3?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1351&q=80"
        style="max-width: 40%"
      >

      <h2>Text</h2>
      <p>
      Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
      </p>
      <p>
      Sed risus ultricies tristique nulla aliquet enim tortor at auctor. Tempus egestas sed sed risus.
      </p>
    </crowd-tab>

    <crowd-tab header="Tab 2">
      <h2>Description</h2>
      <p>
      Sed risus ultricies tristique nulla aliquet enim tortor at auctor. Tempus egestas sed sed risus.
      </p>
    </crowd-tab>

    <crowd-tab header="Tab 3">
      <div style="width: 40%; display: inline-block">
        <img
          src="https://images.unsplash.com/photo-1472747459646-91fd6f13995f?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1350&q=80"
          style="max-width: 80%"
        >
        <crowd-input label="Input inside tab" name="inputInsideTab"></crowd-input>
        <input type="checkbox" name="checkbox" value="foo">Foo
        <input type="checkbox" name="checkbox" value="bar">Bar
        <crowd-button>Some button</crowd-button>
      </div>

      <div style="width: 40%; display: inline-block; vertical-align: top">
        Lorem ipsum dolor sit amet, lorem a wisi nibh, in pulvinar, consequat praesent vestibulum tellus ante felis auctor, vitae lobortis dictumst mauris. 
        Pellentesque nulla ipsum ante quisque quam augue. 
        Class lacus id euismod, blandit tempor mauris quisque tortor mauris, urna gravida nullam pede libero, ut suscipit orci faucibus lacus varius ornare, pellentesque ipsum. 
        At etiam suspendisse est elementum luctus netus, vel sem nulla sodales, potenti magna enim ipsum diam tortor rutrum, 
        quam donec massa elit ac, nam adipiscing sed at leo ipsum consectetuer. Ac turpis amet wisi, porttitor sint lacus ante, turpis accusantium, ac maecenas deleniti, 
        nisl leo sem integer ac dignissim. Lobortis etiam luctus lectus odio auctor. Justo vitae, felis integer id, bibendum accumsan turpis eu est mus eros, ante id eros. 
      </div>
    </crowd-tab>

  </crowd-tabs>

  <crowd-input label="Input outside tabs" name="inputOutsideTab"></crowd-input>

  <short-instructions>
    <p>Sed risus ultricies tristique nulla aliquet enim tortor at auctor. Tempus egestas sed sed risus.</p>
</short-instructions>

<full-instructions header="Classification Instructions">
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
    <p> Tempus egestas sed sed risus.</p>
</full-instructions>

</crowd-form>
```

## Attributes
<a name="tab-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

### intestazione
<a name="tab-attributes-header"></a>

Il testo visualizzato sulla scheda. Si tratta in genere di un nome descrittivo breve che indica le informazioni contenute sotto la scheda.

## Gerarchia di elementi
<a name="tab-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi principali**: [crowd-tabs](sms-ui-template-crowd-tabs.md)
+ **Elementi figlio**: nessuno 

## Vedi anche
<a name="tab-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-tabs
<a name="sms-ui-template-crowd-tabs"></a>

Un container per informazioni a schede.

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/ZELYdWz).

Di seguito è riportato un esempio di modello che utilizza l’elemento `<crowd-tabs>`. Copia il codice seguente e salvalo in un file con l’estensione `.html`. Apri il file in qualsiasi browser per visualizzare l'anteprima e interagire con questo modello. 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-form>
  <crowd-tabs>
    <crowd-tab header="Tab 1">
      <h2>Image</h2>

      <img
        src="https://images.unsplash.com/photo-1478382188900-5bb598fe27d3?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1351&q=80"
        style="max-width: 40%"
      >

      <h2>Text</h2>
      <p>
      Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
      </p>
      <p>
      Sed risus ultricies tristique nulla aliquet enim tortor at auctor. Tempus egestas sed sed risus.
      </p>
    </crowd-tab>

    <crowd-tab header="Tab 2">
      <h2>Description</h2>
      <p>
      Sed risus ultricies tristique nulla aliquet enim tortor at auctor. Tempus egestas sed sed risus.
      </p>
    </crowd-tab>

    <crowd-tab header="Tab 3">
      <div style="width: 40%; display: inline-block">
        <img
          src="https://images.unsplash.com/photo-1472747459646-91fd6f13995f?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1350&q=80"
          style="max-width: 80%"
        >
        <crowd-input label="Input inside tab" name="inputInsideTab"></crowd-input>
        <input type="checkbox" name="checkbox" value="foo">Foo
        <input type="checkbox" name="checkbox" value="bar">Bar
        <crowd-button>Some button</crowd-button>
      </div>

      <div style="width: 40%; display: inline-block; vertical-align: top">
        Lorem ipsum dolor sit amet, lorem a wisi nibh, in pulvinar, consequat praesent vestibulum tellus ante felis auctor, vitae lobortis dictumst mauris. 
        Pellentesque nulla ipsum ante quisque quam augue. 
        Class lacus id euismod, blandit tempor mauris quisque tortor mauris, urna gravida nullam pede libero, ut suscipit orci faucibus lacus varius ornare, pellentesque ipsum. 
        At etiam suspendisse est elementum luctus netus, vel sem nulla sodales, potenti magna enim ipsum diam tortor rutrum, 
        quam donec massa elit ac, nam adipiscing sed at leo ipsum consectetuer. Ac turpis amet wisi, porttitor sint lacus ante, turpis accusantium, ac maecenas deleniti, 
        nisl leo sem integer ac dignissim. Lobortis etiam luctus lectus odio auctor. Justo vitae, felis integer id, bibendum accumsan turpis eu est mus eros, ante id eros. 
      </div>
    </crowd-tab>

  </crowd-tabs>

  <crowd-input label="Input outside tabs" name="inputOutsideTab"></crowd-input>

  <short-instructions>
    <p>Sed risus ultricies tristique nulla aliquet enim tortor at auctor. Tempus egestas sed sed risus.</p>
</short-instructions>

<full-instructions header="Classification Instructions">
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
    <p> Tempus egestas sed sed risus.</p>
</full-instructions>

</crowd-form>
```

## Attributes
<a name="tabs-attributes"></a>

Questo elemento non contiene attributi.

## Gerarchia di elementi
<a name="tabs-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi principali**: [crowd-form](sms-ui-template-crowd-form.md) 
+ **Elementi figlio**: [crowd-tab](sms-ui-template-crowd-tab.md)

## Vedi anche
<a name="tabs-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-text-area
<a name="sms-ui-template-crowd-text-area"></a>

Un campo per l'immissione di testo.

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/ZELYdOz).

Di seguito è riportato un esempio di modello Liquid progettato per trascrivere clip audio che utilizza l'elemento `<crowd-text-area>`. Copia il codice seguente e salvalo in un file con l’estensione `.html`. Apri il file in qualsiasi browser per visualizzare l'anteprima e interagire con questo modello. 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-form>
  <audio controls>
      <source src="{{ task.input.taskObject | grant_read_access }}" type="audio/mpeg">
      Your browser does not support the audio element.
  </audio>
  <h3>Instructions</h3>
  <p>Transcribe the audio</p>
  <p>Ignore "umms", "hmms", "uhs" and other non-textual phrases</p>
  <crowd-text-area name="transcription" rows="4"></crowd-text-area>
</crowd-form>
```

## Attributes
<a name="text-area-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

### allowed-pattern
<a name="text-area-attributes-allowed-pattern"></a>

Un'espressione regolare che viene utilizzata con l'attributo *auto-validate* per ignorare caratteri non corrispondenti durante la digitazione del worker.

### auto-focus
<a name="text-area-attributes-auto-focus"></a>

Un interruttore booleano che, se presente, inserisce il cursore in questo elemento durante il caricamento, in modo che gli utenti possano iniziare immediatamente a digitare senza dover fare clic all'interno dell'elemento.

### auto-validate
<a name="text-area-attributes-auto-validate"></a>

Un interruttore booleano che, se presente, attiva la convalida dell’input. Il comportamento del validatore può essere modificato dagli attributi *error-message* e *allowed-pattern*.

### char-counter
<a name="text-area-attributes-char-counter"></a>

Un interruttore booleano che, se presente, inserisce un piccolo campo di testo sotto l'angolo inferiore destro dell'elemento, che visualizza il numero di caratteri all'interno dell'elemento.

### disabled
<a name="text-area-attributes-disabled"></a>

Un interruttore booleano che, se presente, visualizza l’area di input come disabilitata.

### error-message
<a name="text-area-attributes-error-message"></a>

Il testo da visualizzare sotto il campo di input, sul lato sinistro, se la convalida non riesce.

### etichetta
<a name="text-area-attributes-label"></a>

Una stringa che viene visualizzata all’interno di un campo di testo.

Questo testo si riduce e si solleva sopra un campo di testo quando il worker inizia a digitare nel campo o quando l'attributo *value* è impostato.

### max-length
<a name="text-area-attributes-max-length"></a>

Un numero intero che specifica il numero massimo di caratteri consentiti dall'elemento. I caratteri digitati o incollati oltre il massimo consentito vengono ignorati.

### max-rows
<a name="text-area-attributes-max-rows"></a>

Un numero intero che specifica il numero massimo di righe di testo consentite all'interno di un. crowd-text-area In genere, l'elemento si espande per supportare nuove righe. Se impostato, quando il numero di righe supera questo valore, il contenuto scorre verso l'alto finché non è più visibile e viene visualizzato un controllo barra di scorrimento.

### nome
<a name="text-area-attributes-name"></a>

Una stringa utilizzata per rappresentare i dati dell'elemento nell'output.

### placeholder
<a name="text-area-attributes-placeholder"></a>

Una stringa presentata all'utente come testo segnaposto. Scompare dopo che l'utente inizia a digitare nell'area di input.

### righe
<a name="text-area-attributes-rows"></a>

Un numero intero che specifica l'altezza dell'elemento in righe di testo.

### value
<a name="text-area-attributes-value"></a>

Un set di impostazioni che diventa il default se il worker non fornisce input. Il set di impostazioni viene visualizzato in un campo di testo.

## Gerarchia di elementi
<a name="text-area-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi principali**: [crowd-form](sms-ui-template-crowd-form.md)
+ **Elementi figlio**: nessuno

## Output
<a name="text-area-output"></a>

Questo elemento emette il `name` come un nome di proprietà e il contenuto di testo dell'elemento come il valore. I ritorni a capo nel testo sono rappresentati come `\n`.

**Example Output di esempio per questo elemento**  

```
[
  {
    "textInput1": "This is the text; the text that\nmakes the crowd go wild."
  }
]
```

## Vedi anche
<a name="text-area-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-toast
<a name="sms-ui-template-crowd-toast"></a>

Una notifica discreta visualizzata temporaneamente sullo schermo. È visibile un solo attributo crowd-toast.

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in. [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/ExZaBgK)

Di seguito è riportato un esempio di modello Liquid che utilizza l’elemento `<crowd-toast>`. Copia il codice seguente e salvalo in un file con l’estensione `.html`. Apri il file in qualsiasi browser per visualizzare l'anteprima e interagire con questo modello. 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-form>
  <p>Find the official website for: <strong>{{ task.input.company }}</strong></p>
  <p>Do not give Yelp pages, LinkedIn pages, etc.</p>
  <p>Include the http:// prefix from the website</p>
  <crowd-input name="website" placeholder="http://example.com"></crowd-input>

  <crowd-toast duration="10000" opened>
    This is a message that you want users to see when opening the template. This message will disappear in 10 seconds. 
   </crowd-toast>

</crowd-form>
```

## Attributes
<a name="toast-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

### durata
<a name="toast-attributes-duration"></a>

Un numero che specifica la durata, in millisecondi, di visualizzazione della notifica sullo schermo.

### testo
<a name="toast-attributes-text"></a>

Il testo da visualizzare nella notifica.

## Gerarchia di elementi
<a name="toast-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi principali**: [crowd-form](sms-ui-template-crowd-form.md)
+ **Elementi figlio**: nessuno

## Vedi anche
<a name="toast-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+  [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md) 
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# crowd-toggle-button
<a name="sms-ui-template-crowd-toggle-button"></a>

Un pulsante che funge da ON/OFF interruttore, attivando uno stato. 

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in. [CodePen](https://codepen.io/sagemaker_crowd_html_elements/pen/XWpJLNm)

L'esempio seguente mostra diversi modi per utilizzare l'elemento HTML `<crowd-toggle-button>`. Copia il codice seguente e salvalo in un file con l’estensione `.html`. Apri il file in qualsiasi browser per visualizzare l'anteprima e interagire con questo modello. 

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-form>
  <!--Toggle button without value-->
  <crowd-toggle-button name="toggleButtonWithoutValue"></crowd-toggle-button>

  <!--Toggle button with value-->
  <crowd-toggle-button name="toggleButtonWithValue" value="someValue"></crowd-toggle-button>

  <!--Toggle button disabled-->
  <crowd-toggle-button name="toggleButtonDisabled" disabled></crowd-toggle-button>

  <!--Toggle button marked invalid-->
  <crowd-toggle-button name="toggleButtonInvalid" invalid></crowd-toggle-button>

  <!--Toggle button marked required-->
  <crowd-toggle-button name="toggleButtonRequired" required></crowd-toggle-button>
</crowd-form>
```

## Attributes
<a name="toggle-button-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

### checked
<a name="toggle-button-attributes-checked"></a>

Un interruttore booleano che, se presente, mostra il pulsante in posizione ON.

### disabled
<a name="toggle-button-attributes-disabled"></a>

Un interruttore booleano che, se presente, visualizza il pulsante come disabilitato e ne impedisce la commutazione.

### invalid
<a name="toggle-button-attributes-invalid"></a>

Se in posizione OFF, un pulsante che utilizza questo attributo verrà visualizzato in un colore di avviso. Il colore standard è rosso, ma può essere modificato in CSS. Quando attivato, il pulsante verrà visualizzato nello stesso colore degli altri pulsanti in posizione ON.

### nome
<a name="toggle-button-attributes-name"></a>

Una stringa che viene utilizzata per identificare la risposta inviata dal worker. Questo valore corrisponde a una chiave nell'oggetto JSON che specifica la risposta.

### obbligatorio
<a name="toggle-button-attributes-required"></a>

Un interruttore booleano che, se presente, richiede al worker di fornire l'input.

### value
<a name="toggle-button-attributes-value"></a>

Un valore utilizzato nell'output come nome di proprietà per lo stato booleano dell'elemento. Se non fornito, viene usato il valore predefinito "on".

## Gerarchia di elementi
<a name="toggle-button-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ **Elementi principali**: [crowd-form](sms-ui-template-crowd-form.md)
+ **Elementi figlio**: nessuno

## Output
<a name="toggle-button-output"></a>

Questo elemento restituisce l'attributo `name` come il nome di un oggetto, contenente `value` come un nome di proprietà e lo stato dell'elemento come valore booleano per la proprietà. Se non viene specificato un valore per l'elemento, l'impostazione predefinita per il nome di proprietà è "on".

**Example Output di esempio per questo elemento**  

```
[
  {
    "theToggler": {
      "on": true
    }
  }
]
```

## Vedi anche
<a name="toggle-button-see-also"></a>

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

## Crowd HTML Elements V2
<a name="elements-v2"></a>

Crowd HTML Elements V2 introduce funzionalità di etichettatura avanzate progettate per supportare i worker, con nuove funzionalità personalizzate per casi d’uso di addestramento dei modelli con IA generativa. Questi elementi V2 sono compatibili con crowd-form, short-instructions, crowd-button, crowd-tabs e crowd-tab di Crowd HTML Elements. Se usi altri elementi con elementi V2, l’applicazione di annotazione non funziona correttamente.

### crowd-text-ranking
<a name="sms-ui-template-crowd-text-ranking"></a>

Un widget che consente ai worker di scorrere e classificare vari input di testo in base alle dimensioni specificate.

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements_2/pen/ZYGqBPQ).

```
<script src="https://assets.crowd.aws/crowd-html-elements-v2.js"></script>

<crowd-form>
  <crowd-text-ranking
    name="textRanking"
    ordinal-ranking-dimensions='[{"name":"Clarity","allowTie":true},{"name":"Inclusivity","allowTie":false}]'
    text="Explain why you can see yourself in a mirror at a level that a 16 year old can understand."
    responses='["When light is emitted from light source like a light bulb, some of it travels toward your body, where it may be reflected toward the mirror with some probability or it may be absorbed. If it were reflected off your body, then some of it could travel toward the mirror, where it could be reflected again. If it is the case where light strikes the mirror, the light is then again redirected as a reflection. If that light is pointed in the direction of your eyes, then the light will enter your eyes. Then, your brain processes the electrical signal made by your eyes and sees it as an image.","You can see yourself because of a series of light reflections. Light travels from the light source, hits and reflects off of your body and travels toward the mirror. Then, it reflects off of the mirror and travels to your eyes, where your brain registers it as a picture of yourself.","Light travels in various directions from a light source like a light bulb. Some of the light reflects off of your body with some probability, after which some of it travels to the mirror. Upon striking the mirror, the some of the light again reflects off the mirror and travels toward your eyes, wherein your eyes detect the light after absorbing it. After this process, your brain processes the signal as an image of yourself.","The phenomenon of self-visual perception via a mirror at an ontological plane derives from the intricate interplay of photons within the electromagnetic spectrum, quantum mechanical principles, and the neurocognitive processes underpinning self-recognition. In essence, the mirror serves as an interface wherein incident photons, emitted from an external object, interact with the reflective surface at a specific angle of incidence governed by the laws of geometric optics. This interaction culminates in the process of specular reflection, leading to the formation of a virtual image."]'
  >
    <short-instructions>
      <h1>Hello these are my instructions 1</h1>
      <p>Hello these are my instructions 2</p>
      <p>Hello these are my instructions 3</p>
    </short-instructions>
  </crowd-text-ranking>
</crowd-form>
```

#### Attributes
<a name="crowd-text-ranking-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

##### testo
<a name="crowd-text-ranking-attributes-text"></a>

Il testo o il riferimento S3 al testo a cui fare riferimento per classificare le risposte.

##### ordinal-ranking-dimensions
<a name="crowd-text-ranking-attributes-ordinal-ranking"></a>

Un array obbligatorio dell’oggetto `ordinal-ranking-dimensions` che specifica la dimensione in base alla quale classificare le risposte. Questa dimensione contiene un **nome** e una proprietà denominata **allowTie**, che determina se un worker può assegnare alle risposte la stessa classificazione.

##### responses
<a name="crowd-text-ranking-attributes-responses"></a>

Un array obbligatorio dell’oggetto `ordinal-ranking-dimensions` che specifica la dimensione in base alla quale classificare le risposte. Questa dimensione contiene un **nome** e una proprietà denominata **allowTie**, che determina se un worker può assegnare alle risposte la stessa classificazione.

##### nome
<a name="crowd-text-ranking-attributes-name"></a>

Un campo di stringa obbligatorio che identifica la risposta inviata dal worker. Corrisponde a una chiave nel contratto di dati di output dell’invio del worker.

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

### crowd-question-answer-generation
<a name="sms-ui-template-crowd-question-answer-generation"></a>

Un widget che consente ai worker di evidenziare sezioni di testo e assegnare coppie di domande e risposte in base alle istruzioni fornite

Guarda un esempio interattivo di un modello HTML che utilizza questo elemento HTML Crowd in [CodePen](https://codepen.io/sagemaker_crowd_html_elements_2/pen/zxGmobo).

```
<script src="https://assets.crowd.aws/crowd-html-elements-v2.js"></script>

<crowd-form>
  <crowd-question-answer-generation
    name="questionAnswerGeneration"
    text='The Amazon rainforest (Portuguese: Floresta Amazônica or Amazônia; Spanish: Selva Amazónica, Amazonía or usually Amazonia; French: Forêt amazonienne; Dutch: Amazoneregenwoud), also known in English as Amazonia or the Amazon Jungle, is a moist broadleaf forest that covers most of the Amazon basin of South America. This basin encompasses 7,000,000 square kilometres (2,700,000 sq mi), of which 5,500,000 square kilometres (2,100,000 sq mi) are covered by the rainforest. This region includes territory belonging to nine nations. The majority of the forest is contained within Brazil, with 60% of the rainforest, followed by Peru with 13%, Colombia with 10%, and with minor amounts in Venezuela, Ecuador, Bolivia, Guyana, Suriname and French Guiana. States or departments in four nations contain "Amazonas" in their names. The Amazon represents over half of the planet's remaining rainforests, and comprises the largest and most biodiverse tract of tropical rainforest 
    in the world, with an estimated 390 billion individual trees divided into 16,000 species. For a long time, it was thought that the 
    Amazon rainforest was only ever sparsely populated, as it was impossible to sustain a large population through agriculture given the poor soil. 
    Archeologist Betty Meggers was a prominent proponent of this idea, as described in her book Amazonia: Man and Culture in a Counterfeit Paradise. 
    She claimed that a population density of 0.2 inhabitants per square kilometre (0.52/sq mi) is the maximum that can be sustained in the rainforest 
    through hunting, with agriculture needed to host a larger population. However, recent anthropological findings have suggested that the region was 
    actually densely populated. Some 5 million people may have lived in the Amazon region in AD 1500, divided between dense coastal settlements, such as that at
    Marajó, and inland dwellers. By 1900 the population had fallen to 1 million and by the early 1980s it was less than 200,000.'
    min-questions="1"
    max-questions="10"
    question-min-words="1"
    question-max-words="100"
    answer-min-words="1"
    answer-max-words="100"
    question-tags='[
      "tag1",
      "tag2",
      "tag3"
    ]'
    allow-custom-question-tags="true"
  >
    <short-instructions>
      <p>User instructions will be displayed here.</p>
    </short-instructions>
  </crowd-question-answer-generation>
</crowd-form>
```

#### Attributes
<a name="crowd-question-answer-generation-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

##### testo
<a name="crowd-question-answer-generation-attributes-text"></a>

Il testo o il riferimento S3 al testo a cui fare riferimento per classificare le risposte.

##### min-questions
<a name="crowd-question-answer-generation-attributes-min-questions"></a>

Numero intero facoltativo che specifica la quantità minima di domande che un worker dovrebbe creare durante l’attività. Se non viene fornito, viene chiesto di scrivere almeno una coppia di domande e risposte.

##### max-questions
<a name="crowd-question-answer-generation-attributes-max-questions"></a>

Numero intero facoltativo che specifica la quantità massima di domande che un worker può creare durante l’attività.

##### question-min-words
<a name="crowd-question-answer-generation-attributes-question-min-words"></a>

Numero intero opzionale che specifica la quantità minima di parole consentite in una domanda. Se non viene fornito, viene chiesto di fornire almeno una parola nella domanda.

##### question-max-words
<a name="crowd-question-answer-generation-attributes-question-max-words"></a>

Numero intero opzionale che specifica la quantità massima di parole consentite in una domanda.

##### answer-min-words
<a name="crowd-question-answer-generation-attributes-answer-min-words"></a>

Numero intero opzionale che specifica la quantità minima di parole consentite in una risposta. Se non viene fornito, viene chiesto di scrivere almeno una parola nella risposta.

##### answer-max-words
<a name="crowd-question-answer-generation-attributes-answer-max-words"></a>

Numero intero opzionale che specifica la quantità massima di parole consentite in una risposta.

##### question-tags
<a name="crowd-question-answer-generation-attributes-question-tags"></a>

Un array di stringhe obbligatorio che specifica i possibili tag che un worker può assegnare a una coppia di domande e risposte. Se questo array è vuoto, il campo question-tags non è visibile.

##### allow-custom-question-tags
<a name="crowd-question-answer-generation-attributes-allow-custom-question-tags"></a>

Campo booleano obbligatorio che indica se un worker può specificare un tag di domande personalizzato.

##### nome
<a name="crowd-question-answer-generation-attributes-name"></a>

Un campo di stringa obbligatorio che identifica la risposta inviata dal worker. Corrisponde a una chiave nel contratto di dati di output dell’invio del worker.

Per ulteriori informazioni, consulta gli argomenti seguenti.
+ [Addestramento dell'etichettatura dei dati utilizzando esseri umani con Amazon SageMaker Ground Truth](sms.md)
+ [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md)

# Elementi HTML di IA aumentata Crowd
<a name="crowd-elements-a2i-list"></a>

I seguenti Elementi Crowd HTML sono disponibili solo per le attività del flusso di lavoro umano IA aumentata Amazon.

# crowd-textract-analyze-document
<a name="a2i-crowd-textract-detection"></a>

Un widget per consentire la revisione umana di un risultato di analisi del documento Amazon Textract.

## Attributes
<a name="a2i-textract-crowd-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

### intestazione
<a name="textract-attributes-header"></a>

Questo è il testo che viene visualizzato come intestazione.

### src
<a name="textract-attributes-src"></a>

Si tratta di un collegamento all'immagine che deve essere analizzata dal worker. 

### initialValue
<a name="textract-attributes-initialValue"></a>

Imposta i valori iniziali per gli attributi trovati nell'interfaccia utente del worker.

Di seguito è riportato un esempio di input `initialValue`. 

```
[
            {
                "blockType": "KEY_VALUE_SET",
                "confidence": 38.43309020996094,
                "geometry": {
                    "boundingBox": {
                        "width": 0.32613086700439453,
                        "weight": 0.0942094624042511,
                        "left": 0.4833833575248718,
                        "top": 0.5227988958358765
                    },
                    "polygon": [
                        {"x": 0.123, "y": 0.345}, ...
                    ]
                }
                "id": "8c97b240-0969-4678-834a-646c95da9cf4",
                "relationships": [
                    {
                        "type": "CHILD",
                        "ids": [
                            "7ee7b7da-ee1b-428d-a567-55a3e3affa56",
                            "4d6da730-ba43-467c-a9a5-c6137ba0c472"
                        ]
                    },
                    {
                        "type": "VALUE",
                        "ids": [
                            "6ee7b7da-ee1b-428d-a567-55a3e3affa54"
                        ]
                    }
                ],
                "entityTypes": [
                    "KEY"
                ],
                "text": "Foo bar"
            },
]
```

### blockTypes
<a name="textract-attributes-blockTypes"></a>

Questo determina il tipo di analisi che i worker possono eseguire. Al momento è supportato soltanto `KEY_VALUE_SET`. 

### keys
<a name="textract-attributes-keys"></a>

Specifica le nuove chiavi e il valore di testo associato che il worker può aggiungere. I valori di input per `keys` possono includere i seguenti elementi: 
+ `importantFormKey` accetta stringhe e viene utilizzato per specificare una singola chiave. 
+ `importantFormKeyAliases` può essere utilizzato per specificare alias che sono alternative accettabili alle chiavi fornite. Utilizzare questo elemento per identificare ortografie o presentazioni alternative delle chiavi. Questo parametro accetta un elenco di una o più stringhe. 

Di seguito è riportato un esempio di input per `keys`.

```
[
      {
        importantFormKey: 'Address',
        importantFormKeyAliases: [
          'address',
          'Addr.',
          'Add.',
        ]
      },
      {
        importantFormKey: 'Last name',
        importantFormKeyAliases: ['Surname']
      }
]
```

### no-key-edit
<a name="textract-attributes-no-key-edit"></a>

Ciò impedisce ai worker di modificare le chiavi delle annotazioni passate tramite `initialValue`. Ciò impedisce ai worker di modificare le chiavi rilevate nei documenti,. Questo è obbligatorio. 

### no-geometry-edit
<a name="textract-attributes-no-geometry-edit"></a>

Impedisce ai worker di modificare i poligoni delle annotazioni passate tramite `initialValue`. Ad esempio, questo impedirebbe al worker di modificare il riquadro di delimitazione attorno a una determinata chiave. Questo è obbligatorio. 

## Gerarchia di elementi
<a name="textract-crowd-element-hierarchy"></a>

 Questo elemento dispone dei seguenti elementi principali e secondari. 
+ Elementi padre - crowd-form
+ Elementi figlio – [full-instructions](#textract-full-instructions), [short-instructions](#textract-short-instructions) 

## Regioni
<a name="textract-crowd-regions"></a>

Le seguenti Regioni sono supportate da questo elemento. È possibile utilizzare codice HTML e CSS personalizzato all'interno di queste regioni per formattare le istruzioni per i worker. Ad esempio, utilizza la sezione `short-instructions` per fornire esempi buoni e cattivi di come completare un’attività. 

### full-instructions
<a name="textract-full-instructions"></a>

Istruzioni generali su come utilizzare il widget. 

### short-instructions
<a name="textract-short-instructions"></a>

Istruzioni importanti specifiche dell’attività che vengono visualizzate in una posizione di rilievo.

## Esempio di modello di worker che utilizza l'elemento crowd
<a name="textract-example-crowd-elements"></a>

Un esempio di modello di worker che utilizza questo elemento crowd è simile al seguente.

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
{% capture s3_uri %}http://s3.amazonaws.com/{{ task.input.aiServiceRequest.document.s3Object.bucket }}/{{ task.input.aiServiceRequest.document.s3Object.name }}{% endcapture %}

<crowd-form>
  <crowd-textract-analyze-document
    src="{{ s3_uri | grant_read_access }}"
    initial-value="{{ task.input.selectedAiServiceResponse.blocks }}"
    header="Review the key-value pairs listed on the right and correct them if they don't match the following document."
    no-key-edit
    no-geometry-edit
    keys="{{ task.input.humanLoopContext.importantFormKeys }}"
    block-types="['KEY_VALUE_SET']"
  >
    <short-instructions header="Instructions">
      <style>
        .instructions {
          white-space: pre-wrap;
        }
        .instructionsImage {
          display: inline-block;
          max-width: 100%;
        }
      </style>
      <p class='instructions'>Click on a key-value block to highlight the corresponding key-value pair in the document.

If it is a valid key-value pair, review the content for the value. If the content is incorrect, correct it.

The text of the value is incorrect, correct it.
<img class='instructionsImage' src="https://assets.crowd.aws/images/a2i-console/correct-value-text.png" />

A wrong value is identified, correct it.
<img class='instructionsImage' src="https://assets.crowd.aws/images/a2i-console/correct-value.png" />

If it is not a valid key-value relationship, choose No.
<img class='instructionsImage' src="https://assets.crowd.aws/images/a2i-console/not-a-key-value-pair.png" />

If you can’t find the key in the document, choose Key not found.
<img class='instructionsImage' src="https://assets.crowd.aws/images/a2i-console/key-is-not-found.png" />

If the content of a field is empty, choose Value is blank.
<img class='instructionsImage' src="https://assets.crowd.aws/images/a2i-console/value-is-blank.png" />

<b>Examples</b>
Key and value are often displayed next or below to each other.

Key and value displayed in one line.
<img class='instructionsImage' src="https://assets.crowd.aws/images/a2i-console/sample-key-value-pair-1.png" />

Key and value displayed in two lines.
<img class='instructionsImage' src="https://assets.crowd.aws/images/a2i-console/sample-key-value-pair-2.png" />

If the content of the value has multiple lines, enter all the text without line break. Include all value text even if it extends beyond the highlight box.
<img class='instructionsImage' src="https://assets.crowd.aws/images/a2i-console/multiple-lines.png" /></p>
    </short-instructions>

    <full-instructions header="Instructions"></full-instructions>
  </crowd-textract-analyze-document>
</crowd-form>
```

## Output
<a name="textract-crowd-element-output"></a>

Di seguito è riportato un esempio di output di tale elemento. Puoi trovare una spiegazione dettagliata di questo output nella documentazione dell'[AnalyzeDocument](https://docs.aws.amazon.com/textract/latest/dg/API_AnalyzeDocument.html)API Amazon Textract.

```
{
  "AWS/Textract/AnalyzeDocument/Forms/V1": {
    blocks: [
      {
        "blockType": "KEY_VALUE_SET",
        "id": "8c97b240-0969-4678-834a-646c95da9cf4",
        "relationships": [
          {
            "type": "CHILD",
            "ids": ["7ee7b7da-ee1b-428d-a567-55a3e3affa56", "4d6da730-ba43-467c-a9a5-c6137ba0c472"]
          },
          {
            "type": "VALUE",
            "ids": ["6ee7b7da-ee1b-428d-a567-55a3e3affa54"]
          }
        ],
        "entityTypes": ["KEY"],
        "text": "Foo bar baz"
      }
    ]
  }
}
```

# crowd-rekognition-detect-moderation-etichette
<a name="a2i-crowd-rekognition-detection"></a>

Un widget per abilitare la revisione umana di un risultato di moderazione dell'immagine Amazon Rekognition.

## Attributes
<a name="rekognition-attributes"></a>

I seguenti attributi sono supportati da questo elemento.

### intestazione
<a name="rekognition-attributes-header"></a>

Questo è il testo che viene visualizzato come intestazione.

### src
<a name="rekognition-attributes-src"></a>

Si tratta di un collegamento all'immagine che deve essere analizzata dal worker. 

### categorie
<a name="rekognition-attributes-categories"></a>

Questo supporta `categories` come un array di stringhe **o** un array di oggetti in cui ogni oggetto ha un campo `name`.

Se le categorie sono disponibili come oggetti, si applica quanto segue:
+ Le categorie visualizzate sono il valore del campo `name`.
+ La risposta restituita contiene gli oggetti **completi** di ogni categoria selezionata.

Se le categorie sono disponibili come stringhe, si applica quanto segue:
+ La risposta restituita è un array di tutte le stringhe selezionate.

### exclusion-category
<a name="rekognition-attributes-exclusion-category"></a>

Impostando questo attributo si crea un pulsante sotto le categorie nell'interfaccia utente. 
+ Quando un utente seleziona il pulsante, tutte le categorie vengono deselezionate e disabilitate.
+ La scelta del pulsante consente nuovamente di abilitare le categorie in modo che gli utenti possano sceglierle.
+ Se si effettua l'invio dopo aver scelto il pulsante, viene restituito un array vuoto.

## Gerarchia di elementi
<a name="rekognition-crowd-element-hierarchy"></a>

Questo elemento dispone dei seguenti elementi principali e secondari.
+ Elementi padre - crowd-form
+ Elementi figlio – [full-instructions](#rek-full-instructions), [short-instructions](#rek-short-instructions) 

## AWS Regioni
<a name="rek-crowd-regions"></a>

Le seguenti AWS regioni sono supportate da questo elemento. È possibile utilizzare codice HTML e CSS personalizzato all'interno di queste Regioni per formattare le istruzioni ai worker. Ad esempio, utilizza la sezione `short-instructions` per fornire esempi buoni e cattivi di come completare un’attività. 

### full-instructions
<a name="rek-full-instructions"></a>

Istruzioni generali su come utilizzare il widget. 

### short-instructions
<a name="rek-short-instructions"></a>

Istruzioni importanti specifiche dell’attività che vengono visualizzate in una posizione di rilievo. 

## Esempio modello worker con l'elemento crowd
<a name="rek-crowd-element-example"></a>

Un esempio di modello worker che utilizza l'elemento crowd sarebbe simile al seguente.

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
{% capture s3_uri %}http://s3.amazonaws.com/{{ task.input.aiServiceRequest.image.s3Object.bucket }}/{{ task.input.aiServiceRequest.image.s3Object.name }}{% endcapture %}

<crowd-form>
  <crowd-rekognition-detect-moderation-labels
    categories='[
      {% for label in task.input.selectedAiServiceResponse.moderationLabels %}
        {
          name: "{{ label.name }}",
          parentName: "{{ label.parentName }}",
        },
      {% endfor %}
    ]'
    src="{{ s3_uri | grant_read_access }}"
    header="Review the image and choose all applicable categories."
  >
    <short-instructions header="Instructions">
      <style>
        .instructions {
          white-space: pre-wrap;
        }
      </style>
      <p class='instructions'>Review the image and choose all applicable categories.
If no categories apply, choose None.

<b>Nudity</b>
Visuals depicting nude male or female person or persons

<b>Graphic Male Nudity</b>
Visuals depicting full frontal male nudity, often close ups

<b>Graphic Female Nudity</b>
Visuals depicting full frontal female nudity, often close ups

<b>Sexual Activity</b>
Visuals depicting various types of explicit sexual activities and pornography

<b>Illustrated Nudity or Sexual Activity</b>
Visuals depicting animated or drawn sexual activity, nudity or pornography

<b>Adult Toys</b>
Visuals depicting adult toys, often in a marketing context

<b>Female Swimwear or Underwear</b>
Visuals depicting female person wearing only swimwear or underwear

<b>Male Swimwear Or Underwear</b>
Visuals depicting male person wearing only swimwear or underwear

<b>Partial Nudity</b>
Visuals depicting covered up nudity, for example using hands or pose

<b>Revealing Clothes</b>
Visuals depicting revealing clothes and poses, such as deep cut dresses

<b>Graphic Violence or Gore</b>
Visuals depicting prominent blood or bloody injuries

<b>Physical Violence</b>
Visuals depicting violent physical assault, such as kicking or punching

<b>Weapon Violence</b>
Visuals depicting violence using weapons like firearms or blades, such as shooting

<b>Weapons</b>
Visuals depicting weapons like firearms and blades

<b>Self Injury</b>
Visuals depicting self-inflicted cutting on the body, typically in distinctive patterns using sharp objects

<b>Emaciated Bodies</b>
Visuals depicting extremely malnourished human bodies

<b>Corpses</b>
Visuals depicting human dead bodies

<b>Hanging</b>
Visuals depicting death by hanging</p>
    </short-instructions>

    <full-instructions header="Instructions"></full-instructions>
  </crowd-rekognition-detect-moderation-labels>
</crowd-form>
```

## Output
<a name="rek-crowd-element-output"></a>

Di seguito è riportato un esempio di output di tale elemento. Per informazioni dettagliate su questo output, consulta la documentazione dell'API Amazon [DetectModerationLabels](https://docs.aws.amazon.com/rekognition/latest/dg/API_DetectModerationLabels.html)Rekognition. 

```
{
  "AWS/Rekognition/DetectModerationLabels/Image/V3": {
    "ModerationLabels": [
        { name: 'Gore', parentName: 'Violence' },
        { name: 'Corpses', parentName: 'Violence' },
    ]
  }
}
```

# Utilizzo di IA aumentata Amazon per la revisione umana
<a name="a2i-use-augmented-ai-a2i-human-review-loops"></a>

Quando si utilizzano applicazioni IA, quali Amazon Rekognition, Amazon Textract o modelli di Machine Learning (ML) personalizzati, puoi utilizzare IA aumentata Amazon per ottenere una revisione umana di bassa attendibilità o un campione casuale di previsioni.
<a name="what-is-amazon-augmented-ai-a2i"></a>
**Cos'è IA aumentata Amazon?**  
IA aumentata Amazon (Amazon A2I) è un servizio che offre la revisione umana delle previsioni di machine learning a tutti gli sviluppatori, eliminando il peso associato alla creazione di sistemi di revisione umani o alla gestione di un gran numero di revisori umani. 

Per molte applicazioni ML è necessario che la revisione delle previsioni di bassa attendibilità sia eseguita da umani per garantire la correttezza dei risultati. Per esempio, l'estrazione di informazioni dalle scansioni di moduli di richiesta dei mutui può richiedere la revisione umana a causa della bassa qualità delle scansioni o della brutta grafia. La creazione di sistemi di revisione umana può richiedere molto tempo e denaro perché rende necessaria l'implementazione di processi complessi o *flussi di lavoro*, la scrittura di software su misura per la gestione dei compiti e dei risultati di revisione e la gestione di gruppi composti da numerosi revisori.

Amazon A2I semplifica la creazione e la gestione delle recensioni umane per le applicazioni di machine learning. Amazon A2I offre flussi di lavoro integrati di revisione umana per casi d'uso di machine learning comuni, come la moderazione dei contenuti e l'estrazione di testo dai documenti. Puoi anche creare flussi di lavoro personalizzati per modelli di machine learning basati sull' SageMaker intelligenza artificiale o su qualsiasi altro strumento. L'utilizzo di Amazon A2I permette ai revisori umani di intervenire quando un modello non può fare una previsione con grande attendibilità o effettuare una audit sulle proprie previsioni su base regolare. 
<a name="a2i-use-cases-intro"></a>
**Esempi di casi d'uso di Amazon A2I**  
Gli esempi seguenti mostrano come utilizzare Amazon A2I per integrare un ciclo di revisione umana nella tua applicazione ML. Per ognuno di questi esempi, puoi trovare un notebook Jupyter che illustra quel flusso di lavoro in [Casi d'uso ed esempi con Amazon A2I](a2i-task-types-general.md). 
+ **Usa Amazon A2I con Amazon Textract**: chiedi agli utenti di esaminare importanti coppie chiave-valore in documenti di una sola pagina o chiedi ad Amazon Textract di campionare e inviare in modo casuale i documenti dal tuo set di dati agli esseri umani per la revisione. 
+ **Usa Amazon A2I con Amazon Rekognition**: chiedi agli utenti di esaminare le immagini non sicure alla ricerca di contenuti espliciti per adulti o violenti se Amazon Rekognition restituisce un punteggio di attendibilità basso, oppure chiedi ad Amazon Rekognition di campionare e inviare casualmente le immagini dal tuo set di dati agli umani per la revisione.
+ **Usa Amazon A2I per esaminare le inferenze ML in tempo reale: usa Amazon A2I per esaminare inferenze** in tempo reale e a bassa confidenza effettuate da un modello distribuito su un endpoint ospitato da SageMaker AI e addestrare in modo incrementale il tuo modello utilizzando i dati di output di Amazon A2I.
+ **Usa Amazon A2I con Amazon Comprehend**: chiedi agli umani di esaminare le inferenze di Amazon Comprehend sui dati di testo come l'analisi del sentiment, la sintassi del testo e il rilevamento delle entità.
+ **Usa Amazon A2I con Amazon Transcribe**: chiedi agli utenti di esaminare le trascrizioni di file video o audio con Amazon Transcribe. Usa i risultati dei cicli di revisione umana di trascrizione per creare un vocabolario personalizzato e migliorare le trascrizioni future di contenuti video o audio simili.
+ **Usa Amazon A2I con Amazon Translate**: chiedi agli utenti di esaminare le traduzioni a bassa attendibilità restituite da Amazon Translate.
+ **Usa Amazon A2I per esaminare i dati tabulari**: usa Amazon A2I per integrare un ciclo di revisione umana in un'applicazione ML che utilizza dati tabulari.

![\[IA aumentata Amazon: come funziona\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/amazon-augmented-ai-how-it-works.png)


**Topics**
+ [Nozioni di base su Amazon IA aumentata](a2i-getting-started.md)
+ [Casi d'uso ed esempi con Amazon A2I](a2i-task-types-general.md)
+ [Creare un flusso di lavoro di revisione umana](a2i-create-flow-definition.md)
+ [Eliminare un flusso di lavoro di revisione umana](a2i-delete-flow-definition.md)
+ [Creazione e avvio di un ciclo umano](a2i-start-human-loop.md)
+ [Eliminazione di un ciclo umano](a2i-delete-human-loop.md)
+ [Creazione e gestione di modelli di attività del worker](a2i-instructions-overview.md)
+ [Monitoraggio e gestione del ciclo umano](a2i-monitor-humanloop-results.md)
+ [Dati di output di Amazon A2I](a2i-output-data.md)
+ [Autorizzazioni e sicurezza in IA aumentata Amazon](a2i-permissions-security.md)
+ [Utilizzo Amazon CloudWatch Events in Amazon Augmented AI](a2i-cloudwatch-events.md)
+ [Utilizzo di API in IA aumentata Amazon](a2i-api-references.md)

# Nozioni di base su Amazon IA aumentata
<a name="a2i-getting-started"></a>

Per iniziare a usare Amazon IA aumentata, consulta [Componenti principali di Amazon A2I](a2i-getting-started-core-components.md) e [Prerequisiti per l'utilizzo di IA aumentata](a2i-getting-started-prerequisites.md). Quindi, utilizza la seguente documentazione per imparare a usare la console e l'API Amazon A2I. 
+ [Tutorial: nozioni di base sulla Console Amazon A2I](a2i-get-started-console.md)
+ [Tutorial: nozioni di base sull'uso dell'API di Amazon A2I](a2i-get-started-api.md)

Inoltre puoi iniziare a usare l'API Amazon A2I seguendo un tutorial su notebook Jupyter. Per un elenco di notebook e casi d'uso, consulta [Casi d'uso ed esempi con Amazon A2I](a2i-task-types-general.md). 

# Componenti principali di Amazon A2I
<a name="a2i-getting-started-core-components"></a>

Leggi i seguenti termini per acquisire familiarità con i componenti principali di Amazon A2I. 

## Tipo di attività
<a name="a2i-task-type-get-started"></a>

*Il AI/ML flusso di lavoro in cui integri Amazon A2I definisce un tipo di attività Amazon A2I.* 

Supporti Amazon A21:
+ Due *tipi di attività predefiniti*: [Estrazione di coppie chiave-valore di Amazon Textract](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-textract-task-type.html) e [moderazione delle Immagini Amazon Rekognition](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-rekognition-task-type.html).
+ Un [tipo di attività personalizzato](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-task-types-custom.html): utilizza un tipo di attività personalizzato per integrare un ciclo di revisione umano in *qualsiasi* flusso di lavoro di machine learning. Puoi utilizzare un tipo di attività personalizzato per integrare Amazon A2I con altri AWS servizi come Amazon Comprehend, Amazon Transcribe e Amazon Translate, oltre ai tuoi flussi di lavoro di machine learning personalizzati. Per ulteriori informazioni, consulta [Casi d'uso ed esempi con Amazon A2I](a2i-task-types-general.md).

Seleziona una scheda nella tabella seguente per visualizzare i diagrammi che illustrano come Amazon A2I funziona con ogni tipo di attività. Seleziona la pagina del tipo di attività utilizzando i collegamenti nell'elenco precedente per ulteriori informazioni su quel tipo di attività.

------
#### [ Amazon Textract – Key-value pair extraction ]

Questa immagine mostra il flusso di lavoro integrato di Amazon A2I con Amazon Textract. A sinistra, sono illustrate le risorse necessarie per creare un flusso di lavoro di revisione umana di Amazon Textract: un bucket Amazon S3, condizioni di attivazione, un modello di attività del worker e un team di lavoro. Queste risorse vengono utilizzate per creare un flusso di lavoro di revisione umana o una definizione del flusso. Una freccia indica la fase successiva del flusso di lavoro: usare Amazon Textract per configurare un ciclo umano con il flusso di lavoro di revisione umana. Una seconda freccia indica direttamente da questa fase alla fase in cui vengono soddisfatte le condizioni di attivazione specificate nel flusso di lavoro di revisione umana. Questo avvia la creazione di un ciclo umano. A destra dell'immagine, il ciclo umano è rappresentato in tre fasi: 1) l'interfaccia utente e gli strumenti dei worker vengono generati e l'attività viene messa a disposizione dei worker, 2) i worker esaminano i dati di input e infine, 3) i risultati vengono salvati in Amazon S3.

![\[Flusso di lavoro integrato di Amazon A2I con Amazon Textract.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/a2i/diagrams/product-page-diagram_A21-Components_Textract@2x.png)


------
#### [ Amazon Rekognition – Image moderation ]

Questa immagine mostra il flusso di lavoro integrato di Amazon A2I con Amazon Rekognition. A sinistra, sono illustrate le risorse necessarie per creare un flusso di lavoro di revisione umana di Amazon Rekognition: un bucket Amazon S3, condizioni di attivazione, un modello di attività del worker e un team di lavoro. Queste risorse vengono utilizzate per creare un flusso di lavoro di revisione umana o una definizione del flusso. Una freccia indica la fase successiva del flusso di lavoro: usare Amazon Rekognition per configurare un ciclo umano con il flusso di lavoro di revisione umana. Una seconda freccia indica direttamente da questa fase alla fase in cui vengono soddisfatte le condizioni di attivazione specificate nel flusso di lavoro di revisione umana. Questo avvia la creazione di un ciclo umano. A destra dell'immagine, il ciclo umano è rappresentato in tre fasi: 1) l'interfaccia utente e gli strumenti dei worker vengono generati e l'attività viene messa a disposizione dei worker, 2) i worker esaminano i dati di input e infine, 3) i risultati vengono salvati in Amazon S3.

![\[Flusso di lavoro integrato di Amazon A2I con Amazon Rekognition.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/a2i/diagrams/product-page-diagram_A2I-Components_Rekognition@2x.png)


------
#### [ Custom Task Type ]

L'immagine seguente mostra il flusso di lavoro personalizzato di Amazon A2I. Un modello ML personalizzato viene utilizzato per generare previsioni. L'applicazione client filtra queste previsioni utilizzando criteri definiti dall'utente e determina se è necessaria una revisione umana. In tal caso, queste previsioni vengono inviate ad Amazon A2I per la revisione umana. Amazon A2I raccoglie i risultati della revisione umana in Amazon S3, a cui è possibile accedere tramite l'applicazione client. Se il filtro determina che non è necessaria alcuna revisione umana, le previsioni possono essere inviate direttamente all'applicazione client. 

![\[Flusso di lavoro personalizzato di Amazon A2I\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/a2i/diagrams/product-page-diagram_A2I-Components_Custom@2x.png)


------

## Flusso di lavoro di revisione umana (definizione del flusso)
<a name="a2i-getting-started-human-review-workflow"></a>

Si utilizza un flusso di lavoro di revisione umana per specificare il *team di lavoro* umano, configurare l'interfaccia utente del worker utilizzando un *modello di attività del worker* e fornire informazioni su come i worker devono completare l'attività di revisione. 

Per i tipi di attività predefiniti, è possibile anche utilizzare il flusso di lavoro di revisione umana per individuare le condizioni in cui viene attivato un ciclo umano. Ad esempio, Amazon Rekognition può eseguire la moderazione dei contenuti delle immagini utilizzando machine learning. È possibile utilizzare il flusso di lavoro di revisione umana per specificare che un'immagine venga inviata a una persona per la revisione della moderazione dei contenuti se l'attendibilità di Amazon Rekognition è troppo bassa.

È possibile utilizzare un flusso di lavoro di revisione umana per creare cicli umani multipli.

Puoi creare una definizione di flusso nella console SageMaker AI o con l'API. SageMaker Per ulteriori informazioni su entrambe queste opzioni, consulta [Creare un flusso di lavoro di revisione umana](a2i-create-flow-definition.md).

**Team di lavoro**  
Un *team di lavoro* è un gruppo di worker umani a cui invii le attività di revisione umana.

Quando si crea un flusso di lavoro di revisione umana, si specifica un singolo team di lavoro. 

Il tuo team di lavoro può provenire dalla [forza lavoro di Amazon Mechanical Turk](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-public.html), da una [forza lavoro gestita da fornitori](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-vendor.html) o dalla propria [forza lavoro privata](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-private.html). Quando si utilizza la forza lavoro privata, è possibile creare team di lavoro multipli. Ogni team di lavoro può essere utilizzato in flussi di lavoro di revisione umana multipli. Per informazioni su come creare una forza lavoro e team di lavoro, consulta [Forza lavoro](sms-workforce-management.md).

**Modello di attività del worker e interfaccia utente dell’attività umana**  
Utilizzi un *modello attività del worker* per creare un'interfaccia utente (*un'interfaccia utente delle attività umane*) per le attività di revisione umana.

L'interfaccia utente delle attività umane visualizza i dati di input, ad esempio documenti o immagini, e le istruzioni ai worker. Fornisce inoltre strumenti interattivi utilizzati dal worker per completare le attività. 

Per i tipi di attività predefiniti, devi utilizzare il modello di attività del worker di Amazon A2I fornito per quel tipo di attività.

## Cicli umani
<a name="a2i-getting-started-human-loop"></a>

Un *ciclo umano* viene utilizzato per creare un singolo processo di revisione umana. Per ogni processo di revisione umana, è possibile scegliere il numero di worker a cui inviare *un'attività* per la revisione di un singolo oggetto dati. Ad esempio, se imposti il Number of workers per object (Numero di worker per oggetto) su `3` per un processo di etichettatura di classificazione delle immagini, tre worker classificano ciascuna immagine di input. L'aumento del numero di worker per oggetto può migliorare la precisione delle etichette.

Un ciclo umano viene creato utilizzando un flusso di lavoro di revisione umana come segue:
+ Per i tipi di attività predefiniti, le condizioni specificate nel flusso di lavoro di revisione umana determinano quando viene creato il ciclo umano.
+ Le attività di revisione umana vengono inviate al team di lavoro specificato nel flusso di lavoro di revisione umana. 
+ Il modello di attività del worker specificato nel flusso di lavoro di revisione umana viene utilizzato per eseguire il rendering dell'interfaccia utente delle attività umane. 

**Quando vengono creati cicli umani?**

Quando utilizzi uno dei *tipi di attività integrati*, il AWS servizio corrispondente crea e avvia un ciclo umano per tuo conto quando vengono soddisfatte le condizioni specificate nel flusso di lavoro di revisione umana. Ad esempio:
+ quando utilizzi l'IA aumentata con Amazon Textract, è possibile integrare Amazon A2I in un'attività di revisione dei documenti utilizzando l'operazione API `AnalyzeDocument`. Viene creato un ciclo umano ogni volta che Amazon Textract restituisce inferenze su coppie chiave-valore che soddisfano le condizioni specificate nel flusso di lavoro di revisione umana. 
+ quando utilizzi IA aumentata con Amazon Rekognition, è possibile integrare Amazon A2I in un'attività di moderazione delle immagini utilizzando l'operazione API `DetectModerationLabels`. Viene creato un ciclo umano ogni volta che Amazon Rekognition restituisce inferenze sul contenuto di immagini che soddisfano le condizioni specificate nel flusso di lavoro di revisione umana.

Quando si utilizza un *tipo di attività personalizzato*, un ciclo umano viene avviato utilizzando [l'API di runtime IA aumentata Amazon](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/Welcome.html). Quando si chiama `StartHumanLoop` nell'applicazione personalizzata, un'attività viene inviata ai revisori umani. 

Per informazioni su come creare e avviare un ciclo umano, consulta [Creazione e avvio di un ciclo umano](a2i-start-human-loop.md).

Per generare queste risorse e creare un flusso di lavoro di revisione umana, Amazon A2I ne integra diverse APIs, tra cui Amazon Augmented AI Runtime SageMaker APIs Model APIs e associato al tipo di attività. Per ulteriori informazioni, consulta [Utilizzo di API in IA aumentata Amazon](a2i-api-references.md).

**Nota**  
AWS La disponibilità della regione può variare quando utilizzi l'IA Augmented con AWS altri servizi, come Amazon Textract. Crea risorse AI Augmented nella AWS stessa regione che utilizzi per interagire con AWS tali servizi. Per la disponibilità AWS regionale per tutti i servizi, consulta la [tabella delle regioni.](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)

# Prerequisiti per l'utilizzo di IA aumentata
<a name="a2i-getting-started-prerequisites"></a>

Amazon A2I utilizza risorse di IAM, SageMaker AI e Amazon S3 per creare ed eseguire flussi di lavoro di revisione umana. Quando crei un flusso di lavoro di revisione umana è possibile creare alcune di queste risorse nella console Amazon A2I. Per scoprire come, consulta [Tutorial: nozioni di base sulla Console Amazon A2I](a2i-get-started-console.md).

Per utilizzare Amazon A2I, sono necessarie le seguenti risorse:
+ Uno o più bucket Amazon S3 nella stessa AWS regione del flusso di lavoro per i dati di input e output. Per creare un bucket, segui le istruzioni riportate in [ Creazione di un bucket](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-bucket.html) nella *Guida per l'utente di Amazon Simple Storage Service Console*. 
+ Un ruolo IAM con autorizzazioni necessarie per creare un flusso di lavoro di revisione umana e un utente o un ruolo IAM con autorizzazione di accesso a IA aumentata. Per ulteriori informazioni, consulta [Autorizzazioni e sicurezza in IA aumentata Amazon](a2i-permissions-security.md).
+ Una forza lavoro pubblica, privata o di un fornitore per i flussi di lavoro di revisione umana. Se prevedi di utilizzare una forza lavoro privata, devi configurarne una in anticipo nella stessa AWS regione del tuo flusso di lavoro Amazon A2I. Per ulteriori informazioni su questi tipi di forza lavoro, consulta [Forza lavoro](sms-workforce-management.md).
**Importante**  
Per ulteriori informazioni sui programmi di conformità in ambito di IA aumentata Amazon in questo momento, vedere [AWS Servizi coperti dal programma di conformità](https://aws.amazon.com/compliance/services-in-scope/). Se utilizzi Amazon Augmented AI insieme AWS ad altri servizi (come Amazon Rekognition e Amazon Textract), tieni presente che Amazon Augmented AI potrebbe non rientrare negli stessi programmi di conformità di questi altri servizi. Sei responsabile del modo in cui utilizzi IA aumentata Amazon, compresa la comprensione di come il servizio elabora o archivia i dati dei clienti e di qualsiasi impatto sulla conformità del tuo ambiente di dati. Dovresti discutere gli obiettivi e gli obiettivi del carico di lavoro con il team del tuo AWS account; possono aiutarti a valutare se il servizio è adatto al caso d'uso e all'architettura proposti.

# Tutorial: nozioni di base sulla Console Amazon A2I
<a name="a2i-get-started-console"></a>

Il seguente tutorial illustra le nozioni di base sull'uso di Amazon A2I nella console Amazon A2I.

Il tutorial ti offre la possibilità di utilizzare IA aumentata con Amazon Textract per la revisione dei documenti o Amazon Rekognition per la revisione dei contenuti delle immagini.

## Prerequisiti
<a name="a2i-getting-started-console-prerequisites"></a>

Per iniziare a usare Amazon A2I, completa i prerequisiti seguenti. 
+ Crea un bucket Amazon S3 nella stessa AWS regione del flusso di lavoro per i dati di input e output. Ad esempio, se utilizzi Amazon A2I con Amazon Textract in us-east-1, crea il bucket in us-east-1. Per creare un bucket, segui le istruzioni riportate in [ Creazione di un bucket](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-bucket.html) nella *Guida per l'utente di Amazon Simple Storage Service Console*. 
+ Esegui una delle seguenti operazioni:
  + Se desideri completare il tutorial utilizzando Amazon Textract, scarica la seguente immagine e inseriscila nel tuo bucket Amazon S3.  
![\[Breve domanda di assunzione\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/a2i/getting-started/sample-document-final.png)
  + Se desideri completare il tutorial utilizzando Amazon Rekognition, scarica la seguente immagine e inseriscila nel tuo bucket Amazon S3.  
![\[Donna in bikini che fa yoga sulla spiaggia\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/a2i/getting-started/yoga_swimwear_resized.jpg)

**Nota**  
La console Amazon A2I è integrata nella console SageMaker AI. 

## Fase 1: creare un team di lavoro
<a name="a2i-get-started-console-step-1"></a>

Innanzitutto, crea un team di lavoro nella console Amazon A2I e aggiungi te stesso come worker in modo da poter visualizzare in anteprima l'attività di revisione del worker.

**Importante**  
Questo tutorial utilizza un team di lavoro privato. La forza lavoro privata di Amazon A2I è configurata nell'area Ground Truth della console SageMaker AI ed è condivisa tra Amazon A2I e Ground Truth. 

**Per creare una forza lavoro privata tramite le e-mail dei worker**

1. Apri la console AI all'indirizzo. SageMaker [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) 

1. Nel riquadro di navigazione, scegli **Etichettatura delle forze lavoro** in **Ground Truth**.

1. Scegli **Privato**, quindi **Crea team privato**.

1. Seleziona **Invita nuovi worker per e-mail**.

1. Per questo tutorial, inserisci la tua e-mail e di qualsiasi altra persona per la quale tu voglia poter visualizzare in anteprima l'interfaccia utente di attività umana. È possibile incollare o digitare un elenco di massimo 50 indirizzi e-mail, separati da virgola, nella casella degli indirizzi e-mail.

1. Inserire un nome dell'organizzazione e un'e-mail di contatto.

1. Facoltativamente, scegli un argomento Amazon SNS a cui iscrivere il team in modo che i worker vengano avvisati via e-mail quando diventano disponibili nuove attività di etichettatura Ground Truth. Le notifiche SNS sono supportate da Ground Truth e non da IA aumentata. Se i worker effettuano la sottoscrizione per notifiche SNS Amazon, riceveranno solo notifiche sulle attività di etichettatura Ground Truth. Non riceveranno notifiche sulle attività IA aumentata. 

1.  Scegli **Crea team privato**. 

Se aggiungi te stesso a un team di lavoro privato, riceverai un'e-mail da `no-reply@verificationemail.com` con le informazioni di accesso. Usa il collegamento contenuto in questa e-mail per reimpostare la password e accedere al tuo portale dei worker. È qui che compaiono le attività di revisione umana quando crei un ciclo umano.

## Fase 2: creare un flusso di lavoro di revisione umana
<a name="a2i-get-started-console-step-2"></a>

In questa fase crei un flusso di lavoro di revisione umana. Ogni flusso di lavoro di revisione umana viene creato per un [tipo di attività](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-task-types-general.html) specifico. Questo tutorial ti consente di scegliere tra i tipi di attività predefiniti: Amazon Rekognition e Amazon Textract. 

**Per creare un flusso di lavoro di revisione umana:**

1. **Apri la console Augmented AI [https://console---aws.amazon.com.rproxy.goskope.comsu /a2i per accedere alla](https://console.aws.amazon.com/a2i/) pagina dei flussi di lavoro di revisione umana.** 

1. Seleziona **Crea un flusso di lavoro di revisione umana**.

1. Nelle **impostazioni del flusso di lavoro**, inserisci **il nome del flusso di lavoro, il** **bucket S3** e il **ruolo IAM** che hai creato per questo tutorial, con la policy gestita allegata. AWS `AmazonAugmentedAIIntegratedAPIAccess`

1. Per **Tipo di attività**, seleziona **Textract – Estrazione di coppie chiave-valore** o **Rekognition – Moderazione delle immagini**.

1. Per le istruzioni relative a quel tipo di attività seleziona il tipo di attività che hai scelto dalla tabella seguente. 

------
#### [ Amazon Textract – Key-value pair extraction ]

   1. Seleziona **Attivare una revisione umana per chiavi modulo specifiche in base al punteggio di attendibilità delle chiavi modulo o quando mancano chiavi modulo specifiche**. 

   2. Per **Nome chiave**, immetti `Mail Address`. 

   3. Imposta la soglia di attendibilità di identificazione tra `0` e`99`. 

   4. Imposta la soglia di attendibilità di qualificazione tra `0` e`99`.

   5. Seleziona **Attivare la revisione umana per tutte le chiavi modulo identificate da Amazon Textract con punteggi di attendibilità in un intervallo specifico**.

   6. Imposta la soglia di attendibilità di identificazione tra `0` e`90`. 

   7. Imposta la soglia di attendibilità di qualificazione tra `0` e`90`.

   Ciò avvia una revisione umana se Amazon Textract restituisce un punteggio di attendibilità inferiore a `99` per `Mail Address` e la relativa chiave o se restituisce un punteggio di attendibilità inferiore a `90` per qualsiasi coppia di valori chiave rilevata nel documento.

   L'immagine seguente mostra la sezione Amazon Textract: Condizioni per invocare la sezione di revisione umana della console Amazon A2I Nell'immagine, le caselle di controllo dei due tipi di trigger spiegati nel paragrafo precedente sono selezionate e `Mail Address` viene utilizzato come **nome chiave** per il primo trigger. La soglia di attendibilità di identificazione è definita utilizzando i punteggi di attendibilità per le coppie chiave-valore rilevate all'interno del modulo ed è impostata tra 0 e 99. La soglia di attendibilità di qualificazione è definita utilizzando i punteggi di attendibilità per il testo contenuto nelle chiavi e nei valori in un modulo ed è impostata tra 0 e 99. 

![\[Console Amazon A2I che mostra le condizioni per invocare la sezione di revisione umana.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/a2i/getting-started/Textract-conditions.png)


------
#### [ Amazon Rekognition – Image moderation ]

   1. Seleziona **Attivare la revisione umana delle etichette identificate da Amazon Rekognition in base al punteggio di attendibilità dell'etichetta**.

   2. Imposta la **soglia** tra `0` e`98`. 

   Ciò avvia una revisione umana se Amazon Rekognition restituisce un punteggio di attendibilità inferiore a `98` per un processo di moderazione delle immagini. 

   L'immagine seguente mostra come selezionare l'opzione **Attivare la revisione umana delle etichette identificate da Amazon Rekognition in base al punteggio di attendibilità dell'etichetta** e inserire una **Soglia** compresa tra 0 e 98 nella console Amazon A2I.

![\[Console Amazon A2I che mostra le condizioni per invocare la sezione di revisione umana.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/a2i/getting-started/Rek-conditions.png)


------

1. In **Creazione del modello di attività del worker**, seleziona **Crea da un modello predefinito**.

1. Inserisci un **Nome del modello**.

1. Nel campo **Descrizione dell'attività**, inserisci il seguente testo:

   `Read the instructions carefully and complete the task.`

1. In **worker**, seleziona **Privato**.

1. Seleziona il team privato creato.

1. Scegli **Create** (Crea).

Una volta creato, il flusso di lavoro di revisione umana viene visualizzato nella tabella della pagina **Flussi di lavoro di revisione umana**. Quando lo **Stato** è `Active`, copia e salva l'ARN flusso di lavoro. Servirà per la fase successiva. 

## Fase 3: avviare un ciclo umano
<a name="a2i-get-started-console-step-3"></a>

È necessario utilizzare un'operazione API per avviare un ciclo umano. Esistono diversi linguaggi specifici SDKs che puoi utilizzare per interagire con queste operazioni API. Per visualizzare la documentazione relativa a ciascuna di queste SDKs opzioni, consulta la sezione **Vedere anche** nella documentazione dell'API, come illustrato nell'immagine seguente.

![\[Screenshot della sezione Vedi anche della documentazione dell’API Amazon Textract\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/a2i/getting-started/see-also.png)


Per questo tutorial, usi uno dei seguenti APIs:
+ Se hai scelto il tipo di attività Amazon Textract, utilizzi l'operazione `[AnalyzeDocument](https://docs.aws.amazon.com/textract/latest/dg/API_AnalyzeDocument.html)`.
+ Se hai scelto il tipo di attività Amazon Rekognition, utilizzi l'operazione `[DetectModerationLabels](https://docs.aws.amazon.com/rekognition/latest/dg/API_DetectModerationLabels.html)`.

Puoi interagire con questi APIs utilizzando un'istanza di SageMaker notebook (consigliata per i nuovi utenti) o il AWS Command Line Interface (AWS CLI). Scegli uno dei seguenti per avere ulteriori informazioni su queste opzioni:
+ Per ulteriori informazioni e per configurare un'istanza di notebook, consulta [Istanze SageMaker per notebook Amazon](nbi.md).
+ Per saperne di più e iniziare a utilizzare AWS CLI, vedi [Cos'è l'interfaccia a riga di AWS comando?](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) nella *Guida AWS Command Line Interface per l'utente*.

Seleziona il tipo di attività nella tabella seguente per visualizzare esempi di richieste per Amazon Textract e Amazon Rekognition utilizzando il AWS SDK per Python (Boto3). 

------
#### [ Amazon Textract – Key-value pair extraction ]

L'esempio seguente utilizza AWS SDK per Python (Boto3) to call `analyze_document` us-west-2. Sostituisci il testo in rosso in corsivo con le tue risorse. Includi il parametro [https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_HumanLoopDataAttributes.html](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_HumanLoopDataAttributes.html) solo se utilizzi la forza lavoro di Amazon Mechanical Turk. Per ulteriori informazioni, consulta la documentazione `[analyze\$1document](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/textract.html#Textract.Client.analyze_document)` in *AWS SDK per Python (Boto) API Reference*.

```
   response = client.analyze_document(
         Document={
                "S3Object": {
                    "Bucket": "amzn-s3-demo-bucket", 
                    "Name": "document-name.pdf"
                }
         },
         HumanLoopConfig={
            "FlowDefinitionArn":"arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name",
            "HumanLoopName":"human-loop-name",
            "DataAttributes" : {
                "ContentClassifiers":["FreeOfPersonallyIdentifiableInformation","FreeOfAdultContent"]
            }
         },
         FeatureTypes=["TABLES", "FORMS"])
```

------
#### [ Amazon Rekognition – Image moderation ]

L'esempio seguente utilizza AWS SDK per Python (Boto3) to call `detect_moderation_labels` us-west-2. Sostituisci il testo in rosso in corsivo con le tue risorse. Includi il parametro [https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_HumanLoopDataAttributes.html](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_HumanLoopDataAttributes.html) solo se utilizzi la forza lavoro di Amazon Mechanical Turk. Per ulteriori informazioni, consulta la documentazione `[detect\$1moderation\$1labels](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/rekognition.html#Rekognition.Client.detect_moderation_labels)` in *AWS SDK per Python (Boto) API Reference*.

```
   response = client.detect_moderation_labels(
            Image={
                "S3Object":{
                    "Bucket": "amzn-s3-demo-bucket", 
                    "Name": "image-name.png"
                }
            },
            HumanLoopConfig={
               "FlowDefinitionArn":"arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name",
               "HumanLoopName":"human-loop-name",
               "DataAttributes":{
                    ContentClassifiers:["FreeOfPersonallyIdentifiableInformation"|"FreeOfAdultContent"]
                }
             })
```

------

## Fase 4: visualizzare lo stato del ciclo umano nella console
<a name="a2i-get-started-console-step-4"></a>

Quando si avvia un ciclo umano, è possibile visualizzarne lo stato nella console Amazon A2I. 

**Per visualizzare lo stato del ciclo umano**

1. **Apri la console Augmented AI [https://console---aws.amazon.com.rproxy.goskope.comsu /a2i per accedere alla](https://console.aws.amazon.com/a2i/) pagina dei flussi di lavoro di revisione umana.** 

1. Seleziona il flusso di lavoro di revisione umana che hai utilizzato per avviare il ciclo umano.

1. Nella sezione **Cicli umani**, è possibile vedere il proprio ciclo umano. Visualizzane lo stato nella colonna **Stato**.

## Fase 5: scaricare i dati di output
<a name="a2i-get-started-console-step-5"></a>

I dati di output sono archiviati nel bucket Amazon S3 che hai specificato quando hai creato un flusso di lavoro di revisione umana.

**Per visualizzare i dati di output di Amazon A2I**

1. Apri la [console Amazon S3](https://console.aws.amazon.com/s3/).

1. Seleziona il bucket Amazon S3 che hai specificato quando hai creato il flusso di lavoro di revisione umana nella fase 2 di questo esempio. 

1. Partendo dalla cartella che prende il nome dal flusso di lavoro di revisione umana, accedi ai dati di output selezionando la cartella con la seguente convenzione di denominazione:

   ```
   s3://output-bucket-specified-in-human-review-workflow/human-review-workflow-name/YYYY/MM/DD/hh/mm/ss/human-loop-name/output.json
   ```

1. Selezionare `output.json` e scegliere **Scarica**. 

# Tutorial: nozioni di base sull'uso dell'API di Amazon A2I
<a name="a2i-get-started-api"></a>

Questo tutorial spiega le operazioni API che è possibile utilizzare per iniziare a usare Amazon A2I. 

Per utilizzare un Jupyter Notebook per eseguire queste operazioni, seleziona un Jupyter Notebook da [Casi d'uso ed esempi con Amazon A2I](a2i-task-types-general.md) cui utilizzarlo per imparare [Usa un'istanza SageMaker Notebook con Amazon A2I Jupyter Notebook](a2i-task-types-general.md#a2i-task-types-notebook-demo) a usarlo in un'istanza di notebook AI. SageMaker 

Per ulteriori informazioni sulle operazioni API che è possibile utilizzare con Amazon A2I, consulta [Utilizzo di API in IA aumentata Amazon](a2i-api-references.md).

## Creare di una team di lavoro privato
<a name="a2i-get-started-api-create-work-team"></a>

È possibile creare un team di lavoro privato e aggiungersi come worker in modo da visualizzare in anteprima Amazon A2I. 

Se non conosci Amazon Cognito, ti consigliamo di utilizzare la console di SageMaker intelligenza artificiale per creare una forza lavoro privata e aggiungerti come lavoratore privato. Per istruzioni, consulta [Fase 1: creare un team di lavoro](a2i-get-started-console.md#a2i-get-started-console-step-1).

Se conosci Amazon Cognito, puoi utilizzare le seguenti istruzioni per creare un team di lavoro privato utilizzando l' SageMaker API. Dopo aver creato un team di lavoro, annota l'ARN del team di lavoro (`WorkteamArn`).

Per ulteriori informazioni sulla forza lavoro privata e su altre configurazioni disponibili, consulta [Forza lavoro privata](sms-workforce-private.md).

**Creazione di una forza lavoro privata**  
Se non hai creato una forza lavoro privata, puoi farlo utilizzando un [pool di utenti Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html). Assicurati di esserti aggiunto a questo pool di utenti. Puoi creare un team di lavoro privato utilizzando la AWS SDK per Python (Boto3) `[create\$1workforce](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_workforce)` funzione. Per altre lingue specifiche SDKs, consulta l'elenco in. [CreateWorkforce](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html#API_CreateWorkforce_SeeAlso)

```
    
    response = client.create_workforce(
        CognitoConfig={
            "UserPool": "Pool_ID",
            "ClientId": "app-client-id"
        },
        WorkforceName="workforce-name"
    )
```

**Creare una forza lavoro privata**  
Dopo aver creato una forza lavoro privata nella AWS Regione per configurare e avviare il ciclo umano, puoi creare un team di lavoro privato utilizzando la funzione. AWS SDK per Python (Boto3) `[create\$1workteam](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_workteam)` Per altre lingue specifiche SDKs, consulta l'elenco in. `[CreateWorkteam](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkteam.html#API_CreateWorkteam_SeeAlso)`

```
    response = client.create_workteam(
        WorkteamName="work-team-name",
        WorkforceName= "workforce-name",
        MemberDefinitions=[
            {
                "CognitoMemberDefinition": {
                    "UserPool": "<aws-region>_ID",
                    "UserGroup": "user-group",
                    "ClientId": "app-client-id"
                },
            }
        ]
    )
```

Accedi all'ARN del team di lavoro come segue:

```
    workteamArn = response["WorkteamArn"]
```

**Elenca i team di lavoro privati nel tuo account**  
Se hai già creato un team di lavoro privato, puoi elencare tutti i team di lavoro di una determinata AWS regione nel tuo account utilizzando la funzione. AWS SDK per Python (Boto3) `[list\$1workteams](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.list_workteams)` Per altre lingue specifiche SDKs, consulta l'elenco in. `[ListWorkteams](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListWorkteams.html#API_ListWorkteams_SeeAlso)` 

```
    response = client.list_workteams()
```

Se nel tuo account sono presenti numerosi team di lavoro, potresti voler utilizzare `MaxResults`, `SortBy` e `NameContains` per filtrare i risultati.

## Creare un flusso di lavoro di revisione umana
<a name="a2i-get-started-api-create-human-review-workflow"></a>

È possibile creare un flusso di lavoro di revisione umana utilizzando l'operazione Amazon A2I `[CreateFlowDefinition](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html)`. Prima di creare il flusso di lavoro di revisione umana, crea un'interfaccia utente delle attività umane. È possibile farlo con l'operazione `[CreateHumanTaskUi](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html)`.

Se utilizzi Amazon A2I con le integrazioni Amazon Textract o Amazon Rekognition, puoi specificare le condizioni di attivazione utilizzando un JSON. 

### Creazione di un'interfaccia utente per attività umana
<a name="a2i-get-started-api-worker-task-template"></a>

Se stai creando un flusso di lavoro di revisione umana da utilizzare con le integrazioni Amazon Textract o Amazon Rekognition, devi utilizzare e modificare un modello di attività del worker predefinito. Per tutte le integrazioni personalizzate, è possibile utilizzare il proprio modello di attività del worker personalizzato. Utilizza la tabella seguente per scoprire come creare un'interfaccia utente per attività umane utilizzando un modello di attività del worker per le due integrazioni incorporate. Sostituisci il modello con il tuo per personalizzare questa richiesta. 

------
#### [ Amazon Textract – Key-value pair extraction ]

Per ulteriori informazioni sui modelli, vedere [Esempio di modello personalizzato per Amazon Textract](a2i-custom-templates.md#a2i-custom-templates-textract-sample).

```
template = r"""
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
{% capture s3_uri %}http://s3.amazonaws.com/{{ task.input.aiServiceRequest.document.s3Object.bucket }}/{{ task.input.aiServiceRequest.document.s3Object.name }}{% endcapture %}
<crowd-form>
  <crowd-textract-analyze-document 
      src="{{ s3_uri | grant_read_access }}" 
      initial-value="{{ task.input.selectedAiServiceResponse.blocks }}" 
      header="Review the key-value pairs listed on the right and correct them if they don"t match the following document." 
      no-key-edit="" 
      no-geometry-edit="" 
      keys="{{ task.input.humanLoopContext.importantFormKeys }}" 
      block-types='["KEY_VALUE_SET"]'>
    <short-instructions header="Instructions">
        <p>Click on a key-value block to highlight the corresponding key-value pair in the document.
        </p><p><br></p>
        <p>If it is a valid key-value pair, review the content for the value. If the content is incorrect, correct it.
        </p><p><br></p>
        <p>The text of the value is incorrect, correct it.</p>
        <p><img src="https://assets.crowd.aws/images/a2i-console/correct-value-text.png">
        </p><p><br></p>
        <p>A wrong value is identified, correct it.</p>
        <p><img src="https://assets.crowd.aws/images/a2i-console/correct-value.png">
        </p><p><br></p>
        <p>If it is not a valid key-value relationship, choose No.</p>
        <p><img src="https://assets.crowd.aws/images/a2i-console/not-a-key-value-pair.png">
        </p><p><br></p>
        <p>If you can’t find the key in the document, choose Key not found.</p>
        <p><img src="https://assets.crowd.aws/images/a2i-console/key-is-not-found.png">
        </p><p><br></p>
        <p>If the content of a field is empty, choose Value is blank.</p>
        <p><img src="https://assets.crowd.aws/images/a2i-console/value-is-blank.png">
        </p><p><br></p>
        <p><strong>Examples</strong></p>
        <p>Key and value are often displayed next or below to each other.
        </p><p><br></p>
        <p>Key and value displayed in one line.</p>
        <p><img src="https://assets.crowd.aws/images/a2i-console/sample-key-value-pair-1.png">
        </p><p><br></p>
        <p>Key and value displayed in two lines.</p>
        <p><img src="https://assets.crowd.aws/images/a2i-console/sample-key-value-pair-2.png">
        </p><p><br></p>
        <p>If the content of the value has multiple lines, enter all the text without line break. 
        Include all value text even if it extends beyond the highlight box.</p>
        <p><img src="https://assets.crowd.aws/images/a2i-console/multiple-lines.png"></p>
    </short-instructions>
    <full-instructions header="Instructions"></full-instructions>
  </crowd-textract-analyze-document>
</crowd-form>
"""
```

------
#### [ Amazon Rekognition – Image moderation ]

Per ulteriori informazioni sui modelli, vedere [Esempio di modello personalizzato per Amazon Rekognition](a2i-custom-templates.md#a2i-custom-templates-rekognition-sample).

```
template = r"""
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
{% capture s3_uri %}http://s3.amazonaws.com/{{ task.input.aiServiceRequest.image.s3Object.bucket }}/{{ task.input.aiServiceRequest.image.s3Object.name }}{% endcapture %}

<crowd-form>
  <crowd-rekognition-detect-moderation-labels
    categories='[
      {% for label in task.input.selectedAiServiceResponse.moderationLabels %}
        {
          name: "{{ label.name }}",
          parentName: "{{ label.parentName }}",
        },
      {% endfor %}
    ]'
    src="{{ s3_uri | grant_read_access }}"
    header="Review the image and choose all applicable categories."
  >
    <short-instructions header="Instructions">
      <style>
        .instructions {
          white-space: pre-wrap;
        }
      </style>
      <p class="instructions">Review the image and choose all applicable categories.
If no categories apply, choose None.

<b>Nudity</b>
Visuals depicting nude male or female person or persons

<b>Partial Nudity</b>
Visuals depicting covered up nudity, for example using hands or pose

<b>Revealing Clothes</b>
Visuals depicting revealing clothes and poses

<b>Physical Violence</b>
Visuals depicting violent physical assault, such as kicking or punching

<b>Weapon Violence</b>
Visuals depicting violence using weapons like firearms or blades, such as shooting

<b>Weapons</b>
Visuals depicting weapons like firearms and blades
    </short-instructions>

    <full-instructions header="Instructions"></full-instructions>
  </crowd-rekognition-detect-moderation-labels>
</crowd-form>"""
```

------
#### [ Custom Integration ]

Di seguito è riportato un modello di esempio che può essere utilizzato in un'integrazione personalizzata. Questo modello viene utilizzato in questo [notebook](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks/blob/master/Amazon%20Augmented%20AI%20(A2I)%20and%20Comprehend%20DetectSentiment.ipynb) e dimostra un'integrazione personalizzata con Amazon Comprehend.

```
template = r"""
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-form>
    <crowd-classifier
      name="sentiment"
      categories='["Positive", "Negative", "Neutral", "Mixed"]'
      initial-value="{{ task.input.initialValue }}"
      header="What sentiment does this text convey?"
    >
      <classification-target>
        {{ task.input.taskObject }}
      </classification-target>
      
      <full-instructions header="Sentiment Analysis Instructions">
        <p><strong>Positive</strong> sentiment include: joy, excitement, delight</p>
        <p><strong>Negative</strong> sentiment include: anger, sarcasm, anxiety</p>
        <p><strong>Neutral</strong>: neither positive or negative, such as stating a fact</p>
        <p><strong>Mixed</strong>: when the sentiment is mixed</p>
      </full-instructions>

      <short-instructions>
       Choose the primary sentiment that is expressed by the text. 
      </short-instructions>
    </crowd-classifier>
</crowd-form>
"""
```

------

Utilizzando il modello sopra specificato, è possibile creare un modello utilizzando la funzione. AWS SDK per Python (Boto3) `[create\$1human\$1task\$1ui](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_human_task_ui)` Per altre lingue specifiche SDKs, consulta l'elenco in. `[CreateHumanTaskUi](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html#API_CreateHumanTaskUi_SeeAlso)` 

```
    
    response = client.create_human_task_ui(
        HumanTaskUiName="human-task-ui-name",
        UiTemplate={
            "Content": template
        }
    )
```

Questo elemento di risposta contiene l'ARN dell'interfaccia utente dell'attività umana. Salva questo come segue:

```
    humanTaskUiArn = response["HumanTaskUiArn"]
```

### Crea JSON per specificare le condizioni di attivazione
<a name="a2i-get-started-api-activation-conditions"></a>

Per le integrazioni incorporate di Amazon Textract e Amazon Rekognition, è possibile salvare le condizioni di attivazione in un oggetto JSON e utilizzarle nella propria richiesta `CreateFlowDefinition`. 

Successivamente, seleziona una scheda per visualizzare esempi di condizioni di attivazione che puoi utilizzare per queste integrazioni incorporate. Per maggiori informazioni sulle opzioni di condizione attivazione, vedere [Schema JSON per condizioni attivazione del ciclo umano in IA aumentata Amazon](a2i-human-fallback-conditions-json-schema.md).

------
#### [ Amazon Textract – Key-value pair extraction ]

Questo esempio specifica le condizioni per chiavi specifiche (ad esempio `Mail address`) del documento. Se l'attendibilità di Amazon Textract non supera le soglie stabilite qui, il documento viene inviato a un operatore per la revisione, con le chiavi specifiche che hanno avviato il ciclo umano richieste al worker.

```
      import json  

      humanLoopActivationConditions = json.dumps(
        {
            "Conditions": [
                {
                  "Or": [
                    
                    {
                        "ConditionType": "ImportantFormKeyConfidenceCheck",
                        "ConditionParameters": {
                            "ImportantFormKey": "Mail address",
                            "ImportantFormKeyAliases": ["Mail Address:","Mail address:", "Mailing Add:","Mailing Addresses"],
                            "KeyValueBlockConfidenceLessThan": 100,
                            "WordBlockConfidenceLessThan": 100
                        }
                    },
                    {
                        "ConditionType": "MissingImportantFormKey",
                        "ConditionParameters": {
                            "ImportantFormKey": "Mail address",
                            "ImportantFormKeyAliases": ["Mail Address:","Mail address:","Mailing Add:","Mailing Addresses"]
                        }
                    },
                    {
                        "ConditionType": "ImportantFormKeyConfidenceCheck",
                        "ConditionParameters": {
                            "ImportantFormKey": "Phone Number",
                            "ImportantFormKeyAliases": ["Phone number:", "Phone No.:", "Number:"],
                            "KeyValueBlockConfidenceLessThan": 100,
                            "WordBlockConfidenceLessThan": 100
                        }
                    },
                    {
                      "ConditionType": "ImportantFormKeyConfidenceCheck",
                      "ConditionParameters": {
                        "ImportantFormKey": "*",
                        "KeyValueBlockConfidenceLessThan": 100,
                        "WordBlockConfidenceLessThan": 100
                      }
                    },
                    {
                      "ConditionType": "ImportantFormKeyConfidenceCheck",
                      "ConditionParameters": {
                        "ImportantFormKey": "*",
                        "KeyValueBlockConfidenceGreaterThan": 0,
                        "WordBlockConfidenceGreaterThan": 0
                      }
                    }
            ]
        }
            ]
        }
    )
```

------
#### [ Amazon Rekognition – Image moderation ]

Le condizioni di attivazione del ciclo umano qui utilizzate sono personalizzate per la moderazione dei contenuti di Amazon Rekognition e si basano sulle soglie di l'attendibilità delle etichette di moderazione `Suggestive` `Female Swimwear Or Underwear`.

```
        import json  

        humanLoopActivationConditions = json.dumps(
        {
            "Conditions": [
                {
                  "Or": [
                    {
                        "ConditionType": "ModerationLabelConfidenceCheck",
                        "ConditionParameters": {
                            "ModerationLabelName": "Suggestive",
                            "ConfidenceLessThan": 98
                        }
                    },
                    {
                        "ConditionType": "ModerationLabelConfidenceCheck",
                        "ConditionParameters": {
                            "ModerationLabelName": "Female Swimwear Or Underwear",
                            "ConfidenceGreaterThan": 98
                        }
                    }
                  ]
               }
            ]
        }
    )
```

------

### Creare un flusso di lavoro di revisione umana
<a name="a2i-get-started-api-flow-definition"></a>

Questa sezione fornisce un esempio di `CreateFlowDefinition` AWS SDK per Python (Boto3) richiesta che utilizza le risorse create nelle sezioni precedenti. Per altre lingue specifiche SDKs, consulta l'elenco in. [CreateFlowDefinition](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html#API_CreateFlowDefinition_SeeAlso) Utilizza le schede nella tabella seguente per visualizzare le richieste di creazione di un flusso di lavoro di revisione umana delle integrazioni incorporate di Amazon Textract e Amazon Rekognition.

------
#### [ Amazon Textract – Key-value pair extraction ]

Se utilizzi l'integrazione incorporata con Amazon Textract, devi specificare `"AWS/Textract/AnalyzeDocument/Forms/V1"` per `"AwsManagedHumanLoopRequestSource"` in `HumanLoopRequestSource`. 

```
    response = client.create_flow_definition(
        FlowDefinitionName="human-review-workflow-name",
        HumanLoopRequestSource={
            "AwsManagedHumanLoopRequestSource": "AWS/Textract/AnalyzeDocument/Forms/V1"
        }, 
        HumanLoopActivationConfig={
            "HumanLoopActivationConditionsConfig": {
                "HumanLoopActivationConditions": humanLoopActivationConditions
            }
        },
        HumanLoopConfig={
            "WorkteamArn": workteamArn,
            "HumanTaskUiArn": humanTaskUiArn,
            "TaskTitle": "Document entry review",
            "TaskDescription": "Review the document and instructions. Complete the task",
            "TaskCount": 1,
            "TaskAvailabilityLifetimeInSeconds": 43200,
            "TaskTimeLimitInSeconds": 3600,
            "TaskKeywords": [
                "document review",
            ],
        },
        OutputConfig={
            "S3OutputPath": "s3://amzn-s3-demo-bucket/prefix/",
        },
        RoleArn="arn:aws:iam::<account-number>:role/<role-name>",
        Tags=[
            {
                "Key": "string",
                "Value": "string"
            },
        ]
    )
```

------
#### [ Amazon Rekognition – Image moderation ]

Se utilizzi l'integrazione incorporata con Amazon Rekognition, devi specificare `"AWS/Rekognition/DetectModerationLabels/Image/V3"` per `"AwsManagedHumanLoopRequestSource"` in `HumanLoopRequestSource`.

```
    response = client.create_flow_definition(
        FlowDefinitionName="human-review-workflow-name",
        HumanLoopRequestSource={
            "AwsManagedHumanLoopRequestSource": "AWS/Rekognition/DetectModerationLabels/Image/V3"
        }, 
        HumanLoopActivationConfig={
            "HumanLoopActivationConditionsConfig": {
                "HumanLoopActivationConditions": humanLoopActivationConditions
            }
        },
        HumanLoopConfig={
            "WorkteamArn": workteamArn,
            "HumanTaskUiArn": humanTaskUiArn,
            "TaskTitle": "Image content moderation",
            "TaskDescription": "Review the image and instructions. Complete the task",
            "TaskCount": 1,
            "TaskAvailabilityLifetimeInSeconds": 43200,
            "TaskTimeLimitInSeconds": 3600,
            "TaskKeywords": [
                "content moderation",
            ],
        },
        OutputConfig={
            "S3OutputPath": "s3://amzn-s3-demo-bucket/prefix/",
        },
        RoleArn="arn:aws:iam::<account-number>:role/<role-name>",
        Tags=[
            {
                "Key": "string",
                "Value": "string"
            },
        ]
    )
```

------
#### [ Custom Integration ]

Se utilizzi un'integrazione personalizzata, escludi i seguenti parametri: `HumanLoopRequestSource`, `HumanLoopActivationConfig`.

```
    response = client.create_flow_definition(
        FlowDefinitionName="human-review-workflow-name",
        HumanLoopConfig={
            "WorkteamArn": workteamArn,
            "HumanTaskUiArn": humanTaskUiArn,
            "TaskTitle": "Image content moderation",
            "TaskDescription": "Review the image and instructions. Complete the task",
            "TaskCount": 1,
            "TaskAvailabilityLifetimeInSeconds": 43200,
            "TaskTimeLimitInSeconds": 3600,
            "TaskKeywords": [
                "content moderation",
            ],
        },
        OutputConfig={
            "S3OutputPath": "s3://amzn-s3-demo-bucket/prefix/",
        },
        RoleArn="arn:aws:iam::<account-number>:role/<role-name>",
        Tags=[
            {
                "Key": "string",
                "Value": "string"
            },
        ]
    )
```

------

Dopo aver creato un flusso di lavoro di revisione umana, è possibile recuperare l'ARN della definizione del flusso dalla risposta:

```
    humanReviewWorkflowArn = response["FlowDefinitionArn"]    
```

## Creazione di un ciclo umano
<a name="a2i-get-started-api-create-human-loop"></a>

L'operazione API utilizzata per avviare un ciclo umano dipende dall'integrazione Amazon A2I utilizzata. 
+ Se utilizzi l'integrazione integrata di Amazon Textract, utilizzi l'[AnalyzeDocument](https://docs.aws.amazon.com/textract/latest/dg/API_AnalyzeDocument.html)operazione.
+ Se utilizzi l'integrazione integrata di Amazon Rekognition, utilizzi l'operazione. [DetectModerationLabels](https://docs.aws.amazon.com/rekognition/latest/dg/API_DetectModerationLabels.html)
+ Se utilizzi un'integrazione personalizzata, utilizzi l'operazione. [StartHumanLoop](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_StartHumanLoop.html) 

Seleziona il tipo di attività nella tabella seguente per visualizzare esempi di richieste per Amazon Textract e Amazon Rekognition utilizzando il AWS SDK per Python (Boto3). 

------
#### [ Amazon Textract – Key-value pair extraction ]

L'esempio seguente utilizza AWS SDK per Python (Boto3) to call `analyze_document` us-west-2. Sostituisci il testo in rosso in corsivo con le tue risorse. Includi il parametro [https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_HumanLoopDataAttributes.html](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_HumanLoopDataAttributes.html) solo se utilizzi la forza lavoro di Amazon Mechanical Turk. Per ulteriori informazioni, consulta la documentazione [analyze\$1document](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/textract.html#Textract.Client.analyze_document) in *API Reference AWS SDK per Python (Boto) *.

```
   response = client.analyze_document(
         Document={"S3Object": {"Bucket": "amzn-s3-demo-bucket", "Name": "document-name.pdf"},
         HumanLoopConfig={
            "FlowDefinitionArn":"arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name",
            "HumanLoopName":"human-loop-name",
            "DataAttributes" : {ContentClassifiers:["FreeOfPersonallyIdentifiableInformation"|"FreeOfAdultContent"]}
         }
         FeatureTypes=["FORMS"]
    )
```

I cicli umani vengono creati solo se l'attendibilità di Amazon Textract per l'attività di analisi dei documenti soddisfa le condizioni di attivazione specificate nel flusso di lavoro di revisione umana. È possibile controllare l'elemento `response` per determinare se è stato creato un ciclo umano. Per vedere tutto ciò che è incluso in questa risposta, consulta [https://docs.aws.amazon.com/textract/latest/dg/API_HumanLoopActivationOutput.html](https://docs.aws.amazon.com/textract/latest/dg/API_HumanLoopActivationOutput.html).

```
    if "HumanLoopArn" in analyzeDocumentResponse["HumanLoopActivationOutput"]:
        # A human loop has been started!
        print(f"A human loop has been started with ARN: {analyzeDocumentResponse["HumanLoopActivationOutput"]["HumanLoopArn"]}"
```

------
#### [ Amazon Rekognition – Image moderation ]

L'esempio seguente utilizza AWS SDK per Python (Boto3) to call `detect_moderation_labels` us-west-2. Sostituisci il testo in rosso in corsivo con le tue risorse. Includi il parametro [https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_HumanLoopDataAttributes.html](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_HumanLoopDataAttributes.html) solo se utilizzi la forza lavoro di Amazon Mechanical Turk. Per ulteriori informazioni, consulta la documentazione [detect\$1moderation\$1labels](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/rekognition.html#Rekognition.Client.detect_moderation_labels) in *API Reference AWS SDK per Python (Boto) *.

```
   response = client.detect_moderation_labels(
            Image={"S3Object":{"Bucket": "amzn-s3-demo-bucket", "Name": "image-name.png"}},
            HumanLoopConfig={
               "FlowDefinitionArn":"arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name",
               "HumanLoopName":"human-loop-name",
               "DataAttributes":{ContentClassifiers:["FreeOfPersonallyIdentifiableInformation"|"FreeOfAdultContent"]}
             }
    )
```

I cicli umani vengono creati solo se l'attendibilità di Amazon Rekognition per un'attività di moderazione delle immagini soddisfa le condizioni di attivazione specificate nel flusso di lavoro della revisione umana. È possibile controllare l'elemento `response` per determinare se è stato creato un ciclo umano. Per vedere tutto ciò che è incluso in questa risposta, consulta [https://docs.aws.amazon.com/rekognition/latest/dg/API_HumanLoopActivationOutput.html](https://docs.aws.amazon.com/rekognition/latest/dg/API_HumanLoopActivationOutput.html).

```
    if "HumanLoopArn" in response["HumanLoopActivationOutput"]:
        # A human loop has been started!
        print(f"A human loop has been started with ARN: {response["HumanLoopActivationOutput"]["HumanLoopArn"]}")
```

------
#### [ Custom Integration ]

L'esempio seguente utilizza AWS SDK per Python (Boto3) to call `start_human_loop` us-west-2. Sostituisci il testo in rosso in corsivo con le tue risorse. Includi il parametro [https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_HumanLoopDataAttributes.html](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_HumanLoopDataAttributes.html) solo se utilizzi la forza lavoro di Amazon Mechanical Turk. Per ulteriori informazioni, consulta la documentazione [start\$1human\$1loop](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker-a2i-runtime.html#AugmentedAIRuntime.Client.start_human_loop) in *AWS SDK per Python (Boto) API Reference*.

```
   response = client.start_human_loop(
        HumanLoopName= "human-loop-name",
        FlowDefinitionArn= "arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name",
        HumanLoopInput={"InputContent": inputContentJson},
        DataAttributes={"ContentClassifiers":["FreeOfPersonallyIdentifiableInformation"|"FreeOfAdultContent"]}
   )
```

Questo esempio memorizza il contenuto di input nella variabile *`inputContentJson`*. Supponiamo che il contenuto di input contenga due elementi: un blurb di testo e un sentiment (come `Positive`,`Negative` o `Neutral`) e che sia formattato come segue:

```
    inputContent = {
        "initialValue": sentiment,
         "taskObject": blurb
     }
```

Le chiavi `initialValue` e `taskObject` devono corrispondere alle chiavi utilizzate negli elementi liquidi del modello di attività del worker. Fai riferimento al modello personalizzato in [Creazione di un'interfaccia utente per attività umana](#a2i-get-started-api-worker-task-template) per vedere un esempio. 

Per creare un `inputContentJson`, procedere come descritto qui di seguito: 

```
    import json
    
    inputContentJson = json.dumps(inputContent)
```

Ogni volta che chiami `start_human_loop` si avvia un ciclo umano. Per controllare lo stato del tuo ciclo umano, usa [descrivi\$1ciclo\$1umano](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker-a2i-runtime.html#AugmentedAIRuntime.Client.describe_human_loop): 

```
    human_loop_info = a2i.describe_human_loop(HumanLoopName="human_loop_name")
    print(f"HumanLoop Status: {resp["HumanLoopStatus"]}")
    print(f"HumanLoop Output Destination: {resp["HumanLoopOutput"]}")
```

------

# Casi d'uso ed esempi con Amazon A2I
<a name="a2i-task-types-general"></a>

Puoi utilizzare IA aumentata Amazon per incorporare una revisione umana nel tuo flusso di lavoro *per tipi di attività integrate*, Amazon Textract e Amazon Rekognition, oppure le tue attività personalizzate utilizzando un *tipo di attività personalizzato*. 

Quando crei un flusso di revisione umana utilizzando uno dei tipi di attività integrate, puoi specificare le condizioni, ad esempio le soglie di attendibilità, che avvieranno una revisione umana. Il servizio (Amazon Rekognition o Amazon Textract) crea un ciclo umano per tuo conto quando queste condizioni sono soddisfatte e fornisce i dati di input direttamente ad Amazon A2I per inviarli a revisori umani. Per ulteriori informazioni sui tipi di attività integrate, usa quanto segue:
+ [Utilizzo di IA aumentata Amazon con Amazon Textract](a2i-textract-task-type.md)
+ [Usa IA aumentata Amazon con Amazon Rekognition](a2i-rekognition-task-type.md)

Quando utilizzi un tipo di attività personalizzato, crei e avvii un ciclo umano utilizzando l'API di runtime Amazon A2I. Utilizza il tipo di attività personalizzato per incorporare un flusso di lavoro di revisione umana con un altro servizio AWS o un'applicazione ML personalizzata.
+ Per ulteriori dettagli, consulta [Utilizzo di IA aumentata Amazon con tipi di attività personalizzati](a2i-task-types-custom.md).

La tabella seguente descrive una serie di casi d'uso di Amazon A2I che puoi esplorare utilizzando i notebook SageMaker AI Jupyter. Per iniziare a usare un notebook Jupyter, usa le istruzioni in [Usa un'istanza SageMaker Notebook con Amazon A2I Jupyter Notebook](#a2i-task-types-notebook-demo). Per altri [GitHubesempi](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks), consulta questo repository. 


****  

| **Caso d'uso** | **Descrizione** | **Tipo di attività** | 
| --- | --- | --- | 
|  [Usa Amazon A2I con Amazon Textract](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks/blob/master/Amazon%20Augmented%20AI%20(A2I)%20and%20Textract%20AnalyzeDocument.ipynb)  |  Chiedi agli utenti di esaminare documenti di una sola pagina per esaminare importanti coppie chiave-valore del modulo oppure chiedi ad Amazon Textract di campionare e inviare casualmente i documenti dal tuo set di dati agli esseri umani per la revisione.   | Integrato | 
| [Usa Amazon A2I con Amazon Rekognition](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks/blob/master/Amazon%20Augmented%20AI%20(A2I)%20and%20Rekognition%20DetectModerationLabels.ipynb) |  Chiedi agli utenti di esaminare le immagini non sicure alla ricerca di contenuti espliciti per adulti o violenti se Amazon Rekognition restituisce un punteggio di attendibilità basso, oppure chiedi ad Amazon Rekognition di campionare e inviare casualmente le immagini dal tuo set di dati agli umani per la revisione.  |  Integrato  | 
| [Usa Amazon A2I con Amazon Comprehend](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks/blob/master/Amazon%20Augmented%20AI%20(A2I)%20and%20Comprehend%20DetectSentiment.ipynb) |  Chiedi agli umani di esaminare le inferenze di Amazon Comprehend sui dati di testo come l'analisi del sentiment, la sintassi del testo e il rilevamento delle entità.  |  Personalizzato  | 
| [Usa Amazon A2I con Amazon Transcribe](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks/blob/master/A2I-Video-Transcription-with-Amazon-Transcribe.ipynb) |  Chiedi agli utenti di esaminare le trascrizioni di file video o audio su Amazon Transcribe. Usa i risultati dei cicli di revisione umana di trascrizione per creare un vocabolario personalizzato e migliorare le trascrizioni future di contenuti video o audio simili.  | Personalizzato | 
| [Usa Amazon A2I con Amazon Translate](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks/blob/master/Amazon%20Augmented%20AI%20(A2I)%20and%20Amazon%20Translate.ipynb) |  Chiedi agli utenti di esaminare le traduzioni a bassa attendibilità restituite da Amazon Translate.  |  Personalizzato  | 
| [Usa Amazon A2I per esaminare le inferenze ML in tempo reale](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks/blob/master/Amazon%20A2I%20with%20Amazon%20SageMaker%20for%20object%20detection%20and%20model%20retraining.ipynb)  |  Usa Amazon A2I per esaminare le inferenze in tempo reale e a bassa confidenza effettuate da un modello distribuito su un endpoint ospitato da SageMaker AI e addestrare in modo incrementale il tuo modello utilizzando i dati di output di Amazon A2I.  |  Personalizzato  | 
| [Usa Amazon A2I per esaminare i dati tabulari](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks/blob/master/Amazon%20Augmented%20AI%20(Amazon%20A2I)%20Integration%20with%20tabular%20data.ipynb) |  Usa Amazon A2I per integrare un ciclo di revisione umana in un'applicazione ML che utilizza dati tabulari.  |  Personalizzato  | 

**Topics**
+ [Usa un'istanza SageMaker Notebook con Amazon A2I Jupyter Notebook](#a2i-task-types-notebook-demo)
+ [Utilizzo di IA aumentata Amazon con Amazon Textract](a2i-textract-task-type.md)
+ [Usa IA aumentata Amazon con Amazon Rekognition](a2i-rekognition-task-type.md)
+ [Utilizzo di IA aumentata Amazon con tipi di attività personalizzati](a2i-task-types-custom.md)

## Usa un'istanza SageMaker Notebook con Amazon A2I Jupyter Notebook
<a name="a2i-task-types-notebook-demo"></a>

[Per un end-to-end esempio che dimostra come integrare un ciclo di revisione umana di Amazon A2I in un flusso di lavoro di apprendimento automatico, puoi utilizzare un Jupyter Notebook di questo GitHub repository in un'istanza di notebook.](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks) SageMaker 

**Per utilizzare un notebook di esempio per attività personalizzate Amazon A2I in un'istanza di SageMaker notebook Amazon:**

1. Se non disponi di un'istanza di SageMaker notebook attiva, creane una seguendo le istruzioni riportate in. [Crea un'istanza Amazon SageMaker Notebook per il tutorial](gs-setup-working-env.md)

1. Quando l'istanza del notebook è attiva, scegli **Apri JupyterLab** a destra del nome dell'istanza del notebook. Il caricamento potrebbe richiedere alcuni istanti. JupyterLab 

1. Scegli l'icona di aggiunta del repository Github (![\[Diagonal arrow icon with N and 1 symbols, representing a one-to-many relationship.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/icons/Git_squip_add_repo.png)) per clonare un GitHub repository nel tuo spazio di lavoro. 

1. [Inserisci l'URL HTTPS del repository amazon-a2. i-sample-jupyter-notebooks](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks) 

1. Scegliere **CLONE (CLONA)**.

1. Aprire il notebook che si desidera eseguire. 

1. Seguire le istruzioni contenute nel notebook per configurare il flusso di lavoro di revisione umana e il ciclo umano ed eseguire le celle. 

1. Per evitare di incorrere in costi inutili, al termine della demo, interrompi ed elimina l'istanza del notebook oltre a tutti i bucket Amazon S3, i ruoli IAM CloudWatch e le risorse Events create durante la procedura dettagliata.

# Utilizzo di IA aumentata Amazon con Amazon Textract
<a name="a2i-textract-task-type"></a>

Amazon Textract consente di aggiungere il rilevamento del testo del documento e l'analisi alle applicazioni. IA aumentata Amazon (Amazon A2I) si integra direttamente con il funzionamento delle API `AnalyzeDocument` di Amazon Textract. Puoi utilizzare `AnalyzeDocument` per analizzare un documento e individuare relazioni tra gli elementi rilevati. Quando si aggiunge un ciclo di revisione umana Amazon A2I a una richiesta `AnalyzeDocument`, Amazon A2I controlla i risultati Amazon Textract e invia un documento a uno o più worker umani per la revisione quando le condizioni specificate nella definizione del flusso vengono soddisfatte. Ad esempio, se si desidera che un essere umano riesamini una chiave specifica come `Full name:` e i relativi valori di input associati, è possibile creare una condizione per avviare una revisione umana ogni volta che viene rilevata la chiave `Full name:` o quando l’attendibilità di inferenza per quella chiave rientra in un intervallo specificato. 

La seguente immagine mostra il flusso di lavoro integrato di Amazon A2I con Amazon Textract. A sinistra, sono illustrate le risorse necessarie per creare un flusso di lavoro di revisione umana di Amazon Textract: un bucket Amazon S3, condizioni di attivazione, un modello di attività del worker e un team di lavoro. Queste risorse vengono utilizzate per creare un flusso di lavoro di revisione umana o una definizione del flusso. Una freccia indica la fase successiva del flusso di lavoro: usare Amazon Textract per configurare un ciclo umano con il flusso di lavoro di revisione umana. Una seconda freccia indica direttamente da questa fase alla fase in cui vengono soddisfatte le condizioni di attivazione specificate nel flusso di lavoro di revisione umana. Questo avvia la creazione di un ciclo umano. A destra dell'immagine, il ciclo umano è rappresentato in tre fasi: 1) l'interfaccia utente e gli strumenti dei worker vengono generati e l'attività viene messa a disposizione dei worker, 2) i worker esaminano i dati di input e infine, 3) i risultati vengono salvati in Amazon S3.

![\[Utilizzo di IA aumentata Amazon con Amazon Textract\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/a2i/diagrams/product-page-diagram_A21-Components_Textract@2x.png)


È possibile specificare quando Amazon Textract invia un'attività a un worker umano per la revisione durante la creazione di un flusso di lavoro di revisione umana o una definizione del flusso specificando *condizioni di attivazione*. 

Quando si utilizza il tipo di attività Amazon Textract, è possibile impostare le seguenti condizioni di attivazione:
+ Avviare una revisione umana per chiavi di modulo specifiche in base al punteggio di attendibilità della chiave di modulo. 
+ Avviare una revisione umana quando mancano chiavi di modulo specifiche. 
+ Avviare la revisione umana per tutte le chiavi modulo identificate da Amazon Textract con punteggi di attendibilità in un intervallo specifico.
+ Inviare casualmente un campione di moduli a esseri umani per la revisione.

Quando la condizione di attivazione dipende dai punteggi di attendibilità della chiave di modulo, è possibile utilizzare due tipi di attendibilità della previsione per avviare cicli umani:
+ **Attendibilità di identificazione** Il punteggio di attendibilità per le coppie chiave-valore rilevate all'interno di un modulo.
+ **Attendibilità di qualificazione** Il punteggio di attendibilità per il testo contenuto in chiave e valore in una forma.

Nell'immagine della sezione seguente, **Nome completo: Maria Rossi** è la coppia chiave-valore, **Nome completo** è la chiave e **Maria Rossi** è il valore.

Puoi impostare queste condizioni di attivazione utilizzando la console Amazon SageMaker AI quando crei un flusso di lavoro di revisione umana o creando un JSON per le condizioni di attivazione del ciclo umano e specificandolo come input nel `HumanLoopActivationConditions` parametro di funzionamento dell'`CreateFlowDefinition`API. Per informazioni su come specificare le condizioni di attivazione in formato JSON, consulta [Schema JSON per condizioni attivazione del ciclo umano in IA aumentata Amazon](a2i-human-fallback-conditions-json-schema.md) e [Utilizzare lo schema JSON per condizioni attivazione del ciclo umano con Amazon Textract](a2i-json-humantaskactivationconditions-textract-example.md).

**Nota**  
Quando usi l'IA Augmented con Amazon Textract, crea risorse AI Augmented nella stessa regione in cui AWS effettui le chiamate. `AnalyzeDocument` 

## Nozioni di base: integrare una revisione umana in un processo di analisi del documento Amazon Textract
<a name="a2i-create-textract-human-review"></a>

Per integrare una revisione umana in un processo di rilevamento e analisi del testo Amazon Textract, è necessario creare una definizione del flusso e quindi utilizzare l'API Amazon Textract per integrare tale definizione nel flusso di lavoro. Per informazioni su come creare una definizione di flusso utilizzando la console SageMaker AI o l'API Augmented AI, consulta i seguenti argomenti:
+ [Creazione di un flusso di lavoro di revisione umana (Console)](a2i-create-flow-definition.md#a2i-create-human-review-console)
+ [Creare un flusso di lavoro di revisione umana (API)](a2i-create-flow-definition.md#a2i-create-human-review-api)

Dopo aver creato la definizione del flusso, consulta [Utilizzo di IA aumentata con Amazon Textract](https://docs.aws.amazon.com/textract/latest/dg/a2i-textract.html) per informazioni su come integrare la definizione del flusso nella tua attività Amazon Textract. 

## End-to-End Esempio di utilizzo di Amazon Textract e Amazon A2I
<a name="a2i-task-types-textract-notebook-demo"></a>

Per un end-to-end esempio che dimostra come utilizzare Amazon Textract con Amazon A2I utilizzando la console, consulta. [Tutorial: nozioni di base sulla Console Amazon A2I](a2i-get-started-console.md)

Per imparare a utilizzare l'API Amazon A2I per creare e avviare una revisione umana, puoi utilizzare l'[integrazione di Amazon Augmented AI (Amazon A2I) con Analyze Document [Example] di Amazon Textract in un'istanza](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks/blob/master/Amazon%20Augmented%20AI%20(A2I)%20and%20Textract%20AnalyzeDocument.ipynb) Notebook. SageMaker Per iniziare, consulta [Usa un'istanza SageMaker Notebook con Amazon A2I Jupyter Notebook](a2i-task-types-general.md#a2i-task-types-notebook-demo).

## Anteprima della console di lavoro Textract A2I
<a name="a2i-textract-console-preview"></a>

Quando viene assegnata un'attività di revisione in un flusso di lavoro Amazon Textract, i worker potrebbero visualizzare un'interfaccia utente simile alla seguente:

![\[Esempio di attività di revisione nella console del worker A2I Textract.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/a2i-textract-example.png)


Puoi personalizzare questa interfaccia nella console SageMaker AI quando crei la tua definizione di revisione umana o creando e utilizzando un modello personalizzato. Per ulteriori informazioni, consulta [Creazione e gestione di modelli di attività del worker](a2i-instructions-overview.md).

# Usa IA aumentata Amazon con Amazon Rekognition
<a name="a2i-rekognition-task-type"></a>

Amazon Rekognition semplifica l'aggiunta di funzionalità di analisi di immagini alle applicazioni. L'operazione API Amazon Rekognition `DetectModerationLabels` è direttamente integrata con Amazon A2I in modo da poter facilmente creare un ciclo umano per rivedere immagini non sicure, come contenuti espliciti per adulti o violenti. Puoi utilizzare `DetectModerationLabels` per configurare un ciclo umano utilizzando una definizione del flusso ARN. Ciò consente ad Amazon A2I di analizzare le previsioni fatte da Amazon Rekognition e inviare i risultati a un essere umano per la revisione per assicurare che soddisfano le condizioni impostate nella definizione del flusso.

La seguente immagine mostra il flusso di lavoro integrato di Amazon A2I con Amazon Rekognition. A sinistra, sono illustrate le risorse necessarie per creare un flusso di lavoro di revisione umana di Amazon Rekognition: un bucket Amazon S3, condizioni di attivazione, un modello di attività del worker e un team di lavoro. Queste risorse vengono utilizzate per creare un flusso di lavoro di revisione umana o una definizione del flusso. Una freccia indica la fase successiva del flusso di lavoro: usare Amazon Rekognition per configurare un ciclo umano con il flusso di lavoro di revisione umana. Una seconda freccia indica direttamente da questa fase alla fase in cui vengono soddisfatte le condizioni di attivazione specificate nel flusso di lavoro di revisione umana. Questo avvia la creazione di un ciclo umano. A destra dell'immagine, il ciclo umano è rappresentato in tre fasi: 1) l'interfaccia utente e gli strumenti dei worker vengono generati e l'attività viene messa a disposizione dei worker, 2) i worker esaminano i dati di input e infine, 3) i risultati vengono salvati in Amazon S3.

![\[Usa IA aumentata Amazon con Amazon Rekognition\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/a2i/diagrams/product-page-diagram_A2I-Components_Rekognition@2x.png)


Quando si utilizza il tipo di attività Amazon Rekognition, è possibile impostare le seguenti condizioni di attivazione:
+ Avviare la revisione umana delle etichette identificate da Amazon Rekognition in base al punteggio di attendibilità dell'etichetta.
+ Inviare casualmente un campione di immagini agli esseri umani per la revisione.

Puoi impostare queste condizioni di attivazione utilizzando la console Amazon SageMaker AI quando crei un flusso di lavoro di revisione umana o creando un JSON per le condizioni di attivazione del ciclo umano e specificandolo come input nel `HumanLoopActivationConditions` parametro del funzionamento dell'`CreateFlowDefinition`API. Per informazioni su come specificare le condizioni di attivazione in formato JSON, consulta [Schema JSON per condizioni attivazione del ciclo umano in IA aumentata Amazon](a2i-human-fallback-conditions-json-schema.md) e [Utilizzare lo schema JSON per condizioni attivazione del ciclo umano con Amazon Rekognition](a2i-json-humantaskactivationconditions-rekognition-example.md).

**Nota**  
Quando usi l'IA Augmented con Amazon Rekognition, crea risorse AI Augmented nella stessa regione in cui effettui le chiamate. AWS `DetectModerationLabels` 

## Nozioni di base: integrare una revisione umana in un processo di moderazione di immagini Amazon Rekognition
<a name="a2i-create-rekognition-human-review"></a>

Per integrare una revisione umana in Amazon Rekognition, consulta i seguenti argomenti:
+ [Creazione di un flusso di lavoro di revisione umana (Console)](a2i-create-flow-definition.md#a2i-create-human-review-console)
+ [Creare un flusso di lavoro di revisione umana (API)](a2i-create-flow-definition.md#a2i-create-human-review-api)

Dopo aver creato la definizione del flusso, consulta [Utilizzo di IA aumentata con Amazon Rekognition](https://docs.aws.amazon.com/rekognition/latest/dg/a2i-rekognition.html) per informazioni su come integrare la definizione del flusso nell'attività Amazon Rekognition. 

## End-to-end Demo con Amazon Rekognition e Amazon A2I
<a name="a2i-task-types-rekognition-notebook-demo"></a>

Per un end-to-end esempio che dimostra come usare Amazon Rekognition con Amazon A2I utilizzando la console, consulta. [Tutorial: nozioni di base sulla Console Amazon A2I](a2i-get-started-console.md)

Per imparare a utilizzare l'API Amazon A2I per creare e avviare una revisione umana, puoi utilizzare l'[integrazione di Amazon Augmented AI (Amazon A2I) con Amazon Rekognition](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks/blob/master/Amazon%20Augmented%20AI%20(A2I)%20and%20Rekognition%20DetectModerationLabels.ipynb) [Esempio] in un'istanza notebook. SageMaker Per iniziare, consulta [Usa un'istanza SageMaker Notebook con Amazon A2I Jupyter Notebook](a2i-task-types-general.md#a2i-task-types-notebook-demo).

## Anteprima della console di lavoro Rekognition A2I
<a name="a2i-rekognition-console-preview"></a>

Quando viene assegnata un'attività di revisione in un flusso di lavoro Amazon Rekognition, i worker potrebbero visualizzare un'interfaccia utente simile alla seguente:

![\[Immagine di esempio nella console di lavoro A2I Rekognition.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/a2i-rekognition-example.png)


Puoi personalizzare questa interfaccia nella console SageMaker AI quando crei la tua definizione di revisione umana o creando e utilizzando un modello personalizzato. Per ulteriori informazioni, consulta [Creazione e gestione di modelli di attività del worker](a2i-instructions-overview.md).

# Utilizzo di IA aumentata Amazon con tipi di attività personalizzati
<a name="a2i-task-types-custom"></a>

Puoi usare IA aumentata Amazon (Amazon A2I) per incorporare una revisione umana (ciclo umano) in *qualsiasi* flusso di lavoro di machine learning utilizzando il *tipo di attività personalizzato*. Questa opzione ti offre la massima flessibilità per personalizzare le condizioni in cui i tuoi oggetti di dati vengono inviati agli esseri umani per la revisione, nonché l'aspetto dell'interfaccia utente di lavoro.

Quando si utilizza un tipo di attività personalizzato, si crea un flusso di lavoro personalizzato di revisione umana e si specificano le condizioni in base alle quali un oggetto di dati viene inviato per la revisione umana direttamente nell'applicazione. 

L'immagine seguente mostra il flusso di lavoro personalizzato di Amazon A2I. Un modello ML personalizzato viene utilizzato per generare previsioni. L'applicazione client filtra queste previsioni utilizzando criteri definiti dall'utente e determina se è necessaria una revisione umana. In tal caso, queste previsioni vengono inviate ad Amazon A2I per la revisione umana. Amazon A2I raccoglie i risultati della revisione umana in Amazon S3, a cui è possibile accedere tramite l'applicazione client. Se il filtro determina che non è necessaria alcuna revisione umana, le previsioni possono essere inviate direttamente all'applicazione client. 

![\[Utilizzo di IA aumentata Amazon con tipi di attività personalizzati\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/a2i/diagrams/product-page-diagram_A2I-Components_Custom@2x.png)


Utilizza le procedure in questa pagina per scoprire come integrare Amazon A2I in qualsiasi flusso di lavoro di machine learning utilizzando il tipo di attività personalizzato. 

**Crea un ciclo umano utilizzando una definizione del flusso, integralo nell'applicazione e monitora i risultati**

1. Completa i [Prerequisiti per l'utilizzo di IA aumentata](a2i-getting-started-prerequisites.md) Amazon A2I. Tenere presente quanto segue: 
   + Il percorso verso il bucket Amazon Simple Storage Service (Amazon S3) o i bucket in cui si memorizzano i dati di input e output. 
   + L'Amazon Resource Name (ARN) di un ruolo AWS Identity and Access Management (IAM) con autorizzazioni richieste allegate. 
   + (Facoltativo) Se intendi utilizzare una forza lavoro privata, l'ARN della tua forza lavoro. 

1. Utilizzando elementi HTML, crea un modello del worker personalizzato utilizzato da Amazon A2I per generare l'interfaccia utente dell'attività del worker. Per informazioni su come creare un modello personalizzato, consulta [Creazione di modelli di attività del worker personalizzati](a2i-custom-templates.md). 

1. Utilizza il modello di lavoratore personalizzato del passaggio 2 per generare un modello di task di lavoro nella console Amazon SageMaker AI. Per scoprire come, consulta [Creazione di un modello di attività del worker](a2i-worker-template-console.md#a2i-create-worker-template-console).

   Nella fase successiva verrà creata una definizione del flusso:
   + Se desideri creare una definizione di flusso utilizzando l' SageMaker API, prendi nota dell'ARN di questo modello di task di lavoro per il passaggio successivo.
   + Se stai creando una definizione del flusso utilizzando la console, il modello verrà visualizzato automaticamente nella sezione **Modello di attività del worker** quando selezioni **Crea flusso di lavoro di revisione umana**.

1. Durante la creazione della definizione del flusso, fornisci il percorso ai bucket S3, all'ARN del ruolo IAM e al modello del worker. 
   + Per informazioni su come creare una definizione di flusso utilizzando l'`CreateFlowDefinition`API SageMaker AI, consulta[Creare un flusso di lavoro di revisione umana (API)](a2i-create-flow-definition.md#a2i-create-human-review-api). 
   + Per informazioni su come creare una definizione di flusso utilizzando la console SageMaker AI, consulta[Creazione di un flusso di lavoro di revisione umana (Console)](a2i-create-flow-definition.md#a2i-create-human-review-console).

1. Configurazione del ciclo umano utilizzando l'[API di runtime Amazon A2I](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/Welcome.html). Per scoprire come, consulta [Creazione e avvio di un ciclo umano](a2i-start-human-loop.md). 

1. Per controllare quando vengono avviate le revisioni umane nell'applicazione, specifica le condizioni in cui `StartHumanLoop` viene chiamato nell'applicazione. Le condizioni di attivazione del ciclo umano, come le soglie di attendibilità che avviano il ciclo umano, non sono disponibili quando si utilizza Amazon A2I con tipi di attività personalizzati. Ogni invocazione `StartHumanLoop` si traduce in una revisione umana.

Una volta avviato un loop umano, puoi gestirlo e monitorarlo utilizzando l'API Amazon Augmented AI Runtime e Amazon EventBridge (noto anche come Amazon CloudWatch Events). Per ulteriori informazioni, consulta [Monitoraggio e gestione del ciclo umano](a2i-monitor-humanloop-results.md).

## End-to-end Tutorial sull'uso dei tipi di task personalizzati di Amazon A2I
<a name="a2i-task-types-custom-notebook-demo"></a>

Per end-to-end esempi che dimostrano come integrare Amazon A2I in una varietà di flussi di lavoro ML, consulta la tabella in. [Casi d'uso ed esempi con Amazon A2I](a2i-task-types-general.md) Per iniziare a utilizzare uno di questi notebook, consulta [Usa un'istanza SageMaker Notebook con Amazon A2I Jupyter Notebook](a2i-task-types-general.md#a2i-task-types-notebook-demo).

# Creare un flusso di lavoro di revisione umana
<a name="a2i-create-flow-definition"></a>

Utilizza un *flusso di lavoro di revisione umana* di IA aumentata Amazon (Amazon A2I) o una *definizione del flusso* per specificare quanto segue:
+ Per i tipi di attività Amazon Textract e Amazon Rekognition integrati, le condizioni in cui viene chiamato il ciclo umano
+ La forza lavoro a cui vengono inviate le attività
+ La serie di istruzioni che verrà ricevuta dalla forza lavoro, denominata *modello di attività del worker*.
+ La configurazione delle attività del worker, incluso il numero di worker che ricevono un'attività e i limiti di tempo per completare le attività 
+ Il percorso di archiviazione dei dati di output 

Puoi creare un flusso di lavoro di revisione umana nella console di SageMaker intelligenza artificiale o utilizzando l'[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html)operazione di SageMaker intelligenza artificiale. Puoi creare un modello di attività del worker utilizzando la console per i tipi di attività Amazon Textract e Amazon Rekognition durante la creazione della definizione del flusso.

**Importante**  
Le condizioni di attivazione del ciclo umano, che avviano il ciclo umano, ad esempio le soglie di attendibilità, non sono disponibili per i tipi di attività personalizzati di Amazon A2I. Quando utilizzi la console per creare una definizione del flusso per un tipo di attività personalizzato, non puoi specificare le condizioni di attivazione. Quando utilizzi l'API Amazon A2I per creare una definizione del flusso per un tipo di attività personalizzato, non puoi impostare l'attributo `HumanLoopActivationConditions` del parametro `HumanLoopActivationConditionsConfig`. Per controllare quando vengono avviate le revisioni umane, specifica le condizioni in cui `StartHumanLoop` viene chiamato nell'applicazione personalizzata. In questo caso, ogni invocazione `StartHumanLoop` si traduce in una revisione umana. Per ulteriori informazioni, consulta [Utilizzo di IA aumentata Amazon con tipi di attività personalizzati](a2i-task-types-custom.md).

**Prerequisiti**

Per creare una definizione del flusso di lavoro di revisione umana, è necessario aver completato i prerequisiti descritti in [Prerequisiti per l'utilizzo di IA aumentata](a2i-getting-started-prerequisites.md). 

Se utilizzi l'API per creare una definizione del flusso per qualsiasi tipo di attività o se utilizzi un tipo di attività personalizzato durante la creazione di una definizione del flusso nella console, devi innanzitutto creare un modello di attività del worker. Per ulteriori informazioni, consulta [Creazione e gestione di modelli di attività del worker](a2i-instructions-overview.md).

Se desideri visualizzare in anteprima il modello di attività del worker durante la creazione di una definizione del flusso per un tipo di attività integrato nella console, assicurati di concedere il ruolo utilizzato per creare l'autorizzazione di definizione del flusso per accedere al bucket Amazon S3 contenente gli artefatti del modello utilizzando una policy come quella descritta in [Abilitazione delle anteprime dei modelli di attività del worker](a2i-permissions-security.md#permissions-for-worker-task-templates-augmented-ai).



**Topics**
+ [Creazione di un flusso di lavoro di revisione umana (Console)](#a2i-create-human-review-console)
+ [Creare un flusso di lavoro di revisione umana (API)](#a2i-create-human-review-api)
+ [Schema JSON per condizioni attivazione del ciclo umano in IA aumentata Amazon](a2i-human-fallback-conditions-json-schema.md)

## Creazione di un flusso di lavoro di revisione umana (Console)
<a name="a2i-create-human-review-console"></a>

Utilizza questa procedura per creare un flusso di lavoro di revisione umana di Amazon Augmented AI (Amazon A2I) utilizzando SageMaker la console AI. Se non hai familiarità con Amazon A2I, ti consigliamo di creare un team di lavoro privato con le persone dell'organizzazione e di utilizzare l'ARN del team di lavoro per la creazione della definizione del flusso. Per informazioni su come impostare una forza lavoro privata e creare un team di lavoro, consulta [Crea una forza lavoro privata (Amazon SageMaker AI Console)](sms-workforce-create-private-console.md). Se hai già impostato una forza lavoro privata, consulta [Crea un team di lavoro utilizzando la console SageMaker AI](sms-workforce-management-private-console.md#create-workteam-sm-console) per sapere come aggiungere un team di lavoro alla forza lavoro.

Se utilizzi Amazon A2I con uno dei tipi di attività integrati, puoi creare istruzioni per il worker utilizzando un modello di attività del worker predefinito fornito da IA aumentata per la creazione di un flusso di lavoro di revisione umana nella console. Per gli esempi dei modelli predefiniti forniti da IA aumentata, consulta i tipi di attività integrati in [Casi d'uso ed esempi con Amazon A2I](a2i-task-types-general.md).

**Per creare la definizione del flusso (console)**

1. Apri la console SageMaker AI all'indirizzo. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)

1. Nel riquadro di navigazione, nella sezione **IA aumentata** scegli **Flussi di lavoro di revisione umana** e quindi scegli **Crea flusso di lavoro di revisione umana**.

1. In **Panoramica**, esegui le operazioni seguenti:

   1. Per **Nome**, immetti un nome univoco per il flusso di lavoro. Il nome deve essere minuscolo, univoco all'interno della AWS regione del tuo account e può contenere fino a 63 caratteri. I caratteri validi sono: a-z, 0-9 e - (trattino).

   1. Per **Posizione S3 per l'output**, immetti il bucket S3 in cui devono essere memorizzati i risultati della revisione umana. Il bucket deve trovarsi nella stessa AWS regione del flusso di lavoro.

   1. Per **Ruolo IAM**, scegli il ruolo che dispone delle autorizzazioni necessarie. Se scegli un tipo di attività integrato e desideri visualizzare l'anteprima del modello del worker nella console, collega un ruolo con il tipo di policy descritto in [Abilitazione delle anteprime dei modelli di attività del worker](a2i-permissions-security.md#permissions-for-worker-task-templates-augmented-ai).

1. Per **Tipo attività**, scegli il tipo di attività che desideri far eseguire al worker umano. 

1. Se scegli il tipo di attività Amazon Rekognition o Amazon Textract, specifica le condizioni che richiamano la revisione umana.
   + Per le attività di moderazione delle immagini Amazon Rekognition, scegli un intervallo di soglia del punteggio di attendibilità dell’inferenza che avvia la revisione umana. 
   + Per le attività di Amazon Textract, puoi avviare una revisione umana quando chiavi di modulo specifiche risultano mancanti o quando il tasso di attendibilità del rilevamento della chiave del modulo è basso. Puoi anche avviare una revisione umana se, dopo la valutazione di tutte le chiavi di modulo nel testo, la percentuale di attendibilità è al di sotto della soglia richiesta per qualsiasi chiave di modulo. Due variabili specificano le soglie di attendibilità: l’**attendibilità di identificazione** e l’**attendibilità di qualificazione**. Per ulteriori informazioni su queste variabili, consulta [Utilizzo di IA aumentata Amazon con Amazon Textract](a2i-textract-task-type.md).
   + Per entrambi i tipi di attività, puoi inviare casualmente una percentuale di oggetti dati (immagini o moduli) e le relative etichette agli esseri umani per la revisione. 

1. Configurare e specificare il modello di attività del worker:

   1. Se utilizzi il tipo di attività Amazon Rekognition o Amazon Textract:

      1. Nella sezione **Crea modello**: 
        + Per creare istruzioni per i worker utilizzando il modello predefinito Amazon A2I per i tipi di attività Amazon Rekognition e Amazon Textract, scegli **Crea da un modello predefinito**.
          + Se scegli **Crea da un modello predefinito**, crea le istruzioni in **Progettazione attività worker**. 
            + Fornisci un **nome per il modello** che sia unico nella AWS regione in cui ti trovi. 
            + Nella sezione **Istruzioni** inserisci istruzioni dettagliate su come completare l'attività. Per aiutare i worker a raggiungere una precisione elevata, fornisci esempi positivi e negativi. 
            + (Facoltativo) In **Istruzioni aggiuntive** fornisci ai worker informazioni e istruzioni aggiuntive. 

              Per informazioni sulla creazione di istruzioni efficaci, consulta [Creazione di istruzioni efficaci per il worker](a2i-creating-good-instructions-guide.md).
        + Per selezionare un modello personalizzato che hai creato, selezionalo dal menu **Modello** e inserisci una **Descrizione dell'attività** per descrivere brevemente l'attività per i worker. Per informazioni su come creare un modello personalizzato, consulta [Creazione di un modello di attività del worker](a2i-worker-template-console.md#a2i-create-worker-template-console).

   1. Se utilizzi il tipo di attività personalizzato:

      1. Nella sezione **Modello di attività del worker**, scegli il modello dall'elenco. Tutti i modelli che hai creato nella console SageMaker AI vengono visualizzati in questo elenco. Per informazioni su come creare un modello per i tipi di attività personalizzati, consulta [Creazione e gestione di modelli di attività del worker](a2i-instructions-overview.md).

1. (Facoltativo) Anteprima del modello del worker: 

   Per i tipi di attività Amazon Rekognition e Amazon Textract, puoi scegliere **Visualizza attività worker campione** per visualizzare l'anteprima dell'interfaccia utente dell'attività del worker.

   Se crei una definizione del flusso per un tipo di attività personalizzato, puoi visualizzare in anteprima l'interfaccia utente dell'attività del worker utilizzando l'operazione `RenderUiTemplate`. Per ulteriori informazioni, consulta [Anteprima di un modello di attività del worker](a2i-custom-templates.md#a2i-preview-your-custom-template).

1. Per **Worker**, scegli un tipo di forza lavoro.

1. Scegli **Create** (Crea).

### Fasi successive
<a name="a2i-next-step-createflowdefinition-console"></a>

Una volta creato, il flusso di lavoro di revisione umana viene visualizzato nella console in **Flussi di lavoro di revisione umana**. Per visualizzare il nome della risorsa Amazon (ARN) e i dettagli di configurazione della tua definizione del flusso, seleziona il nome del flusso di lavoro. 

Se utilizzi un tipo di attività integrato, puoi utilizzare l'ARN di definizione del flusso per avviare un ciclo umano utilizzando l'API di quel AWS servizio (ad esempio, l'API Amazon Textract). Per i tipi di attività personalizzati, puoi utilizzare l'ARN per avviare un ciclo umano utilizzando l'API di runtime IA aumentata Amazon. Per ulteriori informazioni su entrambe le opzioni, consulta [Creazione e avvio di un ciclo umano](a2i-start-human-loop.md).

## Creare un flusso di lavoro di revisione umana (API)
<a name="a2i-create-human-review-api"></a>

Per creare una definizione di flusso utilizzando l'API, usi l'operazione. SageMaker `CreateFlowDefinition` Dopo aver completato i [Prerequisiti per l'utilizzo di IA aumentata](a2i-getting-started-prerequisites.md), utilizza la seguente procedura per imparare a utilizzare questa operazione API. 

Per una panoramica dell'operazione `CreateFlowDefinition` e i dettagli su ciascun parametro, consulta [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html). 

**Per creare una definizione del flusso (API)**

1. Per `FlowDeﬁnitionName`, immetti un nome univoco. Il nome deve essere univoco all'interno AWS della regione del tuo account e può contenere fino a 63 caratteri. I caratteri validi sono: a-z, 0-9 e - (trattino).

1. Per `RoleArn`, immettere l'ARN del ruolo configurato per concedere l'accesso alle origini dati.

1. Per `HumanLoopConfig`, immettere le informazioni sui worker e ciò che dovrebbero vedere. Per informazioni su ciascun parametro in`HumanLoopConfig`, vedere [HumanLoopConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html#sagemaker-CreateFlowDefinition-request-HumanLoopActivationConfig).

1. (Facoltativo) Se utilizzi un tipo di attività integrato, indica le condizioni che avviano un ciclo umano in `HumanLoopActivationConﬁg`. Per informazioni su come creare l'input richiesto per il parametro `HumanLoopActivationConﬁg`, consulta [Schema JSON per condizioni attivazione del ciclo umano in IA aumentata Amazon](a2i-human-fallback-conditions-json-schema.md). Se non specifichi le condizioni qui, quando fornisci una definizione di flusso al AWS servizio associato a un tipo di attività integrato (ad esempio, Amazon Textract o Amazon Rekognition), quel servizio invia ogni attività a un operatore umano per la revisione. 

   Se utilizzi un tipo di attività personalizzato, `HumanLoopActivationConfig` è disabilitato. Per informazioni su come controllare quando le attività vengono inviate ai worker umani utilizzando un tipo di attività personalizzato, consulta [Utilizzo di IA aumentata Amazon con tipi di attività personalizzati](a2i-task-types-custom.md).

1. (Facoltativo) Se utilizzi un tipo di attività integrato, specifica la fonte di integrazione (ad esempio, Amazon Rekognition o Amazon Textract) nel parametro. [HumanLoopRequestSource](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanLoopRequestSource.html)

1. Per `OutputConfig`, indica la posizione in Amazon Simple Storage Service (Amazon s3) in cui memorizzare l'output del ciclo umano.

1. (Facoltativo) Utilizza `Tags` per immettere coppie chiave valore per semplificare la categorizzazione e l'organizzazione di una definizione del flusso. Ogni tag consiste di una chiave e di un valore, entrambi personalizzabili.

------
#### [ Amazon Textract – Key-value pair extraction ]

Di seguito è riportato un esempio di richiesta per creare un flusso di lavoro di revisione umana di Amazon Textract (definizione del flusso) utilizzando l' AWS SDK per Python (Boto3). Devi utilizzare `'AWS/Textract/AnalyzeDocument/Forms/V1'` per creare un ciclo umano di Amazon Textract. Includi `PublicWorkforceTaskPrice` solo se utilizzi la forza lavoro di Mechanical Turk.

```
sagemaker_client = boto3.client('sagemaker', aws_region)

response = sagemaker_client.create_flow_definition(
    FlowDefinitionName='ExampleFlowDefinition',
    HumanLoopRequestSource={
         'AwsManagedHumanLoopRequestSource': 'AWS/Textract/AnalyzeDocument/Forms/V1'
    }, 
    HumanLoopActivationConfig={
        'HumanLoopActivationConditionsConfig': {
            'HumanLoopActivationConditions': '{...}'
        }
    },
    HumanLoopConfig={
        'WorkteamArn': 'arn:aws:sagemaker:aws_region:aws_account_number:workteam/private-crowd/workteam_name',
        'HumanTaskUiArn': 'arn:aws:sagemaker:aws_region:aws_account_number:human-task-ui/template_name',
        'TaskTitle': 'Example task title',
        'TaskDescription': 'Example task description.',
        'TaskCount': 123,
        'TaskAvailabilityLifetimeInSeconds': 123,
        'TaskTimeLimitInSeconds': 123,
        'TaskKeywords': [
            'Keyword1','Keyword2'
        ],
        'PublicWorkforceTaskPrice': {
            'AmountInUsd': {
                'Dollars': 123,
                'Cents': 123,
                'TenthFractionsOfACent': 123
            }
        }
    },
    OutputConfig={
        'S3OutputPath': 's3://bucket/path/',
        'KmsKeyId': '1234abcd-12ab-34cd-56ef-1234567890ab'
    },
    RoleArn='arn:aws:iam::aws_account_number:role/role_name',
    Tags=[
        {
            'Key': 'KeyName',
            'Value': 'ValueName'
        },
    ]
)
```

------
#### [ Amazon Rekognition – Image moderation ]

Di seguito è riportato un esempio di richiesta per creare un flusso di lavoro di revisione umana di Amazon Rekognition (definizione del flusso) utilizzando il AWS SDK per Python (Boto3). Devi utilizzare `'AWS/Rekognition/DetectModerationLabels/Image/V3'` per creare una definizione del flusso di Amazon Rekognition. Includi `PublicWorkforceTaskPrice` solo se utilizzi la forza lavoro di Mechanical Turk.

```
sagemaker_client = boto3.client('sagemaker', aws_region)

response = sagemaker_client.create_flow_definition(
    FlowDefinitionName='ExampleFlowDefinition',
    HumanLoopRequestSource={
         'AwsManagedHumanLoopRequestSource': 'AWS/Rekognition/DetectModerationLabels/Image/V3'
    }, 
    HumanLoopActivationConfig={
        'HumanLoopActivationConditionsConfig': {
            'HumanLoopActivationConditions': '{...}'
        }
    },
    HumanLoopConfig={
        'WorkteamArn': 'arn:aws:sagemaker:aws_region:aws_account_number:workteam/private-crowd/workteam_name',
        'HumanTaskUiArn': 'arn:aws:sagemaker:aws_region:aws_account_number:human-task-ui/template_name',
        'TaskTitle': 'Example task title',
        'TaskDescription': 'Example task description.',
        'TaskCount': 123,
        'TaskAvailabilityLifetimeInSeconds': 123,
        'TaskTimeLimitInSeconds': 123,
        'TaskKeywords': [
            'Keyword1','Keyword2'
        ],
        'PublicWorkforceTaskPrice': {
            'AmountInUsd': {
                'Dollars': 123,
                'Cents': 123,
                'TenthFractionsOfACent': 123
            }
        }
    },
    OutputConfig={
        'S3OutputPath': 's3://bucket/path/',
        'KmsKeyId': '1234abcd-12ab-34cd-56ef-1234567890ab'
    },
    RoleArn='arn:aws:iam::aws_account_number:role/role_name',
    Tags=[
        {
            'Key': 'KeyName',
            'Value': 'ValueName'
        },
    ]
)
```

------
#### [ Custom Workflow ]

Di seguito è riportato un esempio di richiesta per creare un flusso di lavoro di revisione umana (definizione del flusso) per un’integrazione personalizzata. Per creare questo tipo di flusso di lavoro di revisione umana, ometti `HumanLoopRequestSource` dalla richiesta di definizione del flusso. Devi includere `PublicWorkforceTaskPrice` solo se utilizzi la forza lavoro di Mechanical Turk.

```
sagemaker_client = boto3.client('sagemaker', aws_region)

response = sagemaker_client.create_flow_definition(
    FlowDefinitionName='ExampleFlowDefinition',
    HumanLoopActivationConfig={
        'HumanLoopActivationConditionsConfig': {
            'HumanLoopActivationConditions': '{...}'
        }
    },
    HumanLoopConfig={
        'WorkteamArn': 'arn:aws:sagemaker:aws_region:aws_account_number:workteam/private-crowd/workteam_name',
        'HumanTaskUiArn': 'arn:aws:sagemaker:aws_region:aws_acount_number:human-task-ui/template_name',
        'TaskTitle': 'Example task title',
        'TaskDescription': 'Example task description.',
        'TaskCount': 123,
        'TaskAvailabilityLifetimeInSeconds': 123,
        'TaskTimeLimitInSeconds': 123,
        'TaskKeywords': [
            'Keyword1','Keyword2'
        ],
        'PublicWorkforceTaskPrice': {
            'AmountInUsd': {
                'Dollars': 123,
                'Cents': 123,
                'TenthFractionsOfACent': 123
            }
        }
    },
    OutputConfig={
        'S3OutputPath': 's3://bucket/path/',
        'KmsKeyId': '1234abcd-12ab-34cd-56ef-1234567890ab'
    },
    RoleArn='arn:aws:iam::account_number:role/role_name',
    Tags=[
        {
            'Key': 'KeyName',
            'Value': 'ValueName'
        },
    ]
)
```

------

### Fasi successive
<a name="a2i-next-step-createflowdefinition-api"></a>

Il valore restituito di una chiamata riuscita dell'operazione API `CreateFlowDefinition` è un nome della risorsa Amazon (ARN) della definizione del flusso.

Se utilizzi un tipo di attività integrato, puoi utilizzare l'ARN di definizione del flusso per avviare un ciclo umano utilizzando l'API di quel AWS servizio (ad esempio l'API Amazon Textract). Per i tipi di attività personalizzati, puoi utilizzare l'ARN per avviare un ciclo umano utilizzando l'API di runtime IA aumentata Amazon. Per ulteriori informazioni su entrambe queste opzioni, consulta [Creazione e avvio di un ciclo umano](a2i-start-human-loop.md).

# Schema JSON per condizioni attivazione del ciclo umano in IA aumentata Amazon
<a name="a2i-human-fallback-conditions-json-schema"></a>

`HumanLoopActivationConditions` è un parametro di input dell'API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html). Questo parametro è una stringa formattata JSON. JSON modella le condizioni secondo cui verrà creato il ciclo umano, quando tali condizioni vengono valutate in base alla risposta di un'API di servizio AI di integrazione (come `Rekognition.DetectModerationLabels` o `Textract.AnalyzeDocument`). Questa risposta è indicata come *inferenza*. Ad esempio, Amazon Rekognition invia un'inferenza di un'etichetta di moderazione con un punteggio di attendibilità associato. In questo esempio, l'inferenza è la migliore stima del modello dell'etichetta appropriata per un'immagine. Per Amazon Textract, l'inferenza viene eseguita sull'associazione tra blocchi di testo (*coppie chiave-valore*), come l'associazione tra `Name:` e `Sue` in un modulo, così come il contenuto all'interno di un blocco di testo, o in *blocco di parole*, come "Name".

Di seguito è riportato lo schema per JSON. Al livello superiore, `HumanLoopActivationConditions` ha un array JSON, `Conditions`. Ogni membro di questo array è una condizione indipendente che, se valutata come `true`, consente a Amazon A2I di creare uno ciclo umano. Ciascuna di queste condizioni indipendenti può essere una condizione semplice o una condizione complessa. Una condizione semplice ha i seguenti attributi:
+ `ConditionType`: questo attributo identifica il tipo di condizione. Ogni API di servizio AI di AWS , che si integra con Amazon A2I, definisce il proprio insieme di `ConditionTypes` consentiti. 
  + Rekognition `DetectModerationLabels`: questa API supporta i valori `ModerationLabelConfidenceCheck` e `Sampling` `ConditionType`.
  + Textract `AnalyzeDocument`: questa API supporta i valori `ImportantFormKeyConfidenceCheck`, `MissingImportantFormKey`, e `Sampling` `ConditionType`.
+ `ConditionParameters`: questo è un oggetto JSON che parametrizza la condizione. Il set di attributi consentiti di questo oggetto dipende dal valore di `ConditionType`. Ciascuno `ConditionType` definisce il proprio insieme di `ConditionParameters`. 

Un membro dell'array `Conditions` può modellare una condizione complessa. Ciò si ottiene collegando logicamente condizioni semplici con gli operatori logici `And` e `Or` e nidificando le condizioni semplici sottostanti. Sono supportati fino a due livelli di nidificazione. 

```
{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "definitions": {
        "Condition": {
            "type": "object",
            "properties": {
                "ConditionType": {
                    "type": "string"
                },
                "ConditionParameters": {
                    "type": "object"
                }
            },
            "required": [
                "ConditionType"
            ]
        },
        "OrConditionArray": {
            "type": "object",
            "properties": {
                "Or": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                        "$ref": "#/definitions/ComplexCondition"
                    }
                }
            }
        },
        "AndConditionArray": {
            "type": "object",
            "properties": {
                "And": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                        "$ref": "#/definitions/ComplexCondition"
                    }
                }
            }
        },
        "ComplexCondition": {
            "anyOf": [
                {
                    "$ref": "#/definitions/Condition"
                },
                {
                    "$ref": "#/definitions/OrConditionArray"
                },
                {
                    "$ref": "#/definitions/AndConditionArray"
                }
            ]
        }
    },
    "type": "object",
    "properties": {
        "Conditions": {
            "type": "array",
            "items": {
                "$ref": "#/definitions/ComplexCondition"
            }
        }
    }
}
```

**Nota**  
Le condizioni di attivazione del ciclo umano non sono disponibili per i flussi di lavoro di revisione umana integrati con i tipi di attività personalizzati. Il parametro `HumanLoopActivationConditions` è disabilitato per i tipi di attività personalizzati. 

**Topics**
+ [Utilizzare lo schema JSON per condizioni attivazione del ciclo umano con Amazon Textract](a2i-json-humantaskactivationconditions-textract-example.md)
+ [Utilizzare lo schema JSON per condizioni attivazione del ciclo umano con Amazon Rekognition](a2i-json-humantaskactivationconditions-rekognition-example.md)

# Utilizzare lo schema JSON per condizioni attivazione del ciclo umano con Amazon Textract
<a name="a2i-json-humantaskactivationconditions-textract-example"></a>

Se utilizzata con Amazon A2I, l'operazione `AnalyzeDocument` supporta i seguenti input nel parametro `ConditionType`:
+ `ImportantFormKeyConfidenceCheck`: utilizza questa condizione per creare un ciclo umano quando l’attendibilità di inferenza rientra in un intervallo specificato per le chiavi del modulo di documento e i blocchi di parole. Una *chiave di modulo* è qualsiasi parola in un documento associato a un input. L'input è chiamato *valore*. Insieme, le chiavi del modulo e i valori sono indicati come *coppie chiave-valore*. Un *blocco di parole* si riferisce alle parole che Amazon Textract riconosce all'interno di un blocco di testo rilevato. Per ulteriori informazioni sui blocchi di documento Amazon Textract, consulta l'argomento relativo a [documenti e oggetti di blocco](https://docs.aws.amazon.com/textract/latest/dg/how-it-works-document-layout.html) nella *Guida per gli sviluppatori di Amazon Textract*.
+ `MissingImportantFormKey`: utilizza questa condizione per creare un ciclo umano quando Amazon Textract non ha identificato la chiave o i relativi alias associati all'interno del documento. 
+ `Sampling`: utilizza questa condizione per specificare una percentuale di inferenze da inviare agli esseri umani per la revisione, indipendentemente dai punteggi di attendibilità. Utilizzare questa condizione per effettuare le seguenti operazioni:
  + Controllare il modello ML campionando casualmente tutte le inferenze del modello e inviando una percentuale specificata agli esseri umani per la revisione.
  + Utilizzando la condizione `ImportantFormKeyConfidenceCheck`, campionare casualmente una percentuale di inferenze che ha soddisfatto le condizioni specificate in `ImportantFormKeyConfidenceCheck` per avviare un ciclo umano e inviare solo la percentuale specificata agli esseri umani per la revisione. 

**Nota**  
Se invii la stessa richiesta ad `AnalyzeDocument` più volte, il risultato di `Sampling` non cambia per l'inferenza dell'input. Ad esempio, se effettui una richiesta `AnalyzeDocument` una volta e `Sampling` non avvia un ciclo umano, le richieste `AnalyzeDocument` successive con la stessa configurazione non avviano un ciclo umano.

## `ImportantFormKeyConfidenceCheck` input e risultati
<a name="a2i-textract-importantformkeycofidencecheck"></a>

`ImportantFormKeyConfidenceCheck` `ConditionType` supporta i seguenti `ConditionParameters`:
+ `ImportantFormKey`: una stringa che rappresenta una coppia chiave-valore rilevata da Amazon Textract che deve essere esaminata dai worker umani. Se il valore di questo parametro è il valore speciale catch-all (\$1), tutte le chiavi sono considerate abbinate alla condizione. Puoi utilizzare questo metodo per modellare il caso in cui una coppia chiave-valore che soddisfi determinate soglie di attendibilità necessiti di revisione umana.
+ `ImportantFormKeyAliases`: un array che rappresenta ortografie alternative o equivalenti logici per la chiave modulo importante. 
+ `KeyValueBlockConfidenceEquals`
+ `KeyValueBlockConfidenceLessThan`
+ `KeyValueBlockConfidenceLessThanEquals`
+ `KeyValueBlockConfidenceGreaterThan`
+ `KeyValueBlockConfidenceGreaterThanEquals`
+ `WordBlockConfidenceEquals`
+ `WordBlockConfidenceLessThan`
+ `WordBlockConfidenceLessThanEquals`
+ `WordBlockConfidenceGreaterThan`
+ `WordBlockConfidenceGreaterThanEquals`

Quando usi `ImportantFormKeyConfidenceCheck` `ConditionType`, Amazon A2I invia le inferenze del blocco chiave-valore e del blocco di parole dei blocchi chiave-valore e gli alias associati che hai specificato in `ImportantFormKey` e `ImportantFormKeyAliases` per la revisione umana.

Quando crei una definizione di flusso, se utilizzi il modello di task di lavoro predefinito fornito nella sezione **Human review workflows** della console Amazon SageMaker AI, le inferenze chiave-valore e blocco inviate per la revisione umana da questa condizione di attivazione sono incluse nell'interfaccia utente del lavoratore. Se si utilizza un modello di attività del worker personalizzato, è necessario includere l'elemento `{{ task.input.selectedAiServiceResponse.blocks }}` da cui includere i dati di input del valore iniziale (inferenze) da Amazon Textract. Per un esempio di modello personalizzato che utilizza questo elemento HTML, consulta [Esempio di modello personalizzato per Amazon Textract](a2i-custom-templates.md#a2i-custom-templates-textract-sample).

## `MissingImportantFormKey` input e risultati
<a name="a2i-textract-missingimportantformkey"></a>

`MissingImportantFormKey` `ConditionType` supporta i seguenti `ConditionParameters`:
+ `ImportantFormKey`: una stringa che rappresenta una coppia chiave-valore rilevata da Amazon Textract che deve essere esaminata dai worker umani.
+ `ImportantFormKeyAliases`: un array che rappresenta ortografie alternative o equivalenti logici per la chiave modulo importante. 

Quando si utilizza `MissingImportantFormKey` `ConditionType`, se la chiave `ImportantFormKey` o gli alias in `ImportantFormKeyAliases` non sono inclusi nell'inferenza Amazon Textract, tale modulo verrà inviato a un umano per la revisione e non verranno incluse coppie chiave-valore previste. Ad esempio, se Amazon Textract ha identificato solo `Address` e `Phone` in un modulo, ma mancava il `ImportantFormKey` `Name` (nel tipo di condizione `MissingImportantFormKey`) tale modulo sarebbe stato inviato agli esseri umani per la revisione senza alcuna delle chiavi del modulo rilevate (`Address` e `Phone`).

Se utilizzi il modello di task di lavoro predefinito fornito nella console SageMaker AI, viene creata un'attività che chiede ai lavoratori di identificare la chiave e il valore associato. `ImportantFormKey` Se usi un modello di attività del worker personalizzato, devi includere l'elemento HTML `<task.input.humanLoopContext>` personalizzato per accedere a queste inferenze. 

## Input di campionamento e risultati
<a name="a2i-textract-randomsamplingpercentage"></a>

Il `Sampling` `ConditionType` supporta il `RandomSamplingPercentage` `ConditionParameters`. L'input per `RandomSamplingPercentage` deve essere un numero reale compreso tra 0,01 e 100. Questo numero rappresenta la percentuale di dati che si qualifica per la revisione umana e sarà inviata agli esseri umani per la revisione. Se usi la condizione `Sampling` senza altre condizioni, questo numero rappresenta la percentuale di tutte le inferenze risultanti calcolata dall'operazione `AnalyzeDocument` da una singola richiesta che verrà inviata agli esseri umani per la revisione.

Se specifichi la condizione `Sampling` senza alcun altro tipo di condizione, tutte le inferenze di blocco e chiave-valore vengono inviate ai worker per la revisione. 

Quando si crea una definizione di flusso, se si utilizza il modello di task di lavoro predefinito fornito nella sezione **Human review workflows** della console SageMaker AI, tutte le inferenze chiave-valore e blocco inviate per la revisione umana da questa condizione di attivazione sono incluse nell'interfaccia utente del lavoratore. Se si utilizza un modello di attività del worker personalizzato, è necessario includere l'elemento `{{ task.input.selectedAiServiceResponse.blocks }}` da cui includere i dati di input del valore iniziale (inferenze) da Amazon Textract. Per un esempio di modello personalizzato che utilizza questo elemento HTML, consulta [Esempio di modello personalizzato per Amazon Textract](a2i-custom-templates.md#a2i-custom-templates-textract-sample).

## Esempi
<a name="a2i-json-activation-condition-examples"></a>

Se per avviare un ciclo umano una sola condizione deve essere valutata su `true`, Amazon A2I valuta tutte le condizioni per ogni oggetto analizzato da Amazon Textract. I revisori umani sono invitati a rivedere le chiavi del modulo importanti per tutte le condizioni che hanno valutato come `true`.

**Esempio 1: rilevare le chiavi di modulo importanti con punteggi di attendibilità in un intervallo specificato che avvia un ciclo umano**

Di seguito è riportato un esempio di un JSON `HumanLoopActivationConditions` che avvia un ciclo umano se una qualsiasi delle seguenti tre condizioni è soddisfatta:
+ L'API `AnalyzeDocument` Amazon Textract restituisce una coppia chiave-valore la cui chiave è uno dei `Employee Name`, `Name` o `EmployeeName`, con la certezza che il blocco chiave-valore è inferiore a 60 e le confidenze di ciascuno dei blocchi di parola che compongono la chiave e il valore sono inferiori a 85.
+ L'API `AnalyzeDocument` Amazon Textract restituisce una coppia chiave-valore la cui chiave è uno dei `Pay Date`, `PayDate`, `DateOfPay` o `pay-date`, con la certezza che il blocco chiave-valore è inferiore a 65 e le confidenze di ciascuno dei blocchi di parola che compongono la chiave e il valore sono inferiori a 85.
+ L'API `AnalyzeDocument` Amazon Textract restituisce una coppia chiave-valore la cui chiave è uno dei `Gross Pay`, `GrossPay` o `GrossAmount`, con la certezza che il blocco chiave-valore è inferiore a 60 e le confidenze di ciascuno dei blocchi di parola che compongono la chiave e il valore sono inferiori a 85.

```
{
    "Conditions": [
        {
            "ConditionType": "ImportantFormKeyConfidenceCheck",
            "ConditionParameters": {
                "ImportantFormKey": "Employee Name",
                "ImportantFormKeyAliases": [
                    "Name",
                    "EmployeeName"
                ],
                "KeyValueBlockConfidenceLessThan": 60,
                "WordBlockConfidenceLessThan": 85
            }
        },
        {
            "ConditionType": "ImportantFormKeyConfidenceCheck",
            "ConditionParameters": {
                "ImportantFormKey": "Pay Date",
                "ImportantFormKeyAliases": [
                    "PayDate",
                    "DateOfPay",
                    "pay-date"
                ],
                "KeyValueBlockConfidenceLessThan": 65,
                "WordBlockConfidenceLessThan": 85
            }
        },
        {
            "ConditionType": "ImportantFormKeyConfidenceCheck",
            "ConditionParameters": {
                "ImportantFormKey": "Gross Pay",
                "ImportantFormKeyAliases": [
                    "GrossPay",
                    "GrossAmount"
                ],
                "KeyValueBlockConfidenceLessThan": 60,
                "WordBlockConfidenceLessThan": 85
            }
        }
    ]
}
```

**Esempio 2: utilizzo di `ImportantFormKeyConfidenceCheck`**

Nell'esempio seguente, se Amazon Textract rileva una coppia chiave-valore la cui attendibilità per il blocco chiave-valore è inferiore a 60 e per tutti i blocchi di parole sottostanti è inferiore a 90, viene creato un ciclo umano. Ai revisori umani viene chiesto di rivedere tutte le coppie chiave-valore modulo che corrispondono ai confronti dei valori di attendibilità.

```
{
    "Conditions": [
        {
            "ConditionType": "ImportantFormKeyConfidenceCheck",
            "ConditionParameters": {
                "ImportantFormKey": "*",
                "KeyValueBlockConfidenceLessThan": 60,
                "WordBlockConfidenceLessThan": 90
            }
        }
    ]
}
```

**Esempio 3: utilizzare il campionamento**

Nell'esempio seguente, il 5% delle inferenze risultanti da una richiesta `AnalyzeDocument` Amazon Textract sarà inviato ai worker umani per la revisione. Tutte le coppie chiave-valore rilevate restituite da Amazon Textract vengono inviate ai worker per la revisione.

```
{
  "Conditions": [
    {
      "ConditionType": "Sampling",
      "ConditionParameters": {
        "RandomSamplingPercentage": 5
      }
    }
  ]
}
```

**Esempio 4: utilizzo di `MissingImportantFormKey`**

Nell'esempio seguente, se `Mailing Address` o il relativo alias, `Mailing Address:`, manca dalle chiavi rilevate da Amazon Textract, verrà attivata una revisione umana. Quando si utilizza il modello di attività del worker predefinito, l'interfaccia utente del worker chiede ai worker di identificare la chiave `Mailing Address` o `Mailing Address:` e il valore associato. 

```
{
    "ConditionType": "MissingImportantFormKey",
    "ConditionParameters": {
        "ImportantFormKey": "Mailing Address",
        "ImportantFormKeyAliases": ["Mailing Address:"]
    }
}
```

**Esempio 5: utilizzo del campionamento e di `ImportantFormKeyConfidenceCheck` con l'operatore `And`**

In questo esempio, il 5% delle coppie chiave-valore rilevate da Amazon Textract la cui chiave è `Pay Date`, `PayDate`, `DateOfPay` o `pay-date`, con l'attendibilità del blocco chiave-valore inferiore a 65 e le attendibilità di ciascuno dei blocchi di parole che compongono la chiave e il valore inferiore a 85, viene inviato ai worker per la revisione.

```
{
  "Conditions": [
    {
      "And": [
        {
          "ConditionType": "Sampling",
          "ConditionParameters": {
            "RandomSamplingPercentage": 5
          }
        },
        {
          "ConditionType": "ImportantFormKeyConfidenceCheck",
            "ConditionParameters": {
                "ImportantFormKey": "Pay Date",
                "ImportantFormKeyAliases": [
                    "PayDate",
                    "DateOfPay",
                    "pay-date"
                ],
                "KeyValueBlockConfidenceLessThan": 65,
                "WordBlockConfidenceLessThan": 85
            }
        }
      ]
    }
  ]
}
```

**Esempio 6: utilizzo del campionamento e di `ImportantFormKeyConfidenceCheck` con l'operatore `And`**

Utilizza questo esempio per configurare il flusso di lavoro di revisione umana per inviare sempre le inferenze a bassa attendibilità di una coppia chiave-valore specificata per la revisione umana e campionare l'inferenza ad alta attendibilità di una coppia chiave-valore secondo una percentuale specificata. 

Nell'esempio seguente, una revisione umana viene avviata in uno dei seguenti modi: 
+ Le coppie chiave-valore rilevate la cui chiave è `Pay Date`, `PayDate`, `DateOfPay` o `pay-date`, con confidenze chiave-valore e blocco di parole inferiori a 60 verranno inviate per la revisione umana. Solo la chiave di modulo `Pay Date` (e relativi alias) e i valori associati vengono inviati ai worker per la revisione. 
+ Il 5% delle coppie chiave-valore rilevate la cui chiave è `Pay Date`, `PayDate`, `DateOfPay` o `pay-date`, con attendibilità chiave-valore e blocco di parole superiori a 90 verrà inviato per la revisione umana. Solo la chiave di modulo `Pay Date` (e relativi alias) e i valori associati vengono inviati ai worker per la revisione. 

```
{
  "Conditions": [
    {
      "Or": [
       {
          "ConditionType": "ImportantFormKeyConfidenceCheck",
            "ConditionParameters": {
                "ImportantFormKey": "Pay Date",
                "ImportantFormKeyAliases": [
                    "PayDate",
                    "DateOfPay",
                    "pay-date"
                ],
                "KeyValueBlockConfidenceLessThan": 60,
                "WordBlockConfidenceLessThan": 60
            }
        },
        {
            "And": [
                {
                    "ConditionType": "Sampling",
                    "ConditionParameters": {
                        "RandomSamplingPercentage": 5
                    }
                },
                {
                    "ConditionType": "ImportantFormKeyConfidenceCheck",
                        "ConditionParameters": {
                            "ImportantFormKey": "Pay Date",
                            "ImportantFormKeyAliases": [
                                "PayDate",
                                "DateOfPay",
                                "pay-date"
                        ],
                        "KeyValueBlockConfidenceLessThan": 90
                        "WordBlockConfidenceGreaterThan": 90
                    }
                }
            ]
        }
      ]
    }
  ]
}
```

**Esempio 7: utilizzo del campionamento e di `ImportantFormKeyConfidenceCheck` con l'operatore `Or`**

Nell'esempio seguente, l'operazione `AnalyzeDocument` Amazon Textract restituisce una coppia chiave-valore la cui chiave è `Pay Date`, `PayDate`, `DateOfPay` o `pay-date`, con la attendibilità del blocco chiave-valore inferiore a 65 e le confidenze di ciascuno dei blocchi di parole che compongono la chiave e il valore inferiore a 85. Inoltre, il 5% di tutti gli altri moduli avvierà un ciclo umano. Per ogni modulo scelto in modo casuale, tutte le coppie chiave-valore rilevate per tale modulo verranno inviate agli esseri umani per la revisione.

```
{
  "Conditions": [
    {
      "Or": [
        {
          "ConditionType": "Sampling",
          "ConditionParameters": {
            "RandomSamplingPercentage": 5
          }
        },
        {
           "ConditionType": "ImportantFormKeyConfidenceCheck",
            "ConditionParameters": {
                "ImportantFormKey": "Pay Date",
                "ImportantFormKeyAliases": [
                    "PayDate",
                    "DateOfPay",
                    "pay-date"
                ],
                "KeyValueBlockConfidenceLessThan": 65,
                "WordBlockConfidenceLessThan": 85
            }
          }
        }
      ]
    }
  ]
}
```

# Utilizzare lo schema JSON per condizioni attivazione del ciclo umano con Amazon Rekognition
<a name="a2i-json-humantaskactivationconditions-rekognition-example"></a>

Se utilizzata con Amazon A2I, l'operazione `DetectModerationLabels` Amazon Rekognition supporta i seguenti input nel parametro `ConditionType`:
+ `ModerationLabelConfidenceCheck`: utilizza questo tipo di condizione per creare un ciclo umano quando l’attendibilità dell’inferenza è bassa per una o più etichette specificate.
+ `Sampling`: utilizza questa condizione per specificare una percentuale di tutte le inferenze da inviare agli esseri umani per la revisione. Utilizzare questa condizione per effettuare le seguenti operazioni:
  + Controllare il modello ML campionando casualmente tutte le inferenze del modello e inviando una percentuale specificata agli esseri umani per la revisione.
  + Utilizzando la condizione `ModerationLabelConfidenceCheck`, campionare casualmente una percentuale di inferenze che ha soddisfatto le condizioni specificate in `ModerationLabelConfidenceCheck` per avviare un ciclo umano e inviare solo la percentuale specificata agli esseri umani per la revisione. 

**Nota**  
Se invii la stessa richiesta ad `DetectModerationLabels` più volte, il risultato di `Sampling` non cambia per l'inferenza dell'input. Ad esempio, se effettui una richiesta `DetectModerationLabels` una volta e `Sampling` non avvia un ciclo umano, le richieste `DetectModerationLabels` successive con la stessa configurazione non avviano un ciclo umano. 

Quando crei una definizione di flusso, se utilizzi il modello di task di lavoro predefinito fornito nella sezione **Flussi di lavoro di revisione umana** della console Amazon SageMaker AI, le inferenze inviate per la revisione umana da queste condizioni di attivazione vengono incluse nell'interfaccia utente del lavoratore quando un lavoratore apre l'attività. Se usi un modello di attività del worker personalizzato, devi includere l'elemento HTML `<task.input.selectedAiServiceResponse.blocks>` personalizzato per accedere a queste inferenze. Per un esempio di modello personalizzato che utilizza questo elemento HTML, consulta [Esempio di modello personalizzato per Amazon Rekognition](a2i-custom-templates.md#a2i-custom-templates-rekognition-sample).

## Input `ModerationLabelConfidenceCheck`
<a name="a2i-rek-moderationlabelconfidencecheck"></a>

Per il `ConditionType` `ModerationLabelConfidenceCheck`, sono supportati i seguenti `ConditionParameters`:
+ `ModerationLabelName`— Il nome esatto (con distinzione tra maiuscole e minuscole) di un oggetto [ModerationLabel](https://docs.aws.amazon.com/rekognition/latest/dg/API_ModerationLabel.html)rilevato dall'operazione Amazon Rekognition. `DetectModerationLabels` È possibile specificare il valore catch-all speciale (\$1) per indicare qualsiasi etichetta di moderazione.
+ `ConfidenceEquals`
+ `ConfidenceLessThan`
+ `ConfidenceLessThanEquals`
+ `ConfidenceGreaterThan`
+ `ConfidenceGreaterThanEquals`

Quando usi `ModerationLabelConfidenceCheck` `ConditionType`, Amazon A2I invia le inferenze per le etichette specificate in `ModerationLabelName` per la revisione umana.

## Input di campionamento
<a name="a2i-rek-randomsamplingpercentage"></a>

Il `Sampling` `ConditionType` supporta il `RandomSamplingPercentage` `ConditionParameters`. L'input per il parametro `RandomSamplingPercentage` deve essere un numero reale compreso tra 0,01 e 100. Questo numero rappresenta la percentuale di inferenze che si qualifica per la revisione umana e viene inviata agli esseri umani per la revisione. Se usi la condizione `Sampling` senza altre condizioni, questo numero rappresenta la percentuale di tutte le inferenze risultanti da una singola richiesta `DetectModerationLabel` inviata agli esseri umani per la revisione.

## Esempi
<a name="a2i-json-rek-activation-condition-examples"></a>

**Esempio 1: utilizzo di `ModerationLabelConfidenceCheck` con l'operatore `And`**

L'esempio seguente di condizione `HumanLoopActivationConditions` avvia un ciclo umano quando vengono soddisfatte una o più delle seguenti condizioni:
+ Amazon Rekognition rileva l'etichetta di moderazione `Graphic Male Nudity` con un’attendibilità compresa tra 90 e 99.
+ Amazon Rekognition rileva l'etichetta di moderazione `Graphic Female Nudity` con un’attendibilità compresa tra 80 e 99.

Osserva l'uso degli operatori logici `Or` e `And` per modellare questa logica.

Sebbene solo una delle due condizioni riportate sotto l'operatore `Or` deve essere `true` per poter creare un ciclo umano, IA aumentata Amazon valuta tutte le condizioni. Ai revisori umani viene chiesto di rivedere le etichette di moderazione per tutte le condizioni che sono state valutate come `true`.

```
{
     "Conditions": [{
         "Or": [{
                 "And": [{
                         "ConditionType": "ModerationLabelConfidenceCheck",
                         "ConditionParameters": {
                             "ModerationLabelName": "Graphic Male Nudity",
                             "ConfidenceLessThanEquals": 99
                         }
                     },
                     {
                         "ConditionType": "ModerationLabelConfidenceCheck",
                         "ConditionParameters": {
                             "ModerationLabelName": "Graphic Male Nudity",
                             "ConfidenceGreaterThanEquals": 90
                         }
                     }
                 ]
             },
             {
                 "And": [{
                         "ConditionType": "ModerationLabelConfidenceCheck",
                         "ConditionParameters": {
                             "ModerationLabelName": "Graphic Female Nudity",
                             "ConfidenceLessThanEquals": 99
                         }
                     },
                     {
                         "ConditionType": "ModerationLabelConfidenceCheck",
                         "ConditionParameters": {
                             "ModerationLabelName": "Graphic Female Nudity",
                             "ConfidenceGreaterThanEquals": 80
                         }
                     }
                 ]
             }
         ]
     }]
}
```

**Esempio 2: utilizzo di `ModerationLabelConfidenceCheck` con il valore generico (\$1) **

Nell'esempio seguente, se viene rilevata un'etichetta di moderazione con un livello di attendibilità superiore o uguale a 75, viene avviato un ciclo umano. Ai revisori umani viene chiesto di rivedere tutte le etichette di moderazione con punteggi di attendibilità superiori o uguali a 75.

```
{
    "Conditions": [
        {
            "ConditionType": "ModerationLabelConfidenceCheck",
            "ConditionParameters": {
                "ModerationLabelName": "*",
                "ConfidenceGreaterThanEquals": 75
            }
        }
    ]
}
```

**Esempio 3: utilizzare il campionamento**

Nell'esempio seguente, il 5% delle inferenze Amazon Rekognition da una richiesta `DetectModerationLabels` sarà inviato ai worker umani. Quando si utilizza il modello di task di lavoro predefinito fornito nella console SageMaker AI, tutte le etichette di moderazione restituite da Amazon Rekognition vengono inviate ai lavoratori per la revisione.

```
{
  "Conditions": [
    {
      "ConditionType": "Sampling",
      "ConditionParameters": {
        "RandomSamplingPercentage": 5
      }
    }
  ]
}
```

**Esempio 4: utilizzo del campionamento e di `ModerationLabelConfidenceCheck` con l'operatore `And`**

In questo esempio, il 5% delle inferenze Amazon Rekognition dell'etichetta di moderazione `Graphic Male Nudity` con una attendibilità superiore a 50 verrà inviato ai worker per la revisione. Quando si utilizza il modello di task di lavoro predefinito fornito nella console SageMaker AI, solo le inferenze dell'`Graphic Male Nudity`etichetta vengono inviate ai lavoratori per la revisione. 

```
{
  "Conditions": [
    {
      "And": [
        {
          "ConditionType": "Sampling",
          "ConditionParameters": {
            "RandomSamplingPercentage": 5
          }
        },
        {
          "ConditionType": "ModerationLabelConfidenceCheck",
          "ConditionParameters": {
            "ModerationLabelName": "Graphic Male Nudity",
            "ConfidenceGreaterThan": 50
          }
        }
      ]
    }
  ]
}
```

**Esempio 5: utilizzo del campionamento e di `ModerationLabelConfidenceCheck` con l'operatore `And`**

Utilizza questo esempio per configurare il flusso di lavoro di revisione umana per inviare sempre le inferenze a bassa attendibilità di un'etichetta specificata per la revisione umana e campionare l'inferenza ad alta attendibilità di un'etichetta a una percentuale specificata. 

Nell'esempio seguente, una revisione umana viene avviata in uno dei seguenti modi: 
+ Le inferenze per l'etichetta di moderazione `Graphic Male Nudity` con punteggi di attendibilità inferiori a 60 vengono sempre inviate per la revisione umana. Solo l'etichetta `Graphic Male Nudity` viene inviata ai worker per la revisione. 
+ Il 5% di tutte le inferenze per l'etichetta di moderazione `Graphic Male Nudity` con punteggi di attendibilità superiori a 90 sarà inviato per la revisione umana. Solo l'etichetta `Graphic Male Nudity` viene inviata ai worker per la revisione. 

```
{
  "Conditions": [
    {
      "Or": [
        {
          "ConditionType": "ModerationLabelConfidenceCheck",
          "ConditionParameters": {
            "ModerationLabelName": "Graphic Male Nudity",
            "ConfidenceLessThan": 60
          }
        },
        {
            "And": [
                {
                    "ConditionType": "Sampling",
                    "ConditionParameters": {
                        "RandomSamplingPercentage": 5
                    }
                },
                {
                    "ConditionType": "ModerationLabelConfidenceCheck",
                    "ConditionParameters": {
                        "ModerationLabelName": "Graphic Male Nudity",
                        "ConfidenceGreaterThan": 90
                    }
                }
            ]
        }
      ]
    }
  ]
}
```

**Esempio 6: utilizzo del campionamento e di `ModerationLabelConfidenceCheck` con l'operatore `Or`**

Nell'esempio seguente, viene creato un ciclo umano se la risposta dell'inferenza Amazon Rekognition contiene l'etichetta "Graphic Male Nudity" con attendibilità di inferenza superiore a 50. Inoltre, il 5% di tutte le altre inferenze avvierà un ciclo umano. 

```
{
  "Conditions": [
    {
      "Or": [
        {
          "ConditionType": "Sampling",
          "ConditionParameters": {
            "RandomSamplingPercentage": 5
          }
        },
        {
          "ConditionType": "ModerationLabelConfidenceCheck",
          "ConditionParameters": {
            "ModerationLabelName": "Graphic Male Nudity",
            "ConfidenceGreaterThan": 50
          }
        }
      ]
    }
  ]
}
```

# Eliminare un flusso di lavoro di revisione umana
<a name="a2i-delete-flow-definition"></a>

Quando elimini un flusso di lavoro di revisione umana o elimini il tuo AWS account mentre è in corso un ciclo umano, lo stato del flusso di lavoro di revisione umana cambia in`Deleting`. Amazon A2I interrompe ed elimina automaticamente tutti i cicli umani associati se i worker non hanno avviato le attività create da tali cicli umani. Se i worker umani stanno già utilizzando un'attività, questa continuerà a essere disponibile fino al completamento o alla scadenza. Finché i worker lavorano ancora lavorando a un'attività, lo stato del flusso di lavoro di revisione umana sarà `Deleting`. Se queste attività vengono completate, i risultati vengono archiviati nel bucket Amazon S3 specificato nella definizione del flusso. 

L'eliminazione di una definizione del flusso non rimuove le risposte del worker dal bucket S3. Se le attività vengono completate, ma hai eliminato il tuo AWS account, i risultati vengono archiviati nel bucket di servizi Augmented AI per 30 giorni e quindi eliminati definitivamente.

Dopo che tutti i cicli umani sono stati eliminati, il flusso di lavoro di revisione umana viene eliminato definitivamente. Quando un flusso di lavoro di revisione umana è stato eliminato, puoi riutilizzarne il nome per creare un nuovo flusso di lavoro di revisione umana. 

Potrebbe essere necessario eliminare un flusso di lavoro di revisione umana per uno dei seguenti motivi:
+ Sono stati inviati dati a un insieme di revisori umani e si desidera eliminare tutti i cicli umani non avviati perché non si desidera che tali worker utilizzino più tali attività.
+ Il modello di attività del worker utilizzato per generare l'interfaccia utente del worker non esegue il rendering correttamente o non funziona come previsto. 

Dopo aver eliminato un flusso di lavoro di revisione umana, si verificano le seguenti modifiche:
+ Il flusso di lavoro di revisione umana non viene più visualizzato nella pagina **Flussi di lavoro di revisione umana** nell'area Augmented AI della console Amazon SageMaker AI. 
+ Quando utilizzi il nome del flusso di lavoro di revisione umana come input per le operazioni dell'API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeFlowDefinition.html) o [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteFlowDefinition.html), IA aumentata restituisce un errore `ResourceNotFound`. 
+ Quando utilizzi [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListFlowDefinitions.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListFlowDefinitions.html), i flussi di lavoro di revisione umana eliminati non vengono inclusi nei risultati. 
+ Quando utilizzi l'ARN del flusso di lavoro di revisione umana come input per l'operazione API di runtime IA aumentata `[ListHumanLoops](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_ListHumanLoops.html)`, IA aumentata restituisce un `ResourceNotFoundException`.

## Elimina una definizione di flusso utilizzando la console o l'API SageMaker
<a name="a2i-delete-flow-definition-how-to"></a>

Puoi eliminare un flusso di lavoro di revisione **umana nella pagina Flussi di lavoro di revisione umana** nell'area Augmented AI della console SageMaker AI o utilizzando l' SageMaker API AI. 

Le definizioni di flusso possono essere eliminate solo se il loro stato è `Active`. 

**Eliminazione di un flusso di lavoro di revisione umana (Console)**

1. Vai alla console [https://console.aws.amazon.com/a2i/](https://console.aws.amazon.com/a2i)Augmented AI all'indirizzo.

1. Nel riquadro di navigazione, nella sezione **IA aumentata**, scegli **Flussi di lavoro di revisione umana**.

1. Seleziona il nome con collegamento ipertestuale del flusso di lavoro di revisione umana che si desidera eliminare. 

1. Nella pagina **Riepilogo** del flusso di lavoro di revisione umana, scegli **Elimina**. 

1. Nella finestra di dialogo in cui viene chiesto di confermare che si desidera eliminare il flusso di lavoro di revisione umana, scegliere **Delete (Elimina)**. 

Viene eseguito automaticamente il reindirizzamento alla pagina **Human review workflows (Flussi di lavoro di revisione umana)**. Durante l'eliminazione del flusso di lavoro di revisione umana, lo stato **Deleting (Eliminazione)** viene visualizzato nella colonna dello stato di tale flusso di lavoro. Dopo che è stato eliminato, non verrà visualizzato nell'elenco dei flussi di lavoro in questa pagina. 

**Eliminazione di un flusso di lavoro di revisione umana (API)**  
Puoi eliminare un flusso di lavoro di revisione umana (definizione del flusso) utilizzando l'operazione [DeleteFlowDefinition](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteFlowDefinition.html)API SageMaker AI. Questa operazione API è supportata tramite [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/delete-flow-definition.html)e in una [varietà di lingue specifiche SDKs](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteFlowDefinition.html#API_DeleteFlowDefinition_SeeAlso). La tabella seguente mostra esempi di richieste che utilizzano SDK for Python (Boto3) AWS CLI e l'eliminazione del flusso di lavoro di revisione umana,. *`example-flow-definition`* 

------
#### [ AWS SDK per Python (Boto3) ]

Il seguente esempio di richiesta utilizza l'SDK per Python (Boto3) per eliminare il flusso di lavoro di revisione umana. Per ulteriori informazioni, consulta [delete\$1flow\$1definition](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.delete_flow_definition) in *AWS SDK for Python (Boto) API Reference*.

```
import boto3

sagemaker_client = boto3.client('sagemaker')
response = sagemaker_client.delete_flow_definition(FlowDefinitionName='example-flow-definition')
```

------
#### [ AWS CLI ]

Il seguente esempio di richiesta utilizza la AWS CLI per eliminare il flusso di lavoro di revisione umana. Per ulteriori informazioni, consulta [delete-flow-definition](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/delete-flow-definition.html) nella *documentazione di riferimento dei comandi della [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/)*. 

```
$ aws sagemaker delete-flow-definition --flow-definition-name 'example-flow-definition'
```

------

Se l'operazione riesce, IA aumentata invia una risposta HTTP 200 con un corpo HTTP vuoto.

# Creazione e avvio di un ciclo umano
<a name="a2i-start-human-loop"></a>

Un *ciclo umano* avvia il flusso di lavoro di revisione umana e invia le attività di revisione dei dati ai worker umani. Quando utilizzi uno dei tipi di attività integrati in Amazon A2I, il AWS servizio corrispondente crea e avvia un ciclo umano per tuo conto quando vengono soddisfatte le condizioni specificate nella definizione del flusso. Se non sono state specificate condizioni nella definizione del flusso, viene creato un ciclo umano per ogni oggetto. Quando utilizzi Amazon A2I per un'attività personalizzata, viene avviato un ciclo umano quando `StartHumanLoop` viene chiamato nell'applicazione. 

Utilizza le seguenti istruzioni per configurare un ciclo umano con i tipi di attività personalizzati e i tipi di attività integrati di Amazon Rekognition o Amazon Textract. 

**Prerequisiti**

Per creare e avviare un ciclo umano, devi collegare la `AmazonAugmentedAIFullAccess` policy all'utente o al ruolo AWS Identity and Access Management (IAM) che configura o avvia il ciclo umano. Questa è l'identità che utilizzi per configurare il ciclo umano mediante `HumanLoopConfig` per i tipi di attività integrati. Per i tipi di attività personalizzati, questa è l'identità che usi per chiamare `StartHumanLoop`.

Inoltre, quando si utilizza un tipo di attività integrato, l'utente o il ruolo deve disporre dell'autorizzazione a richiamare le operazioni API del AWS servizio associato al tipo di attività. Ad esempio, se utilizzi Amazon Rekognition con IA aumentata, devi collegare le autorizzazioni necessarie per chiamare `DetectModerationLabels`. Per esempi di policy basate sull’identità che puoi utilizzare per concedere queste autorizzazioni, consulta [Amazon Rekognition Identity-Based Policy Examples](https://docs.aws.amazon.com/rekognition/latest/dg/security_iam_id-based-policy-examples.html) and [Amazon Textract Identity-Based Policy Examples](https://docs.aws.amazon.com/textract/latest/dg/security_iam_id-based-policy-examples.html). Puoi anche utilizzare la policy più generale, `AmazonAugmentedAIIntegratedAPIAccess`, per concedere queste autorizzazioni. Per ulteriori informazioni, consulta [Crea un utente con le autorizzazioni per richiamare le operazioni API Amazon A2I, Amazon Textract e Amazon Rekognition](a2i-permissions-security.md#a2i-grant-general-permission). 

Avrai bisogno dell'ARN di una definizione del flusso per creare e avviare un ciclo umano. Per informazioni su come creare una definizione del flusso (o un flusso di lavoro di revisione umana), consulta [Creare un flusso di lavoro di revisione umana](a2i-create-flow-definition.md).

**Importante**  
Amazon A2I richiede che tutti i bucket S3 che contengono dati di immagine di input del ciclo umano abbiano una policy CORS collegata. Per ulteriori informazioni su questa modifica, consulta [Requisiti per l'autorizzazione CORS](a2i-permissions-security.md#a2i-cors-update).

## Creazione e avvio di un ciclo umano per un tipo di attività integrato
<a name="a2i-human-loop-built-in-task-type"></a>

Per avviare un ciclo umano per un tipo di attività integrato, usa l'API del servizio corrispondente per fornire i dati di input e configurare il ciclo umano. Per Amazon Textract, usa l'operazione API `AnalyzeDocument`. Per Amazon Rekognition, usa l'operazione API `DetectModerationLabels`. Puoi utilizzare l'SDK AWS CLI o un SDK specifico per la lingua per creare richieste utilizzando queste operazioni API. 

**Importante**  
Quando crei un ciclo umano utilizzando un tipo di attività integrata, puoi utilizzare `DataAttributes` per specificare un set di `ContentClassifiers` correlati all'input fornito all'operazione `StartHumanLoop`. Utilizza i classificatori dei contenuti per dichiarare che i contenuti siano privi di informazioni di identificazione personale o di contenuti per adulti.  
Per utilizzare Amazon Mechanical Turk, assicurati che i tuoi dati siano privi di informazioni di identificazione personale, incluse le informazioni sanitarie protette ai sensi dell'HIPAA. Includi il classificatore di contenuti `FreeOfPersonallyIdentifiableInformation`. Se non utilizzi questo classificatore di contenuti, l' SageMaker IA non invia la tua attività a Mechanical Turk. Se i dati sono privi di contenuti per adulti, includi anche il classificatore `'FreeOfAdultContent'`. Se non utilizzi questi classificatori di contenuti, l' SageMaker intelligenza artificiale potrebbe limitare il numero di lavoratori di Mechanical Turk che possono visualizzare le tue attività.

Dopo aver avviato il processo di machine learning utilizzando l'API di AWS servizio del tipo di attività integrato, Amazon A2I monitora i risultati di inferenza di quel servizio. Ad esempio, quando esegui un processo con Amazon Rekognition, Amazon A2I controlla il punteggio di attendibilità dell’inferenza per ogni immagine e lo confronta con le soglie di attendibilità specificate nella definizione del flusso. Se le condizioni per avviare un'attività di revisione umana sono soddisfatte o se non sono state specificate condizioni nella definizione del flusso, un'attività di revisione umana viene inviata ai worker. 

### Creazione di un ciclo umano Amazon Textract
<a name="a2i-human-loop-textract"></a>

Amazon A2I si integra con Amazon Textract e pertanto puoi configurare e avviare un ciclo umano utilizzando l'API Amazon Textract. Per inviare il file di un documento ad Amazon Textract per l'analisi, ci si avvale dell'[operazione API `AnalyzeDocument`](https://docs.aws.amazon.com/textract/latest/dg/API_AnalyzeDocument.html) di Amazon Textract. Per aggiungere un ciclo umano a questo processo di analisi dei documenti, devi configurare il parametro `HumanLoopConfig`. 

Quando configuri il ciclo umano, la definizione del flusso specificata in `FlowDefinitionArn` di `HumanLoopConfig` deve trovarsi nella stessa Regione AWS del bucket identificato in `Bucket` del parametro `Document`.

La tabella seguente mostra esempi di come utilizzare questa operazione con and. AWS CLI AWS SDK per Python (Boto3)

------
#### [ AWS SDK per Python (Boto3) ]

Gli esempi seguenti utilizzano il kit SDK per Python (Boto3). Per ulteriori informazioni, consulta [analyze\$1document](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/textract.html#Textract.Client.analyze_document) in *AWS SDK for Python (Boto) API Reference*. 

```
import boto3

textract = boto3.client('textract', aws_region)

response = textract.analyze_document(
            Document={'S3Object': {'Bucket': bucket_name, 'Name': document_name}},
            FeatureTypes=["TABLES", "FORMS"],
            HumanLoopConfig={
                'FlowDefinitionArn': 'arn:aws:sagemaker:aws_region:aws_account_number:flow-definition/flow_def_name',
                'HumanLoopName': 'human_loop_name',
                'DataAttributes': {'ContentClassifiers': ['FreeOfPersonallyIdentifiableInformation','FreeOfAdultContent']}
            }
          )
```

------
#### [ AWS CLI ]

Il seguente esempio di richiesta utilizza la AWS CLI. Per ulteriori informazioni, consulta [analyze-document](https://docs.aws.amazon.com/cli/latest/reference/textract/analyze-document.html) nella *Guida di riferimento dei comandi [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/)*.

```
$ aws textract analyze-document \
     --document '{"S3Object":{"Bucket":"bucket_name","Name":"document_name"}}' \
     --human-loop-config HumanLoopName="human_loop_name",FlowDefinitionArn="arn:aws:sagemaker:aws-region:aws_account_number:flow-definition/flow_def_name",DataAttributes='{ContentClassifiers=["FreeOfPersonallyIdentifiableInformation", "FreeOfAdultContent"]}' \
     --feature-types '["TABLES", "FORMS"]'
```

```
$ aws textract analyze-document \
     --document '{"S3Object":{"Bucket":"bucket_name","Name":"document_name"}}' \
     --human-loop-config \
          '{"HumanLoopName":"human_loop_name","FlowDefinitionArn":"arn:aws:sagemaker:aws_region:aws_account_number:flow-definition/flow_def_name","DataAttributes": {"ContentClassifiers":["FreeOfPersonallyIdentifiableInformation","FreeOfAdultContent"]}}' \
     --feature-types '["TABLES", "FORMS"]'
```

------

Dopo aver eseguito `AnalyzeDocument` con un ciclo umano configurato, Amazon A2I monitora i risultati da `AnalyzeDocument` e li verifica rispetto alle condizioni di attivazione della definizione del flusso. Se il punteggio di attendibilità dell’inferenza di Amazon Textract per una o più coppie di valori chiave soddisfa le condizioni per la revisione, Amazon A2I avvia un ciclo di revisione umano e include l'oggetto [https://docs.aws.amazon.com/textract/latest/dg/API_HumanLoopActivationOutput.html](https://docs.aws.amazon.com/textract/latest/dg/API_HumanLoopActivationOutput.html) nella risposta `AnalyzeDocument`.

### Creazione di un ciclo umano Amazon Rekognition
<a name="a2i-human-loop-rekognition"></a>

Amazon A2I si integra con Amazon Rekognition e pertanto puoi configurare e avviare un ciclo umano utilizzando l'API Amazon Rekognition. Per inviare immagini ad Amazon Rekognition per la moderazione dei contenuti, ci si avvale dell'[operazione API `DetectModerationLabels`](https://docs.aws.amazon.com/rekognition/latest/dg/API_DetectModerationLabels.html) di Amazon Rekognition. Per configurare un ciclo umano, imposta il parametro `HumanLoopConfig` quando configuri `DetectModerationLabels`.

Quando configuri il ciclo umano, la definizione del flusso specificata in `FlowDefinitionArn` di `HumanLoopConfig` deve trovarsi nella stessa Regione AWS del bucket S3 identificato in `Bucket` del parametro `Image`.

La tabella seguente mostra esempi di come utilizzare questa operazione con AWS CLI and AWS SDK per Python (Boto3).

------
#### [ AWS SDK per Python (Boto3) ]

Gli esempi seguenti utilizzano il kit SDK per Python (Boto3). Per ulteriori informazioni, consulta [detect\$1moderation\$1labels](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/rekognition.html#Rekognition.Client.detect_moderation_labels) nella *Documentazione di riferimento delle API AWS SDK per Python (Boto)*.

```
import boto3

rekognition = boto3.client("rekognition", aws_region)

response = rekognition.detect_moderation_labels( \
        Image={'S3Object': {'Bucket': bucket_name, 'Name': image_name}}, \
        HumanLoopConfig={ \
            'HumanLoopName': 'human_loop_name', \
            'FlowDefinitionArn': , "arn:aws:sagemaker:aws_region:aws_account_number:flow-definition/flow_def_name" \
            'DataAttributes': {'ContentClassifiers': ['FreeOfPersonallyIdentifiableInformation','FreeOfAdultContent']}
         })
```

------
#### [ AWS CLI ]

Il seguente esempio di richiesta utilizza la AWS CLI. Per ulteriori informazioni, consulta [detect-moderation-labels](https://docs.aws.amazon.com/cli/latest/reference/rekognition/detect-moderation-labels.html) nella *documentazione di riferimento dei comandi della [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/)*.

```
$ aws rekognition detect-moderation-labels \
    --image "S3Object={Bucket='bucket_name',Name='image_name'}" \
    --human-loop-config HumanLoopName="human_loop_name",FlowDefinitionArn="arn:aws:sagemaker:aws_region:aws_account_number:flow-definition/flow_def_name",DataAttributes='{ContentClassifiers=["FreeOfPersonallyIdentifiableInformation", "FreeOfAdultContent"]}'
```

```
$ aws rekognition detect-moderation-labels \
    --image "S3Object={Bucket='bucket_name',Name='image_name'}" \
    --human-loop-config \
        '{"HumanLoopName": "human_loop_name", "FlowDefinitionArn": "arn:aws:sagemaker:aws_region:aws_account_number:flow-definition/flow_def_name", "DataAttributes": {"ContentClassifiers": ["FreeOfPersonallyIdentifiableInformation", "FreeOfAdultContent"]}}'
```

------

Dopo aver eseguito `DetectModerationLabels` con un ciclo umano configurato, Amazon A2I monitora i risultati da `DetectModerationLabels` e li verifica rispetto alle condizioni di attivazione della definizione del flusso. Se il punteggio di attendibilità dell’inferenza di Amazon Rekognition per un'immagine soddisfa le condizioni per la revisione, Amazon A2I avvia un ciclo di revisione umano e include l'elemento di risposta `HumanLoopActivationOutput` nella risposta `DetectModerationLabels`.

## Creazione e avvio di un ciclo umano per un tipo di attività personalizzato
<a name="a2i-instructions-starthumanloop"></a>

Per configurare un ciclo umano per un'attività di revisione umana personalizzata, utilizza l'operazione `StartHumanLoop` all'interno dell'applicazione. Questa sezione fornisce un esempio di richiesta di loop umano che utilizza AWS SDK per Python (Boto3) and the AWS Command Line Interface (AWS CLI). Per la documentazione su altre lingue specifiche SDKs che supportano`StartHumanLoop`, usa la sezione **Vedi anche** della documentazione [StartHumanLoop](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_StartHumanLoop.html)dell'API Amazon Augmented AI Runtime. Consulta [Casi d'uso ed esempi con Amazon A2I](a2i-task-types-general.md) per esempi che dimostrano come usare Amazon A2I con un tipo di attività personalizzato.

**Prerequisiti**

Per completare questa procedura, avrai bisogno di:
+ Dati di input formattati come rappresentazione di stringa di un file formattato JSON
+ Nome della risorsa Amazon (ARN) della tua definizione del flusso.

**Per configurare il ciclo umano**

1. Per `DataAttributes`, specificare un set di `ContentClassifiers` correlati all'input fornito all'operazione `StartHumanLoop`. Utilizza i classificatori dei contenuti per dichiarare che i contenuti siano privi di informazioni di identificazione personale o di contenuti per adulti. 

   Per utilizzare Amazon Mechanical Turk, assicurati che i tuoi dati siano privi di informazioni di identificazione personale, incluse le informazioni sanitarie protette ai sensi dell'HIPAA e includi il classificatore di contenuti `FreeOfPersonallyIdentifiableInformation`. Se non utilizzi questo classificatore di contenuti, l' SageMaker IA non invia la tua attività a Mechanical Turk. Se i dati sono privi di contenuti per adulti, includi anche il classificatore `'FreeOfAdultContent'`. Se non utilizzi questi classificatori di contenuti, l' SageMaker intelligenza artificiale potrebbe limitare il numero di lavoratori di Mechanical Turk che possono visualizzare le tue attività.

1. Per `FlowDefinitionArn`, inserire il nome della risorsa Amazon (ARN) della definizione del flusso.

1. Per `HumanLoopInput`, immettere i dati di input come rappresentazione di stringa di un file formattato JSON. Struttura i dati di input e il modello di attività del worker personalizzato in modo che i dati di input vengano visualizzati correttamente dai worker umani quando si avvia il ciclo umano. Consulta [Anteprima di un modello di attività del worker](a2i-custom-templates.md#a2i-preview-your-custom-template) per scoprire come visualizzare l'anteprima del modello di attività del worker personalizzato. 

1. Per `HumanLoopName`, immettere un nome per il ciclo umano. Il nome deve essere univoco all'interno della Regione nell'account e può contenere fino a 63 caratteri. I caratteri validi sono a-z, 0-9 e - (trattino).

**Per avviare un ciclo umano**
+ Per avviare un ciclo umano, invia una richiesta simile ai seguenti esempi utilizzando l'SDK specifico del linguaggio preferito. 

------
#### [ AWS SDK per Python (Boto3) ]

Il seguente esempio di richiesta utilizza l’SDK per Python (Boto3). Per ulteriori informazioni, consulta [Boto 3 Augmented AI Runtime](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker-a2i-runtime.html#AugmentedAIRuntime.Client.start_human_loop) in *AWS SDK for Python (Boto) API Reference*.

```
import boto3

a2i_runtime_client = boto3.client('sagemaker-a2i-runtime')

response = a2i_runtime_client.start_human_loop(
    HumanLoopName='human_loop_name',
    FlowDefinitionArn='arn:aws:sagemaker:aws-region:xyz:flow-definition/flow_def_name',
    HumanLoopInput={
        'InputContent': '{"InputContent": {\"prompt\":\"What is the answer?\"}}'    
    },
    DataAttributes={
        'ContentClassifiers': [
            'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent',
        ]
    }
)
```

------
#### [ AWS CLI ]

Il seguente esempio di richiesta utilizza la AWS CLI. Per ulteriori informazioni, consulta [start-human-loop](https://docs.aws.amazon.com/cli/latest/reference/sagemaker-a2i-runtime/start-human-loop.html) nella *documentazione di riferimento dei comandi della [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/)*. 

```
$ aws sagemaker-a2i-runtime start-human-loop
        --flow-definition-arn 'arn:aws:sagemaker:aws_region:xyz:flow-definition/flow_def_name' \
        --human-loop-name 'human_loop_name' \
        --human-loop-input '{"InputContent": "{\"prompt\":\"What is the answer?\"}"}' \
        --data-attributes ContentClassifiers="FreeOfPersonallyIdentifiableInformation","FreeOfAdultContent" \
```

------

Quando avvii un ciclo umano richiamando `StartHumanLoop` direttamente, la risposta includerà un oggetto `HumanLoopARN` e un oggetto `HumanLoopActivationResults` che verrà impostato su `NULL`. Puoi utilizzare il nome del ciclo umano per monitorare e gestire il ciclo umano.

## Fasi successive:
<a name="a2i-next-step-starthumanloop"></a>

Dopo aver avviato un ciclo umano, puoi gestirlo e monitorarlo con l'API Amazon Augmented AI Runtime e CloudWatch Amazon Events. Per ulteriori informazioni, consulta [Monitoraggio e gestione del ciclo umano](a2i-monitor-humanloop-results.md).

# Eliminazione di un ciclo umano
<a name="a2i-delete-human-loop"></a>

Quando si elimina un ciclo umano, lo stato cambia in `Deleting`. Quando il ciclo umano viene eliminato, l'attività di revisione umana associata non è più disponibile per i worker. Potresti voler eliminare un ciclo umano in una delle seguenti circostanze:
+ Il modello di attività del worker utilizzato per generare l'interfaccia utente del worker non esegue il rendering correttamente o non funziona come previsto. 
+ Un singolo oggetto di dati è stato inviato accidentalmente ai worker più volte. 
+ Non è più necessario che un oggetto di dati venga esaminato da un essere umano. 

Se lo stato di un ciclo umano è `InProgress`, è necessario interrompere il ciclo umano prima di eliminarlo. Quando si interrompe un ciclo umano, lo stato cambia in `Stopping` mentre viene interrotto. Quando lo stato cambia in `Stopped`, puoi eliminare il ciclo umano. 

Se i worker umani stanno già utilizzando un'attività quando interrompi il ciclo umano associato, questa continuerà a essere disponibile fino al completamento o alla scadenza. Finché i worker stanno ancora lavorando a un'attività, lo stato del ciclo umano sarà `Stopping`. Se queste attività vengono completate, i risultati vengono archiviati nel bucket Amazon S3 specificato nel flusso di lavoro di revisione umana. Se il worker abbandona l'attività senza inviare il lavoro, questa viene interrotta e il worker non può tornare all'attività. Se nessun worker ha iniziato a lavorare sull'attività, questa viene interrotta immediatamente. 

Se si elimina l' AWS account utilizzato per creare il ciclo umano, questo viene interrotto ed eliminato automaticamente. 

## Eliminazione e conservazione dei dati del ciclo umano
<a name="a2i-delete-human-loop-data-retention"></a>

Quando un worker umano completa un'attività di revisione umana, i risultati vengono archiviati nel bucket di output di Amazon S3 specificato nel flusso di lavoro di revisione umana utilizzato per creare il ciclo umano. L'eliminazione o l'interruzione di un ciclo umano non rimuove alcuna risposta del worker dal bucket S3. 

Inoltre, Amazon A2I archivia temporaneamente i dati di input e output del ciclo umano internamente per i seguenti motivi:
+ Se configuri i cicli umani in modo che un singolo oggetto di dati venga inviato a più worker per la revisione, Amazon A2I non scrive i dati di output nel bucket S3 finché tutti i worker non hanno completato l'attività di revisione. Amazon A2I archivia internamente le risposte parziali, ossia le risposte dei singoli worker, in modo da poter scrivere i risultati completi nel tuo bucket S3. 
+ Se segnali il risultato di una revisione umana di bassa qualità, Amazon A2I può indagare e rispondere al problema. 
+ Se perdi l'accesso o elimini il bucket S3 di output specificato nel flusso di lavoro di revisione umana utilizzato per creare un ciclo umano e l'attività è già stata inviata a uno o più worker, Amazon A2I ha bisogno di un posto dove archiviare temporaneamente i risultati delle revisioni umane. 

Amazon A2I elimina questi dati internamente 30 giorni dopo che lo stato di un ciclo umano passa a uno dei seguenti: `Deleted`, `Stopped` o `Completed`. In altre parole, i dati vengono eliminati 30 giorni dopo il completamento, l'interruzione o l'eliminazione del ciclo umano. Inoltre, questi dati vengono eliminati dopo 30 giorni se si chiude l' AWS account utilizzato per creare loop umani associati.

## Interruzione ed eliminazione di una definizione del flusso utilizzando la console o l'API Amazon A2I
<a name="a2i-delete-human-loop-how-to"></a>

Puoi interrompere ed eliminare un loop umano nella console Augmented AI o utilizzando SageMaker l'API. Quando il ciclo umano è stato eliminato, lo stato cambia in `Deleted`.

**Eliminazione un ciclo umano (console)**

1. Vai alla console [https://console.aws.amazon.com/a2i/](https://console.aws.amazon.com/a2i)Augmented AI all'indirizzo.

1. Nel riquadro di navigazione, nella sezione **IA aumentata**, scegli **Flussi di lavoro di revisione umana**.

1. Scegli il nome con collegamento ipertestuale del flusso di lavoro di revisione umana utilizzato per creare il ciclo umano che desideri eliminare. 

1. Nella sezione **Cicli umani** nella parte inferiore della pagina, seleziona il ciclo umano che desideri interrompere ed eliminare.

1. Se lo stato del ciclo umano è `Completed`, `Stopped` o `Failed`, seleziona **Elimina**.

   Se lo **stato** del ciclo umano è `InProgress`, seleziona **Interrompi**. Quando lo stato cambia in **Interrotto**, seleziona **Elimina**.

**Eliminazione di un ciclo umano (API)**

1. Controlla lo stato del tuo ciclo umano utilizzando l'operazione API di runtime IA aumentata `[DescribeHumanLoop](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_DescribeHumanLoop.html)`. Vedi esempi di utilizzo di questa operazione nella tabella seguente. 

------
#### [ AWS SDK per Python (Boto3) ]

   L'esempio seguente utilizza l'SDK for Python (Boto3) per descrivere il ciclo umano denominato. *example-human-loop* Per ulteriori informazioni, consulta [describe\$1human\$1loop](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker-a2i-runtime.html#AugmentedAIRuntime.Client.describe_human_loop) in *AWS SDK for Python (Boto) API Reference*.

   ```
   import boto3
   
   a2i_runtime_client = boto3.client('sagemaker-a2i-runtime')
   response = a2i_runtime_client.describe_human_loop(HumanLoopName='example-human-loop')
   human_loop_status = response['HumanLoopStatus']
   print(f'example-human-loop status is: {human_loop_status}')
   ```

------
#### [ AWS CLI ]

   L'esempio seguente utilizza la AWS CLI per descrivere il ciclo umano denominato. *example-human-loop* Per ulteriori informazioni, consulta [describe-human-loop](https://docs.aws.amazon.com/cli/latest/reference/sagemaker-a2i-runtime/describe-human-loop.html) nella *documentazione di riferimento dei comandi della [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/)*. 

   ```
   $ aws sagemaker-a2i-runtime describe-human-loop --human-loop-name 'example-human-loop'
   ```

------

1. Se lo stato della definizione del flusso è `Completed`, `Stopped` o `Failed`, elimina la definizione del flusso utilizzando l'operazione API di runtime IA aumentata `[DeleteHumanLoop](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_DeleteHumanLoop.html)`.

------
#### [ AWS SDK per Python (Boto3) ]

   L'esempio seguente utilizza l'SDK for Python (Boto3) per eliminare il ciclo umano denominato. *example-human-loop* Per ulteriori informazioni, consulta [delete\$1human\$1loop](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker-a2i-runtime.html#AugmentedAIRuntime.Client.delete_human_loop) in *AWS SDK for Python (Boto) API Reference*.

   ```
   import boto3
   
   a2i_runtime_client = boto3.client('sagemaker-a2i-runtime')
   response = a2i_runtime_client.delete_human_loop(HumanLoopName='example-human-loop')
   ```

------
#### [ AWS CLI ]

   L'esempio seguente utilizza la AWS CLI per eliminare il ciclo umano denominato. *example-human-loop* Per ulteriori informazioni, consulta [delete-human-loop](https://docs.aws.amazon.com/cli/latest/reference/sagemaker-a2i-runtime/delete-human-loop.html) nella *documentazione di riferimento dei comandi della [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/)*. 

   ```
   $ aws sagemaker-a2i-runtime delete-human-loop --human-loop-name 'example-human-loop'
   ```

------

   Se lo stato del ciclo umano è `InProgress`, interrompi l'utilizzo del ciclo umano `[StopHumanLoop](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_StopHumanLoop.html)` e poi usa `DeleteHumanLoop` per eliminarlo. 

------
#### [ AWS SDK per Python (Boto3) ]

   L'esempio seguente utilizza l'SDK for Python (Boto3) per descrivere il ciclo umano denominato. *example-human-loop* Per ulteriori informazioni, consulta [stop\$1human\$1loop](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker-a2i-runtime.html#AugmentedAIRuntime.Client.stop_human_loop) in *AWS SDK for Python (Boto) API Reference*.

   ```
   import boto3
   
   a2i_runtime_client = boto3.client('sagemaker-a2i-runtime')
   response = a2i_runtime_client.stop_human_loop(HumanLoopName='example-human-loop')
   ```

------
#### [ AWS CLI ]

   L'esempio seguente utilizza la AWS CLI per descrivere il ciclo umano denominato. *example-human-loop* Per ulteriori informazioni, consulta [stop-human-loop](https://docs.aws.amazon.com/cli/latest/reference/sagemaker-a2i-runtime/stop-human-loop.html) nella *documentazione di riferimento dei comandi della [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/)*. 

   ```
   $ aws sagemaker-a2i-runtime stop-human-loop --human-loop-name 'example-human-loop'
   ```

------

# Creazione e gestione di modelli di attività del worker
<a name="a2i-instructions-overview"></a>

Puoi creare un'interfaccia utente per le attività dei worker creando un *modello di attività del worker*. Un modello di attività del worker è un file HTML utilizzato per visualizzare i dati di input e le istruzioni per aiutare i worker a completare l'attività.

Per i tipi di attività Amazon Rekognition o Amazon Textract, puoi personalizzare un modello di attività del worker preimpostato utilizzando un'interfaccia utente grafica (GUI), evitando così di dover interagire con il codice HTML. Per questa opzione, segui le istruzioni fornite in [Creazione di un flusso di lavoro di revisione umana (Console)](a2i-create-flow-definition.md#a2i-create-human-review-console) per creare un flusso di lavoro di revisione umana e personalizzare il tuo modello di attività del worker nella console di Amazon SageMaker AI. Una volta creato un modello utilizzando queste istruzioni, questo viene visualizzato nella pagina dei modelli di attività del worker della [console IA aumentata](https://console.aws.amazon.com/a2i).

Se stai creando un flusso di lavoro di revisione umana per un tipo di attività personalizzato, devi creare un *modello di attività dielworker personalizzato* utilizzando il codice HTML. Per ulteriori informazioni, consulta [Creazione di modelli di attività del worker personalizzati](a2i-custom-templates.md). 

Se crei il modello utilizzando il codice HTML, devi utilizzare questo modello per generare *un nome della risorsa Amazon (ARN) per l’interfaccia utente di un’attività umana Amazon A2I* nella console Amazon A2I. Questo ARN ha il seguente formato: `arn:aws:sagemaker:<aws-region>:<aws-account-number>:human-task-ui/<template-name>`. Questo ARN è associato a una risorsa del modello di attività del worker che puoi utilizzare in uno o più flussi di lavoro di revisione umana (definizioni del flusso).

Genera un ARN dell’interfaccia utente di un’attività umana utilizzando un modello di attività del worker seguendo le istruzioni disponibili in [Creazione di un modello di attività del worker](a2i-worker-template-console.md#a2i-create-worker-template-console) o utilizzando l'operazione API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html).

**Topics**
+ [Creazione ed eliminazione di modelli di attività del worker](a2i-worker-template-console.md)
+ [Creazione di modelli di attività del worker personalizzati](a2i-custom-templates.md)
+ [Creazione di istruzioni efficaci per il worker](a2i-creating-good-instructions-guide.md)

# Creazione ed eliminazione di modelli di attività del worker
<a name="a2i-worker-template-console"></a>

Puoi utilizzare un modello del worker per personalizzare l'interfaccia e le istruzioni visualizzate dai worker quando lavorano alle tue attività. Utilizza le istruzioni in questa pagina per creare un modello di task di lavoro nell'area Augmented AI della console SageMaker Amazon AI. Viene fornito un modello iniziale per le attività di Amazon Textract e Amazon Rekognition. Per informazioni su come personalizzare il modello utilizzando elementi del crowd HTML, consulta [Creazione di modelli di attività del worker personalizzati](a2i-custom-templates.md).

Quando crei un modello di worker nella pagina Worker Task templates dell'area Augmented AI SageMaker della console AI, viene generato un modello di task di worker (ARN). Utilizza questo ARN come input per `HumanTaskUiArn` quando crei una definizione del flusso utilizzando l'operazione API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html). Puoi scegliere questo modello durante la creazione di un flusso di lavoro di revisione umana nella pagina Flussi di lavoro di revisione umana della console. 

Se stai creando una risorsa modello di attività del worker per un tipo di attività Amazon Textract o Amazon Rekognition, puoi vedere in anteprima l'interfaccia utente generata dal tuo modello nella pagina della console dei modelli di attività del worker. Devi collegare la policy descritta in [Abilitazione delle anteprime dei modelli di attività del worker](a2i-permissions-security.md#permissions-for-worker-task-templates-augmented-ai) al ruolo IAM che usi per visualizzare l'anteprima del modello.

## Creazione di un modello di attività del worker
<a name="a2i-create-worker-template-console"></a>

È possibile creare un modello di task di lavoro utilizzando la console SageMaker AI e utilizzando l'operazione SageMaker API. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html) 

**Creazione di un modello di attività del worker (console)**

1. Apri la console Amazon A2I all'indirizzo. [https://console.aws.amazon.com/a2i/](https://console.aws.amazon.com/a2i)

1. In **IA aumentata Amazon**, nel riquadro di navigazione a sinistra, scegli **Modelli di attività del worker**.

1. Scegli **Crea modello**.

1. In **Nome modello**, immetti un nome univoco.

1. (Facoltativo) Immetti un **Ruolo IAM** che conceda ad Amazon A2I le autorizzazioni necessarie per chiamare i servizi per conto dell'utente. 

1. In **Tipo modello**, scegli un tipo di modello dal menu a discesa. Se stai creando un modello per un'attività **Textract-form extraction (Estrazione del modulo Texttract)** o **Rekognition-image moderation (Moderazione dell'immagine Rekognition)**, scegli l'opzione appropriata. 

1. Inserisci gli elementi del modello personalizzato come segue:
   + Se hai selezionato il modello di attività Amazon Textract o Amazon Rekognition, **Editor di modelli** si popola automaticamente con un modello predefinito e personalizzabile. 
   + Se utilizzi un modello personalizzato, immetti il modello predefinito nell'editor. 

1. (Facoltativo) Per completare questa fase, devi fornire un ARN del ruolo IAM con l'autorizzazione per leggere gli oggetti Amazon S3 di cui viene eseguito il rendering nell'interfaccia utente nella **fase 5**. 

   Se stai creando modelli per Amazon Textract o Amazon Rekognition, puoi solo visualizzare un’anteprima del modello. 

   Scegli **Visualizza anteprima** per visualizzare in anteprima l'interfaccia e le istruzioni visualizzate dai worker. Si tratta di un'anteprima interattiva. Dopo aver completato l'attività di esempio e selezionato **Invia**, viene visualizzato l'output risultante dall'attività appena eseguita. 

   Se stai creando un modello di attività del worker per un tipo di attività personalizzato, puoi visualizzare in anteprima l'interfaccia utente dell'attività del worker utilizzando `RenderUiTemplate`. Per ulteriori informazioni, consulta [Anteprima di un modello di attività del worker](a2i-custom-templates.md#a2i-preview-your-custom-template).

1. Quando il modello ti soddisfa, scegli **Crea**.

Dopo aver creato il modello, puoi selezionarlo quando crei un flusso di lavoro di revisione umana nella console. Il modello viene visualizzato anche nella sezione **Amazon Augmented** AI SageMaker della console AI **sotto Worker task templates**. Scegli il modello per visualizzarne l'ARN. Utilizza questo ARN quando usi l'operazione API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html). 

**Creazione di un modello di attività del worker utilizzando un modello di attività del worker (API)**  
Per generare un modello di task di lavoro utilizzando l'operazione SageMaker API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html), specifica un nome per l'interfaccia utente `HumanTaskUiName` e inserisci il modello HTML in `Content` sotto`UiTemplate`. Trovate la documentazione sulle specifiche lingue SDKs che supportano questa operazione API nella sezione **Vedere anche** di. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html)

## Eliminazione di un modello di attività del worker
<a name="sms-delete-worker-task-template"></a>

Dopo aver creato un modello di task di lavoro, puoi eliminarlo utilizzando la console SageMaker AI o l' SageMaker operazione API. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteHumanTaskUi.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteHumanTaskUi.html)

Quando elimini un modello di attività del worker, non puoi utilizzare i flussi di lavoro di revisione umana (definizioni del flusso) creati utilizzando tale modello per avviare cicli umani. Tutti i cicli umani già creati utilizzando il modello di attività del worker eliminato continuano a essere elaborati fino al completamento e rimangono invariati. 

**Eliminazione di un modello di attività del worker (console)**

1. Apri la console Amazon A2I all'indirizzo. [https://console.aws.amazon.com/a2i/](https://console.aws.amazon.com/a2i)

1. In IA aumentata Amazon, nel riquadro di navigazione a sinistra, scegli **Modelli di attività del worker**.

1. Seleziona il modello da eliminare. 

1. Seleziona **Elimina**.

1. Viene visualizzata una finestra modale per confermare la scelta. Seleziona **Elimina**.

**Eliminazione di un modello di attività del worker (API)**  
Per eliminare un modello di task di lavoro utilizzando l'operazione SageMaker API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteHumanTaskUi.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteHumanTaskUi.html), specifica un nome dell'interfaccia utente in. `HumanTaskUiName` 

# Creazione di modelli di attività del worker personalizzati
<a name="a2i-custom-templates"></a>

Gli *elementi Crowd HTML* sono componenti Web che forniscono una serie di widget di attività ed elementi di progettazione che è possibile adattare alla domanda che si desidera porre. Puoi utilizzare questi elementi crowd per creare un modello del worker personalizzato e integrarlo con un flusso di lavoro di revisione umana IA aumentata Amazon (Amazon A2I) per personalizzare la console di lavoro e le istruzioni. 

Per l'elenco di tutti gli elementi crowd HTML disponibili per gli utenti Amazon A2I, consulta [Riferimento per gli elementi Crowd HTML](sms-ui-template-reference.md). Per esempi di modelli, consulta il [AWS GitHubrepository](https://github.com/aws-samples/amazon-a2i-sample-task-uis), che contiene oltre 60 modelli di attività personalizzati di esempio.

## Sviluppo di modelli in locale
<a name="developing-templates-locally"></a>

Quando usi la console per testare come il modello elabora i dati in entrata, puoi verificare l'aspetto dell'HTML del modello e degli elementi personalizzati nel browser aggiungendo il seguente codice all'inizio del file HTML.

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
```

Questo consente di caricare il codice necessario per eseguire il rendering degli elementi HTML personalizzati. Utilizza questo codice se desideri sviluppare l'aspetto del modello nell'editor preferito anziché nella console.

Questo codice non analizza le variabili. Durante lo sviluppo in locale potrebbe essere necessario sostituirlo con il contenuto di esempio.

## Utilizzo di risorse esterne
<a name="a2i-custom-template-using-external-assets"></a>

I modelli personalizzati IA aumentata Amazon consentono di incorporare script esterni e fogli di stile. Ad esempio, l'intestazione seguente incorpora nel modello personalizzato un foglio di stile `text/css` denominato `stylesheet` presente in `https://www.example.com/my-enhancement-styles.css`.

**Example**  

```
<script src="https://www.example.com/my-enhancment-script.js"></script>
<link rel="stylesheet" type="text/css" href="https://www.example.com/my-enhancement-styles.css">
```

Se si verificano errori, verifica che il server di origine stia inviando il tipo MIME corretto e le intestazioni di codifica con gli asset.

Ad esempio, i tipi MIME e di codifica per gli script remoti sono: `application/javascript;CHARSET=UTF-8`.

I tipi MIME e di codifica MIME per i fogli di stile remoti sono: `text/css;CHARSET=UTF-8`.

## Monitoraggio delle variabili
<a name="a2i-custom-template-step2-UI-vars"></a>

Quando crei un modello personalizzato, devi aggiungervi le variabili per rappresentare le parti di dati che potrebbero cambiare da attività a attività o da worker a worker. Se inizi con uno dei modelli di esempio, accertati di conoscere le variabili già in uso. 

Ad esempio, per un modello personalizzato che integra un ciclo di revisione umana IA aumentata con un'attività di revisione del testo Amazon Textract viene utilizzato `{{ task.input.selectedAiServiceResponse.blocks }}` per i dati di input del valore iniziale. Per IA aumentata Amazon (Amazon A2I) viene utilizzata l'integrazione con Amazon Rekognition. `{{ task.input.selectedAiServiceResponse.moderationLabels }}` Per un tipo di attività personalizzato, è necessario determinare il parametro di input per il tipo di attività. Utilizza `{{ task.input.customInputValuesForStartHumanLoop}}` dove specifichi `customInputValuesForStartHumanLoop`. 

## Esempio di modello personalizzato per Amazon Textract
<a name="a2i-custom-templates-textract-sample"></a>

Tutti i modelli personalizzati iniziano e terminano con gli elementi `<crowd-form> </crowd-form>`. Analogamente agli elementi HTML `<form>` standard, tutto il codice del modulo deve essere racchiuso tra questi elementi. 

Per un'attività di analisi dei documenti Amazon Textract, utilizza l'elemento `<crowd-textract-analyze-document>`. Utilizza gli attributi seguenti: 
+ `src`: specifica l'URL del file immagine da annotare.
+ `initialValue`: imposta i valori iniziali per gli attributi che si trovano nell'interfaccia utente del worker.
+ `blockTypes` (obbligatorio): determina il tipo di analisi che i worker possono eseguire. Al momento è supportato soltanto `KEY_VALUE_SET`. 
+ `keys` (obbligatorio): specifica le nuove chiavi e il valore di testo associato che il worker può aggiungere.
+ `no-key-edit` (obbligatorio): impedisce ai worker di modificare le chiavi delle annotazioni passate tramite `initialValue`.
+ `no-geometry-edit`: impedisce ai worker di modificare i poligoni delle annotazioni passate tramite `initialValue`.

Per gli elementi figlio dell'elemento `<crowd-textract-analyze-document>` sono necessarie due Regioni. Puoi utilizzare elementi HTML e CSS arbitrari in queste Regioni. 
+ `<full-instructions>`: le istruzioni disponibili dal collegamento **Visualizza istruzioni complete** nello strumento. Puoi lasciarlo vuoto, ma ti consigliamo di fornire istruzioni complete per ottenere risultati migliori.
+ `<short-instructions>`: una breve descrizione dell'attività visualizzata nella barra laterale dello strumento. Puoi lasciarlo vuoto, ma ti consigliamo di fornire istruzioni complete per ottenere risultati migliori.

 Un modello Amazon Textract è simile al seguente esempio.

**Example**  

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
{% capture s3_uri %}http://s3.amazonaws.com/{{ task.input.aiServiceRequest.document.s3Object.bucket }}/{{ task.input.aiServiceRequest.document.s3Object.name }}{% endcapture %}

<crowd-form>
  <crowd-textract-analyze-document
    src="{{ s3_uri | grant_read_access }}"
    initial-value="{{ task.input.selectedAiServiceResponse.blocks }}"
    header="Review the key-value pairs listed on the right and correct them if they don't match the following document."
    no-key-edit
    no-geometry-edit
    keys="{{ task.input.humanLoopContext.importantFormKeys }}"
    block-types="['KEY_VALUE_SET']"
  >
    <short-instructions header="Instructions">
      <style>
        .instructions {
          white-space: pre-wrap;
        }
        .instructionsImage {
          display: inline-block;
          max-width: 100%;
        }
      </style>
      <p class='instructions'>Choose a key-value block to highlight the corresponding key-value pair in the document.

If it is a valid key-value pair, review the content for the value. If the content is incorrect, correct it.

The text of the value is incorrect, correct it.
<img class='instructionsImage' src="https://example-site/correct-value-text.png" />

A wrong value is identified, correct it.
<img class='instructionsImage' src="https://example-site/correct-value.png" />

If it is not a valid key-value relationship, choose No.
<img class='instructionsImage' src="https://example-site/not-a-key-value-pair.png" />

If you can’t find the key in the document, choose Key not found.
<img class='instructionsImage' src="https://example-site/key-is-not-found.png" />

If the content of a field is empty, choose Value is blank.
<img class='instructionsImage' src="https://example-site/value-is-blank.png" />

<b>Examples</b>
Key and value are often displayed next to or below to each other.

Key and value displayed in one line.
<img class='instructionsImage' src="https://example-site/sample-key-value-pair-1.png" />

Key and value displayed in two lines.
<img class='instructionsImage' src="https://example-site/sample-key-value-pair-2.png" />

If the content of the value has multiple lines, enter all the text without a line break. Include all value text even if it extends beyond the highlight box.
<img class='instructionsImage' src="https://assets.crowd.aws/images/a2i-console/multiple-lines.png" /></p>
    </short-instructions>

    <full-instructions header="Instructions"></full-instructions>
  </crowd-textract-analyze-document>
</crowd-form>
```

## Esempio di modello personalizzato per Amazon Rekognition
<a name="a2i-custom-templates-rekognition-sample"></a>

Tutti i modelli personalizzati iniziano e terminano con gli elementi `<crowd-form> </crowd-form>`. Analogamente agli elementi HTML `<form>` standard, tutto il codice del modulo deve essere racchiuso tra questi elementi. Per un modello di attività Amazon Rekognition personalizzato, utilizza l'elemento `<crowd-rekognition-detect-moderation-labels>`. Questo elemento supporta i seguenti attributi: 
+ `categories`: un array di stringhe *o* un array di oggetti in cui ogni oggetto ha un campo `name`.
  + Se le categorie sono disponibili come oggetti, si applica quanto segue:
    + Le categorie visualizzate sono il valore del campo `name`. 
    + La risposta restituita contiene gli oggetti *completi* di ogni categoria selezionata.
  + Se le categorie sono disponibili come stringhe, si applica quanto segue:
    + La risposta restituita è un array di tutte le stringhe selezionate.
+ `exclusion-category`: impostando questo attributo, si crea un pulsante sotto le categorie nell'interfaccia utente. Quando un utente seleziona il pulsante, tutte le categorie vengono deselezionate e disabilitate. Se il worker seleziona nuovamente il pulsante, gli utenti possono di nuovo scegliere le categorie. Se il worker invia l'attività selezionando il pulsante **Invia** dopo aver selezionato questo pulsante, l'attività restituisce un array vuoto.

Per gli elementi figlio dell'elemento `<crowd-rekognition-detect-moderation-labels>` sono necessarie due Regioni.
+ `<full-instructions>`: le istruzioni disponibili dal collegamento **Visualizza istruzioni complete** nello strumento. Puoi lasciarlo vuoto, ma ti consigliamo di fornire istruzioni complete per ottenere risultati migliori.
+ `<short-instructions>`: breve descrizione dell'attività visualizzata nella barra laterale dello strumento. Puoi lasciarlo vuoto, ma ti consigliamo di fornire istruzioni complete per ottenere risultati migliori.

Un modello che utilizza questi elementi è simile al seguente esempio.

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
{% capture s3_uri %}http://s3.amazonaws.com/{{ task.input.aiServiceRequest.image.s3Object.bucket }}/{{ task.input.aiServiceRequest.image.s3Object.name }}{% endcapture %}

<crowd-form>
  <crowd-rekognition-detect-moderation-labels
    categories='[
      {% for label in task.input.selectedAiServiceResponse.moderationLabels %}
        {
          name: "{{ label.name }}",
          parentName: "{{ label.parentName }}",
        },
      {% endfor %}
    ]'
    src="{{ s3_uri | grant_read_access }}"
    header="Review the image and choose all applicable categories."
  >
    <short-instructions header="Instructions">
      <style>
        .instructions {
          white-space: pre-wrap;
        }
      </style>
      <p class='instructions'>Review the image and choose all applicable categories.
If no categories apply, choose None.

<b>Nudity</b>
Visuals depicting nude male or female person or persons

<b>Graphic Male Nudity</b>
Visuals depicting full frontal male nudity, often close ups

<b>Graphic Female Nudity</b>
Visuals depicting full frontal female nudity, often close ups

<b>Sexual Activity</b>
Visuals depicting various types of explicit sexual activities and pornography

<b>Illustrated Nudity or Sexual Activity</b>
Visuals depicting animated or drawn sexual activity, nudity, or pornography

<b>Adult Toys</b>
Visuals depicting adult toys, often in a marketing context

<b>Female Swimwear or Underwear</b>
Visuals depicting female person wearing only swimwear or underwear

<b>Male Swimwear Or Underwear</b>
Visuals depicting male person wearing only swimwear or underwear

<b>Partial Nudity</b>
Visuals depicting covered up nudity, for example using hands or pose

<b>Revealing Clothes</b>
Visuals depicting revealing clothes and poses, such as deep cut dresses

<b>Graphic Violence or Gore</b>
Visuals depicting prominent blood or bloody injuries

<b>Physical Violence</b>
Visuals depicting violent physical assault, such as kicking or punching

<b>Weapon Violence</b>
Visuals depicting violence using weapons like firearms or blades, such as shooting

<b>Weapons</b>
Visuals depicting weapons like firearms and blades

<b>Self Injury</b>
Visuals depicting self-inflicted cutting on the body, typically in distinctive patterns using sharp objects

<b>Emaciated Bodies</b>
Visuals depicting extremely malnourished human bodies

<b>Corpses</b>
Visuals depicting human dead bodies

<b>Hanging</b>
Visuals depicting death by hanging</p>
    </short-instructions>

    <full-instructions header="Instructions"></full-instructions>
  </crowd-rekognition-detect-moderation-labels>
</crowd-form>
```

## Aggiunta di automazione con Liquid
<a name="a2i-custom-templates-step2-automate"></a>

Il sistema di modello personalizzato utilizza [Liquid](https://shopify.github.io/liquid/) per l'automazione. *Liquid* è un linguaggio markup inline open-source. Per ulteriori informazioni e la documentazione, visita la [home page Liquid](https://shopify.github.io/liquid/).

In Liquid, il testo compreso tra parentesi graffe singole e simboli di percentuale è un'istruzione o un *tag* che svolge un operazione come un flusso di controllo o un’iterazione. Il testo racchiuso tra parentesi graffe doppie è una variabile o *oggetto* che genera il suo valore. L'elenco seguente include due tipi di tag Liquid che potresti trovare utili per automatizzare l'elaborazione dei dati di input dei modelli. Se selezioni uno dei seguenti tipi di tag, verrai reindirizzato alla documentazione di Liquid.
+ [Flusso di controllo](https://shopify.github.io/liquid/tags/control-flow/): include operatori logici di programmazione come`if/else`, `unless` e `case/when`.
+ [Iterazione](https://shopify.github.io/liquid/tags/iteration/): consente di eseguire ripetutamente blocchi di codice utilizzando istruzioni come i cicli for.

  Ad esempio, il seguente esempio di codice dimostra come utilizzare il tag Liquid `for` per creare un ciclo `for`. Questo esempio esegue un ciclo continuo di [https://docs.aws.amazon.com/rekognition/latest/dg/API_ModerationLabel.html](https://docs.aws.amazon.com/rekognition/latest/dg/API_ModerationLabel.html) restituiti da Amazon Rekognition e mostra gli attributi `moderationLabels` `name` e `parentName` per la revisione da parte dei worker:

  ```
   {% for label in task.input.selectedAiServiceResponse.moderationLabels %}
      {
        name: &quot;{{ label.name }}&quot;,
        parentName: &quot;{{ label.parentName }}&quot;,
      },
   {% endfor %}
  ```

### Utilizzo di filtri di variabili
<a name="a2i-custom-templates-step2-automate-filters"></a>

Oltre ai [filtri e alle operazioni Liquid](https://shopify.github.io/liquid/filters/abs/) standard, IA aumentata Amazon (Amazon A2I) offre alcuni filtri aggiuntivi. I filtri si applicano inserendo un carattere barra verticale (`|`) dopo il nome della variabile e quindi specificando il nome di un filtro. Per concatenare i filtri utilizza il seguente formato.

**Example**  

```
{{ <content> | <filter> | <filter> }}
```

#### Escape automatico ed escape esplicito
<a name="a2i-custom-templates-step2-automate-filters-autoescape"></a>

Per impostazione predefinita, gli input vengono preceduti da un carattere di escape HTML per evitare confusione tra testo variabile e HTML. Puoi aggiungere in maniera esplicita il filtro `escape` per rendere più evidente a chi legge il codice sorgente del modello dove si esegue l'escape.

#### escape\$1once
<a name="a2i-custom-templates-step2-automate-escapeonce"></a>

`escape_once` garantisce che se hai già eseguito l'escape del codice, questo non viene nuovamente sottoposto a escape. Ad esempio, garantisce che `&amp;` non diventi `&amp;amp;`.

#### skip\$1autoescape
<a name="a2i-custom-templates-step2-automate-skipautoescape"></a>

`skip_autoescape` è utile quando il contenuto deve essere utilizzato come HTML. Ad esempio, le istruzioni complete per un riquadro di delimitazione potrebbero contenere qualche paragrafo di testo e alcune immagini.

**Nota**  
Usa `skip_autoescape` con parsimonia. La best practice per i modelli è evitare di passare codice funzionale o markup con `skip_autoescape` a meno che non sei assolutamente certo di avere il controllo rigoroso di ciò che viene passato. Se stai passando input utente, potresti esporre i worker a un attacco Cross-site scripting.

#### to\$1json
<a name="a2i-custom-templates-step2-automate-tojson"></a>

`to_json`codifica i dati forniti a JavaScript Object Notation (JSON). Se fornisci un oggetto, lo serializza.

#### grant\$1read\$1access
<a name="a2i-custom-templates-step2-automate-grantreadaccess"></a>

`grant_read_access` accetta un URI Amazon Simple Storage Service (Amazon S3) e lo codifica in un URL HTTPS con un token di accesso di breve durata per tale risorsa. Questo consente di visualizzare oggetti foto, audio o video archiviati in bucket S3 che non sono altrimenti accessibili pubblicamente dai worker.

#### s3\$1presign
<a name="a2i-custom-templates-step2-automate-s3"></a>

 Il filtro `s3_presign` funziona allo stesso modo del filtro `grant_read_access`. `s3_presign` accetta un URI Amazon S3 e lo codifica in un URL HTTPS con un token di accesso di breve durata per tale risorsa. Questo consente di visualizzare oggetti foto, audio o video archiviati in bucket S3 che non sono altrimenti accessibili pubblicamente dai worker.

**Example Esempio di filtri di variabili**  
Input  

```
auto-escape: {{ "Have you read 'James & the Giant Peach'?" }}
explicit escape: {{ "Have you read 'James & the Giant Peach'?" | escape }}
explicit escape_once: {{ "Have you read 'James &amp; the Giant Peach'?" | escape_once }}
skip_autoescape: {{ "Have you read 'James & the Giant Peach'?" | skip_autoescape }}
to_json: {{ jsObject | to_json }}                
grant_read_access: {{ "s3://amzn-s3-demo-bucket/myphoto.png" | grant_read_access }}
s3_presign: {{ "s3://amzn-s3-demo-bucket/myphoto.png" | s3_presign }}
```

**Example**  
Output  

```
auto-escape: Have you read &#39;James &amp; the Giant Peach&#39;?
explicit escape: Have you read &#39;James &amp; the Giant Peach&#39;?
explicit escape_once: Have you read &#39;James &amp; the Giant Peach&#39;?
skip_autoescape: Have you read 'James & the Giant Peach'?
to_json: { "point_number": 8, "coords": [ 59, 76 ] }
grant_read_access: https://s3.amazonaws.com/amzn-s3-demo-bucket/myphoto.png?<access token and other params>
s3_presign: https://s3.amazonaws.com/amzn-s3-demo-bucket/myphoto.png?<access token and other params>
```

**Example Esempio di modello di classificazione automatizzato**  
Per automatizzare questo semplice esempio di classificazione del testo, includi il tag Liquid `{{ task.input.source }}`. In questo esempio viene utilizzato l'elemento [crowd-classifier](sms-ui-template-crowd-classifier.md).  

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
<crowd-form>
  <crowd-classifier 
    name="tweetFeeling"
    categories="['positive', 'negative', 'neutral', 'cannot determine']"
    header="Which term best describes this tweet?" 
  >
    <classification-target>
       {{ task.input.source }}
    </classification-target>

    <full-instructions header="Analyzing a sentiment">
      Try to determine the feeling the author 
      of the tweet is trying to express. 
      If none seems to match, choose "other."
    </full-instructions>

    <short-instructions>
      Pick the term that best describes the sentiment 
      of the tweet. 
    </short-instructions>

  </crowd-classifier>
</crowd-form>
```

## Anteprima di un modello di attività del worker
<a name="a2i-preview-your-custom-template"></a>

Per visualizzare in anteprima un modello di attività di lavoro personalizzato, utilizza l' SageMaker operazione AI. `RenderUiTemplate` Puoi utilizzare l'`RenderUiTemplate`operazione con l'SDK AWS CLI o con il tuo AWS SDK preferito. Per la documentazione sulla lingua supportata specifica SDKs per questa operazione API, consulta la [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RenderUiTemplate.html#API_RenderUiTemplate_SeeAlso](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RenderUiTemplate.html#API_RenderUiTemplate_SeeAlso)sezione di. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RenderUiTemplate.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RenderUiTemplate.html) 

**Prerequisiti**

Per visualizzare in anteprima il modello di task di lavoro, il ruolo AWS Identity and Access Management (IAM) Amazon Resource Name (ARN) o `RoleArn` che utilizzi devi disporre dell'autorizzazione per accedere agli oggetti S3 utilizzati dal modello. Per informazioni su come configurare il ruolo o l'utente, consulta [Abilitazione delle anteprime dei modelli di attività del worker](a2i-permissions-security.md#permissions-for-worker-task-templates-augmented-ai).

**Per visualizzare in anteprima il modello di attività del worker utilizzando l'operazione `RenderUiTemplate`:**

1. Fornisci il **`RoleArn`** di un ruolo con le policy richieste collegate per visualizzare in anteprima il modello personalizzato. 

1. Nel parametro **`Input`** di **`Task`**, fornisci un oggetto JSON contenente i valori per le variabili definite nel modello. Queste sono le variabili che vengono sostituite alla variabile `task.input.source`. Ad esempio, se definisci una variabile task.input.text nel modello, puoi fornire la variabile nell'oggetto JSON come `text`: `sample text`.

1. Nel parametro **`Content`** di **`UiTemplate`** inserisci il modello.

Una volta configurato `RenderUiTemplate`, utilizza l'SDK preferito o l' AWS CLI per inviare una richiesta per eseguire il rendering del modello. Se la richiesta ha esito positivo, la risposta include [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RenderUiTemplate.html#API_RenderUiTemplate_ResponseSyntax](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RenderUiTemplate.html#API_RenderUiTemplate_ResponseSyntax), un modello Liquid che esegue il rendering dell'HTML per l'interfaccia utente del worker.

**Importante**  
Per visualizzare il modello in anteprima, è necessario un ruolo IAM con le autorizzazioni per leggere gli oggetti Amazon S3 che vengono visualizzati nell'interfaccia utente. Per una policy di esempio che puoi collegare al ruolo IAM per concedere queste autorizzazioni, consulta [Abilitazione delle anteprime dei modelli di attività del worker](a2i-permissions-security.md#permissions-for-worker-task-templates-augmented-ai). 

# Creazione di istruzioni efficaci per il worker
<a name="a2i-creating-good-instructions-guide"></a>

La creazione di istruzioni efficaci per le attività di revisione umana favorisce l'accuratezza del worker nel completare il suo compito. È possibile modificare le istruzioni predefinite fornite nella console durante la creazione di un flusso di lavoro di revisione umana oppure utilizzare la console per creare un modello worker personalizzato e includere le istruzioni in questo modello. Le istruzioni vengono mostrate al worker nella pagina di interfaccia utente di completamento dell'attività di etichettatura.

## Creare istruzioni efficaci per il worker
<a name="a2i-good-instructions-console"></a>

Nella console Amazon IA aumentata sono disponibili tre tipi di istruzioni:
+ **Descrizione attività**: la descrizione deve fornire una breve spiegazione dell'attività.
+ **Istruzioni**: queste istruzioni vengono visualizzate nella stessa pagina Web in cui i worker completano un'attività. Queste istruzioni devono fornire un riferimento semplice per mostrare al worker come completare correttamente l'attività.
+ **Istruzioni aggiuntive**: queste istruzioni vengono visualizzate in una finestra di dialogo visualizzata quando un worker sceglie **Visualizza istruzioni complete**. Ti consigliamo di fornire istruzioni dettagliate per completare l'attività e di includere più esempi che mostrano casi limite e altre situazioni difficili di etichettatura degli oggetti.

## Aggiunta di immagini di esempio alle istruzioni
<a name="sms-using-s3-images"></a>

Le immagini forniscono esempi utili ai worker. Per aggiungere un'immagine accessibile pubblicamente alle istruzioni:

1. Posiziona il cursore nel punto in cui desideri inserire l'immagine nell'editor di istruzioni.

1. Fare clic sull'icona dell'immagine nella barra degli strumenti dell'editor.

1. Immetti l'URL dell'immagine.

Se l'immagine dell'istruzione si trova in un bucket S3 non accessibile pubblicamente, procedi come segue:
+ Come URL dell'immagine immettere: `{{ 'https://s3.amazonaws.com/your-bucket-name/image-file-name' | grant_read_access }}`.

In questo modo viene eseguito il rendering dell'URL dell'immagine con un codice di accesso monouso di breve durata, per consentirne la visualizzazione nel browser del worker. Viene visualizzata un'icona di un'immagine rotta nell'editor di istruzioni, ma l'anteprima dello strumento consente di visualizzare l'immagine nell'anteprima con rendering. Per ulteriori informazioni sull'elemento `grand_read_access`, consultare [s3\$1presigngrant\$1read\$1accesss3\$1presign](a2i-custom-templates.md#a2i-custom-templates-step2-automate-grantreadaccess). 

# Monitoraggio e gestione del ciclo umano
<a name="a2i-monitor-humanloop-results"></a>

Dopo aver avviato un ciclo di revisione umana, puoi controllare i risultati delle attività inviate al ciclo e gestire il ciclo utilizzando l'[API di runtime IA aumentata Amazon](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/Welcome.html). Inoltre, Amazon A2I si integra con Amazon EventBridge (noto anche come Eventi Amazon CloudWatch) per avvisarti quando lo stato di un ciclo di revisione umana cambia in `Completed`, `Failed` o `Stopped`. Questa distribuzione di eventi è garantita almeno una volta, il che significa che tutti gli eventi creati al termine dei cicli umani vengono consegnati correttamente a EventBridge.

Utilizza le procedure riportate di seguito per le informazioni su come utilizzare l'API di runtime Amazon A2I per monitorare e gestire i cicli umani. Consulta [Utilizzo Amazon CloudWatch Events in Amazon Augmented AI](a2i-cloudwatch-events.md) per scoprire come Amazon A2I si integra con Amazon EventBridge.

**Per controllare i dati di output:**

1. Controllare i risultati del ciclo umano chiamando l'operazione [https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_DescribeHumanLoop.html](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_DescribeHumanLoop.html). Il risultato di questa operazione API contiene informazioni sul motivo e sul risultato dell'attivazione del ciclo.

1. Controlla i dati di output del tuo ciclo umano in Amazon Simple Storage Service (Amazon S3). Nel percorso dei dati, `YYYY/MM/DD/hh/mm/ss` rappresenta la data di creazione del ciclo umano con anno (`YYYY`), mese (`MM`) e giorno (`DD`) e l’ora di creazione con ora (`hh`), minute (`mm`) e secondi (`ss`). 

   ```
   s3://customer-output-bucket-specified-in-flow-definition/flow-definition-name/YYYY/MM/DD/hh/mm/ss/human-loop-name/output.json
   ```

Puoi integrare questa struttura con AWS Glue o Amazon Athena per partizionare e analizzare i dati di output. Per ulteriori informazioni, consulta [Gestione partizioni per l'output ETL in AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-partitions.html).

Per ulteriori informazioni sul formato dei dati di output di Amazon A2I, consulta [Dati di output di Amazon A2I](a2i-output-data.md).

**Per interrompere ed eliminare il ciclo umano:**

1. Dopo che un ciclo umano è stato avviato, è possibile interrompere il ciclo umano chiamando l'operazione [https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_StopHumanLoop.html](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_StopHumanLoop.html) utilizzando il `HumanLoopName`. Se un ciclo umano è stato arrestato correttamente, il server restituisce una risposta HTTP 200. 

1. Per eliminare un ciclo umano il cui stato è `Failed`, `Completed` o `Stopped`, usare l'operazione [https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_DeleteHumanLoop.html](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_DeleteHumanLoop.html). 

**Per elencare i cicli umani:**

1. È possibile elencare tutti i cicli umani attivi chiamando l'operazione [https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_ListHumanLoops.html](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_ListHumanLoops.html). È possibile filtrare i cicli umani in base alla data di creazione del ciclo utilizzando i parametri `CreationTimeAfter` e `CreateTimeBefore`. 

1. In caso di successo, `ListHumanLoops` restituirà gli oggetti [https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_HumanLoopSummary.html](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_HumanLoopSummary.html) e `NextToken` nell'elemento di risposta. `HumanLoopSummaries` contiene informazioni su un singolo ciclo umano. Ad esempio, elencherà lo stato di un ciclo e, se applicabile, il motivo dell'errore. 

   Utilizzare la stringa restituita in `NextToken` come input in una chiamata successiva a `ListHumanLoops` per vedere la pagina successiva di cicli umani. 

# Dati di output di Amazon A2I
<a name="a2i-output-data"></a>

Quando il flusso di lavoro di machine learning invia ad Amazon A2I un oggetto di dati, viene creato un *ciclo umano* e i revisori umani ricevono un’*attività* per esaminare quell'oggetto di dati. I dati in output da ogni attività di revisione umana vengono archiviati nel bucket output Amazon Simple Storage Service (Amazon S3) specificato nel flusso di lavoro di revisione umana. Nel percorso dei dati, `YYYY/MM/DD/hh/mm/ss` rappresenta la data di creazione del ciclo umano con anno (`YYYY`), mese (`MM`) e giorno (`DD`) e l’ora di creazione con ora (`hh`), minute (`mm`) e secondi (`ss`). 

```
s3://customer-output-bucket-specified-in-flow-definition/flow-definition-name/YYYY/MM/DD/hh/mm/ss/human-loop-name/output.json
```

Il contenuto dei dati di output dipende dal [tipo di attività](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-task-types-general.html) (integrata o personalizzata) e dal tipo di [forza lavoro](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management.html) utilizzata. I dati di output includono sempre la risposta del worker umano. Inoltre, i dati di output possono includere metadati relativi al ciclo umano, al revisore umano (worker) e all'oggetto dei dati. 

Utilizza le seguenti sezioni per saperne di più sul formato dei dati di output di Amazon A2I per diversi tipi di attività e forze di lavoro. 

## Dati di output da tipi di attività predefiniti
<a name="sms-output-data-textract"></a>

I tipi di attività predefiniti di Amazon A2I includono Amazon Textract e Amazon Rekognition. Oltre alle risposte umane, i dati di output di una di queste attività includono dettagli sul motivo per cui è stato creato il ciclo umano e informazioni sul servizio integrato utilizzato per creare il ciclo umano. Utilizza la tabella seguente per ulteriori informazioni sullo schema dei dati di output per tutti i tipi di attività predefiniti. Il *valore* per ciascuno di questi parametri dipende dal servizio utilizzato con Amazon A2I. Consulta la seconda tabella di questa sezione per ulteriori informazioni su questi valori specifici del servizio. 


****  

| Parametro | Tipo di valore | Valori di esempio | Description | 
| --- | --- | --- | --- | 
| awsManagedHumanLoopRequestSource |  Stringa  | AWS/Rekognition/DetectModerationLabels/Image/V3 o AWS/Textract/AnalyzeDocument/Forms/V1 | L'operazione dell'API e AWS i servizi associati che hanno richiesto che Amazon A2I creasse un loop umano. Questa è l'operazione API che usi per configurare il tuo ciclo umano di Amazon A2I. | 
| flowDefinitionArn |  Stringa  | arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name |  L'Amazon Resource Number (ARN) del flusso di lavoro di revisione umana (definizione flusso) utilizzato per creare il ciclo umano.   | 
| humanAnswers |  Elenco degli oggetti JSON  | <pre>{<br />"answerContent": {<br />    "AWS/Rekognition/DetectModerationLabels/Image/V3": {<br />        "moderationLabels": [...]<br />    }<br />},</pre> or<pre>{<br />    "answerContent": {<br />        "AWS/Textract/AnalyzeDocument/Forms/V1": {<br />            "blocks": [...]<br />    }<br />},</pre> | Un elenco di oggetti JSON che contengono le risposte dei worker in answerContent. Questo oggetto contiene anche i dettagli dell'invio e, se è stata utilizzata una forza lavoro privata, i metadati dei worker. Per ulteriori informazioni, consulta [Monitorare l'attività worker](#a2i-worker-id-private). Per i dati di output del ciclo umano prodotti dalle attività di revisione di `DetectModerationLabel` Amazon Rekognition, questo parametro contiene solo risposte positive. Ad esempio, se i worker selezionano *Nessun contenuto*, questa risposta non viene inclusa. | 
| humanLoopName |  Stringa  |  `'human-loop-name'`  | Il nome del ciclo umano. | 
| inputContent |  Oggetto JSON  |  <pre>{<br />    "aiServiceRequest": {...},<br />    "aiServiceResponse": {...},<br />    "humanTaskActivationConditionResults": {...},<br />    "selectedAiServiceResponse": {...}<br />}</pre>  |  Il contenuto di input che il AWS servizio ha inviato ad Amazon A2I quando ha richiesto la creazione di un loop umano.   | 
| aiServiceRequest |  Oggetto JSON  | <pre>{<br />    "document": {...},<br />    "featureTypes": [...],<br />    "humanLoopConfig": {...}<br />}</pre>or <pre>{<br />    "image": {...},<br />    "humanLoopConfig": {...}<br />}</pre> |  La richiesta originale inviata al AWS servizio integrato con Amazon A2I. Ad esempio, se utilizzi Amazon Rekognition con Amazon A2I, ciò include la richiesta effettuata tramite l'operazione API `DetectModerationLabels`. Per le integrazioni Amazon Textract, ciò include la richiesta effettuata tramite `AnalyzeDocument`.  | 
| aiServiceResponse |  Oggetto JSON  |  <pre>{<br />    "moderationLabels": [...],<br />    "moderationModelVersion": "3.0"<br />}</pre> or <pre>{<br />    "blocks": [...],<br />    "documentMetadata": {}<br />}</pre>  |  La risposta completa del AWS servizio. Si tratta dei dati utilizzati per determinare se è necessaria una revisione umana. Questo oggetto può contenere metadati sull'oggetto dati che non sono condivisi con revisori umani.   | 
| selectedAiServiceResponse |  Oggetto JSON  |  <pre>{<br />    "moderationLabels": [...],<br />    "moderationModelVersion": "3.0"<br />}</pre> or <pre>{<br />    "blocks": [...],<br />    "documentMetadata": {}<br />}</pre>  |  Il sottoinsieme di `aiServiceResponse` che corrisponde alle condizioni di attivazione in `ActivationConditions`. Tutti gli oggetti dati elencati in `aiServiceResponse` sono elencati nelle condizioni di attivazione `selectedAiServiceResponse` quando le inferenze vengono campionate casualmente o tutte le inferenze avviano le condizioni di attivazione.  | 
| humanTaskActivationConditionResults |  Oggetto JSON  |  <pre>{<br />     "Conditions": [...]<br />}</pre>  |  Un oggetto JSON `inputContent` che contiene il motivo per cui è stato creato un cico umano. Ciò include un elenco delle condizioni di attivazione (`Conditions`) incluse nel flusso di lavoro di revisione umana (definizione del flusso) e il risultato della valutazione per ciascuna condizione: questo risultato è `true` o `false`. Per maggiori informazioni sui termini di attivazione, consulta [Schema JSON per condizioni attivazione del ciclo umano in IA aumentata Amazon](a2i-human-fallback-conditions-json-schema.md).  | 

Seleziona una scheda nella tabella seguente per informazioni sui parametri specifici del tipo di attività e visualizza un esempio di blocco di codice dei dati di output per ciascuno dei tipi di attività predefiniti.

------
#### [ Amazon Textract Task Type Output Data ]

Quando usi l'integrazione integrata di Amazon Textract, vedi `'AWS/Textract/AnalyzeDocument/Forms/V1'` come valore per `awsManagedHumanLoopRequestSource` nei tuoi dati di output.

Il parametro `answerContent` contiene un oggetto `Block` che include le risposte umane per tutti i blocchi inviati ad Amazon A2I.

Il parametro `aiServiceResponse` include anche un oggetto `Block` con la risposta di Amazon Textract alla richiesta originale inviata tramite `AnalyzeDocument`.

Per ulteriori informazioni sui parametri che vedi nell'oggetto blocco, consulta [Blocco](https://docs.aws.amazon.com/textract/latest/dg/API_Block.html) nella *Guida per gli sviluppatori Amazon Textract*. 

Di seguito è riportato un esempio dei dati di output di una revisione umana di Amazon A2I delle inferenze dell'analisi dei documenti di Amazon Textract. 

```
{
    "awsManagedHumanLoopRequestSource": "AWS/Textract/AnalyzeDocument/Forms/V1",
    "flowDefinitionArn": "arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name",
    "humanAnswers": [
        {
            "answerContent": {
                "AWS/Textract/AnalyzeDocument/Forms/V1": {
                    "blocks": [...]
                }
            },
            "submissionTime": "2020-09-28T19:17:59.880Z",
            "workerId": "111122223333",
            "workerMetadata": {
                "identityData": {
                    "identityProviderType": "Cognito",
                    "issuer": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_111111",
                    "sub": "c6aa8eb7-9944-42e9-a6b9-111122223333"
                }
            }
        }
    ],
    "humanLoopName": "humnan-loop-name",
    "inputContent": {
        "aiServiceRequest": {
            "document": {
                "s3Object": {
                    "bucket": "amzn-s3-demo-bucket1",
                    "name": "document-demo.jpg"
                }
            },
            "featureTypes": [
                "TABLES",
                "FORMS"
            ],
            "humanLoopConfig": {
                "dataAttributes": {
                    "contentClassifiers": [
                        "FreeOfPersonallyIdentifiableInformation"
                    ]
                },
                "flowDefinitionArn": "arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name",
                "humanLoopName": "humnan-loop-name"
            }
        },
        "aiServiceResponse": {
            "blocks": [...],
            "documentMetadata": {
                "pages": 1
            }
        },
        "humanTaskActivationConditionResults": {
            "Conditions": [
                {
                    "EvaluationResult": true,
                    "Or": [
                        {
                            "ConditionParameters": {
                                "ImportantFormKey": "Mail address",
                                "ImportantFormKeyAliases": [
                                    "Mail Address:",
                                    "Mail address:",
                                    "Mailing Add:",
                                    "Mailing Addresses"
                                ],
                                "KeyValueBlockConfidenceLessThan": 100,
                                "WordBlockConfidenceLessThan": 100
                            },
                            "ConditionType": "ImportantFormKeyConfidenceCheck",
                            "EvaluationResult": true
                        },
                        {
                            "ConditionParameters": {
                                "ImportantFormKey": "Mail address",
                                "ImportantFormKeyAliases": [
                                    "Mail Address:",
                                    "Mail address:",
                                    "Mailing Add:",
                                    "Mailing Addresses"
                                ]
                            },
                            "ConditionType": "MissingImportantFormKey",
                            "EvaluationResult": false
                        }
                    ]
                }
            ]
        },
        "selectedAiServiceResponse": {
            "blocks": [...]
        }
    }
}
```

------
#### [ Amazon Rekognition Task Type Output Data ]

Quando usi l'integrazione integrata di Amazon Textract, vedi la stringa `'AWS/Rekognition/DetectModerationLabels/Image/V3'` come valore per `awsManagedHumanLoopRequestSource` nei tuoi dati di output.

Il parametro `answerContent` contiene un oggetto `moderationLabels` che contiene le risposte umane per tutte le etichette di moderazione inviate ad Amazon A2I.

Il parametro `aiServiceResponse` include anche un oggetto `moderationLabels` con la risposta di Amazon Rekognition alla richiesta originale inviata a `DetectModerationLabels`.

Per ulteriori informazioni sui parametri che vedi nell'oggetto blocco, consulta la Amazon [ModerationLabel](https://docs.aws.amazon.com/rekognition/latest/dg/API_ModerationLabel.html)Rekognition Developer Guide. 

Di seguito è riportato un esempio dei dati di output di una revisione umana di Amazon A2I delle inferenze di moderazione dell’immagine Amazon Rekognition. 

```
{
    "awsManagedHumanLoopRequestSource": "AWS/Rekognition/DetectModerationLabels/Image/V3",
    "flowDefinitionArn": "arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name",
    "humanAnswers": [
        {
            "answerContent": {
                "AWS/Rekognition/DetectModerationLabels/Image/V3": {
                    "moderationLabels": [...]
                }
            },
            "submissionTime": "2020-09-28T19:22:35.508Z",
            "workerId": "ef7294f850a3d9d1",
            "workerMetadata": {
                "identityData": {
                    "identityProviderType": "Cognito",
                    "issuer": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_111111",
                    "sub": "c6aa8eb7-9944-42e9-a6b9-111122223333"
                }
            }
        }
    ],
    "humanLoopName": "humnan-loop-name",
    "inputContent": {
        "aiServiceRequest": {
            "humanLoopConfig": {
                "flowDefinitionArn": "arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name",
                "humanLoopName": "humnan-loop-name"
            },
            "image": {
                "s3Object": {
                    "bucket": "amzn-s3-demo-bucket1",
                    "name": "example-image.jpg"
                }
            }
        },
        "aiServiceResponse": {
            "moderationLabels": [...],
            "moderationModelVersion": "3.0"
        },
        "humanTaskActivationConditionResults": {
            "Conditions": [
                {
                    "EvaluationResult": true,
                    "Or": [
                        {
                            "ConditionParameters": {
                                "ConfidenceLessThan": 98,
                                "ModerationLabelName": "Suggestive"
                            },
                            "ConditionType": "ModerationLabelConfidenceCheck",
                            "EvaluationResult": true
                        },
                        {
                            "ConditionParameters": {
                                "ConfidenceGreaterThan": 98,
                                "ModerationLabelName": "Female Swimwear Or Underwear"
                            },
                            "ConditionType": "ModerationLabelConfidenceCheck",
                            "EvaluationResult": false
                        }
                    ]
                }
            ]
        },
        "selectedAiServiceResponse": {
            "moderationLabels": [
                {
                    "confidence": 96.7122802734375,
                    "name": "Suggestive",
                    "parentName": ""
                }
            ],
            "moderationModelVersion": "3.0"
        }
    }
}
```

------

## Dati di output da tipi di attività personalizzati
<a name="sms-output-data-custom"></a>

Quando aggiungi Amazon A2I a un flusso di lavoro personalizzato di revisione umana, vedi i seguenti parametri nei dati di output restituiti dalle attività di revisione umana. 


****  

| Parametro | Tipo di valore | Description | 
| --- | --- | --- | 
|  `flowDefinitionArn`  |  Stringa  |  L'Amazon Resource Number (ARN) del flusso di lavoro di revisione umana (definizione flusso) utilizzato per creare il ciclo umano.   | 
|  `humanAnswers`  |  Elenco degli oggetti JSON  | Un elenco di oggetti JSON che contengono le risposte dei worker in answerContent. Il valore di questo parametro è determinato dall'output ricevuto dal [modello di attività del worker](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-instructions-overview.html). Se si utilizza una forza lavoro privata, sono inclusi i metadati dei worker. Per ulteriori informazioni, consulta [Monitorare l'attività worker](#a2i-worker-id-private). | 
|  `humanLoopName`  | Stringa | Il nome del ciclo umano. | 
|  `inputContent`  |  Oggetto JSON  |  Il contenuto di input inviato ad Amazon A2I nella richiesta a [https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_StartHumanLoop.html](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_StartHumanLoop.html).  | 

Di seguito è riportato un esempio di dati di output da un'integrazione personalizzata con Amazon A2I e Amazon Transcribe. In questo esempio, `inputContent` è composto da:
+ Un percorso per un file.mp4 in Amazon S3 e il titolo del video
+ La trascrizione restituita da Amazon Transcribe (analizzata dai dati di output di Amazon Transcribe)
+ Un'ora di inizio e di fine utilizzata dal modello di attività del worker per ritagliare il file .mp4 e mostrare ai worker una parte pertinente del video

```
{
    "flowDefinitionArn": "arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name",
    "humanAnswers": [
        {
            "answerContent": {
                "transcription": "use lambda to turn your notebook"
            },
            "submissionTime": "2020-06-18T17:08:26.246Z",
            "workerId": "ef7294f850a3d9d1",
            "workerMetadata": {
                "identityData": {
                    "identityProviderType": "Cognito",
                    "issuer": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_111111",
                    "sub": "c6aa8eb7-9944-42e9-a6b9-111122223333"
                }
            }

        }
    ],
    "humanLoopName": "human-loop-name",
    "inputContent": {
        "audioPath": "s3://amzn-s3-demo-bucket1/a2i_transcribe_demo/Fully-Managed Notebook Instances with Amazon SageMaker - a Deep Dive.mp4",
        "end_time": 950.27,
        "original_words": "but definitely use Lambda to turn your ",
        "start_time": 948.51,
        "video_title": "Fully-Managed Notebook Instances with Amazon SageMaker - a Deep Dive.mp4"
    }
}
```

## Monitorare l'attività worker
<a name="a2i-worker-id-private"></a>

Amazon A2I fornisce informazioni che puoi utilizzare per tenere traccia dei singoli worker nei dati di output delle attività. Per identificare il worker che ha lavorato all'attività di revisione umana, utilizza quanto segue dai dati di output in Amazon S3:
+ `acceptanceTime` è l'ora in cui il worker ha accettato l'attività. Il formato di questo indicatore di data e ora è `YYYY-MM-DDTHH:MM:SS.mmmZ` per l'anno (`YYYY`), il mese (`MM`), il giorno (`DD`), l'ora (`HH`), il minuto (`MM`), il secondo (`SS`) e il millisecondo (`mmm`). La data e l'ora sono separati da una **T**. 
+ `submissionTime` è l'ora in cui il worker ha inviato le proprie annotazioni utilizzando il pulsante **Invia**. Il formato di questo indicatore di data e ora è `YYYY-MM-DDTHH:MM:SS.mmmZ` per l'anno (`YYYY`), il mese (`MM`), il giorno (`DD`), l'ora (`HH`), il minuto (`MM`), il secondo (`SS`) e il millisecondo (`mmm`). La data e l'ora sono separati da una **T**. 
+ `timeSpentInSeconds` riporta il tempo totale, in secondi, durante il quale un worker ha lavorato attivamente su quell'attività. Questo parametro non include il tempo in cui un worker si è fermato o si è preso una pausa.
+ `workerId` è univoco per ogni worker. 
+ Se utilizzi una [forza lavoro privata](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-private.html), in `workerMetadata`, vedrai quanto segue.
  + `identityProviderType` è il servizio utilizzato per gestire la forza lavoro privata. 
  + `issuer` è il pool di utenti Amazon Cognito o il gestore dell’identità digitale OpenID Connect (OIDC) dell’emittente associato al team di lavoro assegnato a questa attività di revisione umana.
  + Un identificatore `sub` univoco che fa riferimento al worker. Se crei una forza lavoro utilizzando Amazon Cognito, puoi recuperare i dettagli su questo worker (come il nome o il nome utente) associati a questo ID utilizzando Amazon Cognito. Per informazioni, consulta [Gestione e ricerca di account utente](https://docs.aws.amazon.com/cognito/latest/developerguide/how-to-manage-user-accounts.html#manage-user-accounts-searching-user-attributes) nella *[Guida per gli sviluppatori di Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/)*.

Di seguito è riportato un esempio dell'output che potresti visualizzare se utilizzi Amazon Cognito per creare una forza lavoro privata. Questo è identificato in `identityProviderType`.

```
"submissionTime": "2020-12-28T18:59:58.321Z",
"acceptanceTime": "2020-12-28T18:59:15.191Z", 
"timeSpentInSeconds": 40.543,
"workerId": "a12b3cdefg4h5i67",
"workerMetadata": {
    "identityData": {
        "identityProviderType": "Cognito",
        "issuer": "https://cognito-idp.aws-region.amazonaws.com/aws-region_123456789",
        "sub": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
    }
}
```

 Di seguito è riportato un esempio dell'output che potresti visualizzare se utilizzi il tuo IdP OIDC per creare una forza lavoro privata:

```
"workerMetadata": {
        "identityData": {
            "identityProviderType": "Oidc",
            "issuer": "https://example-oidc-ipd.com/adfs",
            "sub": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
        }
}
```

Per ulteriori informazioni sull’uso della forza lavoro privata, consulta [Forza lavoro privata](sms-workforce-private.md).

# Autorizzazioni e sicurezza in IA aumentata Amazon
<a name="a2i-permissions-security"></a>

Quando utilizzi Amazon Augmented AI (Amazon A2I) per creare un flusso di lavoro di revisione umana per la tua applicazione ML/AI, crei e configuri *risorse* in SageMaker Amazon AI come una forza lavoro umana e modelli di attività dei lavoratori. Per configurare e avviare un ciclo umano, puoi integrare Amazon A2I con altri AWS servizi come Amazon Textract o Amazon Rekognition oppure utilizzare l'API Amazon Augmented AI Runtime. Per creare un flusso di lavoro di revisione umana e avviare un ciclo umano, devi associare determinate policy al tuo AWS Identity and Access Management ruolo o utente (IAM). Nello specifico: 
+ Quando avvii un ciclo umano utilizzando dati di input di immagini a partire dal 12 gennaio 2020, devi aggiungere una policy di intestazione CORS al bucket Amazon S3 che contiene i dati di input. Per ulteriori informazioni, consulta [Requisiti per l'autorizzazione CORS](#a2i-cors-update). 
+ Quando crei una definizione del flusso, devi fornire un ruolo che conceda ad Amazon A2I l'autorizzazione all'accesso ad Amazon S3 sia per la lettura degli oggetti che vengono visualizzati in un'interfaccia utente di attività umana sia per la scrittura dei risultati della revisione umana. 

  A questo ruolo deve inoltre essere associata una politica di fiducia che consenta all' SageMaker IA di assumere il ruolo. Ciò consente ad Amazon A2I di eseguire le operazioni in base alle autorizzazioni collegate al ruolo. 

  Vedi [Aggiungere autorizzazioni al ruolo IAM utilizzato per creare una definizione del flusso](#a2i-human-review-permissions-s3) per policy di esempio che puoi modificare e collegare al ruolo utilizzato per creare una definizione del flusso. Queste sono le policy associate al ruolo IAM creato nella sezione **Human Review Workflows** dell'area Amazon A2I SageMaker della console AI. 
+ Per creare e avviare dei cicli umani, puoi utilizzare un'operazione API da un tipo di attività predefinito (ad esempio `DetectModerationLabel` o `AnalyzeDocument`) o l'operazione `StartHumanLoop` API di runtime Amazon A2I in un'applicazione ML personalizzata. Devi collegare la policy gestita `AmazonAugmentedAIFullAccess` all'utente che richiama queste operazioni API per concedere l'autorizzazione a questi servizi per l'utilizzo delle operazioni Amazon A2I. Per scoprire come, consulta [Creazione di un utente che può richiamare operazioni API Amazon A2I](#create-user-grants).

  Questa politica *non* concede l'autorizzazione a richiamare le operazioni API del AWS servizio associate ai tipi di attività integrati. Ad esempio, `AmazonAugmentedAIFullAccess` non concede l'autorizzazione per richiamare l'operazione API `DetectModerationLabel` Amazon Rekognition o l'operazione API `AnalyzeDocument` Amazon Textract. Puoi utilizzare la policy più generale, `AmazonAugmentedAIIntegratedAPIAccess`, per concedere queste autorizzazioni. Per ulteriori informazioni, consulta [Crea un utente con le autorizzazioni per richiamare le operazioni API Amazon A2I, Amazon Textract e Amazon Rekognition](#a2i-grant-general-permission). Questa è una buona opzione quando desideri concedere a un utente ampie autorizzazioni per utilizzare Amazon A2I e le operazioni API AWS dei servizi integrati. 

  Se desideri configurare autorizzazioni più granulari, consulta [Esempi di policy basate su identità di Amazon Rekognition](https://docs.aws.amazon.com/rekognition/latest/dg/security_iam_id-based-policy-examples.html) e [Esempi di policy basate su identità di Amazon Textract](https://docs.aws.amazon.com/textract/latest/dg/security_iam_id-based-policy-examples.html) per le policy basate su identità che puoi utilizzare per concedere l'autorizzazione all'utilizzo di questi singoli servizi.
+ Per visualizzare in anteprima il modello dell'interfaccia utente dell'attività worker personalizzata, è necessario un ruolo IAM con autorizzazioni per leggere gli oggetti Amazon S3 che vengono sottoposti a rendering nell'interfaccia utente. Vedi un esempio di policy in [Abilitazione delle anteprime dei modelli di attività del worker](#permissions-for-worker-task-templates-augmented-ai).

**Topics**
+ [Requisiti per l'autorizzazione CORS](#a2i-cors-update)
+ [Aggiungere autorizzazioni al ruolo IAM utilizzato per creare una definizione del flusso](#a2i-human-review-permissions-s3)
+ [Creazione di un utente che può richiamare operazioni API Amazon A2I](#create-user-grants)
+ [Crea un utente con le autorizzazioni per richiamare le operazioni API Amazon A2I, Amazon Textract e Amazon Rekognition](#a2i-grant-general-permission)
+ [Abilitazione delle anteprime dei modelli di attività del worker](#permissions-for-worker-task-templates-augmented-ai)
+ [Utilizzo di Amazon A2I con AWS KMS bucket crittografati](#a2i-kms-encryption)
+ [Autorizzazioni aggiuntive e risorse di sicurezza](#additional-security-resources-augmented-ai)

## Requisiti per l'autorizzazione CORS
<a name="a2i-cors-update"></a>

All'inizio del 2020, i browser più diffusi come Chrome e Firefox hanno modificato il comportamento predefinito per la rotazione delle immagini in base ai metadati delle immagini, denominati [dati EXIF](https://en.wikipedia.org/wiki/Exif). In precedenza, le immagini venivano sempre visualizzate nei browser esattamente come venivano archiviate su disco, che in genere non era ruotato. Dopo la modifica, le immagini ora ruotano in base a un frammento di metadati dell'immagine chiamato *valore di orientamento.* Ciò ha importanti implicazioni per l'intera comunità di machine learning (ML). Ad esempio, se non si considera l'orientamento EXIF, le applicazioni utilizzate per annotare le immagini possono visualizzare le immagini con orientamenti imprevisti e generare etichette errate. 

A partire da Chrome 89, non è più AWS possibile impedire automaticamente la rotazione delle immagini perché il gruppo di standard web W3C ha deciso che la possibilità di controllare la rotazione delle immagini viola la politica del Web relativa alla stessa origine. Pertanto, per garantire che gli operatori umani annotino le immagini di input con un orientamento prevedibile quando invii richieste per creare un ciclo umano, devi aggiungere una policy di intestazione CORS ai bucket S3 che contengono le immagini di input.

**Importante**  
Se non aggiungi una configurazione CORS ai bucket S3 che contengono i dati di input, le attività di revisione umana per tali oggetti di dati di input hanno esito negativo.

Puoi aggiungere una policy CORS a un bucket S3 che contiene dati di input nella console Amazon S3. Per impostare le intestazioni CORS richieste sul bucket S3 che contiene le immagini di input nella console S3, segui le istruzioni dettagliate in [Come aggiungere la condivisione delle risorse multidominio con la funzionalità CORS?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-cors-configuration.html) Utilizza il seguente codice di configurazione CORS per i bucket che ospitano le tue immagini. Se utilizzi la console Amazon S3 per aggiungere la policy al tuo bucket, devi utilizzare il formato JSON.

**JSON**

```
[{
   "AllowedHeaders": [],
   "AllowedMethods": ["GET"],
   "AllowedOrigins": ["*"],
   "ExposeHeaders": []
}]
```

**XML**

```
<CORSConfiguration>
 <CORSRule>
   <AllowedOrigin>*</AllowedOrigin>
   <AllowedMethod>GET</AllowedMethod>
 </CORSRule>
</CORSConfiguration>
```

La seguente GIF illustra le istruzioni contenute nella documentazione di Amazon S3 per aggiungere una policy di intestazione CORS utilizzando la console Amazon S3.

![\[Gif su come aggiungere una policy di intestazione CORS utilizzando la console di Amazon S3.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/sms/gifs/cors-config.gif)


## Aggiungere autorizzazioni al ruolo IAM utilizzato per creare una definizione del flusso
<a name="a2i-human-review-permissions-s3"></a>

Per creare una definizione di flusso, collega le politiche di questa sezione al ruolo che utilizzi quando crei un flusso di lavoro di revisione umana nella console SageMaker AI o quando utilizzi l'operazione API. `CreateFlowDefinition`
+ Se utilizzi la console per creare un flusso di lavoro di revisione umana, inserisci in nome della risorsa Amazon (ARN) del ruolo nel campo **IAM role (Ruolo IAM)** quando [crei un flusso di lavoro di revisione umana nella console](https://docs.aws.amazon.com/sagemaker/latest/dg/create-human-review-console.html). 
+ Quando crei una definizione del flusso utilizzando l'API, collega queste policy al ruolo passato al parametro `RoleArn` dell'operazione `CreateFlowDefinition`. 

Quando crei un flusso di lavoro di revisione umana (definizione del flusso), Amazon A2I richiama Amazon S3 per completare l'attività. Per concedere ad Amazon A2I l'autorizzazione per recuperare e archiviare i file nel bucket Amazon S3, crea la policy seguente e collegala al ruolo. Ad esempio, se le immagini, i documenti e altri file che invii per la revisione umana sono memorizzati in un bucket S3 denominato `my_input_bucket` e se vuoi che le revisioni umane vengano archiviate in un bucket denominato `my_output_bucket`, crea la seguente policy. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::my_input_bucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::my_output_bucket/*"
            ]
        }
    ]
}
```

------

Inoltre, il ruolo IAM deve avere la seguente politica di fiducia per concedere all' SageMaker IA l'autorizzazione ad assumere il ruolo. Per ulteriori informazioni sulle policy di attendibilità IAM, consulta la sezione [Policy basate sulle risorse](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) di **Criteri e autorizzazioni** nella documentazione *AWS Identity and Access Management*.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowSageMakerToAssumeRole",
      "Effect": "Allow",
      "Principal": {
        "Service": "sagemaker.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

Per ulteriori informazioni sulla creazione e sulla gestione di ruoli e policy IAM, consulta i seguenti argomenti nella *Guida per l'utente di AWS Identity and Access Management *: 
+ Per creare un ruolo IAM, consulta [Creazione di un ruolo per delegare le autorizzazioni a un utente IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html). 
+ Per informazioni su come creare policy IAM, consulta [Creazione di policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html). 
+ Per informazioni su come collegare una policy IAM a un ruolo, consulta [Aggiunta e rimozione di autorizzazioni per identità IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html).

## Creazione di un utente che può richiamare operazioni API Amazon A2I
<a name="create-user-grants"></a>

Per utilizzare Amazon A2I per creare e avviare cicli umani per Amazon Rekognition, Amazon Textract o l'API di runtime Amazon A2I, devi utilizzare un utente che disponga delle autorizzazioni per richiamare le operazioni Amazon A2I. A tale scopo, utilizza la console IAM per collegare la policy gestita [https://console.aws.amazon.com/iam/home?region=us-east-2#/policies/arn:aws:iam::aws:policy/AmazonAugmentedAIFullAccess$jsonEditor](https://console.aws.amazon.com/iam/home?region=us-east-2#/policies/arn:aws:iam::aws:policy/AmazonAugmentedAIFullAccess$jsonEditor) a un utente nuovo o esistente. 

Questa policy concede l'autorizzazione a un utente di richiamare le operazioni API dall' SageMaker API per la creazione e la gestione delle definizioni di flusso e dall'API Amazon Augmented AI Runtime per la creazione e la gestione di loop umani. Per ulteriori informazioni su queste operazioni API, consulta [Uso APIs in Amazon Augmented](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-api-references.html) AI.

`AmazonAugmentedAIFullAccess` non concede autorizzazioni per l'utilizzo delle operazioni API Amazon Rekognition o Amazon Textract. 

**Nota**  
Puoi anche collegare la policy `AmazonAugmentedAIFullAccess` a un ruolo IAM utilizzato per creare e avviare un ciclo umano. 

Per fornire l’accesso, aggiungi autorizzazioni agli utenti, gruppi o ruoli:
+ Utenti e gruppi in AWS IAM Identity Center:

  Crea un set di autorizzazioni. Segui le istruzioni riportate nella pagina [Create a permission set](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) (Creazione di un set di autorizzazioni) nella *Guida per l’utente di AWS IAM Identity Center *.
+ Utenti gestiti in IAM tramite un provider di identità:

  Crea un ruolo per la federazione delle identità. Segui le istruzioni riportate nella pagina [Create a role for a third-party identity provider (federation)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) della *Guida per l’utente IAM*.
+ Utenti IAM:
  + Crea un ruolo che l’utente possa assumere. Segui le istruzioni riportate nella pagina [Create a role for an IAM user](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) della *Guida per l’utente IAM*.
  + (Non consigliato) Collega una policy direttamente a un utente o aggiungi un utente a un gruppo di utenti. Segui le istruzioni riportate nella pagina [Aggiunta di autorizzazioni a un utente (console)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) nella *Guida per l’utente IAM*.

Per ulteriori informazioni, consulta [Aggiunta e rimozione di autorizzazioni per identità IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) nella *Guida per l'utente di AWS Identity and Access Management *.

## Crea un utente con le autorizzazioni per richiamare le operazioni API Amazon A2I, Amazon Textract e Amazon Rekognition
<a name="a2i-grant-general-permission"></a>

Per creare un utente che disponga dell'autorizzazione per richiamare le operazioni API utilizzate dai tipi di attività integrati (ovvero, `DetectModerationLables` per Amazon Rekognition e `AnalyzeDocument` per Amazon Textract) e l'autorizzazione per l'utilizzo di tutte le operazioni API Amazon A2I, collega la policy IAM gestita, `AmazonAugmentedAIIntegratedAPIAccess`. Puoi utilizzare questo criterio quando desideri concedere autorizzazioni estese a un utente che utilizza Amazon A2I con più di un tipo di attività. Per ulteriori informazioni su queste operazioni API, consulta [Uso APIs in Amazon Augmented](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-api-references.html) AI.

**Nota**  
Puoi anche collegare la policy `AmazonAugmentedAIIntegratedAPIAccess` a un ruolo IAM utilizzato per creare e avviare un ciclo umano. 

Per fornire l’accesso, aggiungi autorizzazioni agli utenti, gruppi o ruoli:
+ Utenti e gruppi in AWS IAM Identity Center:

  Crea un set di autorizzazioni. Segui le istruzioni riportate nella pagina [Create a permission set](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) (Creazione di un set di autorizzazioni) nella *Guida per l’utente di AWS IAM Identity Center *.
+ Utenti gestiti in IAM tramite un provider di identità:

  Crea un ruolo per la federazione delle identità. Segui le istruzioni riportate nella pagina [Create a role for a third-party identity provider (federation)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) della *Guida per l’utente IAM*.
+ Utenti IAM:
  + Crea un ruolo che l’utente possa assumere. Segui le istruzioni riportate nella pagina [Create a role for an IAM user](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) della *Guida per l’utente IAM*.
  + (Non consigliato) Collega una policy direttamente a un utente o aggiungi un utente a un gruppo di utenti. Segui le istruzioni riportate nella pagina [Aggiunta di autorizzazioni a un utente (console)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) nella *Guida per l’utente IAM*.

Per ulteriori informazioni, consulta [Aggiunta e rimozione di autorizzazioni per identità IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) nella *Guida per l'utente di AWS Identity and Access Management *.

## Abilitazione delle anteprime dei modelli di attività del worker
<a name="permissions-for-worker-task-templates-augmented-ai"></a>

Per personalizzare l'interfaccia e le istruzioni visualizzate dai worker quando utilizzano le attività, è possibile utilizzare un modello di attività del worker. È possibile creare il modello utilizzando l'[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html)operazione o la console SageMaker AI. 

Per visualizzare il modello in anteprima, è necessario un ruolo IAM con le autorizzazioni seguenti per leggere gli oggetti Amazon S3 che vengono visualizzati nell'interfaccia utente. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::my_input_bucket/*"
            ]
        }
    ]
}
```

------

Per i tipi di task Amazon Rekognition e Amazon Textract, puoi visualizzare in anteprima il modello utilizzando la sezione Amazon Augmented AI della console AI. SageMaker Per i tipi di attività personalizzati, puoi visualizzare in anteprima il modello richiamando l'operazione [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RenderUiTemplate.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RenderUiTemplate.html). Per visualizzare l'anteprima del modello, segui le istruzioni per il tipo di attività:
+  SageMaker Tipi di attività Amazon Rekognition e Amazon Textract: nella console di intelligenza artificiale, utilizza l'Amazon Resource Name (ARN) del ruolo nella procedura documentata in. [Creazione di un modello di attività del worker](a2i-worker-template-console.md#a2i-create-worker-template-console)
+ Tipi di attività personalizzati – Nell'operazione `RenderUiTemplate`, utilizza l'ARN del ruolo nel parametro `RoleArn`.

## Utilizzo di Amazon A2I con AWS KMS bucket crittografati
<a name="a2i-kms-encryption"></a>

Se specifichi una chiave gestita dal cliente AWS Key Management Service (AWS KMS) in cui crittografare i dati `OutputConfig` di output [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html), devi aggiungere a quella chiave una policy IAM simile alla seguente. Questa policy concede al ruolo di esecuzione IAM utilizzato per creare i cicli umani l'autorizzazione a utilizzare questa chiave per eseguire tutte le azioni elencate in `"Action"`. Per ulteriori informazioni su queste azioni, consulta le [AWS KMS autorizzazioni nella Guida](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html) per gli AWS Key Management Service sviluppatori.

Per utilizzare questa policy, sostituisci l'ARN del ruolo di servizio IAM in `"Principal"` con l'ARN del ruolo di esecuzione che utilizzi per creare il flusso di lavoro di revisione umana (definizione del flusso). Quando crei un processo di etichettatura utilizzando `CreateFlowDefinition`, questo è l'ARN specificato per [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-RoleArn). Tieni presente che non puoi fornire un `KmsKeyId` quando crei una definizione del flusso nella console.

```
{
    "Sid": "AllowUseOfKmsKey",
    "Effect": "Allow",
    "Principal": {
        "AWS": "arn:aws:iam::111122223333:role/service-role/example-role"
    },
    "Action": [
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt*",
        "kms:GenerateDataKey*",
        "kms:DescribeKey"
    ],
    "Resource": "*"
}
```

## Autorizzazioni aggiuntive e risorse di sicurezza
<a name="additional-security-resources-augmented-ai"></a>
+ [Controlla l'accesso alle risorse SageMaker AI utilizzando i tag](security_iam_id-based-policy-examples.md#access-tag-policy).
+ [Policy basate sull'identità per Amazon AI SageMaker](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies)
+ [Controlla la creazione di risorse SageMaker AI con le chiavi di condizione](security_iam_id-based-policy-examples.md#sagemaker-condition-examples)
+ [Autorizzazioni API Amazon SageMaker AI: riferimento ad azioni, autorizzazioni e risorse](api-permissions-reference.md)
+ [Configura la sicurezza in Amazon SageMaker AI](security.md)

# Utilizzo Amazon CloudWatch Events in Amazon Augmented AI
<a name="a2i-cloudwatch-events"></a>

Amazon Augmented AI utilizza CloudWatch Amazon Events per avvisarti quando lo stato di un ciclo di revisione umano cambia `Completed` in`Failed`, `Stopped` o. La consegna di questo evento è garantita almeno una volta, il che significa che tutti gli eventi creati al termine dei loop umani vengono consegnati con successo a CloudWatch Events (Amazon EventBridge). Quando un ciclo di revisione passa a uno di questi stati, Augmented AI invia un evento CloudWatch a Events simile al seguente.

```
{
    "version":"0",
    "id":"12345678-1111-2222-3333-12345EXAMPLE",
    "detail-type":"SageMaker A2I HumanLoop Status Change",
    "source":"aws.sagemaker",
    "account":"1111111111111",
    "time":"2019-11-14T17:49:25Z",
    "region":"us-east-1",
    "resources":["arn:aws:sagemaker:us-east-1:111111111111:human-loop/humanloop-nov-14-1"],
    "detail":{
        "creationTime":"2019-11-14T17:37:36.740Z",
        "failureCode":null,
        "failureReason":null,
        "flowDefinitionArn":"arn:aws:sagemaker:us-east-1:111111111111:flow-definition/flowdef-nov-12",
        "humanLoopArn":"arn:aws:sagemaker:us-east-1:111111111111:human-loop/humanloop-nov-14-1",
        "humanLoopName":"humanloop-nov-14-1",
        "humanLoopOutput":{ 
            "outputS3Uri":"s3://customer-output-bucket-specified-in-flow-definition/flowdef-nov-12/2019/11/14/17/37/36/humanloop-nov-14-1/output.json"
        },
        "humanLoopStatus":"Completed"
    }
}
```

I dettagli nell'output JSON includono quanto segue:

`creationTime`  
Il timestamp di quando IA aumentata ha creato il ciclo umano.

`failureCode`  
Un codice di errore che indica un tipo di errore specifico.

`failureReason`  
Il motivo per cui un ciclo umano ha riscontrato un errore. Il motivo dell'errore viene restituito solo quando lo stato del ciclo di revisione umana è `failed`.

`flowDefinitionArn`  
Il nome della risorsa Amazon (ARN) della definizione del flusso o del flusso di *lavoro di revisione umana*.

`humanLoopArn`  
Il nome della risorsa Amazon (ARN) del ciclo umano.

`humanLoopName`  
Il nome del ciclo umano.

`humanLoopOutput`  
Un oggetto contenente informazioni sull'output del ciclo umano.

`outputS3Uri`  
La posizione dell'oggetto Amazon S3 in cui IA aumentata memorizza l'output del ciclo umano.

`humanLoopStatus`  
Lo stato del ciclo umano.

## Invia eventi da Your Human Loop a CloudWatch Events
<a name="a2i-cloud-watch-events-rule-setup"></a>

Per configurare una regola CloudWatch Events per ottenere aggiornamenti di stato, o *eventi*, per i loop umani di Amazon A2I, usa il comando AWS Command Line Interface ()AWS CLI. [https://docs.aws.amazon.com/cli/latest/reference/events/put-rule.html](https://docs.aws.amazon.com/cli/latest/reference/events/put-rule.html) Quando utilizzi il comando `put-rule`, specifica quanto segue per ricevere gli stati del ciclo umano: 
+ `\"source\":[\"aws.sagemaker\"]`
+ `\"detail-type\":[\"SageMaker A2I HumanLoop Status Change\"]`

Per configurare una regola CloudWatch Events per controllare tutte le modifiche allo stato, usa il seguente comando e sostituisci il testo segnaposto. Ad esempio, sostituiscilo `"A2IHumanLoopStatusChanges"` con un nome di regola CloudWatch Events univoco e *`"arn:aws:iam::111122223333:role/MyRoleForThisRule"`* con l'Amazon Resource Number (ARN) di un ruolo IAM con una policy di fiducia events.amazonaws.com allegata. *region*Sostituiscilo con la AWS regione in cui desideri creare la regola. 

```
aws events put-rule --name "A2IHumanLoopStatusChanges" 
    --event-pattern "{\"source\":[\"aws.sagemaker\"],\"detail-type\":[\"SageMaker A2I HumanLoop Status Change\"]}" 
    --role-arn "arn:aws:iam::111122223333:role/MyRoleForThisRule" 
    --region "region"
```

Per ulteriori informazioni sulla `put-rule` richiesta, consulta [Event Patterns in CloudWatch Events](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html) nella *Amazon CloudWatch Events User Guide*.

## Configurazione di una destinazione per elaborare eventi
<a name="a2i-subscribe-cloud-watch-events"></a>

Per elaborare gli eventi, è necessario configurare una destinazione. Ad esempio, se desideri ricevere un'e-mail quando lo stato di un loop umano cambia, utilizza una procedura in [Configurazione delle notifiche Amazon SNS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html) nella *Amazon CloudWatch User Guide* per impostare un argomento Amazon SNS e iscrivere la tua e-mail ad esso. Dopo aver creato un argomento, puoi utilizzarlo per creare una destinazione. 

**Per aggiungere un obiettivo alla tua regola Events CloudWatch**

1. Apri la CloudWatch console: [https://console.aws.amazon.com/cloudwatch/home](https://console.aws.amazon.com/cloudwatch/home)

1. Nel pannello di navigazione, scegli **Regole**.

1. Scegli la regola a cui aggiungere una destinazione. 

1. Seleziona **Azioni**, quindi scegli **Modifica**.

1. **In Target, scegli **Aggiungi target** e scegli il AWS servizio che desideri utilizzare quando viene rilevato un evento di modifica dello stato del loop umano.** 

1. Configurazione della destinazione. Per le istruzioni, consulta l'argomento relativo alla configurazione di una destinazione nella [Documentazione AWS per tale servizio](https://docs.aws.amazon.com/index.html).

1. Scegli **Configura dettagli**.

1. In **Nome**, immetti un nome e, facoltativamente, fornisci dettagli sullo scopo della regola in **Descrizione**. 

1. Accertati che la casella di controllo accanto a **Stato** sia selezionata, in modo che la regola sia indicata come **Abilitata**. 

1. Scegli **Aggiorna regola**.

## Utilizza l'output delle revisioni umane
<a name="using-human-review-output"></a>

Dopo aver ricevuto i risultati delle revisioni umane, puoi analizzare i risultati e confrontarli con le previsioni di Machine Learning. Il JSON memorizzato nel bucket Amazon S3 contiene sia le previsioni di Machine Learning sia i risultati della revisione umana.

## Ulteriori informazioni
<a name="amazon-augmented-ai-programmatic-walkthroughs"></a>

[Eventi che Amazon SageMaker AI invia ad Amazon EventBridge](automating-sagemaker-with-eventbridge.md)

# Utilizzo di API in IA aumentata Amazon
<a name="a2i-api-references"></a>

Puoi creare un flusso di lavoro di revisione umana o un modello di attività del worker in maniera programmatica. Le API utilizzate dipendono dal fatto che si stia creando un tipo di attività Amazon Rekognition, Amazon Textract o personalizzato. In questo argomento vengono forniti collegamenti alla documentazione API Reference per ogni tipo di attività e attività di programmazione.

Le seguenti API possono essere utilizzate con IA aumentata:

**IA aumentata Amazon**  
Utilizza l'API di IA aumentata per avviare, arrestare ed eliminare i cicli di revisione umana. Puoi anche elencare tutti i cicli di revisione umana e restituire informazioni sui cicli di revisione umana nel tuo account.  
Scopri di più sulle API per i cicli di revisione umana in [ Amazon Augmented AI Runtime API Reference](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/Welcome.html).

**Amazon Rekognition**  
Utilizza il parametro **HumanLoopConfig** dell'API `[ DetectModerationLabels](https://docs.aws.amazon.com/rekognition/latest/dg/API_DetectModerationLabels.html)` per avviare un flusso di lavoro di revisione umana con Amazon Rekognition.

**Amazon SageMaker AI**  
Utilizza l'API Amazon SageMaker per creare un `FlowDefinition`, noto anche come *flusso di lavoro di revisione umana*. Puoi anche creare un modello di attività `HumanTaskUi` o *del worker*.  
Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html) o la documentazione dell'API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html).

**Amazon Textract**  
Utilizza il parametro **HumanLoopConfig** dell'API [AnalyzeDocument](https://docs.aws.amazon.com/textract/latest/dg/API_AnalyzeDocument.html) per avviare un flusso di lavoro di revisione umana con Amazon Textract.

## Tutorial programmatici
<a name="amazon-augmented-ai-programmatic-walkthroughs"></a>

I seguenti tutorial forniscono codice di esempio e istruzioni dettagliate per la creazione di flussi di lavoro di revisione umana e modelli di attività del worker in maniera programmatica.
+ [Tutorial: nozioni di base sull'uso dell'API di Amazon A2I](a2i-get-started-api.md)
+ [Creare un flusso di lavoro di revisione umana (API)](a2i-create-flow-definition.md#a2i-create-human-review-api)
+ [Creazione e avvio di un ciclo umano](a2i-start-human-loop.md)
+ [Utilizzo di IA aumentata Amazon con Amazon Rekognition](https://docs.aws.amazon.com/rekognition/latest/dg/a2i-rekognition.html) in *Guida per gli sviluppatori di Amazon Rekognition*
+ [Utilizzo di IA aumentata Amazon con Amazon Textract AnalyzeDocument](https://docs.aws.amazon.com/textract/latest/dg/a2i-textract.html) in *Guida per gli sviluppatori di Amazon Textract*