Kinect Fusion

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

Kinect Fusion

VictorLamoine
Administrator
Hello,

I'm looking for a way to get a complete point cloud of an object scanned with a Kinect. I don't need the color.

KinFu : I can't (and don't want to) use it because it requires specific hardware (CUDA -> Nvidia)

Kinect fusion (from Kinect SDK) : Looks good but I don't find a lot of information on how to get the point cloud from Kinect SDK to PCL. Maybe using it with https://github.com/mdkus/kinect-mssdk-openni-pcl-bridge/ ? It has only been tested with SDK 1.6 and this SDK does not include Kinect Fusion.

Is there any other PCL application that features a fusion of point clouds ? I don't need to process the point cloud on real-time. It can be done after the scan.

Thanks.
Reply | Threaded
Open this post in threaded view
|

Re: Kinect Fusion

Ber461
This post was updated on .
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|

Re: Kinect Fusion

VictorLamoine
Administrator
I want the registration process to be automatic. For example, a robot is circling around the object (with a pre-defined trajectory) and the computer outputs a point cloud of the object.

Kinect Fusion is quite good from what I experienced. It also requires a "decent" GPU but it's a lot less specific than CUDA.

I've looked at the in hand scanner. It works onyl with small objects and I don't need the segmentation between hand / objects.

I'm looking for a program that allows me grab an register point clouds from an OpenNI device. The registration doesn't have to be real-time though it is a plus.
I'm looking for examples/projects/directions of such a program , I don't want to re-invent the wheel :)

I think that something like pairwise-incremental-registration is a good start.
Reply | Threaded
Open this post in threaded view
|

Re: Kinect Fusion

Ber461
This post was updated on .
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|

Re: Kinect Fusion

saimanoj18
Here is what you are looking for.

CopyMe3D: Scanning and Printing Persons in 3D (J. Sturm, E. Bylow, F. Kahl, D. Cremers),In German Conference on Pattern Recognition (GCPR), 2013


You could ask the authors if its available for public. If yes, please pass it.

But other open source implementations which can do almost the same thing with some post processing are given below

I would also suggest you to take a look at RGB-D SLAM, CCNY RGBD TOOLS, which give octomap and also point cloud representation but they donot segment the objects but provide the whole scene.
 



With all Good wishes,
Sai Manoj Prakhya


On Thursday, 23 January 2014 5:52 PM, Ber461 <[hidden email]> wrote:
Yes, I tried that tutorial and got good results with the code.

For the task you propose, you would have to write a program that fetches and
saves frames as the robot is circling around the object, at small intervals
(i.e., a few degrees between each, for this you would need to setup the
robot/arm, the table, etc). You should then use a method similar to that
tutorial to iteratively register one cloud with the next, until they are all
registered. Finally, you should perform some preprocessing, and cluster the
object out. In order to automatically do this, you would have (for example)
to detect the table the object was on, and filter out all points not sitting
on it.

I think it could be done, with a bit of work. Registration relies on finding
good (and many) correspondences, which is hard if your scene is very clean
(like a single table with an object resting on it would be). But, if you add
more objects to make the scene feature-rich, then this would add clutter in
the clustering step.

I'm sure that many people here have already tried or implemented a solution
like this. Maybe they could give us some directions?



--
View this message in context: http://www.pcl-users.org/Kinect-Fusion-tp4031829p4031856.html

Sent from the Point Cloud Library (PCL) Users mailing list mailing list archive at Nabble.com.
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users



_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: Kinect Fusion

dim_tz
I wouldn't count on finding the source code of the 'CopeMe3D' paper
(which works great by the way, I also saw a live demo of it),
as this project is now a spin-off. The paper can be found easily though online.


On Thu, Jan 23, 2014 at 11:06 AM, Sai Manoj <[hidden email]> wrote:
Here is what you are looking for.

CopyMe3D: Scanning and Printing Persons in 3D (J. Sturm, E. Bylow, F. Kahl, D. Cremers),In German Conference on Pattern Recognition (GCPR), 2013


You could ask the authors if its available for public. If yes, please pass it.

But other open source implementations which can do almost the same thing with some post processing are given below

I would also suggest you to take a look at RGB-D SLAM, CCNY RGBD TOOLS, which give octomap and also point cloud representation but they donot segment the objects but provide the whole scene.
 



With all Good wishes,
Sai Manoj Prakhya


On Thursday, 23 January 2014 5:52 PM, Ber461 <[hidden email]> wrote:
Yes, I tried that tutorial and got good results with the code.

For the task you propose, you would have to write a program that fetches and
saves frames as the robot is circling around the object, at small intervals
(i.e., a few degrees between each, for this you would need to setup the
robot/arm, the table, etc). You should then use a method similar to that
tutorial to iteratively register one cloud with the next, until they are all
registered. Finally, you should perform some preprocessing, and cluster the
object out. In order to automatically do this, you would have (for example)
to detect the table the object was on, and filter out all points not sitting
on it.

I think it could be done, with a bit of work. Registration relies on finding
good (and many) correspondences, which is hard if your scene is very clean
(like a single table with an object resting on it would be). But, if you add
more objects to make the scene feature-rich, then this would add clutter in
the clustering step.

I'm sure that many people here have already tried or implemented a solution
like this. Maybe they could give us some directions?



--
View this message in context: http://www.pcl-users.org/Kinect-Fusion-tp4031829p4031856.html

Sent from the Point Cloud Library (PCL) Users mailing list mailing list archive at Nabble.com.
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users



_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users



_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: Kinect Fusion

VictorLamoine
Administrator
After a little big of investigation the best solution I have found is kinfu_app. We will deal with the constraint of a nVidia high end GPU for the moment.

In addition kinfu_app is ready to use and thus saves me a lot of time.

Thanks for your help