← back to portfolio
case study· 2024· ML Engineer & Researcher· Research + prototype

Infant Cry Classification

An AI that knows when it doesn't know.

👶
Overview

A hybrid audio model that classifies infant cries and, crucially, refuses to answer when it shouldn't. Built for a healthcare context where a wrong 'confident' answer is worse than 'I don't know'.

Challenge

Standard cry classifiers optimize accuracy on curated datasets and ship as black-box baby-monitor features. In deployment, ambient noise, unfamiliar voices, and rare cry types produce over-confident, misleading predictions.

Outcome

The model surfaces plain-English uncertainty reasons instead of hiding low-confidence guesses, which is the whole point of trustworthy AI in a healthcare-adjacent setting.

Approach

How it was built.

  1. 01

    Trained a CNN + CRNN (BiLSTM) on mel-spectrograms across pain/hunger/discomfort/tired/other classes with W&B experiment tracking.

  2. 02

    Added an uncertainty layer combining softmax entropy, top-1 margin, and OOD detection — flagging predictions the model shouldn't stand behind.

  3. 03

    Wrapped everything in a Streamlit dashboard with spectrogram visualization so caregivers see why the model made a call.

  4. 04

    Deployed a FastAPI inference service behind React on Render for a smooth demo experience.

Stack
TensorFlowLibrosaCNN + CRNNFastAPIReactMongoDBWeights & BiasesRender
Reflection

"Being loud about 'I don't know' was more useful than another 2% on the confusion matrix."

GitHub →← All projects