Análisis de imágenes con Content Understanding
Sugerencia
Consulte la pestaña Texto e imágenes para obtener más detalles.
Content Understanding puede analizar imágenes para extraer datos estructurados, identificar elementos visuales y generar descripciones. Puede usar analizadores creados previamente para escenarios comunes o crear analizadores personalizados adaptados a sus necesidades específicas.
Formatos de imagen admitidos
Content Understanding admite los siguientes tipos de entrada de imagen:
| Formato | Descripción |
|---|---|
| JPEG | Imágenes fotográficas estándar |
| PNG | Imágenes con soporte de transparencia |
| BMP | Imágenes de mapa de bits |
| TIFF | Documentos escaneados de alta calidad |
| HEIF | Formato de imagen de alta eficiencia |
| Documentos de una o varias páginas con imágenes incrustadas |
Analizadores de imágenes preconfigurados
Content Understanding incluye analizadores creados previamente optimizados para escenarios comunes de análisis de imágenes:
- imagen precompilada: análisis de imágenes de uso general con extracción de contenido y descripción de la figura
- recibo preconfigurado: extraer nombres de proveedores, artículos, totales y fechas de imágenes de recibos
- factura precompilada: extraiga los detalles de la factura, incluidos los elementos de línea, los importes y la información del proveedor.
- prebuilt-idDocument: extraer información de documentos de identidad como permisos de conducir y pasaportes
Definición de un esquema de campo para imágenes
Para extraer información específica de imágenes, defina un esquema de campo que describa los datos que desee. Cada campo puede usar uno de los tres métodos de extracción:
| Método | Descripción | Ejemplo |
|---|---|---|
| extract | Extraer valores directamente a medida que aparecen en la imagen | Extracción de texto de una etiqueta o un signo |
| clasificar | Clasificar el contenido de las opciones predefinidas | Clasificar la imagen como "dañada" o "no dañada" |
| generar | Creación de valores basados en el análisis de imágenes | Generación de una descripción de la escena |
Este es un esquema de ejemplo para analizar imágenes de producto:
{
"description": "Product image analyzer",
"baseAnalyzerId": "prebuilt-image",
"fieldSchema": {
"fields": {
"ProductName": {
"type": "string",
"method": "extract",
"description": "Name of the product visible in the image"
},
"Condition": {
"type": "string",
"method": "classify",
"description": "Condition of the product",
"enum": ["new", "used", "damaged"]
},
"Description": {
"type": "string",
"method": "generate",
"description": "Brief description of what the image shows"
}
}
}
}
Análisis de una imagen
Para analizar una imagen mediante Content Understanding, puede utilizar el SDK de Python, que puede instalar utilizando pip de este modo:
pip install azure-ai-contentunderstanding
Para enviar una solicitud al punto de conexión de análisis con el identificador del analizador y la dirección URL o el archivo de imagen, puede usar código similar al de este ejemplo:
from azure.ai.contentunderstanding import ContentUnderstandingClient
from azure.ai.contentunderstanding.models import AnalysisInput, AnalysisResult
from azure.core.credentials import AzureKeyCredential # for key-based authentication
from azure.identity import DefaultAzureCredential # for Entra ID authentication
# Get a client
credential = AzureKeyCredential(key)
client = ContentUnderstandingClient(endpoint={FOUNDRY_ENDPOINT},
credential={KEY_OR_IDENTITY},
api_version="2025-11-01")
# Analyze an image file
with open("my_image.png", "rb") as f:
file_bytes = f.read()
try:
poller = client.begin_analyze(
analyzer_id={ANALYSER_ID},
inputs=[AnalysisInput(data=file_bytes)],
)
# Get results asynchronously from poller
result: AnalysisResult = poller.result()
# Display results
result_str = json.dumps(result.as_dict(), indent=2)
print (result_str)
except Exception as ex:
print(f"[Unexpected Error]: {ex}")
sys.exit(1)
Cuando se completa el análisis, los resultados incluyen el contenido extraído:
- markdown: representación de texto del contenido de la imagen, útil para escenarios de búsqueda y RAG
- fields: valores de campo extraídos que coinciden con el esquema, cada uno con una puntuación de confianza
- source: información de anclaje que muestra dónde se encontró cada valor en la imagen.
Respuesta de ejemplo para una imagen de producto:
{
"contents": [
{
"markdown": "Product label showing 'Contoso Widget Pro' with serial number...",
"fields": {
"ProductName": {
"type": "string",
"valueString": "Contoso Widget Pro",
"confidence": 0.95,
"source": "D(1,100,50,300,50,300,80,100,80)"
},
"Condition": {
"type": "string",
"valueString": "new",
"confidence": 0.89
},
"Description": {
"type": "string",
"valueString": "A silver electronic device in retail packaging with product label visible"
}
}
}
]
}
Uso de puntuaciones de confianza
Cada campo extraído incluye una puntuación de confianza de 0 a 1:
- Confianza alta (0,9+): el valor puede ser de confianza para el procesamiento automatizado
- Confianza media (0.7-0.9): considere la posibilidad de revisar humanamente las aplicaciones críticas.
- Confianza baja (<0.7):Recomendación de comprobación manual
Use puntuaciones de confianza para crear flujos de trabajo de automatización que redirigen las extracciones de baja confianza a los revisores humanos mientras procesan automáticamente los resultados de alta confianza.
Sugerencias para mejorar el análisis de imágenes
- Importa la calidad de la imagen: las imágenes de mayor resolución producen extracciones más precisas
- Iluminación y contraste: asegúrese de que el texto y los elementos visuales sean claramente visibles
- Enfoque único: las imágenes con un sujeto claro producen mejores resultados que escenas desordenadas
- Orientación coherente: las imágenes verticales se procesan de forma más confiable que las giradas.
Las funcionalidades de análisis de imágenes de Content Understanding permiten transformar el contenido visual en datos estructurados y accionables para el procesamiento de documentos, la administración del inventario, la inspección de calidad y muchos otros escenarios empresariales.