Bildanalyse – kognitiver SkillImage Analysis cognitive skill

Der Skill Bildanalyse extrahiert einen umfangreichen Satz von visuellen Merkmalen aus dem Bildinhalt.The Image Analysis skill extracts a rich set of visual features based on the image content. So können Sie beispielsweise anhand eines Bilds eine Beschriftung erstellen, Tags generieren oder Prominente und Sehenswürdigkeiten identifizieren.For example, you can generate a caption from an image, generate tags, or identify celebrities and landmarks. Diese Qualifikation verwendet die durch Maschinelles Sehen in Cognitive Services bereitgestellten Machine Learning-Modelle.This skill uses the machine learning models provided by Computer Vision in Cognitive Services.

Hinweis

Wenn Sie den Umfang erweitern, indem Sie die Verarbeitungsfrequenz erhöhen oder weitere Dokumente oder KI-Algorithmen hinzufügen, müssen Sie eine kostenpflichtige Cognitive Services-Ressource anfügen.As you expand scope by increasing the frequency of processing, adding more documents, or adding more AI algorithms, you will need to attach a billable Cognitive Services resource. Gebühren fallen beim Aufrufen von APIs in Cognitive Services sowie für die Bildextraktion im Rahmen der Dokumentaufschlüsselungsphase in Azure Search an.Charges accrue when calling APIs in Cognitive Services, and for image extraction as part of the document-cracking stage in Azure Search. Für die Textextraktion aus Dokumenten fallen keine Gebühren an.There are no charges for text extraction from documents.

Die Ausführung integrierter Qualifikationen wird nach dem bestehenden nutzungsbasierten Preis für Cognitive Services berechnet.Execution of built-in skills is charged at the existing Cognitive Services pay-as-you go price. Die Preise für die Bildextraktion werden auf der Preisseite von Azure Search beschrieben.Image extraction pricing is described on the Azure Search pricing page.

@odata.type

Microsoft.Skills.Vision.ImageAnalysisSkillMicrosoft.Skills.Vision.ImageAnalysisSkill

SkillparameterSkill parameters

Bei den Parametern wird zwischen Groß- und Kleinschreibung unterschieden.Parameters are case-sensitive.

ParameternameParameter name BESCHREIBUNGDescription
defaultLanguageCodedefaultLanguageCode Eine Zeichenfolge, die angibt, welche Sprache zurückgegeben werden soll.A string indicating the language to return. Der Dienst gibt die Ergebnisse der Erkennung in einer bestimmten Sprache zurück.The service returns recognition results in a specified language. Wenn dieser Parameter nicht angegeben wird, ist der Standardwert „en“.If this parameter is not specified, the default value is "en".

Unterstützte Sprachen:Supported languages are:
en: Englisch (Standard)en - English (default)
zh: vereinfachtes Chinesischzh - Simplified Chinese
visualFeaturesvisualFeatures Ein Array aus Zeichenfolgen, die angibt, welche Arten von visuellen Merkmalen zurückgegeben werden sollen.An array of strings indicating the visual feature types to return. Folgende Arten von visuellen Merkmalen sind gültig:Valid visual feature types include:
  • categories: Kategorisiert Bildinhalte gemäß einer Taxonomie, die in der Dokumentation zu Cognitive Services definiert ist.categories - categorizes image content according to a taxonomy defined in the Cognitive Services documentation.
  • tags: Erstellt Tags für das Bild in einer detaillierten Liste aus Wörtern, die sich auf den Bildinhalt beziehen.tags - tags the image with a detailed list of words related to the image content.
  • description: Beschreibt den Bildinhalt mit einem vollständigen Satz.description - describes the image content with a complete English sentence.
  • faces: Erkennt, ob Gesichter vorhanden sind.faces - detects if faces are present. Wenn Gesichter vorhanden sind, generiert dieses Merkmal Informationen zu Koordinaten, Geschlecht und Alter.If present, generates coordinates, gender, and age.
  • imageType: Erkennt, ob das Bild ein pixelbasiertes ClipArt oder eine linienbasierte Zeichnung ist.imageType - detects if image is clip art or a line drawing.
  • color: Bestimmt die Akzentfarbe und die dominante Farbe und ermittelt, ob ein Bild schwarzweiß ist.color - determines the accent color, dominant color, and whether an image is black&white.
  • adult: Erkennt, ob das Bild pornografische Natur ist (erkennt Nacktheit oder sexuelle Handlungen).adult - detects if the image is pornographic in nature (depicts nudity or a sex act). Zweideutige und freizügige Inhalte werden ebenfalls erkannt.Sexually suggestive content is also detected.
Bei den Namen der visuellen Merkmale wird die Groß- und Kleinschreibung beachtet.Names of visual features are case-sensitive.
detailsdetails Ein Array aus Zeichenfolgen, die angeben, welche domänenspezifischen Informationen zurückgegeben werden sollen.An array of strings indicating which domain-specific details to return. Folgende Arten von visuellen Merkmalen sind gültig:Valid visual feature types include:
  • celebrities: Identifiziert Prominente in einem Bild.celebrities - identifies celebrities if detected in the image.
  • landmarks: Identifiziert Sehenswürdigkeiten in einem Bild.landmarks - identifies landmarks if detected in the image.

SkilleingabenSkill inputs

EingabenameInput name BESCHREIBUNGDescription
imageimage Komplexer Typ.Complex Type. Arbeitet derzeit mit dem Feld „/document/normalized_images“, das vom Azure Blob-Indexer generiert wird, wenn imageAction auf einen anderen Wert als none gesetzt ist.Currently only works with "/document/normalized_images" field, produced by the Azure Blob indexer when imageAction is set to a value other than none. Weitere Informationen finden Sie im Beispiel.See the sample for more information.

BeispieldefinitionSample definition

        {
            "description": "Extract image analysis.",
            "@odata.type": "#Microsoft.Skills.Vision.ImageAnalysisSkill",
            "context": "/document/normalized_images/*",
            "defaultLanguageCode": "en",
            "visualFeatures": [
                "Tags",
                "Categories",
                "Description",
                "Faces"
            ],
            "inputs": [
                {
                    "name": "image",
                    "source": "/document/normalized_images/*"
                }
            ],
            "outputs": [
                {
                    "name": "categories"
                },
                {
                    "name": "tags"
                },
                {
                    "name": "description"
                },
                {
                    "name": "faces"
                }
            ]
        }

Beispielindex (nur für die Felder „Kategorien“, „Beschreibung „, „Gesichter“ und „Tags“)Sample index (for only the categories, description, faces and tags fields)

{
    "fields": [
        {
            "name": "id",
            "type": "Edm.String",
            "key": true,
            "searchable": true,
            "filterable": false,
            "facetable": false,
            "sortable": true
        },
        {
            "name": "blob_uri",
            "type": "Edm.String",
            "searchable": true,
            "filterable": false,
            "facetable": false,
            "sortable": true
        },
        {
            "name": "content",
            "type": "Edm.String",
            "sortable": false,
            "searchable": true,
            "filterable": false,
            "facetable": false
        },
        {
            "name": "categories",
            "type": "Collection(Edm.ComplexType)",
            "fields": [
                {
                    "name": "name",
                    "type": "Edm.String",
                    "searchable": true,
                    "filterable": false,
                    "facetable": false
                },
                {
                    "name": "score",
                    "type": "Edm.Double",
                    "searchable": false,
                    "filterable": false,
                    "facetable": false
                },
                {
                    "name": "detail",
                    "type": "Edm.ComplexType",
                    "fields": [
                        {
                            "name": "celebrities",
                            "type": "Collection(Edm.ComplexType)",
                            "fields": [
                                {
                                    "name": "name",
                                    "type": "Edm.String",
                                    "searchable": true,
                                    "filterable": false,
                                    "facetable": false
                                },
                                {
                                    "name": "faceBoundingBox",
                                    "type": "Collection(Edm.ComplexType)",
                                    "fields": [
                                        {
                                            "name": "x",
                                            "type": "Edm.Int32",
                                            "searchable": false,
                                            "filterable": false,
                                            "facetable": false
                                        },
                                        {
                                            "name": "y",
                                            "type": "Edm.Int32",
                                            "searchable": false,
                                            "filterable": false,
                                            "facetable": false
                                        }
                                    ]
                                },
                                {
                                    "name": "confidence",
                                    "type": "Edm.Double",
                                    "searchable": false,
                                    "filterable": false,
                                    "facetable": false
                                }
                            ]
                        },
                        {
                            "name": "landmarks",
                            "type": "Collection(Edm.ComplexType)",
                            "fields": [
                                {
                                    "name": "name",
                                    "type": "Edm.String",
                                    "searchable": true,
                                    "filterable": false,
                                    "facetable": false
                                },
                                {
                                    "name": "confidence",
                                    "type": "Edm.Double",
                                    "searchable": false,
                                    "filterable": false,
                                    "facetable": false
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        {
            "name": "description",
            "type": "Collection(Edm.ComplexType)",
            "fields": [
                {
                    "name": "tags",
                    "type": "Collection(Edm.String)",
                    "searchable": true,
                    "filterable": false,
                    "facetable": false
                },
                {
                    "name": "captions",
                    "type": "Collection(Edm.ComplexType)",
                    "fields": [
                        {
                            "name": "text",
                            "type": "Edm.String",
                            "searchable": true,
                            "filterable": false,
                            "facetable": false
                        },
                        {
                            "name": "confidence",
                            "type": "Edm.Double",
                            "searchable": false,
                            "filterable": false,
                            "facetable": false
                        }
                    ]
                }
            ]
        },
        {
            "name": "faces",
            "type": "Collection(Edm.ComplexType)",
            "fields": [
                {
                    "name": "age",
                    "type": "Edm.Int32",
                    "searchable": false,
                    "filterable": false,
                    "facetable": false
                },
                {
                    "name": "gender",
                    "type": "Edm.String",
                    "searchable": false,
                    "filterable": false,
                    "facetable": false
                },
                {
                    "name": "faceBoundingBox",
                    "type": "Collection(Edm.ComplexType)",
                    "fields": [
                        {
                            "name": "x",
                            "type": "Edm.Int32",
                            "searchable": false,
                            "filterable": false,
                            "facetable": false
                        },
                        {
                            "name": "y",
                            "type": "Edm.Int32",
                            "searchable": false,
                            "filterable": false,
                            "facetable": false
                        }
                    ]
                }
            ]
        },
        {
            "name": "tags",
            "type": "Collection(Edm.ComplexType)",
            "fields": [
                {
                    "name": "name",
                    "type": "Edm.String",
                    "searchable": true,
                    "filterable": false,
                    "facetable": false
                },
                {
                    "name": "confidence",
                    "type": "Edm.Double",
                    "searchable": false,
                    "filterable": false,
                    "facetable": false
                }
            ]
        }
    ]
}

Beispielausgabefeldzuordnung (für den oben genannten Index)Sample output field mapping (for the above index)

    "outputFieldMappings": [
        {
            "sourceFieldName": "/document/normalized_images/*/categories/*",
            "targetFieldName": "categories"
        },
        {
            "sourceFieldName": "/document/normalized_images/*/tags/*",
            "targetFieldName": "tags"
        },
        {
            "sourceFieldName": "/document/normalized_images/*/description",
            "targetFieldName": "description"
        },
        {
            "sourceFieldName": "/document/normalized_images/*/faces/*",
            "targetFieldName": "faces"
        }

BeispieleingabeSample input

{
    "values": [
        {
            "recordId": "1",
            "data": {
                "image": {
                    "data": "BASE64 ENCODED STRING OF A JPEG IMAGE",
                    "width": 500,
                    "height": 300,
                    "originalWidth": 5000,
                    "originalHeight": 3000,
                    "rotationFromOriginal": 90,
                    "contentOffset": 500
                }
            }
        }
    ]
}

BeispielausgabeSample output

{
    "values": [
        {
            "recordId": "1",
            "data": {
                "categories": [
                    {
                        "name": "abstract_",
                        "score": 0.00390625
                    },
                    {
                        "name": "people_",
                        "score": 0.83984375,
                        "detail": {
                            "celebrities": [
                                {
                                    "name": "Satya Nadella",
                                    "faceBoundingBox": [
                                        {
                                            "x": 273,
                                            "y": 309
                                        },
                                        {
                                            "x": 395,
                                            "y": 309
                                        },
                                        {
                                            "x": 395,
                                            "y": 431
                                        },
                                        {
                                            "x": 273,
                                            "y": 431
                                        }
                                    ],
                                    "confidence": 0.999028444
                                }
                            ],
                            "landmarks": [
                                {
                                    "name": "Forbidden City",
                                    "confidence": 0.9978346
                                }
                            ]
                        }
                    }
                ],
                "adult": {
                    "isAdultContent": false,
                    "isRacyContent": false,
                    "adultScore": 0.0934349000453949,
                    "racyScore": 0.068613491952419281
                },
                "tags": [
                    {
                        "name": "person",
                        "confidence": 0.98979085683822632
                    },
                    {
                        "name": "man",
                        "confidence": 0.94493889808654785
                    },
                    {
                        "name": "outdoor",
                        "confidence": 0.938492476940155
                    },
                    {
                        "name": "window",
                        "confidence": 0.89513939619064331
                    }
                ],
                "description": {
                    "tags": [
                        "person",
                        "man",
                        "outdoor",
                        "window",
                        "glasses"
                    ],
                    "captions": [
                        {
                            "text": "Satya Nadella sitting on a bench",
                            "confidence": 0.48293603002174407
                        }
                    ]
                },
                "requestId": "0dbec5ad-a3d3-4f7e-96b4-dfd57efe967d",
                "metadata": {
                    "width": 1500,
                    "height": 1000,
                    "format": "Jpeg"
                },
                "faces": [
                    {
                        "age": 44,
                        "gender": "Male",
                        "faceBoundingBox": [
                            {
                                "x": 1601,
                                "y": 395
                            },
                            {
                                "x": 1653,
                                "y": 395
                            },
                            {
                                "x": 1653,
                                "y": 447
                            },
                            {
                                "x": 1601,
                                "y": 447
                            }
                        ]
                    }
                ],
                "color": {
                    "dominantColorForeground": "Brown",
                    "dominantColorBackground": "Brown",
                    "dominantColors": [
                        "Brown",
                        "Black"
                    ],
                    "accentColor": "873B59",
                    "isBwImg": false
                    },
                "imageType": {
                    "clipArtType": 0,
                    "lineDrawingType": 0
                }
            }
        }
    ]
}

Auftretende FehlerError cases

In den folgenden Fällen werden keine Elemente extrahiert.In the following error cases, no elements are extracted.

FehlercodeError Code BESCHREIBUNGDescription
NotSupportedLanguageNotSupportedLanguage Die angegebene Sprache wird nicht unterstützt.The language provided is not supported.
InvalidImageUrlInvalidImageUrl Die Bild-URL ist falsch formatiert, oder es kann nicht darauf zugegriffen werden.Image URL is badly formatted or not accessible.
InvalidImageFormatInvalidImageFormat Bei den Eingabedaten handelt es sich nicht um ein gültiges Bild.Input data is not a valid image.
InvalidImageSizeInvalidImageSize Das Eingabebild ist zu groß.Input image is too large.
NotSupportedVisualFeatureNotSupportedVisualFeature Der angegebene Merkmaltyp ist ungültig.Specified feature type is not valid.
NotSupportedImageNotSupportedImage Nicht unterstütztes Bild, z.B. Kinderpornografie.Unsupported image, for example, child pornography.
InvalidDetailsInvalidDetails Nicht unterstütztes domänenspezifisches Modell.Unsupported domain-specific model.

Weitere InformationenSee also