Lidar激光雷达数据要求
激光雷达点云数据可以重建高斯泼溅和三维纹理模型成果,调用者需要将重建所需数据按照指定格式写入JSON文件中。
所需数据包括:
- ✅ 点云数据:通常为LAS格式的点云数据
- ✅ 轨迹线数据:通常为txt格式,每行存储时间戳、位置X/Y/Z
- ✅ 图像数据:图像集合
- ✅ 图像POS:图像的位置XYZ和姿态角数据
- ✅ 相机参数:相机的焦距、主点内参数,以及畸变参数
LIDAR重建参数
| 参数名 | 类型 | 是否必需 | 说明 |
|---|---|---|---|
coordinate_system | JSON | 是 | 图像POS的坐标系,详见coordinate_system |
camera_meta_data | JSON | 是 | 相机参数,详见camera_meta_data |
image_meta_data | JSON | 是 | 图像集合,详见image_meta_data |
lidar_data | JSON | 是 | 激光雷达数据,详见lidar_data |
coordinate_system 对象
| 字段名 | 类型 | 说明 | 示例值 |
|---|---|---|---|
type | int | 坐标系类型:0=LocalENU,1=Local,2=Geographic,3=Projected,4=ECEF | 2 |
type_name | string | 坐标系类型名称(可选,辅助说明) | "Geographic" |
label | string | 坐标系名称(可选) | "WGS 84" |
epsg_code | int | EPSG 代码(地理/投影/地心坐标系需填写) | 4326 |
wkt | string | WKT 字符串(可选,替代 epsg_code) | "..." |
origin_point | array[3] | 原点WGS84坐标 [经度, 纬度, 高程](仅 type=0 LocalENU 时需要) | [114.12, 22.12, 0] |
offset | array[3] | 坐标系原点偏移(可选) | [0, 0, 0] |
如下为最常见的WGS84和CGCS2000坐标系:
{
"type": 2, // 0=LocalENU,1=Local,2=Geographic,3=Projected
"type_name": "Geographic",
"label": "WGS 84", // 坐标系名称
"epsg_code": 4326 // EPSG 代码
}
{
"type": 3, // 0=LocalENU,1=Local,2=Geographic,3=Projected
"type_name": "Projected",
"label": "WGS 84 / UTM zone 50N", // 坐标系名称
"epsg_code": 32650 // EPSG 代码
}
{
"type": 2, // 0=LocalENU,1=Local,2=Geographic,3=Projected
"type_name": "Geographic",
"label": "CGCS2000", // 坐标系名称
"epsg_code": 4490 // EPSG 代码
}
{
"type": 2, // 0=LocalENU,1=Local,2=Geographic,3=Projected
"type_name": "Projected",
"label": "CGCS2000 / 3-degree Gauss-Kruger CM 114E", // 坐标系名称
"epsg_code": 4547 // EPSG 代码
}
camera_meta_data对象
| 字段名 | 类型 | 是否必需 | 说明 |
|---|---|---|---|
id | int | 是 | 相机唯一ID |
meta_data | object | 是 | 相机元信息,详见下表 |
meta_data 子字段说明:
| 字段名 | 类型 | 是否必需 | 说明 |
|---|---|---|---|
projection_model | int | 是 | 镜头模型: 0-透视镜头(k1,k2,k3,p1,p2); 1-鱼眼镜头(k1,k2,k3,k4) |
camera_name | string | 是 | 相机名称 |
width | int | 是 | 传感器宽度(像素) |
height | int | 是 | 传感器高度(像素) |
parameters | array | 是 | 相机内参数组(透视相机顺序为 fx, fy, cx, cy, k1, k2, k3, p1, p2;鱼眼相机顺序为 fx fy cx cy k1 k2 k3 k4) |
constant_parameters | array | 否 | 空三解算时固定相机内参的序号数组,按照parameters中的参数顺序,指定需要固定的参数索引集合(索引从0开始),如透视相机指定[0,1,2,3,4,5,6,7,8]表示固定住所有参数 |
透视镜头
"camera_meta_data": [
{
"id": 1,
"meta_data": {
"projection_model": 0, // 透视相机
"camera_name": "common",
"width": 5280,
"height": 3956,
"parameters": [
3713.29, // fx
3713.29, // fy
2647.02, // cx
1969.28, // cy
-0.11257524, // k1
0.01487443, // k2
-0.00008572, // k3
1e-7, // p1
-0.02706411 // p2
]
}
}
]
鱼眼镜头
"camera_meta_data": [
{
"id": 1,
"meta_data": {
"camera_name": "fisheye", // 鱼眼相机
"projection_model": 1,
"width": 3600,
"height": 3600,
"parameters": [
982.7593599212141, // fx
982.7593599212141, // fy
1747.6373897301492, // cx
1806.4116030074354, // cy
0.03702410479839055, // k1
-0.016007338300982825, // k2
-1.0884582901480562e-05, // k3
-9.773097281093723e-05 // k4
]
}
}
]
image_meta_data对象
| 字段名 | 类型 | 是否必需 | 说明 |
|---|---|---|---|
id | int | 是 | 图像唯一ID |
path | string | 是 | 图像绝对路径 |
meta_data | object | 是 | 图像元信息,详见下表 |
meta_data 子字段说明:
| 字段名 | 类型 | 是否必需 | 说明 |
|---|---|---|---|
width | int | 是 | 图像宽度(像素) |
height | int | 是 | 图像高度(像素) |
camera_id | int | 是 | 对应相机ID |
pos | array[3] | 是 | POS位置 [经度/X, 纬度/Y, 高程/Z] |
pos_sigma | array[3] | 是 | POS位置精度,厘米级RTK定位精度:[0.03,0.03,0.06];分米到米级定位精度:[0.5,0.5,1];米级以上定位精度: [2.0,2.0,5.0],LIDAR数据建议用厘米级精度 |
orientation | array[9] | 否 | 3x3旋转矩阵(9个值,行主序,单位向量,世界坐标系到相机坐标系的旋转矩阵),若为鱼眼图,则强烈建议指定 |
position_constant | bool | 否 | 是否固定位置(true/false),固定位置意味着空三不会优化改变图像的位置,保持输入值 |
dewarp_flag | bool | 否 | 畸变校正标志(true表示图像已去畸变) |
lidar_data数据
| 字段名 | 类型 | 说明 |
|---|---|---|
coordinate_system | JSON | 激光雷达数据的坐标系定义,LAS和轨迹文件必须使用相同坐标系 |
laser_meta_data | array | 激光雷达点云文件元数据列表 |
trajectory_meta_data | array | 激光雷达轨迹数据列表 |
laser_meta_data 子字段
| 字段名 | 类型 | 说明 |
|---|---|---|
id | int | LAS点云数据ID |
path | string | LAS点云文件路径(支持LAS格式) |
trajectory_id | int | 关联的轨迹ID |
trajectory_meta_data 子字段
| 字段名 | 类型 | 说明 |
|---|---|---|
id | int | 轨迹数据ID |
trajectory_points | array | 轨迹点数据列表 |
trajectory_points 子字段
| 字段名 | 类型 | 说明 |
|---|---|---|
pos | array | 位置坐标 [经度/X, 纬度/Y, 高程/Z] |
time | double | 时间戳(秒),必须和LAS点云的时间戳一致 |
示例:
{
"coordinate_system": {
"type": 2,
"epsg_code": 4326
},
"camera_meta_data": [
{
"id": 1,
"meta_data": {
"camera_name": "Left",
"projection_model": 1,
"width": 3600,
"height": 3600,
"parameters": [
982.7593599212141,
982.7593599212141,
1747.6373897301492,
1806.4116030074354,
0.03702410479839055,
-0.016007338300982825,
-1.0884582901480562e-05,
-9.773097281093723e-05
]
}
},
{
"id": 2,
"meta_data": {
"camera_name": "Right",
"projection_model": 1,
"width": 3600,
"height": 3600,
"parameters": [
982.7593599212141,
982.7593599212141,
1747.6373897301492,
1806.4116030074354,
0.03702410479839055,
-0.016007338300982825,
-1.0884582901480562e-05,
-9.773097281093723e-05
]
}
}
],
"image_meta_data":[
{
"id": 1,
"path": "\\left\\2390-195042-472_00395-L.JPG",
"meta_data": {
"width": 3600,
"height": 3600,
"camera_id": 1,
"pos": [
-2272303.077314121,
5011055.355739306,
3215292.943560472
],
"pos_sigma": [0.03,0.03,0.06],
"orientation": [
0.8929275412022056,
0.43070972182403255,
0.13103259781004117,
-0.4500241512548592,
0.8457917052937085,
0.2865565468519331,
0.012596406230632032,
-0.31484206641207435,
0.9490604847782084
]
}
},
{
"id": 2,
"path": "\\right\\2390-195042-472_00395-R.JPG",
"meta_data": {
"width": 3600,
"height": 3600,
"camera_id": 2,
"pos": [
-2272303.117693735,
5011055.368901664,
3215292.967908075
],
"pos_sigma": [0.03,0.03,0.06],
"orientation": [
0.8918935649712837,
0.435497387453275,
0.12193397510204676,
-0.4504120798442928,
0.8311302214603127,
0.3261157973874772,
0.040679566039387514,
-0.34578111645476495,
0.9374329802231962
]
}
}
],
"lidar_data": {
"coordinate_system": {
"type": 3,
"epsg_code": 32632
},
"laser_meta_data": [ // 激光雷达点云文件列表
{
"id": 1, // 文件ID
"path": "C:/path/to/file.las", // 点云文件路径
"trajectory_id": 1 // 对应的轨迹ID
}
],
"trajectory_meta_data": [ // 激光雷达轨迹数据
{
"id": 1, // 轨迹ID
"trajectory_points": [ // 轨迹点列表
{
"pos": [ // 位置坐标 [X, Y, Z]
-2272285.667,
5011024.157,
3215249.921
],
"time": 284833.06453 // 时间戳
},
....
]
}
]
}
}