Logotipo de Zephyrnet

Mejora de la moderación de contenido con análisis masivo y moderación personalizada de Amazon Rekognition | Servicios web de Amazon

Fecha:

Reconocimiento de amazonas facilita agregar análisis de imágenes y videos a sus aplicaciones. Se basa en la misma tecnología de aprendizaje profundo probada y altamente escalable desarrollada por los científicos de visión por computadora de Amazon para analizar miles de millones de imágenes y videos diariamente. No requiere experiencia en aprendizaje automático (ML) para su uso y continuamente agregamos nuevas funciones de visión por computadora al servicio. Amazon Rekognition incluye una API sencilla y fácil de usar que puede analizar rápidamente cualquier archivo de imagen o vídeo almacenado en Servicio de almacenamiento simple de Amazon (Amazon S3).

Los clientes de industrias como la tecnología de publicidad y marketing, juegos, medios y comercio minorista y electrónico dependen de las imágenes cargadas por sus usuarios finales (contenido generado por el usuario o UGC) como un componente crítico para impulsar la participación en su plataforma. Ellos usan Moderación de contenido de Amazon Rekognition para detectar contenido inapropiado, no deseado y ofensivo con el fin de proteger la reputación de su marca y fomentar comunidades de usuarios seguras.

En esta publicación, discutiremos lo siguiente:

  • Modelo de moderación de contenido versión 7.0 y capacidades
  • ¿Cómo funciona el análisis masivo de Amazon Rekognition para la moderación de contenido?
  • Cómo mejorar la predicción de la moderación de contenido con análisis masivo y moderación personalizada

Modelo de moderación de contenido versión 7.0 y capacidades

Amazon Rekognition Content Moderation versión 7.0 agrega 26 nuevas etiquetas de moderación y amplía la taxonomía de etiquetas de moderación de una categoría de etiquetas de dos niveles a una de tres niveles. Estas nuevas etiquetas y la taxonomía ampliada permiten a los clientes detectar conceptos detallados sobre el contenido que desean moderar. Además, el modelo actualizado introduce una nueva capacidad para identificar dos nuevos tipos de contenido, contenido animado e ilustrado. Esto permite a los clientes crear reglas granulares para incluir o excluir dichos tipos de contenido de su flujo de trabajo de moderación. Con estas nuevas actualizaciones, los clientes pueden moderar el contenido de acuerdo con su política de contenido con mayor precisión.

Veamos un ejemplo de detección de etiquetas de moderación para la siguiente imagen.

La siguiente tabla muestra las etiquetas de moderación, el tipo de contenido y las puntuaciones de confianza devueltas en la respuesta de la API.

Etiquetas de moderación Nivel de taxonomía Puntuaciones de confianza
Violencia L1 92.6%
Violencia gráfica L2 92.6%
Explosiones y explosiones L3 92.6%
Tipos de contenido Puntuaciones de confianza
Ilustrado 93.9%

Para obtener la taxonomía completa para la moderación de contenido versión 7.0, visite nuestro guía para desarrolladores.

Análisis masivo para moderación de contenido

La moderación de contenido de Amazon Rekognition también proporciona moderación de imágenes por lotes además de moderación en tiempo real mediante Análisis masivo de reconocimiento de Amazon. Le permite analizar grandes colecciones de imágenes de forma asincrónica para detectar contenido inapropiado y obtener información sobre las categorías de moderación asignadas a las imágenes. También elimina la necesidad de crear una solución de moderación de imágenes por lotes para los clientes.

Puede acceder a la función de análisis masivo a través de la consola de Amazon Rekognition o llamando a las API directamente mediante la CLI de AWS y los SDK de AWS. En la consola de Amazon Rekognition, puedes cargar las imágenes que deseas analizar y obtener resultados con unos pocos clics. Una vez que se completa el trabajo de análisis masivo, puede identificar y ver las predicciones de las etiquetas de moderación, como desnudez explícita y no explícita de partes íntimas y besos, violencia, drogas y tabaco, y más. También recibe una puntuación de confianza para cada categoría de etiqueta.

Cree un trabajo de análisis masivo en la consola de Amazon Rekognition

Complete los siguientes pasos para probar el análisis masivo de Amazon Rekognition:

  1. En la consola de Amazon Rekognition, elija Análisis masivo en el panel de navegación.
  2. Elige Iniciar análisis masivo.
  3. Ingrese un nombre de trabajo y especifique las imágenes para analizar, ya sea ingresando una ubicación de depósito S3 o cargando imágenes desde su computadora.
  4. Opcionalmente, puede seleccionar un adaptador para analizar imágenes usando el adaptador personalizado que ha entrenado usando Moderación personalizada.
  5. Elige Iniciar análisis para ejecutar el trabajo.

Cuando se complete el proceso, podrá ver los resultados en la consola de Amazon Rekognition. Además, se almacenará una copia JSON de los resultados del análisis en la ubicación de salida de Amazon S3.

Solicitud de API de análisis masivo de Amazon Rekognition

En esta sección, lo guiaremos en la creación de un trabajo de análisis masivo para moderación de imágenes utilizando interfaces de programación. Si sus archivos de imagen aún no están en un depósito de S3, cárguelos para garantizar el acceso de Amazon Rekognition. De manera similar a crear un trabajo de análisis masivo en la consola de Amazon Rekognition, al invocar el Iniciar trabajo de análisis de medios API, debe proporcionar los siguientes parámetros:

  • Configuración de operaciones – Estas son las opciones de configuración para el trabajo de análisis de medios a crear:
    • MinConfianza – El nivel de confianza mínimo con el rango válido de 0 a 100 para que regresen las etiquetas de moderación. Amazon Rekognition no devuelve ninguna etiqueta con un nivel de confianza inferior a este valor especificado.
  • Entrada - Esto incluye lo siguiente:
    • Objeto S3 – La información del objeto S3 para el archivo de manifiesto de entrada, incluido el depósito y el nombre del archivo. El archivo de entrada incluye líneas JSON para cada imagen almacenada en el depósito S3. Por ejemplo: {"source-ref": "s3://MY-INPUT-BUCKET/1.jpg"}
  • Configuración de salida - Esto incluye lo siguiente:
    • S3 Cubo – El nombre del depósito S3 para los archivos de salida.
    • S3KeyPrefijo – El prefijo clave para los archivos de salida.

Ver el siguiente código:

import boto3
import os
import datetime
import time
import json
import uuid

region = boto3.session.Session().region_name
s3=boto3.client('s3')
rekognition_client=boto3.client('rekognition', region_name=region)

min_confidence = 50
input_bucket = "MY-INPUT-BUCKET"

input_file = "input_file.jsonl"
output_bucket = "MY-OUTPUT-BUCKET"
key_prefix = "moderation-results"
job_name = "bulk-analysis-demo"

job_start_response = rekognition_client.start_media_analysis_job(
    OperationsConfig={"DetectModerationLabels": {"MinConfidence": min_confidence}},
    JobName = job_name,
    Input={"S3Object": {"Bucket": input_bucket, "Name": input_file}},
    OutputConfig={"S3Bucket": output_bucket, "S3KeyPrefix": key_prefix},
)

job_id = job_start_response["JobId"]
max_tries = 60
while max_tries > 0:
    max_tries -= 1
    job = rekognition_client.get_media_analysis_job(JobId=job_id)
    job_status = job["Status"]
    if job_status in ["SUCCEEDED", "FAILED"]:
        print(f"Job {job_name} is {job_status}.")
        if job_status == "SUCCEEDED":
            print(
                f"Bulk Analysis output file copied to:n"
                f"tBucket: {job['Results']['S3Object']['Bucket']}n"
                f"tObject: {job['Results']['S3Object']['Name']}."
            )
        break
    else:
        print(f"Waiting for {job_name}. Current status is {job_status}.")
    time.sleep(10)

Puede invocar el mismo análisis de medios utilizando el siguiente comando de AWS CLI:

aws rekognition start-media-analysis-job 
--operations-config "DetectModerationLabels={MinConfidence='50'}" 
--input "S3Object={Bucket=input_bucket,Name=input_file.jsonl}" 
--output-config "S3Bucket=output_bucket,S3KeyPrefix=moderation-results"

Resultados de la API de análisis masivo de Amazon Rekognition

Para obtener una lista de trabajos de análisis masivo, puede utilizar ListMediaAnalysisJobs. La respuesta incluye todos los detalles sobre los archivos de entrada y salida del trabajo de análisis y el estado del trabajo:

# get the latest 10 media analysis jobs
moderation_job_list = rekognition_client.list_media_analysis_jobs(MaxResults=10, NextToken="")
for job_result in moderation_job_list["MediaAnalysisJobs"]:
 print(f'JobId: {job_result["JobId"]} ,Status: {job_result["Status"]},n
Summary: {job_result["ManifestSummary"]["S3Object"]["Name"]}, n
Result: {job_result["Results"]["S3Object"]["Name"]}n')

También puedes invocar el list-media-analysis-jobs comando a través de la CLI de AWS:

aws rekognition list-media-analysis-jobs --max-results 10

Amazon Rekognition Bulk Analysis genera dos archivos de salida en el depósito de salida. El primer archivo es manifest-summary.json, que incluye estadísticas de trabajos de análisis masivo y una lista de errores:

{
    "version": "1.0",
    "statistics": {
      "total-json-lines": 2,
      "valid-json-lines": 2,
      "invalid-json-lines": 0
    },
    "errors": []
 }

El segundo archivo es results.json, que incluye una línea JSON por cada imagen analizada en el siguiente formato. Cada resultado incluye el categoría de primer nivel (L1) de una etiqueta detectada y la categoría de segundo nivel de la etiqueta (L2), con una puntuación de confianza entre 1 y 100. Algunas etiquetas de Nivel de Taxonomía 2 pueden tener etiquetas de Nivel de Taxonomía 3 (L3). Esto permite una clasificación jerárquica del contenido.

{
  "source-ref": "s3://MY-INPUT-BUCKET/1.jpg",
    "detect-moderation-labels": {
    "ModerationLabels": [
      {
        "ParentName": "Products",
        "TaxonomyLevel": 3,
        "Confidence": 91.9385,
        "Name": "Pills"
      },
      {
        "ParentName": "Drugs & Tobacco",
        "TaxonomyLevel": 2,
        "Confidence": 91.9385,
        "Name": "Products"
      },
      {
        "ParentName": "",
        "TaxonomyLevel": 1,
        "Confidence": 91.9385,
        "Name": "Drugs & Tobacco"
      }
    ],
    "ModerationModelVersion": "7.0",
    "ContentTypes": [
      
    ]
  }
}

Mejora de la predicción del modelo de moderación de contenido mediante análisis masivo y moderación personalizada

Puede mejorar la precisión del modelo base de moderación de contenido con el Moderación personalizada característica. Con la moderación personalizada, puedes entrenar a un Adaptador de moderación personalizado cargando sus imágenes y anotando estas imágenes. Los adaptadores son componentes modulares que pueden ampliar y mejorar las capacidades del modelo de aprendizaje profundo de Amazon Rekognition. Para anotar fácilmente sus imágenes, simplemente puede verificar las predicciones de su trabajo de análisis masivo para entrenar un adaptador personalizado. Para verificar los resultados de la predicción, siga los pasos a continuación:

  1. En la consola de Amazon Rekognition, elija Análisis masivo en el panel de navegación.
  2. Elija el trabajo de análisis masivo y luego elija Verificar predicciones.

En Verificar predicción página, puede ver todas las imágenes evaluadas en este trabajo y las etiquetas previstas.

  1. Seleccione la etiqueta de cada imagen como presente (marca de verificación) para validar un Verdadero Positivo; o marcar como no presente (marca X) para invalidar cada etiqueta asignada (es decir, la predicción de la etiqueta es un falso positivo).
  2. Si no se asigna la etiqueta adecuada a la imagen (es decir, Falso Negativo), también puede seleccionar y asignar las etiquetas correctas a la imagen.

Según su verificación, los falsos positivos y los falsos negativos se actualizarán en las estadísticas de verificación. Puede utilizar estas verificaciones para entrenar un adaptador de moderación personalizada, lo que le permite mejorar la precisión de las predicciones de moderación de contenido.

  1. Como requisito previo, para entrenar un adaptador de moderación personalizado es necesario verificar al menos 20 falsos positivos o 50 falsos negativos para cada etiqueta de moderación que desee mejorar. Una vez que verifiques 20 falsos positivos o 50 falsos negativos, podrás elegir Entrenar a un adaptador.

Puedes usar Adaptadores de moderación personalizados luego, para analizar sus imágenes simplemente seleccionando el adaptador personalizado mientras crea un nuevo trabajo de análisis masivo o mediante API pasando la ID única del adaptador personalizado.

Resumen

En esta publicación, brindamos una descripción general de la moderación de contenido versión 7.0, el análisis masivo para la moderación de contenido y cómo mejorar las predicciones de moderación de contenido mediante el análisis masivo y la moderación personalizada. Para probar las nuevas etiquetas de moderación y el análisis masivo, inicie sesión en su cuenta de AWS y consulte la consola de Amazon Rekognition para obtener más información. Moderación de imágenes y Análisis masivo.


Sobre los autores

Mehdy Haghy es Arquitecto de Soluciones Sénior en el equipo de AWS WWCS, especializado en IA y ML en AWS. Trabaja con clientes empresariales, ayudándolos a migrar, modernizar y optimizar sus cargas de trabajo para la nube de AWS. En su tiempo libre, le gusta cocinar comida persa y hacer ajustes electrónicos.

Shipra Canoria es gerente principal de productos en AWS. Le apasiona ayudar a los clientes a resolver sus problemas más complejos con el poder del aprendizaje automático y la inteligencia artificial. Antes de unirse a AWS, Shipra pasó más de 4 años en Amazon Alexa, donde lanzó muchas funciones relacionadas con la productividad en el asistente de voz de Alexa.

Maria Handoko es gerente sénior de productos en AWS. Se enfoca en ayudar a los clientes a resolver sus desafíos comerciales a través del aprendizaje automático y la visión por computadora. En su tiempo libre, le gusta hacer caminatas, escuchar podcasts y explorar diferentes cocinas.

punto_img

Información más reciente

punto_img