o que é mobile net?

O que é MobileNet?

MobileNet é uma simplificação de redes neurais para possibilitar o seu uso em aplicações web, com isso podemos criar rapidamente uma aplicação de reconhecimento de imagens. Inicialmente com um propósito mobile-first MobileNet foi utilizada pelo tensorflow.js e ml5.js

Em mais detalhes, MobileNets são uma classe de convolução de redes neurais projetadas por pesquisadores do Google. Eles foram inicialmente projetados para facilitar o uso de recursos do seu aparelho móvel aonde parte da informação é processada na nuvem assim economizando recursos computacionais do seu celular.

Convolução?

Na convolução as imagens em pixels são convertidas em dados numéricos, por exemplo, a imagine que você possui 512 por 512 pixels abaixo:

Foto Fellyph Cintra
Foto Fellyph Cintra

Nós seres humanos classificamos da seguinte forma:

  1. Homem feio
  2. Barba falha
  3. Camisa listrada
  4. Sentado numa cadeira preta

Como mobilenet trabalha?

No exemplo acima fazemos a convolução da imagem de 512×512 em 4 dados. Da mesma forma com Machine Learning essa imagem será divida em pequenos recortes e esses recortes serão analisados por um grupo de pequenas rede neurais, após esse processo as imagens serão traduzidas em números (lista de arrays) que classificam essa imagem.

Esse processo é repetido para cara bloco por várias redes neurais até chegar um grupo de números que definem a imagem com mobilenet
Esse processo é repetido para cara bloco por várias redes neurais até chegar um grupo de números que definem a imagem.

O nível de precisão de uma MobileNet é menor que as redes neurais tradicionais, para agilizar o tempo de processamento. Isso é compensado pela quantidade de amostras que a MobileNet possui na nuvem.

Por padrão MobileNet utilizar o dataset ImageNet com mais de 1500.000 de imagens divididas em 1.000 categorias. Mas Google fez o código-fonte MobileNet aberto com 16 pontos de verificação, com isso podemos treinar o nosso próprio modelo reutilizando a estrutura da mobileNet.

Processo de identificação com ml5.js, por exemplo, é bem simples, podemos passar o dataset a partir de uma webcam e as imagens pode ser para infinitas finalidades:

  • Objetos
  • Expressões faciais
  • Cores
  • Letras
  • Posições de um corpo humano

Para o modelo não importa a finalidade os objetos serão classificados em números. Assim precisamos das imagens e as labels para classificação dessas imagens.

Após o treinamento podemos dizer através de uma porcentagem o que a imagem se trata.

No próximo post falaremos mais sobre como utilizar o nosso próprio dataset com ml5.js, se ainda não conferiu o post sobre ml5.js aqui vai o link:

https://blog.fellyph.com.br/javascript/introducao-ao-ml5-js/


Publicado

em

por

Comentários

Deixe um comentário

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