My PhD — In Simple Words
Breathing monitoring for critically-ill children, using 3D cameras. Small sentences, easy to say.
My PhD in one line
I did my PhD at ÉTS in Montreal — a school of applied engineering.
My work was in the pediatric intensive care unit at Sainte-Justine hospital.
I built a system to measure the breathing of sick children, using cameras, with no contact.
It brings together computer vision, artificial intelligence, and biomedical engineering.
Why this work matters
A sick child can have breathing problems, often from lung infections.
Today, when the child is not on a ventilator, the doctor judges the breathing with the eyes.
This is subjective. It depends a lot on the doctor's experience.
And it is very hard for babies, because their breathing volume is very small.
More detail — if they ask
Doctors use scores like the Silverman or Wood score, but these still leave subjectivity.
Tidal volume and minute ventilation are only measured by the mechanical ventilator — so only for children who are ventilated. For spontaneous breathing, there is no clinical tool to measure them. That is the gap I filled.
What I wanted to build
My goal was to build a computerised clinical decision-support system — a CCDSS.
It measures breathing objectively, with numbers, and with no contact.
The idea is not to replace the doctor. It is to help the doctor decide faster.
Especially useful when pediatric experts are limited.
Two cameras on the bed
I use two Kinect cameras (Microsoft Xbox), placed at two corners of the bed.
Each camera gives color and 3D depth — a point cloud.
Two cameras give a wide view: the top of the chest and both sides.
The setup fits the bed and can be removed fast in an emergency.
More detail — if they ask
Cameras at 1 m, tilted 45°, top-right and bottom-left of the bed. This position was tested and validated by the equipment inspection team of Sainte-Justine hospital.
The Kinect v2 uses time-of-flight: it measures the time light takes to travel to the body and back, for every pixel.
Align the two views
First, I put the two camera views into one single 3D space.
To do this, I place a small 2D marker that both cameras can see.
Each camera finds its own position from this marker.
More detail — if they ask
I use the Procrustes method: translate, scale, then rotate one shape onto the other, until the distance between matching points is minimal.
Rebuild the breathing surface
I take the chest-and-abdomen region from the 3D view.
The point cloud becomes a mesh, then a clean, closed 3D surface.
I also clean the noise before rebuilding.
More detail — if they ask
Noise is removed with a Statistical Outlier Removal filter. Normals are oriented with a minimum spanning tree. The final surface uses Poisson surface reconstruction.
The segmentation does not need to be perfect — my volume method is based on a subtraction between frames, so only the moving volume counts.
Measure the volume with an octree
To get the volume, I cut the 3D shape into small cubes.
This is an octree: one big cube split into 8 smaller cubes, again and again.
I stop when the cubes are small enough, or empty.
The volume = number of cubes × size of one cube.
More detail — if they ask
The octree is a recursive subdivision of 3D space. Level 0 is one big cube around the point cloud; at each level, every cube is split into 8 equal sub-cubes, until a maximum depth is reached. I used depth 8 (cubes 2-8 of the initial cube), which was enough to detect the surface changes due to breathing.
From volume to breathing signal
I compute the volume for every frame. That gives a volume-over-time curve.
The rhythm of this curve is the respiratory rate.
The amplitude of this curve is the inhaled volume.
Does it work? Yes.
I tested first on a baby mannequin with an artificial lung.
Then on real ventilated babies in the ICU.
I compared my numbers to the mechanical ventilator — the gold standard.
The system showed good accuracy and precision.
More detail — if they ask
I tested volumes from 10 mL to 500 mL (newborn to adult mode). Results were validated with correlation, relative error, and Bland-Altman agreement plots — standard tools in medicine.
Accuracy was slightly better for bigger volumes; for very small volumes (10 mL) the camera reaches its hardware resolution limit (~2 mm depth).
Four breathing parameters
1. The respiratory rate — how fast the child breathes.
2. The tidal volume — how much air per breath.
3. The minute ventilation — a good sign for CO₂ in the blood.
4. The chest-abdomen asynchrony — a sign of distress.
Seeing the paradoxical breathing
When a child is in distress, the chest and the abdomen move against each other.
This is called thoraco-abdominal asynchrony, or paradoxical motion.
Today the doctor sees it only with the eyes. Again, subjective.
My second method can see it and measure it.
3D motion and retraction
I compute the 3D motion of the surface between frames.
I use both color and depth together — this is called scene flow.
I split the motion into inward and outward.
Then I measure the retraction distance between chest and abdomen.
Scene flow, in simple words
Optical flow gives the motion inside a flat image — left, right, up, down.
Scene flow adds the depth, so it gives the real 3D motion.
Every point on the chest gets a tiny 3D arrow: where it moved, and how far.
So I don't just see the breathing — I get a motion field I can measure.
More detail — if they ask
Scene flow is the 3D extension of optical flow. For each point I estimate a velocity vector (vx, vy, vz) between two frames — the full 3D displacement, not only the 2D image displacement.
I use color and depth together
The Kinect gives color and depth for the same pixels — this is RGB-D data.
I assume the color of a point stays the same between two frames.
I add that the depth stays consistent too.
These two clues together fix the 3D motion of each point.
More detail — if they ask
The classic assumption is brightness constancy (a point keeps its intensity when it moves). Alone, this is not enough — it is the aperture problem. Adding the depth channel from the Kinect gives the missing information, so the motion is well defined in 3D.
The method I used
I write the problem as an energy to minimize — a variational method.
A data term: after the motion, color and depth must still match.
A smoothness term: neighbor points should move in a similar way — the skin is one continuous surface.
I solve it coarse-to-fine: first the big motion, then the small details.
More detail — if they ask
The energy is data term + λ × smoothness term. The smoothness (regularization) removes noise and fills flat, textureless zones. The coarse-to-fine image pyramid lets me capture large displacements without losing small ones — important because breathing is a small, slow motion.
From motion to real numbers
For each point I look at its arrow along the surface normal: is it going in or out?
In normal breathing, chest and abdomen go out together when the child breathes in.
In paradox, one goes out while the other goes in.
I turn this into a number: the retraction distance between the two regions.
More detail — if they ask
I project each motion vector onto the local normal to get the signed inward/outward part. I split the surface into a chest region and an abdomen region, and follow each region's depth over time. The phase difference between the two curves is the asynchrony; the retraction distance is how deep one region pulls in while the other pushes out.
What I used, and why it is solid
Input: RGB-D point clouds from the Kinect — color plus depth, over time.
Reference for the truth: a very precise laser distance sensor (VCSEL, 1 mm).
I built a controlled test bench that moves in a known way, so I know the real answer.
This lets me say my numbers are measured and validated, not just a nice picture.
More detail — if they ask
The VCSEL (Vertical-Cavity Surface-Emitting Laser) sensor gives a sub-millimetre distance reference. On the test bench I command known displacements, then compare the scene-flow retraction to the laser — using correlation and Bland-Altman agreement, the same tools used for the volume approach.
I proved the motion numbers
I simulated four modes: normal, mild, severe, and irregular.
I compared my camera to a very precise laser sensor (1 mm).
The two methods agreed very well — correlation above 0.98.
I am the first to visualize and measure this retraction.
My real contribution
I gave doctors objective numbers, not just a subjective look.
Several parameters come from one simple approach.
The system fits the ICU: no extra space, easy to remove in emergency.
It is a real step toward computer vision in the clinic, engineers and doctors working together.
The formal side
PhD in engineering, ÉTS — Université du Québec, defended in 2019.
A thesis by articles: three journal papers, published.
Supervised by Prof. Rita Noumeir, co-supervised by Dr. Philippe Jouvet (pediatric doctor).
The work joined engineering and medicine, in a real hospital, with real sick children.
The three papers — if they ask
1. 3D imaging system for respiratory monitoring in PICU — Computerized Medical Imaging and Graphics, 2018.
2. Quantitative assessment of spontaneous breathing in children (depth camera) — IEEE Transactions on Instrumentation and Measurement, 2019.
3. Visualizing and quantifying thoraco-abdominal asynchrony from motion point clouds — IEEE Access, 2019.
Use ← / → keys, or click the right / left half of the screen.