我是靠谱客的博主 微笑大神,最近开发中收集的这篇文章主要介绍openpose 官方相机标定流程(1)一、标定各个相机内参二、外参标定三、补充说明,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

相机标定主要分为内参标定、外参标定。

一、标定各个相机内参

对各相机进行内参标定,建议拍摄时注意一下两点

  • 1、棋盘默认左上角为世界坐标系原点,不要旋转棋盘超过~15-30度。
  • 2、拍摄分布在不同距离,每个距离覆盖所有图像视角(所有的边界,中心等)

1、内参标定

内参标定使用 Calibration.exe 程序,这里直接给出相机ipc1和相机ipc2的标定命令行

Calibration.exe 
-mode 						1 
-grid_square_size_mm        120.0 		// 棋盘方格的边长(mm)
-grid_number_inner_corners 	7x6 		// 棋盘格内角点网格数
-camera_serial_number 		ipc1        // 相机标记字符串
-calibration_image_dir 		ipc1_resize	// 相机标定使用图片存放路径
-camera_parameter_folder    xml 		// 标定参数结果ipc1.xml存放路径
Calibration.exe 
-mode 						1 
-grid_square_size_mm        120.0 		// 棋盘方格的边长(mm)
-grid_number_inner_corners 	7x6 		// 棋盘格内角点网格数
-camera_serial_number 		ipc2        // 相机标记字符串
-calibration_image_dir 		ipc2_resize	// 相机标定使用图片存放路径
-camera_parameter_folder    xml 		// 标定参数结果ipc2.xml存放路径

依次多个相机进行内参数标定…

2、畸变校正

使用标定xml结果对使用图片进行畸变校正,并显示

OpenPoseDemo.exe
--image_dir 			D:Gym相机标定视频内参camera5_img
--frame_undistort 
--camera_parameter_path	D:Gym相机标定视频内参camera5.xml

也可以对视频进行畸变校正并显示

OpenPoseDemo.exe  
--num_gpu 0
--video 				D:Gym相机标定视频内参Camera1.mp4 
--frame_undistort 
--camera_parameter_path	D:Gym相机标定视频内参camera1.xml

注意:根据opencv的版本,有可能对h264h265的裸流文件不能识别,需要先进行封装为可识别的视频文件如MP4、avi等。

对于在线的相机进行实时矫正显示,windows下不能加参数–webcam,

OpenPoseDemo.exe 
--num_gpu 0 
--frame_undistort
--camera_parameter_path D:Gym相机标定视频内参camera1.xml

二、外参标定

外参标定需要多路相机同时采集图片,保持张数一致,命名规则一致。

1、保存畸变矫正后图片

准备四个相机同时拍摄的相片集,分别做畸变校正并保存

OpenPoseDemo.exe 
--num_gpu 0 
--image_dir D:/Gym/相机标定视频/外参/snapimages/cam1_img 
--frame_undistort 
--camera_parameter_path D:/Gym/相机标定视频/外参/hik/camera1.xml 
--write_images D:/Gym/相机标定视频/外参/snapimages/cam1_img_undistort

OpenPoseDemo.exe
--num_gpu 0 
--image_dir D:/Gym/相机标定视频/外参/snapimages/cam2_img 
--frame_undistort
--camera_parameter_path D:/Gym/相机标定视频/外参/hik/camera2.xml 
--write_images D:/Gym/相机标定视频/外参/snapimages/cam2_img_undistort

OpenPoseDemo.exe 
--num_gpu 0 
--image_dir D:/Gym/相机标定视频/外参/snapimages/cam3_img 
--frame_undistort 
--camera_parameter_path D:/Gym/相机标定视频/外参/hik/camera3.xml 
--write_images D:/Gym/相机标定视频/外参/snapimages/cam3_img_undistort

OpenPoseDemo.exe 
--num_gpu 0
--image_dir D:/Gym/相机标定视频/外参/snapimages/cam4_img 
--frame_undistort 
--camera_parameter_path D:/Gym/相机标定视频/外参/hik/camera4.xml 
--write_images D:/Gym/相机标定视频/外参/snapimages/cam4_img_undistort

2、外参标定

外参标定算法中,用到了Eigen库,因此编译openpose需要依赖Eigen库。

2.1 目录结构

官方流程是所有图片是经过undistort后render的图,放入同一个文件夹,
图片格式 [%12d]_rendered[CAMERA_NUMBER_MINUS_1].png
例如,4个相机,2张图:

000000000000_rendered.png
000000000000_rendered_1.png
000000000000_rendered_2.png
000000000000_rendered_3.png
000000000001_rendered.png
000000000001_rendered_1.png
000000000001_rendered_2.png
000000000001_rendered_3.png

另外,文件夹中每个相机拍摄的图片数量要一致,并且相机参数文件和这里需要标定的相机数保持一致。例如,这里有4个相机,camera_parameter_folder/flir/中相机内参xml文件也只能有4个(可以指定不使用默认)。

在这里插入图片描述
在这里插入图片描述

2.2 依次两两标定

先以前4个相机为例 顺序为 cam1-cam2-cam3-cam4 (序号为 0-1-2-3)

将cam2作为坐标系原点。这里以10张图为例。

(1)标定 1,0 两个相机

Calibration.exe 
--mode 2 
--grid_square_size_mm 120.0 
--grid_number_inner_corners 7x6
--omit_distortion 
--calibration_image_dir D:Gym相机标定视频外参extrinsic_calibration 
--cam0 1 
--cam1 0 
--camera_parameter_folder D:Gym相机标定视频外参hik

在这里插入图片描述
(2)标定 1,2 两个相机

Calibration.exe 
--mode 2 
--grid_square_size_mm 120.0 
--grid_number_inner_corners 7x6 
--omit_distortion 
--calibration_image_dir D:Gym相机标定视频外参extrinsic_calibration 
--cam0 1 
--cam1 2 
--camera_parameter_folder D:Gym相机标定视频外参hik

在这里插入图片描述
(3)标定 1,3 两个相机

Calibration.exe 
--mode 2 
--grid_square_size_mm 120.0 
--grid_number_inner_corners 7x6 
--omit_distortion 
--calibration_image_dir D:Gym相机标定视频外参extrinsic_calibration 
--cam0 1 
--cam1 3 
--camera_parameter_folder D:Gym相机标定视频外参hik

在这里插入图片描述

这里,当1,3相机距离远,共同视角有限时,可以先标定2,3的关系,借助1,2已知的情况下,推出1,3的关系,可修改、并添加–cam0 2 --cam1 3 --combine_cam0_extrinsics参数,即

Calibration.exe 
--mode 2 
--grid_square_size_mm 120.0 
--grid_number_inner_corners 7x6 
--omit_distortion 
--calibration_image_dir D:Gym相机标定视频外参extrinsic_calibration 
--cam0 2 
--cam1 3  
--combine_cam0_extrinsics 
--camera_parameter_folder D:Gym相机标定视频外参hik

在这里插入图片描述

三、补充说明

内参标定后, 可以不需要进行一次畸变校正。(外参标定时可指定输入是未校准的图片)

外参标定时,内参标定的xml文件放在一个文件夹中;用于外参标定的图片文件放在一个文件夹。

不同相机的图片统一添加后缀,后缀按照 第一个相机xxxx.ext,第二个相机xxxx_1.ext,第三个相机xxxx_2.ext,依次类推。相机顺序和图片后缀命名顺序一致。同样内参xml文件也要有顺序,例如第一个相机camera1.xml,第二个相机camera2.xml,第三个相机camera3.xml。
在这里插入图片描述在这里插入图片描述

最后

以上就是微笑大神为你收集整理的openpose 官方相机标定流程(1)一、标定各个相机内参二、外参标定三、补充说明的全部内容,希望文章能够帮你解决openpose 官方相机标定流程(1)一、标定各个相机内参二、外参标定三、补充说明所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部