Google Summer of Code blog post IV
Time for the second evaluations and time for an other blog post. Up until the last post, the focus was on Anomaly Detection involving heart rate and ECG data. That thread of the work is now complete. Next it was time for respiration data related Anomaly Detection. This thread is kind of routine and rule based. There was no modeling of the dataset nor something out of the ordinary. It was more about creating classification rules based on trial and error and graph observations — hence a laborious and lengthy process to get right.
The following data streams were available through the Hexoskin vest:
- Raw Respiration data — 2 channel — thoracic and abdominal
- Breathing rate
- Breathing rate status
- Inspiration detections
- Expiration detections
- Tidal Volume
- Minute Ventilation
The goal is to use all of these datapoints to figure out if there is something odd with respect to the wearer’s breathing. Most of the research papers delved on Apnea detection — while sleeping or otherwise. But for our purposes, this was not the main objective as astronauts are physically fit and trained folks with no normally occurring illnesses.
My work was cut out — to find an appropriate Anomaly Detection method. I was lucky enough to stumble upon the following image.

After discussions with my Mario, my mentor, we agreed that a rule based classification using the earlier mentioned features would suit our purposes well. Since there were no pre-existing rules, I had to plot a lot of graphs from collected data and see what rules I could set for detecting the above patters.
Inspiration, Expiration and Respiration Rate were the most useful features leading to good anomaly detection. Another task for me was to create the anomaly data! This was fun. I’d initially thought about intermixing generated sine waves with Hexoskin data, but then I realized that I just have to breathe in different patters — this case wasn’t like the heart beat case where one couldn’t create an anomaly (one can’t deliberately create a Ventricular Tachycardia case right?!) while wearing the vest.I had to wear the vest and breathe rapidly while inhaling a lot of air — to create Hyperventilation data, I had to breathe rapidly while inhaling less air — to create Tachypnea data, etc.
For the second evals, I will hopefully be done with the minute ventilation, the tidal volume and possibly the prolonged expiration cases. Like I mentioned earlier, the work is more about sweat and toil rather than using the mind. It’s about tweaking params to get the right classifications. After these evals, I plan to continue and finish the inspiration/expiration classification cases. This would be even harder to get right. Ohh yeah, this work might involve using the gray cells! But hopefully things will go as planned. After that, the last Anomaly Detection left is sleep related AD. I just wish that I could go to sleep instead! That’s the short update for now. Up until next time then.