Segons les estadístiques, uns 172 milions de persones arreu del món pateixen d’anorèxia en algun moment al llarg de la seva vida. Existeixen certs tractaments per intentar combatre-la, i alguns d’ells són usant tècniques de Realitat Virtual (RV). Un exemple d’aquests tipus de tractaments és el desenvolupat per la Universitat de Barcelona. Com a projecte de final de carrera, vaig optar per ajudar a tractar aquesta malaltia, aplicant una sèrie de millores a aquest mètode mencionat.
La idea original del tractament és la següent: es presenta a la pacient una sala virtual via unes ulleres de realitat virtual. A la sala s’hi troben principalment un mirall i un avatar, que es modela amb les proporcions del cos real de la pacient. En posar-se les ulleres, l’avatar es mou com la pacient, i al cap d’una estona, el seu subconscient acaba associant el cos virtual que veu al mirall com si fos el real. Llavors, durant les posteriors sessions, es va augmentant el pes de l’avatar, fent que la pacient cregui que ella ha augmentat de pes, i amb un psicòleg al costat, es va tractant aquesta por a engreixar-se.
Per tal que el procés funcioni, es necessita que l’avatar es mogui com la pacient, però de la forma que es fa aquest procés avui en dia, resulta poc fidedigne. Fins ara, s’usaven 5 punts de seguiment (el cap, les mans i els peus), i se n’inferien la resta (com els colzes o els genolls). Aquesta inferència, però, no era del tot exacta. Per tant, com a primer objectiu del TFG, es va desenvolupar un mòdul per a un millor seguiment.
Aquest primer mòdul és un sistema de seguiment del cos sencer (“Full Body Tracking”) que fa ús d’una única càmera per a fer aquest seguiment. Mitjançant d’un model d’aprenentatge automàtic de Mediapipe com a base, i a partir de la creació d’un model per a corregir els resultats, es va acabar obtenint un sistema en Python capaç de detectar aquells punts que el sistema original no detectava. Cal mencionar que per calibrar aquest model de correcció es va haver de generar un conjunt de dades sintètiques emprant Unreal Engine 5, donada la impossibilitat de trobar dades “ground truth” que s’ajustessin al model que necessitava.
Un cop aconseguit aquest sistema, es va integrar amb Unity a la plataforma del sistema original. El resultat el podeu veure en aquest vídeo.
Malauradament, continuen existint diverses dificultats, sobretot pel que fa a l’oclusió, ja que el sistema no és capaç de veure les parts amagades al darrere. Tot i això, unint la informació del mòdul de Python amb la informació de seguiment de RV, que només fa seguiment de les mans i del cap, i no dels peus, s’obté un sistema que prediu millor aquells punts dels quals no es té informació.
Seguidament, un cop això estava fet, es va decidir com a segon objectiu crear un sistema de realitat augmentada (RA) amb la mateixa finalitat que el de RV. Com que la literatura de tractaments d’anorèxia amb RA és escassa, va semblar bona idea fer una proposta de solució en aquesta àrea. La idea era llavors aconseguir un sistema de RA que tingués el mateix efecte que el ja mencionat, però sense la necessitat d’usar tot el seu hardware.
Per tant, per aquest segon objectiu es volia crear un mirall que mostrés el món real, però on la pacient es veiés reflectida amb un augment de pes. Després d’uns intents fallits on s’intentava engreixar directament la imatge de la persona, es va optar per emprar el mateix avatar que en RV, però basant-se en l’escena sencera del mirall. Es va acabar desenvolupant un sistema on es mostra el fons com si fos un mirall, però on s’esborra a la persona a qui es fa el seguiment, i se la substitueix per l’avatar. Per fer el seguiment d’aquesta persona, s’utilitza el sistema desenvolupat en el primer objectiu. Podeu veure el resultat en el següent vídeo.
S’ha fet pública una demostració del programa de realitat augmentada. La podeu trobar al següent enllaç.