Détection de présence humaine et de chute basée sur un radar sécurisé pour la confidentialité

Privacy Safe Radar Based Human Presence and Fall Detection

Par Pratyush Gehlot

Les chutes sont l’une des principales causes de blessures chez les personnes âgées et les personnes à mobilité réduite vivant seules. Les approches de surveillance traditionnelles s’appuient sur des caméras ou des appareils portables : les caméras soulèvent d’importants problèmes de confidentialité dans les environnements domestiques, tandis que les appareils portables dépendent du fait que la personne se souvient de les porter et de les garder chargés.

Ce projet présente un système de détection de chute et de surveillance de la présence humaine préservant la vie privée construit sur le ESP32-S3-BOX-3 plate-forme avec plafonnier Capteur radar LD6001 mmWave. Le radar émet des signaux à ondes millimétriques qui se reflètent sur le corps humain, produisant un nuage de points 3D avec des données de position, de vitesse et de qualité du signal, sans capturer aucune information visuelle.

Le système traite ce nuage de points en temps réel via un pipeline à plusieurs étapes : filtrage du bruit, regroupement spatial DBSCAN, extraction de caractéristiques (hauteur, répartition spatiale, variance de vitesse), classification de posture basée sur des règles et machine à états finis multi-preuves pour la détection des chutes. Il classe la posture humaine en cinq états – debout, assis, couché, endormi et chute – et déclenche une alarme sonore lorsqu’une chute est confirmée.

Objectifs de conception clés de ce projet :

  • Confidentialité — La détection radar uniquement ne capture aucune image ni aucun son de la personne surveillée
  • Aucun appareil portable requis – Détection passive sans aucune coopération nécessaire de la part du sujet
  • Traitement embarqué en temps réel — Toutes les détections s’exécutent sur l’appareil sans dépendance au cloud
  • Prise en charge de plusieurs personnes — Suit jusqu’à 5 personnes simultanément avec une détection de chute indépendante par cible
  • Interface accessible — Interface utilisateur à écran tactile avec affichage de la posture, paramètres configurables et alertes audio
  • Débogage à distance — Streaming WiFi de données brutes de nuages ​​de points vers un outil de visualisation 3D sur PC pour l’étalonnage et le développement

Le système est conçu pour être déployé dans les maisons de retraite, les résidences-services, les chambres d’hôpital et les résidences privées où une surveillance continue des chutes est nécessaire sans compromettre la dignité et l’intimité de l’occupant.

Composants requis

Nom du composant Quantité Fiche technique/Lien
ESP32S3 BOÎTE3 1 Voir la fiche technique
HC12 2
Radar LD6001 60 GHz 1
Bouclier de batterie 18650 1
Cellule Li-Ion 18650 2

Schéma de circuit

Detection de presence humaine et de chute basee sur un

Assemblage du matériel

Le matériel est divisé en deux unités physiquement distinctes connectées sans fil via des modules radio HC-12 UART.

Partie 1 — Unité de plafond (nœud de capteur)

Monté au plafond, pointant vers le bas. Alimenté par batterie, aucun fil nécessaire.

Composant Rôle
Radar LD6001 60 GHz Détecte les humains et génère un nuage de points via UART
UART sans fil HC-12 Transmet les données série du radar sans fil à l’unité de base
Bouclier de batterie Li-Ion 18650 Alimente le radar et le HC-12 à 3,3 V/1 A.

Câblage : les 3,3 V et GND du blindage de la batterie sont partagés avec le HC-12 et le LD6001. Le TX du radar → HC-12 RXD, le RX du radar → HC-12 TXD.

1785096041 137 Detection de presence humaine et de chute basee sur un

Partie 2 — Unité de base (nœud de traitement)

Se pose sur un bureau/étagère. Alimenté par USB-C via une batterie externe.

Composant Rôle
ESP32-S3-BOX-3 + Station d’accueil Exécute un pipeline de détection, une interface utilisateur et des alertes audio
UART sans fil HC-12 Reçoit les données radar sans fil depuis l’unité de plafond

Câblage : HC-12 TXD → GPIO38, HC-12 RXD → GPIO39, alimenté par le 3,3 V de la station d’accueil.

1785096041 421 Detection de presence humaine et de chute basee sur un

Flux logiciel

Le flux logiciel est divisé en 10 étapes, comme expliqué ci-dessous dans le tableau :

1785096041 292 Detection de presence humaine et de chute basee sur un

Ci-dessous se trouve le flux de données complet du système de détection humaine et de surveillance des chutes par radar ESP32-S3, depuis les données brutes du capteur UART via le pipeline de détection jusqu’à l’affichage de l’interface utilisateur et les alertes audio.

1785096041 997 Detection de presence humaine et de chute basee sur un

Démarrage et initialisation

• Monte le système de fichiers SPIFFS pour les fichiers audio

• Initialise le bus I2C pour l’écran tactile et le codec audio.

• Démarre l’écran LCD et la bibliothèque graphique LVGL

• Configure le mode WiFi AP (SSID : « ESP32S3BOX3_RadarSensor »)

• Configure UART1 pour la communication des capteurs radar (115 200 bauds, GPIO 38/39).

•Crée des tâches FreeRTOS pour la réception radar

• Affiche une animation de démarrage avec une barre de progression

• Joue bootaudio.wav au démarrage

Fonctions clés

•app_main() – Entrée de l’application FreeRTOS

•bsp_spiffs_mount() – Configuration du système de fichiers

•bsp_display_start() – Initialisation LVGL

•wifi_stream_init() – Serveur TCP sur le port 3333

•radar_sensor_init() – Création de pilotes UART et de tâches RX

Données radar (LD6001) Réception de données UART

Le module Radar configuré et contrôlé via UART à l’aide des commandes AT, où À + DÉBUT diffusera cadre de nuage de points sur UART sous forme de lignes de texte brut, structurées comme ceci :

x=0,12 y=-0,35 z=1,80 v=-0,05 snr=22,3 abs=8,1 dpk=5,6

x=0,15 y=-0,30 z=1,75 v=-0,03 snr=19,8 abs=7,4 dpk=4,9

x=0,10 y=-0,40 z=0,45 v=0,01 snr=15,2 abs=6,0 dpk=3,2

—–NumPoint=3

Chaque ligne est une point de réflexion détecté par le signal mmWave 60 GHz.

Champs par point :

1785096042 874 Detection de presence humaine et de chute basee sur un

Une personne debout produit un groupe vertical de points (tête, torse, jambes). Une personne allongée produit une répartition horizontale de points Z faibles. Les valeurs snr, abs et dpk sont combinées dans un score de confiance pour filtrer le bruit des réflexions réelles.

La tâche FreeRTOS lit en permanence les données textuelles brutes du capteur radar LD6001 via UART et les analyse en données de nuage de points structurées.

• S’exécute dans la tâche dédiée radar_rx_task() avec une pile de 8 Ko

• Lit les octets UART en morceaux de 255 octets avec un délai d’attente de 100 ms.

• Assemble le texte en tampon de ligne (délimité par une nouvelle ligne)

• Analyse les lignes correspondant au modèle : x=X,y=Y,z=Z,v=V,snr=S,abs=A,dpk=D

• Transforme les coordonnées pour le radar monté au plafond :

•x_world = x_raw + GRID_X/2 (axe X central)

•y_world = y_raw + GRID_Y/2 (axe Y central)

•z_world = GRID_Z – z_raw (inverser Z pour la hauteur à partir du sol)

• Accumule des points

• Stocke jusqu’à 128 points par image dans s_frame_points[]

Pipeline de détection

UART RX → Filtre de points → Cluster DBSCAN → Extrait de fonctionnalités → Classification de posture → Fall FSM → Track & Smooth → UI/Audio

  1. Filtrage de points — Score de confiance pondéré (SNR, abs, DPK), seuil ≥ 0,4
  2. Regroupement DBSCAN — Regroupe les points proches en cibles humaines (eps=0,55 m, min_samples=5)
  3. Extraction de fonctionnalités — Par cluster z_max, z_range, xy_span, moyenne/variance de vitesse
  4. Classement des postures — Basé sur des règles utilisant la hauteur, l’étendue verticale et la répartition spatiale
  5. Détection de chute — FSM à 4 états (AUCUN → SUSPECT → CONFIRMÉ → COOLDOWN) avec notation multi-preuves
  6. Suivi de cible — Association du voisin le plus proche + lissage EMA (α = 0,4) sur toutes les images

Classement des postures

Effectuer un classificateur basé sur des règles utilisant des seuils de hauteur et de répartition spatiale.

1785096042 238 Detection de presence humaine et de chute basee sur un

Machine d’état de détection de chute

1785096042 496 Detection de presence humaine et de chute basee sur un

Fonctions clés du radar

1785096042 678 Detection de presence humaine et de chute basee sur un

Tâches RTOS gratuites

1785096042 346 Detection de presence humaine et de chute basee sur un

Visualisation 3D client PC : diffusée via WiFi AP [Debug/Training/Calibration Purpose]

Une application compagnon Python se connecte au point d’accès WiFi de l’ESP32 pour visualiser le nuage de points radar en 3D.

L’application se connecte à 192.168.4.1:3333 et restitue le nuage de points avec des étiquettes de cluster et une superposition de posture.

1785096043 209 Detection de presence humaine et de chute basee sur un

Écrans d’interface utilisateur basés sur LVGL :

1785096043 934 Detection de presence humaine et de chute basee sur un1785096043 559 Detection de presence humaine et de chute basee sur un

Flux de construction, de flash et de surveillance :

1785096043 839 Detection de presence humaine et de chute basee sur un

Dépôt GitHub

8f49hwAAAABklEQVQDADuHLujQ5HqtAAAAAElFTkSuQmCC0pVcmIAAAAGSURBVAMAyugGFqrt9sMAAAAASUVORK5CYII=

Retrouvez l’histoire de Raspberry Pi dans cette vidéo :

Youtube video

  • Détecteur de présence Humaine Haozee, Radar à Ondes millimétriques 24G, Alarme de Mouvement, détection Radar Haute sensibilité, nécessite Un hub Zigbee, alimenté par Batterie
  • illuburg Détecteur de Présence 24GHz Micro-Ondes HF Radar pour Micromouvement Respiration avec Capteur Jour Nuit Plage de Détection 7 m