Home

NumidAI — Détection précoce des feux de forêt par IA

— Détection de feux de forêt · IA embarquée · Temps réel

Détection précoce des feux de forêt.
Embarquée. Vérifiée sur site.
Aucune inférence cloud.

NVIDIA Jetson Orin NX · C++ / DeepStream · chaîne de vérification à étages, 100 % locale

NumidAI transforme un seul calculateur embarqué et n’importe quel flux caméra standard en système autonome de détection précoce. Le projet repose sur une vérité opérationnelle : la différence entre un départ maîtrisé et une catastrophe se joue dans les premières minutes — et un système qui crie au loup finit déclassé.

Le premier étage est volontairement réglé pour la sensibilité : les panaches naissants les plus ténus ne sont pas manqués. La précision se construit ensuite en aval : chaque candidat est suivi et caractérisé dans le temps, et les cas ambigus passent par une vérification sémantique embarquée avant qu’une alerte ne parte. Le compromis lui-même se déplace, pas seulement le seuil.

La vidéo ne quitte jamais le site. Seules les alertes, leurs preuves visuelles et la télémétrie remontent.

Petit signal de type panache suivi sur quatre instants successifs
Détection d’un petit signal de type panache, suivi sur quatre instants successifs (détail agrandi de la mosaïque temporelle).

100 %

des événements incendie détectés — split de test FIgLib, hors distribution strict

3 min

délai médian de détection — profil exploitation + L3 partiel*

0,06 %

de fausses alertes parmi les alertes émises — Moins d’une par jour, par caméra

24 W

un module, quatre flux — traitement 100 % local

* Le format temporel de FIgLib ne permet d’exécuter qu’une partie du L3 utilisé sur un flux continu. Protocole complet et tables de résultats disponibles sur demande.


Démo

Deux cas réels : détection d’un brûlage dirigé · rejet d’un panache industriel


Chaîne de vérification

Chaque signal retenu par L1 devient un événement suivi. Ses descripteurs — dynamique spatio-temporelle, signature visuelle — sont calculés dès la première détection puis actualisés pendant toute sa durée de vie. Seuls les candidats nécessitant une levée de doute sont soumis à la vérification sémantique. Ce qui rend l’architecture soutenable, c’est que le volume s’effondre à chaque étape.

Chaîne de vérification : flux vidéo → détection L1 → suivi et descripteurs → L3 sémantique sur sollicitation → décision et registre
L’analyse la plus coûteuse ne voit qu’un sous-ensemble des candidats. Les volumes sont qualitatifs : ordres de grandeur, pas un réglage.

L1 — Détection temps réel

Balayage pleine image · Sensibilité aux signaux faibles

Balaie l’image entière en continu et réagit aux signaux de type panache les plus ténus — quelques pixels sur la ligne d’horizon. Réglée pour la sensibilité ; quelques millisecondes par image.

Suivi & descripteurs du signal

Chaque candidat, suivi pendant toute sa durée de vie

Chaque candidat est suivi de son apparition à sa disparition. Sa dynamique spatio-temporelle et sa signature visuelle sont caractérisées en continu — les signaux papillonnants sont écartés sans rien coûter, les signaux stables cadrent ce que le reste de la chaîne doit juger. Sans apprentissage ni configuration par site.

L3 — Vérification sémantique, sur sollicitation

Levée de doute embarquée · Hors du chemin temps réel

Seuls les candidats nécessitant une levée de doute sont examinés, jugés sur leur mosaïque temporelle : vraie fumée de feu ou confuseur — nuage bas, brume de vallée, cheminée, reflet, poussière. Exécutée entièrement sur le module, hors du chemin critique temps réel. Son verdict est croisé avec l’état courant des descripteurs pour établir la décision.

Décision, registre & mémoire de zone

Un seul décideur pour les alertes · Une mémoire de la scène

Un module unique émet, retient ou clôt chaque événement, avec politique anti-rafale et preuve visuelle jointe. Après plusieurs rejets concordants au même emplacement, une mémoire temporaire de zone s’active et cesse d’y dépenser l’étage le plus coûteux. Aucune suppression n’est définitive : les zones périment automatiquement, et toute évolution significative du signal — croissance, intensité, signature de type panache — provoque une nouvelle vérification. L’opérateur peut aussi qualifier les rejets (reflet, route, nuage bas, poussière) depuis l’interface web : la mémoire du site s’enrichit sans réentraînement ni intégrateur.


Benchmark — FIgLib

La détection de fumée par caméra ne dispose pas de banc d’évaluation commun : les performances publiées le sont sur des données et des définitions propres à chaque solution. Le rapport PANOPTÈS (Entente Valabre / SAFE Cluster) identifie explicitement cette carence comme l’un des principaux défis du domaine. Nous nous évaluons donc sur le banc académique public de référence : FIgLib (HPWREN, Californie du Sud) — 314 séquences de départs de feux réels filmés depuis des tours de guet, avec un état de l’art publié auquel se comparer (SmokeyNet, Remote Sensing, 2022).

FIgLib n’a jamais servi à l’entraînement de NumidAI. L’évaluation porte sur le split de test publié de SmokeyNet, image par image comme eux, en hors distribution strict : des feux, des sites et des conditions que le système n’a jamais vus.

Système (comptage image par image) Précision Recall F1 TTD moyen
ResNet34 1-frame (baseline publiée)81,6 %76,6 %78,9 %2,81 min
SmokeyNet 2-frame89,8 %76,5 %82,6 %3,12 min
SmokeyNet 3-frame (meilleure variante publiée)90,9 %76,1 %82,8 %2,94 min
NumidAI L1, hors distribution strict90,9 %77,6 %83,7 %2,18 min
SmokeyNet : chiffres publiés par les auteurs sur leur split de test. NumidAI : étage L1 seul, même comptage image par image, même seuil de décision.

Ce que le comptage image par image ne dit pas

Un système d’alerte se juge par feu détecté, par délai, et par charge de fausses alertes imposée aux équipes. NumidAI fonctionne nativement en régime temporel : il exploite la persistance des signaux, et les détections isolées, pas assez stables pour se qualifier, ne deviennent jamais des alertes. FIgLib, échantillonné à une image par minute, est très en dessous de ce régime — nous adoptons donc une convention de mesure pour en rapprocher le banc : une alerte est déclarée après deux détections consécutives, une minute de persistance, soit le pas du benchmark. Sur un flux réel, cette persistance s’observe en secondes ; la convention est une approximation plus contraignante que le fonctionnement réel. Mesuré par événement sur le même split, en hors distribution strict :

Profil — 2 détections consécutives Feux détectés < 5 min TTD médian FP (%) FP/h
Profil sensibilité100 %87,8 %2,0 min5,7 %2,82
Profil exploitation + L3 partiel*100 %75,6 %3,0 min0,10 %0,038
Par feu détecté, hors distribution strict. FP (%) : part des alertes émises qui sont fausses. FP/h : fausses alertes par heure sans feu, par flux — dénominateurs différents, non déductibles l’un de l’autre. * Le format temporel de FIgLib ne permet d’exécuter qu’une partie du L3 utilisé sur un flux continu.

FIgLib est un banc orienté vrais positifs, centré sur des départs de feu connus : il sous-représente la diversité et la fréquence des faux positifs du terrain (brume matinale, nuages bas, lumière rasante, poussière, éclairage nocturne). C’est précisément là que la chaîne de vérification complète prend son sens — et ce qu’un pilote terrain doit mesurer.


Interface d’exploitation

Le module sert sa propre interface web — rien à installer, accessible en local ou par le réseau. Chaque événement du journal renvoie à la mosaïque temporelle sur laquelle la vérification s’est prononcée : le verdict et ce qui l’a produit se lisent ensemble. La télémétrie structurée (MQTT, WebSocket, API HTTP) se branche sur une supervision existante ; comme la décision est prise à bord, le lien montant ne transporte que des événements, pas de vidéo, et reste utilisable sur une liaison pauvre ou intermittente.

Tableau de bord NumidAI : flux en direct, vérification en cours, bilan de session
Tableau de bord — une session sans alerte : 38 min sur un site difficile en lumière rasante, 11 signaux examinés et écartés (détaillée dans le bloc faux positifs plus bas). Cliquez sur une capture pour l’ouvrir en taille réelle.

Un départ confirmé — le journal et sa preuve

Journal de session : confirmations successives sur un départ réel
Journal de session — confirmations successives sur un départ de feu réel, avec score, taille du signal et latence de vérification. · cliquer pour agrandir
Mosaïque temporelle du même feu confirmé
La mosaïque temporelle de l’un de ces événements — la preuve à laquelle les verdicts renvoient. · cliquer pour agrandir

Le même mécanisme, un autre site

Journal de session : confirmations successives sur un autre site et un autre type de panache
Journal de session — confirmations successives sur un autre site et un autre type de panache. · cliquer pour agrandir
La mosaïque temporelle correspondante
La mosaïque temporelle correspondante. · cliquer pour agrandir

Faux positifs — site difficile, lumière rasante

Retour à la session sans alerte du tableau de bord ci-dessus : tout ce que la vérification examine y est rejeté et aucune alerte n’est émise. Dans son journal ci-dessous, après plusieurs rejets concordants au même emplacement, la mémoire temporaire de zone s’active — « retenu » n’est pas une hésitation, c’est une économie : le système a déjà tranché sur cette zone et cesse d’y dépenser l’étage le plus coûteux. Toute évolution significative du signal provoque une nouvelle vérification.

Rejets, retenues automatiques par mémoire de zone et menu de qualification des confuseurs
Rejets, retenues automatiques par mémoire de zone, et menu de qualification d’un confuseur par l’opérateur (reflet, route, nuage bas, poussière). · cliquer pour agrandir
Vue plein écran d'un événement retenu sur un signal de quelques pixels
Vue plein écran d’un événement retenu de la même session, sur un signal de quelques pixels. · cliquer pour agrandir

Captures d’écran de l’interface web NumidAI affichant des flux décodés par le module, en direct ou rejoués. Flux utilisés : HPWREN (University of California San Diego) et explore.org (Institute for Wildlife Studies).


Stack

Matériel & E/S

  • NVIDIA Jetson Orin NX 16 Go · ≈24 W
  • RTSP H.264/H.265 · USB · CSI — 720p min, 4K recommandée à longue distance
  • Caméras fixes et rotatives par pas (reconnaissance de scène)
  • 4 flux simultanés par module
  • Alertes sortantes en MQTT · WebSocket · API HTTP(S)

Logiciel

  • C++20 · NVIDIA DeepStream 7.x · TensorRT
  • Détecteur entraîné sur un corpus propriétaire d’environ 300 000 images (jour/nuit, saisons, terrains, confuseurs)
  • Modèle de vérification sémantique embarqué
  • Architecture asynchrone lock-free · interface web servie à bord
  • Aucun calcul cloud — la vidéo ne quitte jamais le site

Statut & limites connues

Prototype fonctionnel sur cible embarquée, testé sur des flux publics continus ou rejoués et évalué sur FIgLib. Prochaine étape critique : une validation de longue durée sur des flux opérationnels, sur le terrain — le taux de fausses alertes en production et le rappel précoce (les départs captés dans leurs premières minutes) sont les métriques qui comptent pour les utilisateurs finaux.

Un système d’alerte se choisit sur ses cas d’échec autant que sur ses moyennes. Limites connues, assumées : les performances nocturnes ne sont pas encore suffisamment caractérisées (le thermique / proche infrarouge est l’axe identifié) ; les caméras en patrouille continue ne sont pas traitées (les rotatives par pas le sont, via la reconnaissance de scène) ; la chaîne L3 complète en régime temporel continu est en cours de validation.

Recherche d’un pilote terrain : un massif surveillé, une saison, des flux réels. Protocole de benchmark et tables de résultats détaillées disponibles sur demande.


Contact

Pour un partenariat de validation terrain, une collaboration technique, ou toute question — voir la page À propos →