150 likes | 168 Views
This exploration delves into the world of depth perception, comparing human versus computer abilities and delving into technologies like infrared depth measurement and Kinect. Learn about the hardware, software toolkits, and techniques used, as well as tips on displaying point data, floor removal, and manipulating shadows. Kate Rafter shares resources for learning trigonometry, linear algebra, and C++ for performance enhancement. Keep progressing by identifying real-world features for projection mapping and depth integration. Contact Ethan Brown and Kate Rafter for more info.
E N D
DIGITAL DANCING • ETHAN BROWN / KATE RAFTER
SEEING THE WORLD IN THREE DIMENSION Humans are good at understanding depth from a multitude of cues: FAMILIAR SIZE DEPTH PARALLAX PERSPECTIVE RELATIVE SIZE MANY MORE…. STEREOPSIS OCCLUSION CONVERGENCE Computers: not so much.
INFRARED DEPTH MEASUREMENT: A CLEVER CHEAT • Infrared laser projects a pattern of infrared dots • Depth inferred from multiple cues • Kinect uses proprietary technology developed by PrimeSense
HARDWARE Occipital Microsoft STRUCTURE SENSOR KINECT 1 KINECT 2
SKELETON TRACKING • Complicated problem • Uses techniques from artificial intelligence, machine learning, and computer vision • Requires massive amounts of training data
SOFTWARE TOOLKITS • OpenFrameworks (C++) • Cinder (C++) • Kinect .NET SDK (C#) • Point Cloud Library (C++) • OpenNI (C++) • OpenCV (C++)
NODE / JAVASCRIPT • Edge.js makes Kinect SDK available • THREE.js / Canvas 3D / CubicVR • Distinct lack of libraries (OpenCV, PCL)
DISPLAYING POINT DATA • OpenFrameworks / OpenGL • Kinect provides world coordinates; store as vectors (ofVec3f) • Convert point cloud vectors to mesh (ofMesh) • Some effects “accidental” artifacts of mesh rendering
FLOOR REMOVAL • Plane detection with RANSAC algorithm, courtesy PCL • Hooray math! Point/plane distance • Expensive filtering: optimization pays
“EXPLODING” SHADOWS • Easy centroid calculation: • Subtract centroid from each point and normalize: unit vector away from centroid • Scale unit movement vector and add to point to move away from centroid
LEARNING MORE • Trigonometry (Kahn Academy) • Linear Algebra (Kahn Academy) • The C++ Programming Language, 4th Edition • Making Things See by Greg Borenstein • Books on OpenFrameworks and Cinder from Pact Publishing
ONWARD…. • Projector/real-world correspondence • Identify real-world features (with depth and/or visual data)
THANK YOU • ethan.brown@popart.com • @EthanRBrown • k.e.rafter@gmail.com • www.katerafter.com www.popart.com zepln.com/wdne