Boby — détection de pleurs · V2
CED, sur des fenêtres de 3 secondes
La V1 comparait six modèles sur des clips entiers et un corpus de laboratoire. Depuis, le corpus a été ré-annoté, tout a été redécoupé en fenêtres de 3 s — la forme que voit réellement un moniteur — et un modèle s'est détaché. Conclusion de cette V2 : CED et son seuil sont déployables aujourd'hui, à la condition d'être surveillés. Les neuf diapositives qui suivent établissent le chiffre, les trois dernières disent à quelles conditions.
Chiffres mesurés le 27/09/2026. Tout ce qui suit est calculé depuis
evaluation/window_scores/stream3s/ ; aucun nombre n'est saisi à la main.
01 — Le jeu de données
53 818 fenêtres de 3 secondes, cinq corpus, une partie ré-annotée
Chaque enregistrement est découpé en fenêtres jointives non chevauchantes, reste abandonné. C'est la forme qu'un moniteur reçoit : des buffers fixes qui arrivent les uns après les autres. Un pleur à cheval sur une frontière est coupé — c'est une propriété du déploiement, pas un artefact à corriger.
| Corpus | Enregistrements | Fenêtres | Dont pleur | Rôle |
|---|---|---|---|---|
| AudioSet | 1 348 | 4 007 | 2 021 | négatifs vocaux difficiles |
| ESC50 | 2 000 | 2 000 | 40 | négatifs faciles, témoin |
| FSD50K | 3 568 | 10 418 | 187 | paysage de chambre — règle les fausses alarmes |
| TheBoby | 44 | 247 | 227 | audio produit — règle le rappel |
| deBarbaroCry | 36 331 | 36 331 | 17 554 | comparaison des modèles, ré-annoté |
02 — Le modèle
CED décide sur une classe parmi 527, et ce n'est pas toujours celle qu'il nomme
CED classe l'audio sur l'ontologie AudioSet. On lit le score d'une
seule classe, Baby cry, infant cry. Les 526 autres ne sont pas des
concurrentes : ce sont des sigmoïdes indépendantes, vérifié à
l'écart nul en rejouant le modèle sur 1, 3 puis 521 classes.
| Classe | Part |
|---|---|
| Baby cry, infant cry | 39,0 % |
| Speech | 25,0 % |
| Crying, sobbing | 14,6 % |
| Babbling | 7,2 % |
| Animal | 4,2 % |
| Music | 1,8 % |
Speech arrive en tête sur 25,0 % des fenêtres de pleur, et
sur 30,1 % du corpus entier. C'est le son dominant d'une chambre, et
la principale source de confusion.03 — Méthode
Le seuil se règle sur l'audio produit, pas sur le corpus de laboratoire
deBarbaroCry a servi à comparer les modèles. Il ne peut pas servir à régler le seuil : un son sur deux y est un pleur, alors qu'une chambre en compte une poignée par nuit. Le réglage se lit sur les deux corpus qui répondent chacun à une moitié de la question.
| Taux visé | Seuil | Rappel fenêtre | Rappel par enregistrement | Taux de fausses alarmes |
|---|---|---|---|---|
| ≤ 0,05 % | 0.0785 | 77,1 % | 86,0 % | 0,06 % |
| ≤ 0,10 % | 0.0607 | 81,9 % | 93,0 % | 0,11 % |
| ≤ 0,50 % | 0.0092 | 95,6 % | 97,7 % | 0,51 % |
| ≤ 1,00 % | 0.0036 | 98,7 % | 100,0 % | 1,01 % |
| retenu — rappel d'abord | 0.0040 | 98,7 % | 100,0 % | 0,93 % |
Les quatre premières lignes se lisent depuis un taux de fausses alarmes visé ; la dernière se lit depuis le rappel, et c'est elle qui est retenue. À 0,0040, CED n'en manque aucun : 100,0 % des enregistrements de TheBoby déclenchent. Un pleur manqué est une panne produit — une alarme de trop est un agacement — et cette asymétrie justifie de payer le rappel au prix fort.
Ce prix est un taux de 0,93 %, soit 1,9 alarmes dans une nuit de chambre normale. Un taux ne se ressent pas — c'est en alarmes qu'il se juge, et la conversion fait l'objet de la diapositive suivante plutôt que d'une note de bas de page.
Le rappel par enregistrement est le chiffre produit : un bébé qui pleure produit des dizaines de fenêtres consécutives, il suffit d'en attraper une pour alerter. Le rappel par fenêtre sous-estime donc ce que vit le client.
04 — Méthode
D'où vient le nombre de fausses alarmes par nuit
Un taux de faux positifs ne se ressent pas. Ce qu'un parent subit est un nombre de réveils, et le passage de l'un à l'autre tient à une seule quantité : combien de sons une chambre produit dans une nuit. Le moniteur ne juge que ce qu'il entend — une chambre silencieuse ne lui soumet rien.
| Réglage | Taux | chambre calme 50 événements |
chambre normale 200 événements |
chambre animée 500 événements |
|---|---|---|---|---|
| ≤ 0,05 % | 0,06 % | 0,0 | 0,1 | 0,3 |
| ≤ 0,10 % | 0,11 % | 0,1 | 0,2 | 0,5 |
| ≤ 0,50 % | 0,51 % | 0,3 | 1,0 | 2,5 |
| ≤ 1,00 % | 1,01 % | 0,5 | 2,0 | 5,0 |
| seuil retenu — 0,0040 | 0,93 % | 0,5 | 1,9 | 4,6 |
05 — Résultats
100,0 % des épisodes de pleurs détectés, 1,9 fausses alarmes par nuit
Au seuil retenu de 0,0040, lu sur l'ensemble des cinq corpus. Le rappel par fenêtre est de 98,7 % : les fenêtres manquées sont majoritairement celles où le pleur est faible ou noyé, et l'épisode reste détecté par ses voisines.
| Corpus | Fenêtres | Prévalence | Rappel | Précision | Fausses alarmes | Taux |
|---|---|---|---|---|---|---|
| AudioSet | 4 007 | 50,4 % | 84,0 % | 76,4 % | 525 | 26,44 % |
| ESC50 | 2 000 | 2,0 % | 100,0 % | 80,0 % | 10 | 0,51 % |
| FSD50K | 10 418 | 1,8 % | 93,6 % | 64,8 % | 95 | 0,93 % |
| TheBoby | 247 | 91,9 % | 98,7 % | 96,1 % | 9 | 45,00 % |
| deBarbaroCry | 36 331 | 48,3 % | 96,3 % | 85,5 % | 2 875 | 15,31 % |
06 — Les erreurs
Le bruit de fond gouverne les deux erreurs — en sens opposés
Les pleurs ratés sont des pleurs noyés, pas des pleurs mal jugés : le taux de raté suit le bruit de fond, et fortement. Les fausses alarmes font exactement l'inverse, et c'est le résultat le moins intuitif de cette présentation.
| Bruit de fond | Masse hors bébé | Fenêtres | Dont pleur | Pleurs ratés | Faux positifs |
|---|---|---|---|---|---|
| Q1 calme | 0,03 – 0,62 | 13 251 | 11 372 | 0,6 % | 32,3 % |
| Q2 | 0,62 – 1,12 | 13 251 | 4 832 | 4,5 % | 10,9 % |
| Q3 | 1,12 – 1,63 | 13 250 | 2 582 | 11,5 % | 11,1 % |
| Q4 bruyant | 1,63 – 5,12 | 13 251 | 1 243 | 32,3 % | 6,7 % |
Comment le bruit de fond est mesuré. CED sort une probabilité pour chacune de ses 527 classes ; on somme celles qui ne décrivent pas ce bébé — ni son pleur sous quelque nom que ce soit, ni ses autres sons — et on y ajoute la masse résiduelle des classes hors du vocabulaire de chambre. Cette somme vaut 0 quand le modèle n'entend que le bébé et croît avec tout ce qui se superpose. Toutes les fenêtres sont ensuite triées par cette valeur et coupées en quatre paquets de même taille : pleurs et non-pleurs sur la même règle, sans quoi les deux colonnes ne seraient pas comparables. Les bornes ne sont pas choisies, elles tombent là où les quartiles tombent. Un frère qui pleure dans la même pièce compte comme du bruit, parce qu'il ne déclenche pas l'alerte.
07 — Les erreurs
Aux deux bouts de l'échelle, ce ne sont pas les mêmes fausses alarmes
Un taux ne dit pas ce qui a déclenché. En lisant la classe que CED met en tête, quartile par quartile, la population se sépare nettement en deux — et les deux n'ont ni la même cause, ni le même coût pour le client.
| Ce que CED dit entendre | Q1 calme | Q2 | Q3 | Q4 bruyant |
|---|---|---|---|---|
| Faux positifs | 607 | 914 | 1 187 | 806 |
| bébé / pleur | 89,0 % | 32,9 % | 5,2 % | 0,4 % |
| parole | 1,6 % | 29,3 % | 70,0 % | 81,4 % |
| autre | 9,4 % | 37,7 % | 24,8 % | 18,2 % |
L'une est un problème de vocabulaire : la frontière entre pleurer et vocaliser est floue, et c'est l'objet de la diapositive 10. L'autre est un problème de seuil : à 0,0040, une voix suffit à faire passer la classe cible au-dessus.
08 — Une piste
Et si l'on n'alertait que sur les fenêtres dont la masse hors bébé est faible ?
La masse hors bébé sépare d'un facteur 57 : servons-nous-en comme porte — juger tout, mais refuser d'alerter au-dessus d'un certain encombrement. La règle ne coûte rien, les deux quantités sortent du même passage.
| Porte | Fausses alarmes FSD50K |
Taux | Alarmes / nuit | Rappel fenêtre 3 s | Rappel par enregistrement |
|---|---|---|---|---|---|
| aucune porte | 95 | 0,93 % | 1,86 | 95,1 % | 100,0 % |
| masse < 2,00 | 80 | 0,78 % | 1,56 | 93,4 % | 100,0 % |
| masse < 1,50 | 72 | 0,70 % | 1,41 | 89,1 % | 97,7 % |
| masse < 1,00 | 46 | 0,45 % | 0,90 | 73,5 % | 90,7 % |
| masse < 0,75 | 36 | 0,35 % | 0,70 | 62,7 % | 90,7 % |
| masse < 0,50 | 17 | 0,17 % | 0,33 | 49,3 % | 86,0 % |
Verdict : non. La porte supprime bien la moitié des fausses alarmes, mais monter le seuil les supprime autant et garde 7,0 points de rappel de plus.
09 — Méthode
Pourquoi un filtre ne se juge jamais sur le périmètre qu'il a choisi
La même porte, lue autrement : au lieu de refuser d'alerter, on retire les fenêtres du corpus. Tout semble alors s'améliorer. C'est le piège de lecture le plus coûteux du projet, et il vaut d'être vu une fois en entier.
| Corpus | Fenêtres | Prévalence | Rappel | Précision | Fausses alarmes | Taux |
|---|---|---|---|---|---|---|
| AudioSet | 1 107 −2 900 | 76,8 % +26,3 pt | 95,8 % +11,7 pt | 87,3 % +11,0 pt | 118 −407 | 45,91 % +19,5 pt |
| ESC50 | 394 −1 606 | 10,2 % +8,2 pt | 100,0 % = | 95,2 % +15,2 pt | 2 −8 | 0,56 % +0,1 pt |
| FSD50K | 2 545 −7 873 | 6,3 % +4,5 pt | 97,5 % +3,9 pt | 77,3 % +12,5 pt | 46 −49 | 1,93 % +1,0 pt |
| TheBoby | 213 −34 | 92,0 % +0,1 pt | 100,0 % +1,3 pt | 95,6 % −0,5 pt | 9 = | 52,94 % +7,9 pt |
| deBarbaroCry | 18 455 −17 876 | 74,2 % +25,9 pt | 98,7 % +2,4 pt | 92,5 % +7,1 pt | 1 091 −1 784 | 22,94 % +7,6 pt |
Attention au piège de lecture. Ce tableau retire les fenêtres du corpus au lieu de refuser d'alerter dessus, et tout y semble s'améliorer : rappel et précision montent partout. Mais la prévalence monte de +28,0 points — on a retiré des négatifs, pas amélioré le modèle — et la seule grandeur qui transfère vers une chambre, le taux de fausses alarmes, monte dans les cinq corpus. Projetés à la prévalence d'une chambre réelle, les deux périmètres se départagent dans l'autre sens : 23,6 % contre 13,3 %. Un filtre ne se juge jamais sur le périmètre qu'il a lui-même choisi.
10 — Produit
Quelles classes écouter, et ce que chaque alarme de trop coûte
La classe cible est Baby cry, infant cry. CED sait en nommer
d'autres, et la question se pose : faut-il aussi alerter sur le babillage, qui signale un
bébé réveillé sans détresse ?
| Ce qu'on écoute | Rappel par enregistrement | Fausses alarmes / nuit | Ce que ça change pour le client |
|---|---|---|---|
| Le pleur seul | 100,0 % | 1,9 | alerte quand le bébé pleure. Recommandé. |
| Pleur ou babillage | 100,0 % | 3,3 | alerte aussi sur un bébé réveillé sans détresse |
| Pleur, deux fenêtres de suite | 83,7 % | 0,5 | exige que le pleur dure 6 s. Divise les fausses alarmes par 4, au prix de 16 points de rappel. |
D'où viennent ces trois lignes. Le rappel est lu sur
TheBoby — 43 enregistrements réels de chambre,
227 fenêtres — et compte un enregistrement comme détecté dès qu'une de
ses fenêtres déclenche. Les fausses alarmes sont lues sur les 10 231 fenêtres
non-pleur de FSD50K, converties en alarmes par nuit avec
200 événements sonores (diapositive 04). Le babillage n'est pas une
seconde annotation : c'est la probabilité que CED donne lui-même à
Babbling, et la ligne déclenche si l'une des deux classes passe le seuil.
La ligne « deux fenêtres de suite » est la moins solide. 47 % des enregistrements non-pleur de FSD50K ne durent qu'une seule fenêtre de 3 s : la règle ne peut pas y déclencher, quoi que le modèle entende. Une partie de la division des fausses alarmes vient donc de la longueur des clips du corpus et non de la règle. Le même biais joue en sens inverse sur le rappel. Ce chiffre demande un corpus de nuits continues avant d'être pris pour argent comptant.
11 — Ce qui ne marche pas
Deux filtres testés, deux fois la même erreur
L'idée était la même dans les deux cas : un son de 3 s trop encombré ne vient pas d'une chambre de bébé, donc apprenons au modèle à s'abstenir. Les deux règles suppriment bien des fausses alarmes. Aucune ne bat le simple fait de monter le seuil, à nombre d'alarmes égal.
| Taux de fausses alarmes | Seuil seul | + top-3 | + top-2 |
|---|---|---|---|
| ≤ 0,05 % | 86,0 % | 83,7 % | 76,7 % |
| ≤ 0,10 % | 93,0 % | 83,7 % | 76,7 % |
| ≤ 0,50 % | 97,7 % | 83,7 % | 76,7 % |
| ≤ 1,00 % | 100,0 % | 83,7 % | 76,7 % |
| seuil retenu | 100,0 % | 83,7 % | 76,7 % |
Le point commun mérite d'être retenu : un filtre qui retire du bruit retire aussi le signal noyé dedans, et le signal noyé est exactement ce qu'on cherchait à rattraper. La diapositive 06 l'avait annoncé — les fausses alarmes se concentrent dans les fenêtres propres (32,3 % contre 6,7 %), donc une porte anti-bruit garde précisément ce qu'elle prétendait écarter. Le seuil, lui, arbitre les deux d'un seul geste. Ce n'est pas un argument contre l'idée — c'est un argument pour la porter dans l'apprentissage plutôt que dans une règle a posteriori.
12 — Décision
Le modèle et le seuil sont prêts pour la production
Rien dans ce qui précède ne justifie d'attendre un modèle meilleur avant de déployer. Le point de fonctionnement tient, ses limites sont connues et chiffrées, et ce qui manque ne s'obtient pas en laboratoire : cela s'obtient en production.
Deux chantiers restent ouverts et ne bloquent pas le déploiement : annoter autour du seuil (1 000 fenêtres ≈ 1 h 30 d'écoute, l'outil et la chaîne existent) et entraîner une tête sur les embeddings CED — les 527 sigmoïdes sont calibrées sur AudioSet, où le pleur est rare et la parole omniprésente, des a priori faux pour un babyphone. La renormalisation post-hoc testée ne rapporte que +0,0017 de PR-AUC : le plafond de cette voie est bas, l'apprentissage est le seul moyen d'aller plus loin. Les deux se nourrissent de ce que le monitoring produit.
13 — Condition de déploiement
Ce qu'il faut mesurer une fois en production, et à quel prix
Un détecteur en production n'a pas de vérité terrain. Tout le monitoring consiste à en fabriquer un peu, au bon endroit, et à surveiller gratuitement le reste. Quatre axes, du moins cher au plus cher.
Alerter quand le taux d'un appareil sort de sa bande habituelle, ou que la part de
Speech en tête bouge : le micro, la pièce
ou la chaîne audio ont changé.Elle n'améliore pas la détection — diapositive 11 — mais elle explique les écarts entre clients sans écouter, et désigne les chambres où le produit tiendra mal ses promesses.
| Précision voulue | Fenêtres | Écoute |
|---|---|---|
| ± 5 points | 385 | 34 min |
| ± 3 points | 1 068 | 95 min |
| ± 2 points | 2 401 | 214 min |
Le rappel est l'angle mort. L'estimer demande d'écouter ce qui n'a pas déclenché : à 0,3 % de prévalence, ~33 334 fenêtres (50 h) pour voir 100 pleurs. Seule voie tenable : l'échantillonnage stratifié autour du seuil, probabilité de tirage enregistrée.
Les deux premiers axes sont gratuits et détectent ; les deux derniers coûtent de l'écoute et mesurent. Ensemble ils produisent la donnée qui manque aujourd'hui — de l'audio de chambre réel, annoté, avec sa probabilité de tirage — c'est-à-dire le corpus dont les deux chantiers de la diapositive 12 ont besoin. Le monitoring n'est pas la fin du projet, c'est son alimentation.