From 63cab1b0eedc486c6ea86e00a13043cc7ee931f3 Mon Sep 17 00:00:00 2001 From: Vincent Rabaud Date: Mon, 30 May 2022 21:13:25 +0200 Subject: [PATCH 1/2] Merge pull request #3243 from vrabaud:3.4_ceres * Use ceres::Manifolds instead of ceres::LocalParameterization. The latter is deprecated. * Fix typo. * Fix version check. * And more version fixes. --- .../libmv/simple_pipeline/bundle.cc | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/modules/sfm/src/libmv_light/libmv/simple_pipeline/bundle.cc b/modules/sfm/src/libmv_light/libmv/simple_pipeline/bundle.cc index 1a1568da831..1d19978937b 100644 --- a/modules/sfm/src/libmv_light/libmv/simple_pipeline/bundle.cc +++ b/modules/sfm/src/libmv_light/libmv/simple_pipeline/bundle.cc @@ -24,6 +24,7 @@ #include "ceres/ceres.h" #include "ceres/rotation.h" +#include "ceres/version.h" #include "libmv/base/vector.h" #include "libmv/logging/logging.h" #include "libmv/multiview/fundamental.h" @@ -485,7 +486,11 @@ void EuclideanBundleCommonIntrinsics( PackCamerasRotationAndTranslation(tracks, *reconstruction); // Parameterization used to restrict camera motion for modal solvers. +#if CERES_VERSION_MAJOR >= 3 || (CERES_VERSION_MAJOR >= 2 && CERES_VERSION_MINOR >= 1) + ceres::SubsetManifold *constant_translation_manifold = NULL; +#else ceres::SubsetParameterization *constant_translation_parameterization = NULL; +#endif if (bundle_constraints & BUNDLE_NO_TRANSLATION) { std::vector constant_translation; @@ -494,8 +499,13 @@ void EuclideanBundleCommonIntrinsics( constant_translation.push_back(4); constant_translation.push_back(5); +#if CERES_VERSION_MAJOR >= 3 || (CERES_VERSION_MAJOR >= 2 && CERES_VERSION_MINOR >= 1) + constant_translation_manifold = + new ceres::SubsetManifold(6, constant_translation); +#else constant_translation_parameterization = new ceres::SubsetParameterization(6, constant_translation); +#endif } // Add residual blocks to the problem. @@ -538,8 +548,13 @@ void EuclideanBundleCommonIntrinsics( } if (bundle_constraints & BUNDLE_NO_TRANSLATION) { +#if CERES_VERSION_MAJOR >= 3 || (CERES_VERSION_MAJOR >= 2 && CERES_VERSION_MINOR >= 1) + problem.SetParameterization(current_camera_R_t, + constant_translation_manifold); +#else problem.SetParameterization(current_camera_R_t, constant_translation_parameterization); +#endif } zero_weight_tracks_flags[marker.track] = false; @@ -586,10 +601,17 @@ void EuclideanBundleCommonIntrinsics( // Always set K3 constant, it's not used at the moment. constant_intrinsics.push_back(OFFSET_K3); +#if CERES_VERSION_MAJOR >= 3 || (CERES_VERSION_MAJOR >= 2 && CERES_VERSION_MINOR >= 1) + ceres::SubsetManifold *subset_manifold = + new ceres::SubsetManifold(OFFSET_MAX, constant_intrinsics); + + problem.SetManifold(ceres_intrinsics, subset_manifold); +#else ceres::SubsetParameterization *subset_parameterization = new ceres::SubsetParameterization(OFFSET_MAX, constant_intrinsics); problem.SetParameterization(ceres_intrinsics, subset_parameterization); +#endif } // Configure the solver. From 0eda296f4038ae058d76e2d828da8d0e7991cf85 Mon Sep 17 00:00:00 2001 From: Alexander Panov Date: Thu, 2 Jun 2022 11:50:08 +0300 Subject: [PATCH 2/2] Merge pull request #3256 from AleksandrPanov:fix_aruco_axes_docs fix axes and docs * fix axes docs, tutorial and add estimateParameters, change estimateParameters in test * update docs, add singlemarkersaxes2.jpg * fix docs --- modules/aruco/include/opencv2/aruco.hpp | 68 ++++++++++++++++-- modules/aruco/src/aruco.cpp | 43 ++++++----- modules/aruco/test/test_charucodetection.cpp | 6 +- .../images/singlemarkersaxes2.jpg | Bin 0 -> 79898 bytes .../aruco_detection/aruco_detection.markdown | 5 +- 5 files changed, 96 insertions(+), 26 deletions(-) create mode 100644 modules/aruco/tutorials/aruco_board_detection/images/singlemarkersaxes2.jpg diff --git a/modules/aruco/include/opencv2/aruco.hpp b/modules/aruco/include/opencv2/aruco.hpp index 91d57cef27e..e9c9e57a081 100644 --- a/modules/aruco/include/opencv2/aruco.hpp +++ b/modules/aruco/include/opencv2/aruco.hpp @@ -40,6 +40,7 @@ the use of this software, even if advised of the possibility of such damage. #define __OPENCV_ARUCO_HPP__ #include +#include #include #include "opencv2/aruco/dictionary.hpp" @@ -219,7 +220,55 @@ struct CV_EXPORTS_W DetectorParameters { CV_EXPORTS_W void detectMarkers(InputArray image, const Ptr &dictionary, OutputArrayOfArrays corners, OutputArray ids, const Ptr ¶meters = DetectorParameters::create(), OutputArrayOfArrays rejectedImgPoints = noArray()); +/** @brief + * rvec/tvec define the right handed coordinate system of the marker. + * PatternPos defines center this system and axes direction. + * Axis X (red color) - first coordinate, axis Y (green color) - second coordinate, + * axis Z (blue color) - third coordinate. + * @sa estimatePoseSingleMarkers(), @ref tutorial_aruco_detection + */ +enum PatternPos { + /** @brief The marker coordinate system is centered on the middle of the marker. + * The coordinates of the four corners (CCW order) of the marker in its own coordinate system are: + * (-markerLength/2, markerLength/2, 0), (markerLength/2, markerLength/2, 0), + * (markerLength/2, -markerLength/2, 0), (-markerLength/2, -markerLength/2, 0). + * + * These pattern points define this coordinate system: + * ![Image with axes drawn](images/singlemarkersaxes.jpg) + */ + CCW_center, + /** @brief The marker coordinate system is centered on the top-left corner of the marker. + * The coordinates of the four corners (CW order) of the marker in its own coordinate system are: + * (0, 0, 0), (markerLength, 0, 0), + * (markerLength, markerLength, 0), (0, markerLength, 0). + * + * These pattern points define this coordinate system: + * ![Image with axes drawn](images/singlemarkersaxes2.jpg) + */ + CW_top_left_corner +}; + +/** @brief + * Pose estimation parameters + * @param pattern Defines center this system and axes direction (default PatternPos::CCW_center). + * @param useExtrinsicGuess Parameter used for SOLVEPNP_ITERATIVE. If true (1), the function uses the provided + * rvec and tvec values as initial approximations of the rotation and translation vectors, respectively, and further + * optimizes them (default false). + * @param solvePnPMethod Method for solving a PnP problem: see @ref calib3d_solvePnP_flags (default SOLVEPNP_ITERATIVE). + * @sa PatternPos, solvePnP(), @ref tutorial_aruco_detection + */ +struct CV_EXPORTS_W EstimateParameters { + CV_PROP_RW PatternPos pattern; + CV_PROP_RW bool useExtrinsicGuess; + CV_PROP_RW SolvePnPMethod solvePnPMethod; + + EstimateParameters(): pattern(CCW_center), useExtrinsicGuess(false), + solvePnPMethod(SOLVEPNP_ITERATIVE) {} + CV_WRAP static Ptr create() { + return makePtr(); + } +}; /** @@ -240,21 +289,28 @@ CV_EXPORTS_W void detectMarkers(InputArray image, const Ptr &diction * @param tvecs array of output translation vectors (e.g. std::vector). * Each element in tvecs corresponds to the specific marker in imgPoints. * @param _objPoints array of object points of all the marker corners + * @param estimateParameters set the origin of coordinate system and the coordinates of the four corners of the marker + * (default estimateParameters.pattern = PatternPos::CCW_center, estimateParameters.useExtrinsicGuess = false, + * estimateParameters.solvePnPMethod = SOLVEPNP_ITERATIVE). * * This function receives the detected markers and returns their pose estimation respect to * the camera individually. So for each marker, one rotation and translation vector is returned. * The returned transformation is the one that transforms points from each marker coordinate system * to the camera coordinate system. - * The marker corrdinate system is centered on the middle of the marker, with the Z axis - * perpendicular to the marker plane. - * The coordinates of the four corners of the marker in its own coordinate system are: - * (0, 0, 0), (markerLength, 0, 0), - * (markerLength, markerLength, 0), (0, markerLength, 0) + * The marker coordinate system is centered on the middle (by default) or on the top-left corner of the marker, + * with the Z axis perpendicular to the marker plane. + * estimateParameters defines the coordinates of the four corners of the marker in its own coordinate system (by default) are: + * (-markerLength/2, markerLength/2, 0), (markerLength/2, markerLength/2, 0), + * (markerLength/2, -markerLength/2, 0), (-markerLength/2, -markerLength/2, 0) * @sa use cv::drawFrameAxes to get world coordinate system axis for object points + * @sa @ref tutorial_aruco_detection + * @sa EstimateParameters + * @sa PatternPos */ CV_EXPORTS_W void estimatePoseSingleMarkers(InputArrayOfArrays corners, float markerLength, InputArray cameraMatrix, InputArray distCoeffs, - OutputArray rvecs, OutputArray tvecs, OutputArray _objPoints = noArray()); + OutputArray rvecs, OutputArray tvecs, OutputArray _objPoints = noArray(), + Ptr estimateParameters = EstimateParameters::create()); diff --git a/modules/aruco/src/aruco.cpp b/modules/aruco/src/aruco.cpp index c4e895b908e..9385d434206 100644 --- a/modules/aruco/src/aruco.cpp +++ b/modules/aruco/src/aruco.cpp @@ -810,19 +810,31 @@ static void _identifyCandidates(InputArray _image, vector< vector< vector< Point /** - * @brief Return object points for the system centered in a single marker, given the marker length + * @brief Return object points for the system centered in a middle (by default) or in a top left corner of single + * marker, given the marker length */ -static void _getSingleMarkerObjectPoints(float markerLength, OutputArray _objPoints) { +static void _getSingleMarkerObjectPoints(float markerLength, OutputArray _objPoints, + EstimateParameters estimateParameters) { CV_Assert(markerLength > 0); _objPoints.create(4, 1, CV_32FC3); Mat objPoints = _objPoints.getMat(); // set coordinate system in the top-left corner of the marker, with Z pointing out - objPoints.ptr< Vec3f >(0)[0] = Vec3f(0.f, 0.f, 0); - objPoints.ptr< Vec3f >(0)[1] = Vec3f(markerLength, 0.f, 0); - objPoints.ptr< Vec3f >(0)[2] = Vec3f(markerLength, markerLength, 0); - objPoints.ptr< Vec3f >(0)[3] = Vec3f(0.f, markerLength, 0); + if (estimateParameters.pattern == CW_top_left_corner) { + objPoints.ptr(0)[0] = Vec3f(0.f, 0.f, 0); + objPoints.ptr(0)[1] = Vec3f(markerLength, 0.f, 0); + objPoints.ptr(0)[2] = Vec3f(markerLength, markerLength, 0); + objPoints.ptr(0)[3] = Vec3f(0.f, markerLength, 0); + } + else if (estimateParameters.pattern == CCW_center) { + objPoints.ptr(0)[0] = Vec3f(-markerLength/2.f, markerLength/2.f, 0); + objPoints.ptr(0)[1] = Vec3f(markerLength/2.f, markerLength/2.f, 0); + objPoints.ptr(0)[2] = Vec3f(markerLength/2.f, -markerLength/2.f, 0); + objPoints.ptr(0)[3] = Vec3f(-markerLength/2.f, -markerLength/2.f, 0); + } + else + CV_Error(Error::StsBadArg, "Unknown estimateParameters pattern"); } @@ -1221,17 +1233,17 @@ class SinglePoseEstimationParallel : public ParallelLoopBody { public: SinglePoseEstimationParallel(Mat& _markerObjPoints, InputArrayOfArrays _corners, InputArray _cameraMatrix, InputArray _distCoeffs, - Mat& _rvecs, Mat& _tvecs) + Mat& _rvecs, Mat& _tvecs, EstimateParameters _estimateParameters) : markerObjPoints(_markerObjPoints), corners(_corners), cameraMatrix(_cameraMatrix), - distCoeffs(_distCoeffs), rvecs(_rvecs), tvecs(_tvecs) {} + distCoeffs(_distCoeffs), rvecs(_rvecs), tvecs(_tvecs), estimateParameters(_estimateParameters) {} void operator()(const Range &range) const CV_OVERRIDE { const int begin = range.start; const int end = range.end; for(int i = begin; i < end; i++) { - solvePnP(markerObjPoints, corners.getMat(i), cameraMatrix, distCoeffs, - rvecs.at(i), tvecs.at(i)); + solvePnP(markerObjPoints, corners.getMat(i), cameraMatrix, distCoeffs, rvecs.at(i), + tvecs.at(i), estimateParameters.useExtrinsicGuess, estimateParameters.solvePnPMethod); } } @@ -1242,21 +1254,20 @@ class SinglePoseEstimationParallel : public ParallelLoopBody { InputArrayOfArrays corners; InputArray cameraMatrix, distCoeffs; Mat& rvecs, tvecs; + EstimateParameters estimateParameters; }; - -/** - */ void estimatePoseSingleMarkers(InputArrayOfArrays _corners, float markerLength, InputArray _cameraMatrix, InputArray _distCoeffs, - OutputArray _rvecs, OutputArray _tvecs, OutputArray _objPoints) { + OutputArray _rvecs, OutputArray _tvecs, OutputArray _objPoints, + Ptr estimateParameters) { CV_Assert(markerLength > 0); Mat markerObjPoints; - _getSingleMarkerObjectPoints(markerLength, markerObjPoints); + _getSingleMarkerObjectPoints(markerLength, markerObjPoints, *estimateParameters); int nMarkers = (int)_corners.total(); _rvecs.create(nMarkers, 1, CV_64FC3); _tvecs.create(nMarkers, 1, CV_64FC3); @@ -1272,7 +1283,7 @@ void estimatePoseSingleMarkers(InputArrayOfArrays _corners, float markerLength, // this is the parallel call for the previous commented loop (result is equivalent) parallel_for_(Range(0, nMarkers), SinglePoseEstimationParallel(markerObjPoints, _corners, _cameraMatrix, - _distCoeffs, rvecs, tvecs)); + _distCoeffs, rvecs, tvecs, *estimateParameters)); if(_objPoints.needed()){ markerObjPoints.convertTo(_objPoints, -1); } diff --git a/modules/aruco/test/test_charucodetection.cpp b/modules/aruco/test/test_charucodetection.cpp index de474009a5d..905d5eb7674 100644 --- a/modules/aruco/test/test_charucodetection.cpp +++ b/modules/aruco/test/test_charucodetection.cpp @@ -439,10 +439,12 @@ void CV_CharucoDiamondDetection::run(int) { } } + Ptr estimateParameters = aruco::EstimateParameters::create(); + estimateParameters->pattern = aruco::CW_top_left_corner; // estimate diamond pose vector< Vec3d > estimatedRvec, estimatedTvec; - aruco::estimatePoseSingleMarkers(diamondCorners, squareLength, cameraMatrix, - distCoeffs, estimatedRvec, estimatedTvec); + aruco::estimatePoseSingleMarkers(diamondCorners, squareLength, cameraMatrix, distCoeffs, estimatedRvec, + estimatedTvec, noArray(), estimateParameters); // check result vector< Point2f > projectedDiamondCornersPose; diff --git a/modules/aruco/tutorials/aruco_board_detection/images/singlemarkersaxes2.jpg b/modules/aruco/tutorials/aruco_board_detection/images/singlemarkersaxes2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dc8edee15d9515c00e3c15cca0f1940501f8b7f9 GIT binary patch literal 79898 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 literal 0 HcmV?d00001 diff --git a/modules/aruco/tutorials/aruco_detection/aruco_detection.markdown b/modules/aruco/tutorials/aruco_detection/aruco_detection.markdown index ee0518b0c53..2e81d09b1f9 100644 --- a/modules/aruco/tutorials/aruco_detection/aruco_detection.markdown +++ b/modules/aruco/tutorials/aruco_detection/aruco_detection.markdown @@ -286,8 +286,9 @@ translation vectors of the estimated poses will be in the same unit - The output parameters `rvecs` and `tvecs` are the rotation and translation vectors respectively, for each of the markers in `markerCorners`. -The marker coordinate system that is assumed by this function is placed at the center of the marker -with the Z axis pointing out, as in the following image. Axis-color correspondences are X: red, Y: green, Z: blue. Note the axis directions of the rotated markers in this image. +The marker coordinate system that is assumed by this function is placed in the center (by default) or +in the top left corner of the marker with the Z axis pointing out, as in the following image. +Axis-color correspondences are X: red, Y: green, Z: blue. Note the axis directions of the rotated markers in this image. ![Image with axes drawn](images/singlemarkersaxes.jpg)