Ceci est une ancienne révision du document !
Table des matières
AI Vision
Voir aussi:
llama.cpp
Il y a YOLO et tout plein d'outils dédiés à la détection dans des images. Là je teste avec des modèles multimodaux, sans entraînement spécifique.
Le prompt demande s'il y a des panneaux solaire dans l'image fournie, avec sa bbox, et si “oui” de calculer les coordonnées géographiques de l'objet trouvé. Les 2 instructions permettent d'éliminer des faux positifs.
Par exemple le modèle trouve un panneau solaire dans cette image, mais ne trouve pas les coordonnées géo, on peut donc l'évacuer des positifs.
Nécessite un modèle multimodal et un fichier mmproj approprié.
Yolo
Comparaison de perf avec le modèle yolo26x.pt sur 1521 tuiles de 640 pixels:
| real | user | sys | |
|---|---|---|---|
| CUDA RTX 3060 | 0m25,625s | 0m22,140s | 0m3,480s |
| 13th i7-1360P | 6m3,403s | 48m3,806s | 0m2,906s |
Entraînement
Construction du jeu de données d’entraînement avec Label Studio.
Export au format “Yolo + images”. Attention, il faut ensuite répartir les images et labels entre “train” et “val”.
uv run yolo detect train \ data=dataset_s4-project-1-at-2026-03-07-15-33-9190b7c5.yml \ model=~/Data/AI_ModelsVision/yolo26l.pt \ epochs=130 lr0=0.0005 cos_lr=True augment=True optimizer=AdamW
panneaux solaires photovoltaïques
Spécialisation à la détection de panneaux solaires photovoltaïques sur les tuiles de IGN BdOrtho. Essentiellement les grandes installation comme la bâtis agricoles et toitures d'écoles et bâtiment industriels. Les petits panneaux sur toitures habitation résidentielles sont difficiles à différencier et peuvent être pour chauffer l'eau et pas pour générer de l'électricité. Il y a encore quelques faux positifs, mais à la marge. 😉
Le dataset avec 286 images pour “train” et 50 pour “val” :
Le modèle résultant à partir de Yolo26L :
Travaux similaires:
- Enhancing the Reliability of Deep Learning Models to Improve the Observability of French Rooftop Photovoltaic Installations par Gabriel Kasmi pour sa thèse à Université Paris sciences et lettres.
- agademer/yolo-remote-sensing-photovoltaic - This model detects buildings and rooftop photovoltaic panels from remote sensing imagery using YOLO. IGN's Orthophotos (960×960 pixels aka 192×192 meters) from South-West of France (Castelnaudary to Perpignan), Montpellier surroundings and South of Paris. Rooftop photovoltaic panels and buildings shapes identified with the help of OpenStreetMap.
Détections par départements
Les rectangles ont 2 propriétés: la “confidence” de la détection et “file” pour le nom de la tuile.
- 03 Allier bdortho_tuiles-640_03.geojson.zip
- 05 Hautes-Alpes bdortho_tuiles-640_05.geojson.zip
- le modèle hallucine en haute-montagne, mais pas suffisamment de faux-positifs pour justifier un nouvel entraînement
- 09 Ariège bdortho_tuiles-640_09.geojson.zip
-
- 22 Côtes-d'Armor bdortho_tuiles-640_22.geojson.zip
-
- 37 Indre-et-Loire
- 42 Loire solar-panels_42.geojson.zip
- 43 Haute-Loire solar-panels_43.geojson.zip
- 44 Loire-Atlantique bdortho_tuiles-640_44.geojson.zip
-
- 48 Lozère bdortho_tuiles-640_48.geojson.zip
- 49 Maine-et-Loire solar-panels_49.geojson.zip
- 50 Manche solar-panels_50.geojson.zip
-
- 63 Puy-de-Dôme solar-panels_63.geojson.zip
- 65 Hautes-Pyrénées solar-panels_65.geojson.zip
- 82 Tarn-et-Garonne solar-panels_82.geojson.zip
GLM-OCR
Avec llama.cpp et le modèle GLM-OCR-f16.gguf avec son fichier mmproj-GLM-OCR-Q8_0.gguf
~/Code/bronx/AI_Coding/llama.cpp-86/build/bin/llama-server --port 8012 \ -m ~/Data/AI_ModelsOCR/GLM-OCR-f16.gguf \ --mmproj ~/Data/AI_ModelsOCR/mmproj-GLM-OCR-Q8_0.gguf
Avec les images de pages scannées du fichier https://www.cotes-darmor.gouv.fr/contenu/telechargement/60849/507248/file/recueil-22-2023-079-recueil-des-actes-administratifs-special.pdf
Avec CPU i7 real 0m47,583s, 0m32,031s user 0m0,112s, 0m0,110s sys 0m0,025s, 0m0,025s Avec RTX 3060 real 0m5,929s, 0m3,367s user 0m0,099s, 0m0,104s sys 0m0,027s, 0m0,027s
La page 8 est un tableau et les données dans les cellules sont très bien extraites, les phrases sur plusieurs lignes dans une cellule sont bien extraites.
Avec le prompt : “Extrais le texte de cette image en préservant la structure (titres, listes, paragraphes). Corrigé les erreurs d'OCR si nécessaire. Réponds avec LE FORMAT MARKDOWN.” la page 8 donne du Markdown alors que la page 9 donne du HTML …
Alors qu'avec le prompt : “Extract the text from this image, preserving the structure (headings, lists, paragraphs). Correct any OCR errors where necessary. Please reply in MARKDOWN FORMAT.” les pages 8 et 9 sont bien en Markdown. Comme quoi le modèle comprends mieux l'anglais.
Les tables sont bien extraites MAIS pas toujours bien rendues dans la réponse. Après quelques essais le prompt qui fonctionne mieux : “Extract the text from this image, preserving the structure (headings, lists, paragraphs) and make sure you KEEP THE TABLES in good condition. Correct any OCR errors where necessary. Fine Reply in MARKDOWN FORMAT.”

