乐趣区

关于图像识别:3D-Computer-Vision

3D Computer Vision
Programming Assignment 2 – Epipolar Geometry
You will upload your codes and a short report (PDF) in a zip file to the NewE3 system. Grading will be done
at demo time (face-to-face or Skype).
A C++ Visual Studio project is provided. To build the code, install VS 2019 (Community). When open the
solution file (project2.sln), be sure NOT to upgrade the Windows SDK Version nor the Platform Toolset:
The project should be buildable and runnable on a Windows system. Your tasks are:

  1. [2p] For the test stereo images (pictures/stereo1_left.png , stereo1_right.png), find 8 matching pairs of
    2D points. List them as g_matching_left and g_matching_right. Note: x and y are in [-1,1] range. You
    can define the matching manually or
    [Bonus: +1~2p to mid-term] use off-the-shelf matching methods (such as OpenGL feature matching or
    others). The bonus amount depends on how well you understood and explains your matching method.
  2. [5p] Implement the normalized eight-point method in EpipolarGeometry() to calculate the fundamental
    matrix (same as essential matrix). Remember to fill your result in g_epipolar_E To verify your result, the
    eight“*multiply:”stdout should output values very close to zero (around e-6 ~ e-7). The rendering
    should look like:
    (Here the 8 matching are the 8 vertices of the“cube”. But your matching can be anything.)
  3. [1p] Explain what line 382-389 do? What does the“multiply”result means? Why should all the multiply
    values be (close to) zero?
  4. [3p] Download the OpenCV sfm module source code at https://github.com/opencv/ope… Go
    to \modules\sfm\src\libmv_light\libmv\multiview. Explain the following functions:
    FundamentalFromEssential () in fundamental.cc [1p].
    MotionFromEssential() in fundamental.cc [1p].
    P_From_KRt () in projection.cc [1p].
    Note:“HZ”means the textbook“Multiple View Geometry in Computer Vision”by Richard Hartley and
    Andrew Zisserman and a pdf is provided for your reference.
退出移动版