Preparar tus datos de entrenamiento

En esta página, se describe cómo preparar los datos de entrenamiento y prueba para que AutoML Video Intelligence Classification pueda crear un modelo de anotación de video.

Prepara tus videos

  • AutoML Video Intelligence Classification admite los siguientes formatos de video (que se muestran a continuación) para entrenar tu modelo o solicitar una predicción (anotar un video). El tamaño máximo del archivo es de 50 GB (hasta 3 horas de duración). No se admiten archivos de video individuales con marcas de tiempo incorrectas o con formato incorrecto en el contenedor.

    • .MOV
    • .MPEG4
    • .MP4
    • .AVI
  • Los datos de entrenamiento deben ser lo más parecido posible a los datos sobre los que se harán las predicciones. Por ejemplo, si tu caso práctico incluye videos borrosos y de baja resolución (como los de una cámara de seguridad), los datos de entrenamiento deben estar compuestos por videos borrosos y de baja resolución. En general, también deberías tratar de proporcionar videos de entrenamiento con múltiples ángulos, resoluciones y fondos.

  • Por lo general, los modelos de AutoML Video no pueden predecir etiquetas que las personas no pueden asignar. Por lo tanto, si no se puede entrenar a una persona para que asigne etiquetas con tan solo mirar el video durante 1 o 2 segundos, es probable que tampoco se pueda entrenar al modelo para que lo haga.

  • Recomendamos que agregues aproximadamente 1,000 videos de entrenamiento o segmentos de video por etiqueta. El mínimo por etiqueta es de 10. En general, se necesitan más ejemplos por etiqueta para entrenar modelos con múltiples etiquetas por video. Además, las puntuaciones resultantes son más difíciles de interpretar.

  • El modelo funciona mejor cuando hay, como máximo, 100 veces más videos destinados a la etiqueta más común que a la etiqueta menos común. Recomendamos quitar etiquetas de muy baja frecuencia.

  • Considera incluir una etiqueta None_of_the_above y videos que no coincidan con ninguna de tus etiquetas definidas. Por ejemplo, para un conjunto de datos de animales, incluye videos de animales fuera de tus variedades etiquetadas y etiquétalos como None_of_the_above. Esto puede mejorar la exactitud de tu modelo. Ten en cuenta que, si bien cualquier nombre de etiqueta funcionará, el sistema trata a None_of_the_above de forma especial.

Conjuntos de datos de entrenamiento, validación y prueba

Los datos en un conjunto de datos se dividen en tres cuando se entrena un modelo: un conjunto de datos de entrenamiento, uno de validación y uno de prueba.

  • Un conjunto de datos de entrenamiento se usa para compilar un modelo. Cuando se buscan patrones en los datos de entrenamiento, se prueban múltiples algoritmos y parámetros.
  • A medida que se identifican los patrones, el conjunto de datos de validación se utiliza para probar los algoritmos y patrones. Los algoritmos y patrones con mejor rendimiento se eligen a partir de aquellos identificados durante la etapa de entrenamiento.
  • Una vez identificados, se comprueba la tasa de errores, la calidad y la exactitud mediante el conjunto de datos de prueba.

Se usa tanto una validación como un conjunto de datos de prueba para evitar sesgos en el modelo. Durante la etapa de validación, se usan los parámetros óptimos del modelo, lo que puede dar como resultado métricas sesgadas. El uso del conjunto de datos de prueba para evaluar la calidad del modelo luego de la etapa de validación proporciona una evaluación imparcial sobre la calidad del modelo.

Para identificar tus datos de entrenamiento, prueba y validación, usa archivos CSV como se describe en la siguiente sección.

Crea archivos CSV con los URI de video y etiquetas

Una vez que los archivos se suban a Google Cloud Storage, puedes crear archivos CSV que enumeren todos tus datos de entrenamiento y las etiquetas de categoría para esos datos. Los archivos CSV pueden tener cualquier nombre de archivo y deben estar en el mismo bucket que tus archivos de video, estar codificados en UTF-8 y terminar con una extensión .csv.

Existen tres archivos que puedes usar para entrenar y verificar tu modelo:

File Descripción
Lista de archivos de entrenamiento de modelos

Contiene rutas de acceso a los archivos CSV de entrenamiento, prueba y validación.

Este archivo se usa para identificar las ubicaciones de hasta tres archivos CSV diferentes que describen tus datos de entrenamiento y prueba.

A continuación, se muestran algunos ejemplos del contenido del archivo CSV de la lista de archivos:

Ejemplo 1:


      TRAIN,gs://automl-video-demo-data/hmdb_split1_5classes_train.csv
      TEST,gs://automl-video-demo-data/hmdb_split1_5classes_test.csv
      

Ejemplo 2:


      UNASSIGNED,gs://automl-video-demo-data/hmdb_split1_5classes_all.csv
      
Datos de prueba

Se usa para entrenar el modelo. Contiene rutas de acceso a archivos de video, horas de inicio y finalización de los segmentos del video y etiquetas que identifican el tema del segmento de video.

Si especificas un archivo CSV de datos de entrenamiento, también debes especificar un archivo CSV de datos de prueba.

Datos de prueba

Se usan para probar el modelo durante la fase de entrenamiento. Contiene rutas de acceso a archivos de video, horas de inicio y finalización de los segmentos del video y etiquetas que identifican el tema del segmento de video.

Si especificas un archivo CSV de datos de prueba, también debes especificar un archivo CSV de datos de entrenamiento.

Datos sin asignar

Se usan para entrenar y probar el modelo. Contiene rutas de acceso a archivos de video, horas de inicio y finalización de los segmentos del video y etiquetas que identifican el tema del segmento de video. Las filas del archivo no asignado se dividen automáticamente en datos de entrenamiento y de prueba. Un 80% corresponde a los datos de entrenamiento y un 20% a los de prueba.

Solo puedes especificar un archivo CSV de datos sin asignar sin archivos CSV de entrenamiento y de prueba. También puedes especificar solo los archivos CSV de datos de entrenamiento y de prueba sin un archivo CSV de datos sin asignar.

Los archivos de entrenamiento, de prueba y sin asignar tienen una fila para cada video en el conjunto que subes, con estas columnas en cada fila:

  1. El contenido a clasificar o anotar. Este campo contiene el URI de Google Cloud Storage para el video. Los URI de Google Cloud Storage distinguen mayúsculas de minúsculas.

  2. Una etiqueta que identifica cómo se categoriza el video. . Las etiquetas deben comenzar con una letra y solo deben contener letras, números y guiones bajos. Si quieres especificar múltiples etiquetas para un video, agrega múltiples filas en el archivo CSV que identifiquen el mismo segmento de video con una etiqueta diferente para cada fila.

  3. Hora de inicio y de finalización del segmento de video. Estos dos campos separados por comas identifican la hora de inicio y de finalización del segmento de video que se analizará, en segundos. La hora de inicio debe ser menor que la de finalización. Ambos valores no deben ser negativos y deben estar dentro del intervalo de tiempo del video. Por ejemplo, 0.09845,1.3600555 Para usar todo el contenido del video, especifica una hora de inicio de 0 y una hora de finalización de la duración total del video o “inf”. Por ejemplo, 0,inf.

A continuación, se incluyen algunas filas de ejemplo para un archivo de datos CSV:

Etiqueta única:

gs://<your-video-path>/vehicle.mp4,u-turn,0,5.4

Varias etiquetas en el mismo segmento de video:

gs://<your-video-path>/vehicle.mp4,right-turn,0,8.285
gs://<your-video-path>/vehicle.mp4,left-turn,0,8.285
gs://<your-video-path>/vehicle.mp4,u-turn,0,8.285

Usa inf para indicar la finalización de un video:

gs://<your-video-path>/vehicle.mp4,right-turn,0,inf

Para obtener mejores resultados, debes incluir al menos cientos de segmentos de video de entrenamiento por etiqueta a fin de crear un modelo preciso. Esta cantidad puede variar según la complejidad de tus datos.

También puedes proporcionar videos en el archivo de datos CSV sin especificar ninguna etiqueta. Luego, debes usar la IU de AutoML Video para aplicar etiquetas a tus datos antes de entrenar tu modelo. Para hacerlo, solo debes proporcionar el URI de Cloud Storage para el video seguido de tres comas, como se muestra en el siguiente ejemplo.

gs://<your-video-path>/vehicle.mp4,,,

No necesitas especificar los datos de validación para verificar los resultados de tu modelo entrenado. AutoML Video divide automáticamente las filas identificadas para el entrenamiento en los datos de entrenamiento y validación. Un 70% corresponde a los datos de entrenamiento y un 30% a los de validación.

Guarda el contenido como un archivo CSV en tu bucket de Google Cloud Storage.

Errores comunes con CSV

  • Usar caracteres unicode en las etiquetas. Por ejemplo, no se admiten caracteres japoneses.
  • Usar espacios y caracteres no alfanuméricos en las etiquetas
  • Líneas vacías
  • Columnas vacías (líneas con dos comas sucesivas)
  • Uso incorrecto de mayúsculas en las rutas de video de Cloud Storage.
  • Se configuró de manera incorrecta el control de acceso para tus archivos de video. Tu cuenta de servicio debe tener acceso de lectura o superior, o bien los archivos deben tener acceso público de lectura
  • Referencias a archivos que no son de video (como archivos PDF o PSD). Asimismo, los archivos que no son archivos de video, pero que tuvieron un cambio de nombre con una extensión de video, causarán un error.
  • El URI del video apunta a un bucket diferente que el del proyecto actual. Solo se puede acceder a los videos del bucket del proyecto
  • Archivos sin formato CSV