Merged
Conversation
Member
|
This is pretty cool, odometry can be processed under 30 ms when computing the features onboard (OAK-D). I also prefer re-using parameters from other panels in the settings, to make it easier to compare on-device versus host. I'll merge it! Thanks again! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hi, I added on-device GFTT feature according to your note. I'll try to add SuperPoint later. So later for
detectFeatures_, 0 is None, 1 is GFTT, 2 is SuperPoint. Or change it to enum afterwards.There are some differences between DepthAI and OpenCV in the implementation of GFTT. I'm trying to reuse parameters set in other panels, which might be a little awkward. Maybe you have a better way. I tried many parameters, mainly to increase the number of features. DepthAI first uses CornerDetector to detect corner points, and then uses FeatureMaintainer to filter out some. So when
numTargetFeaturesis set to 320 by default, it may only return more than 200 points in the end. This can make rtabmap less stable. Regarding the actualnumMaxFeatures, the docs say:So I increased the number of memory slices to 2. This does seem to increase the number of features. Now when
numTargetFeaturesis set to 1000, more than 500 points can be obtained in most scenes. On-board detection takes about 7ms. But don't increase the number of shaves to 2, it will cause the detection time to increase to more than 30ms. I have no idea why. MotionEstimator is disabled. But we can also try to use on-device optical flow later. Although there doesn't seem to be an interface for setting optical flow data. Return only tracked points may improve stability, or reduce host computation.