KinFU with PointCloud as Input

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

KinFU with PointCloud as Input

crsr88
Hi,

meanwhile it is possible to feed KinFu with pcd files as input. I looked at the source code to understand how they will be processed but I got lost ;)

Can anybody explain shortly how pcd files are handled? Are rgb and depth images generated out of the PointCloud to do the feature matching or are 3D Features used directly on the PointCloud (like Sift3D + FPFH)?

At my own project I'm currently using Sift3D + (F)PFH, but it is slow and also the results are not as good as doing the whole stuff with 2D feature matching based on rgb and depth images...


Cheers,
Chris
Reply | Threaded
Open this post in threaded view
|

Re: KinFU with PointCloud as Input

Sergey
Administrator
Hi Chris,

In order to find out the transformations the camera undergoes, Kinfu does not rely on feature extraction, but rather on ICP frame-to-model alignment. You might want to consult the original paper to better understand the algorithm: "KinectFusion: Real-time dense surface mapping and tracking".

The KinFu application (pcl/gpu/kinfu/tools/kinfu_app.cpp) accepts different input types (real device, oni file, or pcd files). It treats them uniformly by instantiating appropriate inheritor of the pcl::Grabber class (check lines 1000 through 1021).

Regards,
Sergey
Reply | Threaded
Open this post in threaded view
|

Re: KinFU with PointCloud as Input

crsr88
Hi Sergey,

thanks for the clarification. I will have a closer look to this paper.

cheers,
Chris

taketwo wrote
Hi Chris,

In order to find out the transformations the camera undergoes, Kinfu does not rely on feature extraction, but rather on ICP frame-to-model alignment. You might want to consult the original paper to better understand the algorithm: "KinectFusion: Real-time dense surface mapping and tracking".

The KinFu application (pcl/gpu/kinfu/tools/kinfu_app.cpp) accepts different input types (real device, oni file, or pcd files). It treats them uniformly by instantiating appropriate inheritor of the pcl::Grabber class (check lines 1000 through 1021).

Regards,
Sergey