1 points par GN⁺ 2023-11-13 | 1 commentaires | Partager sur WhatsApp

D-POINT : un stylet numérique avec suivi optique-inertiel

  • D-POINT est un stylet numérique open source qui réalise une entrée 6DoF (6 degrés de liberté) à l’aide d’un suivi par caméra et de mesures inertielles.
  • Il offre une faible latence, la détection de pression et une précision submillimétrique, peut être utilisé sur toute surface plane et est compatible avec les webcams grand public.
  • Ce projet fait partie d’un mémoire de fin d’études de licence en génie électrique, et le code ainsi que les fichiers de conception sont publiés en open source afin qu’ils puissent être utiles à d’autres.

Conception

  • Les principaux composants du stylet sont fabriqués en impression 3D et incluent un capteur de force, une batterie lithium-ion rechargeable en USB-C, ainsi qu’une carte de développement basée sur Arduino pour le Bluetooth et la logique.
  • Pour l’estimation visuelle de la pose, 8 marqueurs ArUco imprimés sont fixés à l’arrière du stylet.

Estimation visuelle de la pose (VPE)

  • Le processus VPE se déroule en 4 étapes principales :
    1. Détection des marqueurs : utilisation d’OpenCV pour détecter les coins de chaque marqueur ArUco présent sur le stylet.
    2. Correction du rolling shutter : utilisation d’un modèle de mouvement 2D simple pour estimer et corriger l’effet du rolling shutter sur les positions de coins observées.
    3. Perspective-n-Point (PnP) : utilisation de l’algorithme PnP sur ces positions de coins pour estimer la pose du stylet par rapport à la caméra.
    4. Transformation de coordonnées : utilisation de la pose corrigée du stylet par rapport à la caméra et à la surface de dessin pour calculer la position et l’orientation de la pointe du stylet par rapport à la surface de dessin.

Fusion inertielle

  • Un filtre de Kalman étendu (EKF) est utilisé pour fusionner les estimations VPE avec les données inertielles de l’accéléromètre et du gyroscope, puis l’algorithme Rauch-Tung-Striebel (RTS) est utilisé pour affiner les estimations en temps réel.
  • Un algorithme de mise à jour de mesure à temps négatif est utilisé pour prendre en compte le décalage temporel des images de la caméra.
  • L’EKF est implémenté avec NumPy et Numba ; l’utilisation des mesures inertielles réduit considérablement la latence par rapport à une caméra seule et améliore la précision ainsi que le taux de report lors des mouvements rapides.

Avis de GN⁺

  • D-POINT ouvre de nouvelles possibilités pour les stylets numériques grâce à un haut niveau de technicité et une conception innovante.
  • Proposé en open source, il offre aux personnes intéressées par cette technologie la possibilité de l’utiliser librement et de l’améliorer.
  • Compatible avec les webcams grand public et utilisable sur toute surface plane, cette technologie pourrait jouer un rôle important dans l’amélioration de l’expérience utilisateur.

1 commentaires

 
GN⁺ 2023-11-13
Avis Hacker News
  • Admiration pour le projet

    « C’est un projet vraiment génial. Il a concrétisé quelque chose que je n’avais fait qu’imaginer. Quand je jouais à Elite: Dangerous, j’utilisais un HOTAS (manette des gaz et joystick actionnés à la main) ainsi que des pédales, et j’avais le sentiment qu’il devait exister une meilleure façon de piloter un vaisseau spatial. Ce que je voulais, c’était déplacer dans ma main une maquette de vaisseau et faire bouger le vaisseau du jeu de la même manière. Ce projet semble pouvoir rendre cela possible. La poussée pourrait être contrôlée de façon similaire avec l’autre main. Ce genre de nouveau modèle d’entrée, ou de modèle atypique, est vraiment fascinant, et avec ce type de capacité, on peut laisser libre cours à son imagination. »

  • Valeur académique du projet

    « Ce projet faisait partie d’un mémoire de fin d’études en licence de génie électrique. Un étudiant de licence, quand même ! S’il n’a pas eu la note maximale pour ce projet, alors il n’y a pas de justice. »

  • Réflexion intéressante sur l’avenir des webcams

    « L’usage de la webcam est intéressant. Je me demande si nous verrons un jour l’actuelle webcam classique à FOV unique d’environ 78° être remplacée par des webcams fisheye doubles (stéréo). De telles webcams permettraient de nouvelles interactions UX (y compris des gestes avec suivi du regard), de nouvelles interactions avec les périphériques (comme ce stylet, ou un volant pour les jeux de course), ainsi que la capture 3D à 180° pour des visioconférences bien plus flexibles, y compris avec une présence VR. L’idée d’utiliser comme méthode d’entrée tout l’espace 3D devant l’écran de l’ordinateur se rapproche, et la façon dont cette webcam est utilisée donne l’impression d’être un pas dans cette direction. »

  • Intérêt pour la technique de compensation du rolling shutter

    « La compensation du rolling shutter est assez impressionnante, et je me demande si le problème avait été anticipé dès le départ, ou s’il n’a été découvert qu’après la construction du système. »

  • Approche créative des périphériques d’entrée

    « Ce qui m’impressionne particulièrement, c’est la fusion des technologies. En explorant “clavier d’ordinateur portable... forme de la main, stylet 3D, toucher”, quelques idées me sont venues. En ajoutant des boutons, cela pourrait devenir une souris 3D, mais la couverture de la caméra pourrait poser problème. Le châssis d’un portable est en grande partie vide (et la batterie peut aussi être rendue mince), et il devrait être possible de taper tout en tenant un stylet avec marqueurs. Une grosse pointe pourrait glisser en douceur sur un clavier ThinkPad, tout en offrant de la place pour des capteurs de force moins denses et des marqueurs supplémentaires sur la pointe. Un câble ruban fin en silicone peut être très flexible, et je n’aurais qu’à brancher le stylet à un Arduino. Je me demande aussi comment un capteur inertiel reconnaîtrait quelque chose comme un cliquet métallique. »

  • Enthousiasme pour les contrôleurs 6DOF et éloge de l’aspect logiciel du projet

    « J’adore les contrôleurs 6DOF ! C’est un excellent travail sur le matériel et sur la pose en computer vision, mais le fait de dessiner une surface logicielle qui peut pivoter est presque encore plus impressionnant. Cela pourrait être utilisé avec une forme de contrôle d’interface utilisateur physique, et même quelque chose comme un slider au doigt pourrait produire le même effet. Cela ressemble à un très bon projet pour développer ses compétences en résolution de problèmes. Beau travail, bravo ! »

  • Admiration pour le projet et exemple concret d’utilisation d’un filtre de Kalman

    « Projet très impressionnant. Une documentation utile. C’est un bon exemple concret d’utilisation d’un filtre de Kalman ! »

  • Admiration pour le projet et envie de le construire soi-même

    « Projet vraiment impressionnant ! J’adore, j’aimerais vraiment en fabriquer un moi-même. »

  • Applications possibles à la robotique/VR et questions techniques

    « C’est vraiment génial ! Cela pourrait aussi être utile en robotique/VR. Qu’en est-il du suivi d’une main avec une webcam ? Question : est-il possible de suivre la pression avec un gyroscope + accéléromètre ? Au moins un “tap” ? Autre question : combien cela coûte-t-il ? En particulier, quel est le coût du capteur de pression ? »

  • Curiosité pour le suivi externe par caméra et regret autour de la technologie

    « Le suivi externe par caméra est une excellente idée à laquelle je n’avais pas pensé. C’est dommage qu’il n’existe pas de bon travail permettant de reproduire à bas coût la technologie Lighthouse utilisée par Valve/HTC. »