From 87160cb297e534bc4570e287944b6589446b449f Mon Sep 17 00:00:00 2001 From: catree Date: Tue, 19 Dec 2017 22:45:35 +0100 Subject: [PATCH] Add Demo 5: Basic panorama stitching from a rotating camera in the homography tutorial. --- .../features2d/homography/homography.markdown | 92 +++++++++++++++--- .../images/homography_stitch_Suzanne.jpg | Bin 0 -> 41546 bytes .../images/homography_stitch_compare.jpg | Bin 0 -> 51727 bytes modules/calib3d/include/opencv2/calib3d.hpp | 6 ++ .../panorama_stitching_rotating_camera.cpp | 88 +++++++++++++++++ .../Homography/pose_from_homography.cpp | 8 ++ samples/data/Blender_Suzanne1.jpg | Bin 0 -> 25415 bytes samples/data/Blender_Suzanne2.jpg | Bin 0 -> 25417 bytes 8 files changed, 179 insertions(+), 15 deletions(-) create mode 100644 doc/tutorials/features2d/homography/images/homography_stitch_Suzanne.jpg create mode 100644 doc/tutorials/features2d/homography/images/homography_stitch_compare.jpg create mode 100755 samples/cpp/tutorial_code/features2D/Homography/panorama_stitching_rotating_camera.cpp create mode 100644 samples/data/Blender_Suzanne1.jpg create mode 100644 samples/data/Blender_Suzanne2.jpg diff --git a/doc/tutorials/features2d/homography/homography.markdown b/doc/tutorials/features2d/homography/homography.markdown index 8be683aac6..020017f023 100644 --- a/doc/tutorials/features2d/homography/homography.markdown +++ b/doc/tutorials/features2d/homography/homography.markdown @@ -1,8 +1,10 @@ Basic concepts of the homography explained with code {#tutorial_homography} -============================= +==================================================== -Introduction ----- +@tableofcontents + +Introduction {#tutorial_homography_Introduction} +============ This tutorial will demonstrate the basic concepts of the homography with some codes. For detailed explanations about the theory, please refer to a computer vision course or a computer vision book, e.g.: @@ -13,10 +15,10 @@ For detailed explanations about the theory, please refer to a computer vision co The tutorial code can be found [here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/features2D/Homography). The images used in this tutorial can be found [here](https://github.com/opencv/opencv/tree/master/samples/data) (`left*.jpg`). -Basic theory ----- +Basic theory {#tutorial_homography_Basic_theory} +------------ -### What is the homography matrix? +### What is the homography matrix? {#tutorial_homography_What_is_the_homography_matrix} Briefly, the planar homography relates the transformation between two planes (up to a scale factor): @@ -61,7 +63,7 @@ The following examples show different kinds of transformation but all relate a t ![](images/homography_transformation_example3.jpg) -### How the homography transformation can be useful? +### How the homography transformation can be useful? {#tutorial_homography_How_the_homography_transformation_can_be_useful} * Camera pose estimation from coplanar points for augmented reality with marker for instance (see the previous first example) @@ -75,10 +77,10 @@ The following examples show different kinds of transformation but all relate a t ![](images/homography_panorama_stitching.jpg) -Demonstration codes ----- +Demonstration codes {#tutorial_homography_Demonstration_codes} +------------------- -### Demo 1: Pose estimation from coplanar points +### Demo 1: Pose estimation from coplanar points {#tutorial_homography_Demo1} \note Please note that the code to estimate the camera pose from the homography is an example and you should use instead @ref cv::solvePnP if you want to estimate the camera pose for a planar or an arbitrary object. @@ -151,11 +153,16 @@ A quick solution to retrieve the pose from the homography matrix is (see \ref po This is a quick solution (see also \ref projective_transformations "2") as this does not ensure that the resulting rotation matrix will be orthogonal and the scale is estimated roughly by normalize the first column to 1. +A solution to have a proper rotation matrix (with the properties of a rotation matrix) consists to apply a polar decomposition +(see \ref polar_decomposition "6" or \ref polar_decomposition_svd "7" for some information): + +@snippet pose_from_homography.cpp polar-decomposition-of-the-rotation-matrix + To check the result, the object frame projected into the image with the estimated camera pose is displayed: ![](images/homography_pose.jpg) -### Demo 2: Perspective correction +### Demo 2: Perspective correction {#tutorial_homography_Demo2} In this example, a source image will be transformed into a desired perspective view by computing the homography that maps the source points into the desired points. The following image shows the source image (left) and the chessboard view that we want to transform into the desired chessboard view (right). @@ -186,7 +193,7 @@ To check the correctness of the calculation, the matching lines are displayed: ![](images/homography_perspective_correction_chessboard_matches.jpg) -### Demo 3: Homography from the camera displacement +### Demo 3: Homography from the camera displacement {#tutorial_homography_Demo3} The homography relates the transformation between two planes and it is possible to retrieve the corresponding camera displacement that allows to go from the first to the second plane view (see @cite Malis for more information). Before going into the details that allow to compute the homography from the camera displacement, some recalls about camera pose and homogeneous transformation. @@ -363,7 +370,7 @@ The homography matrices are similar. If we compare the image 1 warped using both Visually, it is hard to distinguish a difference between the result image from the homography computed from the camera displacement and the one estimated with @ref cv::findHomography function. -### Demo 4: Decompose the homography matrix +### Demo 4: Decompose the homography matrix {#tutorial_homography_Demo4} OpenCV 3 contains the function @ref cv::decomposeHomographyMat which allows to decompose the homography matrix to a set of rotations, translations and plane normals. First we will decompose the homography matrix computed from the camera displacement: @@ -457,11 +464,66 @@ plane normal at camera 1 pose: [0.1973513139420654, -0.6283451996579068, 0.75248 Again, there is also a solution that matches with the computed camera displacement. -Additional references ----- +### Demo 5: Basic panorama stitching from a rotating camera {#tutorial_homography_Demo5} + +\note This example is made to illustrate the concept of image stitching based on a pure rotational motion of the camera and should not be used to stitch panorama images. +The [stitching module](@ref stitching) provides a complete pipeline to stitch images. + +The homography transformation applies only for planar structure. But in the case of a rotating camera (pure rotation around the camera axis of projection, no translation), an arbitrary world can be considered +([see previously](@ref tutorial_homography_What_is_the_homography_matrix)). + +The homography can then be computed using the rotation transformation and the camera intrinsic parameters as (see for instance \ref homography_course "8"): + +\f[ + s + \begin{bmatrix} + x^{'} \\ + y^{'} \\ + 1 + \end{bmatrix} = + \bf{K} \hspace{0.1em} \bf{R} \hspace{0.1em} \bf{K}^{-1} + \begin{bmatrix} + x \\ + y \\ + 1 + \end{bmatrix} +\f] + +To illustrate, we used Blender, a free and open-source 3D computer graphics software, to generate two camera views with only a rotation transformation between each other. +More information about how to retrieve the camera intrinsic parameters and the `3x4` extrinsic matrix with respect to the world can be found in \ref answer_blender "9" (an additional transformation +is needed to get the transformation between the camera and the object frames) with Blender. + +The figure below shows the two generated views of the Suzanne model, with only a rotation transformation: + +![](images/homography_stitch_compare.jpg) + +With the known associated camera poses and the intrinsic parameters, the relative rotation between the two views can be computed: + +@snippet panorama_stitching_rotating_camera.cpp extract-rotation + +@snippet panorama_stitching_rotating_camera.cpp compute-rotation-displacement + +Here, the second image will be stitched with respect to the first image. The homography can be calculated using the formula above: + +@snippet panorama_stitching_rotating_camera.cpp compute-homography + +The stitching is made simply with: + +@snippet panorama_stitching_rotating_camera.cpp stitch + +The resulting image is: + +![](images/homography_stitch_Suzanne.jpg) + +Additional references {#tutorial_homography_Additional_references} +--------------------- * \anchor lecture_16 1. [Lecture 16: Planar Homographies](http://www.cse.psu.edu/~rtc12/CSE486/lecture16.pdf), Robert Collins * \anchor projective_transformations 2. [2D projective transformations (homographies)](https://ags.cs.uni-kl.de/fileadmin/inf_ags/3dcv-ws11-12/3DCV_WS11-12_lec04.pdf), Christiano Gava, Gabriele Bleser * \anchor szeliski 3. [Computer Vision: Algorithms and Applications](http://szeliski.org/Book/drafts/SzeliskiBook_20100903_draft.pdf), Richard Szeliski * \anchor answer_dsp 4. [Step by Step Camera Pose Estimation for Visual Tracking and Planar Markers](https://dsp.stackexchange.com/a/2737) * \anchor pose_ar 5. [Pose from homography estimation](https://team.inria.fr/lagadic/camera_localization/tutorial-pose-dlt-planar-opencv.html) +* \anchor polar_decomposition 6. [Polar Decomposition (in Continuum Mechanics)](http://www.continuummechanics.org/polardecomposition.html) +* \anchor polar_decomposition_svd 7. [A Personal Interview with the Singular Value Decomposition](https://web.stanford.edu/~gavish/documents/SVD_ans_you.pdf), Matan Gavish +* \anchor homography_course 8. [Homography](http://people.scs.carleton.ca/~c_shu/Courses/comp4900d/notes/homography.pdf), Dr. Gerhard Roth +* \anchor answer_blender 9. [3x4 camera matrix from blender camera](https://blender.stackexchange.com/a/38210) diff --git a/doc/tutorials/features2d/homography/images/homography_stitch_Suzanne.jpg b/doc/tutorials/features2d/homography/images/homography_stitch_Suzanne.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5305a945e3a1d216036038ec8374f3845206a56e GIT binary patch literal 41546 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 Gk^kBCB!=_= literal 0 HcmV?d00001 diff --git a/doc/tutorials/features2d/homography/images/homography_stitch_compare.jpg b/doc/tutorials/features2d/homography/images/homography_stitch_compare.jpg new file mode 100644 index 0000000000000000000000000000000000000000..257094c420d14d9a7460d2620298f5e37382939f GIT binary patch literal 51727 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 H{{a8l6FR&f literal 0 HcmV?d00001 diff --git a/modules/calib3d/include/opencv2/calib3d.hpp b/modules/calib3d/include/opencv2/calib3d.hpp index 539fb50789..74b63c6cc7 100644 --- a/modules/calib3d/include/opencv2/calib3d.hpp +++ b/modules/calib3d/include/opencv2/calib3d.hpp @@ -1885,6 +1885,12 @@ CV_EXPORTS_W cv::Mat estimateAffinePartial2D(InputArray from, InputArray to, Out size_t maxIters = 2000, double confidence = 0.99, size_t refineIters = 10); +/** @example decompose_homography.cpp + An example program with homography decomposition. + + Check @ref tutorial_homography "the corresponding tutorial" for more details. + */ + /** @brief Decompose a homography matrix to rotation(s), translation(s) and plane normal(s). @param H The input homography matrix between two images. diff --git a/samples/cpp/tutorial_code/features2D/Homography/panorama_stitching_rotating_camera.cpp b/samples/cpp/tutorial_code/features2D/Homography/panorama_stitching_rotating_camera.cpp new file mode 100755 index 0000000000..c2eedc5f94 --- /dev/null +++ b/samples/cpp/tutorial_code/features2D/Homography/panorama_stitching_rotating_camera.cpp @@ -0,0 +1,88 @@ +#include +#include + +using namespace std; +using namespace cv; + +namespace +{ +void basicPanoramaStitching(const string &img1Path, const string &img2Path) +{ + Mat img1 = imread(img1Path); + Mat img2 = imread(img2Path); + + //! [camera-pose-from-Blender-at-location-1] + Mat c1Mo = (Mat_(4,4) << 0.9659258723258972, 0.2588190734386444, 0.0, 1.5529145002365112, + 0.08852133899927139, -0.3303661346435547, -0.9396926164627075, -0.10281121730804443, + -0.24321036040782928, 0.9076734185218811, -0.342020183801651, 6.130080699920654, + 0, 0, 0, 1); + //! [camera-pose-from-Blender-at-location-1] + + //! [camera-pose-from-Blender-at-location-2] + Mat c2Mo = (Mat_(4,4) << 0.9659258723258972, -0.2588190734386444, 0.0, -1.5529145002365112, + -0.08852133899927139, -0.3303661346435547, -0.9396926164627075, -0.10281121730804443, + 0.24321036040782928, 0.9076734185218811, -0.342020183801651, 6.130080699920654, + 0, 0, 0, 1); + //! [camera-pose-from-Blender-at-location-2] + + //! [camera-intrinsics-from-Blender] + Mat cameraMatrix = (Mat_(3,3) << 700.0, 0.0, 320.0, + 0.0, 700.0, 240.0, + 0, 0, 1); + //! [camera-intrinsics-from-Blender] + + //! [extract-rotation] + Mat R1 = c1Mo(Range(0,3), Range(0,3)); + Mat R2 = c2Mo(Range(0,3), Range(0,3)); + //! [extract-rotation] + + //! [compute-rotation-displacement] + //c1Mo * oMc2 + Mat R_2to1 = R1*R2.t(); + //! [compute-rotation-displacement] + + //! [compute-homography] + Mat H = cameraMatrix * R_2to1 * cameraMatrix.inv(); + H /= H.at(2,2); + cout << "H:\n" << H << endl; + //! [compute-homography] + + //! [stitch] + Mat img_stitch; + warpPerspective(img2, img_stitch, H, Size(img2.cols*2, img2.rows)); + Mat half = img_stitch(Rect(0, 0, img1.cols, img1.rows)); + img1.copyTo(half); + //! [stitch] + + Mat img_compare; + Mat img_space = Mat::zeros(Size(50, img1.rows), CV_8UC3); + hconcat(img1, img_space, img_compare); + hconcat(img_compare, img2, img_compare); + imshow("Compare images", img_compare); + + imshow("Panorama stitching", img_stitch); + waitKey(); +} + +const char* params + = "{ help h | | print usage }" + "{ image1 | ../data/Blender_Suzanne1.jpg | path to the first Blender image }" + "{ image2 | ../data/Blender_Suzanne2.jpg | path to the second Blender image }"; +} + +int main(int argc, char *argv[]) +{ + CommandLineParser parser(argc, argv, params); + + if (parser.has("help")) + { + parser.about( "Code for homography tutorial.\n" + "Example 5: basic panorama stitching from a rotating camera.\n" ); + parser.printMessage(); + return 0; + } + + basicPanoramaStitching(parser.get("image1"), parser.get("image2")); + + return 0; +} diff --git a/samples/cpp/tutorial_code/features2D/Homography/pose_from_homography.cpp b/samples/cpp/tutorial_code/features2D/Homography/pose_from_homography.cpp index 860235f602..4fc29a7f88 100644 --- a/samples/cpp/tutorial_code/features2D/Homography/pose_from_homography.cpp +++ b/samples/cpp/tutorial_code/features2D/Homography/pose_from_homography.cpp @@ -107,6 +107,14 @@ void poseEstimationFromCoplanarPoints(const string &imgPath, const string &intri } //! [pose-from-homography] + //! [polar-decomposition-of-the-rotation-matrix] + cout << "R (before polar decomposition):\n" << R << "\ndet(R): " << determinant(R) << endl; + Mat W, U, Vt; + SVDecomp(R, W, U, Vt); + R = U*Vt; + cout << "R (after polar decomposition):\n" << R << "\ndet(R): " << determinant(R) << endl; + //! [polar-decomposition-of-the-rotation-matrix] + //! [display-pose] Mat rvec; Rodrigues(R, rvec); diff --git a/samples/data/Blender_Suzanne1.jpg b/samples/data/Blender_Suzanne1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e4f370ead07434b78d34eb38b86dff03daad4c00 GIT binary patch literal 25415 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 QEXoeY4C?m0`%f?b*~UI!Pyhe` literal 0 HcmV?d00001 diff --git a/samples/data/Blender_Suzanne2.jpg b/samples/data/Blender_Suzanne2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ff665ebe2cbe95c89b2f893568998948809ee931 GIT binary patch literal 25417 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 X4@bpgAk%i8IZV7ZdKYPv`oI6#4OHho literal 0 HcmV?d00001