HomeTeachingProjectsPublications
Home arrow Teaching arrow Computer Vision
Computer Vision
Image Analysis and Synthesis (Milano), Prof. Caglioti, AA 2013/2014 PDF Print

This page contains materials about the seminars presented by me for prof. Caglioti's courses Image Analysis and Synthesis (Milano), academic year 2013/2014.

Here are the transcripts of the matlab sessions (in order of presentation).

  • Introduction to using matlab for imaging (if you are not familiar with matlab, you'll need to look some commands up, use the excellent online documentation). [link]
  • Use of homogeneous corrdinates for drawing a cube from six points, in perspective projection.  Covers points, lines, join of points, intersections of lines, vanishing points, simple drawing commands, image reading, clicking of points to get coordinates. [link]
  • use of homogeneous corrdinates for drawing a cube from four points, under parallel projection.  Additionally covers parallelism, incidence relations. [link]
  • Understanding conics under homogeneous coordinates. Covers conics, images and their range, incidence relation for conics, some pole-polar relations and simple linear transformations. [link]
  • Conic passing through 5 points.  Also covers the dual conic. [link]
  • Stitching of two images of the same scene taken with different camera rotation, but still without moving the camera center.  Then you have an homography which relates the two images. [link]
  • The example shown in class for 4-dimensional matrices representing videos (dimensions being (rows, columns, channels, frames)) used data from the Weizmann Action dataset here.
  • The example shown for multispectral images (i.e. more than three channels) was an image from the Landsat Enhanced Thematic Mapper.

Additional matlab sessions, not presented in class:

  • Projection of points using the camera matrix.  Also covers crossratio invariance [link].
 
Computer Vision (Como) and Image Analysis and Synthesis (Milano), Prof. Caglioti, AA 2011/2012 PDF Print

This page contains materials about the seminars presented by me for prof. Caglioti's courses Image Analysis and Synthesis (Milano) and Computer Vision (Como), academic year 2011/2012.

The page will be updated shortly after each seminar with new material. Other entries in this page link to material from previous years; in some cases, such material may have been updated.

 


Homework link (published Dec, 15 2011): ZIP .  Any update and FAQ will be posted here.

 

NEW Clarification (Jan, 12 2012).  In point B.5: by detector we mean a system that automatically determines the number and position in the image of the markers' centers (i.e. what was discussed in point B.4).  We don't require distinguishing between star and triangle markers (which is asked in point C.3 optional).


 

Here are the transcripts of the matlab sessions (in order of presentation).

  • Introduction to using matlab for imaging (if you are not familiar with matlab, you'll need to look some commands up, use the excellent online documentation). [link]
  • Use of homogeneous corrdinates for drawing a cube from six points, in perspective projection.  Covers points, lines, join of points, intersections of lines, vanishing points, simple drawing commands, image reading, clicking of points to get coordinates. [link]
  • use of homogeneous corrdinates for drawing a cube from four points, under parallel projection.  Additionally covers parallelism, incidence relations. [link]
  • Understanding conics under homogeneous coordinates. Covers conics, images and their range, incidence relation for conics, some pole-polar relations and simple linear transformations. [link]
  • Conic passing through 5 points.  Also covers the dual conic. [link]
  • Stitching of two images of the same scene taken with different camera rotation, but still without moving the camera center.  Then you have an homography which relates the two images. [link]
  • Projection of points using the camera matrix.  Also covers crossratio invariance [link].
  • The example shown in class for 4-dimensional matrices representing videos (dimensions being (rows, columns, channels, frames)) used data from the Weizmann Action dataset here.
  • The example shown for multispectral images (i.e. more than three channels) was an image from the Landsat Enhanced Thematic Mapper.

 

 
Computer Vision (Como) and Image Analysis and Synthesis (Milano), Prof. Caglioti, AA 2010/2011 PDF Print

This page contains materials about the seminars presented by me for prof. Caglioti's courses Image Analysis and Synthesis (Milano) and Computer Vision (Como), academic year 2010/2011.

The page will be updated shortly after each seminar with new material. Other entries in this page link to material from previous years; in some cases, such material may have been updated. 


 Homework link (published Dec, 17 2010): PDF .  Updates and Q&A about the homework:

  • Dec, 30 - Errata: Part 1 point 8: "consider point 5" should read "consider point 6" instead

  • Feb, 12 - The last of the linked images, which is needed for one of the points of the homework, is not online anymore.  You can now download it here .

  • NEW Mar, 2 - Homework results are being notified right now.  You can find a well-done homework (by Claudio Caccia) as a reference here (or just have a look at the PDF).  Other examples by Andrea Salvi [PDF] and Andrea Romanoni (partly implemented with OpenCV) [ZIP].

 Here are the transcripts of the matlab sessions (in order of presentation).

  • Introduction to using matlab for imaging (if you are not familiar with matlab, you'll need to look some commands up, use the excellent online documentation). [link]
  • Use of homogeneous corrdinates for drawing a cube from six points, in perspective projection.  Covers points, lines, join of points, intersections of lines, vanishing points, simple drawing commands, image reading, clicking of points to get coordinates. [link]
  • use of homogeneous corrdinates for drawing a cube from four points, under parallel projection.  Additionally covers parallelism, incidence relations. [link]
  • Understanding conics under homogeneous coordinates. Covers conics, images and their range, incidence relation for conics, some pole-polar relations and simple linear transformations. [link]
  • Conic passing through 5 points.  Also covers the dual conic. [link]
  • Stitching of two images of the same scene taken with different camera rotation, but still without moving the camera center.  Then you have an homography which relates the two images. [link]
  • An overview of the SVD and its properties, including the use for minimization and line fitting, is on the slides by Darko Zikic (Technical University Munich).
  • Find the images of the eiffel tower and the construction to find the height here.
  • Projection of points using the camera matrix.  Also covers crossratio invariance [link]. Extension to drawing a checkerboard [link]. Utility matlab functions for projecting points properly (checking that they are in front of the camera), and for generating a camera matrix given few key vectors frequently used in computer graphics.
  • New: example of matlab robustfit usage: [link]
  • New: code for finding circles using hough.  Note the last part, which implements nonmaxima suppression.
 
Computer Vision (Como) and Image Analysis and Synthesis (Milano), Prof. Caglioti, AA 2009/2010 PDF Print

Here are the transcripts of the matlab sessions (in order of presentation).

  • Use of homogeneous corrdinates for drawing a cube from six points, in perspective projection.  Covers points, lines, join of points, intersections of lines, vanishing points, simple drawing commands, image reading, clicking of points to get coordinates. [link]
  • use of homogeneous corrdinates for drawing a cube from four points, under parallel projection.  Additionally covers parallelism, incidence relations. [link]
  • Understanding conics under homogeneous coordinates. Covers conics, images and their range, incidence relation for conics, some pole-polar relations and simple linear transformations. [link]
  • Conic passing through 5 points.  Also covers the dual conic. [link]
  • Projection of points using the camera matrix.  Also covers crossratio invariance [link]. Extension to drawing a checkerboard [link]. Utility matlab functions for projecting points properly (checking that they are in front of the camera), and for generating a camera matrix given few key vectors frequently used in computer graphics.
  • Stitching of two images of the same scene taken with different camera rotation, but still without moving the camera center.  Then you have an homography which relates the two images. [link]
  • The solved exercise about two vertical sticks and their shadows is at page 3 of this PDF.
  • Find the images of the eiffel tower and the construction to find the height here.
  • Dec 17 2009: several students which could not follow the short presentation about video processing asked for some cues for solving the homework. None of the things which were presented was fundamental: most were just implementation tricks for writing better code.  Here are the most important.

    • Read frames using imread inside a cycle. Generate the filename using sprintf.

    • It may be helpful to place all images in the same matrix (careful: this does not scale to longer videos!).  With color data, that will be a 4 dimensional matrix (rows, columns, rgb channels (3), frames).  An advantage of this is that you can then use the usual functions like sum, mean, median.  Look in the help for the possible syntaxes of these functions: you can specify which dimension they operate on!

    • If you see unexpected results, most probably is due tu unexpected datatypes: for example, the mean funciton returns double even if fed with uint8 (and that's a reasonable behavior, BTW).  Related: do not subtract uint8 matrices, as you can't get negative values this way. One option is to use the double datatype from the beginning to the end and just forget about integers; this will save a bit of trouble but increases memory consumption a lot.

  • Jan 4, 2010.  Answers to frequently asked questions.
    • The "background" in part 2 step 5, is the image of the scene without the moving object.  You can obviously re-use the result in the previous step, if you explain why this is meaningful.
    • Jan 7 2010: Consider the result of background subtraction:
      • Where the result of the subtraction is 0 or near to 0, the image and background were similar, thus we have a pixel which is likely to be background.
      • Where the result of the subtraction is far from 0, the image and background were significantly different, thus we have a pixel which is likely to be foregound ("object").
      • This should suggest that you need to use an absolute value somewhere. Do you really care whether the result of the subtraction is -20 or +20?
    • When you use regionprops after background subtraction and binarization, for detecting the ball centroid in the video frames, you may get many regions for each frame.  This is due to problems in the binarization.  You can ask regionprops to also compute the area of each region, and consider the largest region for each frame as the region you are interested in.  Or, you may apply morphological processing like binary opening or closure before applying regionprops.
    • For drawing a 3D object on the sheets of paper, you need to find the vertical vanishing point.  You can do this if you know the horizon line and the camera intrinsic parameters.
    • Even if you can not solve few points, you should still submit the homework and try to complete it as much as possible!

If you have any question or spot any error, please contact me.

You can find the materials by Giacomo Boracchi on image processing here.

Dec 11 2009: Homework available here.  Includes document (with requirements and rules) and data.

NEW Feb 5 2010: a couple of well-done homeworks as a solution example.

  • By Fabio Beltramini (in italian).
    Note that in Part 3, point 2 there is an imprecision as the following sentence is false: "le rette sarebbero state parallele e si sarebbero intersecate in un solo punto solo se l’immagine della traiettoria fosse stata una parabola e non una generica conica".
  • By Giovanni Condello (in english).
    Note that the first section in Part 1, point 6 is wrong, as the world -> image transform is more general than an affine transform.
 
Image Analysis and Synthesis (Milano), Prof. Caglioti, AA 2008/2009 PDF Print

Some useful materials:
Lectures by Giacomo Boracchi on image processing are here.
The first matlab sessions are the same as last year and are here.

IAS Homework is available here

IAS Project proposals available here 

 
Advanced Topics of Image Analysis (Milano), Prof. Caglioti, AA 2007/2008 PDF Print
please refer to vision.elet.polimi.it for course info and materials
 
Image Analysis and Synthesis (Milano), Prof. Caglioti, AA 2007/2008 PDF Print

Oct 23 

Homework rules and assignment posted at vision.elet.polimi.it .

Temporarily published matlab sessions about homogeneous coordinates (Oct, 18) here and here

 
Smile PDF Print

funny comic

 
Computer Vision (Como): Homework PDF Print

The homework deadline passed. See the homework text at vision.elet.polimi.it .

 
Computer Vision (Como), Prof. Caglioti, AA 2006/2007 PDF Print

For material and exercises check prof Caglioti's departmental page.

Mar, 22:

Download your Matlab licensed copy from the www.cia.polimi.it website -> "Software Licenziato".  Download r2006a if possible. Remember to install at least the "Image Processing Toolbox".

Check polimi's computer rooms and installed software here.

 
Matlab session about robust line fitting PDF Print

I annotated and published the matlab session about robust line fitting I demonstrated during the Image Analysis and Synthesis lessons at Jan, 17 and Jan, 18.  Check it out here !

 
Thesis proposal PDF Print

Find the description here . Contact me for further info! Note that the project should be started ASAP. 

 
Image Analysis and Synthesis exercises translated to english PDF Print

Here you can download english translations of most Image Analysis and Synthesis exercises found on prof. Caglioti's page.

Update! Everything in two files: a pdf and a doc (download both, they contain different exercises). . 

 
Thesis and Project Proposals PDF Print

There are several thesis and project possibilities about our research topics: check the ppt slides (13 MB, english) or the PDF poster (italian) and feel free to contact us to ask any question. Also, tell us if you have an interesting idea for a project or thesis.

 
Solved exercise (Visione Artificiale Como, geometry question, Sept 6 2006) PDF Print

Problem: The image a of a circle on a plane π is given, as well as the image c of its center.  You also see the image of a point P lying on π.  Consider an arbitrary image line h through c, and set a 2D reference frame on π such that its x axis projects to h.  Provided that the radius of the circle is known, how can you find the coordinates of P in the reference frame we just defined?

Solution sketch: h crosses the image of the circle it two points p1 and p2; let t1 and t2 be the tangents to c in p1 and p2: they can be interpreted as the projections of two parallel lines on π, perpendicular to the x axis of the defined reference frame.  t1 and t2 intersect at a vanishing point vy, which represents the direction of the y axis.  By connecting vy to c, you find two intersections with a; by intersecting the tangents to c at these two points, you find the vanishing point vx, direction of the x axis.  You can therefore find P's projection on the x axis and on the y axis in the image, then measure coordinates by means of the cross-ratio.

 
Projective Geometry and Architecture reloaded (Solved short exercise) PDF Print

Another short geometric problem inspired by a work by Felice Varini (see previous exercise).

Problem: consider the following artwork:

Artwork

Question: is there a "correct" viewpoint in the room even if you remove the (flat) mirror?

Read more...
 
Projective Geometry and Architecture (Solved mini-exercises) PDF Print

Swiss/French artist Felice Varini [difficult navigation on the site; choose "index général" for artwork list]  paints walls (both indoor and outdoor) in such a way that, when viewed from a particular viewpoint, perspective effects vanish and simple, flat geometrical patterns appear.

Perspective artwork Colorful artwork ellipse

How does this happen?  Most is explained by basic projective geometry...

Read more...
 
Esercizio risolto: lunghezze in proiezione ortografica PDF Print

Problema: Data questa foto aerea/satellitare della Torre Eiffel, conoscendone l'altezza complessiva, ricavare l'altezza delle due piattaforme intermedie.  Ipotizzare che possano essere ignorati gli effetti prospettici (proiezione ortografica), dal momento che il centro ottico è molto lontano dalla scena, relativamente alle lunghezze coinvolte.

Click to see real size
Immagine originale (da Google Earth)

Read more...
 
Esercizio risolto: generatrice del contorno di un cono PDF Print

Problema: che forma ha la curva generatrice del contorno di un cono, in un'immagine prospettica?

Read more...