Modelli di analisi delle immagini pre-addestrati

Vision fornisce modelli AI di analisi delle immagini pre-addestrati che consentono di trovare e contrassegnare oggetti, testo e intere scene nelle immagini.

I modelli pre-addestrati ti consentono di utilizzare l'intelligenza artificiale senza alcuna esperienza di data science. Fornire un'immagine al servizio Vision e recuperare informazioni su oggetti, testo, scene e facce nell'immagine senza dover creare il proprio modello.

Casi d'uso

Di seguito sono riportati diversi casi d'uso per i modelli di analisi delle immagini pre-addestrati.

Digital Asset Management
Contrassegna le immagini digitali simili a quelle di un supporto per migliorare l'indicizzazione e il recupero.
Monitoraggio delle scene
Rileva se gli articoli sono sugli scaffali al dettaglio, la vegetazione sta crescendo nell'immagine di sorveglianza di una linea elettrica o se i camion sono disponibili molto per la consegna o la spedizione.
Rilevamento facciale
  • Privacy: nascondi le identità aggiungendo una sfocatura all'immagine utilizzando le informazioni sulla posizione del volto restituite tramite la funzione di rilevamento del volto.
  • Prerequisito per la biometria: utilizzare il punteggio di qualità del viso per decidere se un viso è chiaro e senza ostacoli.
  • Gestione degli asset digitali: tag immagini con informazioni facciali per una migliore indicizzazione e recupero.

Formati supportati:

Vision supporta diversi formati di analisi delle immagini.

Le immagini possono essere caricate dallo storage locale o da Oracle Cloud Infrastructure Object Storage. Le immagini possono essere nei seguenti formati:
  • JPG
  • PNG

Modelli pre-addestrati

Vision dispone di quattro tipi di modello di analisi delle immagini pre-addestrato.

Rilevamento oggetti

Il rilevamento degli oggetti viene utilizzato per trovare e identificare gli oggetti all'interno di un'immagine. Ad esempio, se si dispone di un'immagine di un soggiorno, Vision trova gli oggetti presenti, ad esempio una sedia, un divano e una TV. Quindi fornisce riquadri per ciascuno degli oggetti e li identifica.

Vision fornisce un punteggio di affidabilità per ogni oggetto identificato. Il punteggio di affidabilità è un numero decimale. I punteggi più vicini a 1 indicano una maggiore affidabilità nella classificazione degli oggetti, mentre i punteggi più bassi indicano un punteggio di affidabilità più basso. L'intervallo del punteggio di affidabilità per ogni etichetta è compreso tra 0 e 1.

Di seguito sono riportate le funzioni supportate.
  • Etichette
  • Punteggio affidabilità
  • Polighi delimitati da oggetti
  • Richieste singole
  • Richieste batch
Esempio di rilevamento oggetti

Esempio di utilizzo di Rilevamento oggetti in Vision.

Immagine di input
Immagine di input per Rilevamento oggetti Immagine di un'auto che guida su una strada, con Oracle scritto su di essa. Da un lato c'è un autobus, dall'altro un taxi.
Richiesta API:
{ "analyzeImageDetails":
 { "compartmentId": "",
   "image": 
           { "namespaceName": "",
             "bucketName": "",
             "objectName": "",
             "source": "OBJECT_STORAGE" },
   "features": [ { "featureType": "OBJECT_DETECTION", "maxResults": 50 } ] } }
output:
Immagine di output per rilevamento oggetti La stessa immagine dell'input, ma ora con riquadri disegnati intorno a tutti gli elementi di interesse.
Risposta API:
{ "imageObjects": 
 [ { "name": "Bus",
     "confidence": 0.98872757,
     "boundingPolygon": 
                       { "normalizedVertices": 
                                              [ { "x": 0.232, 
                                                  "y": 0.16114457831325302 },
                                                { "x": 0.407,
                                                  "y": 0.16114457831325302 }, 
                                                { "x": 0.407,
                                                  "y": 0.36596385542168675 },
                                                { "x": 0.232,
                                                  "y": 0.36596385542168675 } ]
                       } },
   }, ... }

Classificazione immagini

La classificazione delle immagini può essere utilizzata per identificare entità geografiche e oggetti in un'immagine. È possibile disporre di una o più classificazioni, a seconda del caso d'uso e del numero di elementi in un'immagine. Ad esempio, se si dispone di un'immagine di una persona in esecuzione, Vision identifica la persona, l'abbigliamento e le calzature.

Vision fornisce un punteggio di affidabilità per ogni etichetta. Il punteggio di affidabilità è un numero decimale. I punteggi più vicini a 1 indicano una maggiore fiducia nell'etichetta, mentre i punteggi più bassi indicano un punteggio di affidabilità più basso. L'intervallo del punteggio di affidabilità per ogni etichetta è compreso tra 0 e 1.

Di seguito sono riportate le funzioni supportate.
  • Etichette
  • Punteggio affidabilità
  • Classi di ontologia
  • Richieste singole
  • Richieste batch
Esempio di classificazione delle immagini

Esempio di utilizzo della classificazione delle immagini in Vision.

Immagine di input
Immagine di input per classificazione immagine Immagine di tralicci elettrici che attraversano una strada.
Richiesta API:
{ "analyzeImageDetails":
 { "compartmentId": "",
   "image":
           { "namespaceName": "",
             "bucketName": "",
             "objectName": "",
             "source": "OBJECT_STORAGE" },
             "features":
                        [ { "featureType": "IMAGE_CLASSIFICATION",
                            "maxResults": 5 } ]
 } 
}
output:
Risposta API:
{ "labels":
           [ { "name": "Overhead power line",
               "confidence": 0.99315816 },
             { "name": "Transmission tower",
               "confidence": 0.9927904 },
             { "name": "Plant", "confidence": 0.9924676 },
             { "name": "Sky", "confidence": 0.9924451 },
             { "name": "Line", "confidence": 0.9912027 } ] ...

Rilevamento facciale

La visione può rilevare e riconoscere i volti in un'immagine.

Il rilevamento facciale consente di passare un'immagine o un batch di immagini a Vision per rilevare quanto segue utilizzando un modello pre-addestrato:

  • L'esistenza di volti in ogni immagine.
  • La posizione dei volti in ogni immagine.
  • Punti di riferimento per ogni viso.
  • Qualità visiva di ogni viso.

Per utilizzare questo modello pre-addestrato non è richiesta alcuna esperienza di data science.

Esempio di viso

Un esempio di rilevamento del volto in Vision.

Immagine di input
Immagine di input per la richiesta API Immagine di una moto accanto a un'auto. di rilevamento facciale:
{
  "compartmentId": "ocid1.compartment.oc1..aaaaaaaau3mwjanch4k54g45rizeqy52jcaxmiu4ii3kwy7hvn6pncs6yyba",
  "image": {
    "namespaceName": "axwlrwe7tbir",
    "bucketName": "demo_examples",
    "objectName": "FaceDetection/FaceDetection1.jpeg",
    "source": "OBJECT_STORAGE"
  },
  "features": [
    {
      "featureType": "FACE_DETECTION",
      "maxResults": 50,
      "shouldReturnLandmarks": true
    }
  ]
}
output:
Immagine di output per il rilevamento del volto I testi nell'immagine di input sono circondati da riquadri.
Risposta API:
{
  "ontologyClasses": [],
  "detectedFaces": [
    {
      "confidence": 0.9838427,
      "boundingPolygon": {
        "normalizedVertices": [
          {
            "x": 0.48696465492248536,
            "y": 0.2889890061576746
          },
          {
            "x": 0.6339863777160645,
            "y": 0.2889890061576746
          },
          {
            "x": 0.6339863777160645,
            "y": 0.586297366400352
          },
          {
            "x": 0.48696465492248536,
            "y": 0.586297366400352
          }
        ]
      },
      "qualityScore": 0.9043028,
      "landmarks": [
        {
          "type": "LEFT_EYE",
          "x": 0.5203125,
          "y": 0.41114983
        },
        {
          "type": "RIGHT_EYE",
          "x": 0.590625,
          "y": 0.41231126
        },
        {
          "type": "NOSE_TIP",
          "x": 0.553125,
          "y": 0.4715447
        },
        {
          "type": "LEFT_EDGE_OF_MOUTH",
          "x": 0.5210937,
          "y": 0.5005807
        },
        {
          "type": "RIGHT_EDGE_OF_MOUTH",
          "x": 0.5914062,
          "y": 0.5017422
        }
      ]
    },
    {
      "confidence": 0.9775677,
      "boundingPolygon": {
        "normalizedVertices": [
          {
            "x": 0.7882407665252685,
            "y": 0.26365977075734065
          },
          {
            "x": 0.9403343200683594,
            "y": 0.26365977075734065
          },
          {
            "x": 0.9403343200683594,
            "y": 0.5528718281567582
          },
          {
            "x": 0.7882407665252685,
            "y": 0.5528718281567582
          }
        ]
      },
      "qualityScore": 0.786416,
      "landmarks": [
        {
          "type": "LEFT_EYE",
          "x": 0.81328124,
          "y": 0.37514517
        },
        {
          "type": "RIGHT_EYE",
          "x": 0.88125,
          "y": 0.39140534
        },
        {
          "type": "NOSE_TIP",
          "x": 0.8296875,
          "y": 0.44134727
        },
        {
          "type": "LEFT_EDGE_OF_MOUTH",
          "x": 0.8078125,
          "y": 0.46689895
        },
        {
          "type": "RIGHT_EDGE_OF_MOUTH",
          "x": 0.8726562,
          "y": 0.48083624
        }
      ]
    },
    {
      "confidence": 0.97464997,
      "boundingPolygon": {
        "normalizedVertices": [
          {
            "x": 0.038544440269470216,
            "y": 0.2764744597998784
          },
          {
            "x": 0.17794162034988403,
            "y": 0.2764744597998784
          },
          {
            "x": 0.17794162034988403,
            "y": 0.560027438173726
          },
          {
            "x": 0.038544440269470216,
            "y": 0.560027438173726
          }
        ]
      },
      "qualityScore": 0.8527186,
      "landmarks": [
        {
          "type": "LEFT_EYE",
          "x": 0.08984375,
          "y": 0.3809524
        },
        {
          "type": "RIGHT_EYE",
          "x": 0.15234375,
          "y": 0.39140534
        },
        {
          "type": "NOSE_TIP",
          "x": 0.12421875,
          "y": 0.44599304
        },
        {
          "type": "LEFT_EDGE_OF_MOUTH",
          "x": 0.07734375,
          "y": 0.46689895
        },
        {
          "type": "RIGHT_EDGE_OF_MOUTH",
          "x": 0.14375,
          "y": 0.47619048
        }
      ]
    },
    {
      "confidence": 0.96874785,
      "boundingPolygon": {
        "normalizedVertices": [
          {
            "x": 0.2698225736618042,
            "y": 0.24420403492713777
          },
          {
            "x": 0.38425185680389407,
            "y": 0.24420403492713777
          },
          {
            "x": 0.38425185680389407,
            "y": 0.4686152760575457
          },
          {
            "x": 0.2698225736618042,
            "y": 0.4686152760575457
          }
        ]
      },
      "qualityScore": 0.8934359,
      "landmarks": [
        {
          "type": "LEFT_EYE",
          "x": 0.29453126,
          "y": 0.3240418
        },
        {
          "type": "RIGHT_EYE",
          "x": 0.3484375,
          "y": 0.33681765
        },
        {
          "type": "NOSE_TIP",
          "x": 0.31328124,
          "y": 0.3821138
        },
        {
          "type": "LEFT_EDGE_OF_MOUTH",
          "x": 0.2890625,
          "y": 0.39372823
        },
        {
          "type": "RIGHT_EDGE_OF_MOUTH",
          "x": 0.3453125,
          "y": 0.40301976
        }
      ]
    },
    {
      "confidence": 0.95825064,
      "boundingPolygon": {
        "normalizedVertices": [
          {
            "x": 0.6876011371612549,
            "y": 0.10002164585942037
          },
          {
            "x": 0.8045546531677246,
            "y": 0.10002164585942037
          },
          {
            "x": 0.8045546531677246,
            "y": 0.3600864033804261
          },
          {
            "x": 0.6876011371612549,
            "y": 0.3600864033804261
          }
        ]
      },
      "qualityScore": 0.9237982,
      "landmarks": [
        {
          "type": "LEFT_EYE",
          "x": 0.7171875,
          "y": 0.19976771
        },
        {
          "type": "RIGHT_EYE",
          "x": 0.7703125,
          "y": 0.21254355
        },
        {
          "type": "NOSE_TIP",
          "x": 0.7367188,
          "y": 0.2601626
        },
        {
          "type": "LEFT_EDGE_OF_MOUTH",
          "x": 0.7085937,
          "y": 0.2752613
        },
        {
          "type": "RIGHT_EDGE_OF_MOUTH",
          "x": 0.76640624,
          "y": 0.2857143
        }
      ]
    }
  ],
  "faceDetectionModelVersion": "1.0.27",
  "errors": []
}

riconoscimento ottico dei caratteri (OCR)

Vision è in grado di rilevare e riconoscere il testo in un documento.

La classificazione della lingua identifica la lingua di un documento, quindi OCR disegna caselle di delimitazione attorno al testo stampato o scritto a mano che trova in un'immagine e digitalizza il testo. Ad esempio, se si dispone di un'immagine di stop, Vision trova il testo nell'immagine ed estrae il testo STOP. Fornisce riquadri per il testo identificato.

Vision fornisce un punteggio di affidabilità per ogni raggruppamento di testo. Il punteggio di affidabilità è un numero decimale. I punteggi più vicini a 1 indicano una maggiore fiducia nel testo estratto, mentre i punteggi più bassi indicano un punteggio di affidabilità più basso. L'intervallo del punteggio di affidabilità per ogni etichetta è compreso tra 0 e 1.

Il rilevamento del testo può essere utilizzato con i modelli AI documento o Analisi immagine.

Il supporto OCR è limitato all'inglese. Se sai che il testo nelle tue immagini è in inglese, imposta la lingua su Eng.

Di seguito sono riportate le funzioni supportate.
  • Estrazione parola
  • Estrazione righe di testo
  • Punteggio affidabilità
  • Polighi di delimitazione
  • Richiesta singola
  • Richiesta batch
Esempio OCR

Esempio di utilizzo di OCR in Vision.

Immagine di input
Immagine di input per la richiesta API Immagine di una moto accanto a un'auto. OCR:
{ "analyzeImageDetails":
 { "compartmentId": "",
   "image":
           { "namespaceName": "",
             "bucketName": "",
             "objectName": "",
             "source": "OBJECT_STORAGE" },
   "features":
              [ { "featureType": "TEXT_DETECTION" } ]
 }
}
output:
Immagine di output per OCR I testi nell'immagine di input sono circondati da riquadri.
Risposta API:
...
 { "text": "585-XRP",
   "confidence": 0.9905539,
   "boundingPolygon":
                     { "normalizedVertices":
                                            [ { "x": 0.466,
                                                "y": 0.7349397590361446 },
                                              { "x": 0.552,
                                                "y": 0.7319277108433735 },
                                              { "x": 0.553,
                                                "y": 0.7831325301204819 },
                                              { "x": 0.467,
                                                "y": 0.7876506024096386 } ]
                     }
 } 
...

Uso dei modelli di analisi delle immagini predefiniti

Vision fornisce ai clienti modelli pre-addestrati per estrarre insight sulle loro immagini senza dover ricorrere ai data scientist.

Prima di utilizzare un modello pre-addestrato, è necessario eseguire le operazioni riportate di seguito.

  • Account tenancy a pagamento in Oracle Cloud Infrastructure.

  • Familiarità con Oracle Cloud Infrastructure Object Storage.

Puoi chiamare i modelli di analisi delle immagini pre-addestrati come richiesta batch utilizzando le API Rest, l'SDK o l'interfaccia CLI. Puoi chiamare i modelli di analisi delle immagini pre-addestrati come una singola richiesta utilizzando la console, le API Rest, l'SDK o l'interfaccia CLI.

Per informazioni sugli elementi consentiti nelle richieste batch, vedere la sezione Limiti.