depth_image_proc register cover all angles with fill_upsampling_holes#722
Open
lucasw wants to merge 7 commits intoros-perception:noeticfrom
Open
depth_image_proc register cover all angles with fill_upsampling_holes#722lucasw wants to merge 7 commits intoros-perception:noeticfrom
lucasw wants to merge 7 commits intoros-perception:noeticfrom
Conversation
36ca0ef to
5aedf45
Compare
lucasw
commented
Jan 17, 2022
lucasw
commented
Jan 17, 2022
lucasw
commented
Jan 17, 2022
Comment on lines
+355
to
+350
| // fill in the square defined by uv range | ||
| const T new_depth = DepthTraits<T>::fromMeters(new_depth_sum / static_cast<double>(count)); |
Contributor
Author
There was a problem hiding this comment.
Could keep track of the depth values at each corner of the square and interpolate between them
lucasw
commented
Jan 17, 2022
lucasw
commented
Jan 17, 2022
lucasw
commented
Jan 17, 2022
Collaborator
|
@lucasw Once you've implemented your own suggestions (?) I'll give this a look. Please ping me when it's ready. |
f951f64 to
d114516
Compare
Collaborator
|
@lucasw It looks like you've done a lot of work on this. Is it ready for an external review? |
Contributor
Author
|
I have some other commits in another branch that are related but those could go in a different PR, but I'll scan through them for anything that ought to be here. Yes if you can make time try it out and review. |
d114516 to
63075dd
Compare
… and increase clarity more but not sure if it will result in performance changes
…ases, but it still reduces to a sliver from some angles
…for depth_image_proc register when filling holes, eliminating the sliver effect from some angles (low angles will stil have them, would need to use depth values from adjacent pixels to avoid that)
63075dd to
70f7290
Compare
…h camera, next try a camera at an angle to the depth points next
70f7290 to
0b14afe
Compare
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.
Resolves #721
This is without the PR (the rviz CameraInfo plugin looks to not draw lines properly from certain angles)
depth_image_proc_holes.mp4
This is with the PR applied:
depth_image_proc_holes_fix.mp4
Here's another but without the negative z clipping
https://user-images.githubusercontent.com/1334122/149797323-fc6bf43f-3d12-47ba-9d99-fb334f4c220e.mp4
There are still gaps when there is a big angle between the two tf frames or big depth difference between adjacent pixels/points, making assumptions about adjacent points (that they are part of a continuous surface) and doing the whole software triangle rasterization approach could fix that but seems excessive.
I found adding a lookup transform timeout a62174a necessary in my test setup (probably in most real world cases
/tfis way ahead of >megapixel depth images, but here I'm synthesizing 320x240 depth images so few image transport delays) but left it out of this PR, it could go into a different one?I can adapt the test setup to here if there is interest, but it will bring in a few
<test_depends>.Could squash this down to one or two commits but maybe the commit progression makes it easier to review.
There is a really basic unit test, I can add more to it after getting some feedback.