OpenLane icon indicating copy to clipboard operation
OpenLane copied to clipboard

A question about prune_3d_lane_by_visibility

Open Aguin opened this issue 3 years ago • 2 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?

Aguin avatar Jul 04 '22 05:07 Aguin

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 avatar Jul 05 '22 05:07 zihanding819

@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.

Aguin avatar Jul 05 '22 05:07 Aguin

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

zihanding819 avatar Sep 27 '22 08:09 zihanding819