pcl goes mobile

22
PCL goes mobile Pat Marion Kitware, Inc.

Upload: truongthuan

Post on 31-Dec-2016

227 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: PCL goes mobile

PCL goes mobile

Pat Marion Kitware, Inc.

Page 2: PCL goes mobile

Demo Apps

Point cloud streaming Point cloud processing

Page 3: PCL goes mobile

Point cloud streaming

movie: http://www.youtube.com/watch?v=pp_YZ_6O-Ps

Page 4: PCL goes mobile

Point cloud processing

movie: http://www.youtube.com/watch?v=D2kq6AHDvrM

Page 5: PCL goes mobile
Page 6: PCL goes mobile
Page 7: PCL goes mobile

Head CT Image SPL-PNL Brain Atlas

Page 8: PCL goes mobile

Visualization with ParaViewWeb

Page 9: PCL goes mobile
Page 10: PCL goes mobile
Page 11: PCL goes mobile

Cross platform, C++ libraries

Objective C, iOS APIs

Java, Android APIs

Vendor supplied

Page 12: PCL goes mobile

• Mobile devices use OpenGL ES 2.0 • ES means embedded systems • Subset of desktop OpenGL (currently OpenGL 4.2)

• Shader based rendering pipeline • More work, more powerful

Page 13: PCL goes mobile

Android Developer’s Guide http://developer.android.com/guide/index.html

iOS Dev Center https://developer.apple.com/devcenter/ios/index.action

Getting Started

Install SDKs and run the sample apps!

Page 14: PCL goes mobile

VES Developer’s Guide http://www.vtk.org/Wiki/VES/Developers_Guide

Getting Started

Page 15: PCL goes mobile

Compiling fun Cross-

http://xkcd.com/303/

Page 16: PCL goes mobile

Get to know your device SDKs

• /opt/android-ndk-r7 • /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk

Explore… $ find . -name math.h

Page 17: PCL goes mobile

Cross-compiling with CMake

• -DCMAKE_TOOLCHAIN_FILE=<toolchain.cmake>

• cmake runs with restricted search paths

• want to find /usr/local/android/install/boost,

not /usr/include/boost

Page 18: PCL goes mobile

Starting a new App

• Extend or copy an existing app

• there will be boilerplate code

• cmake… eclipse… xcode…

Page 19: PCL goes mobile

Point cloud streaming

• 2 megabytes/second • 9 bytes per point (xyzrgb with short encoding on xyz) • ~ 200k points/second • at 10 fps, ~20K points per cloud

• other compression schemes possible need fast decoding on device though

Tutorial: http://pointclouds.org/documentation/tutorials/mobile_streaming.php APK Download: …

Page 20: PCL goes mobile

Point cloud processing

Dev guide: http://vtk.org/Wiki/VES/Point_Cloud_Library

• Voxel Grid on Denver Pipes, 3.8 million points

• RANSAC plane segmentation on voxel grid output < 1 second

• iPad 2 viewer rendered 5 million points

• ~10 fps on 1 million points • 60 fps rendering on Kinect sized

point clouds, ~250K points

Page 21: PCL goes mobile

Getting Help

• VES mailing list: http://vtk.org/Wiki/VES

• PCL mailing list: http://www.pcl-users.org/

Page 22: PCL goes mobile

Live Demo