đ ïž VisiVoirie : Mise en place de l'infrastructure de calcul (LXC & 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 :
/mnt/pve-hp-visivoirieChemin container :
/home/manuel/photos_voirieCette 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
sudo apt update && sudo apt upgrade -y
sudo apt install -y python3-pip python-is-python3 python3-venv
Bash
python3 -m venv venv
source venv/bin/activate
Bash
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 !