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는 맞추어져 있는 상태이다.
'Project' 카테고리의 다른 글
[PCD] Cuboid 필터링 하기 (2) | 2023.02.01 |
---|---|
MaskRCNN 가이드 (0) | 2022.12.14 |
[Pointpillars] Kitti Dataset (0) | 2022.12.05 |
[PointPillars] MMdetection3D와 Kitti dataset 을 활용한 시도 (0) | 2022.12.02 |
MMDetection 3D tutorial #1 (0) | 2022.11.30 |