Skip to content

Latest commit

 

History

History
74 lines (57 loc) · 3.63 KB

File metadata and controls

74 lines (57 loc) · 3.63 KB

PROGRESS

Dernière mise à jour : 2026-08-20

État courant

Le harness est complet et le pipeline tourne de bout en bout. Deux changements structurants depuis la première session :

  1. La pièce est isolée de la scène. Sans cela, les métriques auraient mesuré la table.
  2. L'inférence part sur GPU loué. La contrainte des 8 Go a disparu ; le poste local orchestre, filme, fusionne, mesure et affiche.

Il manque une acquisition réelle et un premier run sur pod.

Fait

  • F01 → F14 — voir docs/features.md pour l'état détaillé et les preuves. 59 tests, tous exécutables sans GPU ni réseau.
  • DA3-LARGE mesuré en local : 28 vues, 6549 Mo, 340 s.
  • MapAnything mesuré en local : 8 vues, 7923 Mo, 67 s. Coût quasi fixe (~7,4 Go).
  • Isolation ancrée sur le damier : il donne l'échelle et le plan de pose.
  • Exécution distante : sélection de GPU d'après la disponibilité réelle, transport ssh/scp, volume réseau, chiffrage du coût par étape.
  • COLMAP câblé comme baseline de référence.

En cours

Rien. Le harness attend un pod et une vraie pièce.

Bloqué

Rien.

Prochaine session

  1. Louer un pod : renderpoc gpu --backends all --datacenter <region du volume>, créer le volume et le pod, renderpoc remote configure, remote check, remote provision. C'est le premier essai réel du transport — voir docs/remote-execution.md.
  2. Filmer une vraie pièce selon docs/acquisition-protocol.md. Matifier si elle brille, verrouiller l'objectif 1×, damier rigide mesuré au pied à coulisse.
  3. renderpoc run piece.mp4 --backends all --remote --square-size-mm <mesure>
  4. Lire scale.residual_mm en premier. Si le damier n'est pas juste, rien d'autre ne veut dire grand-chose.

Décisions structurantes, et pourquoi

  • Un backend déclare un besoin, pas une machine. L'ancien champ local/cloud avait un sens face à 8 Go ; dès lors qu'une carte de 48 Go se loue 0,44 $ de l'heure, rien n'est intrinsèquement « cloud ». Seule compte l'adéquation besoin/carte du moment.
  • Le GPU se choisit au lancement, pas dans le registre. Le stock varie d'heure en heure et le volume réseau enferme dans un datacenter : figer un modèle de carte serait faux dès le lendemain.
  • Marge de 2 Go sur la VRAM. Une carte « 24 Go » offre 24 576 Mo dont le contexte CUDA prend sa part. Sans marge, la sélection proposerait une carte qui tombe en OOM après plusieurs minutes de chargement.
  • Le damier fait double emploi. Échelle métrique et plan de pose pour la découpe. Une seule chose à installer correctement, deux problèmes résolus.

Points d'attention connus

  • Le transport distant n'a jamais tourné contre un vrai pod. Sa logique est testée, son exécution non.
  • Réduire max_views ne sauve pas toujours. Vrai pour DA3, faux pour MapAnything dont le coût est quasi fixe. Vérifier le profil du backend avant de croire à ce levier.
  • Le débordement VRAM est silencieux sous Windows. Un status: ok ne prouve pas qu'une configuration tient : MapAnything à 28 vues a « réussi » en 1504 s au lieu de 65. D'où le contrôle vram_overflow.
  • Points d'intégration non vérifiés : les workers reconviagen, mix3r et colmap appellent des outils amont jamais exécutés ici. La ligne concernée est balisée dans chaque run.py et lève une erreur explicite.
  • detect_corners (damier) n'a pas encore tourné sur de vraies images.
  • Licences : DA3 et facebook/map-anything sont CC-BY-NC-4.0. facebook/map-anything-apache est le défaut du registre. Mix3R exige un compte ModelScope.