用于Matlab的多摄像机系统校准工具箱
这是用于校准多摄像机系统的工具箱。该工具箱的要求是系统中的两个相邻摄像机应该能够同时看到校准板的某些部分。一般来说,如果两个相机的方向之间的角度不超过90°,则该工具箱可以适用于您的系统。
工具箱与本文有关:
使用基于特征描述符的校准模式的多摄像机系统校准工具箱,提交给IEEE / RSJ智能机器人和系统国际会议(IROS),2013。
该工具箱还利用了Bouguet校准工具箱中的一些实用程序代码
内容
系统要求
该工具箱需要Matlab 2012b或更高版本,可用于Windows,Unix和Linux系统。
快速开始
获取校准图案并拍摄图像
工具箱检测SURF功能作为校准的对应关系。您可以使用提供的Matlab函数生成一个充满SURF功能的随机模式:
pattern = generatePattern(N, M);
在哪里 N
和 M
是像素的高度和宽度的图案。
打印图案并将其粘贴在平板上后,您可以通过相机系统拍摄图案。您的相机系统应该很好地同步。接下来移动每对相邻摄像机前面的图案并拍摄同步图像。确保每次相邻的相机都可以看到足够大的图案部分。为了获得更好的校准结果,还建议在每个摄像机前拍摄一些带有图案的图像,以便我们具有覆盖摄像机视图的每个区域的图案。
图像应以camera_index-time_stamp.extension
例如 1-1234.png
或 形式命名 3-2983.bmp
。相机索引是一个基于1的整数,时间戳是一个正整数。
校准您的系统
运行 main
脚本启动一个简单的命令行界面进行校准。按照界面的每一步。
-
选择您正在使用的模式图像文件。
-
如果需要,调整模式大小。如果您使用非常高分辨率的大型校准图案,但相机分辨率要低得多,则最好将一个调整大小的图案输入到界面图像中。这可以增强功能检测和匹配性能。输入量表应小于或等于1。
-
输入摄像机号码。
-
选择相机型号。您可以选择普通摄像机的针孔模型,或用于反射折射,鱼眼或广角摄像机的反射折射模型。
-
加载图像。图像的形式应以 camera_index-time_stamp.extension
。您可以 在文件选择对话框中使用 Shift
或 Ctrl
键进行多重选择。
-
然后校准将自动启动。
一个例子
这是一个校准5相机钻机的例子。 在这里下载图像, 并按照以下步骤:
通过调用main
Matlab 运行校准界面 。你会看见:
>> main
----------------------------------------------------------------------
Multiple-Camera Calibration Toolbox
----------------------------------------------------------------------
### Load Pattern
Input the path of the pattern
pattern.png
在文件选择对话框中选择模式图像 。你会看到这样的东西:
/home/li/Workspace/calibration-toolbox/image/pattern.png successfully loaded
### Resize Pattern
Do you need to resize the pattern?
If the pattern resolution is very high,
suitable shrinking can help speed up and enhance the feature detection.
Input the scale ([] = no resize):
由于 pattern.png
分辨率非常高,输入 0.5
调整大小。接下来你会看到:
Resized to 50%
----------------------------------------------------------------------
### Camera Numbers
Input the number of cameras in the system:
输入, 5
因为我们在系统中有5个摄像头。
### Camera Type
Use pinhole (1) or catadioptric (2) model for Camera #1 (1/2)?
选择 2
此数据来自广角摄像机。
Use the same model for the rest of the cameras (Y/N, []=Y)?
按 ENTER
4个相机使用相同的型号。
----------------------------------------------------------------------
### Load Images
### Select images all together (should be named in form "cameraIndex-timeStamp")
多选择文件对话框中的所有图像。然后图像将自动加载。您将看到图像加载信息如下:
Camera #1: Adding photo #129...
....Matches: 62
....Matches after Fundam. Check: 56
....Matches after smoothness Check: 53
....53 features kept
Camera #1: Adding photo #132...
....Matches: 61
....Matches after Fundam. Check: 47
....Matches after smoothness Check: 40
....40 features kept
Camera #1: Adding photo #140...
....Matches: 86
....Matches after Fundam. Check: 66
....Matches after smoothness Check: 54
....54 features kept
Camera #1: Adding photo #141...
....Matches: 93
....Matches after Fundam. Check: 70
....Matches after smoothness Check: 57
....57 features kept
...
...
加载信息显示从每个图像检测到多少有效的功能。然后校准程序将自动启动。你会看到一大堆的进程信息。校准完成后,您将看到如下结果:
### Calibration finished
----------------------------------------------------------------------
### Intrinsics:
Camera #1 :
....xi: [0.63694]
....Focal length: [665.1664, 664.6834]
....Aspect ratio: 0
....Principle Point: [417.1035, 226.2096]
....Distortion Coeff: [-0.28498, 0.090382, -0.00015087, -0.00051561]
Camera #2 :
....xi: [0.67678]
....Focal length: [691.8022, 687.3821]
....Aspect ratio: 0
....Principle Point: [424.1059, 249.1433]
....Distortion Coeff: [-0.30643, 0.10574, -0.0032633, -0.00061987]
Camera #3 :
....xi: [0.58413]
....Focal length: [648.1884, 646.17]
....Aspect ratio: 0
....Principle Point: [438.2655, 227.507]
....Distortion Coeff: [-0.29618, 0.088587, -0.0011176, -0.00028494]
Camera #4 :
....xi: [1.0159]
....Focal length: [811.819, 810.734]
....Aspect ratio: 0
....Principle Point: [438.5078, 231.2533]
....Distortion Coeff: [-0.21193, 0.09778, -0.0021793, -0.0031256]
Camera #5 :
....xi: [0.57423]
....Focal length: [640.0202, 639.4601]
....Aspect ratio: 0
....Principle Point: [423.131, 239.4429]
....Distortion Coeff: [-0.29568, 0.10104, -0.0013975, -0.0002087]
### Extrinsics:
Extrinsics:
Camera #1 :
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
Camera #2 :
0.5046575 -0.004224369 -0.8633093 -316.6129
0.008001342 0.999968 -0.0002157935 37.75129
0.8632825 -0.006798731 0.5046752 -166.9321
0 0 0 1
Camera #3 :
-0.7012307 0.1420181 0.6986461 393.3241
0.04431023 0.9867457 -0.1561077 -24.16492
-0.7115561 -0.07851037 -0.6982292 -429.6906
0 0 0 1
Camera #4 :
0.3794783 -0.008424554 0.9251623 311.6048
-0.1016615 0.9935239 0.05074605 2.98553
-0.9195984 -0.1133104 0.3761643 -100.3085
0 0 0 1
Camera #5 :
-0.7059149 -0.03452746 -0.7074546 -154.0953
0.2324513 0.9321977 -0.2774415 -159.0963
0.6690669 -0.3602989 -0.6500263 -516.6838
0 0 0 1
Press enter to visualize camera poses plot and pose graph
按下 ENTER
键,你会看到摄影机姿态的3D图和可视化的姿态图形。注意,此演示的结果可能与上述结果不同。这是由于样本图像未完全同步。