Le projet nostalgique de YouTuber identifie relativement précisément les images et les figurines d’action
Dans le contexte: Un YouTuber a recréé une version réelle du Pokédex de la série animée des années 1990. Pour ceux qui ne le connaissent pas, le Pokédex était un appareil semblable à une caméra rouge qu’Ash utilisait pour identifier les Pokémon. Le gadget analyserait la créature, puis indiquerait vocalement à Ash son nom et sa description.
Abe Haskins, l’ingénieur et animateur de la chaîne YouTube Abe’s Projects, souhaitait recréer la fonctionnalité et l’apparence nostalgiques du Pokédex. Des sociétés comme Tiger ont sorti des jouets Pokédex, mais aucun n’a fonctionné comme celui de la série. Les principaux objectifs d’Abe étaient de le faire ressembler autant que possible à la version animée, de lui faire reconnaître la plupart des Pokémon dans la plupart des situations, et il devait être capable de parler.
Il a réussi sur la plupart des points. La seule chose qui manquait, c’était quelques boutons et composants à l’intérieur du rabat de porte, mais pour être honnête, ceux-ci semblent être cosmétiques dans le spectacle. Cela aurait ajouté beaucoup plus de complexité avec un gain minime à un projet déjà « stressant ».
Électroniquement, tout ce dont Haskins avait besoin était un capteur de caméra, un petit écran pour afficher le monstre identifié, un haut-parleur pour la voix et le WiFi pour pouvoir communiquer avec ChatGPT-4. Pour compléter le matériel, il a ajouté une batterie, un port USB et quelques boutons pour numériser et quitter. Il a utilisé une imprimante 3D pour créer le châssis, et le design final correspond parfaitement à la version TV jusqu’à la porte crantée.
Haskins a admis que la partie la plus difficile du projet consistait à concevoir et à déboguer le logiciel.
Cloner la voix du Pokédex (acteur Nick Stellate) était facile à l’aide d’une plateforme d’IA en ligne appelée PlayHT. Le logiciel de synthèse vocale avait du mal à prononcer correctement certains noms de monstres de poche. Cependant, cela a assez bien fonctionné.
L’appareil transmet les données du capteur de la caméra à ChatGPT-4, qui les compare à une base de données d’images et d’informations Pokémon via une API. La base de données contient des images bitmap associées aux noms de Pokémon. Les images s’affichent bien sur le petit panneau OLED monochrome, mais le texte apparaît parfois tronqué.
Pourtant, une fois assemblé, le Pokédex ressemblait et fonctionnait comme annoncé, il était donc temps de le déboguer. Haskins a déclaré que le débogage prenait la majeure partie de son temps, mais que cinq problèmes étaient les plus ennuyeux et les plus difficiles à corriger.
- Le chargement des images bitmap Pokémon a fait planter l’appareil. Il a résolu ce problème en réécrivant le code pour lire le bitmap octet par octet et en le rendant pixel par pixel.
- Un tic-tac audible a été entendu lorsque le Pokédex a parlé. Un éditeur hexadécimal a révélé « 1 000 » à intervalles réguliers dans les données de l’API. La suppression manuelle de toutes les instances a résolu le problème.
- Séparer le nom du Pokémon de sa description a fait planter l’appareil. Un tampon mal configuré était à l’origine d’un débordement de tampon.
- La PSRAM semblait déclencher des crashs aléatoires. Haskins avait activé la PSRAM plus tôt dans le processus de débogage pour résoudre un problème sans rapport et avait oublié de la désactiver.
- Enfin, le Pokédex se fige occasionnellement de façon aléatoire. Le YouTuber n’a pas pu identifier ou reproduire le problème, donc une fois le projet terminé, c’est le seul problème restant.
Haskins a expliqué qu’il pouvait résoudre le problème de plantage persistant en recodant le programme, mais a indiqué qu’il n’avait pas le temps.
« J’adorerais avoir le temps de réécrire le code et de recommencer une partie », a déclaré Haskins. « Mais je pense que c’est la nature de ces projets. Ils ne seront pas toujours exactement parfaits. »
Il a testé le Pokédex sur quelques jouets. Il ne pouvait pas identifier correctement une peluche, mais il reconnaissait assez bien les figurines et les images sur un écran d’ordinateur. Haskins dit que c’est probablement parce que le Pokémon en peluche ne ressemble pas assez à son image dans la base de données. On pourrait imaginer un taux de réussite similaire pour un programme visant à identifier des célébrités en comparant des caricatures à des photos.