-
Notifications
You must be signed in to change notification settings - Fork 64
feat: Add ProbabilisticKeyPoint3D #171
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
base: master
Are you sure you want to change the base?
feat: Add ProbabilisticKeyPoint3D #171
Conversation
52dc7a8
to
b7958ec
Compare
dgp/utils/structures/key_point_3d.py
Outdated
assert np.allclose(mat, mat.T, rtol=rtol, atol=atol), f"{mat} is not symmetric!" | ||
|
||
@staticmethod | ||
def _assert_positive_semi_definite(mat: np.ndarray) -> None: |
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.
I think this is actually checking for positive definite. If we want to allow the zero matrix (the default value) we have to allow 0 eignvalues.
Also, is this enough to conclude the diagonal elements are always non negative?
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.
Yes, you are right, this is actually positive definite. If for instance the var_z
is zero it means that in the Z direction there is no variance which is not realistic, I will revise the function name.
Also yes, the diagonal elements are guaranteed to be non-negative.
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.
I see, but the default value in the proto will be 0, so I think we should either support the zero matrix (which has 0 eigenvalues) or we need to set a default value in the proto (via default keyword) that is large.
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.
I set the matrix validation check to False by default. Also it looks like we could not set default value in proto3. In this case I think it would make more sense to ensure the value on the caller side.
f520398
to
d9920df
Compare
efd5679
to
21b9d0a
Compare
b0e7445
to
7c30ad0
Compare
7c30ad0
to
c8dd7fe
Compare
No description provided.