3D Importance 2D images Easily interpreted by human eyes Difficultly analyzing by computer 3
3D Importance (cont’d) So, Third dimension is needed We call it “ depth ” Depth can be get from 3D scanner 4
3D Scanner Applications Motion capture Animations Video games Industrial Reverse engineering Quality check Virtual reality … 5
Technologies 6
Kinect A webcam-style add-on peripheral (Wikipedia) Enables users to control and interact with their console/computer without a controller Originally for Xbox 360 Also released for Windows and Xbox One Kinetic + Connect = Kinect 7
Kinect (history) 8 Announced to launching commercial version of Kinect (Kinect for Windows) with SDK
Kinect (history) 8 Kinect for windows release
Kinect Hardware 9
Kinect Hardware 10
Kinect Hardware 10 Multi-array microphone
Kinect Hardware 10 IR laser emitter
Kinect Hardware 10 IR camera
Kinect Hardware 10 Motorized tilt
Kinect Hardware 10 USB cable
Kinect Hardware 10 RGB camera
PCL (Point Cloud Library) Point Cloud: A set of data points in some coordinate system PCL: A library to works with point clouds Has a lots of functions for registration , filtering , … 11
Other Technologies Geomagic Studio Good to works with 3D scanner outputs OpenNI (Open Natural Interaction) Used to interact between Kinect and OS Other drivers such as Microsoft official driver and Libfreenect 12
Use Kinect for Xbox 360 As before said, Kinect is originally for Xbox 360 Connect Kinect for Xbox 360 to PC is not easy USB cable Additional Driver A lots of properties 13
Implementation 14
Our environment 15
Implementation Flowchart 16
Read data Kinect depth image resolution : 640 x 480 307500 points (x, y, z for each point) Shadow problem 17
Depth filtering Kinect depth range : 50cm – 15m Use passthrough filter On z-axis between 1.5 , 15 18
Depth filtering Model after depth filtering between 1.5 and 15 m 19
Down sampling Voxel: such as pixel in 2D image, each element of 3D Use voxelGrid function Change voxel size -> change down sample ratio 20
Down sampling Voxel grid leaf size is 0.5 cm 21
Plane removal With RANSAC algorithm we can fit a mathematical model to set of points Models : circle, sphere, plane, … Fit a plane and delete that points 22
Cluster extraction Still other objects or noises are exist Points with distance lower than a threshold is a cluster Delete all clusters except the biggest 23
Cluster extraction Clear object after filtering 24
Registration Definition Aligning two or more images of the same scene One reference image Transform other images The most important step 25
Angle of rotation is known We can rotate object manually a) Original b) Expected c) happened Registration (first try) 26 a b c
Registration (second try) 27 Translate object to center Rotation Translate object to its location 1 2 3
Registration (cont’d) Another down sampling for each iteration is required Number of iterations: Note: Environment variables is so important. E.g. camera with center of object distance and angle of rotation 28
Point cloud result Result after registration process 29
Work with Geomagic Better point cloud with Geomagic studio Reduce noise Refinement Polygon mesh Fill holes Smoothness 30
Final result Result after work with Geomagic studio 31