O TensorFlow fornece diversas 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 de 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 integradas do TensorFlow. Mas se as opções do Keras não se adequarem ao seu caso de uso ou se você quiser controle de nível inferior sobre o pré-processamento de imagem, talvez precise das ferramentas do TensorFlow de nível inferior.
Keras CV
Se você está apenas começando com um projeto de currículo e não tem certeza de quais bibliotecas e ferramentas precisará, KerasCV é um bom lugar para começar. KerasCV é uma biblioteca de componentes modulares de CV construídos no Keras Core. KerasCV inclui modelos, camadas, métricas, retornos de chamada e outras ferramentas que estendem a API Keras de alto nível para tarefas de CV. As APIs KerasCV podem ajudar no aumento de dados, classificação, detecção de objetos, segmentação, geração de imagens e outros fluxos de trabalho comuns de CV. Você pode usar o KerasCV para montar rapidamente pipelines de inferência e treinamento de última geração e de nível de produção.
Utilitários Keras
tf.keras.utils
fornece vários utilitários de pré-processamento de imagens de alto nível. Por exemplo, tf.keras.utils.image_dataset_from_directory
gera um tf.data.Dataset
a partir de um diretório de imagens no disco.
tf.image
Se KerasCV não se adequar ao seu caso de uso, você poderá 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 imagem, 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 criar pipelines de entrada complexos a partir de peças simples e reutilizáveis.
Conjuntos de dados do TensorFlow
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 KerasCV : Guias para executar tarefas comuns de CV usando KerasCV. Se você é novo no KerasCV, a Classificação com KerasCV é um bom lugar para começar.
Tutoriais do TensorFlow : a documentação principal do TensorFlow (este guia) inclui vários tutoriais de processamento de currículos e imagens.
- Classificação básica: Classifique imagens de roupas : treine um modelo de rede neural para classificar imagens de roupas, como tênis e camisas.
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 TensorFlow Datasets .
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 (CNN) simples 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
.Aprendizagem por transferência e ajuste fino : Classifique imagens de cães e gatos usando aprendizagem por 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 imagens : Realize a segmentação de imagens, usando uma U-Net modificada.
Classificação de vídeo com uma rede neural convolucional 3D : Treine uma rede neural convolucional (CNN) 3D para classificação de vídeo usando o conjunto de dados de reconhecimento de ação UCF101 .
Transfira o aprendizado 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.