1 / 33

Softassign and EM-ICP on GPU

Softassign and EM-ICP on GPU. Toru Tamaki, Miho Abe, Bisser Raytchev , Kazufumi Kaneda 19 th Nov. 2010. Contribution of this talk. Fast GPU implementations of registration algorithms for 3D point sets. Softassign [Gold et al., 1998] EM-ICP [Granger et al., 2002]

norton
Download Presentation

Softassign and EM-ICP on GPU

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Softassign and EM-ICP on GPU Toru Tamaki, Miho Abe, BisserRaytchev, KazufumiKaneda 19th Nov. 2010

  2. Contribution of this talk • Fast GPU implementations of registration algorithms for 3D point sets. • Softassign [Gold et al., 1998] • EM-ICP [Granger et al., 2002] • (Weighted) Horn’s method [Horn, 1987] • So, what is “registartion” ?

  3. What is “Registration” or “Alignment” ? Image registration A set of images

  4. 3D registration algorithm • Input • Two point sets: and • Output • Rotation matrix • Translation vector and X Y

  5. Algorithms for registration

  6. Algorithms for registration

  7. Horn’s method: correspondence is known. Known correspondence X Y Unknown correspondence ? X Y

  8. Horn’s method: correspondence is known. 3 4 5 Computer 1st Eigenvector : quaternion Convert to Compute centers Centering 2 1

  9. Algorithms for registration

  10. ICP: correspondence is unknown. Find closest (nearest) point to in Put the point to

  11. ICP: correspondence is unknown. Horn’s method with and Estimate and Find closest (nearest) point to in Put the point to

  12. ICP: correspondence is unknown. Horn’s method with and Estimate and Repeat Find closest (nearest) point to in Put the point to Fast, but easy to fail due to hardcorrespondence.

  13. Algorithms for registration

  14. Softassign: soft correspondence. GPU! Weighted Horn’s method with and Each row and column should be normalized to 1 by Shinkhorn iterations Estimate and GPU! Repeat GPU!

  15. Shinkhorn iterations sum up to 1 sum up to 1 sum up to 1 Each row and column should be normalized to 1 by Shinkhorn iterations sum up to 1 Repeat row and column normalization until converge.

  16. Shinkhorn iterations Each row and column should be normalized to 1 by Shinkhorn iterations sum up to 1 sum up to 1 sum up to 1 sum up to 1 Repeat row and column normalization until converge.

  17. Shinkhorn.GPU (row normalization) Using sgemv of CUBLAS Each row and column should be normalized to 1 by Shinkhorn iterations

  18. Shinkhorn.GPU (row normalization) Using CUDA kernel Row-wise division Each row and column should be normalized to 1 by Shinkhorn iterations Column normalization is done by the same way.

  19. Weighted Horn’s method Normal version Weighted version 3 3 Using CUBLAS sgemvtwice.

  20. Centering.GPU (weighted version) CUDA kernel Weighted sum CUBLAS sasum CUBLAS sasum Weighted center Same as for

  21. Pipeline of Softassing.GPU CPU GPU Compute with CUDA kernel Shinkhorn.GPU Centering.GPU and Solve Eigenvalue problem Weighted Horn’s method

  22. Algorithms for registration

  23. EM-ICP: soft correspondence. Pseudo correspondence GPU! Weighted Horn’s method with and Estimate and Each row is normalized once. GPU! Repeat GPU!

  24. Row normalization on GPU Using sgemv of CUBLAS Not normalized yet.

  25. Row normalization on GPU Using CUDA kernel Row-wise division + sqrt Now normalized.

  26. Computing weights Using sgemv of CUBLAS Now normalized.

  27. Pseudo correspondence CUBLAS sgemv Now normalized. Centering: same with Softassing.GPU

  28. Weighted Horn’s method Weighted version (not efficient) 3 Weighted version (2 steps) 3 CUDA kernel CUBLAS sgemm ’

  29. Pipeline of EM-ICP.GPU CPU GPU Compute with CUDA kernel Row normalization on GPU Centering.GPU and Solve Eigenvalue problem 2 step weighted Horn’s method

  30. Computing time over different number of points GPU: GeForce8800GT CPU: Intel Core2 Quad + OpenMP (4 cores) Successfully aligned 5000 points less than 7 seconds. Slightly fast, but failed.

  31. Summary • Implemented 3D registration algorithms on a GPU are: • Softassign, • EM-ICP, • Weighted Horn’s method. • EM-ICP.GPU is • able to align 5000 points within 7 seconds, • 60 times faster than EM-ICP.CPU, • more robust than ICP.CPU. • Code, binary, and movies are available at: • http://home.hiroshima-u.ac.jp/tamaki/study/cuda_softassign_emicp/

  32. Limitations • Number of points • Should be less than 8000 for GeForce8800GT with 512MB memory. • More memory, more points. • Stopping condition • requires to store whole matrix or , and compare with previous ones: inefficient. • Hence, currently, number of iterations is fixed.

  33. Algorithms for registration

More Related