Dataset
Um dataset é um conjunto de exemplos anotados que servem para instruir uma rede neural sobre o que é desejado que seja reconhecido nas imagens. No conjunto de imagens do dataset iremos ter vários exemplos diferentes dos objetos que desejamos identificar ou reconhecer. Esses exemplos irão alimentar o treinamento da rede neural para que possa ser identificado o padrão comum entre eles.
Tipos de dataset
Os datasets podem ser de vários tipos. Os mais utilizados no Eyeflow são:
Cada tipo de dataset possui uma anotação diferente, e um diferente tipo de saída.
ObjectDetection
Os datasets ObjectDetection costumam ser os mais utilizados pela sua versatilidade e facilidade de anotação. O objetivo é identificar um objeto específico em uma imagem ampla, delimitando uma área retangular ao redor do objeto. Sua anotação costuma ser bem simples e rápida, pois basta clicar e arrastar um retângulo (box) e definir qual a classe do objeto. É executado por um tipo de rede neural que pode ser bastante otimizada para execução na borda, podendo chegar a centenas de FPS em tempo real.
Classification
Os datasets de Classification são os mais comuns, e foram os primeiros a surgir no universo de DeepLearning. Basicamente identifica uma imagem como sendo uma de N classes. Por exemplo, se tiver uma lista de imagens de gato pode-se definir qual a raça de cada um, e a rede neural irá aprender a identificar a raça em qualquer imagem.
AnomallyDetection
Observação: Este é um dataset ainda em fase experimental.
O dataset AnomallyDetection é orientado para identificar anomalias em imagens de um mesmo objeto. A ideia é alimentar o dataset com muitas imagens do objeto “correto” e assim a rede neural aprender o padrão bom. Quando a rede neural for apresentada a uma imagem de um objeto que tem uma diferença do padrão bom (anomalia), ela irá apontar a anomalia.
InstanceSegmentation
Observação: Este é um dataset ainda em fase experimental.
InstanceSegmentation é um dataset que se popularizou nos últimos anos devido a sua intensa utilização nos sistemas de veículos autônomos e sistemas de IA para medicina. Trata-de de identificar o objeto, juntamente com todo seu contorno pixel a pixel. Sua saída é bastante impressionante, pois permite “recortar” detalhadamente o objeto do fundo da imagem, porém, sua anotação é extremamente trabalhosa, geralmente demandando uma grande equipe de pessoas para gerar um conjunto adequado de imagens anotadas para treinamento.
Criando um dataset
Criar dataset é uma tarefa bem simples. Basta clicar no menu lateral em Novo Dataset.
Irá abrir uma tela para entrar com os dados do dataset.
É só preencher o Nome e Descrição, escolher o tipo e definir a qual Aplicação o dataset pertence. Depois é preciso adicionar pelo menos uma classe.
Classes
O objetivo da rede neural será identificar um padrão na imagem, e dar saída disso em formato de dados. Assim, criamos classes no dataset para poder usarmos para marcar as imagens, e assim ensinar a rede neural a reconhecer esses padrões e nos informar qual foi a classe reconhecida. Por exemplo, se temos várias imagens de exemplos de cachorros e gatos, e queremos saber se trata-se de um ou outro na imagem, criamos duas classes:
As cores escolhidas servirão para ajudar na anotação do dataset, e irão aparecer na anotação dos vídeos.
Exemplos
Exemplos são imagens anotadas que irão instruir a rede neural no aprendizado do reconhecimento dos padrões. Inserimos várias imagens no dataset a partir de quadros de um video ou fotos, e depois anotamos em cada uma dessas imagens aquilo que é desejado ser reconhecido. A maneira mais simples e rápida de adicionar novos exemplos é extraindo de vídeos de exemplo. Ao passar um vídeo em um Flow a ferramenta extrai alguns dos quadros do vídeo e os disponibiliza na tela de Novos Exemplos.
Nessa tela também é possivel subir novos exemplos a partir de imagens localizadas no computador.
 Importante!
Para que uma rede neural aprenda bem é importante que haja uma boa diversidade de exemplos. Inserir várias imagens muito parecidas, ou inserir muitas imagens de uma classe e poucas das outras irá fazer com que o dataset fique desbalanceado e a rede não aprende bem
Anotação
Anotação é o processo onde o usuário marca na imagem o objeto que deseja que seja identificado, gerando assim um exemplo que será utilizado no treinamento da rede neural.
As anotações são diferentes para cada tipo de dataset. Em um dataset ObjectDetection o usuário clica e arrasta o mouse para desenhar uma caixa ao redor do objeto, e depois define a qual classe esse objeto pertence.
Para onde devo ir agora?
- Treinamento: Treinando a rede neural
- Flow: Criando o Flow
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.