-
images.txt
注释中的内容说明了cameras的数量,然后每一行依次是:相机id、相机模型、宽、高、相机参数(不同的相机参数不同)
宽、高是相机传感器的参数,决定了拍摄出的图片的尺寸,
# Camera list with one line of data per camera: # CAMERA_ID, MODEL, WIDTH, HEIGHT, PARAMS[] # Number of cameras: 3 1 SIMPLE_PINHOLE 3072 2304 2559.81 1536 1152 2 PINHOLE 3072 2304 2560.56 2560.56 1536 1152 3 SIMPLE_RADIAL 3072 2304 2559.69 1536 1152 -0.0218531
-
cameras.txt
每条数据分为两行:
# Image list with two lines of data per image: # IMAGE_ID, QW, QX, QY, QZ, TX, TY, TZ, CAMERA_ID, NAME # POINTS2D[] as (X, Y, POINT3D_ID) # Number of images: 2, mean observations per image: 2 1 0.851773 0.0165051 0.503764 -0.142941 -0.737434 1.02973 3.74354 1 P1180141.JPG 2362.39 248.498 58396 1784.7 268.254 59027 1784.7 268.254 -1 2 0.851773 0.0165051 0.503764 -0.142941 -0.737434 1.02973 3.74354 1 P1180142.JPG 1190.83 663.957 23056 1258.77 640.354 59070
概念介绍:
quaternion(QW、QX、QY、QZ)
:四元数(Hamilton定义)。用于实现相机坐标系到世界坐标系的转换。四元数(QW、QX、QY、QZ)
转换为->旋转矩阵R
:t
为平移向量。-
第一行依次是IMAGE_ID、
quaternion(QW、QX、QY、QZ)
、变换矩阵(TX、TY、TZ)
、Camera_id、图片名 -
第二行依次是:
-
世界坐标系中的相机中心坐标:C = -R^t \cdot t。
-
相机坐标系P_c点 - > 世界坐标系P_w: P_w = R^t \cdot (P_c -C)
-
世界坐标系P_w点 ->相机坐标系P_c:P_c = R \cdot(P_w - t)
-
-
points3D.txt
ERROR是3D的重投影误差,单位为像素。就是3D点投影回2D的时候和实际检测到的角点的误差(感觉可以用来算loss啊)。
TRACK[]是跟踪信息,记录该3D点在哪些图像中被观测到,包含两个值:
# 3D point list with one line of data per point: # POINT3D_ID, X, Y, Z, R, G, B, ERROR, TRACK[] as (IMAGE_ID, POINT2D_IDX) # Number of points: 3, mean track length: 3.3334 63390 1.67241 0.292931 0.609726 115 121 122 1.33927 16 6542 15 7345 6 6714 14 7227 63376 2.01848 0.108877 -0.0260841 102 209 250 1.73449 16 6519 15 7322 14 7212 8 3991 63371 1.71102 0.28566 0.53475 245 251 249 0.612829 118 4140 117 4473
-
IMAGE_ID和POINT2D_IDX
-
POINT2D_IDX是在
image.txt
中记录的对应的2D图像的角点的索引。
-