TensorFlow proporciona una serie de herramientas de clasificación de imágenes y visión artificial (CV). Este documento presenta algunas de estas herramientas y proporciona una descripción general de los recursos para ayudarlo a comenzar con las tareas comunes de CV.
Bibliotecas y herramientas de visión
TensorFlow proporciona herramientas CV a través de las bibliotecas Keras de nivel superior y el módulo tf.image
de nivel inferior. Para la mayoría de los casos de uso, las bibliotecas de Keras serán más convenientes que las alternativas integradas de TensorFlow. Pero si las opciones de Keras no se ajustan a su caso de uso, o si desea un control de nivel inferior sobre el preprocesamiento de imágenes, es posible que necesite las herramientas de TensorFlow de nivel inferior.
KerasCV
Si recién está comenzando con un proyecto de CV y no está seguro de qué bibliotecas y herramientas necesitará, KerasCV es un buen lugar para comenzar. KerasCV es una biblioteca de componentes modulares de CV creados en Keras Core. KerasCV incluye modelos, capas, métricas, devoluciones de llamada y otras herramientas que amplían la API de alto nivel de Keras para tareas de CV. Las API de KerasCV pueden ayudar con el aumento de datos, la clasificación, la detección de objetos, la segmentación, la generación de imágenes y otros flujos de trabajo comunes de CV. Puede usar KerasCV para ensamblar rápidamente canalizaciones de inferencia y capacitación de última generación y de grado de producción.
Utilidades de Keras
tf.keras.utils
proporciona varias utilidades de preprocesamiento de imágenes de alto nivel. Por ejemplo, tf.keras.utils.image_dataset_from_directory
genera un tf.data.Dataset
desde un directorio de imágenes en el disco.
tf.image
Si KerasCV no se ajusta a su caso de uso, puede usar tf.image
y tf.data
para escribir sus propias canalizaciones o capas de aumento de datos.
El módulo tf.image
contiene varias funciones para el procesamiento de imágenes, como tf.image.flip_left_right
, tf.image.rgb_to_grayscale
, tf.image.adjust_brightness
, tf.image.central_crop
y tf.image.stateless_random*
.
La API tf.data
le permite crear canalizaciones de entrada complejas a partir de piezas simples y reutilizables.
Conjuntos de datos de TensorFlow
TensorFlow Datasets es una colección de conjuntos de datos listos para usar con TensorFlow. Muchos de los conjuntos de datos (por ejemplo, MNIST , Fashion-MNIST y TF Flowers ) se pueden usar para desarrollar y probar algoritmos de visión por computadora.
Donde empezar
Los siguientes recursos lo ayudarán a ponerse en marcha con las herramientas de CV de TensorFlow y Keras.
- KerasCV : Documentación y recursos para KerasCV.
- Guías para desarrolladores de KerasCV : guías para realizar tareas comunes de CV utilizando KerasCV. Si es nuevo en KerasCV, Clasificación con KerasCV es un buen lugar para comenzar.
Tutoriales de TensorFlow : la documentación principal de TensorFlow (esta guía) incluye una serie de tutoriales de procesamiento de imágenes y CV.
- Clasificación básica: clasifique imágenes de ropa : entrene un modelo de red neuronal para clasificar imágenes de ropa, como zapatillas y camisetas.
Cargue y preprocese imágenes : cargue y preprocese un conjunto de datos de imagen de tres maneras:
- Utilice las utilidades de preprocesamiento de Keras de alto nivel para leer un directorio de imágenes en el disco.
- Escriba su propia tubería de entrada desde cero usando
tf.data
. - Descarga un conjunto de datos del amplio catálogo disponible en TensorFlow Datasets .
Cargue datos de video : cargue y preprocese datos de video AVI utilizando el conjunto de datos de acción humana UCF101 .
Red neuronal convolucional (CNN) : entrene una red neuronal convolucional (CNN) simple para clasificar imágenes CIFAR utilizando la API de Keras .
Clasificación de imágenes : clasifique imágenes de flores usando un modelo
tf.keras.Sequential
y cargue datos usandotf.keras.utils.image_dataset_from_directory
.Transferencia de aprendizaje y ajuste : clasifique imágenes de gatos y perros mediante transferencia de aprendizaje de una red previamente entrenada.
Aumento de datos : aumente la diversidad de su conjunto de entrenamiento aplicando transformaciones aleatorias (pero realistas), como la rotación de imágenes.
Segmentación de imágenes : Realice la segmentación de imágenes utilizando un U-Net modificado.
Clasificación de video con una red neuronal convolucional 3D : entrene una red neuronal convolucional 3D (CNN) para la clasificación de video utilizando el conjunto de datos de reconocimiento de acción UCF101 .
Transfiera el aprendizaje para la clasificación de videos con MoViNet : use un modelo MoViNet previamente entrenado y el conjunto de datos UCF101 para clasificar videos para una tarea de reconocimiento de acciones.
TensorFlow proporciona una serie de herramientas de clasificación de imágenes y visión artificial (CV). Este documento presenta algunas de estas herramientas y proporciona una descripción general de los recursos para ayudarlo a comenzar con las tareas comunes de CV.
Bibliotecas y herramientas de visión
TensorFlow proporciona herramientas CV a través de las bibliotecas Keras de nivel superior y el módulo tf.image
de nivel inferior. Para la mayoría de los casos de uso, las bibliotecas de Keras serán más convenientes que las alternativas integradas de TensorFlow. Pero si las opciones de Keras no se ajustan a su caso de uso, o si desea un control de nivel inferior sobre el preprocesamiento de imágenes, es posible que necesite las herramientas de TensorFlow de nivel inferior.
KerasCV
Si recién está comenzando con un proyecto de CV y no está seguro de qué bibliotecas y herramientas necesitará, KerasCV es un buen lugar para comenzar. KerasCV es una biblioteca de componentes modulares de CV creados en Keras Core. KerasCV incluye modelos, capas, métricas, devoluciones de llamada y otras herramientas que amplían la API de alto nivel de Keras para tareas de CV. Las API de KerasCV pueden ayudar con el aumento de datos, la clasificación, la detección de objetos, la segmentación, la generación de imágenes y otros flujos de trabajo comunes de CV. Puede usar KerasCV para ensamblar rápidamente canalizaciones de inferencia y capacitación de última generación y de grado de producción.
Utilidades de Keras
tf.keras.utils
proporciona varias utilidades de preprocesamiento de imágenes de alto nivel. Por ejemplo, tf.keras.utils.image_dataset_from_directory
genera un tf.data.Dataset
desde un directorio de imágenes en el disco.
tf.image
Si KerasCV no se ajusta a su caso de uso, puede usar tf.image
y tf.data
para escribir sus propias canalizaciones o capas de aumento de datos.
El módulo tf.image
contiene varias funciones para el procesamiento de imágenes, como tf.image.flip_left_right
, tf.image.rgb_to_grayscale
, tf.image.adjust_brightness
, tf.image.central_crop
y tf.image.stateless_random*
.
La API tf.data
le permite crear canalizaciones de entrada complejas a partir de piezas simples y reutilizables.
Conjuntos de datos de TensorFlow
TensorFlow Datasets es una colección de conjuntos de datos listos para usar con TensorFlow. Muchos de los conjuntos de datos (por ejemplo, MNIST , Fashion-MNIST y TF Flowers ) se pueden usar para desarrollar y probar algoritmos de visión por computadora.
Donde empezar
Los siguientes recursos lo ayudarán a ponerse en marcha con las herramientas de CV de TensorFlow y Keras.
- KerasCV : Documentación y recursos para KerasCV.
- Guías para desarrolladores de KerasCV : guías para realizar tareas comunes de CV utilizando KerasCV. Si es nuevo en KerasCV, Clasificación con KerasCV es un buen lugar para comenzar.
Tutoriales de TensorFlow : la documentación principal de TensorFlow (esta guía) incluye una serie de tutoriales de procesamiento de imágenes y CV.
- Clasificación básica: clasifique imágenes de ropa : entrene un modelo de red neuronal para clasificar imágenes de ropa, como zapatillas y camisetas.
Cargue y preprocese imágenes : cargue y preprocese un conjunto de datos de imagen de tres maneras:
- Utilice las utilidades de preprocesamiento de Keras de alto nivel para leer un directorio de imágenes en el disco.
- Escriba su propia tubería de entrada desde cero usando
tf.data
. - Descarga un conjunto de datos del amplio catálogo disponible en TensorFlow Datasets .
Cargue datos de video : cargue y preprocese datos de video AVI utilizando el conjunto de datos de acción humana UCF101 .
Red neuronal convolucional (CNN) : entrene una red neuronal convolucional (CNN) simple para clasificar imágenes CIFAR utilizando la API de Keras .
Clasificación de imágenes : clasifique imágenes de flores usando un modelo
tf.keras.Sequential
y cargue datos usandotf.keras.utils.image_dataset_from_directory
.Transferencia de aprendizaje y ajuste : clasifique imágenes de gatos y perros mediante transferencia de aprendizaje de una red previamente entrenada.
Aumento de datos : aumente la diversidad de su conjunto de entrenamiento aplicando transformaciones aleatorias (pero realistas), como la rotación de imágenes.
Segmentación de imágenes : Realice la segmentación de imágenes utilizando un U-Net modificado.
Clasificación de video con una red neuronal convolucional 3D : entrene una red neuronal convolucional 3D (CNN) para la clasificación de video utilizando el conjunto de datos de reconocimiento de acción UCF101 .
Transfiera el aprendizaje para la clasificación de videos con MoViNet : use un modelo MoViNet previamente entrenado y el conjunto de datos UCF101 para clasificar videos para una tarea de reconocimiento de acciones.