Pular para o conteúdo principal

Treinando um Modelo Detector Personalizado

Com Roboflow, Google Colab e seu próprio conjunto de dados, você pode treinar rapidamente modelos detectores personalizados para o Limelight.

Aqui está uma visão geral das etapas que você precisará seguir:

  • Coletar e anotar imagens dos objetos de interesse.
    • Neste contexto, "anotação" é o processo de desenhar caixas delimitadoras ao redor dos objetos de interesse. Tudo isso pode ser feito na interface web do Roboflow.
    • Alternativamente, você pode selecionar um conjunto de dados público do Roboflow Universe
  • Exportar o conjunto de dados anotado como .tfrecord, fazer upload para o Google Drive e usar nosso Notebook de treinamento gratuito com o Google Colab.
    • O Google Colab permite que você treine redes neurais usando GPUs poderosas na nuvem gratuitamente.

Tutorial:

1. O Conjunto de Dados

O Notebook de Treinamento do Limelight espera um conjunto de dados .tfrecord compactado. O Roboflow pode exportar arquivos .tfrecord com um clique.

Você pode construir seu próprio conjunto de dados com Roboflow, ou navegar pelo Roboflow Universe para conjuntos de dados pré-anotados.

Se você optar por construir seu próprio conjunto de dados, leia o seguinte:

  • Você deve maximizar a diversidade do seu conjunto de dados. A diversidade do seu conjunto de dados deve exceder a diversidade do que seu Limelight verá uma vez implantado.

  • A qualidade e precisão do seu conjunto de dados são de extrema importância. Certifique-se de que suas caixas delimitadoras sejam precisas e sigam uma única convenção. Por exemplo, a caixa delimitadora de um objeto parcialmente oculto deve capturar apenas a parte visível do objeto.

  • Use letras minúsculas para rótulos de classe

  • Minimize o número de rótulos de classe.

  • Utilize as aumentações do Roboflow, mas certifique-se de que façam sentido. Se você está detectando bolas vermelhas e azuis, por exemplo, certifique-se de não estar invertendo ou modificando muito o matiz no seu conjunto de dados aumentado.

Depois de ter rotulado ou encontrado um conjunto de dados, use o botão "Download Dataset" do Roboflow para exportá-lo como Tensorflow TFRecord. Faça upload deste arquivo para seu Google Drive.

2. Treinando o Modelo

Para treinar seu detector personalizado, inicie uma sessão do Google Colab com o Notebook de Treinamento do Detector Limelight.

O Notebook não requer alterações no código. Siga estas etapas para treinar seu modelo:

Seção 1

  1. Expanda a primeira seção e clique no botão play no canto superior esquerdo de cada um dos três primeiros blocos de código. O bloco de código final de "teste" pode ser ignorado para economizar tempo.

Seção 2

  1. Expanda a segunda seção. Clique no botão play do primeiro bloco para montar sua pasta do Google Drive no painel "Files" em sua sessão do Colab. Abra o painel de arquivos clicando no botão de pasta no lado esquerdo da tela.

  2. Depois que seu Google Drive for montado, clique no botão de atualização no painel "Files". Execute o segundo bloco de código nesta seção para selecionar seu arquivo .tfrecord.zip já carregado na pasta gdrive. Encontre o arquivo e clique no botão "select".

  3. Execute os próximos dois blocos de código para descompactar e validar o TFRecord.

Seção 3

  1. Execute todos os blocos de código na seção 3 para preparar o treinamento

Seção 4

  1. Execute todos os blocos de código na seção 4 para iniciar o treinamento.

  2. Enquanto o script de treinamento está em execução, você pode atualizar o painel de arquivos e o tensorboard para monitorar o progresso. Um novo checkpoint deve aparecer na pasta "training_progress" a cada 2000 etapas.

  3. Embora o treinamento pare automaticamente em 40000 etapas, você pode interrompê-lo a qualquer momento com o botão de parada no bloco de código final desta seção. Desde que os checkpoints estejam disponíveis, você pode prosseguir para a quantização e compilação.

Seções 5 - 7

  1. Execute todos os blocos de código na seção 5 para gerar um arquivo de rótulos e converter o modelo para um formato FlatBuffer compatível
  2. Execute todos os blocos de código na seção 6 para quantizar o modelo para inferência INT8 / 8bit.
  3. Execute todos os blocos de código na seção 7 para preparar o modelo para Google Coral e Limelight. O bloco de código final levará algum tempo e baixará o modelo treinado como um arquivo .zip.

Upload para o Limelight

  1. Descompacte o arquivo do sua sessão do Colab.
  2. Equipes FTC - Se você tem um Limelight3A, faça upload do modelo tflite 8bit e labels.txt. Você precisará mudar o mecanismo de execução de "coral" para "cpu"
  3. Equipes FRC - Se você tem um Google Coral, faça upload dos arquivos limelight_neural_detector_coral.tflite e labels.txt para seu Limelight.