Best Features for Recognition and Registration

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

Best Features for Recognition and Registration

stfn
Hi,

i'm working on a "general" object detection and registration pipeline. So far there are a lot of tutorials/apps and examples in the trunk working with different features and matching algorithms which (as always) work great within some more or less strong assumptions on both, the model and the scene. The problem I have is finding the pipeline that works for an arbitrary more or less noisy 3d (not 2.5d) rgb model (scanned with the ecto ORK scanner app) in general indoor scenes. So ...

1st: Is there an overview of which features are best for which model classes?
2nd: Which Features work on full 3d models and which require 2.5d models?
3rd: Is there something like the best feature descriptor out there, working for 2.5d, 3d, rgb, not-rgb, textured, untetured, ... models?
4th: Is there a detection and/or registration algorithm working with multiple features? Something where you can feed in multiple feature point types of both the model and the scene and then just matches the strong corresponding ones? multihypothesis stuff? ensemble learning stuff?

(5th: are there alternatives to feature points? like working with the (outline-) edges of an object?)


Thanks in advance for any help
Reply | Threaded
Open this post in threaded view
|

Re: Best Features for Recognition and Registration

Jochen Sprickerhof
Administrator
Hi Stefan,

* stfn <[hidden email]> [2013-11-21 09:00]:
> 1st: Is there an overview of which features are best for which model
> classes?
> 2nd: Which Features work on full 3d models and which require 2.5d models?

Friedrich wrote a nice overview here:
https://github.com/PointCloudLibrary/pcl/wiki/Overview-and-Comparison-of-Features

> 3rd: Is there something like the best feature descriptor out there, working
> for 2.5d, 3d, rgb, not-rgb, textured, untetured, ... models?

It depends on your application, so I would propose you have a look in
the literature as well.

> 4th: Is there a detection and/or registration algorithm working with
> multiple features? Something where you can feed in multiple feature point
> types of both the model and the scene and then just matches the strong
> corresponding ones? multihypothesis stuff? ensemble learning stuff?

We have a lot of bits and pieces for this in PCL already, so it
shouldn't be to hard to do it. Would be a great addition to PCL, if you
could contribute the code, once you are done.

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

Re: Best Features for Recognition and Registration

kan2k
In reply to this post by stfn
Hi,

this is a nice tutorial describing different features and evaluation of those with different parameters. And there also code examples, which is nice, as well.

http://www.inf.ethz.ch/personal/zeislb/publications/aldoma_2012jram_PCLTutorial.pdf

Cheers,
Serkan.
Reply | Threaded
Open this post in threaded view
|

Re: Best Features for Recognition and Registration

Friedrich Politz
In reply to this post by stfn
stfn wrote
1st: Is there an overview of which features are best for which model classes?
2nd: Which Features work on full 3d models and which require 2.5d models?
As Jochen said, I started writing an overview. Important addendum: It's still not complete. So some of PCL's implemented feature algorithms are missing. Feel free to extend it ;)

stfn wrote
3rd: Is there something like the best feature descriptor out there, working for 2.5d, 3d, rgb, not-rgb, textured, untetured, ... models?
That depends. I would not make use of RGB when lightning conditions vary. SHOT could be a safe address as there are implementations both for textured and non-textured 3D data available.

stfn wrote
4th: Is there a detection and/or registration algorithm working with multiple features? Something where you can feed in multiple feature point types of both the model and the scene and then just matches the strong corresponding ones? multihypothesis stuff? ensemble learning stuff?
The official PCL tutorial that (see kan2k's link) is a solid starting point. You have pretty usable pipeline there (see also: http://pointclouds.org/documentation/tutorials/correspondence_grouping.php#correspondence-grouping). You could create a query object class, store all features for a scene inside it and only keep the one with the smallest distance. I mean employing different feature algorithms is not the problem. It only depends on your resources and if your apllication is time critical.

stfn wrote
(5th: are there alternatives to feature points? like working with the (outline-) edges of an object?)
Yes, there are. But I doubt their efficiency. I personally think that well distributed keypoints and a robust descriptor are way better. But I can look into my bibliography if you're interested in such methods.
Cheers,
Fred