Análisis de imágenes con Content Understanding

Completados

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
PDF 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.