Cas 1 — Chaîne autonome, traitement à bordCase 1 — Autonomous pipeline, on-board processing
Une chaîne de traitement qui se règle elle-même, de la donnée brute à l'image finale An image pipeline that tunes itself, from raw data to finished image
Traiter une image astronomique, c'est enchaîner des dizaines de décisions normalement prises à la main, à l'œil, image par image. Chacune dépend de la donnée elle-même et de ce que les étapes précédentes ont produit. Automatiser cela naïvement revient à figer une recette, et une recette figée casse dès que la donnée sort du domaine pour lequel elle a été réglée. Or aucune nuit d'acquisition ne ressemble à la précédente.
La chaîne est fermée sur elle-même et ne comporte aucun réglage utilisateur. À chaque étape elle mesure l'image qu'elle reçoit, dérive ses propres paramètres de cette mesure, applique, puis remesure pour vérifier que l'étape a produit l'effet attendu. Si la vérification échoue, l'étape est reprise autrement. Aucune valeur n'est écrite en dur. Ce sont les mesures qui portent les décisions, de la donnée brute jusqu'à l'image finale.
Certaines étapes ne se réduisent pas à une mesure. La séparation des étoiles et de la nébulosité demande un modèle de vision entraîné, et aucun jeu annoté n'existe pour cette tâche. Le seul outil de référence du marché interdit d'ailleurs, par contrat, d'en dériver quoi que ce soit. Il a fallu fabriquer la vérité terrain. Le modèle s'est alors mis à reproduire fidèlement un défaut présent dans cette vérité terrain, constaté par mesure de profil et non supposé. Ce diagnostic a condamné la stratégie de départ. Il a fallu changer la nature de la cible et en fabriquer une qui soit exacte par construction, non dérivée d'un traitement existant.
L'ensemble tourne sur un téléphone, intégralement sur l'appareil et sans réseau, sous contrainte mémoire et thermique. Chaque étape a été vérifiée identique au calcul de référence avant d'être optimisée.
Processing an astronomical image means chaining dozens of decisions normally taken by hand, by eye, frame by frame. Each one depends on the data itself and on what the preceding stages produced. Automating that naively amounts to freezing a recipe, and a frozen recipe breaks the moment the data falls outside the range it was tuned for. No two nights of acquisition are alike.
The pipeline is a closed loop and exposes no user settings. At every stage it measures the image it receives, derives its own parameters from that measurement, applies them, then measures again to confirm the stage did what it was supposed to do. If the check fails, the stage is retried differently. Nothing is hard-coded. Measurements carry the decisions, from raw data through to the finished image.
Some stages do not reduce to a measurement. Separating stars from nebulosity calls for a trained vision model, and no annotated dataset exists for that task. What is more, the one reference tool on the market contractually forbids deriving anything from it. The ground truth had to be built. The model then began faithfully reproducing a flaw present in that ground truth, established by profile measurement rather than assumed. That diagnosis condemned the initial strategy. The way out was to build a target that is exact by construction rather than derived from an existing process.
The whole chain runs on a phone, entirely on-device and with no network, under memory and thermal constraints. Every stage was verified identical to the reference computation before being optimised.
Aucune comparaison à un produit tiers n'est faite ici, et aucune ne serait honnête. Les chiffres ci-dessus mesurent une chaîne contre ses propres versions antérieures. No comparison to any third-party product is made here, and none would be honest. The figures above measure one pipeline against its own earlier versions.
Une chaîne de décision autonome qui s'adapte à la donnée au lieu de lui imposer une recette, qui contrôle chacune de ses étapes, et qui tient dans l'enveloppe mémoire et thermique d'un appareil mobile. C'est la contrainte même du traitement embarqué à bord d'un instrument. An autonomous decision chain that adapts to the data instead of imposing a recipe on it, that checks each of its own stages, and that fits inside the memory and thermal envelope of a handheld device. That is the constraint of on-board processing itself.



Faites glisser la ligne blanche.
À gauche la donnée brute, à droite la sortie de chaîne.
Drag the white line.
Raw data on the left, pipeline output on the right.
Aller plus loinGo deeperPourquoi une recette figée dérive en silence, le diagnostic qui a condamné la première version du modèle, et ce que coûte vraiment le portage sur téléphone.Why a frozen recipe drifts silently, the diagnosis that condemned the first version of the model, and what porting to a phone really costs.
Pourquoi une recette figée ne tient pas
Un traitement réglé à la main l'est pour une nuit, un ciel, un instrument et une cible. Changez l'un des quatre et les réglages ne valent plus rien. Le fond de ciel n'a plus la même pente, le bruit n'a plus la même statistique, la densité d'étoiles a changé, le suivi n'a pas la même qualité. Une automatisation qui se contente de rejouer les réglages de la veille donne des résultats corrects tant que la donnée ressemble à celle sur laquelle elle a été mise au point, puis des résultats faux, sans prévenir. C'est cette absence d'avertissement qui pose vraiment problème. Une chaîne qui échoue franchement se répare. Une chaîne qui dérive en silence contamine tout ce qui la suit.
Ce que veut dire mesurer à chaque étape
Chaque étape commence par caractériser l'image qu'elle reçoit, en déduit ses réglages, puis compare sa sortie à son entrée pour vérifier que l'effet obtenu est celui qui était visé. La comparaison est quantitative, jamais visuelle. Si l'écart mesuré sort du domaine attendu, l'étape est reprise par une autre voie au lieu d'être validée par défaut. Cela vaut mieux que de la vitesse. La chaîne n'a pas de domaine de validité déclaré à l'avance, elle constate elle-même quand elle sort du sien.
Le maillon qui a tout remis en cause
Certaines étapes ne se ramènent pas à une mesure. Séparer les étoiles de la nébulosité en fait partie, parce qu'aucun critère analytique ne tient sur toute la variété des champs stellaires. Un modèle supervisé était donc nécessaire, et il n'existe aucun jeu annoté pour cette tâche. Le seul outil de référence du marché aurait pu servir de générateur d'exemples, mais sa licence l'interdit explicitement. La vérité terrain a donc été fabriquée.
La première version fonctionnait, en apparence. Une mesure de profil sur les sorties a montré que le modèle reproduisait, avec une fidélité remarquable, un défaut systématique présent dans la vérité terrain elle-même. Le modèle n'avait pas échoué. Il avait parfaitement appris ce qu'on lui montrait, défaut compris. Ce constat a condamné toute la stratégie, puisque mieux entraîner n'aurait fait que mieux reproduire le défaut. La sortie a été de changer la nature de la cible et de construire une vérité terrain exacte par construction, plutôt que dérivée d'un traitement existant qui portait ses propres erreurs.
Un défaut d'architecture a par ailleurs été identifié et corrigé. Il produisait une classe entière d'artefacts, reconnaissables et reproductibles, qu'aucun réglage ni aucun entraînement plus long n'aurait fait disparaître.
Ce que coûte réellement le passage sur téléphone
Le portage n'est pas une affaire de vitesse mais d'identité du résultat. Deux appareils, deux fabricants, deux piles graphiques, des précisions numériques qui diffèrent, et un plafond mémoire qui interdit de tenir l'image entière. Chaque étape a donc été comparée au calcul de référence avant d'être optimisée, et l'optimisation n'a été retenue que lorsque la sortie restait identique. S'y ajoutent la limitation thermique, qui fait chuter la fréquence au bout de quelques dizaines de secondes et rend le temps de calcul dépendant de l'historique récent de l'appareil, et l'absence de réseau, qui interdit tout recours à un serveur. La chaîne complète tient dans cette enveloppe.
Ce qui n'est pas publié ici
Les grandeurs mesurées à chaque étape, les seuils de bascule, la liste réelle des étapes, la composition du jeu d'entraînement, la nature de la contrainte de forme dans la fonction de coût et le changement d'architecture. Le niveau de détail ci-dessus est celui d'un résumé d'article, pas d'une section méthodes.
Why a frozen recipe does not hold
A hand-tuned process is tuned for one night, one sky, one instrument and one target. Change any of the four and the settings are worthless. The sky background no longer has the same slope, the noise no longer has the same statistics, the star density has changed, the tracking is not of the same quality. An automation that simply replays yesterday's settings gives correct results as long as the data resembles what it was tuned on, then wrong results, with no warning. That absence of warning is the real problem. A pipeline that fails outright can be repaired. A pipeline that drifts silently contaminates everything downstream.
What measuring at every stage actually means
Each stage begins by characterising the image it receives, derives its settings from that, then compares its output to its input to check that the effect obtained is the one intended. The comparison is quantitative, never visual. If the measured deviation falls outside the expected range, the stage is retried by another route instead of being passed by default. That is worth more than speed. The pipeline has no validity domain declared in advance, it establishes for itself when it has left its own.
The link that forced a restart
Some stages do not reduce to a measurement. Separating stars from nebulosity is one, because no analytic criterion holds across the full variety of sky fields. A supervised model was therefore necessary, and no annotated dataset exists for the task. The one reference tool on the market could have served as an example generator, but its licence explicitly forbids it. So the ground truth was built.
The first version appeared to work. A profile measurement on the outputs showed that the model was reproducing, with remarkable fidelity, a systematic flaw present in the ground truth itself. The model had not failed. It had learned perfectly what it was shown, flaw included. That finding condemned the whole strategy, since training better would only have reproduced the flaw better. The way out was to change the nature of the target and build a ground truth that is exact by construction, rather than derived from an existing process carrying its own errors.
An architectural flaw was also identified and corrected. It produced an entire class of artefacts, recognisable and reproducible, that no amount of tuning or longer training would have removed.
What porting to a phone really costs
Porting is not about speed. It is about the result staying identical. Two devices, two manufacturers, two graphics stacks, numerical precisions that differ, and a memory ceiling that forbids holding the whole image. Every stage was therefore compared to the reference computation before being optimised, and an optimisation was kept only when the output stayed identical. Add thermal throttling, which drops the clock after a few tens of seconds and makes runtime depend on the device's recent history, and the absence of any network, which rules out falling back on a server. The complete chain fits inside that envelope.
What is not published here
The quantities measured at each stage, the switching thresholds, the actual list of stages, the composition of the training set, the nature of the shape constraint in the loss function and the architectural change. The level of detail above is that of a paper abstract, not a methods section.