Preciso de ajuda para fazer um aplicativo de medidas de objetos

Boa noite galera, é o seguinte, desde o início desse ano tenho uma ideia ambiciosa de fazer um aplicativo de medição de objetos, já ouviram falar no Quick Measure ou no Google Measure? A ideia é basicamente a desses aplicativos, estou querendo fazer um app de celular que, através da câmera do celular seja capaz de identificar um objeto e dar todas as medidas possíveis: largura, altura, profundidade, circunferência, além de ser capaz por exemplo de comparar dois objetos e dar a resposta se objeto x cabe dentro de objeto y, qual é maior, qual é menor, entre outras informações.

Sou técnico em informática e já tenho uma experiência, muito básica com o mundo da programação, gostaria de saber de vocês tudo o que possa ser relevante pra concretizar essa ideia, qual linguagem seria a mais apropriada, quais bibliotecas me seriam úteis, existe algum tema específico que seria bom eu pesquisar? Preciso do máximo de informações possíveis pra iniciar esse projeto e conto com a ajuda de vocês. Muitíssimo obrigado.

1 curtida

Eu sei que é possível criar modelos 3D atraves de fotos de objetos, sendo necessário inúmeras fotos ao redor dele. Se vc achar algum framework que faça isso pode facilitar muito o processo. Lembro de ter visto vídeo sobre isso alguns anos atrás.

Mas se for pra entrar no detalhe de tratar os dados da câmera para construir objetos, se prepare para um trabalho monstruoso de reconhecimento de imagens e matemática.

2 curtidas

Bixo, isso tá muito longe de de ser trivial, independente de se usar bibliotecas ou não, pensa só, mesmo que a gente limite esse projeto só pra tamanhos e distâncias, tamanhos de objetos variam de acordo com a distancia e ângulo em relação a câmera, pra computar qualquer coisa do tipo você precisa de um objeto de referência que já tenha um tamanho que você conhece na mesma linha objeto que você quer medir (ou usar um tamanho fixo pra cada pixel mas isso vai variar de acordo com a resolução de cada câmera então não é viável pra um aplicativo de consumo geral), mas a gente tá falando de medir objetos arbitrários sem nenhuma informação prévia sobre o ambiente em que eles estarão inseridos, isso é tópico de pesquisa acadêmica que tomou o trabalho de dezenas de engenheiros da Google e Samsung pra implementar na forma de aplicativo, e em cima disso você quer adicionar volume e computação geométrica. Não quero jogar um balde de água fria mas não importa que experiência tu tenha só programando, tu não vai tá preparado nem pra arriscar um projeto assim antes de estudar bem visão computacional e toda matemática necessária (algebra linear, estatística, geometria e cálculo são o que vc mais vê), uma introdução boa ao tópico é Computer Vision: Algorithms and Applications, primeira edição é grátis pra baixar, mas mesmo assim provavelmente não vai ser o bastante se tu não reduzir o escopo dessa ideia ou tiver afim e passar uns aninhos aí estudando e escrevendo.

4 curtidas

Velho, aí vc pegou pesado

O máximo que dá pra fazer assim é fazer uma estimativa usando alguns truques matemáticos:

Pegue a distância focal da câmera F, você pode obter esse valor diretamente do celular ou usando um hack interessante:

F = (P×D)÷W

Onde F é obviamente a distância focal
P é uma das medidas em pixels do objeto
D é a distância da câmera até o objeto
W é a medida real do objeto

Então temos a medida (largura ou altura) do objeto naturalmente descrita por:

W = (F×P)÷D

Em outras palavras:

Uma medida no mundo real qualquer do objeto é igual a multiplicação da distância focal da câmera multiplicado pela medida do objeto em pixels dividido pela distância no mundo real da câmera até o objeto

Sendo que naturalmente W e D tem a mesma unidade de medida


Agora a problemática real, fica em como calcular automaticamente a distância até o objeto e Infelizmente não existe um bom meio de fazer
que funcione de forma generalizada como você quer, uma alternativa é usar algum sensor de distância alguns smartphones têm esse sensor nativo (AR Core) mas a maioria não possui eu imagino que dê pra usar um Hardware externo como Arduino pra ficar mandando as informações, mas eu nunca testei


Conclusão:

Tendo a medida da distância do objeto dá pra calcular a medida de forma relativamente tranquila, usando esse método eu consegui medir diversos objetos mais “quadrados” com margem de erro de 5 cm… Mas eu tive que saber a distância, até tem como calcular a distância sem esse sensor mas fica com um nível de confiabilidade bem baixo e eu precisei de um referencial então eu imagino que não teria utilidade, eu usei de referência esses vídeos:

Medir o tamanho do objeto tendo a largura e o ponto focal:

Tentativa de medir a distância fazendo um sensor via software:

Se você tiver um objeto que você consiga levar com você para medir (você saiba o tamanho do objeto real e em pixels) é possível obter o a distância e consequentemente todas as outras medidas de quaisquer outros objetos em cena

3 curtidas