peteanderson80 / Matterport3DSimulator

AI Research Platform for Reinforcement Learning from Real Panoramic Images.
Other
496 stars 129 forks source link

Navigable viewpoints issue #70

Closed TommeyChang closed 4 years ago

TommeyChang commented 4 years ago

Dear @peteanderson80 ,

Thank you for your excellent contribution!

Following your description, a "state" contains a list of objects (one for each agent in the batch). The "navigableLocations" is one of the attributes of the objects. And the definition of the "navigableLocations" is "List of viewpoints you can move to. Index 0 is always the current viewpoint, i.e. don't move. The remaining valid viewpoints are sorted by their angular distance from the image centre." With this attribute, we can get all navigable viewpoints around the location.

At the same time, we can get the navigable viewpoint from "connectivity", which contains Json navigation graphs.

To our surprise, the navigable viewpoints for one location are different from the two methods.

Can you tell me why?

There are some examples below:

Scan Id: dhjEzFoUFzH env navigable viewpoint: ['9f7652b8f59f4eac8c2814819ee5c800', '5a2b0cec842f410fa3bbb3717164d7c6'] Graph navigable viewpoints: ['1cdb8e8d3e394e20a3571b04b95e741c', '77765bc787774a07806ee129edbb9891', 'd2184288160141a2bf75ac6665b9f56e', '5a2b0cec842f410fa3bbb3717164d7c6', '7fe2b3bb1aab48328a4fcab561f0dd9a', '7e3303b5e5384a5896e604c124568a5c', 'f2542178d81e42d89648bb2949f16226', '58ef28b3b7374eea8707985c8d50e4d2'] Scan Id: aayBHfsNo7d env navigable viewpoint: ['9997a34a10ad4502ae927f0855f670a5', '5817f7eadd7e43ffa7d3eeed279f123d'] Graph navigable viewpoints: ['ff013cbd3a924e4fa524cc4d84ac5eb3', '5817f7eadd7e43ffa7d3eeed279f123d', 'c7a5f8ebe9aa432b86414fcf59272bac', 'e1764d52db5b408993663777cdf69130']

peteanderson80 commented 4 years ago

We use the set of neighbors that are "unobstructed" (not "visible") in the json connectivity graph. Further, we exclude viewpoints that have the "included" property set to false. Typically these viewpoints are redundant because there are multiple viewpoints in one place.

The logic for this is here.

TommeyChang commented 4 years ago

I see that. Thanks a lot.