O TensorFlow fornece várias ferramentas de visão computacional (CV) e classificação de imagens. Este documento apresenta algumas dessas ferramentas e fornece uma visão geral dos recursos para ajudá-lo a começar com tarefas comuns de currículo.
Bibliotecas e ferramentas de visão
O TensorFlow fornece ferramentas CV por meio das bibliotecas Keras de nível superior e do módulo tf.image
de nível inferior. Para a maioria dos casos de uso, as bibliotecas Keras serão mais convenientes do que as alternativas internas do TensorFlow. Mas se as opções do Keras não se adequarem ao seu caso de uso ou se você quiser um controle de nível inferior sobre o pré-processamento da imagem, talvez precise das ferramentas TensorFlow de nível inferior.
KerasCV
Se você está apenas começando com um projeto de CV e não tem certeza de quais bibliotecas e ferramentas precisará, o KerasCV é um bom lugar para começar. KerasCV é uma biblioteca de componentes CV modulares construídos no Keras Core. O KerasCV inclui modelos, camadas, métricas, retornos de chamada e outras ferramentas que estendem a API Keras de alto nível para tarefas CV. As APIs do KerasCV podem ajudar no aumento de dados, classificação, detecção de objetos, segmentação, geração de imagens e outros fluxos de trabalho CV comuns. Você pode usar o KerasCV para montar rapidamente pipelines de treinamento e inferência de última geração e nível de produção.
Keras utilitários
tf.keras.utils
fornece vários utilitários de pré-processamento de imagem de alto nível. Por exemplo, tf.keras.utils.image_dataset_from_directory
gera um tf.data.Dataset
de um diretório de imagens no disco.
tf.image
Se o KerasCV não se adequar ao seu caso de uso, você pode usar tf.image
e tf.data
para escrever seus próprios pipelines ou camadas de aumento de dados.
O módulo tf.image
contém várias funções para processamento de imagens, como tf.image.flip_left_right
, tf.image.rgb_to_grayscale
, tf.image.adjust_brightness
, tf.image.central_crop
e tf.image.stateless_random*
.
A API tf.data
permite que você crie pipelines de entrada complexos a partir de peças simples e reutilizáveis.
Conjuntos de dados do TensorFlow
O TensorFlow Datasets é uma coleção de conjuntos de dados prontos para uso com o TensorFlow. Muitos dos conjuntos de dados (por exemplo, MNIST , Fashion-MNIST e TF Flowers ) podem ser usados para desenvolver e testar algoritmos de visão computacional.
Onde começar
Os recursos a seguir ajudarão você a começar a usar as ferramentas TensorFlow e Keras CV.
- KerasCV : Documentação e recursos para KerasCV.
- Guias do desenvolvedor do KerasCV : Guias para executar tarefas CV comuns usando o KerasCV. Se você é novo no KerasCV, Classification with KerasCV é um bom lugar para começar.
Tutoriais do TensorFlow : a documentação principal do TensorFlow (este guia) inclui vários tutoriais de currículo e processamento de imagem.
- Classificação básica: Classifique imagens de roupas : treine um modelo de rede neural para classificar imagens de roupas, como tênis e camisetas.
Carregar e pré-processar imagens : Carregue e pré-processe um conjunto de dados de imagem de três maneiras:
- Use utilitários de pré-processamento Keras de alto nível para ler um diretório de imagens no disco.
- Escreva seu próprio pipeline de entrada do zero usando
tf.data
. - Baixe um conjunto de dados do grande catálogo disponível em Conjuntos de dados do TensorFlow .
Carregar dados de vídeo : Carregue e pré-processe dados de vídeo AVI usando o conjunto de dados de ação humana UCF101 .
Rede neural convolucional (CNN) : treine uma rede neural convolucional simples (CNN) para classificar imagens CIFAR usando a API Keras .
Classificação de imagens : Classifique imagens de flores usando um modelo
tf.keras.Sequential
e carregue dados usandotf.keras.utils.image_dataset_from_directory
.Aprendizado de transferência e ajuste fino : classifique imagens de cães e gatos usando o aprendizado de transferência de uma rede pré-treinada.
Aumento de dados : Aumente a diversidade do seu conjunto de treinamento aplicando transformações aleatórias (mas realistas), como rotação de imagem.
Segmentação de imagem : Execute a segmentação de imagem, usando uma U-Net modificada.
Classificação de vídeo com uma rede neural convolucional 3D : treine uma rede neural convolucional 3D (CNN) para classificação de vídeo usando o conjunto de dados de reconhecimento de ação UCF101 .
Aprendizagem de transferência para classificação de vídeo com MoViNet : Use um modelo MoViNet pré-treinado e o conjunto de dados UCF101 para classificar vídeos para uma tarefa de reconhecimento de ação.
O TensorFlow fornece várias ferramentas de visão computacional (CV) e classificação de imagens. Este documento apresenta algumas dessas ferramentas e fornece uma visão geral dos recursos para ajudá-lo a começar com tarefas comuns de currículo.
Bibliotecas e ferramentas de visão
O TensorFlow fornece ferramentas CV por meio das bibliotecas Keras de nível superior e do módulo tf.image
de nível inferior. Para a maioria dos casos de uso, as bibliotecas Keras serão mais convenientes do que as alternativas internas do TensorFlow. Mas se as opções do Keras não se adequarem ao seu caso de uso ou se você quiser um controle de nível inferior sobre o pré-processamento da imagem, talvez precise das ferramentas TensorFlow de nível inferior.
KerasCV
Se você está apenas começando com um projeto de CV e não tem certeza de quais bibliotecas e ferramentas precisará, o KerasCV é um bom lugar para começar. KerasCV é uma biblioteca de componentes CV modulares construídos no Keras Core. O KerasCV inclui modelos, camadas, métricas, retornos de chamada e outras ferramentas que estendem a API Keras de alto nível para tarefas CV. As APIs do KerasCV podem ajudar no aumento de dados, classificação, detecção de objetos, segmentação, geração de imagens e outros fluxos de trabalho CV comuns. Você pode usar o KerasCV para montar rapidamente pipelines de treinamento e inferência de última geração.
Keras utilitários
tf.keras.utils
fornece vários utilitários de pré-processamento de imagem de alto nível. Por exemplo, tf.keras.utils.image_dataset_from_directory
gera um tf.data.Dataset
de um diretório de imagens no disco.
tf.image
Se o KerasCV não se adequar ao seu caso de uso, você pode usar tf.image
e tf.data
para escrever seus próprios pipelines ou camadas de aumento de dados.
O módulo tf.image
contém várias funções para processamento de imagens, como tf.image.flip_left_right
, tf.image.rgb_to_grayscale
, tf.image.adjust_brightness
, tf.image.central_crop
e tf.image.stateless_random*
.
A API tf.data
permite que você crie pipelines de entrada complexos a partir de peças simples e reutilizáveis.
Conjuntos de dados do TensorFlow
O TensorFlow Datasets é uma coleção de conjuntos de dados prontos para uso com o TensorFlow. Muitos dos conjuntos de dados (por exemplo, MNIST , Fashion-MNIST e TF Flowers ) podem ser usados para desenvolver e testar algoritmos de visão computacional.
Onde começar
Os recursos a seguir ajudarão você a começar a usar as ferramentas TensorFlow e Keras CV.
- KerasCV : Documentação e recursos para KerasCV.
- Guias do desenvolvedor do KerasCV : Guias para executar tarefas CV comuns usando o KerasCV. Se você é novo no KerasCV, Classification with KerasCV é um bom lugar para começar.
Tutoriais do TensorFlow : a documentação principal do TensorFlow (este guia) inclui vários tutoriais de currículo e processamento de imagens.
- Classificação básica: Classifique imagens de roupas : treine um modelo de rede neural para classificar imagens de roupas, como tênis e camisetas.
Carregar e pré-processar imagens : Carregue e pré-processe um conjunto de dados de imagem de três maneiras:
- Use utilitários de pré-processamento Keras de alto nível para ler um diretório de imagens no disco.
- Escreva seu próprio pipeline de entrada do zero usando
tf.data
. - Baixe um conjunto de dados do grande catálogo disponível em Conjuntos de dados do TensorFlow .
Carregar dados de vídeo : Carregue e pré-processe dados de vídeo AVI usando o conjunto de dados de ação humana UCF101 .
Rede neural convolucional (CNN) : treine uma rede neural convolucional simples (CNN) para classificar imagens CIFAR usando a API Keras .
Classificação de imagens : Classifique imagens de flores usando um modelo
tf.keras.Sequential
e carregue dados usandotf.keras.utils.image_dataset_from_directory
.Aprendizado de transferência e ajuste fino : classifique imagens de cães e gatos usando o aprendizado de transferência de uma rede pré-treinada.
Aumento de dados : Aumente a diversidade do seu conjunto de treinamento aplicando transformações aleatórias (mas realistas), como rotação de imagem.
Segmentação de imagem : Execute a segmentação de imagem, usando uma U-Net modificada.
Classificação de vídeo com uma rede neural convolucional 3D : treine uma rede neural convolucional 3D (CNN) para classificação de vídeo usando o conjunto de dados de reconhecimento de ação UCF101 .
Aprendizagem de transferência para classificação de vídeo com MoViNet : Use um modelo MoViNet pré-treinado e o conjunto de dados UCF101 para classificar vídeos para uma tarefa de reconhecimento de ação.