Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

[Projeto] realidade aumentada

Eu estudo (de forma independente) uma condição que afeta pessoas com uma sequela de AVC específica, chama-se heminegligência.

Pessoas acometidas por esse evento tedem a "ignorar" um lado de suas perspectivas visuais a ponto de evitarem movimentos com olhos e cabeça para tal direção (geralmente lado esquerdo).

Eu quero implementar uma aplicação que use a câmera de um dispositivo móvel para simular objeto que se mova usando (no "fundo real") e que deve ser perseguido pelo paciente usando a câmera. Imagino que isso envolva realidade aumentada mas não sei qual das trilhas indicadas pela plataforma me ajudaria com isso.

Alguém pode me ajudar nesse sentido?

4 respostas

Olá, Murilo! Tudo bem?

Que projeto incrível e importante você está desenvolvendo! Para criar uma aplicação de realidade aumentada (RA), você primeiramente deve entender bem o conceito e tecnologias que envolvem a mesma.

Aqui estão algumas sugestões que podem te ajudar:

  1. Introdução à Realidade Aumentada: Comece os seus estudos tendo um overview sobre realidade aumentada. Deixo como recomendação o seguinte artigo:

  2. Desenvolvimento de Aplicativos Móveis: Como a realidade aumentada, normalmente, é desenvolvida para aplicativos mobiles, e de grande importância aprender a desenvolver aplicativos para dispositivos móveis. Escolha uma plataforma (Android ou iOS) e estude o desenvolvimento específico para ela. Na Alura, você pode estudar Java ou Kotlin, e para iOS, Swift.

  3. Frameworks de Realidade Aumentada: Familiarize-se com frameworks de AR que facilitam a implementação de funcionalidades de realidade aumentada. Alguns dos mais populares são:

    • ARCore (para Android)
    • ARKit (para iOS)
    • Unity com Vuforia (multiplataforma)
  4. Processamento de Imagem e Visão Computacional: Ter um entendimento básico de processamento de imagem e visão computacional pode ser muito útil, pois você estará trabalhando com a câmera e a detecção de objetos. Na Alura temos toda uma formação para você entender e implementar aplicações com visão computacional.

Para começar, você pode procurar por cursos específicos sobre ARCore e ARKit, dependendo da plataforma que você escolher. Esses frameworks possuem tutoriais e documentações que podem te guiar na criação de objetos virtuais que interagem com o mundo real através da câmera do dispositivo.

Por exemplo, se você escolher ARCore, pode seguir um tutorial básico para criar um objeto 3D que aparece na tela do dispositivo quando a câmera é apontada para um marcador específico. A partir daí, você pode expandir para mover o objeto e fazer com que o paciente o persiga.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Olá Armano, obrigado pelo feedback.

Eu tenho uma dúvida, a sua recomendação para aprendizado sobre "Processamento de Imagem e Visão Computacional" inclui uma ferramenta que roda em Python. Não seria mais interessante que a implementasse em C++? Fiz toda a formação de C e agora já estou no meio da formação de C++.

Pergunto porque embora "saiba" que C++ ganha em performance, não sei dizer se esse é um projeto onde essa diferença seria relevante, não tenho experiência com projetos grandes. Ademais, nunca vi um exemplo prático de como essa diferença se daria de forma paupável e então, não tenho referência nem conhecimento para decidir.

Existe um parte desse processo que incluirá rastreio de movimento ocular e preciso que isso seja extremamente sensível pois preciso discernir ações realizadas em função de tempo. Acredito que esse seja um caso onde "performance" seja relevante.

Enfim, tenho essas questões, se puder me ajudar.

desde já, grato.

Olá, Murilo! Tudo joia?

Obrigado por compartilhar seus detalhes e preocupações!

As minhas recomendações foram em ferramentas que rodam em Python por questão de praticidade, como você ainda não fez aplicações do tipo, recomendo que comece utilizando uma tecnologia que facilita o desenvolvimento. Então, assim que já tiver essa base de desenvolvimento, você poderia aplicá-la em outras com o desenvolvimento mais complexo.

A escolha entre Python e C++ para um projeto de Processamento de Imagem e Visão Computacional depende de vários fatores, e vou tentar abordar cada um deles com base nas suas necessidades.

Ptyhon é mais fácil de aprender e usar, especialmente para prototipagem rápida, além ter muitas bibliotecas poderosas como OpenCV, TensorFlow e PyTorch que facilitam o trabalho com processamento de imagem e visão computacional. Mas, o Python pode ser mais lento que C++ devido à sua natureza interpretada.

C ++ ganha em desempenho, principalmente em tarefas computacionalmente intensivas, como rastreamento de movimento ocular em tempo real, pois, permite um controle mais granular sobre a memória e a otimização do código, o que pode ser crucial para aplicações onde a latência e o tempo de resposta são críticos.

De forma conclusiva:

  • Se o foco é performance para um projeto de rastreamento ocular, e considerando sua formação em C e C++, C++ parece ser a escolha ideal. Você poderá obter um controle maior e garantir que a aplicação responda no tempo necessário.

  • Porém, se você ainda estiver experimentando ou prototipando, não descarte Python, pois ele permite uma implementação rápida e você sempre pode portar para C++ depois.

Espero ter esclarecido a sua dúvida!

solução!

eu entendi, seguirei suas recomendações, obrigado!