<< Chapter < Page Chapter >> Page >
This module is about how we applied projective geometry to achieve the world-centered view from the camera-centered view.

2-d projective geometry

What is projective geometry

Projective Geometry was developed in the 17th century by Girard Desargues, a French mathematician. It is a type of geometry that is based upon the principles of perspective art (approximate representation of an image perceive by the eye on a flat surface). It deals with the properties and invariants of geometric figures under projection-any mapping of points in the plane that preserves straight lines.

Steps to implement 2-d projective geometry

In our case, we performed 2-D Projective Geometry on the image taken by a camera. We defined the location of the object we see in the camera image as the location on“camera plane”and the actual location of the object as the location on“world plane”. This is shown in figure 1 below.

Image Plane vs World Plane

The first step to implement 2-D Projective Geometry (i.e. maps camera plane onto world plane) is to calibrate many parameters of our located camera. This step is to find the location of the camera (distance + angles) from our designated world plane. This is essential to perform required calculations in the next step. We calibrated necessay parameters by running a program called“Camera Calibration tool”provided by Caltech. Details about this program can be found on its supporting website:

www.vision.caltech.edu/bouguetj/calib_doc/

Once we run the program to locate the camera's position, we will obtain a result that looks similar to the two figures below:

Besides the 2 figures above, we will also obtain all data necessary in the mapping process. These includes:

- Focal length, fc: measurement of how strongly camera converges or diverges light

- Principal Point, cc: the point where camera plane intersects the axis

Principal Point

- Skew Coefficient,α

- Distortions (image distortion coefficients), kc

- Camera Matrix, KK

Coordinate of the origin of the camera reference frame, Tc_1 - Surface normal vector of the plane of camera reference frame, Rc_1

Finally once we obtain all the necessary information, we are now ready to begin the mapping process:The mapping process is as followed (we also obtained these steps from Caltech):

  • Let P be a point space of coordinate vector XX = [X;Y;0] in the world plane (point on the right picture of figure 1)
  • Let XXc = [Xc;Yc;Zc] be the coordinate vector of P in the camera reference frame. Then we will get the relationship:

  • Let xn be the normalized image projection:

  • Also let the square of the distance:
  • After including lens distortion, the new normalized point coordinate xd is defined as follows:

Where dx is the tangential distortion vector:

  • Once distortion is applied, the final pixel coordinates x_pixel = [xp;yp] of the projection of P on the image plane is:

After we follow all the above steps, we will obtain the result as in figure 11. In this case, the process above maps chess board in the photo (left buttom figure) onto chess board on the world plane (right buttom figure). When the image of the car is mapped on to the world plane, it looks deformed. This is because the camera cannot tell the difference between the height and the depth of the object on the image plane. Therefore in this process, everything is assumed to be flat (zero height). This will become a problem later as we would not be able to locate exact position of the object.

Result of our mapping

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Elec 301 projects fall 2008. OpenStax CNX. Jan 22, 2009 Download for free at http://cnx.org/content/col10633/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Elec 301 projects fall 2008' conversation and receive update notifications?

Ask