Erano le 3 del mattino. Di nuovo. Il mio bambino urlava, io ero a pezzi, e da qualche parte tra la quarta ninna nanna e la quinta corsa nella sua stanza, ho pensato: “Ci deve essere un modo migliore.”
Spoiler: c’era. Dopo aver provato vari metodi tradizionali senza molto successo, ho deciso di rivolgermi all’AI per aiuto.
TL;DR: Ho combinato Frigate (videosorveglianza con AI), un modello CNN personalizzato e Babybuddy per tracciare automaticamente i pattern di sonno del mio bambino. Il modello rileva non solo se è a letto, ma anche se è sdraiato o seduto—il tutto in ~15ms con oltre il 99% di accuratezza.
Il problema
Nostro figlio aveva difficoltà a dormire tutta la notte. Si svegliava più volte, piangeva e faticava a riaddormentarsi. Questo stava mettendo a dura prova tutta la famiglia, poiché eravamo tutti esausti per le continue interruzioni.
Il 20-30% dei bambini piccoli soffre di disturbi del sonno.1 Nei paesi occidentali come Stati Uniti, Canada e Australia, circa il 25% dei genitori riferisce che i propri neonati o bambini hanno problemi di sonno2.
Un sondaggio su oltre 1.300 genitori ha rilevato che i genitori perdono circa più di 1.000 ore di sonno solo nel primo anno3. Sono più di un mese di notti insonni!
La soluzione canonica
Abbiamo letto libri, consultato pediatri e provato vari metodi di sleep training. Mentre alcuni di questi approcci hanno fornito un sollievo temporaneo, i problemi di fondo persistevano.
Come ultima risorsa abbiamo deciso di provare quella che alla fine si è rilevata essere una grande “truffa”… I consulenti del sonno. Abbiamo assunto non 1 ma 2 consulenti del sonno che ci hanno fornito un piano strutturato per aiutare il nostro bambino a sviluppare migliori abitudini di sonno. Il consulente pubblicizzava i suoi metodi come “personalizzati per le esigenze del tuo bambino” e “basati sulle ultime ricerche nello sviluppo infantile”, mentre in realtà abbiamo speso circa 1000€ per ricevere consigli generici molto noti che avremmo potuto trovare online (o già letto nei libri).
Quindi eravamo tornati al punto di partenza, frustrati e disperati per una soluzione.
Se non puoi misurarlo, non puoi migliorarlo
Prima che nostro figlio nascesse, avevo già installato Babybuddy, un’applicazione web open source per il tracciamento dei neonati, per monitorare poppate, cambi di pannolino, sonno e altre attività.

L’immagine sopra mostra i pattern di sonno del nostro bambino nell’arco di alcune settimane. Potevamo vedere i frequenti risvegli e la durata totale del sonno.
Strumenti come questo ci hanno permesso di raccogliere dati sui pattern di sonno del nostro bambino, che potevamo poi analizzare per identificare potenziali problemi.
Sfortunatamente, quando sei un genitore privato del sonno, non hai il tempo né l’energia per analizzare i dati né per aggiornarli regolarmente.
Entra in scena l’AI
Durante una notte particolarmente difficile, mi sono imbattuto in un articolo che discuteva l’uso dell’AI nella sanità e nella genitorialità. Questo ha fatto scattare un’idea: e se potessimo sfruttare l’AI per tracciare automaticamente i pattern di sonno del nostro bambino e poi eventualmente fornire raccomandazioni personalizzate?
Dopotutto, l’AI è stata utilizzata con successo in vari ambiti per analizzare dati complessi e fornire insight.
Chiunque abbia familiarità con la community del self-hosting sa che Frigate è la soluzione open source di riferimento per la videosorveglianza locale con AI. Utilizza modelli TensorFlow Lite per eseguire il rilevamento di oggetti in tempo reale su flussi video da telecamere IP.
Avevo già una telecamera IP installata nella stanza del bambino per il monitoraggio, già collegata a Frigate. Così ho deciso di esplorare se potevo usare le capacità AI di Frigate per monitorare i pattern di sonno del mio bambino.
Cosa offre Frigate?
Beh, Frigate non è pensato per il tracciamento del sonno, quindi ho dovuto essere creativo. Frigate ha delle API che permettono di accedere agli oggetti rilevati e agli eventi. Ho configurato Frigate per monitorare il flusso video dalla stanza del bambino e l’ho configurato correttamente per registrare fino a 24 ore di filmati.
Questo mi ha dato accesso ai dati di training grezzi (i frame della telecamera) che avrei potuto usare in seguito. Frigate fornisce anche informazioni sul movimento nella stanza, che potevo usare per dedurre i pattern di sonno come sonno profondo e leggero.
Cosa voglio io (e la mamma)
Che nostro figlio dorma tutta la notte!!
Vorrei avere:
- Pattern di sonno popolati automaticamente in babybuddy
- Più insight sulla qualità del sonno (es: numero di risvegli, tempo totale di sonno, efficienza del sonno, ecc.)
- Raccomandazioni per migliorare il sonno basate sui dati raccolti
Il piano
Quindi l’idea era:
- Usare i sistemi homelab attuali come Frigate, BabyBuddy, Home Assistant
- Costruire più modelli AI per analizzare il flusso video dalla stanza del bambino
- Inserire automaticamente i dati in babybuddy
- Fornire insight giornalieri azionabili basati sui dati raccolti
- Mantenere tutto solo in locale per preservare la privacy
Implementazione
Ho fatto scrivere a Claude uno script per scaricare le immagini delle ultime 24 ore a intervalli di 5 secondi per avere dei dati di training per il modello CNN che mi avrebbe aiutato a costruire. Per raffinare i dati ho sempre usato Claude per eseguire compiti noiosi come scaricare i filmati, estrarre i frame, etichettarli, ecc.

YoLOv8 + Transfer Learning
Abbiamo usato YOLOv8 come architettura base per il modello CNN. È un modello di rilevamento oggetti all’avanguardia che è sia veloce che accurato, rendendolo adatto per applicazioni in tempo reale con basso tempo di inferenza come questa.
Abbiamo usato una tecnica chiamata transfer learning4, dove abbiamo preso un modello YOLOv8 pre-addestrato e lo abbiamo affinato sul nostro dataset specifico di immagini del sonno del bambino. Questo approccio riduce significativamente la quantità di dati e il tempo di training richiesto per ottenere buone prestazioni.
Erano necessari due classificatori principali:
Classificatore di presenza:
empty- nessun bambino a lettobaby_alone- bambino solo a lettobaby_with_adult- bambino con adulto a letto (probabilmente la mamma che cerca di calmarlo per farlo riaddormentare)
Classificatore di postura (solo quando baby_alone):
lying_downsitting_up
Ho poi proceduto a etichettare alcuni dei frame mantenendo le classi il più bilanciate possibile.5
Una sfida è stata l’angolazione della telecamera: è montata quasi verticalmente sopra il letto. Mentre questo rendeva banale il rilevamento della presenza, distinguere tra sitting_up e lying_down si è rivelato sorprendentemente complicato—dall’alto, un bambino seduto non sembra così diverso da uno sdraiato. Questo ha richiesto di raccogliere molti più campioni di training per il classificatore di postura di quanto mi aspettassi inizialmente.
Dopo solo un paio di iterazioni di training, il modello raggiungeva già un’accuratezza >99% sul set di validazione.
Collegare i punti
Con il classificatore che funzionava in modo affidabile, ho fatto costruire a Claude una semplice interfaccia web così potevo monitorare le previsioni dal mio telefono durante i momenti critici, come l’ora della nanna. Questo mi permetteva di validare l’accuratezza del modello in tempo reale.

Il passo successivo era collegare tutto alle API di BabyBuddy, registrando automaticamente i dati del sonno senza alcun input manuale.
Forniti gli endpoint API necessari e i dettagli di autenticazione, Claude ha generato il codice per inviare i dati del sonno a BabyBuddy basandosi sulle previsioni del modello.
Combattere il feature creep
Una volta che il sistema base funzionava, il mio cervello ha iniziato a fare quello che fanno i cervelli degli ingegneri:
“Dovrei usare il profilo audio della telecamera per rilevare il pianto…”
“Aspetta, perché non uso i dati di movimento di Frigate per rilevare l’irrequietezza?”
“Oh wow, potrei anche aggiungere un sensore in Home Assistant per tracciare la temperatura della stanza e correlarla con la qualità del sonno!”
Ho dovuto fermarmi. Il semplice classificatore stava già risolvendo il problema. Ogni funzionalità aggiuntiva significava più complessità, più cose che potevano rompersi e più tempo speso a smanettare invece di dormire.
A volte abbastanza buono è davvero abbastanza buono.
Risultati
Niente più registrazione manuale
Il sistema ora funziona 24/7, registrando silenziosamente ogni evento di sonno su BabyBuddy con precisione al minuto. Non controllo nemmeno più la dashboard ogni mattina. Quando ne abbiamo bisogno, chiediamo semplicemente a Claude di riassumere la notte usando le API di BabyBuddy, e otteniamo un quadro chiaro di come sono andate le cose.
Prima di questo, io e mia moglie spesso non eravamo d’accordo su quante volte il nostro bambino si fosse svegliato: erano tre volte o quattro? Quel pianto delle 2 di notte è durato cinque minuti o venti? Questi ricordi sfocati portavano a dati inaffidabili, il che rendeva impossibile individuare pattern o prendere decisioni informate su pisolini e ora della nanna.
Insight nascosti
Il sistema ha anche risposto a domande che prima non potevamo nemmeno porci:
- Era sveglio ma in silenzio, sperando di passare inosservato?
- Quanto tempo è stato seduto prima di iniziare a piangere?
Sono cose che i genitori semplicemente non possono sapere senza un monitoraggio continuo. A quanto pare, a volte stava sveglio per 10-15 minuti prima di emettere un suono—un’informazione che ha cambiato completamente il modo in cui pensavamo ai suoi pattern di sonno.
La verità scomoda
I dati hanno rivelato qualcosa di importante: noi eravamo parte del problema.
Le visualizzazioni ci hanno mostrato pattern che non avevamo notato… come le nostre decisioni a volte peggioravano le cose, non le miglioravano. Il nostro bambino ancora non dorme tutta la notte ogni volta (sigh), ma il miglioramento nelle ultime settimane è stato innegabile. Stiamo facendo aggiustamenti basati sui dati invece di tirare a indovinare, e sta funzionando.
Ovviamente l’AI da sola non ha risolto i problemi di sonno del nostro bambino—l’abbiamo fatto noi. Ma avere dati accurati ha reso molto più facile identificare cosa funzionava e cosa no.
Conclusione
Questo progetto è iniziato come un esperimento da privato del sonno e si è trasformato in qualcosa di genuinamente utile. Combinando strumenti pronti all’uso come Frigate e BabyBuddy con un modello addestrato su misura e Claude come mio assistente di coding, ho costruito un sistema di tracciamento del sonno completamente automatizzato in pochi giorni prompt.
Lo consiglierei? Se ti trovi a tuo agio con il self-hosting e hai già una telecamera configurata, assolutamente. L’investimento di tempo si è ripagato entro la prima settimana senza dover registrare nulla manualmente.
A quanto pare, il miglior strumento per genitori è uno che funziona mentre sei troppo stanco per pensare.
Footnotes
-
Montgomery P, Dunne D. (2007). “Sleep disorders in children”. BMJ Clinical Evidence. 2007:2304. PMC2943792 ↩
-
Mindell JA, Sadeh A, Wiegand B, How TH, Goh DYT. (2010). “Cross-cultural differences in infant and toddler sleep”. Sleep Medicine. 11(3):274-80. DOI:10.1016/j.sleep.2009.04.012 ↩
-
Snuz Sleep Survey (2022). Survey of 1,300+ UK parents found 70% lose an average of 3 hours’ sleep per night in their baby’s first year (~1,095 hours annually). Source ↩
-
Ribani R, Marengoni M. (2019). “A Survey of Transfer Learning for Convolutional Neural Networks”. 32nd SIBGRAPI Conference on Graphics, Patterns and Images Tutorials. pp. 47-57. DOI:10.1109/SIBGRAPI-T.2019.00010 ↩
-
Buda M, Maki A, Mazurowski MA. (2018). “A systematic study of the class imbalance problem in convolutional neural networks”. Neural Networks. 106:249-259. DOI:10.1016/j.neunet.2018.07.011 ↩