AIp2p est une interface graphique interactive pour dessiner des plans de bâtiments à l'aide de modèles Pix2Pix.
- 🖼️ 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
- Python 3.10+
- CUDA 12 (recommandé pour l'accélération GPU)
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 |
git clone https://github.com/votreutilisateur/AIp2p.git
cd AIp2p
# Créer l'environnement
python -m venv venv
# Activer l'environnement
# Sur Windows :
venv\Scripts\activate
# Sur Linux/macOS :
source venv/bin/activate
pip install -r requirements.txt
python AIp2p.py
- Créer des rectangles : Cliquez et glissez sur le canvas pour dessiner
- Supprimer des éléments : Clic droit sur un rectangle pour le supprimer
- Changer de couleur : Sélectionnez une couleur dans la palette pour encoder différents types d'éléments
- 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é
- Générer : Lancez la génération pour obtenir votre plan réaliste
- Préparer les données : Organisez vos images d'entraînement dans des dossiers séparés
- Configuration : Spécifiez le dossier d'entrée, le dossier cible et le nombre d'epochs
- Lancer : Le modèle sera automatiquement sauvegardé à la fin de l'entraînement
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
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 |
- 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.
- TensorFlow 2.15 - Framework d'apprentissage automatique
- OpenCV - Traitement d'images
- Pillow - Manipulation d'images
- tkinter - Interface graphique
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.
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
Développé par : OBJ.WTF pour un projet de génération architecturale assistée par IA ( https://www.obj.wtf/ )
Basé sur :
- Pix2Pix (TensorFlow Examples)
- Les travaux de Stanislas Chaillou
Ce projet est sous licence MIT.
⭐ N'hésitez pas à donner une étoile au projet si vous le trouvez utile !