Skip to content
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

Reference #11

Open
cecabert opened this issue Feb 26, 2019 · 3 comments
Open

Reference #11

cecabert opened this issue Feb 26, 2019 · 3 comments

Comments

@cecabert
Copy link

Hi, I was going through your code and noticed some external reference, i.e. see notes p37-38. Would it be possible to have these references ?

Christophe

@pmh47
Copy link
Owner

pmh47 commented Feb 26, 2019

Unfortunately I don't have access to the notes just now -- they're handwritten papers sitting in a pile in another country! However, if you have any specific questions, I'm happy to answer.

@cecabert
Copy link
Author

Thanks @pmh47 for the clarification. I've actually some questions if you don't mind.

  • When you compute the spatial derivative in the image space, you use the scharr operator, is it for a specific reason ? I'm asking since the OpenDR uses either the sobel operator or the central difference.

  • Can provide some details on the edge dilation part starting there ? Is it similar to OpenDR where they ensure dat the filters (i.e. Sobel) does not cross the occluder's primitive boundary ?

Christophe

@pmh47
Copy link
Owner

pmh47 commented Feb 27, 2019

  • There is no particular reason for choosing the Scharr operator in this case. Any choice is an approximation; Scharr gives better results in some contexts, but may provide no benefit here. It would be interesting to compare results with different filters.

  • Consider a pixel that is over the background (not a triangle), but is immediately adjacent to one that is over a triangle. In that case, there should be a non-zero derivative of that background pixel as the edge moves towards it. 'Dilating' the triangle means that we consider this background pixel as if it were part of the triangle, giving the required result as that means the derivative is propagated to its vertices. For the case of an occluding edge, roughly the same thing happens. This is indeed related to what OpenDR does -- by dilating the occluder, we also ensure not to propagate a spurious gradient to the occluded triangle. In practice, this is complicated by the fact that a background pixel may be adjacent to multiple triangles, which means we should propagate gradients to each of them. In the current implementation, I don't do this, but instead consider only horizontal or vertical dilation based on the dominant gradient, and if there are triangles on both sides, pick one at random.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants