Condividi tramite


Specificare un modello di riconoscimento volto

Attenzione

L'accesso al servizio Viso è limitato in base ai criteri di idoneità e utilizzo al fine di supportare i nostri principi di intelligenza artificiale responsabile. Il servizio Viso è disponibile solo per i clienti e i partner gestiti da Microsoft. Usare il modulo di acquisizione riconoscimento volto per richiedere l'accesso. Per altre informazioni, vedere la pagina Accesso limitato dalla funzione Viso.

Questa guida illustra come specificare un modello di riconoscimento dei visi per il rilevamento dei visi, l'identificazione e la ricerca di somiglianza usando il servizio Viso di Intelligenza artificiale di Azure.

Il servizio Viso usa modelli di Machine Learning per eseguire operazioni sui visi umani visibili nelle immagini. La precisione dei modelli viene costantemente migliorata in base al feedback dei clienti e ai progressi nella ricerca. I miglioramenti che ne derivano vengono distribuiti come aggiornamenti del modello. Gli sviluppatori possono specificare la versione del modello di riconoscimento del viso da usare, scegliendo il modello più adatto al proprio caso d'uso.

Compatibilità dei modelli

Il servizio Viso di Intelligenza artificiale di Azure include quattro modelli di riconoscimento disponibili. I modelli recognition_01 (pubblicati 2017), recognition_02 (pubblicati 2019) e recognition_03 (pubblicati 2020) sono continuamente supportati per garantire la compatibilità con le versioni precedenti per i clienti che usano FaceLists o PersonGroupcreati con questi modelli. Un FaceList o PersonGroup usa sempre il modello di riconoscimento con cui è stato creato e i nuovi visi vengono associati a questo modello quando vengono aggiunti. Questa operazione non può essere modificata dopo la creazione e i clienti devono usare il modello di riconoscimento corrispondente con FaceList o PersonGroup corrispondente.

È possibile passare a modelli di riconoscimento successivi per comodità; Tuttavia, sarà necessario creare nuovi FaceLists e PersonGroups con il modello di riconoscimento preferito.

Il modello recognition_04 (pubblicato 2021) è il modello più accurato attualmente disponibile. Se si è un nuovo cliente, è consigliabile usare questo modello. Recognition_04 offre una maggiore accuratezza sia per i confronti di somiglianza che per i confronti di corrispondenza delle persone. Recognition_04 migliora il riconoscimento per gli utenti registrati che indossano copri viso (maschere chirurgiche, maschere N95, maschere di panno). È ora possibile creare esperienze utente sicure e semplici che usano il modello di detection_03 più recente per rilevare se un utente registrato indossa una copertura del viso. È quindi possibile usare il modello recognition_04 più recente per riconoscerne l'identità. Ogni modello opera indipendentemente dagli altri e una soglia di confidenza impostata per un modello non deve essere confrontata tra gli altri modelli di riconoscimento.

Leggere per informazioni su come specificare un modello selezionato in diverse operazioni Viso evitando conflitti di modello. Se si è un utente avanzato e si vuole determinare se passare al modello più recente, passare alla sezione Valuta modelli diversi. È possibile valutare il nuovo modello e confrontare i risultati usando il set di dati corrente.

Prerequisiti

È necessario avere familiarità con i concetti relativi al rilevamento e all'identificazione dei volti di intelligenza artificiale. In caso contrario, vedere prima queste guide:

Rilevare i visi con il modello specificato

Il rilevamento dei volti identifica i punti di riferimento visivi dei visi umani e trova le posizioni del rettangolo delimitatore. Estrae anche le caratteristiche del viso e le archivia temporaneamente per un massimo di 24 ore per l'uso nell'identificazione. Tutte queste informazioni costituisce la rappresentazione di un viso.

Il modello di riconoscimento viene usato quando vengono estratte le caratteristiche del viso, quindi è possibile specificare una versione del modello durante l'esecuzione dell'operazione Rileva.

Quando si usa l'API Di rilevamento , assegnare la versione del modello con il recognitionModel parametro . I valori disponibili sono:

  • recognition_01
  • recognition_02
  • recognition_03
  • recognition_04

Facoltativamente, è possibile specificare il parametro returnRecognitionModel (valore predefinito false) per indicare se recognitionModel deve essere restituito nella risposta. Di conseguenza, un URL di richiesta per l'API REST Detect sarà simile al seguente:

https://westus.api.cognitive.microsoft.com/face/v1.0/detect[?returnFaceId][&returnFaceLandmarks][&returnFaceAttributes][&recognitionModel][&returnRecognitionModel]&subscription-key=<Subscription key>

Se si usa la libreria client, è possibile assegnare il valore per recognitionModel passando una stringa che rappresenta la versione. Se non viene assegnato, verrà usata una versione predefinita del modello di recognition_01. Vedere l'esempio di codice seguente per la libreria client .NET.

string imageUrl = "https://news.microsoft.com/ceo/assets/photos/06_web.jpg";
var faces = await faceClient.Face.DetectWithUrlAsync(url: imageUrl, returnFaceId: true, returnFaceLandmarks: true, recognitionModel: "recognition_01", returnRecognitionModel: true);

Nota

Il parametro returnFaceId deve essere impostato su true per abilitare gli scenari di riconoscimento dei visi nei passaggi successivi.

Identificare i visi con il modello specificato

Il servizio Viso può estrarre i dati del viso da un'immagine e associarli a un oggetto Person (tramite la chiamata all'API Add Person Face , ad esempio) e più oggetti Person possono essere archiviati insieme in un PersonGroup. È quindi possibile confrontare un nuovo viso con un PersonGroup (con la chiamata Identifica da gruppo di persone) e la persona corrispondente all'interno di tale gruppo può essere identificata.

Un PersonGroup deve avere un modello di riconoscimento univoco per tutti gli oggetti Personed è possibile specificare questo parametro usando il recognitionModel parametro quando si crea il gruppo (Create Person Group o Create Large Person Group). Se non si specifica questo parametro, viene usato il modello recognition_01 originale. Un gruppo userà sempre il modello di riconoscimento con cui è stato creato e i nuovi visi verranno associati a questo modello quando vengono aggiunti. Questa operazione non può essere modificata dopo la creazione di un gruppo. Per visualizzare il modello con cui è configurato un PersonGroup , usare l'API Get Person Group con il parametro returnRecognitionModel impostato su true.

Vedere l'esempio di codice seguente per la libreria client .NET.

// Create an empty PersonGroup with "recognition_04" model
string personGroupId = "mypersongroupid";
await faceClient.PersonGroup.CreateAsync(personGroupId, "My Person Group Name", recognitionModel: "recognition_04");

In questo codice viene creato un PersonGroup con ID mypersongroupid ed è configurato per usare il modello recognition_04 per estrarre le funzionalità del viso.

In modo corrispondente, è necessario specificare il modello da usare per rilevare i visi da confrontare con questo PersonGroup (tramite l'API Rileva ). Il modello usato deve essere sempre coerente con la configurazione di PersonGroup. In caso contrario, l'operazione avrà esito negativo a causa di modelli incompatibili.

Non vi è alcuna modifica nell'API Identifica da gruppo di persone. È sufficiente specificare la versione del modello nel rilevamento.

Trovare visi simili con il modello specificato

È anche possibile specificare un modello di riconoscimento per la ricerca di somiglianza. È possibile assegnare la versione del modello con recognitionModel durante la creazione di FaceList con l'API Create Face List o Create Large Face List. Se non si specifica questo parametro, il modello recognition_01 viene usato per impostazione predefinita. Un oggetto FaceList userà sempre il modello di riconoscimento con cui è stato creato e i nuovi visi verranno associati a questo modello quando vengono aggiunti all'elenco. Non è possibile modificarlo dopo la creazione. Per vedere il modello con cui è configurato FaceList , usare l'API Get Face List con il parametro returnRecognitionModel impostato su true.

Vedere l'esempio di codice seguente per la libreria client .NET.

await faceClient.FaceList.CreateAsync(faceListId, "My face collection", recognitionModel: "recognition_04");

Questo codice crea un oggetto FaceList denominato My face collection, usando il modello recognition_04 per l'estrazione delle funzionalità. Quando si esegue una ricerca in FaceList per visi simili a un nuovo viso rilevato, è necessario che il viso sia stato rilevato (Rileva) usando il modello di recognition_04. Come nella sezione precedente, il modello deve essere coerente.

Non è stata apportata alcuna modifica all'API Trova simile . È possibile specificare solo la versione del modello nel rilevamento.

Verificare i visi con il modello specificato

L'API Verify Face To Face controlla se due visi appartengono alla stessa persona. Non sono state apportate modifiche all'API Verifica per quanto riguarda i modelli di riconoscimento, ma è possibile confrontare solo i visi rilevati con lo stesso modello.

Valutare i vari modelli

Per confrontare le prestazioni dei diversi modelli di riconoscimento sui propri dati, è necessario:

  1. Creare quattro persongroupusando rispettivamente recognition_01, recognition_02, recognition_03 e recognition_04 .
  2. Usare i dati dell'immagine per rilevare i visi e registrarli in Person all'interno di questi quattro PersonGroup.
  3. Eseguire il training di PersonGroupusando l'API Train Person Group .
  4. Eseguire il test con Identificazione da gruppo di persone in tutti e quattro i persongroupe confrontare i risultati.

Se in genere si specifica una soglia di attendibilità (un valore compreso tra zero e uno che determina il livello di attendibilità del modello per identificare un viso), potrebbe essere necessario usare soglie diverse per modelli diversi. Una soglia per un modello non deve essere condivisa con un altro e non produrrà necessariamente gli stessi risultati.

Passaggi successivi

In questo articolo si è appreso come specificare il modello di riconoscimento da usare con diverse API del servizio Viso. Seguire quindi una guida introduttiva per iniziare a usare il rilevamento dei volti.