-
-
Notifications
You must be signed in to change notification settings - Fork 4.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
k-4pcs registration method as an extension of 4pcs #979
Conversation
|
||
// return here if no score was valid, i.e. all scores are FLT_MAX | ||
if (candidates_ [0].fitness_score == FLT_MAX) | ||
return; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the state of converged_
in this case?
Would be nice to have this covered with unit tests. |
Generally, I can commit a unit test. But the problem is as follows; k-4pcs combines the idea of "intelligent" point cloud reduction (by extracting keypoints) with the 4pcs matching strategy. Thus the k-4pcs is not desigend to work with the available data (point clouds) in the test section of pcl, but rather to enable fast matching for larger point clouds which first need a reduction. Of course we shouldn't add laser scans of 500 mb size to the unit tests, thus I can see this solution: I provide two point clouds which include the e.g. SIFT keypoints with reasonable parameter setting of some test data I am working with; the unit test is then based on these point clouds. Would that be an option? |
More work for you:
|
Sounds good. Actually there are other valid reasons to include precomputed keypoints into test data. Firstly, unit test for this class should be isolated from keypoint extraction class, i.e. it should not break if keypoint extraction breaks. Secondly, keypoint extraction may be expensive, and we are already hitting Travis time limit more often than not. |
cda7ca6
to
ad993ba
Compare
Are there any further issues to deal with? Or is it ready to merge? |
|
||
PCL_ADD_TEST(kfpcs_ia test_kfpcs_ia | ||
FILES test_kfpcs_ia.cpp test_kfpcs_ia_data.h | ||
LINK_WITH pcl_gtest pcl_io pcl_registration pcl_features pcl_search pcl_kdtree pcl_kdtree |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pcl_kdtree
listed two times (and in the previous test as well)
Apart from my inline comment I think we are good to go. |
Anything else or ist is ready to merge? I'm sorry if I am pressing here, but I have some requests about sharing the code and I just mentioned that it will soon be integrated into the PCL trunk ^^ |
There are still two |
Maybe I did a pull/push messup, but I removed the two pcl_kdtree definitions, or am I missing something? Regarding the inline comment, I added an additional node line to the method description, should be enough, right? |
As you can see here: theilerp@86fcee5, you removed them from |
Ah, sorry for that. I definitely was confused ^^ and squashed |
be11c46
to
56f98c2
Compare
Travis tests are failing all the time, but I guess not because of the submitted code, right? Is there anything else to correct before merging? |
Ignore Travis result unless there is a clear compiler/linker error in the log. In your case, the build was fine until Travis crashed; nothing do to with your code. |
It seems you have included an extra file "registration/include/pcl/registration/CMakeLists.txt". |
strange, but now I understand the problem I had of working out the previous comment about kdtree, because I did remove it in this unintended copy instead of in the original one ^^. Should be fine now, I will squash everything, as soon as you give the okay... |
LGTM. Sorry for the delays in reviewing. |
750fb3f
to
3f8695d
Compare
No worries, I know you also have other things to do ^^ Ready to merge? |
k-4pcs registration method as an extension of 4pcs
as proposed, I split up the pull requests into two parts. this part includes the extension of 4pcs called k-4pcs as proposed by Theiler (2014). note, that this pull request is only valid if #976 has previously been merged...