以Examples/Stereo-Inertial文件夹下EuRoc.yaml为例
Camera.type: "PinHole"
相机类型:ORBSLAM3中支持两种相机类型PinHole和KannalaBrandt8。除这两种相机类型外,其余类型或者不给出具体类型时程序报错Not Supported Camera Sensor
Camera.fx: 435.2046959714599
Camera.fy: 435.2046959714599
Camera.cx: 367.4517211914062
Camera.cy: 252.2008514404297
Camera.k1: 0.0
Camera.k2: 0.0
Camera.p1: 0.0
Camera.p2: 0.0
Camera.width: 752
Camera.height: 480
# Camera frames per second
Camera.fps: 20.0
# stereo baseline times fx
Camera.bf: 47.90639384423901
# Color order of the images (0: BGR, 1: RGB. It is ignored if images are grayscale)
Camera.RGB: 1
# Close/Far threshold. Baseline times.
ThDepth: 35.0 # 35
相机内参部分。其中fx,fy,cx,cy,k1,k2,p2,p2,k3(可选)是相机内参的组成部分具体含义不进行过多描述。上述参数必须是float类型!!!
fx为f/dx,其中f单位为mm,dx单位一般为mm/像素。fx的单位为像素。
下面的参数需要详细解释:
- Camera.fps: 每秒相机的帧数,相机拍照的频率。类型没有明确要求,最好是float
- Camera.bf:双目相机baseline和相机焦距的乘积,即bf=b*f。单位为mm。必须为float类型
- ThDepth:相机的有效深度,必须是float类型
# Transformation from camera 0 to body-frame (imu)
Tbc: !!opencv-matrix
rows: 4
cols: 4
dt: f
data: [0.0148655429818, -0.999880929698, 0.00414029679422, -0.0216401454975,
0.999557249008, 0.0149672133247, 0.025715529948, -0.064676986768,
-0.0257744366974, 0.00375618835797, 0.999660727178, 0.00981073058949,
0.0, 0.0, 0.0, 1.0]
# IMU noise
IMU.NoiseGyro: 1.7e-04 # 1.6968e-04
IMU.NoiseAcc: 2.0e-03 # 2.0000e-3
IMU.GyroWalk: 1.9393e-05
IMU.AccWalk: 3.e-03 # 3.0000e-3
IMU.Frequency: 200
imu内参部分。Tbc是从相机(左相机)到imu的转移矩阵。
注:IMU.Frequency必须是int类型。
# Stereo Rectification. Only if you need to pre-rectify the images.
# Camera.fx, .fy, etc must be the same as in LEFT.P
LEFT.height: 480
LEFT.width: 752
LEFT.D: !!opencv-matrix
rows: 1
cols: 5
dt: d
data:[-0.28340811, 0.07395907, 0.00019359, 1.76187114e-05, 0.0]
LEFT.K: !!opencv-matrix
rows: 3
cols: 3
dt: d
data: [458.654, 0.0, 367.215, 0.0, 457.296, 248.375, 0.0, 0.0, 1.0]
LEFT.R: !!opencv-matrix
rows: 3
cols: 3
dt: d
data: [0.999966347530033, -0.001422739138722922, 0.008079580483432283, 0.001365741834644127, 0.9999741760894847, 0.007055629199258132, -0.008089410156878961, -0.007044357138835809, 0.9999424675829176]
LEFT.Rf: !!opencv-matrix
rows: 3
cols: 3
dt: f
data: [0.999966347530033, -0.001422739138722922, 0.008079580483432283, 0.001365741834644127, 0.9999741760894847, 0.007055629199258132, -0.008089410156878961, -0.007044357138835809, 0.9999424675829176]
LEFT.P: !!opencv-matrix
rows: 3
cols: 4
dt: d
data: [435.2046959714599, 0, 367.4517211914062, 0, 0, 435.2046959714599, 252.2008514404297, 0, 0, 0, 1, 0]
RIGHT.height: 480
RIGHT.width: 752
RIGHT.D: !!opencv-matrix
rows: 1
cols: 5
dt: d
data:[-0.28368365, 0.07451284, -0.00010473, -3.555907e-05, 0.0]
RIGHT.K: !!opencv-matrix
rows: 3
cols: 3
dt: d
data: [457.587, 0.0, 379.999, 0.0, 456.134, 255.238, 0.0, 0.0, 1]
RIGHT.R: !!opencv-matrix
rows: 3
cols: 3
dt: d
data: [0.9999633526194376, -0.003625811871560086, 0.007755443660172947, 0.003680398547259526, 0.9999684752771629, -0.007035845251224894, -0.007729688520722713, 0.007064130529506649, 0.999945173484644]
RIGHT.P: !!opencv-matrix
rows: 3
cols: 4
dt: d
data: [435.2046959714599, 0, 367.4517211914062, -47.90639384423901, 0, 435.2046959714599, 252.2008514404297, 0, 0, 0, 1, 0]
当输入的第4个参数为true时使用,即需要利用上述参数对图像进行去畸变处理。
- D:[k1,k2,p1,p2,k3]畸变参数
- K:[fx,0.0,cx,0.0,fy,cy,0.0,0.0,1.0]相机内参矩阵
- R/Rf:对于每个摄像机,该函数计算单应H作为像素域中的校正变换,而不是3D空间中的旋转矩阵R。R可由H计算。具体描述见OpenCV文档
- P:[fx,0.0,cx,0.0,0.0,fy,cy,0.0,0.0,0.0,1.0,0.0]相机投影矩阵,左相机一般为相机内参矩阵,右相机和左相机之间相差一个x方向的平移(双目相机的baseline)。
#--------------------------------------------------------------------------------------------
# ORB Parameters
#--------------------------------------------------------------------------------------------
# ORB Extractor: Number of features per image
ORBextractor.nFeatures: 1200 #2000
# ORB Extractor: Scale factor between levels in the scale pyramid
ORBextractor.scaleFactor: 1.2
# ORB Extractor: Number of levels in the scale pyramid
ORBextractor.nLevels: 8
# ORB Extractor: Fast threshold
# Image is divided in a grid. At each cell FAST are extracted imposing a minimum response.
# Firstly we impose iniThFAST. If no corners are detected we impose a lower value minThFAST
# You can lower these values if your images have low contrast
ORBextractor.iniThFAST: 20 #10
ORBextractor.minThFAST: 7 #5
- nFeatures:特征点的个数
- scaleFactor:相邻层图像的比例系数
- nlevels:构造金字塔的层数
- iniThFAST:检测fast角点阈值
- minThFAST:没有检测到角点的前提下降低阈值
参数的选取会对特征点提取的个数和匹配造成影响,也会对建图结果有一定的影响。可以根据数据集和程序对这些参数进行更改。
#--------------------------------------------------------------------------------------------
# Viewer Parameters
#--------------------------------------------------------------------------------------------
Viewer.KeyFrameSize: 0.05
Viewer.KeyFrameLineWidth: 1
Viewer.GraphLineWidth: 0.9
Viewer.PointSize:2
Viewer.CameraSize: 0.08
Viewer.CameraLineWidth: 3
Viewer.ViewpointX: 0
Viewer.ViewpointY: -0.7
Viewer.ViewpointZ: -1.8
Viewer.ViewpointF: 500
可视化参数