2 500 milliards dans l'IA, zéro pour mes yeux : mon retour d'expérience Amblyotube sur Quest 2 🧠💻🩺👓🧬💡🎮📊🛠️🌐💪🧩🖥️👁️🔧⚡📈🎯💭🚀🌟🔍💻🩺👓🧠💡🎮📊🛠️🌐💪🧩🖥️👁️🔧⚡📈🎯🧬💭🚀🌟🔍💻🩺👓🧠💡🎮📊🛠️🌐💪🧩🖥️👁️🔧⚡📈🎯🧬💭🚀🌟🔍💻🩺👓🧠💡🎮📊🛠️🌐💪🧩🖥️👁️🔧⚡📈🎯🧬💭🚀🌟🔍💻🩺👓🧠💡🎮📊🛠️🌐💪🧩🖥️👁️🔧⚡📈🎯🧬💭🚀🌟🔍💻🩺👓🧠💡🎮📊🛠️🌐💪🧩🖥️👁️🔧⚡📈🎯🧬💭🚀🌟🔍
Je m'appelle Léa, développeuse full‑stack chez une start‑up qui mise tout sur l'IA générative. Chaque jour, je vois des milliards de paramètres s'entraîner sur des GPU qui chauffent plus que mon café. Pourtant, quand j'ai appris que j'avais une amblyopie résiduelle — l'œil gauche qui ne « voit » pas aussi net que le droit — personne ne m'a proposé un modèle de langage pour corriger ça. Juste des lunettes, des exercices papier, et beaucoup de patience.
Un soir d'hiver, après une énième réunion où le CTO vantait les 2 500 milliards de dollars investis dans l'IA, j'ai posé mon casque Quest 2 sur le bureau. L'écran OLED brillait, les contrôleurs vibraient, et je me suis dit : « Et si je transformais ce matériel en thérapie ? ». J'ai cherché « amblyopie VR » et suis tombée sur Amblyotube, une application qui propose des séances de stimulation dichoptique directement dans le casque.
Premier contact : l'architecture sous le capot
Amblyotube s'appuie sur le rendu stéréoscopique natif du Quest 2. Chaque œil reçoit une texture légèrement décalée, ce qui force le cerveau à fusionner deux images distinctes. Le moteur Unity (version 2022.3 LTS) gère la pipeline XR via le package XR Interaction Toolkit et le OpenXR runtime de Meta. Voici un extrait simplifié du shader qui sépare les canaux RVB pour l'œil faible :
// Fragment shader – séparation dichoptique
half4 frag (v2f i) : SV_Target
{
half4 tex = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv);
// Canal rouge → œil droit, vert → œil gauche
return half4(tex.r, tex.g, 0, 1);
}
Le code n'est pas magique : il ne fait que router les canaux de couleur. Mais l'impact est réel : le casque affiche 72 Hz (mode performance) avec une latence de rendu mesurée autour de 13 ms (d'après les logs adb logcat | grep VrApi). C'est suffisant pour éviter la nausée, mais pas pour du tracking oculaire haute fréquence — le Quest 2 n'intègre pas de capteur de regard natif.
Ma première séance
J'ai lancé le programme « Contraste dynamique ». L'interface propose trois paramètres : durée (10 min), niveau de contraste (0.2‑0.8) et fréquence de bascule (1‑4 Hz). J'ai choisi 15 min, contraste 0.5, bascule 2 Hz. Le casque a vibré doucement à chaque inversion, un rappel tactile qui m'a ancrée dans l'exercice.
Au début, l'œil gauche « flottait » ; je voyais le contour flou du cube virtuel. Après la troisième minute, le flou a diminué, comme si le cerveau apprenait à pondérer le signal vert. J'ai noté une amélioration subjective de la netteté perçue sur l'écran de mon portable après la séance — pas de mesure clinique, juste mon ressenti.
Itérations et données
J'ai décidé de tracker mes sessions dans un petit script Python qui lit le fichier JSON généré par Amblyotube (session_log.json). Exemple de structure :
{
"date": "2025-03-12",
"duration_min": 15,
"contrast": 0.5,
"flicker_hz": 2,
"subjective_score": 7
}
Après trois semaines (≈ 9 séances), la moyenne de subjective_score est passée de 4.2 à 6.8 sur 10. Le graphique (matplotlib) montre une courbe logarithmique, typique d'un apprentissage perceptuel. Rien de scientifique, mais ça me donne une trace tangible pour en parler à mon orthoptiste.
Limites techniques et choix d'ingénierie
- Absence de eye‑tracking : sans savoir où je regarde, l'application ne peut pas adapter la zone stimulée en temps réel. C'est une contrainte matérielle, pas un bug logiciel.
- Résolution par œil : 1832 × 1920 px par œil, mais le rendu effectif est réduit par le foveated rendering automatique du runtime. Pour des stimuli à haute fréquence spatiale, ça peut limiter l'efficacité.
- Confort thermique : après 20 min, le casque chauffe (~ 42 °C au niveau du SoC). J'ai ajouté une pause de 2 min toutes les 10 min pour éviter la fatigue faciale.
Ce que j'ai appris en tant que dev
- Prototyper vite : Unity + OpenXR permet de valider une idée en quelques heures. Le shader dichoptique est trivial, mais l'intégration XR (gestion du focus, du guardian, des entrées) prend du temps.
- Instrumenter : même un simple log JSON suffit pour créer un tableau de bord personnel. Pas besoin d'un backend complexe.
- Respecter le matériel : le Quest 2 n'est pas un dispositif médical. L'application le dit explicitement dans son EULA. Je l'utilise comme complément, pas comme substitut.
Prochaines étapes
Je vais tester le mode « Entraînement à la lecture » qui superpose du texte à contraste variable sur un fond uniforme. L'idée : coupler la thérapie visuelle à une tâche cognitive réelle (lire du code). Je songe aussi à brancher un Arduino avec un capteur de température pour déclencher une alerte vibration quand le casque dépasse 40 °C — un petit side‑project hardware qui me plaît.
Si vous êtes développeur, curieux de santé visuelle, ou simplement fatigué de voir des milliards d'IA sans un seul euro pour vos yeux, essayez une séance. Le casque est déjà sur votre étagère ; l'application est gratuite pour les premiers modules. Prenez 10 minutes, observez, notez. Peut‑être que votre cerveau vous remerciera.
— Léa, dev & patiente amblyope 🌱
Top comments (0)