Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Note
Pencarian Azure AI tersedia melalui portal Azure, REST API, dan Azure SDK. Ini juga mendukung Foundry IQ, lapisan pengetahuan terkelola yang mengubah konten perusahaan menjadi pangkalan pengetahuan yang dapat digunakan kembali dan sadar izin untuk agen di portal Microsoft Foundry.
Keterampilan Analisis Gambar mengekstrak serangkaian fitur visual yang kaya berdasarkan konten gambar. Misalnya, Anda dapat membuat keterangan dari gambar, membuat tag, atau mengidentifikasi selebriti dan landmark. Artikel ini adalah dokumentasi referensi untuk keterampilan Analisis Gambar . Lihat Mengekstrak teks dan informasi dari gambar untuk petunjuk penggunaan.
Keterampilan ini menggunakan model pembelajaran mesin yang disediakan oleh Azure Vision in Foundry Tools. Analisis Gambar bekerja pada gambar yang memenuhi persyaratan berikut:
- Gambar harus disajikan dalam format JPEG, PNG, GIF, atau BMP
- Ukuran file gambar harus kurang dari 4 megabyte (MB)
- Dimensi gambar harus lebih besar dari 50 x 50 piksel
Sumber data yang didukung untuk OCR dan analisis gambar adalah blob di Azure Blob Storage dan Azure Data Lake Storage (ADLS) Gen2, dan konten gambar di Microsoft OneLake. Gambar dapat berupa file mandiri atau gambar yang disematkan dalam PDF atau file lainnya.
Keterampilan ini diimplementasikan menggunakan API Analisis Gambar AI versi 3.2. Jika solusi Anda memerlukan panggilan versi API layanan yang lebih baru, seperti versi 4.0, pertimbangkan untuk menerapkan melalui keterampilan API Web Kustom.
Note
Keterampilan ini terikat pada Alat Pengecoran dan memerlukan sumber daya yang dapat ditagih untuk transaksi yang melebihi 20 dokumen per pengindeks per hari. Eksekusi keterampilan bawaan dibebankan pada harga Foundry Tools Standard yang ada.
Selain itu, ekstraksi gambar dapat dapat ditagih oleh Pencarian Azure AI.
@odata.type
Microsoft.Skills.Vision.ImageAnalysisSkill
Parameter keterampilan
Parameter peka huruf besar/kecil.
| Nama Parameter | Deskripsi |
|---|---|
defaultLanguageCode |
String yang menunjukkan bahasa yang akan dikembalikan. Layanan mengembalikan hasil pengenalan dalam bahasa tertentu. Jika parameter ini tidak ditentukan, nilai defaultnya adalah "en". Bahasa yang didukung mencakup subkumpulan bahasa yang tersedia secara umum dari Azure Vision. Ketika bahasa baru diperkenalkan dengan status ketersediaan umum ke dalam Azure Vision, ada penundaan yang diharapkan sebelum mereka sepenuhnya terintegrasi dalam keterampilan ini. |
visualFeatures |
Array string yang menunjukkan jenis fitur visual yang akan ditampilkan. Jenis fitur visual yang valid meliputi:
defaultLanguageCode. |
details |
Array string yang menunjukkan detail khusus domain mana yang akan ditampilkan. Jenis fitur visual yang valid meliputi:
|
Masukan keterampilan
| Masukkan nama | Deskripsi |
|---|---|
image |
Jenis Kompleks. Saat ini hanya berfungsi dengan bidang "/document/normalized_images", yang dihasilkan oleh pengindeks blob Azure saat imageAction diatur ke nilai selain none. |
Keluaran Keterampilan
| Nama output | Deskripsi |
|---|---|
adult |
Output adalah objek dewasa tunggal dari tipe kompleks, yang terdiri dari bidang boolean (isAdultContent, isGoryContent, ) isRacyContentdan skor tipe ganda (adultScore, goreScore, ). racyScore |
brands |
Output adalah array objek merek , di mana objek tersebut adalah jenis kompleks yang terdiri dari name (string) dan skor confidence (ganda). Ini juga mengembalikan dengan rectangle empat koordinat kotak pembatas (x, y, , wh, dalam piksel) yang menunjukkan penempatan di dalam gambar. Untuk persegi panjang, x dan y berada di kiri atas. Kiri bawah adalah x, y+h. Kanan atas adalah x+w, y. Kanan bawah adalah x+w, y+h. |
categories |
Output adalah array objek kategori , di mana setiap objek kategori adalah jenis kompleks yang terdiri dari ( name string), score (ganda), dan opsional detail yang berisi detail selebriti atau landmark. Lihat taksonomi kategori untuk daftar lengkap nama kategori. Detail adalah jenis kompleks bersarang. Detail selebriti terdiri dari nama, skor kepercayaan diri, dan kotak pembatas wajah. Detail tengara terdiri dari nama dan skor keyakinan. |
description |
Output adalah objek deskripsi tunggal dari jenis kompleks, yang terdiri dari daftar tags dan caption (array yang terdiri dari Text (string) dan confidence (double)). |
faces |
Jenis kompleks yang terdiri dari age, gender, dan faceBoundingBox memiliki empat koordinat kotak pembatas (dalam piksel) yang menunjukkan penempatan di dalam gambar. Koordinat adalah top, left, , widthheight. |
objects |
Output adalah array objek fitur visual. Setiap objek adalah jenis kompleks, yang terdiri dari object (string), confidence (ganda), rectangle (dengan empat koordinat kotak pembatas yang menunjukkan penempatan di dalam gambar), dan yang parent berisi nama objek dan keyakinan . |
tags |
Output adalah array objek imageTag , di mana objek tag adalah jenis kompleks yang terdiri dari name (string), hint (string), dan confidence (double). Penambahan petunjuk jarang terjadi. Itu hanya dibuat jika tag ambigu. Misalnya, gambar yang ditandai sebagai "curling" mungkin memiliki sedikit "olahraga" untuk menunjukkan kontennya dengan lebih baik. |
Contoh definisi keterampilan
{
"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"
}
]
}
Indeks sampel CLI
Untuk objek tunggal (seperti adult dan description), Anda dapat menyusunnya dalam indeks sebagai pengembalian Collection(Edm.ComplexType)adult dan description output untuk semuanya. Untuk informasi selengkapnya tentang memetakan output ke bidang indeks, lihat Meratakan informasi dari jenis kompleks.
{
"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
}
]
}
]
}
Contoh pemetaan bidang keluaran
Bidang target dapat berupa bidang atau koleksi yang kompleks. Definisi indeks menentukan subbidang apa pun.
"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"
}
Variasi pada pemetaan bidang output (properti bertingkat)
Anda dapat menentukan pemetaan bidang output ke properti tingkat rendah, seperti hanya selebriti atau landmark. Dalam hal ini, pastikan skema indeks Anda memiliki bidang untuk berisi setiap detail secara khusus.
"outputFieldMappings": [
{
"sourceFieldName": "/document/normalized_images/*/categories/detail/celebrities/*",
"targetFieldName": "celebrities"
},
{
"sourceFieldName": "/document/normalized_images/*/categories/detail/landmarks/*",
"targetFieldName": "landmarks"
}
Input contoh
{
"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
}
}
}
]
}
Contoh keluaran
{
"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
}
}
]
}
}
]
}
Kasus kesalahan
Dalam kasus kesalahan berikut, tidak ada elemen yang diekstraksi.
| Kode Kesalahan | Deskripsi |
|---|---|
NotSupportedLanguage |
Bahasa yang disediakan tidak didukung. |
InvalidImageUrl |
URL gambar diformat dengan buruk atau tidak dapat diakses. |
InvalidImageFormat |
Data input bukanlah gambar yang valid. |
InvalidImageSize |
Gambar input terlalu besar. |
NotSupportedVisualFeature |
Jenis fitur yang ditentukan tidak valid. |
NotSupportedImage |
Gambar yang tidak didukung, misalnya, pornografi anak. |
InvalidDetails |
Model khusus domain yang tidak didukung. |
Jika Anda mendapatkan kesalahan yang mirip dengan "One or more skills are invalid. Details: Error in skill #<num>: Outputs are not supported by skill: Landmarks", periksa jalurnya. Baik selebriti maupun landmark adalah properti di bawah detail.
"categories":[
{
"name":"building_",
"score":0.97265625,
"detail":{
"landmarks":[
{
"name":"Forbidden City",
"confidence":0.92013400793075562
}
]