Closed antonilo closed 6 years ago
Hi @antonilo, thank you for trying out MINOS.
You can perform this sort of filtering by using code similar to the example given in https://github.com/minosworld/minos/issues/22#issuecomment-387626308 to obtain the categories of all objects present in a scene and then check against the category you want to ensure is absent.
With regards to the terminology, here are some brief definitions that hopefully clarify a bit:
Hi @msavva, thanks for your comment. How can I get all objects that are present in a scene? I guess then I need to regenerate a new state file (as episode_states.suncg.csv) with only the considered scenes, am i right?
I have made a little modification to Roomsimulator.py to change scene if the object is not found. I am basically checking whether there is a path to the goal. Unfortunately this can't be passed as a "scene filter", so I guess performance could be improved. I can make a pull request if that is of interest for you guys.
The code at https://github.com/minosworld/minos/issues/22#issuecomment-387626308 shows an example of how to get all object nodes present in a given scene. You are right that if you want to generate a pre-filtered set of scenes and episodes such that they are guaranteed to not contain a particular object you would do that by creating new scenes.multiroom.csv
and episode_states.suncg.csv
. The first specifies the scene train/val/test split, and the second specifies pre-sampled episodes in those scenes for val and test runs.
Pull requests with new features are encouraged and highly appreciated!
I am wondering whether is possible to filter out scenes / episodes if a particular category of objects (e.g. stairs) is absent. I assume that the configuration file has to be changed, but I did not find any evident way to do it. Moreover, I am not entirely sure what the difference between scene, state and episode is. Could you please comment on it?
Thanks a lot in advance!