Cœur de la solution : modèles YOLO et analyse augmentée
Le système se distingue par l'intégration de quatre versions majeures de YOLO (v8, v10, v11, v12). L'utilisateur peut sélectionner dynamiquement le modèle le plus adapté à son contexte, en fonction des compromis entre précision et vitesse de traitement. Les modèles sont entraînés sur un jeu de données personnalisé de 3 888 images, catégorisant les états en trois classes : ‘tombé’, ‘en train de tomber’, et ‘debout/normal’. Au-delà de la simple détection visuelle, le système exploite le modèle de langage DeepSeek pour interpréter les résultats (posture, fréquence) et générer des descriptions contextuelles, des hypothèses sur les causes potentielles, et des conseils de prévention. Cette fonction d'analyse intelligente transforme une simple alerte en un rapport compréhensible et exploitable.
Architecture technique : backend robuste et interface réactive
Le backend est construit avec SpringBoot, garantissant une séparation claire entre le frontend et le backend. Cette architecture moderne assure une maintenance aisée, une évolutivité et une gestion sécurisée des accès multi-utilisateurs. Le front end propose une interface Web intuitive. Les fonctionnalités principales incluent :
- Authentification et profil : système de connexion/inscription des utilisateurs. Chaque utilisateur dispose d'un espace personnel pour modifier son mot de passe, son avatar et ses informations.
- Détection multi-canal : support de l'analyse d'images téléchargées, de fichiers vidéo et de flux en direct depuis une caméra (RTSP).
- Analyse IA : chaque résultat de détection peut être soumis à DeepSeek pour une analyse textuelle approfondie.
- Tableau de bord et visualisation : toutes les détections (images, vidéos, flux temps réel) sont enregistrées dans une base de données MySQL. Un tableau de bord graphique permet de visualiser les tendances et l'historique.
- Gestion administrative : module de gestion des utilisateurs (CRUD) et des enregistrements de détection, offrant un contrôle total aux administrateurs.
Évolusion des modèles YOLO
Le système exploite la puissance des itérations récentes de YOLO :
- YOLOv8 : performance de pointe et équilibre entre précision et rapidité.
- YOLOv10 : optimisé pour l'inférence en temps réel avec une architecture sans NMS (non-maximum suppression) et un design efficace.
- YOLOv11 : amélioration de l'extraction de caractéristiques, plus de précision avec moins de paramètres (ex. YOLOv11m -22% de paramètres par rapport à v8m).
- YOLOv12 : architecture centrée sur l'attention (mécanisme d'attention régionale), atteignant une précision de pointe tout en maintenant des performances temps réel.
# Exemple d'entraînement : script Python (Ultralytics)
from ultralytics import YOLO
if __name__ == '__main__':
# Choisir le modèle de base (ex: yolov12s)
model = YOLO('models/yolo12s.pt')
results = model.train(
data='data.yaml',
epochs=500,
batch=64,
device='0',
workers=0,
project='runs',
name='fall_detection',
patience=100
)
Exemple de code frontend (extrait du formulaire de connexion)
<template>
<div class="login-page">
<el-form :model="loginForm" :rules="loginRules" ref="loginFormRef">
<el-form-item prop="username">
<el-input placeholder="Nom d'utilisateur" prefix-icon="User" size="large" v-model="loginForm.username"></el-input>
</el-form-item>
<el-form-item prop="password">
<el-input placeholder="Mot de passe" prefix-icon="Lock" show-password="" size="large" type="password" v-model="loginForm.password"></el-input>
</el-form-item>
<el-form-item>
<el-button class="full-width" size="large" type="primary">
Connexion
</el-button>
</el-form-item>
</el-form>
</div>
</template>
<script lang="ts" setup>
import { reactive, ref } from 'vue';
import type { FormInstance, FormRules } from 'element-plus';
// ... (logique de validation et d'appel API)
</script>
Cette intégration profonde de multiples modèles YOLO, d'un LLM pour l'analyse intelligente et d'une architecture web professionnelle offre une solution de détection des chutes à la fois flexible, précise et facile à déployer dans des environnements de soins réels (domicile, EHPAD, hôpital).