Partage
  • Partager sur Facebook
  • Partager sur Twitter

Projet et questions

Projet

    23 septembre 2018 à 23:41:59

    Salut à tous, 

    J'ai pour projet étudiant de réaliser un système de "réalité virtuelle" à bas cout pour une application médicale. Je m'explique, le sujet aura sur sa tête un téléphone portable contenu dans un casque VR (casque bas prix). Ce casque sera surmonté d'une ou 2 caméras (reste à définir selon les possibilités). Jusque là, rien de bien compliqué 

    Pour expliquer la démarche je vais partir sur seulement 1 caméra. 

    Donc cette caméra va venir remplacer les yeux du sujet. Je vais ensuite récupérer le flux vidéo via un ordinateur (ou une raspberry pi ?). Ensuite l'ordinateur va venir modifier en temps réel le flux vidéo pour appliquer une inversion de l'image selon l'axe des X : la gauche réelle devient la droite, et la droite devient la gauche. 

    Ensuite j'envoi tout ça sur le téléphone situé dans le casque VR pour donner l'illusion à la personne que la gauche est sa droite et que sa droite est sa gauche. 

    Du coup, j'ai pas mal de questions : 

    - Ce dispositif est il envisageable ? 

    - Avec quels outils puis je faire ça ? Quel langage de prog ? 

    - Est ce que vous ne voyez pas un moyen de simplifier tout ça ? Raspberry peut être ? 

    A savoir : je ne suis pas du tout dans le domaine du développement d'application ou autre, donc on peut dire que je suis un novice :) 

    Merci pour votre aide, si vous avez des questions n'hésitez pas ! :) 

    • Partager sur Facebook
    • Partager sur Twitter
      24 septembre 2018 à 10:06:15

      Salut ! :)

      BananeFraise1 a écrit:

      Ensuite j'envoi tout ça sur le téléphone situé dans le casque VR pour donner l'illusion à la personne que la gauche est sa droite et que sa droite est sa gauche. 

      Dès que l'utilisateur va vouloir bouger c'est la catastrophe non ? x)

      BananeFraise1 a écrit:

      - Ce dispositif est il envisageable ?

      Pourquoi il ne le serais pas ? Je ne vois que des opérations assez classique. Le point qui me semble le plus incertain, c'est la réduction des coûts

      BananeFraise1 a écrit:

      - Avec quels outils puis je faire ça ? Quel langage de prog ?

      Si tu veux optimiser le temps réel, tu dois faire attention à ton séquenceur de processus, donc choisir un OS adapté au temps réel (genre FreeRTOS), tu vas choisir un langage qui mise sur son temps d'exécution, donc un langage compilé (C++/Rust ...), et une lib de traitement d'image éprouvé (OpenCV) pour le traitement, tu dois bien concevoir l'architecture de ton programme et analyser l'exécution avec un profiler (Valgrind ...), tu dois choisir un protocole réseau déterministe qui répondra à tes contraintes (là aucune idée Oo, peut-être du côté des protocole IoT genre LoRa/SigFox ... mais je ne pense pas que ce soit adapté à du flux vidéo)

      Du côté du téléphone, ça dépend un peu ta cible mais si tu restes sur Android, c'est intéressant de voir Kotlin

      BananeFraise1 a écrit:

      - Est ce que vous ne voyez pas un moyen de simplifier tout ça ? Raspberry peut être ?

      Selon tes contraintes tu peux peut-être faire tout le traitement directement dans le téléphone, ça t'évitera les problématiques réseau vraiment pas évidentes et réduira les coûts. Mais faut voir si le système Android ne va pas être génant.

      Je ne sais pas comment tu peux déterminer si une raspberry suffira, mais je pense qu'il faudrait déjà une bonne idée de l'algorithme pour le savoir.

      Il faut savoir aussi que pour faire du traitement d'image, il est bien plus rapide et efficace d'utiliser des GPU que le CPU (mais les apprareils en disposant sont plus cher). Après, une inversion d'image ça doit pas être bien méchant en traitement



      -
      Edité par romantik 24 septembre 2018 à 10:15:09

      • Partager sur Facebook
      • Partager sur Twitter
      Dream on, Dream on, Dream until your dream comes true
        24 septembre 2018 à 11:19:09

        Salut :)

        Le but réel c'est pas de bouger avec (heureusement) mais simplement de regarder ses mains par exemple, et de faire du coup des actions avec ses mains.

        Effectivement c'est que des actions plutôt simple en théorie. Mais étant novice je ne vois pas vraiment tous les aspects de ce projet, ni tous les inconvénients.

        En gros quand je parle de temps réel, je parle comme pour un filtre d'appareil photo (snapchat) par exemple, ça modifie en temps réel l'image.

        Pour le téléphone oui je choisirai un Android, bcp plus ouvert pour dev. Je ferai une demande de financement participatif pour essayer de réduire les coups et avoir le matériel nécessaire.

        Je vais me renseigner sur les possibilités que tu m'as décrites. Merci pour ton aide :) 

        -
        Edité par BananeFraise1 24 septembre 2018 à 11:25:27

        • Partager sur Facebook
        • Partager sur Twitter
          24 septembre 2018 à 12:00:42

          BananeFraise1 a écrit:

          Effectivement c'est que des actions plutôt simple en théorie. Mais étant novice je ne vois pas vraiment tous les aspects de ce projet, ni tous les inconvénients.

          Le projet est assez complet, il demande un tas de compétence très varié, je pense que s'en est sa principale difficulté

          Si tu as d'autres questions n'hésites pas à demander de l'aide

          • Partager sur Facebook
          • Partager sur Twitter
          Dream on, Dream on, Dream until your dream comes true
            24 septembre 2018 à 15:44:18

            Oui et justement comme je n'ai pas ce tas de compétences c'est assez difficile pour moi de ciblere matériel dont je vais avoir besoin 

            C'est dommage qu'il n'existe pas un filtre tout simple 😂

            Encore merci pour ton aide je vais voir par ou commencer 

            • Partager sur Facebook
            • Partager sur Twitter
              24 septembre 2018 à 16:04:55

              BananeFraise1 a écrit:

              C'est dommage qu'il n'existe pas un filtre tout simple 😂

              Ah mais si, je croyais que tu avais d'autres contraintes que l'application snapchat, notamment le lien aux caméras et la fiabilité du temps réel.

              Si tu veux simplement acquérir et inverser l'image de la caméra du téléphone, je pense que l'API Android te donne accès à ses données, puis tu appliques une matrice de transformation sur l'image avant de l'afficher sur l'écran. Et puis il doit bien y avoir un module Java ou Kotlin orienté traitement d'image pour faciliter le transfert de donnée

              • Partager sur Facebook
              • Partager sur Twitter
              Dream on, Dream on, Dream until your dream comes true
                24 septembre 2018 à 23:26:30

                Dans l'idéal oui je préfèrerai passer via une caméra, mais si c'est possible directement via le téléphone pourquoi pas. Le problème après ça va être pour le mettre dans un casque VR, on verra pu grand chose à la caméra je pense.

                Il y a vraiment un monde entre l'idée et la réalisation d'un projet qui sur le papier parait simple. Les malades attendront un peu 

                • Partager sur Facebook
                • Partager sur Twitter

                Projet et questions

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown