Pular para o conteúdo principal

Treinando um Modelo de Detector Personalizado

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

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

  • Coletar e anotar imagens de objetos de interesse.
    • Neste contexto, "anotação" é o processo de desenhar caixas delimitadoras ao redor de 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 um .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 o 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 fortemente 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 um Tensorflow TFRecord. Faça o upload deste arquivo para o seu Google Drive.

2. Treinando o Modelo

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

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

Seção 1

  1. Expanda a primeira seção e clique no botão de reprodução 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 de reprodução do primeiro bloco para montar sua pasta do Google Drive no painel "Files" na 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 estiver 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 após 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 avançar 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 / 8 bits.
  3. Execute todos os blocos de código na seção 7 para preparar o modelo para o Google Coral e Limelight. O bloco de código final levará algum tempo e fará o download do modelo treinado como um arquivo .zip.

Upload para o Limelight

  1. Descompacte o arquivo da sua sessão do Colab. Faça o upload dos arquivos limelight_neural_detector_coral.tflite e labels.txt para o seu Limelight.