Vincent Ogloblinsky - @vogloblinsky
Vincent Ogloblinsky
Compodoc maintainer
Web software architect
Indie hacker on side-projects
Il faut savoir exactement où est la surface d'affichage, au pixel près.
De face : un rectangle
De biais : un quadrilatère
Dans les deux cas : 4 côtés, 4 coins.
Toutes ces idées, je les ai testées
Déjà fait ?
No Ad (2011) : œuvres pré-assignées à des panneaux connus.
Ici, n'importe quel panneau.
Photos du web, d'Open Images, et de terrain à Rennes.
+ des images sans panneau, pour apprendre à ne rien voir
Analogie · le backbone est un expert à l'œil exercé ; la tête, le formulaire qu'on lui fait remplir.
Vos 4 réponses ? Même œil, formulaires différents.
| Votre réponse | Ce que j'ai entraîné | Erreur / coin |
|---|---|---|
| « Un rectangle, comme YOLO » | bbox, puis les coins dedans | 12,5 px |
| « Les pixels du panneau » | segmentation, puis coins du masque | 12,0 px |
| « Les 4 coins » | régression directe : 8 nombres | 11,7 px |
| « Les 4 bords » | une carte par côté, coins aux croisements | 7,7 px |
| « Les 4 coins » | une carte par coin (heatmaps) | 7,2 px |
Même jeu de test fixe de 119 images, même backbone.
Analogie · « Où sont tes clés ? » Cuisine ou entrée… Une seule réponse : « dans le couloir ». Une carte : on entoure les deux, on va voir la plus probable.
L'image, puis une carte par coin : haut-gauche, haut-droit, bas-droit, bas-gauche.
Même formulaire (heatmaps), une dizaine de backbones testés.
Le plus gros gain est venu du formulaire (−4,5 px), puis de l'expert (−1,5 px).
Jusqu'ici : des photos. Maintenant : une vidéo, à ~25 images par seconde.
CNN : 1 frame sur 10 flot optique + homographie : les autres
Entre deux images, un panneau plat bouge un peu, et de façon prévisible.
Analogie · on cherche un ami une fois dans la foule, puis on le suit des yeux.
Le « pipeline hybride » : un réseau de neurones + de la vision classique sans apprentissage.
Le pipeline hybride, censé être plus léger, était 7× plus lent sur iPhone que le CNN seul.
Profiler avant de juger une architecture.
Dans la rue : l'œuvre déborde du cadre, un liseré de pub dépasse.
Analogie · un point juste sur une carte au 1/100 000 devient une erreur de plusieurs maisons sur le plan du quartier.
Au-delà de 448 px, des coins partent sur un mât, un kiosque.
Les 4 cartes deviennent identiques : le backbone a appris à voir à une certaine échelle.
Un premier correctif « marchait » sur 3 exemples… et échouait sur les 119.
Coût : ~90 ms sur iPhone… mais seulement 1 frame sur 10. Fluidité quasi intacte.
Analogie · le CNN montre du doigt le coin du tableau, de loin. L'edge-fitting s'approche et pose une règle le long de chaque bord.
Le CNN dit « à peu près où », la géométrie dit « exactement où ».
Deux bords candidats, la droite sautait de l'un à l'autre.
→ ne garder que les bords qui s'éclaircissent vers l'intérieur.
Noir sur noir : plus de bord, la droite s'accroche à l'affiche.
→ grande correction acceptée seulement si le contraste confirme un vrai bord.
Homographie : 4 coins source → 4 coins panneau, un warp WebGL
Ce qui a changé : pas la quantité de code, la vitesse d'itération.
5 hypothèses et 3 expériences par jour : qu'est-ce qui est prouvé ? écarté ? pourquoi ?
knowledge/ : un mini graphe de connaissances en Markdown, dans le repo.
« L'auteur n'est pas une preuve. »
Une hypothèse reste une opinion tant qu'aucune expérience ne l'a testée.
On ne supprime pas une hypothèse réfutée.
Elle explique pourquoi on n'a pas pris ce chemin.
Any questions ?
Slides : https://bit.ly/4svoJNz
Crédit photos - Unsplash.com