Share via


Pretrained Cascade Image Classification

Importante

Il supporto dello studio di Azure Machine Learning (versione classica) terminerà il 31 agosto 2024. È consigliabile passare ad Azure Machine Learning entro tale data.

A partire dal 1° dicembre 2021 non sarà possibile creare nuove risorse dello studio di Azure Machine Learning (versione classica). Fino al 31 agosto 2024 sarà possibile continuare a usare le risorse dello studio di Azure Machine Learning (versione classica).

La documentazione relativa allo studio di Machine Learning (versione classica) è in fase di ritiro e potrebbe non essere aggiornata in futuro.

Crea un modello di classificazione di immagini con training preliminare per volti frontali usando la libreria OpenCV

Categoria: Moduli della libreria OpenCV

Nota

Si applica a: Machine Learning Studio (versione classica)

Nella finestra di progettazione sono disponibili moduli simili Azure Machine Learning trascinamento della selezione.

Panoramica del modulo

Questo articolo descrive come usare il modulo Pretrained Cascade Image Classification in Machine Learning Studio (versione classica) per rilevare i visi nelle immagini.

Il modello è basato sulla libreria OpenCV . La libreria OpenCV fornisce un elenco di modelli predefiniti, ognuno ottimizzato per rilevare un particolare tipo di oggetto.

Altre informazioni sul modello con training preliminare

Questo modello di riconoscimento delle immagini è già stato addestrato su un grande corpus di immagini ampiamente usato per le attività di riconoscimento delle immagini. Questo particolare modello di classificazione è stato ottimizzato per il rilevamento facciale e usa lViola-Jones di rilevamento oggetti. Lo scopo del modello è identificare le immagini che contengono un viso umano nella visualizzazione frontale.

Anche se attualmente è disponibile un solo modello di classificazione delle immagini OpenCV, nelle versioni successive potrebbero essere disponibili modelli con training preliminare aggiuntivi.

Uso di un modello con training preliminare

Se si dispone di un set di immagini da analizzare, è necessario specificarle come input per il modulo Score Model (Punteggio modello), come descritto in questo argomento, e allegare questo modulo, che fornisce il modello di libreria OpenCV con training preliminare.

Il modulo Score Model usa il modello di classificazione delle immagini per determinare se l'immagine contiene un viso umano e restituisce un punteggio di probabilità per ogni immagine usata come input.

Non è possibile eseguire di nuovo il training dei modelli basati sulla classificazione di immagini a cascata con training preliminare sui nuovi dati di immagine.

Il formato in cui è archiviato il modello non è compatibile con i moduli Train Model (Training modello ) e Cross-Validate Model (Convalida incrociata modello).

Come configurare la classificazione delle immagini a cascata con training preliminare

Il modello di classificazione delle immagini Machine Learning è già stato addestrato usando un set di dati di grandi dimensioni ed è ottimizzato per un tipo di immagine specifico. È quindi necessario solo fornire un set di immagini come set di dati di assegnazione dei punteggi. Come output, il modulo genera un punteggio che indica se ogni immagine contiene il tipo di immagine di destinazione.

  1. Preparare e importare il set di dati di immagini che si prevede di usare per l'assegnazione dei punteggi. In generale, tutte le immagini nel set di dati devono avere le stesse dimensioni.

    Per aggiungere le immagini all'esperimento, usare il modulo Import Images (Importa immagini). Leggere attentamente la Guida per importare immagini per assicurarsi che le immagini usate soddisfino i requisiti. È inoltre necessario assicurarsi che le immagini siano accessibili nell'opzione di archiviazione definita.

  2. Aggiungere il modulo Pretrained Cascade Image Classification all'esperimento in Studio (versione classica). È possibile trovare questo modulo nella categoria Libreria OpenCV .

  3. Selezionare uno dei classificatori con training preliminare dall'elenco in Classificatore con training preliminare.

    Attualmente è disponibile un solo classificatore: frontale, che è selezionato per impostazione predefinita.

  4. Fattore di scala: digitare un valore che specifichi quanto le dimensioni dell'immagine vengono ridotte a ogni scala dell'immagine.

    Nella libreria OpenCV il classificatore è progettato in modo che possa essere facilmente "ridimensionato" per poter trovare gli oggetti di interesse in dimensioni diverse. Questa operazione è più efficiente rispetto al ridimensionamento dell'immagine stessa. Pertanto, per trovare un oggetto di dimensioni sconosciute nell'immagine, la procedura di analisi deve essere eseguita più volte su scale diverse.

    È consigliabile provare diversi fattori di ridimensionamento per vedere che forniscono i migliori risultati di classificazione delle immagini.

  5. Numero minimo di elementi adiacenti: digitare un numero intero che rappresenta il numero minimo di rettangoli sovrapposti necessari per rilevare che un viso è incluso in un'area.

    Nella libreria OpenCV il classificatore rileva oggetti di dimensioni diverse nell'immagine di input. Gli oggetti rilevati vengono restituiti come elenco di rettangoli. Il parametro neighbors controlla il numero di corrispondenze possibili necessarie per qualificarsi come viso o funzionalità rilevata. Di conseguenza, l'aumento di questo valore tende ad aumentare la precisione a costo della copertura.

    Per esempi di come vengono calcolati gli elementi adiacenti, vedere questo articolo nella documentazione della libreria OpenCv: Eigenfaces in OpenCV

  6. Facoltativamente, è possibile usare le impostazioni seguenti per specificare le dimensioni dell'immagine per il modello in modo che possa eseguire stime migliori. Le immagini che non rientrano nei requisiti vengono eliminate:

    • Altezza minima: digitare l'altezza in pixel dell'immagine più piccola. Se si specifica un valore per questa proprietà, le immagini più piccole vengono ignorate.

    • Altezza massima. Digitare la larghezza in pixel dell'immagine più grande. Se si specifica un valore per questa proprietà, le immagini più grandi vengono ignorate.

    • Larghezza minima: digitare la larghezza in pixel dell'immagine più piccola. Se si specifica un valore per questa proprietà, le immagini più piccole vengono ignorate.

    • Larghezza massima: digitare la larghezza in pixel dell'immagine più grande. Se si specifica un valore per questa proprietà, le immagini più grandi vengono ignorate.

  7. Connessione set di dati dell'immagine usato per l'assegnazione dei punteggi.

  8. Aggiungere il modulo Score Model (Punteggio modello) all'esperimento e connettere il classificatore di immagini con training preliminare e il set di dati delle immagini.

  9. Eseguire l'esperimento.

Risultati

L'output di Score Model include il nome dell'immagine, l'etichetta con punteggio e il punteggio di probabilità per l'etichetta (0 o 1). Il classificatore restituisce "1" se è probabile che l'immagine mostri l'oggetto (un viso) e "0" in caso contrario. Ad esempio:

Nome dell'immagine Scored Labels Probabilità con punteggio
MAN001.png true 1
TABLE001.PNG FALSE 0
CHAIR001.PNG FALSE 0

Suggerimento

L'output contiene anche i valori RGB per tutti i canali di colore nel set di dati. Pertanto, per visualizzare i dati più facilmente, nell'esperimento è consigliabile usare Select Columns in Dataset (Seleziona colonne nel set di dati) per visualizzare solo le colonne dei risultati.

Note tecniche

Il modello di riconoscimento facciale fornito da questo modulo si basa sullViola-Jones di rilevamento viso. Per ulteriori informazioni, vedere le risorse:

  • Questo video illustra i concetti di base del riconoscimento facciale, tra cui una definizione delle caratteristiche di Haar e il modo in cui vengono usate nel rilevamento facciale: Rilevamento facciale - Parte 1

  • Questo articolo di Wikipedia descrive il metodo usato per il classificatore, in base al documento di Navneet Dalal e Bill Triggs: Histogram of oriented gradients (Istogramma delle sfumature orientate)

  • Per la documentazione dell'algoritmo di riconoscimento del viso fornito nella libreria OpenCV, vedere Cascade Classifier.

Nota

Questo modulo non restituisce la raccolta completa di informazioni prodotte dalla libreria OpenCV. In particolare, questo modulo restituisce solo la stima che indica se un viso è presente o meno e non include le coordinate del viso o altre informazioni.

Se sono necessarie queste informazioni aggiuntive, è consigliabile usare altre librerie, ad esempio l'API Viso fornita da Servizi cognitivi Microsoft.

Parametri del modulo

Nome Intervallo Type Predefinito Descrizione
Pre-trained classifier Elenco PretrainedClassifier Frontal face Classificatore con training preliminare dalla distribuzione OpenCV standard.
Fattore di scala >=1.0000000000000000002 Float 1,1 Parametro che specifica di quanto vengono ridotte le dimensioni dell'immagine a ogni ridimensionamento.
Minimum number of neighbors >=0 Integer 3 Parametro che specifica quanti vicini deve avere ogni rettangolo candidato per il mantenimento.
Minimum height >=1 Integer 100 Altezza minima possibile dell'oggetto (in pixel). Gli oggetti di dimensioni inferiori verranno ignorati.

Il parametro è facoltativo.
Larghezza minima >=1 Integer 100 Larghezza minima possibile dell'oggetto (in pixel). Gli oggetti di dimensioni inferiori verranno ignorati.

Il parametro è facoltativo.
Maximum height >=1 Integer 200 Altezza massima possibile dell'oggetto (in pixel). Gli oggetti di dimensioni superiori verranno ignorati.

Il parametro è facoltativo.
Maximum width >=1 Integer 200 Larghezza massima possibile dell'oggetto (in pixel). Gli oggetti di dimensioni superiori verranno ignorati.

Il parametro è facoltativo.

Output

Nome Tipo Descrizione
Trained model ILearner interface Modello di classificazione binaria con training

Eccezioni

Eccezione Descrizione
Errore 0005 L'eccezione si verifica se il parametro è inferiore a un valore specifico.

Per un elenco degli errori specifici dei moduli di Studio (versione classica), vedere Machine Learning codici di errore.

Per un elenco delle eccezioni API, vedere Machine Learning di errore dell'API REST.

Vedi anche

Importare immagini
Pretrained Cascade Image Classification