CAP5415 - Computer Vision
Fall 2005
Monday Wednesday 3pm-4pm
Instructor: Dr. Alper Yilmaz (yilmaz at cs.ucf.edu)
Room: CSB 250
Office Hours: 2pm-3pm Monday Wednesday
Grader: Wade Spires (wspires at cs.ucf.edu) 
  1. Introduction and course objectives
  2. Lecture 2 (August 24, 2005)
    • Imaging geometry, perspective projection etc.
    • Reading from Course text book pp. 26-40
    • Homework assignment (due date: September 7, 2005)
  3. Lecture 3 (August 31, 2005)
    • Imaging geometry, affine camera models, radial distorsion
    • Estimating camera parameters
    • Rotation around arbitrary axis
    • Homework assignment (due date: September 14, 2005)
    • CORRECTION:  2nd slide rotation matrices are corrected!
      • In last class and today's slides the rotations were defines as follows:
        • Rotation around z-axis is in the counter-clock wise direction
        • Rotation around x-axis is in the clock wise direction
        • Rotation around y-axis is in the clock wise direction
      • Now it is updated to be counter clock wise in all 3 axis. In your assignments you can do it either way.
      • Another correction is in the matrix notation of the intrinsic camera parameters. ox and oy should be on the last column of the matrix. (new)
  4. Lecture 4 (September 7, 2005) 
    • Binary, gray level and color images.
    • Image noise.
    • Derivatives, filtering.
  5. Lecture 5 (September 12, 2005)
    • Blurring, noise removal.
    • Image derivatives and edge detection.
    • Programming assignment (due date: September 19, 2005)
      • Image Viewer for windows
      • Sample image
      • Implementation of sobel and prewitt edge detector.
      • Deliverables:
        • Report: For both sobel and prewitt the report should include blurred images in x and y directions, derivative images in x and y directions, the gradient magnitude as image, and the edge maps for various thresholds.
        • Source code.
  6. Lecture 6 (September 14, 2005) 
    • Marr Hildrett edge detector.
    • Canny edge detector.
    • Homework assignment (due date: September 28, 2005).
    • 1st Programming Project (due date: October 17, 2005)
      • Implementation of Canny Edge Detector.
  7. Lecture 7 (September 19, 2005)
    • Region segmentation
    • Connected component analysis
    • Reading: Chapter 3 from Dr. Shah's lecture notes
    • Programming assignment (due date: September 28, 2005)
      • Sample image
      • Implementation of histogram based segmentation.
      • Deliverables:
        • Report: Show the histograms after smoothing 5 times with a gaussian filter (.05 .25 .40 .25 .05), and show the resulting binary region images.
        • Hardcopy of the source code.
  8. Lecture 8 (September 21, 2005) 
    • Image segmentation: seed segmentation, region growing, region split and merge.
    • Likelihood ration test and phagocyte algorithm.
    • CORRECTION:  Likelihood ratio test is corrected!
      • The ratio is P(H2)/P(H1)
  9. Lecture 9 (September 26, 2005) 
    • Region properties (segments in an image or objects).
      • Area, centroid, perimeter, moments, compactness, orientation.
      • Homework assignment (due date: October 10, 2005)
        • Look at lecture 10 slides 
  10. Lecture 10 (September 28, 2005)
    • Derivation of  orientation (elongation) of a region
    • Gaussian Pyramid
    • Laplacian Pyramid
    • Programming assignment (due date: October 12, 2005)
      • Lenna image
      • Implementation of Gaussian Pyramid.
      • Deliverables:
        • Report: Write a report showing all the resolutions of Gaussian pyramid at least on two different examples.
        • Hardcopy of the source code.
  11. Lecture 11 (October 3, 2005)
    • Review
  12. Mid-Term Exam 1 (October 5, 2005)
  13. Lecture 12 (October 10, 2005)
    • Hough Transform
      • Line fitting
    • Reading: Section 5.2 from text book
    • Programming assignment (due date: October 26, 2005)
      • Sample image
      • Implementation of Hough transform. Your program should use the one of the  edge detectors you have written to find the edges first, than apply Hough transform on the edgemap 
      • Deliverables:
        • Report: Write a report which shows the detected edges, and the (theta,rho) voting matrix.
        • Hardcopy of the source code.
  14. Lecture 13 (October 12, 2005) 
    • Hough Transform (continued).
      • Circle fitting
      • Generalized hough transform.
      • Medial axis transform
      • Interest point detectors
  15. Lecture 14 (October 17, 2005) 
    • Optical flow
      • Horn and Schunk.
      • Schunk
      • Lucas and Kanade
  16. Lecture 15 (October 19, 2005)
    • Global Motion
      • Anandan's approach
    • Programming assignment (due date: November 16, 2005)
      • Sample images flower garden sequence <mpeg>
      • Implementation of Lucas Kanade. Create 2 levels of pyramid and for each level compute optical flow independently. 
      • Deliverables:
        • Report: Write a report which shows the input images, and computed flow fields for each pyramid level independently. You can use matlab "quiver" function to show the flow field.
        • Hardcopy of the source code.
  17. Lecture 16 (October 26, 2005) 
    • Block based optical flow
    • Token based optical flow
  18. Lecture 17 (November 1, 2005) 
    • Structure from motion
      • Orthographic displacement model
      • Perspective displacement model
        • Hager, Jepson's approach
    • Homework assignment (due date: November 9, 2005)
    • 2nd Programming Project (due date: December 5, 2005)
      • Implementation of Anandan's approach for global motion compensation.
      • Sample test images head sequence, claire sequence.
      • See slides for deliverables.
  19. Lecture 18 (November 3, 2005) 
    • Stereopsis
      • Simple stereo system
      • Token based stereo
        • Marr-Pogio approach
      • Correlation based stereo
        • Barnard's approach
  20. Lecture 19 (November 7, 2005) 
    • Revisit Programming project #2
  21. Lecture 20 (November 9, 2005)
    • Revisit Generalized Hough Transform
    • Revisit Motion
  22. Lecture 21 (November 14, 2005)
    • Epipolar Geometry
      • Essential Matirx
      • Fundamental Matrix and their derivation
  23. Lecture 22 (October 16, 2005)
    • Review
  24. Midterm Exam 2 (21 November 2005)
  25. Lecture 23 (November 28, 2005)
    • Image segmentaion using graph cuts
  26. Last day for bonus assignment is Friday 4pm.
  27. FINAL December 7, 2005, Time 1.00pm-3.50pm., Place: Regular classroom

Course Goal
This course is introductory level. It will cover the basic topics of computer vision, and introduce some fundamental approaches for computer vision research. 

  • Imaging Geometry
  • Camera Modeling and Calibration
  • Filtering and Enhancing Images
  • Region Segmentation
  • Color and Texture
  • Line and Curve Detection
  • Shape Analysis
  • Stereopsis
  • Motion and Optical Flow
  • Structure from X
  • Grading Policy (Updated 11 September 2005)
        Biweeky Assignments: 20%
        Programming Assignments: 20% 
        Programming Projects: 20% 
        Mid-Term Exam: 20%
        Final Exam: 20%

    Grading: (Updated 3 October 2005)
    The final grades will be given in the form of a+, a-. The conversion table is given below.

    100 95 a+
    94 90 a-
    89 80 b+
    79 70 b-
    69 .. c

    Prerequisites: A good background in calculus, geometry, linear algebra, programming in MATLAB or C.

    The University Golden Rules will be observed in this class. Copying or Plagiarism is violation of the Golden Rules.