Tensorflow Object Detection API: Agora Com Suporte Oficial ao Tensorflow 2 (2023)

O último ano marcou um marco significativo para a equipe do Tensorflow Object Detection API (OD API), pois eles migraram a API OD para oferecer suporte ao Tensorflow 2. Finalmente, a espera chegou ao fim, e agora a Tensorflow Object Detection API oferece suporte oficial ao Tensorflow 2. Essa versão traz consigo uma série de aprimoramentos, incluindo:

Principais Novidades:

  • Novos binários para treinamento/avaliação/exportação compatíveis com o modo eager.
  • Uma variedade de modelos compatíveis com o TF2, baseados em Keras, incluindo modelos populares do TF1 como MobileNET e Faster R-CNN, juntamente com algumas novas arquiteturas, como CenterNet, uma arquitetura eficaz sem ancoragem baseada no recente paper "Objects as Points", e EfficientDet, uma família recente de modelos de última geração descobertos com a ajuda da Neural Architecture Search.
  • Pesos pré-treinados COCO para todos os modelos fornecidos como checkpoints baseados em objetos TF2.
  • Acesso a DistributionStrategies para treinamento distribuído.
  • Demonstração no Colab de treinamento e inferência compatíveis com o modo eager few-shot.
  • Suporte de primeira classe para estimativa de keypoints, incluindo estimativa multiclasses, maior suporte para aumento de dados, melhores visualizações e avaliação COCO.

Para obter informações mais detalhadas sobre essa versão, confira o .

Como Instalar a Tensorflow Object Detection API

A instalação da Tensorflow Object Detection API pode ser feita via Python Package Installer (pip) ou Docker. Recomenda-se o uso do Docker para execução local, mas se não estiver familiarizado, a instalação via pip é mais simples. Siga os passos abaixo:

Instalação via Pip

git clone https://github.com/tensorflow/models.git
cd models/research
protoc object_detection/protos/*.proto --python_out=.
cp object_detection/packages/tf2/setup.py .
python -m pip install .

Instalação via Docker

# Do diretório raiz do repositório git (dentro do diretório models)
docker build -f research/object_detection/dockerfiles/tf2/Dockerfile -t od .
docker run -it od

Agora que a API está instalada, vamos explorar algumas funcionalidades essenciais.

Como Executar um Modelo Pré-treinado em Imagens e Streams de Vídeo

Instalação

# Testar a instalação
python object_detection/builders/model_builder_tf2_test.py

Executar em Imagens

O guiará você na detecção de objetos em uma imagem usando um modelo pré-treinado.

Executar em Streams de Vídeo

Adapte o exemplo anterior para trabalhar com streams de vídeo substituindo o método show_inference por:

import cv2

cap = cv2.VideoCapture(0)  # ou cap = cv2.VideoCapture("<caminho-do-vídeo>")

def executar_inferencia(modelo, cap):
    while cap.isOpened():
        ret, image_np = cap.read()
        output_dict = realizar_inferencia_para_uma_imagem(modelo, image_np)
        # Visualização dos resultados da detecção
        # ...
        if cv2.waitKey(25) & 0xFF == ord('q'):
            cap.release()
            cv2.destroyAllWindows()
            break

executar_inferencia(modelo_de_detecao, cap)

Como Ajustar um Modelo Pré-treinado para seus Dados Personalizados

O lançamento inclui um notebook que demonstra como ajustar um modelo RetinaNet pré-treinado para detectar objetos personalizados com apenas 5 imagens e menos de 5 minutos de treinamento no Google Colab.

Siga o notebook para importar bibliotecas, carregar imagens, rotular as imagens e ajustar o modelo. A etapa de ajuste do modelo é feita da seguinte maneira:

# Download do checkpoint e colocação em models/research/object_detection/test_data/
!wget http://download.tensorflow.org/models/object_detection/tf2/20200711/ssd_resnet50_v1_fpn_640x640_coco17_tpu-8.tar.gz
!tar -xf ssd_resnet50_v1_fpn_640x640_coco17_tpu-8.tar.gz
!mv ssd_resnet50_v1_fpn_640x640_coco17_tpu-8/checkpoint models/research/object_detection/test_data/tf.keras.backend.clear_session()
print('Construindo modelo e restaurando pesos para ajuste fino...', flush=True)
# ...

Após o ajuste fino, o modelo pode ser salvo e usado para detecção de objetos personalizados.

Conclusão

A Tensorflow Object Detection API agora oferece suporte oficial ao Tensorflow 2, trazendo consigo uma série de recursos emocionantes. Desde novos modelos compatíveis com TF2 até suporte para treinamento distribuído, esta versão representa um salto significativo. Para obter detalhes mais profundos e treinar seu próprio modelo de detecção de objetos personalizado, confira nosso .

Com essas melhorias e a capacidade de personalização, a Tensorflow Object Detection API se destaca como uma ferramenta poderosa para projetos de visão computacional. Experimente agora e leve suas detecções de objetos para o próximo nível!

Top Articles
Latest Posts
Article information

Author: Wyatt Volkman LLD

Last Updated: 09/10/2023

Views: 6368

Rating: 4.6 / 5 (66 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Wyatt Volkman LLD

Birthday: 1992-02-16

Address: Suite 851 78549 Lubowitz Well, Wardside, TX 98080-8615

Phone: +67618977178100

Job: Manufacturing Director

Hobby: Running, Mountaineering, Inline skating, Writing, Baton twirling, Computer programming, Stone skipping

Introduction: My name is Wyatt Volkman LLD, I am a handsome, rich, comfortable, lively, zealous, graceful, gifted person who loves writing and wants to share my knowledge and understanding with you.