
-
Introducció
L’encàrrec de HealthySmile tenia com a objectiu crear una aplicació interactiva que animés els infants a mantenir la boca oberta mentre s’observen les dents, utilitzant la càmera i una temàtica de Halloween. L’aplicació havia d’emprar p5.js per a la part visual i una llibreria externa de visió artificial per detectar l’ obertura de la boca en temps real.
-
FaceMesh
S’ha desenvolupat tot amb p5.js i ml5.js (FaceMesh), ja que ml5 s’integra fàcilment amb p5 i disposa de models preentrenats de reconeixement facial. Inicialment es van detectar errors com ml5.facemesh is not a function, resolts actualitzant la versió de la llibreria a ml5@0.12.2. També es van corregir problemes amb la càmera i la sincronització del model, assegurant que el vídeo es carregués abans de crear el FaceMesh.
-
Detecció de la boca
Per comprovar si la boca està oberta, s’ha calculat un MAR (Mouth Aspect Ratio) a partir de punts facials concrets del model (13, 14, 61 i 291). L’usuari pot ajustar el llindar de detecció (MAR) mitjançant un slider DOM. Aquesta detecció és la base de totes les accions visuals i sonores del joc.

-
Interfície i flux del joc
Abans d’activar la càmera, l’usuari ha de validar els permisos i prémer el botó “Començar”, tal com recomana l’enunciat per motius de permisos i usabilitat. El flux és el següent:
- Es mostra una pantalla de càrrega amb el logo de l’app.
- Quan s’ha carregat tot, l’ usuari prem “Començar”.
- Quan s’obre la boca, s’activen les partícules animades i el so de raspallat.
- Cada 5 segons de boca oberta apareix un ratpenat com a premi.
- En aconseguir l’últim ratpenat, es mostra el missatge d’enhorabona i sona el so d’èxit.
També s’ha afegit un botó per reiniciar la partida i un altre per activar o desactivar la música de fons.

-
Partícules i aspecte visual
S’ha implementat un sistema de partícules amb forma de carabasses que apareixen a prop de la boca quan aquesta és oberta. Inicialment les partícules es generaven al costat equivocat del rostre; aquest error s’ha resolt aplicant un mirall horitzontal sobre la posició detectada. S’ha ajustat la mida, la dispersió i el moviment per aconseguir un efecte més suau i coherent amb la temàtica. Cal esmentar que a les primeres versions es van intentar afegir ratpenats, per mantenir coherència amb el logotip, però quedava més fluid i vistós amb les carabasses.
-
So i multimèdia
L’aplicació inclou diversos elements sonors, prèviament fabricats amb “text-to-speech” i una mica d’edició bàsica amb efectes de so:
- RASPALLAT.mp3: s’activa quan la boca és oberta.
- BGMUSICA.mp3: música de fons amb control ON/OFF i volum.
- NOVAICON.mp3: sona cada cop que apareix un nou ratpenat.
- EXIT.mp3: s’activa al final del joc.
El volum del raspallat i de la música de fons és ajustable des d’un slider comú.
-
Problemes i solucions
Durant el desenvolupament s’han trobat alguns inconvenients:
- Desfassament entre vídeo i punts del model: solucionat amb el càlcul mirallat de coordenades.
- Sons que no s’aturaven en tancar la boca: corregit amb control explícit de pause() i currentTime = 0.
- Elements de la interfície fora de lloc: reorganitzats dins de la mateixa caixa visual.
- El degradat inicial (vinyeta) tapava el vídeo: eliminat després d’algunes probes per mantenir claredat visual.
-
Resultat final i valoració
El resultat final és una aplicació funcional que compleix amb els requisits de:
- Detecció real d’obertura de boca amb FaceMesh.
- Interfície amb controls DOM (botons, sliders).
- Partícules animades i sons temàtics de Halloween.
- Missatge final d’èxit i reinici del joc.

Enllaç al repositori GitHub:
https://josepmsole.github.io/R2_Healthysmile_Halloween-Edition/

NOTA: Aquesta versió és una DEMO que es pot completar amb 3 ratpenats (15 segons), per tal de comprovar-ne la operativa. La versió final del joc hauria de tenir una durada d’entre 1-2 minuts (2 minuts és el que es recomana per la higiene infantil, però no es té la boca oberta durant tota l’estona, així que ho podríem ajustar a 1 minut: 12 ratpenats). Cal acabar d’aclarir amb el client.
Debatcontribution 0el R2 – Healthy Smile
No hi ha comentaris.
Heu d'iniciar la sessió per escriure un comentari.