🚗 Car Damage Detection Model - Llama Vision 11B
📋 Vue d'ensemble
Ce modèle est une version fine-tunée du Llama-3.2-11B-Vision-Instruct spécialement développé pour l'analyse automatique des dommages automobiles. Il combine la puissance des modèles de langage multimodaux avec une spécialisation en évaluation de véhicules endommagés.
🎯 Capacités principales
🔍 Détection avancée
- Types de dommages : Rayures, bosses, éclats de peinture, déformations, bris de vitre
- Zones d'analyse : Carrosserie, pare-chocs, phares, rétroviseurs, pare-brise, jantes
- Sévérité : Évaluation du niveau de gravité des dommages
📍 Localisation précise
- Identification des parties : Spécification exacte des zones affectées (porte avant gauche, pare-choc arrière, etc.)
- Positionnement : Description de l'emplacement des dommages sur chaque élément
- Étendue : Estimation de la superficie des zones endommagées
📝 Rapports détaillés
- Descriptions techniques : Terminologie professionnelle de l'industrie automobile
- Support multilingue : Français et anglais
- Format structuré : Rapports adaptés aux compagnies d'assurance
📊 Performances d'entraînement
🏋️ Configuration d'entraînement
- Dataset : KHAOULA-KH/Car_Dommage_1 - 14 000 images d'entraînement
- Durée : 17.2 heures sur GPU NVIDIA L40S (44.7GB)
- Étapes : 2 625 steps d'optimisation
- Époques : 3 cycles complets
- Batch size effectif : 16 échantillons
📈 Métriques de performance
- Loss finale : 0.0758 (excellente convergence)
- Évolution : Démarrage à 3.98, convergence rapide vers ~0.05
- Stabilité : Entraînement stable sans overfitting
- Mémoire GPU : Pic à 10.65 GB (optimisation efficace)
⚙️ Optimisations techniques
- LoRA (Low-Rank Adaptation) : Fine-tuning efficace avec 0.63% des paramètres entraînés
- Quantification 4-bit : Réduction de l'empreinte mémoire
- Gradient checkpointing : Optimisation mémoire pour entraînement
- Mixed precision (BF16) : Accélération sur GPU moderne
🛠️ Guide d'utilisation
Installation rapide
pip install transformers torch pillow
Code d'exemple complet
from transformers import AutoModelForCausalLM, AutoTokenizer
from PIL import Image
import torch
# Chargement du modèle optimisé
model_name = "Kakyoin03/car-damage-detection-llama-vision-14k"
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.float16,
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
# Analyse d'une image de véhicule endommagé
def analyze_car_damage(image_path, language="fr"):
image = Image.open(image_path)
prompts = {
"fr": "Analysez cette image de véhicule et décrivez précisément tous les dommages visibles, leur localisation et leur sévérité.",
"en": "Analyze this vehicle image and describe precisely all visible damage, their location and severity."
}
messages = [
{
"role": "user",
"content": [
{"type": "text", "text": prompts[language]},
{"type": "image", "image": image}
]
}
]
# Génération de l'analyse
inputs = tokenizer.apply_chat_template(
messages,
return_tensors="pt",
add_generation_prompt=True
)
with torch.no_grad():
outputs = model.generate(
inputs,
max_new_tokens=500,
temperature=0.1,
do_sample=True,
pad_token_id=tokenizer.eos_token_id
)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
return response.split("assistant")[-1].strip()
# Utilisation
damage_report = analyze_car_damage("voiture_endommagee.jpg", language="fr")
print(damage_report)
Exemple de sortie
Dommages détectés sur ce véhicule :
🔍 ZONE AVANT :
- Pare-choc avant : Rayure profonde sur la partie droite, environ 15cm
- Phare avant droit : Fissure sur le verre, impact visible
- Calandre : Déformation légère au centre
🔍 ZONE LATÉRALE :
- Porte avant droite : Bosse importante au niveau de la poignée
- Aile avant droite : Éclats de peinture multiples
📊 ÉVALUATION :
- Sévérité globale : Modérée
- Réparations nécessaires : Carrosserie et optique
- Estimation : Dommages significatifs nécessitant intervention professionnelle
📈 Applications pratiques
🏢 Secteur de l'assurance
- Expertise automatisée : Pré-évaluation des sinistres automobile
- Traitement rapide : Analyse instantanée des photos de dommages
- Cohérence : Évaluations standardisées et objectives
🚗 Industrie automobile
- Contrôle qualité : Inspection des véhicules neufs et d'occasion
- Maintenance : Suivi de l'état des flottes de véhicules
- Vente : Évaluation pour transactions de véhicules
🛠️ Réparation automobile
- Diagnostic : Aide à l'évaluation initiale des réparations
- Devis : Support pour l'établissement des estimations
- Documentation : Création de rapports photographiques détaillés
🔧 Détails techniques avancés
🏗️ Architecture
- Modèle de base : Llama-3.2-11B-Vision-Instruct (10.7B paramètres)
- Adaptation : LoRA avec rang 16, alpha 16, dropout 0.1
- Modules ciblés : Attention layers, feed-forward networks
- Paramètres entraînés : 67,174,400 (0.63% du total)
⚡ Performance
- Temps d'inférence : ~2-5 secondes par image (GPU moderne)
- Mémoire requise : ~8-12 GB VRAM (dépend de la résolution)
- Précision : Très élevée sur dommages courants (rayures, bosses)
- Robustesse : Fonctionne avec diverses conditions d'éclairage
🔄 Optimisations
- Quantification : Support 4-bit et 8-bit
- Compilation : Compatible avec torch.compile()
- Batching : Traitement d'images multiples
- Streaming : Génération de texte en temps réel
🎓 Entraînement personnalisé
Si vous souhaitez adapter ce modèle à vos données spécifiques :
# Exemple de fine-tuning additionnel
from unsloth import FastVisionModel
from transformers import TrainingArguments, Trainer
# Chargement pour fine-tuning
model, tokenizer = FastVisionModel.from_pretrained(
"Kakyoin03/car-damage-detection-llama-vision-14k",
max_seq_length=2048,
dtype=None,
load_in_4bit=True,
)
# Ajout de LoRA pour adaptation
model = FastVisionModel.get_peft_model(
model,
r=16,
target_modules=["q_proj", "k_proj", "v_proj", "o_proj"],
lora_alpha=16,
lora_dropout=0.1,
bias="none",
use_gradient_checkpointing="unsloth",
)
📊 Métriques et benchmarks
Métrique | Valeur | Description |
---|---|---|
Training Loss | 0.0758 | Loss finale après convergence |
Training Steps | 2,625 | Nombre total d'étapes d'optimisation |
Training Time | 17.2h | Durée sur NVIDIA L40S |
Dataset Size | 14,000 | Images d'entraînement uniques |
Memory Peak | 10.65 GB | Pic d'utilisation GPU |
Model Size | 273 MB | Taille du modèle LoRA |
🤝 Contribution et amélioration
Ce modèle peut être amélioré avec :
- Plus de données : Extension du dataset avec nouveaux types de véhicules
- Nouvelles langues : Support pour d'autres langues
- Spécialisations : Adaptation pour motos, camions, etc.
- Intégrations : APIs pour applications métier
👨💻 À propos
Développé par : Kakyoin03
Date de création : 17/08/2025
Basé sur : Llama-3.2-11B-Vision-Instruct by Meta
Framework : Unsloth pour optimisation d'entraînement
📄 Licence et utilisation
Ce modèle est distribué sous licence Apache 2.0, permettant :
- ✅ Utilisation commerciale
- ✅ Modification et redistribution
- ✅ Utilisation privée
- ✅ Distribution
🔗 Liens utiles
- Modèle de base : Llama-3.2-11B-Vision-Instruct
- Dataset : Car_Dommage_1
- Framework : Unsloth
- Documentation : Transformers Vision Models
Modèle optimisé pour l'analyse professionnelle de dommages automobiles. Pour toute question ou amélioration, n'hésitez pas à ouvrir une discussion.
- Downloads last month
- 17
Inference Providers
NEW
This model isn't deployed by any Inference Provider.
🙋
Ask for provider support
Model tree for Kakyoin03/car-damage-detection-llama-vision-14k
Base model
meta-llama/Llama-3.2-11B-Vision-Instruct
Finetuned
unsloth/Llama-3.2-11B-Vision-Instruct
Dataset used to train Kakyoin03/car-damage-detection-llama-vision-14k
Evaluation results
- Final Training Loss on Car Damage Datasetself-reported0.076