Outils pour utilisateurs

Outils du site


informatique:ai_lm:ai_vision

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.

champ avec rayures

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:

Détections par départements

OCR

LiteParse

A fast, local PDF parsing with spatial text parsing, OCR, and bounding boxes. Open-source document parser from LlamaIndex

https://github.com/run-llama/liteparse

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-1360P 13thGen
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.

😩 voilà qu'après plusieurs usages il n'y a plus de Markdown pour les titres …

👌 J'ai changé de stratégie: ne plus extraire la mise en forme, mais seulement le texte page par page, avec extraction de quelques entités comme “auteur”, “date”, “sujet” et un “résumé”. Là le model GLM-OCR-f16 est très efficace.

Qwen2.5-VL-7B-Instruct

https://huggingface.co/unsloth/Qwen2.5-VL-7B-Instruct-GGUF

Bien meilleurs résultats pour la structure en Markdown mais beaucoup plus gourmand en mémoire et donc plus lent à cause de l'usage du CPU, même avec du Q4. 😩

~/Code/bronx/AI_Coding/llama.cpp-86/build/bin/llama-server --port 8012 \
 -m ~/Data/AI_ModelsOCR/Qwen2.5-VL-7B-Instruct-UD-Q4_K_XL.gguf \
 --mmproj ~/Data/AI_ModelsOCR/mmproj-F16.gguf -ngl 20

real	0m39,938s, 0m45,901s
user	0m0,116s, 0m0,105s
sys	0m0,024s, 0m0,027s

DeepSeek-OCR-GGUF

ggml-org/DeepSeek-OCR-GGUF

Tient dans la VRAM de la RTX3060.

Gère bien le Markdown, mais les résultats sont alléatoires … Et de nombreuses allucinations 😩

informatique/ai_lm/ai_vision.txt · Dernière modification : de cyrille

Sauf mention contraire, le contenu de ce wiki est placé sous les termes de la licence suivante : CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki