🚗 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 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

Dataset used to train Kakyoin03/car-damage-detection-llama-vision-14k

Evaluation results