163 lines
4.1 KiB
ReStructuredText
163 lines
4.1 KiB
ReStructuredText
Données — Stockage et budget disque
|
||
=====================================
|
||
|
||
Où sont stockées les données
|
||
------------------------------
|
||
|
||
.. list-table::
|
||
:header-rows: 1
|
||
:widths: 30 20 50
|
||
|
||
* - Type de donnée
|
||
- Emplacement
|
||
- Remarques
|
||
* - MP4 bruts GoPro
|
||
- z620 ``/mnt/portablessd``
|
||
- Ne quittent jamais z620. Jamais copiés sur workers.
|
||
* - Frames JPEG
|
||
- Worker ``/cosma-qc-frames/job_{id}/frame_*.jpg``
|
||
- Conservés pour reprise sur crash. Supprimables après validation du stitch.
|
||
* - PLY par job
|
||
- Worker ``/cosma-qc-frames/job_{id}/reconstruction.ply``
|
||
- Entrée du stitch per_auv.
|
||
* - PLY stitch par AUV
|
||
- Worker ``/cosma-qc-frames/stitch_{N}.ply``
|
||
- Fusion des segments d'un AUV.
|
||
* - PLY stitch global
|
||
- Worker ``/cosma-qc-frames/stitch_global.ply``
|
||
- Nuage de points final toute mission.
|
||
* - GLB (export web)
|
||
- Worker ``/cosma-qc-frames/job_{id}/reconstruction.glb``
|
||
- Généré à la demande. 5M points, ~76 MB.
|
||
|
||
|
||
Budget disque observé
|
||
----------------------
|
||
|
||
.. list-table::
|
||
:header-rows: 1
|
||
:widths: 40 30 30
|
||
|
||
* - Type
|
||
- Taille typique
|
||
- Base de calcul
|
||
* - Frames JPEG par job
|
||
- ~11 GB
|
||
- job 45 min à 2 fps, 1920x1080
|
||
* - PLY par job (reconstruction)
|
||
- 2 – 5 GB
|
||
- dépend de la densité de la scène
|
||
* - GLB par job (export web)
|
||
- ~76 MB
|
||
- 5M points (job_21 observé)
|
||
* - PLY stitch AUV
|
||
- variable
|
||
- somme des PLY segments
|
||
* - PLY global
|
||
- variable
|
||
- somme de tous les AUV
|
||
|
||
Pour un AUV avec 4 jobs de 45 min chacun :
|
||
|
||
- Frames : 4 x 11 GB = **~44 GB** (supprimables après validation)
|
||
- PLY jobs : 4 x 3.5 GB = **~14 GB**
|
||
- PLY stitch AUV : **~6-10 GB**
|
||
|
||
|
||
Politique de nettoyage
|
||
------------------------
|
||
|
||
Frames JPEG
|
||
^^^^^^^^^^^
|
||
|
||
Les frames sont conservées uniquement pour permettre la reprise sur crash.
|
||
Une fois le stitch per_auv validé visuellement, **les frames peuvent être supprimées**.
|
||
|
||
.. code-block:: bash
|
||
|
||
# Supprimer les frames d'un job (conserver le PLY !)
|
||
rm -rf /cosma-qc-frames/job_ID/frame_*.jpg
|
||
rm -f /cosma-qc-frames/job_ID/.video_*.done
|
||
|
||
# Vérifier que le PLY est intact avant suppression
|
||
ls -lh /cosma-qc-frames/job_ID/reconstruction.ply
|
||
|
||
PLY intermédiaires
|
||
^^^^^^^^^^^^^^^^^^
|
||
|
||
Les PLY par job peuvent être supprimés après que le stitch per_auv est validé
|
||
et sauvegardé hors-ligne.
|
||
|
||
.. code-block:: bash
|
||
|
||
# Conserver uniquement le stitch, supprimer les PLY jobs
|
||
rm /cosma-qc-frames/job_ID/reconstruction.ply
|
||
|
||
Vérification espace disque
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
|
||
.. code-block:: bash
|
||
|
||
# Espace total workers
|
||
ssh floppyrj45@192.168.0.84 "df -h /cosma-qc-frames"
|
||
ssh floppyrj45@192.168.0.87 "df -h /cosma-qc-frames"
|
||
|
||
# Taille par job
|
||
du -sh /cosma-qc-frames/job_*/
|
||
|
||
# Top consommateurs
|
||
du -sh /cosma-qc-frames/* | sort -rh | head -20
|
||
|
||
|
||
Export GLB
|
||
-----------
|
||
|
||
Le GLB est une version allégée du nuage de points pour visualisation web.
|
||
|
||
Génération via l'API dashboard :
|
||
|
||
.. code-block:: bash
|
||
|
||
curl -X POST http://192.168.0.82:3849/jobs/ID/export_glb
|
||
|
||
Génération manuelle sur le worker :
|
||
|
||
.. code-block:: python
|
||
|
||
import trimesh, numpy as np
|
||
pc = trimesh.load('/cosma-qc-frames/job_ID/reconstruction.ply')
|
||
idx = np.random.choice(len(pc.vertices), 5_000_000, replace=False)
|
||
sub = trimesh.PointCloud(pc.vertices[idx], colors=pc.colors[idx])
|
||
sub.export('/cosma-qc-frames/job_ID/reconstruction.glb')
|
||
|
||
Téléchargement :
|
||
|
||
.. code-block:: bash
|
||
|
||
# Lancer le serveur HTTP sur le worker
|
||
ssh floppyrj45@192.168.0.84 \
|
||
"python3 -m http.server 8300 --directory /cosma-qc-frames"
|
||
|
||
# Télécharger depuis PC
|
||
wget http://192.168.0.84:8300/job_ID/reconstruction.glb
|
||
|
||
|
||
Reprise sur crash — marqueurs .done
|
||
-------------------------------------
|
||
|
||
Chaque MP4 extrait avec succès génère un fichier marqueur :
|
||
|
||
.. code-block:: text
|
||
|
||
/cosma-qc-frames/job_ID/.video_0.done
|
||
/cosma-qc-frames/job_ID/.video_1.done
|
||
...
|
||
|
||
En cas de crash, la reprise saute automatiquement les vidéos déjà traitées.
|
||
|
||
Pour forcer une ré-extraction complète :
|
||
|
||
.. code-block:: bash
|
||
|
||
rm /cosma-qc-frames/job_ID/.video_*.done
|