Skip to content

IN2-ViAUn/AprilTag-For-Camera-Calibration

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AprilTag-For-Camera-Calibration

项目说明:使用 AprilTag 进行相机的参数标定

更新日期:2024年11月22日(高宇)

目前是第一个测试版本,欢迎大家使用,如果在使用过程中遇到各种问题可以提在 issue,也可以私信我哈~~

功能说明

外参估计(无畸变图像)

  • 拍摄一组 无畸变 多视角相机在共视域内包含 LAMPS 组专用 AprilTag Cube 的图片;
  • 提供每张图片对应的相机内参,存为 json 文件,具体的格式说明见下文的使用细节;
  • 算法会估计以 AprilTag Cube 几何中心为世界坐标系原点的相机外参,估计结果为 Nx4x4 的外参 RT 矩阵,N为相机数量,包括 c2w 和 w2c 两种类型。

内外参估计(无畸变图像)【目前整理中....暂不支持】

  • 拍摄一组 无畸变 多视角相机在共视域内包含 LAMPS 组专用 AprilTag Cube 的图片;
  • 为每个相机拍摄一张包含3个面 LAMPS 组专用 AprilTag Cube 的 无畸变 图片;
  • 算法会估计以 AprilTag Cube 几何中心为世界坐标系原点的相机外参,估计结果为 Nx3x3 的内参矩阵和 Nx4x4 的外参矩阵,N为相机数量,包括 c2w 和 w2c 两种类型。

使用说明

环境安装

自行解决(这你还不会?你是偷进LAMPS的吗?)

参数说明

具体的配置在 main.py 文件中主执行函数的 config 里,按自己的需要进行修改,目前支持如下项目:

  • extrinsics_root: 包含 AprilTag 的图片的共视域图像,如果不需要,设为None;
  • intrinsics_root: 包含 AprilTag 的图片的共视域图像,如果不需要,不需要设为None;
  • reproj_save_path: 重投影误差估计的投影点可视化结果存储路径;
  • param_save_path: 算法输出结果保存文件的路径,输出结果文件名称为 cam_params.json;
  • tag_cube: AprilTag 使用的类型,如果使用组内的 Cube,设为"LAMPS";(目前不支持修改)
  • tag_size: AprilTag Cube 使用的尺寸,单位为 米(m);(尺寸包含AprilTag的白色边界)
  • intrinsics: 是否估计相机内参,设为 True 或者 False;
  • extrinsics: 是否估计相机外参,设为 True 或者 False;
  • intrinsics_path: 如果 intrinsics 设置为False,需要提供该项,精确到具体的 json 文件路径;
  • total_step: 训练的总步数;
  • learning_rate: 学习速率;
  • device: 训练设备,可设为cpu或者cuda;

使用命令

  • 修改完毕上面的配置项后,直接使用:
    python main.py
    

数据输入与输出格式

  • 如果只估计外参,需要提供的相机内参 json 格式:
# 示例: 
{
    "图片名称1": {
        "intrinsic": [
            [
                625.8423389654866,
                0,
                644.4809943246738
            ],
            [
                0,
                624.9033528957034,
                360.8399595884392
            ],
            [
                0,
                0,
                1
            ]
        ]},
    "图片名称2": {"intrinsic":[....]}
     ... 
}
  • 输出的相机参数保存文件 json 格式:
{
    "图片名称1": {
        "intrinsic": [
            [
                625.8423389654866,
                0,
                644.4809943246738
            ],
            [
                0,
                624.9033528957034,
                360.8399595884392
            ],
            [
                0,
                0,
                1
            ]
        ],
	"extrinsics_w2c": [
            [
                0.005854025483131409,
                0.013926953077316284,
                0.9998858571052551,
                -0.04200747609138489
            ],
            [
                0.7540636658668518,
                0.6566612720489502,
                -0.013561099767684937,
                -0.18132299184799194
            ],
            [
                -0.656775176525116,
                0.7540570497512817,
                -0.006657660007476807,
                0.8428143858909607
            ]
        ],
        "extrinsics_c2w": [
            [
                0.005854025483131409,
                0.7540636658668518,
                -0.656775176525116,
                0.6905145645141602
            ],
            [
                0.013926953077316284,
                0.6566612720489502,
                0.7540570497512817,
                -0.5158773064613342
            ],
            [
                0.9998858571052551,
                -0.013561099767684937,
                -0.006657660007476807,
                0.045154914259910583
            ],
            [
                0.0,
                0.0,
                0.0,
                1.0
            ]
        ]
    },
    "图片名称2": {"intrinsic":[....],
		 "extrinsic_c2w":[....],
		 "extrinsic_c2w":[....]}
     ... 
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages