ml5.js

Machine Learning tem sido uma área bastante explorada na computação nos últimos anos, mas você sabia que hoje já é possível utilizar bibliotecas de machine learning no seu navegador?

ml5.js

O ml5.js é uma biblioteca que busca facilitar o uso do machine learning no navegador com modelos já criados e diversas funcionalidades diferentes.

Neste post fiz o uso do posenet, funcionalidade do ml5.js, para detectar a posição de alguns pontos do rosto através da câmera e exibir um círculo em cima do nariz. Este foi só um teste para conhecer a ferramenta, mas a biblioteca permite também encontrar pontos dos braços e pernas por exemplo.

Neste outro post post fiz o uso do pitch-detection, funcionalidade do ml5.js que detecta a frequência de um som, para criar um afinador para ukuleles.

O interessante é que, como essa biblioteca funciona diretamente no navegador, conseguimos uni-la com outras diferentes bibliotecas, como por exemplo o p5.js, que é utilizada para criação de desenhos em canvas ou até mesmo processamento de imagens.

soundClassifier()

Outra das funcionalidades do ml5.js que podemos utilizar é a de classificação de som, onde o machine learning é utilizado para detectar comandos de voz.

Esta funcionalidade utiliza um modelo padrão que consegue detectar alguns poucos comandos (todos em inglês), como: zero, one, two, three, four, five, six, seven, eight, nine, right, left, up, down, yes, no, go e stop. A biblioteca permite ainda que você adicione novos modelos, podendo treinar e adicionar um que esteja de acordo com as suas necessidades.

Habilitando o microfone você pode ver esta biblioteca em funcionamento. Quando carregado, será apresentado na tela a última palavra que foi detectada, assim como o percentual de confiança da biblioteca.

Conclusão

O ml5.js ainda disponibiliza funcionalidades como classificador de imagems e transferência de estilo de uma imagem em outra. Um ótimo lugar para aprender mais sobre essas bibliotecas é o canal do youtube The Coding Train. Nele você consegue encontrar tutoriais sobre o posenet, soundClassifier, e até tutoriais de física e introdução a programação.