Marker based pose estimate

使用ArUco Marker估计相机的外参,或者估计标定板的位姿

Posted by YuCong on July 14, 2020

本文主要包括两部分内容:1. 基于单个Marker的位姿估计;2. 基于标定板的位姿估计。

Marker pose estimate


Created 2020.07.14 by Cong Yu; Last modified: 2020.07.14-v1.0.0 -> 2022.08.30-v1.1.0

Contact: windmillyucong@163.com

Copyleft! 2022 Cong Yu. Some rights reserved.


References

1. 使用单个ArUco Marker的姿态估计

单个ChArUco Marker的姿态估计

// todo(congyu)

2. 使用ChArUco标定板的姿态估计

Pose estimation using a ChArUco board.

过程

pose_aruco.gif

主要函数: estimatePoseCharucoBoard()

1
2
3
4
5
6
7
8
9
bool cv::aruco::estimatePoseCharucoBoard	(	InputArray 	charucoCorners,
InputArray 	charucoIds,
const Ptr< CharucoBoard > & 	board,
InputArray 	cameraMatrix,
InputArray 	distCoeffs,
InputOutputArray 	rvec,
InputOutputArray 	tvec,
bool 	useExtrinsicGuess = false 
)
1
cv.aruco.estimatePoseCharucoBoard(	charucoCorners, charucoIds, board, cameraMatrix, distCoeffs, rvec, tvec[, useExtrinsicGuess]	) ->	retval, rvec, tvec

参数说明

  • charucoCorners 检测出的charuco的角点
  • charucoIds 检测出的角点的id
  • board 标定板的边框
  • cameraMatrix 相机内参矩阵
    • $A = \begin{bmatrix} f_x & 0 & c_x \ 0 & f_y & c_y \ 0 & 0 & 1 \end{bmatrix}$
  • distCoeffs 畸变参数
  • rvec [output] Output vector (e.g. cv::Mat) corresponding to the rotation vector of the board (see cv::Rodrigues). 罗德里格斯。由旋转向量表达的姿态
  • tvec 位置
  • useExtrinsicGuess 定义是否使用r,t的初始猜测

注意:得到的位姿是标定板在相机坐标系下的位姿,即相机坐标系为原点。


Contact

Feel free to contact me windmillyucong@163.com anytime for anything.

License

Creative Commons BY-SA 4.0

CC0