Artigos

VoTT — Gerando seus próprios datasets para o treinamento de modelos para detecção de objetos a partir de vídeos e imagens

Se você trabalha ou quer trabalhar com modelos de aprendizagem de máquina para a detecção de objetos, já se deparou com um problema: Como obter bases de dados para o treinamento?

Resultado de imagem para object detection

Exceto quando o que você fazer for bastante trivial, você precisará preprar essa base, mas pode surgir a seguinte questão: Como vou fazer isso?

Por exemplo: Você quer contruir uma solução para a detecção de objetos específicos, como por exemplo, se os operários de uma construção estão utilizando os EPI — Equipamento de Proteção Individual. Como você faria para construir essa base de dados de imagens de capacetes, óculos, luvas, etc.?

O que você verá neste artigo?

Neste artigo vou apresentar o VoTT — Visual Object Tagging Tool, onde você poderá consturir sua base de dados de imagens taggeadas de uma forma simples e objetiva que lhe permitirá construir modelos computacionais incríveis para os mais diversos domínios de aplicação.


Um resumo do processo de treinamento para datecção de objetos

Analisando genericamente o processo de treinamento nós temos as seguintes etapas: a partir de uma base de dados taggeada, vamos estruturá-la de modo que seja adequada à entrada do modelo computacional.

End to End Object Detection Pipeline

Temos diversos frameworks que nos oferecem modelos para o treinamento de imagens com a finalizade de detecção e reconhecimento: CNTK, TensorFlow, Theano, Pytorch, etc e modelos absolutamente maduros, dentre os quais destaco: Fast R-CNN, VGGNET, R-CNN, SPPNET, etc.

Após a fase de treinamento, teremos o modelo que teve um melhor desempenho no reconhecimento dos objetos e por fim salvamos esse modelo para reproduzir depois — o que chamamos de modelo pré-treinado.


O que o VoTT pode fazer por você?

O VoTT provê as seguintes features:

  • Computer-assisted tagging e rastreamento de objetos em vídeos usando o algoritmo de rastreamento Camshift .
  • Exportar tags para os formatos CNTK, Tensorflow (PascalVOC) ou YOLO para treinamento.
  • Taggear imagem ou vídeos de forma autônoma.
  • Executar e validar um modelo de detecção de objetos a partir do CNTK treinado.
  • Use o Active Learning com modelos de detecção de objetos treinados (local ou remotamente) em novos vídeos para gerar modelos mais fortes.

Usando o Visual Object Tagging Tool passo-a-passo:

Nesta seção será mostrado como você irá utilizar o VoTT para criar seu próprio dataset de treinamento.

Primeiramnete, você deverá baixar o instalador mais adequado ao seu sistema operacional aqui: https://github.com/Microsoft/VoTT/releases

Selecione a opção para marcar um vídeo

Carregue um arquivo de vídeo MP4 arrastando-o para o aplicativo ou clicando e selecionando-o.

Configure o job de marcação e especifique as configurações como mostrado abaixo:

  • Frame Extraction Rate: número de frames para taggear por segundo de vídeo
  • Region Type: tipo de caixa delimitadora para regiões de marcação
  • Enable Scene Change Detection: Detectar alterações de cena para evitar falsos positivos ao rastrear. (Nota: esta opção é um pouco mais lenta)
  • Labels: labels da região taggeada (e.g. CatDogHorsePerson)

Taggear o video frame-a-frame

Tagging

Clique e arraste uma caixa delimitadora em torno da área desejada, em seguida, mova ou redimensione a região até que ela se ajuste ao objeto

Navegação

Os usuários podem navegar entre quadros de vídeo usando o botões, as teclas de seta para a esquerda / para a direita ou a barra de pular de vídeo

As tags são salvas automaticamente toda vez que um frame é alterado

Export video Tags

Você pode exportar tags de vídeo usando o menu “Object Detection’ ou Ctrl / Cmd + E

A ferramenta reserva uma amostra aleatória de 20% dos quadros marcados como um conjunto de testes.

Especifique as seguintes configurações de exportação:

  • Export Format: Qual o formato para exportar, o valor padrão é CNTK.
  • Export Frames Until: até onde será feita a exportação
  • Training Path/Key: diretório com os dados exportados

Agora é com você!


Caso você queira usar o código-fonte ou encontrar mais informações, acesse o github oficial do projeto:Microsoft/VoTT
Visual Object Tagging Tool: An electron app for building end to end Object Detection Models from Images and Videos. …github.com

É importante lembrar que existem diversas ferramentas nas clouds da AWS, IBM, Azure, que fazem o processo de tagging, treinamento e detecção de forma semi-automática, direcionada para usuários com menos experiência na construção de modelos computacionais.

Microsoft Azure Custom Vision Service with CNTK

Caso você não seja um especialista em modelos computacionais e esteja focando na criação de um novo produto ou serviço, recomendo que use essas soluções prontas e mantenha o foco no seu negócio. Você poderá encontrar um artigo completo sobre isso em: https://goo.gl/pHrjbe

Caso haja alguma limitação nessa ferramentas, nesse caso vale à pena investir algum tempo na criação de uma nova base de treinamento para o seu novo modelo computacional.

Follow me: https://www.linkedin.com/in/joaogabriellima/

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *