Microsoft Kinect Performance Metrics CSE 60641 – Graduate Operating Systems Final Presentation 12/13/2011 CSE 60641 – Microsoft Kinect Performance Slide 1/26 Aaron Huus Ben Bockstege Project Overview • Problem o Viability for WiiHabilitaiton Hardware Requirements FPS fast enough not to lose data Write to disk speed based on OS If there is a bottleneck, where does it exist? • Libraries and drivers from PrimeSense o o o OpenNI NITE PrimeSensor • Operating Systems o o o Windows 7 Ubuntu 11.10 Mac OS X 10.6 CSE 60641 – Microsoft Kinect Performance Slide 2/26 Aaron Huus Ben Bockstege Demo CSE 60641 – Microsoft Kinect Performance Slide 3/26 Aaron Huus Ben Bockstege Experimental Methodology • One User Testing: o o o o o o User enters at 5 User assumes pose at 15 User begins movement at 25 User returns to pose at 35 User leaves at 45 Stop at 50 • Movement Phase o o o o • Two User Testing: o o o o o o o o User A enters at 5 User B enters at 10 User A assumes pose at 20 User A begins movement at 30 User A returns to pose at 40 User B leaves at 45 User A leaves at 50 Stop at 55 Turn full circle Drop arms to side, then back to pose Push out with right hand, return Push out with left hand, return CSE 60641 – Microsoft Kinect Performance Slide 4/26 Aaron Huus Ben Bockstege Predicted Results User Enters Skeleton Found Movement User Leaves CSE 60641 – Microsoft Kinect Performance Slide 5/26 Aaron Huus Ben Bockstege Workstations • Windows 7 Professional SP 1 x64 o CPU: Intel Core 2 Duo P8400 2.26 GHz o RAM: 4 GB o Graphics Card: Mobile Intel GMA 4500MHD 32 MB • Ubuntu 11.10 x86 o CPU: AMD Athlon 5200 Dual Core 2.70 GHz o RAM: 2GB o Graphics Card: NVidia GeForce 8400gs 512 MB • Mac OS X 10.6 x64 o CPU: Intel Core 2 Duo 2.4 GHz o RAM: 4 GB o Graphics Card: ATI Radeon HD 2400 128 MB CSE 60641 – Microsoft Kinect Performance Slide 6/26 Aaron Huus Ben Bockstege Write to Disk Speed CSE 60641 – Microsoft Kinect Performance Slide 7/26 Aaron Huus Ben Bockstege Windows 7 One User • Reason for Trial 1 reduced performance possibly result of other processes running at same time. • Dip at 53000 likely due to system looking for user and realizing the user has left • Initial dip at 1000 to 3000 present across all trials. Likely a result of opening excel file and writing data. CSE 60641 – Microsoft Kinect Performance Slide 8/26 Aaron Huus Ben Bockstege Windows 7 One User CSE 60641 – Microsoft Kinect Performance Slide 9/26 Aaron Huus Ben Bockstege Windows 7 Two User • Initial dip at 1000 to 3000 present across all trials. Likely a result of opening excel file and writing data. • Dips starting at 52500 across all trials likely a result of the system losing track of User B then User A and removing them from list of users. CSE 60641 – Microsoft Kinect Performance Slide 10/26 Aaron Huus Ben Bockstege Windows 7 Two User CSE 60641 – Microsoft Kinect Performance Slide 11/26 Aaron Huus Ben Bockstege Windows 7 Users Comparisons CSE 60641 – Microsoft Kinect Performance Slide 12/26 Aaron Huus Ben Bockstege Ubuntu 11.10 One User • Spontaneous decreases in FPS • Decreases at 45000 may be due to system searching for user CSE 60641 – Microsoft Kinect Performance Slide 13/26 Aaron Huus Ben Bockstege Ubuntu 11.10 One User CSE 60641 – Microsoft Kinect Performance Slide 14/26 Aaron Huus Ben Bockstege Ubuntu 11.10 Two User • Spontaneous decreases in FPS • Decreases at 45000 may be due to system searching for user CSE 60641 – Microsoft Kinect Performance Slide 15/26 Aaron Huus Ben Bockstege Ubuntu 11.10 Two User CSE 60641 – Microsoft Kinect Performance Slide 16/26 Aaron Huus Ben Bockstege Ubuntu Users Comparisons CSE 60641 – Microsoft Kinect Performance Slide 17/26 Aaron Huus Ben Bockstege Mac OS X One User • Noisy • Spontaneous increases in FPS • Possibly unstable SDK or general issues with mac CSE 60641 – Microsoft Kinect Performance Slide 18/26 Aaron Huus Ben Bockstege Mac OS X One User CSE 60641 – Microsoft Kinect Performance Slide 19/26 Aaron Huus Ben Bockstege Mac OS X Two User • Noisy • Spontaneous increases in FPS • Possibly unstable SDK or general issues with mac CSE 60641 – Microsoft Kinect Performance Slide 20/26 Aaron Huus Ben Bockstege Mac OS X Two User CSE 60641 – Microsoft Kinect Performance Slide 21/26 Aaron Huus Ben Bockstege Mac OS X Users Comparisons CSE 60641 – Microsoft Kinect Performance Slide 22/26 Aaron Huus Ben Bockstege Operating Systems Comparison CSE 60641 – Microsoft Kinect Performance Slide 23/26 Aaron Huus Ben Bockstege Conclusions • Windows lower FPS o Poor graphics memory o Write to disk speed o OpenNI vs Microsoft SDK • Ubuntu had the best overall results o Easiest to implement o Comparable write to disk speed o Good recovery to original steady state • Mac OS X and OpenNI are not fully compatible yet o Only unstable release o Has a lot of dependent components o Previous Kinect development makes it difficult CSE 60641 – Microsoft Kinect Performance Slide 24/26 Aaron Huus Ben Bockstege Conclusions • Need a decent video card (~128 MB) • FPS performance equal if no display • Lower FPS may result due to slow write to disk speed • 30 FPS bottleneck at Kinect CSE 60641 – Microsoft Kinect Performance Slide 25/26 Aaron Huus Ben Bockstege Questions? CSE 60641 – Microsoft Kinect Performance Slide 26/26 Aaron Huus Ben Bockstege