Un scanner à plat immobilise normalement son sujet et déplace un capteur étroit devant lui. Linecam fait l'inverse, en plus compliqué : le capteur reste pointé par la fenêtre d'un train, et c'est le réseau ferroviaire qui déplace toute la caméra dans le paysage.1

La caméra ne prend pas des images rectangulaires classiques. Elle enregistre une seule ligne verticale de 2 048 pixels. Répétez l'opération très vite pendant que le train avance, placez chaque nouvelle ligne à côté de la précédente, et une image commence à apparaître.1

Sur le papier, ça ressemble presque à une astuce. Le vrai projet commence avec tout ce qui casse immédiatement.

Dès que le mouvement devient un axe de l'image, la vitesse devient une partie de la caméra.

La deuxième dimension vient du déplacement

Le premier essai de Philo n'utilise aucun matériel industriel. Un téléphone est posé sur une chaise de bureau, qui roule devant un canapé. Un script extrait une colonne de chaque frame vidéo et colle ces colonnes les unes aux autres.1

On reconnaît la scène. Elle est aussi affreusement étirée.

Cette erreur explique presque tout le projet. Si la caméra avance deux fois plus loin entre deux lignes capturées, la tranche correspondante du monde devient trop étroite. Si elle ralentit, les objets gonflent. Une caméra classique peut tolérer un changement de vitesse du photographe jusqu'à ce que le flou de mouvement devienne visible. Une caméra linéaire utilise justement ce mouvement pour construire sa géométrie.

Philo passe ensuite au train, avec des téléphones et les données d'accéléromètre. Intégrer une accélération bruitée pour retrouver la vitesse ne suffit pas. Sur un essai, le calcul finit même par faire reculer le train.1

Le projet devient donc moins une histoire de pixels qu'une question beaucoup plus pénible : où faut-il placer chaque ligne ?

Schéma montrant comment le déplacement de la caméra fabrique l’axe horizontal
Chaque ligne verticale est capturée à une position différente. Une vitesse irrégulière devient une déformation géométrique.Philo / philo.gay

Une caméra de chaîne de production finit derrière une vitre de train

Le vrai capteur vient de la vision industrielle : une Basler ruL2048-19gm.

Caméra linéaire Basler utilisée dans Linecam
Le capteur industriel enregistre une seule ligne verticale plutôt qu’une image rectangulaire classique.Philo / philo.gay
Son capteur fait essentiellement 1×2048 pixels et peut lire presque 19 000 lignes par seconde, d'après les spécifications citées par Philo.1

Sur un convoyeur, c'est parfaitement logique. La bande fournit un déplacement connu. Les objets passent sous la caméra. On peut inspecter une pièce très longue sans fabriquer un immense capteur deux dimensions.

Un train est un convoyeur beaucoup moins coopératif.

Il accélère, freine et vibre. Les objets proches traversent le champ apparent beaucoup plus vite que les éléments lointains. Les stations coupent la lumière. D'autres trains apparaissent. Les vitres reflètent l'intérieur. Le trajet impose son point de vue.

La caméra industrielle réclame aussi beaucoup de lumière. Philo indique que même son exposition la plus lente tourne autour du 1/100 s : le jour fonctionne, les tunnels et stations sombres beaucoup moins.1

Ces limites fabriquent un instrument photographique assez étrange. On ne choisit plus simplement un sujet et un cadrage. On choisit une ligne ferroviaire, un côté du train, une heure et une portion du trajet, puis on accepte qu'une partie de l'image dépende d'un mouvement que l'on ne contrôle pas vraiment.

Schéma du système Linecam avec caméra, IMU, GPS, microcontrôleur, ordinateur et alimentation
Le montage ajoute des capteurs de mouvement parce que la vitesse du train participe directement à la géométrie de l’image.Philo / philo.gay

Le rig est surtout une dispute avec la vitesse

Pour transporter tout cela, Philo dessine un boîtier imprimé en 3D avec insert de trépied. La caméra reçoit un objectif 28 mm adapté à sa monture C. Une IMU, un GPS et un microcontrôleur mesurent le mouvement en parallèle. Une batterie USB-C alimente le montage, tandis qu'Ethernet et USB repartent vers un ordinateur portable.1

Ce n'est pas une caméra « propre » au sens grand public. C'est un assemblage de réponses à des échecs précédents.

L'IMU existe parce qu'une vitesse supposée constante déforme l'image. Le GPS apporte une autre mesure du déplacement. Le boîtier existe parce que maintenir une caméra linéaire contre une vitre, gérer un ordinateur et tenir tout le câblage nécessiterait sinon un nombre de mains assez optimiste.

Philo publie aussi son logiciel. linecam-capture utilise le SDK Pylon de Basler pour lire directement le flux de la caméra.2 Un second dépôt, grindstone, contient le post-traitement des images linéaires.3

La séparation est intéressante : la capture préserve le flux et les mesures. Le traitement décide ensuite comment transformer ces mesures en colonnes spatiales.

La photo n'est donc pas terminée au déclenchement. Il n'y a d'ailleurs presque plus de déclenchement à proprement parler.

La correction fait partie de l'optique

Dans un appareil traditionnel, une grande partie de la géométrie est enfermée dans l'objectif et la disposition du capteur. Linecam en déplace une partie dans le logiciel.

Chaque ligne sait ce que le capteur a vu à un instant précis. Pour devenir un panorama lisible, le traitement doit estimer la distance parcourue entre les captures et rééchantillonner les lignes en conséquence.1

Voilà pourquoi une mauvaise estimation de vitesse ne rend pas seulement l'image floue : elle l'écrase et la gonfle.

Ce traitement n'est pas une retouche cosmétique. Il remplace une partie de la mécanique qu'un scanner classique obtient grâce à son rail contrôlé.

Sur un scanner à plat, un moteur avance le capteur d'une distance connue à chaque pas. Sur Linecam, le MBTA joue le rôle du moteur et refuse, assez impoliment, de fournir un signal d'encodeur pratique.

Philo ajoute donc des capteurs et du calcul jusqu'à retrouver approximativement l'information qu'aurait fournie un chariot mécanique.

Le logiciel reconstruit la machine qui manque.

Schéma du post-traitement et de la correction de mouvement de Linecam
La capture conserve le flux de lignes ; le traitement estime ensuite leur espacement dans l’image finale.Philo / philo.gay

Toutes les déformations ne sont pas des erreurs

Même correctement corrigées, les images restent inhabituelles.

Une caméra linéaire ne capture pas tout le panorama au même instant. La partie gauche peut avoir été enregistrée plusieurs secondes, voire minutes, avant la droite. Une voiture en mouvement peut se comprimer, s'étirer ou se répéter selon la manière dont elle traverse la ligne de capture. Premier plan et arrière-plan ne se déplacent pas de la même façon dans l'image.1

Comme substitut à un grand-angle classique, c'est objectivement peu pratique.

Comme appareil photographique, c'est justement ce qui devient intéressant.

Le panorama stocke du temps horizontalement. Le trajet ferroviaire ressemble à une pose longue dont la géométrie est assemblée colonne après colonne. Un port, un pont ou une rue ne sont plus vus depuis un point unique : ils traversent une fente numérique.

Certaines erreurs doivent être corrigées parce qu'elles empêchent de lire la scène. D'autres racontent comment elle a été fabriquée.

Linecam fonctionne le mieux à cet endroit. Le but n'est pas d'effacer toute trace du train. Il est de rendre l'image suffisamment cohérente pour que son mécanisme étrange devienne visible au lieu d'avoir simplement l'air cassé.

Le projet laisse assez de traces pour être refait

Linecam est aussi assez rare sur un point : le billet de Philo ne s'arrête pas aux beaux panoramas. On y trouve le test bricolé avec un téléphone et une chaise, les schémas du problème de vitesse, des photos de la caméra Basler et du montage dans le train, puis les liens vers les deux dépôts publiés en ligne pour la capture et le post-traitement.123

C'est important parce que la partie difficile n'est pas un composant secret. Elle se trouve dans la chaîne qui relie mouvement, cadence du capteur et reconstruction. Une photo du montage montre où va le matériel, les schémas expliquent ce que le logiciel essaie de retrouver et le code montre comment les lignes capturées sont traitées ensuite.

Quelqu'un qui voudrait refaire l'expérience sur un autre réseau aurait encore du boulot. Un autre train, un autre objectif ou un autre capteur changent les chiffres, et le code de Philo reste celui d'un projet, pas une application grand public terminée. Mais le site donne déjà beaucoup plus qu'une jolie image finale.

C'est une différence que l'on retrouve souvent dans les projets maker : publier le résultat prouve que ça a marché une fois. Publier le prototype bancal, l'estimation de vitesse ratée, les branchements, le code et le traitement permet de comprendre pourquoi ça a fini par marcher.

Le capteur industriel devient une règle photographique

On pourrait résumer Linecam comme le détournement malin d'une caméra industrielle achetée d'occasion. Ce serait vrai, mais incomplet.

Le geste le plus fort consiste à prendre au sérieux l'hypothèse de départ du capteur : le monde doit défiler devant lui.

Plutôt que de fabriquer un convoyeur parfait, Philo cherche quelle machine existante se déplace déjà sur des kilomètres, avec de grandes fenêtres et des trajets répétables.

Réponse : les transports publics.

Ce choix modifie ensuite tout le reste : boîtier, capteurs, exposition, logiciel, post-traitement, et même la définition d'une image réussie.

Le train ne transporte donc pas seulement le photographe jusqu'au sujet.

Dans Linecam, le train est une pièce de l'appareil photo.