Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Note
Azure AI Zoeken is beschikbaar via de Azure-portal, REST API's en Azure-SDK's. Het vormt ook een basis voor Foundry IQ, de beheerde kennislaag die bedrijfsinhoud transformeert in herbruikbare, machtigingsbewuste knowledge bases voor agents in de Microsoft Foundry-portal.
De vaardigheid Beeldanalyse haalt een rijke set visuele kenmerken uit op basis van de beeldinhoud. Je kunt bijvoorbeeld een bijschrift genereren van een afbeelding, tags genereren of beroemdheden en herkenningspunten identificeren. Dit artikel is de referentiedocumentatie voor de vaardigheid Beeldanalyse . Zie Tekst en informatie uit afbeeldingen extraheren voor gebruiksinstructies.
Deze vaardigheid maakt gebruik van de machine learning-modellen van Azure Vision in Foundry Tools. Beeldanalyse werkt aan beelden die aan de volgende eisen voldoen:
- De afbeelding moet worden weergegeven in JPEG-, PNG-, GIF- of BMP-formaat
- De bestandsgrootte van de afbeelding moet kleiner zijn dan 4 MB (megabytes)
- De afmetingen van de afbeelding moeten groter zijn dan 50 x 50 pixels
Ondersteunde databronnen voor OCR en beeldanalyse zijn blobs in Azure Blob Storage en Azure Data Lake Storage (ADLS) Gen2, en afbeeldingsinhoud in Microsoft OneLake. Afbeeldingen kunnen op zichzelf staande bestanden zijn of ingesloten afbeeldingen in een PDF of andere bestanden.
Deze vaardigheid wordt geïmplementeerd met de AI Image Analysis API versie 3.2. Als voor uw oplossing een nieuwere versie van die service-API moet worden aangeroepen, zoals versie 4.0, kunt u overwegen om te implementeren via de vaardigheid aangepaste web-API.
Note
Deze vaardigheid is gebonden aan Foundry Tools en vereist een declarabele bron voor transacties die meer dan 20 documenten per indexer per dag bedragen. Uitvoering van ingebouwde vaardigheden wordt in rekening gebracht tegen de bestaande Prijs van Foundry Tools Standard.
Daarnaast is beeldextractie declareerbaar met Azure AI Zoeken.
@odata.type
Microsoft.Skills.Vision.ImageAnalysisSkill
Vaardigheidsparameters
Parameters zijn hoofdlettergevoelig.
| Parameternaam | Description |
|---|---|
defaultLanguageCode |
Een string die aangeeft welke taal terug moet komen. De service geeft herkenningsresultaten terug in een bepaalde taal. Als deze parameter niet is gespecificeerd, is de standaardwaarde "en". Ondersteunde talen omvatten een subset van algemeen beschikbare talen van Azure Vision. Wanneer een taal met algemene beschikbaarheid wordt geïntroduceerd in Azure Vision, is er een verwachte vertraging voordat ze volledig in deze vaardigheid zijn geïntegreerd. |
visualFeatures |
Een array van strings die aangeven welke visuele kenmerken moeten terugkeren. Geldige soorten visuele kenmerken zijn onder andere:
defaultLanguageCode. |
details |
Een array van strings die aangeven welke domeinspecifieke details moeten worden teruggegeven. Geldige soorten visuele kenmerken zijn onder andere:
|
Invoer van vaardigheden
| Invoernaam | Description |
|---|---|
image |
Complexe Type Werkt momenteel alleen met het veld "/document/normalized_images", geproduceerd door de Azure blob-indexer wanneer imageAction is ingesteld op een andere waarde dan none. |
Uitvoer van vaardigheden
| Uitvoernaam | Description |
|---|---|
adult |
Output is een enkel volwassen object van een complex type, bestaande uit booleaanse velden (isAdultContent, isGoryContent, isRacyContent) en dubbele type-scores (adultScore, goreScore, , racyScore). |
brands |
Output is een array van merkobjecten , waarbij het object een complex type is bestaande uit name (string) en een confidence score (double). Het geeft ook een rectangle met vier coördinaten van begrenzende doosen (x, y, w, h, , in pixels) terug die de plaatsing binnen de afbeelding aangeven. Voor de rechthoek, x en y zijn linksboven. Linksonder is x, y+h. Rechtsboven is x+w, y. Rechtsonder is x+w, y+h. |
categories |
Output is een array van categorieobjecten , waarbij elk categorieobject een complex type is bestaande uit een name (string), score (dubbel), en optioneel detail dat celebrity- of mijlpaaldetails bevat. Zie de categorie-taxonomie voor de volledige lijst met categorienamen. Een detail is een genest complex type. Een beroemdheidsdetail bestaat uit een naam, een zelfstandscore en een facebounding-box. Een belangrijk detail bestaat uit een naam en een betrouwbaarheidsscore. |
description |
Output is een object van één beschrijving van een complex type, bestaande uit lijsten van tags en caption (een array bestaande uit Text (string) en confidence (double)). |
faces |
Complex type bestaande uit age, gender, en faceBoundingBox met vier begrenzende dooscoördinaten (in pixels) die de plaatsing binnen het beeld aangeven. Coördinaten zijn top, left, width, . height |
objects |
Output is een array van visuele feature-objecten. Elk object is een complex type, bestaande uit object (string), (double), confidencerectangle (met vier coördinaten van bounding boxen die plaatsing binnen de afbeelding aangeven), en een parent die een objectnaam en betrouwbaarheid bevat. |
tags |
Output is een array van imageTag-objecten , waarbij een tagobject een complex type is bestaande uit name (string), hint (string) en confidence (double). Het toevoegen van een hint is zeldzaam. Het wordt alleen gegenereerd als een tag ambigu is. Een afbeelding die bijvoorbeeld als "curling" is getagd, kan een hint van "sport" bevatten om de inhoud beter aan te geven. |
Definitie van een voorbeeldvaardigheid
{
"description": "Extract image analysis.",
"@odata.type": "#Microsoft.Skills.Vision.ImageAnalysisSkill",
"context": "/document/normalized_images/*",
"defaultLanguageCode": "en",
"visualFeatures": [
"adult",
"brands",
"categories",
"description",
"faces",
"objects",
"tags"
],
"inputs": [
{
"name": "image",
"source": "/document/normalized_images/*"
}
],
"outputs": [
{
"name": "adult"
},
{
"name": "brands"
},
{
"name": "categories"
},
{
"name": "description"
},
{
"name": "faces"
},
{
"name": "objects"
},
{
"name": "tags"
}
]
}
Voorbeeldindex
Voor losse objecten (zoals adult en description), kun je ze in de index structureren als een Collection(Edm.ComplexType) om terug te geven adult en description voor ze allemaal te outputten. Voor meer informatie over het mappen van uitvoer naar indexvelden, zie Afvlakken van informatie van complexe types.
{
"fields": [
{
"name": "metadata_storage_name",
"type": "Edm.String",
"key": true,
"searchable": true,
"filterable": false,
"facetable": false,
"sortable": true
},
{
"name": "metadata_storage_path",
"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": "adult",
"type": "Edm.ComplexType",
"fields": [
{
"name": "isAdultContent",
"type": "Edm.Boolean",
"searchable": false,
"filterable": true,
"facetable": true
},
{
"name": "isGoryContent",
"type": "Edm.Boolean",
"searchable": false,
"filterable": true,
"facetable": true
},
{
"name": "isRacyContent",
"type": "Edm.Boolean",
"searchable": false,
"filterable": true,
"facetable": true
},
{
"name": "adultScore",
"type": "Edm.Double",
"searchable": false,
"filterable": false,
"facetable": false
},
{
"name": "goreScore",
"type": "Edm.Double",
"searchable": false,
"filterable": false,
"facetable": false
},
{
"name": "racyScore",
"type": "Edm.Double",
"searchable": false,
"filterable": false,
"facetable": false
}
]
},
{
"name": "brands",
"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": "rectangle",
"type": "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": "w",
"type": "Edm.Int32",
"searchable": false,
"filterable": false,
"facetable": false
},
{
"name": "h",
"type": "Edm.Int32",
"searchable": false,
"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": "top",
"type": "Edm.Int32",
"searchable": false,
"filterable": false,
"facetable": false
},
{
"name": "left",
"type": "Edm.Int32",
"searchable": false,
"filterable": false,
"facetable": false
},
{
"name": "width",
"type": "Edm.Int32",
"searchable": false,
"filterable": false,
"facetable": false
},
{
"name": "height",
"type": "Edm.Int32",
"searchable": false,
"filterable": false,
"facetable": false
}
]
}
]
},
{
"name": "objects",
"type": "Collection(Edm.ComplexType)",
"fields": [
{
"name": "object",
"type": "Edm.String",
"searchable": true,
"filterable": false,
"facetable": false
},
{
"name": "confidence",
"type": "Edm.Double",
"searchable": false,
"filterable": false,
"facetable": false
},
{
"name": "rectangle",
"type": "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": "w",
"type": "Edm.Int32",
"searchable": false,
"filterable": false,
"facetable": false
},
{
"name": "h",
"type": "Edm.Int32",
"searchable": false,
"filterable": false,
"facetable": false
}
]
},
{
"name": "parent",
"type": "Edm.ComplexType",
"fields": [
{
"name": "object",
"type": "Edm.String",
"searchable": true,
"filterable": false,
"facetable": false
},
{
"name": "confidence",
"type": "Edm.Double",
"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": "hint",
"type": "Edm.String",
"searchable": true,
"filterable": false,
"facetable": false
},
{
"name": "confidence",
"type": "Edm.Double",
"searchable": false,
"filterable": false,
"facetable": false
}
]
}
]
}
Voorbeeld uitvoerveldmapping
Het doelveld kan een complex veld of verzameling zijn. De indexdefinitie specificeert elke deelveld.
"outputFieldMappings": [
{
"sourceFieldName": "/document/normalized_images/*/adult",
"targetFieldName": "adult"
},
{
"sourceFieldName": "/document/normalized_images/*/brands/*",
"targetFieldName": "brands"
},
{
"sourceFieldName": "/document/normalized_images/*/categories/*",
"targetFieldName": "categories"
},
{
"sourceFieldName": "/document/normalized_images/*/description",
"targetFieldName": "description"
},
{
"sourceFieldName": "/document/normalized_images/*/faces/*",
"targetFieldName": "faces"
},
{
"sourceFieldName": "/document/normalized_images/*/objects/*",
"targetFieldName": "objects"
},
{
"sourceFieldName": "/document/normalized_images/*/tags/*",
"targetFieldName": "tags"
}
Variatie op uitvoerveldafbeeldingen (geneste eigenschappen)
Je kunt outputveldafbeeldingen definiëren naar lagere eigenschappen, zoals alleen beroemdheden of herkenningspunten. Zorg er in dat geval voor dat je indexschema een veld bevat dat elk detail specifiek bevat.
"outputFieldMappings": [
{
"sourceFieldName": "/document/normalized_images/*/categories/detail/celebrities/*",
"targetFieldName": "celebrities"
},
{
"sourceFieldName": "/document/normalized_images/*/categories/detail/landmarks/*",
"targetFieldName": "landmarks"
}
Voorbeeldinvoer
{
"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,
"pageNumber": 2
}
}
}
]
}
Voorbeelduitvoer
{
"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": [ ]
}
}
],
"adult": {
"isAdultContent": false,
"isRacyContent": false,
"isGoryContent": false,
"adultScore": 0.0934349000453949,
"racyScore": 0.068613491952419281,
"goreScore": 0.08928389008070282
},
"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
}
]
},
"faces": [
{
"age": 44,
"gender": "Male",
"faceBoundingBox": [
{
"x": 1601,
"y": 395
},
{
"x": 1653,
"y": 395
},
{
"x": 1653,
"y": 447
},
{
"x": 1601,
"y": 447
}
]
}
],
"objects": [
{
"rectangle": {
"x": 25,
"y": 43,
"w": 172,
"h": 140
},
"object": "person",
"confidence": 0.931
}
],
"brands":[
{
"name":"Microsoft",
"confidence": 0.903,
"rectangle":{
"x":20,
"y":97,
"w":62,
"h":52
}
}
]
}
}
]
}
Foutgevallen
In de volgende foutgevallen worden geen elementen geëxtraheerd.
| Foutcode | Description |
|---|---|
NotSupportedLanguage |
De aangeboden taal wordt niet ondersteund. |
InvalidImageUrl |
De afbeeldings-URL is slecht opgemaakt of niet toegankelijk. |
InvalidImageFormat |
Invoergegevens zijn geen geldige afbeelding. |
InvalidImageSize |
Invoerafbeelding is te groot. |
NotSupportedVisualFeature |
Het opgegeven type functie is niet geldig. |
NotSupportedImage |
Niet-ondersteunde afbeelding, bijvoorbeeld kinderporno. |
InvalidDetails |
Niet-ondersteund domeinspecifiek model. |
Als je de foutmelding krijgt die vergelijkbaar is met "One or more skills are invalid. Details: Error in skill #<num>: Outputs are not supported by skill: Landmarks", controleer het pad. Zowel beroemdheden als bezienswaardigheden vallen onder detail.
"categories":[
{
"name":"building_",
"score":0.97265625,
"detail":{
"landmarks":[
{
"name":"Forbidden City",
"confidence":0.92013400793075562
}
]