đŸ› ïž VisiVoirie : Mise en place de l'infrastructure de calcul (LXC & Proxmox)

Rédigé par manuel Aucun commentaire
Classé dans : Informatique, HomeLab, Fil Rouge Mots clés : Développement, Fil Rouge, proxmox

Pour mon projet de dĂ©tection automatisĂ©e des dĂ©gradations de voirie par IA, la premiĂšre Ă©tape n’est pas le code, mais la construction d’un environnement de calcul solide. Voici comment j’ai configurĂ© mon systĂšme sur mon Homelab pour transformer mon flux de donnĂ©es en rĂ©sultats exploitables.

đŸ—ïž Le choix de l'infrastructure

Pour ce projet, j'ai optĂ© pour un container LXC plutĂŽt qu'une machine virtuelle (VM). Pourquoi ? Pour la performance brute. Sur mon cluster Proxmox (Ryzen 5 5560U), le LXC permet d'accĂ©der directement aux ressources CPU sans la surcouche de virtualisation, ce qui est crucial pour l'infĂ©rence IA avec YOLO.

Spécifications du container :

  • SystĂšme : Ubuntu 24.04 (Noble Numbat).

  • Processeur : 4 cƓurs (pour parallĂ©liser le traitement des images).

  • MĂ©moire : 4 Go de RAM (le "sweet spot" pour charger les modĂšles YOLO et OpenCV).

  • Type : Container PrivilĂ©giĂ© (pour faciliter les montages rĂ©seaux NFS sans batailler avec les mappings d'UID).


🔗 Le lien avec le stockage (NFS)

Les milliers de clichĂ©s haute rĂ©solution capturĂ©s sur le terrain ne sont pas stockĂ©s dans le container, mais sur mon serveur HP Proliant Microserver Gen8 (pve-hp).

Pour faire le pont, j'utilise la fonctionnalitĂ© Mount Point de Proxmox. Le partage NFS est dĂ©clarĂ© au niveau du Datacenter, puis injectĂ© directement dans le LXC :

Chemin hĂŽte : /mnt/pve-hp-visivoirie

Chemin container : /home/manuel/photos_voirie

Cette méthode garantit que mon stockage de 5 To est accessible comme s'il était sur un disque local, tout en préservant l'espace de mon NVMe principal.


🐍 Environnement de dĂ©veloppement Python

Une fois le container stable, j'ai mis en place une pile logicielle moderne pour traiter les données. Voici les commandes essentielles pour reproduire cet environnement :

Bash

# Mise à jour du systÚme et installation des dépendances
sudo apt update && sudo apt upgrade -y
sudo apt install -y python3-pip python-is-python3 python3-venv

 Bash

# Création d'un environnement virtuel dédié (Isoler le projet)
python3 -m venv venv
source venv/bin/activate

 Bash

# Installation des bibliothÚques clés
pip install ultralytics pillow opencv-python

RĂŽle des librairies :

  • Ultralytics (YOLOv8) : Le cerveau qui dĂ©tecte les nids-de-poule et les fissures.

  • OpenCV : Les "mains" qui ouvrent, redimensionnent et dessinent sur les images.

  • Pillow : L'outil indispensable pour extraire les donnĂ©es GPS (EXIF) de chaque photo.


⚠ PiĂšges Ă©vitĂ©s (Retour d'expĂ©rience)

Lors de la crĂ©ation, j'ai rencontrĂ© un warning concernant Systemd 255. Pour le rĂ©soudre, il est impĂ©ratif d'activer le Nesting (Imbrication) dans les fonctionnalitĂ©s (Features) du container sous Proxmox. Sans cela, certains services systĂšme internes au LXC pourraient ne pas dĂ©marrer correctement.

🎯 Prochaine Ă©tape

L'infrastructure est maintenant prĂȘte et "zĂ©ro stress". Le pipeline entre mon NAS et mon unitĂ© de calcul est ouvert. La prochaine Ă©tape sera le dĂ©veloppement du premier script Python pour extraire les coordonnĂ©es GPS de mes premiers tests rĂ©alisĂ©s avec mon smartphone Android.

La suite au prochain épisode sur mdsv41.fr !

Les commentaires sont fermés.