-
Vue d'ensemble de l'extraction du plan de projet
-
Liste exhaustive des éléments extraits du plan de projet
-
Aperçu du JSON généré par le plan de projet
-
Liste exhaustive des éléments extraits des dessins d'atelier
-
Aperçu de la comparaison du plan de projet et des dessins d'atelier
-
Aperçu du rapport de comparaison généré
Inspiration
- Vérifier à la main des dizaines de dessins d'atelier contre le plan structural prend des jours.
- Chaque erreur de ferraillage coûte cher une fois les barres fabriquées.
Ce que fait l'application
- Compare les armatures du plan structural à celles des dessins d'atelier.
- Liste chaque élément dont les barres diffèrent.
- Indique la feuille du plan et le fichier d'atelier pour vérifier à la source.
- Accepte les fichiers par téléversement : plan, puis dessins par catégorie (colonnes, dalles, semelles, poutres, radiers).
- Exporte la comparaison en JSON.
Comment nous l'avons construit
- Lecture du plan : repérage des armatures sur la grille des axes, et identification des dalles d'intégrité par leurs repères cerclés.
- Lecture des dessins d'atelier : rendu des PDF en images puis reconnaissance optique, sans jamais consulter les valeurs du plan.
- Un lecteur dédié par catégorie, pour le format CLP.
- Comparaison par position sur la grille, avec tolérance pour les repérages décalés.
- Interface Streamlit, avec cache par nom et contenu de fichier.
Défis rencontrés
- Associer une annotation à son point d'appui quand elle est imprimée loin de son repère.
- Faire correspondre des repérages qui diffèrent d'un axe entre plan et atelier.
- Garder le cache valide sans refaire des heures de lecture.
Réalisations dont nous sommes fiers
- Une chaîne complète, du téléversement jusqu'à la liste des différences, avec les sources de chaque côté.
- Des analyses réutilisées d'une session à l'autre grâce au cache.
- Une structure ouverte à d'autres méthodes d'analyse que le format CLP.
Ce que nous avons appris
- Un outil de vérification doit montrer ses sources, pas seulement ses conclusions.
- Le format d'un dessin varie beaucoup d'un projet à l'autre : il faut lire la légende avant de lire les chiffres.
- Une tolérance trop large crée de faux appariements ; une tolérance trop étroite en crée de faux écarts.
Prochaines étapes pour POGOS - L2C
- Lire les dalles au complet, pas seulement la feuille d'intégrité.
- Ajouter les autres formats d'atelier via la liste des méthodes.
- Remplacer l'appariement par cercles et lettres de type par une lecture directe des légendes.
- Produire un rapport de vérification exportable en PDF.
Built With
- Python
- PyMuPDF : lecture et rendu des PDF
- RapidOCR + ONNX Runtime : reconnaissance optique des dessins
- OpenCV : détection des repères et des points d'appui
- NumPy et SciPy : calculs géométriques
- Pillow : traitement des images
- Pydantic : validation du schéma JSON
- Streamlit : interface web
- Altair et pandas : tableaux et graphiques
- openpyxl : lecture du fichier de réponses de référence
- ReportLab : rapport PDF (prévu)
- pytest : tests
- uv et Make : installation et lancement
Log in or sign up for Devpost to join the conversation.