OpenDriveLab / OpenLane

[ECCV 2022 Oral] OpenLane: Large-scale Realistic 3D Lane Dataset
Apache License 2.0
492 stars 46 forks source link

Ref_frame -> Lanes height #51

Closed javierpastorfernandez closed 1 year ago

javierpastorfernandez commented 1 year ago

Hi,

I am writing in regards of the reference frames documentation and transformation between several frames. In special, in:

cam_extrinsics[:3, :3] = np.matmul(np.matmul( 
                             np.matmul(np.linalg.inv(R_vg), cam_extrinsics[:3, :3]), 
                                 R_vg), R_gc) 
 gt_cam_height = cam_extrinsics[2, 3] 
 gt_cam_pitch = 0 

 cam_extrinsics[0:2, 3] = 0.0

I have read from previous issues that the fact of setting x, and y to 0 is to force that when lanes are transformed into Lanelet reference frame, the x, and y coincides with the one of the Waymo Camera coordinate system, right?

I am trying to project the lane points into BEV and obtain both the homography and the 3D Affine transformation that would transform the image and the lane points respectively. I am using the method of https://github.com/yuliangguo/Pytorch_Generalized_3D_Lane_Detection.

For transforming lanes into the plane z=0, they perform the following transformation: Screenshot from 2023-01-02 10-43-01

, and for the image, it uses an homography that depends on the height of the camera with respect to the ground, and the pitch of the camera. When doing this transformations that require cam_pitch and height, the transformation to BEV is wrong

Screenshot from 2023-01-02 10-45-04

Here are my questions:

  1. If I set: cam_extrinsics[2, 3] = 0.0 , then lanes in Lanelet notation should have the same height as with Waymo Camera Coordinate System, right?
  2. Where is the Waymo Vehicle coordinate System located? Is it at ground height? I am assumming its is.
  3. How can I correctly project into BEV? Ive been trying this for months but the lack of documentation is making it difficult.

Thank you very much for the dataset and your attention!

homothetic commented 1 year ago

The vehicle coordinate system seems not at ground height. So if the ground is flat, the z coordinate of the points on the lane are negative in vehicle coordinate system.

jasmine-97 commented 8 months ago

https://github.com/OpenDriveLab/OpenLane/issues/51#issue-1516208489 hi, how do you solve the problem? could you please share your method? Thank you very much!