Skip to content

OBJ-WTF/GAN-Architecture

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 

Repository files navigation

AIp2p: Pix2Pix Floorplan Tool

AIp2p est une interface graphique interactive pour dessiner des plans de bâtiments à l'aide de modèles Pix2Pix.

Capture d’écran 2025-05-23 113515

Fonctionnalités principales

  • 🖼️ Canvas de dessin interactif : Dessinez des rectangles en glissant-déposant pour créer vos plans
  • 🎨 Système de couleurs codées : Plusieurs couleurs disponibles pour encoder différentes classes (murs, ouvertures, pièces, etc.)
  • ↕️ Import/Export d'images : Importez une image PNG existante ou exportez vos créations
  • 🪄 Génération IA avancée : Convertissez votre dessin en image réaliste via un modèle Pix2Pix (1 ou 2 passes)
  • 🔧 Entraînement intégré : Entraînez vos propres modèles avec vos datasets personnalisés

Prérequis

  • Python 3.10+
  • CUDA 12 (recommandé pour l'accélération GPU)

Tableau des besoins mémoire

Taille image Inférence – RAM Inférence – VRAM Entraînement – RAM Entraînement – VRAM
256×256 0.5 – 1 Go 0.5 – 1 Go 8 – 12 Go 4 – 6 Go
512×512 1 – 2 Go 1 – 2 Go 12 – 16 Go 6 – 8 Go
768×768 2 – 3.5 Go 3 – 5 Go 16 – 24 Go 8 – 12 Go
1024×1024 4 – 6 Go 6 – 8 Go 24 – 32 Go 10 – 14 Go

Installation

1. Cloner le dépôt

git clone https://github.com/votreutilisateur/AIp2p.git
cd AIp2p

2. Créer un environnement virtuel

# Créer l'environnement
python -m venv venv

# Activer l'environnement
# Sur Windows :
venv\Scripts\activate
# Sur Linux/macOS :
source venv/bin/activate

3. Installer les dépendances

pip install -r requirements.txt

Utilisation

Lancement de l'application

python AIp2p.py

Guide d'utilisation rapide

Dessin

  1. Créer des rectangles : Cliquez et glissez sur le canvas pour dessiner
  2. Supprimer des éléments : Clic droit sur un rectangle pour le supprimer
  3. Changer de couleur : Sélectionnez une couleur dans la palette pour encoder différents types d'éléments

Génération IA

  1. Charger les modèles : Utilisez les boutons dédiés pour charger vos fichiers .h5
    • 1er modèle : Conversion Masse → Couleur
    • 2ème modèle : Conversion Couleur → Dessin détaillé
  2. Générer : Lancez la génération pour obtenir votre plan réaliste

Entraînement de modèles

  1. Préparer les données : Organisez vos images d'entraînement dans des dossiers séparés
  2. Configuration : Spécifiez le dossier d'entrée, le dossier cible et le nombre d'epochs
  3. Lancer : Le modèle sera automatiquement sauvegardé à la fin de l'entraînement

Dataset recommandé

Pix2Pix Floorplans Dataset

Source : nate-peters/pix2pix-floorplans-dataset

Ce dataset contient des images de plans d'étage pour petites maisons de plain-pied, dérivées de HousePlans.com. Chaque image a été étiquetée manuellement avec Rhino et Grasshopper :

  • Image A : Forme de contour (région noire pleine)
  • Image B : Contour avec régions codées par couleur selon les types de pièces

Exemple du dataset

🧠 Recommandations d'entraînement Pix2Pix

Ce tableau vous aide à calibrer votre entraînement selon la taille de votre dataset et vos ressources disponibles.

Taille du dataset Epochs recommandées Durée estimée (CPU) Durée estimée (GPU)
~100 paires 200 – 400 4 – 8 h 30 – 60 min
500 paires 150 – 300 8 – 16 h 1 – 2 h
1 000 paires 100 – 200 12 – 24 h 2 – 4 h
5 000+ paires 50 – 150 24 – 48 h 4 – 8 h
10 000+ paires 30 – 100 48 h+ 6 – 12 h

Conseils d'entraînement

  • Surveillez la perte (loss) mais jugez aussi visuellement la qualité des sorties.
  • Plus le dataset est petit, plus vous aurez besoin de nombreux epochs.
  • Sauvegardez le modèle régulièrement (checkpoint) pour éviter toute perte.
  • Commencez avec des images 256×256 px, puis augmentez si votre GPU le permet.

🔧 Dépendances techniques

Principales librairies

  • TensorFlow 2.15 - Framework d'apprentissage automatique
  • OpenCV - Traitement d'images
  • Pillow - Manipulation d'images
  • tkinter - Interface graphique

Configuration GPU (optionnelle mais recommandée)

Pour une performance optimale, assurez-vous d'avoir :

  • CUDA 12 installé
  • GPU compatible CUDA avec au moins 4 Go de VRAM

Consultez requirements.txt pour la liste complète des dépendances.

🏗️ Architecture du projet

AIp2p/
├── AIp2p.py              # Script principal
├── requirements.txt      # Dépendances Python
├── models/              # Modèles entraînés 
├── datasets/            # Vos datasets d'entraînement
└── exports/             # Images générées et exportées

Crédits

Développé par : OBJ.WTF pour un projet de génération architecturale assistée par IA ( https://www.obj.wtf/ )

Basé sur :

📄 Licence

Ce projet est sous licence MIT.

N'hésitez pas à donner une étoile au projet si vous le trouvez utile !

About

APP For training GAN Models on Architecture Plan

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published