No momento apenas estudar uma possibilidade para um projeto acadêmico
Que necessitaria fazer um aplicativo que conseguisse identificar algumas imagens após ser treinado
Claro, sei que tal app é possível e existem, porém a possibilidade te eu construir um destes dentro do prazo, por isso necessito descobrir o nível de complexidade de tal projeto.
Eu cheguei a ver bastante coisa disso para kinect, quando eu estava estudando sobre realidade aumentada. Tem bastante material. Só não sei se você tem interesse em partir para C#…
Mas pelo que cheguei a conclusão, no meu projeto teria que construir uma api, onde ficassem armazenadas as imagens e um sistema de comparação de imagens
Ai tiraria foto da imagem para identificar, enviaria pra api, este passaria para o sistema de comparação, que retornaria a porcentagem de similaridade entre as imagens
Porém estes que rodam no próprio cel seriam problemáticos pra mim, pois teriam que estar sempre atualizando sobre novas entradas dadas na rede e ficariam muito pesados com o tempo
Estes pelo que vi são mais recomendados para quando vc tem assim um treinamento mais pré estabelecido no app e não quando serão dadas entradas de treinamento dinâmicas
Os que rodam no cel usam menos rede que os apps que dependem de um datacenter. Quanto a ser pesado, tem que ver exatamente o que quer fazer, porque se ficar transmitindo muitos dados toda hora tb não é algo leve. Em geral, tecnologia de hardware para processamento local evolui mais rápido que de rede.
Meu entendimento é que o pós treino é dinâmico, mas baseado apenas nos dados do usuário.
Você precisaria de um banco de dados de imagens monstro, igual esses que empresas como Google e Apple tem, pra ser capaz de identificar imagens dessa forma, não?
A principio pelo que estudei, o google recomenda a partir de 100 imagens, porém em casos como o apresentado no vídeo, de flores, onde pode haver uma variação de tipos o formatos, e cores, etc… muito grande
Como no meu caso seriam imagens estáticas, sempre iguais, pelo que vi com uma pequena amostra já da para ter uma precisão de um bom nível
A situação que tenho é que assim, se um outro usuário treinou o meu app teria que reconhecer essa imagem, sendo assim sempre antes de fazer a checagem teria que sincronizar o banco caso com o processamento local
Será que a sincronização pesaria menos que o envio da imagem para processar no servidor?
Não faz sentido técnicos e funcionários saberem treinar um modelo de ML.
Se você quer detectar flores, o processo é coletar dados de flores, usar esses dados para treinar o model, e depois usar este model pra fazer a detecção. Mas detectar coisas que você ainda nem sabe o que é, não sei como funcionaria.