Assignment 1: Geometric Camera Models & Calibration solved




I. Theoretical Problems: Total 10 points
Write a report on your solutions for the theoretical problems. This report can be handed in on
paper during the class before the due date, or can be added to the electronic pdf/Word report
of the theoretical part (submitted via the NYUClasses handin system).
Problem 1: Pinhole Camera
a ”A straight line in the world space is projected onto a straight line at the image plane”. Prove
by geometric consideration (qualitative explanation via reasoning). Assume perspective
b Show that, in the pinhole camera model, three collinear points in 3-D space are imaged into
three collinear points on the image plane (show via a formal solution).
Problem 2: Perspective Projection
See Fig. 1.4 from textbook on page 6 (pdf handouts) for reference.
a) Prove geometrically that the projections of two parallel lines lying in some plane Q
to converge on a horizon line H formed by the intersection of the image plane with the
plane parallel to Q
and passing through the pinhole.
b) Prove the same result algebraically using the perspective projection equation. You can
assume for simplicity that the plane Q
is orthogonal to the image plane (as you might see
in an image of railway tracks, e.g.).
Problem 3: Coordinates of Optical Center
Let O denote the homogeneous coordinate vector of the optical center of a camera in some
reference frame, and let M denote the corresponding perspective projection matrix. Show that
MO = 0. (Hint: Think about the coordinates of the optical center in the world coordinate
system, use the notion of transformations between world and camera, and plug this into the
projection equation.)
I. Practical Problem: Total 30 points
Problem 4: Camera Calibration
This objective of this assignment is to calibrate a (digital) camera so as to be able to capture
images of objects from known locations and with a known camera model.
Figure 1: Calibration setup: Take picture from object in world space and calculate world to
camera (extrinsic) and camera to pixel raster transformations (intrinsic).
Assignment Requirements:
1. Calibrate your own camera with a fixed focal length with two orthogonal checkerboard
planes (see Fig. 2). Real world coordinates (X,Y,Z) are measured via a tape measure or
ruler relative to a world coordinate origin of your choice and stored in a file (e.g., tape
checkerboard prints to a wall corner or a box, and choose an origin). Corresponding pixel
locations are obtained in the image, e.g. by using MATLAB function ginput() to acquire
image positions with mouse clicking, and show clicked position with function plot(). This
gives us the list of points in world space Pi = (x, y, c)
T and associated points in image
space pi = (u, v)
2. Collect a measurement of the distance of the optical center to the world coordinate origin
as it will help to discuss the parameters which you estimate. Make sure you don’t flip the
coordinate systems, i.e. best is to use world coordinates similarly to the camera coordinates
that point towards the camera.
3. A calibration pattern can be downloaded at
calib_doc/htmls/pattern.pdf. Best is to use two copies of the pattern and mount it
into a straight corner of a wall as shown in the image.
4. Implement the LSE algorithm (discussed in class, ignore radial distortion) to calibrate the
dataset, best is to use appropriate Matlab functions to solve the homogeneous overconstrained equation system (SVD).
5. Extract the intrinsic and extrinsic parameters from the calibration matrix following the
instructions from the slides, handouts and additional document S.M. Abdullah. Hint:
For simple cameras or cell phone cameras, you will need to search for the focal length in
the manufacturer’s instructions. E.g., a smartphone may have 3.85 mm fixed at aperture
f/2.8. Please note that using a camera’s optical zooming option results in an unknown
focal length, whereas a digital zoom simply reduces image quality by pixel replication. Best
is to avoid using any zoom but placing the camera close enough so that the calibration
pattern fills a major part of the image.
6. Reconstruct the image coordinates p from the world coordinates P using your estimate of
the calibration matrix. Compare the calculated pixel locations to the measured locations
and list (e.g. by percentage differences) and/or plot the differences.
7. Write a report including the following:
a) Brief description about your experimental procedure: data capturing and methods
used, type of camera, type of sensor, setup of LSE, solution strategy.
b) Intrinsic parameters.
c) Extrinsic parameters.
d) Discussion and critical assessment of your results: How plausible is each parameter?
e) Would we want compare the pixel density estimates α and β in terms of sensor size,
number of pixels per axis and focal length, we may have to look up those parameters
from manufacturer’s resources. A good web-site for sensor sizes is http://www., e.g.
Optional bonus question 5
You may take two pictures of the checkerboard calibration pattern, with slighly different camera
locations. Rerun the calibration for the second image and compare the intrinsic parameters
(extrinsic will differ since you changed your position).
Hardware Preparation/Software Installation: Calibration Pattern can be downloaded at http:
1. What you should turn in via NYUClasses hand-in:
Figure 2: Checkerboard mounted on wall corner with world coordinate system (green) and
sample points (red).
a) An electronic copy of the theoretical questions (scan or well readable good contrast
picture, use jpg or other compressed format).
b) A report in a printable pdf format including descriptions of how you coded it, images,
graphs and tables.
c) Matlab, Octave (or other) code that you used to calculate the calibration parameters,
including input images and input lists of points, e.g..