-
Notifications
You must be signed in to change notification settings - Fork 506
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
Added ObjectNav task definition, dataset, metrics, goal sensor #284
Conversation
7a81e9f
to
0b8ecc6
Compare
MAX_EPISODE_STEPS: 750 | ||
SIMULATOR: | ||
TURN_ANGLE: 30 | ||
TILT_ANGLE: 30 |
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.
We are planning to add look_up and look_down actions to the action space for the challenge? If so, we should add a max tilt angle parameter.
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.
We are planning to add look_up and look_down actions to the action space for the challenge?
Yes, so the agent can see objects hanging on the wall or placed on the floor.
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.
Ah, any suggestion for the max title angle then?
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.
-90..+90 degrees?
This is relevant to my interests, is there an associated dataset for this? |
Dataset and challenge details for CVPR20 challenge/workshop are coming soon. |
0b8ecc6
to
df8ba3d
Compare
Address the comments, refactored drawing functions, update the config. PR depends on #290. |
27d8546
to
20a21bc
Compare
20a21bc
to
8dd1945
Compare
Codecov Report
@@ Coverage Diff @@
## master #284 +/- ##
==========================================
+ Coverage 77.05% 77.33% +0.28%
==========================================
Files 108 108
Lines 7077 7086 +9
==========================================
+ Hits 5453 5480 +27
+ Misses 1624 1606 -18
Continue to review full report at Codecov.
|
Does "compatible with benchmark api" refer to |
WIDTH: 640 | ||
HEIGHT: 480 | ||
HFOV: 79 | ||
MIN_DEPTH: 0.5 |
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.
Is there a reason for using a MIN_DEPTH
of 0.5
, the default config uses a value of 0
?
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, that is motivated by real depth camera.
@@ -559,51 +565,95 @@ def get_original_map(self): | |||
|
|||
return top_down_map | |||
|
|||
def draw_source_and_target(self, episode): |
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.
Just to double check, what exactly is the reason for getting rid of this method. From what I can tell by default the target point is drawn always and there is a config parameter to control drawing of the source point.
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.
It was broke into _draw_point
and _draw_goals_positions
as we start drawing more sophisticated goals.
habitat/core/utils.py
Outdated
""" | ||
|
||
# Version of JSON library that encoder is compatible with. | ||
__version__ = "2.0.9" |
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.
How is this __version__
being used, maybe rename it to version_compatible
, __version__
is mostly used to indicate the version of package (which in this case is habitat
).
) | ||
|
||
assert set(self.category_to_task_category_id.keys()) == set( | ||
self.category_to_mp3d_category_id.keys() |
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.
Should we have Matterport3d (mp3d
) specific variable names here, is this implementation dataset (Matterport3D, Gibson) agnostic?
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.
That's good question. We can change category_to_mp3d_category_id
to category_to_scene_annotation_category_id
and then use scene dataset type for further category conversions. cc @Skylion007
@@ -614,7 +664,7 @@ def reset_metric(self, *args: Any, episode, **kwargs: Any): | |||
self._coordinate_min, | |||
self._coordinate_max, | |||
self._map_resolution, | |||
)[::-1] |
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.
What is the reason for getting rid of the list reversal here?
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.
Because, maps.draw_path
method was changed that switching x and y isn't needed anymore. That makes maps.draw_path
easier to use.
habitat/utils/visualizations/maps.py
Outdated
@@ -47,6 +49,8 @@ | |||
TOP_DOWN_MAP_COLORS[MAP_SOURCE_POINT_INDICATOR] = [0, 0, 200] | |||
TOP_DOWN_MAP_COLORS[MAP_TARGET_POINT_INDICATOR] = [200, 0, 0] | |||
TOP_DOWN_MAP_COLORS[MAP_SHORTEST_PATH_COLOR] = [0, 200, 0] | |||
TOP_DOWN_MAP_COLORS[MAP_VIEW_POINT_INDICATOR] = [245, 150, 150] |
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.
nit: if possible add color names here, it would be useful for someone reading the codebase.
|
…endent on DistToGoal, added metrics calc to reset method
07c5aaf
to
bcfb573
Compare
…oning from ObjectNavDataset
|
1708855
to
c928734
Compare
VIDEO_OPTION: ["disk", "tensorboard"] | ||
TENSORBOARD_DIR: "/checkpoint/maksymets/logs/habitat_baselines/ddppo/obj_nav_mp3d" | ||
VIDEO_DIR: "data/video_dir" | ||
TEST_EPISODE_COUNT: 2 |
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.
Let's put the actual number of val episodes here. It is hard to figure out what number should go here when you want to evaluate on everything otherwise.
5e6c130
to
c105390
Compare
c105390
to
1e4563d
Compare
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.
LGTM 👍
…ookresearch#284) Added ObjectNav task definition, dataset, metrics, goal sensor. ObjectGoal Nav Task definition: metrics, goals, sensors with documentations. ObjectGoal Nav Dataset definition and loading and link for downloading. Topdown target objects, view points, bounding boxes visualization Compatible with Benchmark API Added ObjectNav DDPPO config for a baseline Made PointNavDataset general enough to be inherited by other Dataset types Refactored RLEnv to use measures for reward and success to speed up distance calculations Added mechanism for Measures (Metrics) classes to be depend on other measure. That increased speed and calculation and decrease copy pasta. Speed improvements 2x: from 8 FPS to 15.5 FPS, compare to 40 FPS for PointGoal with same setup. made SPL dependent on DistanceToGoal added metrics calc to reset method for SPL and DistanceToGoal
Motivation and Context
Added ObjectNav task definition, dataset, metrics, goal sensor.
with @Skylion007, inspired by @erikwijmans's an initial implementation.
How Has This Been Tested
Examples of the Object Goal Navigation Episodes:
Goal semantic category: chair
Goal semantic category: picture
Goal semantic category: sink
The target object is highlighted by red overlay on RGB image.
Map colors:
Red is a center of the target objet.
Green is an axes aligned bounding box of the target objet.
Red overlay zone near the target objects is view points/success zone.
Types of changes