3D RECONSTRUCTION Reconstruction method Reconstruction from images - - PowerPoint PPT Presentation
3D RECONSTRUCTION Reconstruction method Reconstruction from images - - PowerPoint PPT Presentation
3D RECONSTRUCTION Reconstruction method Reconstruction from images Reconstruction from video Using Kinect Raw Depth Image Infrared laser projector Monochrome CMOS sensor Demo Kinect Raw data Real-time Reconstruction Pipeline Measurement
Reconstruction from images Reconstruction from video
Reconstruction method
Raw Depth Image
Infrared laser projector Monochrome CMOS sensor
Using Kinect
Demo Kinect Raw data
Real-time Reconstruction
Raw Depth Image Noise Reduction Bilateral Filtering Measurement Compute Surface Vertex and Normal Map Pose Estimation ICP Update Reconstruction TSDF Surface Prediction Ray-cast
rk Tgk Vk, Nk Rk Sk Vk, Nk
Pipeline
Input: 20 frames * 640 * 480 * 12 = 614.8 MB/s
Demo
Bilateral Filtering
Raw Depth Image Noise Reduction Bilateral Filtering Measurement Compute Surface Vertex and Normal Map Pose Estimation ICP Update Reconstruction TSDF Surface Prediction Ray-cast
rk Tgk Vk, Nk Rk Sk Vk, Nk
Pipeline
SVD
ICP 3D shape alignment
Demo
ICP 3D shape alignment
Raw Depth Image Noise Reduction Bilateral Filtering Measurement Compute Surface Vertex and Normal Map Pose Estimation ICP Update Reconstruction TSDF Surface Prediction Ray-cast
rk Tgk Vk, Nk Rk Sk Vk, Nk
Pipeline
TSDF
Signed Distance Function The value in the cube corresponds to the signed distance to the closest zero crossing( surface).
Truncated Signed Distance Function Signed Distance Function
TSDF
Truncated Signed Distance Function Signed Distance Function Integrate the cubes from different position.
TSDF
- 1
Depth Map from Kinect
TSDF
- 1
- 0.2
Depth Map from Kinect
TSDF
- 1
- 0.2
0.05 Depth Map from Kinect
TSDF
- 1
- 0.2
0.2 0.05 Depth Map from Kinect
TSDF
- 1
1
- 0.2
0.2 0.05 Depth Map from Kinect
TSDF
- 1
1 1
- 0.2
0.2 0.05 Depth Map from Kinect
TSDF
- 1
1 1
- 0.2
0.5 0.05
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0.8
- 0.8
- 0.5
- 0.5
- 0.5
- 0.05
- 0.1
- 0.03
0.05 0.1 0.3 0.3 0.5 1 1 1 1 1 1 1 1 1 1 Integration? or update? We have depth maps from different camera positions, how can we integrate them together ? What makes integration possible ? Weighted? or add up?
TSDF
- 1
1 1
- 0.2
0.5 0.05
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0.8
- 0.8
- 0.5
- 0.5
- 0.5
- 0.05
- 0.1
- 0.03
0.05 0.1 0.3 0.3 0.5 1 1 1 1 1 1 1 1 1 1 Integration? or update? We have depth maps from different camera positions, how can we integrate them together ? What makes integration possible ? Weighted? or add up?
TSDF
- 1
1 1
- 0.2
0.5 0.05
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0.8
- 0.8
- 0.5
- 0.5
- 0.5
- 0.05
- 0.1
- 0.03
0.05 0.1 0.3 0.3 0.5 1 1 1 1 1 1 1 1 1 1 Integration? or update? We have depth maps from different camera positions, how can we integrate them together ? What makes integration possible ? Weighted? or add up?
TSDF
- 1
1 1
- 0.2
0.5 0.05
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0.8
- 0.8
- 0.5
- 0.5
- 0.5
- 0.05
- 0.1
- 0.03
0.05 0.1 0.3 0.3 0.5 1 1 1 1 1 1 1 1 1 1 Only part of distance data is needed, so we can truncate the distance. To get the surface behind the surface. The camera is moving!
TSDF
- 0.3
1 1
- 0.2
0.5 0.05
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0.8
- 0.8
- 0.5
- 0.5
- 0.5
- 0.05
- 0.1
- 0.03
0.05 0.1 0.3 0.3 0.5 1 1 1 1 1 1 1 1 1 1 To get the surface behind the surface. The camera is moving! 1 time update !
TSDF
Only part of distance data is needed to represent the
- bject, so we can truncate
the distance.
1 1
- 0.2
0.5 0.05
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0.8
- 0.8
- 0.5
- 0.5
- 0.5
- 0.05
- 0.1
- 0.03
0.05 0.1 0.3 0.3 0.5 1 1 1 1 1 1 1 1 1 1 To get the surface behind the surface. The camera is moving! 2 times update !
TSDF
Only part of distance data is needed to represent the
- bject, so we can truncate
the distance.
0.3 1 1
- 0.2
0.5 0.05
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0.8
- 0.8
- 0.5
- 0.5
- 0.5
- 0.05
- 0.1
- 0.03
0.05 0.1 0.3 0.3 0.5 1 1 1 1 1 1 1 1 1 1 Only part of distance data is needed to represent the
- bject, so we can truncate
the distance. To get the surface behind the surface. The camera is moving! 3 times update !
TSDF
Raw Depth Image Noise Reduction Bilateral Filtering Measurement Compute Surface Vertex and Normal Map Pose Estimation ICP Update Reconstruction TSDF Surface Prediction Ray-cast
rk Tgk Vk, Nk Rk Sk Vk, Nk
Pipeline
Cast only, no chasing. Transfer the TSDF cube in to some thing the computer can understand, Vertex fusion. Take a photo using X-ray.
RAY CASTING
- 1
1 1
- 0.2
0.5 0.05
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0.8
- 0.8
- 0.5
- 0.5
- 0.5
- 0.05
- 0.1
- 0.03
0.05 0.1 0.3 0.3 0.5 1 1 1 1 1 1 1 1 1 1 Detect the sign change. Two scales search Linear regression
RAY CASTING
- 1
1 1
- 0.2
0.5 0.05
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0.8
- 0.8
- 0.5
- 0.5
- 0.5
- 0.05
- 0.1
- 0.03
0.05 0.1 0.3 0.3 0.5 1 1 1 1 1 1 1 1 1 1 Detect the sign change. Two scales search Linear regression Normal Vectors
RAY CASTING
Demo
Real-time Reconstruction
Reference
[1] KinectFusion: Real-Time Dense Surface Mapping and Tracking. Microsoft Research [2] B. Curless and M. Levoy. A volumetric method for building complex models from range images. [3] M. Harris, S. Sengupta, and J. D. Owens. Parallel prefix sum (scan) with CUDA. In H. Nguyen, editor, GPU Gems 3, chapter 39, pages 851–876. Addison Wesley, August 2007. 3.5 [4] C. Tomasi and R. Manduchi. Bilateral filtering for gray and color images. In Proceedings of the ICCV, 1998. [5] C. Rasch and T. Satzger. Remarks on the O(N) implementation of the fast marching method. [6] Y. Chen and G. Medioni. Object modeling by registration of multiple range images. Image and Vision Computing (IVC), 10(3):145–155,1992 [7] Kok-Lim Low Linear Least-Squares Optimization for Point-to-Plane ICP Surface Registration