How Cocoon uses ‘chance’ to teach Subsound® about your home

Cocoon Labs

At first sight, it would seem that there isn’t much to learn from gambling – pretty much just “don’t bet anything you can’t afford to lose” or “leave before your chips do”. That said, we were able to use lessons learned from random chance to help us protect your home.

There is software running inside your Cocoon that constantly monitors its many sensors, thinking about the data it is receiving and deciding whether to be worried about what is going on or not. This ‘smart’ software is one of the many technological advances that sets Cocoon apart from traditional home alarms… and guard dogs!

Cocoon has to learn how to detect patterns of audible sound and infrasound. Amongst other things, a number of parameters have to be tuned to match the important sounds of human activity we care about without matching the sounds we shouldn’t.

How to choose these parameters? We started with some educated guesses but realised a more scientific approach was needed.

We have a library of sensor data built from Cocoon recording in our homes both normal life and us creeping around pretending to be an intruder (which is actually a lot of fun). This library of samples is marked up to record when the event of interest occurred.

For example, here’s a 5-second audio sample of door closing quietly in another room:


The green line shows where we marked up the sample. The red line shows where Cocoon recognised it when it processed it. Looking at it again, it seems cocoon was a bit more precise than we were!

With a whole collection of similar samples of different types, including ‘neutral’ readings where no events of interest occurred, we can use a testing tool to run the Cocoon detection system over these samples one by one, recording the results. The testing tool could then produce a ‘score’ for how well the detected events matched the actual events.

This was good and useful, but it was still a bunch of work to change the parameters, re-run the tool and look at the resulting score to determine if an improvement had been made.

This is where the role of chance comes in. By defining some very wide ranges of possible values for each of the parameters, the tool can pick random values for each parameter within those ranges. Leaving the tool overnight allows it to determine which set of parameters result in the best detection performance.

The next morning, we have a few “winners” and used those to choose the values to run the system. To some people Monte Carlo is a place where James Bond goes to play poker for high stakes, to me it’s a useful method for improving Cocoon.