Detecção de objetos

Ai o diferencial estará no APP e na API, que justamente tratará as imagens e indices recebidas pelos técnicos, separando as imagens e fazendo um novo treinamento naquele determinado indice a cada vez que uma imagem com aquele indice for adicionada.

E por isso também que é bom trabalhar com docker, assim consigo trabalhar com multiplos containers replicados, e então utilizar o kubernates para fazer a gestão, evitando de o sistema ficar inacessível durante o treinamento de um novo modelo

Se você tem 10, 50, 100 tipos de imagens, ou indices como você falou, vai ter 10, 50, 100 models. Parece um pouco demais, não? Por outro lado, se você tem 2-9 tipos de imagens, não seria melhor criar uma API pra cada? Não estou vendo a vantagem em criar uma API pra receber dados que serão treinados separadamente.

Os idices são muito mais que 100 tipos.

E também a qualquer momento pode ser adicionada uma foto com um novo indice

Imaginei que fosse isso porque vc falou em docker.

Mas um novo índice vai servir de que com uma imagem? 1 imagem não é suficiente para treinar nada. Você vai precisar de um banco de dados de milhares pra lá pra conseguir algo de util.

Todo banco começa com uma imagem, como disse é um ambiente controlado, ao ser adicionado um novo indice outros tecnicos já irão buscar adicionar mais amostras a aquele determinado indice, assim em questão de 2 ou 3 meses já se teria cerca de 50 a 60 imagens

Isso é muito pouco para treinar um modelo para reconhecimento de objetos. Não seria o caso de restringir o escopo do projeto ? Porque você tem 2 tópicos aí: treinamento do modelo e infra-estrutura da aplicação, qual é o tema central do seu trabalho ?

50 mil?

50 imagens já testamos e chega a uma precisão superior a 80%, o recomendado pelo google é acima de 100 imagens para uma precisão superior a 90% para objetos com grande variação, quanto menor a variação do objeto menor o número de imagens necessárias para o treino.

não 50 mesmo

Entendi, de qualquer maneira, qual será o foco do trabalho: o modelo de ML utilizado ou a infra/arquitetura da aplicação ?

O foco será a arquitetura, mas funcionar é bom tbm né

Bom, já que o seu foco é a arquitetura do sistema, acho que um projeto que pode te ajudar muito é esse:

basicamente é uma infra-estrutura para você fazer o deploy de modelos de machine learning e expô-los como API’s. Talvez isso já te ajude bastante na questão da infra-estrutura.

Sobre o treinamento dos modelos … bom, se você diz que nesse teste você já conseguiu um modelo que acerta 80% das classificações, acho que para um TCC está razoável … nada te impede também de pré-coletar algumas imagens para ter um modelo inicial melhor.

Se você tem um sistema que botânicos e técnicos florestais cadastram imagens de flores, será que faz sentido criar um algoritmo para detectar imagens de flores? Não seria melhor pedir para o especialista faze-lo?

Sei que não esta fazendo um sistema sobre flores, o que estou dizendo é, a idéia por trás de todos casos de uso de machine learning que vejo parte do princípio que o computador pode fazer o trabalho e dispensar o especialista.

Vlw… vow dar uma olhada

Mas é exatamente esse o foco, onde os tecnicos de diferentes áreas podem treinar, não precisa de suporte, de especialistas reunindo imagens e treinando, mas que qualquer instituição possa simplesmente baixar o app de treinamento, cria um indice e começa a tirar fotos daquilo, envia para treinamento e designa um link para ser apresentado quando aquele objeto for reconhecido no app de reconhecimento.

A ideia inicial é para museus de interior, aqueles que não tem como ter um guia assim, estatuas de praças etc… Onde alguem pode ir lá e simplesmente tirar uma bateria de fotos da estatua e apontar para um link da wikipedia, ou outro site que fale sobre aquela estatua.

É uma ideia inicial, sabemos que muito terá de ser refinado até que possa ser posta em prática, mas tem que começar em algum lugar né.

Se entendi o que quer fazer, não seria possível fazer o mesmo para aplicações em geral? Tipo um app para desenvolvimento, onde qualquer instituição pode criar um “índice” e começar a definir requisitos, depois o sistema envia para compilação e designa um link que representa a regra de negócio usada quando aquele caso de uso é reconhecido no app de execução.

A idéia seria dispensar a necessidade de desenvolvedores de aplicações, mas ai vem a pergunta… um desenvolvedor ou cientista de dados trabalhando na instituição não apresentaria resultados melhores dos que os gerados por uma app? :thinking:

O foco interno na instituição é apenas para teste, e será gratuito, hospedado pela universidade, assim não tem como manter um tecnico para operar, o objetivo é que qualquer um com uma finalidade publica possa usar de graça.

Assim a ideia é que, seguindo um exemplo, a prefeitura de uma cidade pequena possa se cadastrar, um funcionário seja designado e treinado, agora vamos dizer que nessa cidade tenha um monumento, algo assim, turistico, ele vai lá e tira uma bateria de fotos de uma placa, estas que sempre tem monumentos e tal, coloca o indice, monumento tal e atribui o link de uma página onde explique sobre aquele monumento, envia tudo, a API recebe, cria a pasta com o indice, coloca as imagens dentro e treina.

Assim quando algum turista estiver lá e quiser saber mais dq o que esta escrito na placa, basta apontar o app para a placa e este lhe encaminhara para a página de descrição.

Claro este é um exemplo, tem várias aplicações tal plataforma, e este é uma implementação inicial, ai em implementações futuras iremos buscar uma forma que pudesse reconhecer o próprio monumento e não apenas a placa.

Pra não ter que ficar tirando uma bateria de fotos, poder treinar a partir de vídeo, etc… etc… etc…

Você pode fazer isso pedindo para o funcionário digitar o texto da placa e quando o turista tirar foto você reconhece os caracteres da imagem e faz uma consulta a API baseado no texto da placa.

Não precisa usar machine learning.

Como disse, esta é uma implementação inicial, para a partir desta ir melhorando e crescendo, isso é necessário pois quando se pega verba com o governo para projetos torna-se mais fácil fazendo um projeto pequeno, ai outro para melhorar, e outro, etc… Muito difícil conseguir incentivo para um projeto de grande porte.

Acho que entendo o que quer dizer sob o aspecto do negócio, mas um sistema que detecta placas não é uma etapa em direção a um sistema que detecta monumentos. Não é como se você for melhorando um sistema que detecta placas, ele vai acabar detectando monumentos. São coisas diferentes, com implementações diferentes, e provavelmente requerem mão de obra mais qualificada para desenvolver, e no caso de machine learning, pra suportar, do que um funcionário da prefeitura.