Project

[Pointpillars] Kitty Dataset #2

scone 2022. 12. 5. 17:56

Kitty Dataset

- https://mmdetection3d.readthedocs.io/en/latest/tutorials/customize_dataset.html 참고

- https://mmdetection3d.readthedocs.io/en/latest/tutorials/pure_point_cloud_dataset.html 참고

{0: {'velodyne_path': 'training/velodyne/000000.bin',
  'image': {'image_shape': (370, 1224),
   'image_path': 'training/image_2/000000.png',
   'image_idx': 0},
  'calib': {'P0': array([[707.0493,   0.    , 604.0814,   0.    ],
          [  0.    , 707.0493, 180.5066,   0.    ],
          [  0.    ,   0.    ,   1.    ,   0.    ],
          [  0.    ,   0.    ,   0.    ,   1.    ]]),
   'P1': array([[ 707.0493,    0.    ,  604.0814, -379.7842],
          [   0.    ,  707.0493,  180.5066,    0.    ],
          [   0.    ,    0.    ,    1.    ,    0.    ],
          [   0.    ,    0.    ,    0.    ,    1.    ]]),
   'P2': array([[ 7.070493e+02,  0.000000e+00,  6.040814e+02,  4.575831e+01],
          [ 0.000000e+00,  7.070493e+02,  1.805066e+02, -3.454157e-01],
          [ 0.000000e+00,  0.000000e+00,  1.000000e+00,  4.981016e-03],
          [ 0.000000e+00,  0.000000e+00,  0.000000e+00,  1.000000e+00]]),
   'P3': array([[ 7.070493e+02,  0.000000e+00,  6.040814e+02, -3.341081e+02],
          [ 0.000000e+00,  7.070493e+02,  1.805066e+02,  2.330660e+00],
          [ 0.000000e+00,  0.000000e+00,  1.000000e+00,  3.201153e-03],
          [ 0.000000e+00,  0.000000e+00,  0.000000e+00,  1.000000e+00]]),
   'R0_rect': array([[ 0.9999128 ,  0.01009263, -0.00851193,  0.        ],
          [-0.01012729,  0.9999406 , -0.00403767,  0.        ],
          [ 0.00847068,  0.00412352,  0.9999556 ,  0.        ],
          [ 0.        ,  0.        ,  0.        ,  1.        ]]),
   'Tr_velo_to_cam': array([[ 0.00692796, -0.9999722 , -0.00275783, -0.02457729],
          [-0.00116298,  0.00274984, -0.9999955 , -0.06127237],
          [ 0.9999753 ,  0.00693114, -0.0011439 , -0.3321029 ],
          [ 0.        ,  0.        ,  0.        ,  1.        ]]),
   'Tr_imu_to_velo': array([[ 9.999976e-01,  7.553071e-04, -2.035826e-03, -8.086759e-01],
          [-7.854027e-04,  9.998898e-01, -1.482298e-02,  3.195559e-01],
          [ 2.024406e-03,  1.482454e-02,  9.998881e-01, -7.997231e-01],
          [ 0.000000e+00,  0.000000e+00,  0.000000e+00,  1.000000e+00]])},
  'annos': {'name': array(['Pedestrian'], dtype='<U10'),
   'truncated': array([0.]),
   'occluded': array([0]),
   'alpha': array([-0.2]),
   'bbox': array([[712.4 , 143.  , 810.73, 307.92]]),
   'dimensions': array([[1.2 , 1.89, 0.48]]),
   'location': array([[1.84, 1.47, 8.41]]),
   'rotation_y': array([0.01]),
   'difficulty': array([0]),
   'num_points_in_gt': array([377])}},

Point Cloud

  • binary 파일 : 읽어본 결과, ( x,y,z,l )  로 구성되어 있음.

Calib

  • P0 : 왼쪽 흑백 카메라(3 x 4)
  • P1 : 오른쪽 흑백 카메라(3 x 4)
  • P2 : 왼쪽 컬러 카메라(3 x 4)
  • P3 : 오른쪽 컬러 카메라(3 x 4)
  • R0_ret : 회전 보정 행렬 (3 x 3)
  • Tr_velo_to_cam : 라이다의 좌표계에서 카메라 좌표계로의 변환 행렬 (3 x 4)
  • Tr_imu_to_velo : IMU 좌표계에서 라이다 좌표계로의 변환 행렬 (3 x 4)

 

Annotation

  • alpha : Observation angle of object [-pi , pi]
  • dimensions : height, width, length (in meters)
  • rotation y : rotation ry around Y axis in camera coordinates [-pi, .. pi], an Narray
  • bbox : 2D Bounding Box (left, top, right, bottom)
  • location : 3D object location x,y,z in camera coordinates (in meters)

 

 

 

현재 가지고 있는 데이터

 

  • 3D Bounding Box ( x, y, z )
    • object의 cuboid 좌표 8개를 의미.
  • Central Point ( x, y, z )
    • Cuboid 의 중심 좌표
  • volume
    • Cuboid의 부피
  • rotation (x, y, z)
    • object의 forward Vector를 의미한다.
  • pointcloud (txt)
    • x, y, z, l 로 나올 것으로 보인다. l은 레이저의 세기
  • 참고) 라이다와 카메라의 화각과 FPS는 맞추어져 있는 상태이다.