Replies: 1 comment
-
Hi there, saw your Isaac Sim post about occlusion outputs not lining up with your objects/labels. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
The occlusion annotator outputs a 1D numpy array with dtype
[("instanceId", "<u4"), ("semanticId", "<u4"), ("occlusionRatio", "<f4")]
.This seems sensible enough, except that in my case I don't have semanticIds (I am assigning semantic labels through replicator, because I found that otherwise the semantic segmentation annotator does not obtain any semantic info), so they are always zero. I therefore want to use the instanceIds, which appear to be unique for every entry but seem to be entirely unrelated to any instanceId I can obtain through code.
For example, if I also enable the instance segmentation annotator,
instance_seg_data["info"]["idToSemantics"]
lookls like this:And the occlusion data, filtered for entries for which the occlusionRatio is not -1 (which I think means that the instance is not visible at all?), looks like this:
There is neither any correspondence between these two different concepts of "instanceId`, nor is the number of outputs the same. I suspect that the occlusion annotator outputs occlusion even for things that do not have any semantic labels, which is fine. But then my question is: how on earth do I interpret the occlusion instanceIds so I can trace them back to my actual instances of interest?
Update:
Even if I replace
rep.modify.semantics
withadd_update_semantics(prim, semantic_label=label)
, all semanticIds in the occlusion data are still zero. If neither of these two approaches has any effect on the occlusion data, then what is the correct way to get the semantic labels to be non-zero?Beta Was this translation helpful? Give feedback.
All reactions