Sensor Data Format
Sensor data 저장 방법
센서를 세팅한 상태에서 시뮬레이터 상에 Space Key를 누른다.
키를 누르면 아래와 같이 SaveFile/SensorData/ 폴더에 센서에서 나오는 센싱 데이터와 라벨 데이터가 Space Key를 누른 시점에 대해서 저장된다.
LiDAR Point Cloud
저장 포멧 : bin 파일
bin 파일 내 4바이트 씩 포인트 클라우드의 x, y, z, intensity가 공백없이 일렬로 저장되어 있음. 원점은 라이다를 마운트한 위치.
파이썬 사용자의 경우, numpy 의 fromfile 을 통해서 아래와 같이 load가 가능함.
라이다 포인트 클라우드는 semantic 설정 시 차량, 보행자, 차선 등 object class 마다 다른 intensity가 나오도록 되어 있음.

Class | Intensity (unsigned integer 8) |
---|---|
Asphalt | 127 |
Building | 153 |
Traffic Light | 190 |
White Lane | 255 |
Yellow Lane | 170 |
Blue Lane | 144 |
Road Sign | 127 |
Traffic Sign | 132 |
Crosswalk | 136 |
Stop Line | 85 |
Sidewalk | 129 |
Road Edge | 178 |
Standing OBJ | 109 |
Object On Road | 92 |
Vehicle | 86 |
Pedestrian | 118 |
Obstacle | 164 |
StopLinePrefabs | 92 |
Light | 94 |
Obstacle1 | 67 |
Obstacle2 | 101 |
Obstacle3 | 101 |
Obstacle4 | 67 |
Obstacle5 | 101 |
Sedan | 125 |
SUV | 135 |
Truck | 145 |
Bus | 155 |
Van | 165 |
Stroller | 40 |
Stroller_person | 50 |
ElectronicScooter | 60 |
ElectronicScooter_Person | 70 |
Bicycle | 80 |
Bicycle_Person | 90 |
Motorbike | 100 |
Motorbike_Person | 110 |
Sportbike | 120 |
Sportbike_Person | 130 |
라이다 포인트 클라우드는 instance 설정 시 차량과 보행자 별로 다른 intensity가 나오도록 할 수 있음. 이는 라이다로 잡히는 shape 마다 서로 다른 identity를 부여하기 위한 용도로 쓰임.

Class | Intensity (unsigned integer 8) |
---|---|
Vehicle | 0 ~ 149 |
Pedestrian | 150 ~ 254. |
Obstacle | Random (50, 100, 150, 200, 250, 45, 90, …) 50씩 증가 |
저장 위치는 SaveFile/SensorData/LIDAR_* 이며, 파일 이름은 포인트 클라우드를 저장한 날짜와 시간으로 정해짐.
3D Bounding Box
22.R2.0 버전부터 AV (Autonomous Vehicle)의 인지 성능 향상을 위해 3D Bounding Box Object의 3차원 회전각 모두 제공함. 3D Bounding Box 파일(.txt)에 Yaw 외 Roll, Pitch 추가함.
저장 포멧 : txt 파일
txt 파일 안 3d bbox 포멧 (key : value)
0 : 3d bbox들의 클래스 이름
Vehicle, Pedestrian, Object
1 : 3d bbox들의 클래스 id
Vehicle : 0, Pedestrian : 1, Object : 2
2-4 : center_x, center_y, center_z of 3d bbox (단위 : m)
LiDAR 좌표계를 기준으로 계산된 Object 좌표계의 원점
LiDAR 좌표계는 X-axis : Forward, Y-axis : Left, Z-axis : Up인 ISO 8855 convention을 따름
5-7 : roll (x 방향), pitch (y 방향), yaw (z 방향) of 3D BBox (단위 : radian)
LiDAR 좌표계를 기준으로 계산된 Object 좌표계의 회전각
8-10 : size_x (x 방향), size_y (y 방향), size_z (z 방향) (단위 : m)
11-12 : 상대 거리와 상대 속도 (단위 : m, m/s)
13 : 감지된 물체의 unique ID

저장 위치는 SaveFile/SensorData/LIDAR_* 이며, 파일 이름은 저장한 날짜와 시간으로 정해짐.
RGB Image
저장 포멧 : jpeg 파일
카메라를 설치한 후, 카메라 세팅 패널 창 Image Setting 부분 Ground Truth 항목에 None으로 설정해야 RGB로 저장 됩니다.

저장 위치는 SaveFile/SensorData/CAMERA_* 이며, 파일 이름은 이미지를 저장한 날짜와 시간으로 정해짐.
Semantic Segmentation Image
저장 포멧 : png 파일
카메라를 설치한 후, 카메라 세팅 패널 창 Image Setting 부분 Ground Truth 항목에 Semantic으로 설정해야 semantic 라벨 이미지로 저장됨.

Segmentation 이미지 라벨링 맵의 RGB 값은 아래와 같음.
Class | R | G | B |
---|---|---|---|
Sky | 0 | 255 | 255 |
ETC | 23 | 2 | 6 |
Asphalt | 127 | 127 | 127 |
Building | 153 | 255 | 51 |
Traffic Light | 255 | 74 | 240 |
White Lane | 255 | 255 | 255 |
Yellow Lane | 255 | 255 | 0 |
Blue Lane | 0 | 178 | 255 |
Road Sign | 204 | 127 | 51 |
Traffic Sign | 99 | 48 | 250 |
Crosswalk | 76 | 255 | 76 |
Stop Line | 255 | 0 | 0 |
Sidewalk | 255 | 102 | 30 |
Road Edge | 178 | 178 | 178 |
Standing OBJ | 113 | 178 | 37 |
Object On Road | 178 | 9 | 90 |
Vehicle | 255 | 2 | 2 |
Pedestrian | 98 | 2 | 255 |
Obstacle | 236 | 255 | 2 |
StopLinePrefabs | 255 | 22 | 0 |
Light | 255 | 2 | 25 |
Obstacle1 | 100 | 100 | 2 |
Obstacle2 | 200 | 100 | 2 |
Obstacle3 | 100 | 200 | 2 |
Obstacle4 | 2 | 100 | 100 |
Obstacle5 | 2 | 200 | 100 |
Sedan | 255 | 60 | 60 |
SUV | 255 | 75 | 75 |
Truck | 255 | 90 | 90 |
Bus | 255 | 105 | 105 |
Van | 255 | 120 | 120 |
Stroller | 120 | 0 | 0 |
Stroller_person | 120 | 15 | 15 |
ElectronicScooter | 140 | 20 | 20 |
ElectronicScooter_Person | 140 | 35 | 35 |
Bicycle | 160 | 40 | 40 |
Bicycle_Person | 160 | 55 | 55 |
Motorbike | 180 | 60 | 60 |
Motorbike_Person | 180 | 75 | 75 |
Sportbike | 200 | 80 | 80 |
Sportbike_Person | 200 | 95 | 95 |
저장 위치와 파일 이름은 RGB 이미지를 저장하는 방식과 동일함.
Instance Image
이미지 저장 포멧 : png 파일
2d bbox 라벨링 : txt 파일
카메라를 설치한 후, 카메라 세팅 패널 창 Image Setting 부분 Ground Truth 항목에 instance으로 설정해야 instance 라벨 이미지와 2d bbox로 저장됨.

Instance 라벨 이미지는 같은 클래스라도 다른 픽셀 값으로 라벨링 되어 있어서 클래스 안에 ID 를 구분하도록 만듬.
txt 파일 안에 들어가는 2d bbox는 KITTI data set과 되도록 비슷한 포멧으로 구성함.
1 : 2d bbox들의 클래스
Vehicle
Pedestrian
Object
2 : Truncated(1), 현재는 0으로만 출력.
3 : Occluded(1), 현재는 0으로만 출력.
4 : Alpha(1), 현재는 0으로만 출력.
5-8 : 2d bbox의 좌상단 우하단 좌표. 순서대로 x1, y1, x2, y2
9-11 : 물체의 dimension. point cloud 3d bbox와 중복되므로 0으로만 출력
12-14 : 물체의 location. point cloud 3d bbox와 중복되므로 0으로만 출력
15 : 물체의 회전각 (yaw). point cloud 3d bbox와 중복되므로 0으로만 출력
16 : 물체와 카메라간 상대 거리
17-19 : 물체와 카메라간 상대 속도 x, y, z
저장 위치와 파일 이름은 RGB 이미지를 저장하는 방식과 동일함.
GPS data
저장 포멧 : txt 파일
txt 파일 안 GPS data 포멧
1 : Latitude (단위 : deg)
2 : Longitude (단위 : deg)
3 : Altitude (단위 : m)
4 : EastOffset (단위 : m)
5 : NorthOffset (단위 : m)
저장 위치는 SaveFile/SensorData/GPS_* 이며, 파일 이름 또한 저장한 날짜와 시간으로 정해짐.
IMU data
저장 포멧 : txt 파일
txt 파일 안 IMU data 포멧
1-2 : TimeStamp. 1은 초 단위, 2는 나노초 단위.
3-6 : Orientation X, Y, Z, W. 쿼터니안 기준 각속도.
7-9 : Angular Velocity X, Y, Z. 각속도의 X, Y, Z 축 기준 component (단위 : rad/s)
10-12 : Linear Acceleration X, Y, Z. 각속도의 X, Y, Z 축 기준 component (단위 : m/s^2)
저장 위치는 SaveFile/SensorData/IMU_* 이며, 파일 이름 또한 저장한 날짜와 시간으로 정해짐.
Radar Data
저장 포멧 : bin 파일
bin 파일 내 4바이트 씩 레이더 데이터의 x, y, z 방향별로 위치와 속도, 가속도 등이 공백없이 일렬로 저장되어 있음. 원점은 레이더를 마운트한 위치.
1-3 : 클러스터의 x, y, z 별 위치
4-6 : 클러스터의 x, y, z 별 속도
7-9 : 클러스터의 x, y, z 별 가속도
10-12 : 클러스터의 x, y, z 별 사이즈
13 : amplitude
파이썬 사용자의 경우, numpy 의 fromfile 을 통해서 아래와 같이 load가 가능함.
저장 위치는 SaveFile/SensorData/RADAR_* 이며, 파일 이름은 포인트 클라우드를 저장한 날짜와 시간으로 정해짐.
