yuantianyuan01 / StreamMapNet

GNU General Public License v3.0
170 stars 15 forks source link

Questions about map instance representation #8

Closed FURYTAIL closed 9 months ago

FURYTAIL commented 10 months ago

Hi, thanks for the great work.

I'm new to HDMap generation and very curious about how the map insatnce is representated by the output of the decoder part in your great work.

Pedestrian crossings for exmaple.

Since the a query(which represents a map instance) passes through a MLP, a vector contains Np (20 by default) points and 1 classification result will be generated.

I wonder how the pedestrian crossings is representated by these points, since the pedestrian crossings in visualized output is always shown as a polygon and the amout of the points that forms this polygon is mostly less than 20.

Does that mean not evey predicted point is valid? Then how to filter those points that are not valid and how to determine which of the valid points should be the first point (and the last point, since the polygon is closed) that forms the correct polygon. If so, can you plz show me where the valid point selection mechanism in this repo is.

Or does that mean every one of those 20 points are valid and only a few of them is selected to give a clear and concise visualization result.

Thanks 4 your patience and attention.

FURYTAIL commented 10 months ago

Like in MarTR, every map instance in visualization result is strictly form by 20 points.

yuantianyuan01 commented 9 months ago

In visualization we use polygon.simplify to simplify the polygons in order to make the results clearer. This is why you might notice varying numbers of points in different map instances. The model's actual input and output, however, are configured for 20 points per instance.

FURYTAIL commented 9 months ago

Thanks for your kind reply