Lymphedema Screening Using Microsoft Kinect
Project Dates: 9/14/2012 - 6/10/2013
Summary:
Created a prototype to quantify water retention using the Microsoft Kinect as a digital screening and classification system for edema grade 1 - 4 patients. This was done in affiliation with the Northeastern Censsis Lab and the Department of Radiation Oncology at Massachusetts General Hospital for an independent study.
Additional Details:
The goal of the study was to create an affordable and reliable means of quantifying the mass of a Lymphedema afflicted arm. If reliable, the data obtained from the system would allow for doctors to more quickly determine an appropriate treatment plan for each patient. The Microsoft Kinect was chosen due to its relatively affordable price point, extensive software support and imaging capabilities. The Kinect generates a depth field taken by an infrared camera which can be used to estimate of the volume of an arm. Additionally the Kinect is highly portable device which doesn’t require a specialized room to be setup properly. This would allow physicians to bring the setup from patient to patient which creates a greater patient turnover and consequently increases hospital screening availability.
Software Design:
Both a color image and a depth image were extracted from the RGB and IR cameras on the Kinect in C# using the OpenNI libraries. This data was then ported into MATLAB through a MATLAB wrapper for C#. In MATLAB a visual of the depth image of the arm was obtained by formatting the raw data from the Kinect into a 2D image based on the resolution the user set on the Kinect when taking the initial image.
The depth of every point on the arm seen in the image was subtracted from the depth value of a pixel on the arm furthest away from the Kinect to determine the "thickness" of that point. This point was identified by processing the depth image but whose pixel location was also confirmed by looking at the RGB image. The physician was instructed to put a piece of green reflective tape at the midpoint of the arm and instructed each patient to place their arm with their palm facing toward the Kinect. This furthest pixel on the arm was assumed to correspond to the depth of half of the arm, since the back half of the arm couldn't be seen by the Kinect. The volume each pixel represented was calculated as thickness x width x height. The width and height values for each pixel were calculated using scale factors determined experimentally by measuring the dimensions of objects at different distances from the Kinect.
The volume calculated for each pixel was then summed up to obtain the volume for half of the arm. The Kinect was then moved to take a picture of the back half of the users arm. The sum of the volumes obtained by both pictures resulted in an estimated volume of the arm. This was able to determine the volume of a model arm used for experimental trials to an accuracy of 5% and a precision of 1%.
The experimental setup
Arm used as control during early testing
Depth map image