This page is under construction but is almost complete. Vision Course Page.

Quick Links: Demos Solutions Topics Marks Evaluation Texts Announcements
Assignments Midsemester Course Eval
Lecture hours: Slot 6. Thursday hour is a back up.
Lab: There is no formal lab hour, but note the programming assignments. Venue: Seminar room(default) ... F12 (sometimes)
  • What I will cover next:
    1. I am done. Thank you for the course. I certainly enjoyed teaching.
  • Latest marks.
  • Recent Announcements
    • Please remember to add your references to your documentation of lecture notes. Thanks.
    • Please remember what I had said before: Your assignments MUST adhere to the Java Vision Toolkit specs.
    • Status of your project/programming assignment: Deadline May 3. Please confirm.
      Janees/Vinay: Optical Flow.  Please look at the Intel Computer vision toolkit!
      Vineet/Naveen: Extensions to the toolkit.
      Jagdish/Takshak: Traffic footage.
      Sunil/Rajesh: Stereo.
      Ganesh: ?? Segmentation ??
      
    • End semester exam on Monday April 23 at 2.30 PM. You can bring one A4 sized sheet of paper with you.
  • Topics covered so far.
    1. Introduction to Computer Vision.
    2. Method of Lagrange multipliers and application to math problems. Source: any advanced math book. Our notes on this topic.
    3. Funtionals, and basics of calculus of variations. Source: Horn, appendix (see the derivation reproduced here). The appendix does not contain the example I gave (PROVE that the curve of shortest length connecting two fixed points is a line). The Euler-Lagrange Method. The bottom line on how to use the method.
    4. Method of Lagrange multipliers applied to optical flow (discrete case). Source: Horn, Chapter on Motion. Our notes on this topic.
    5. Getting lines from pixels. Hough Transform. Source: (For example) Ballard and Brown book. Our notes on this topic.
    6. Getting edgels from images. The Canny detector. J. F. Canny. A computational approach to edge detection. IEEE Trans. Pattern Analysis and Machine Intelligence, pages 679-698, 1986. Our notes on this topic.
    7. Obtaining ellipses from edgels. PDF source for the theory.
    8. Video footage on the traffic problem. Specs (HTML). Specs (DOC version)
    9. General curve fitting -- a vision approach. Greedy approach. Dynamic Programming approach: Slides Theory. Teaching material from Sussex university. Euler-Lagrange approach.
    10. Intro to color. Our notes on this topic. Color segmentation. Basic idea. Normalisation. K-means and the local algorithm. Theory in TeX form.
    11. More on colour. Colour reduction. Color FAQ.
    12. Camera calibration.
    13. A brief intro to SVD for Computer Vision. Our notes on this topic.
    14. Stereo: Intro. Epipolar geometry. Solving for the fundamental matrix. Our notes on this topic.
    15. Stereo: Solving the correspondance problem. Our notes on this topic.
    16. Stereo: Solving for the camera matrices. Our notes on this topic.
    17. Object Recognition.
  • Demos, samples.
    1. Look at the information in the Java image toolkit. Download the toolkit.
    2. Earlier, deprecated versions of the toolkit has some documentation and samples. Look at these, but use the above.
    3. Also look at examples constructed by your friends.
    4. Link from Rajesh/Sunil on how to work with mpeg decoders in Java.
    5. Look at the greedy algorithm. And this is another example.
    6. Try out this cute demo.
    7. K-means. Code from G. Naga Kiran. Other (thanks, Sunil) algorithms not discussed in class. Rutgers.
    8. Stereo. The Autostreogram FAQ. More information is also available here.
  • Tasks. Assignments are not optional. You MUST submit every assignment (even if it is late) to be considered ineligible for a fail grade.
    1. Please send me your correct roll numbers.
    2. Thought experiment. Design an experimental computer vision setup that will enable you to determine how many cars, trucks, or two-wheelers have passed an intersection in a fixed amount of time. Use pixel area and optical flow as cues. Due date: Coming Monday Jan 22. Show the output on a single A4-sized paper.
    3. Write a program to read in an MPEG image.
    4. Detect a tennis ball in the pictures similar to that scanned by Sunil. Venus and Sampras
    5. Homework. Convert the Euler Lagrange necessary condition for the snake into a matrix equation. Due on Monday, Feb 12 before the class.
    6. Homework. Show that the image coordinates can be related to the world coordinates by a matrix. Due Thu Mar 15
    7. Homework. Find out the coordinates of the midpoint of the shortest segment joining two rays. Write a program to output the same. The input is two rays given as two vectors x1 y1 z1 x2 y2 z2 all on one line.
  • Notes on evaluation.
    1. Collaboration: By default, you may not discuss assignments with friends (or anyone else for that matter); you are expected to implement your own solutions. On the programming project, you are permitted (and encouraged) to form teams of two people and partition your work among the team members. Teams may discuss their project with other teams, but may not share code. By reading these lines, you agree to these terms :-)
    2. Attending the class is optional.
    3. If you miss an exam/quiz, your marks will be rescaled (based on other assignments) only for a medical reason (otherwise a zero). For all assignments PUT TOGETHER, they have two "late submission" days. Otherwise an exponential penalty function is applied to late submissions. All submissions are compulsory.
    4. Midsem: 15% (Regular scheduled slots for all courses)
    5. Programming assignments (in Java only!): >=15%
    6. Course project: <= 20%
    7. Final exam: <= 50%
  • Texts/References
    1. Vision by Nalwa (library on 2nd floor)
    2. Robot Vision by Horn (in study room section of the library)
    3. Three Dimensional Computer Vision by Faugeras
    4. Computer Graphics: Principles and Practise, Second Edition. Foley, van Dam, Feiner and Hugues. Addison Wesley. 1990.
    5. Lots of information on the computer vision home page.
    6. Online book on image processing.
  • Old Announcements
    • Shortest line segment assignment: some comments. Check out if your program can handle coplanar rays, parallel rays, rays that intersect only if extended backwards. I'd appreciate if anyone can volunteer to fix all such cases. Vinay has done this.
      vineet: basic case fails
      jagdish : basic case fails. late.
      janees basic works/parallel line fails
      naik: basic works/parallel case fails
      navin basic works/parallel fails. late.
      sunilgk basic works/parallel case: analysed somewhat
      takshak basic fails. 
      vinay: basic fails, paralel case works. late
      hare: basic ok, paralel case works somewhat.
      
    • If there is any topic you want me to cover, please let me know now.
    • Homework: Due Thursday 9AM. Slide the answer below the door. Email the program.
    • Midsem Tips: Please write cleanly your answers on the question paper provided. Only those sheets will be graded.
    • Commit on groups to solve the two problems posed for this semester: Naik/Sunil Vinay/Janees Vineet/Navin Takshak/Jagdish and Ganesh
    • Homework due on Monday. Has been graded. See the marks page.
    • Please check the links on this pages. For example, check out the computer vision home page -- lots of info here.
    • I have got the video cd for the traffic problem. We will meet at 9AM on Thursday to discuss this. Here is a typical frame.
    • I'd like you to read this web page before your classes. For instance, note carefully the date for your midsemester exam. There will be NO makeup exam.
    • Once in a while there will be some pictures, on the basis of which I will conduct the lectures.
    • Does some one want to volunteer to taking my handwritten notes and churn them into electronic documents?
  • Solutions.
    1. Solution from Vineet on the thought experiment.
    2. Solution from Vinay on Euler Lagrange.
    3. Solution from Rajesh on camera calibration.
  • Mid semester Course Evaluation.