OpenDriveLab / OpenLane

[ECCV 2022 Oral] OpenLane: Large-scale Realistic 3D Lane Dataset

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A question about prune_3d_lane_by_visibility

Aguin opened this issue · comments

Hi @zihanding819 ,
I notice that gt_lanes = [prune_3d_lane_by_visibility(np.array(gt_lane), np.array(gt_visibility[k])) for k, gt_lane enumerate(gt_lanes)] is removed in v1.1 and gt_visibility is not used in bench, does this mean we should not use the visibility labels in OpenLane?

Hi @Aguin ,
In fact, in v1.1 visibility is still taken into account when calculating cost and error, instead of removing all invisible points in gt at the beginning. When calculating the cost, we divide it into 3 categories by the visibility relationship between pred and gt. And when calculating x_erorr / z_error, only points that are visible in both pred and gt are considered.

@zihanding819 thanks for your reply, gt_visibility_mat is generated by min_y and max_y here https://github.com/OpenPerceptionX/OpenLane/blob/main/eval/LANE_evaluation/lane3d/eval_3D_lane.py#L121, note that invisible points are kept when calculating min_y and max_y.

It is indeed necessary to prune invisible gt points before evaluation and we have fixed this in the new version.