Laboratory in Computer Vision

203.4720

Semester B
Thursday    15:00-18:00  

Course Web Page:

http://www.cs.haifa.ac.il/~rita/vision_lab_course/lab_course.htm

Dr. Rita Osadchy

e-mail: rita [at]cs [dot]haifa.ac.il
Office: Jacobs 410

ญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญParticipants

___________________________________________________________________________________________________________

Course Description

During this course you are expected to implement and present a graduate level project in Computer Vision. In the beginning of the course I will briefly introduce the projects and the material related to these projects. Then every student (possibly in pairs) will pick a project from a  list of suggested projects. After you decide on the project, each group will submit a project proposal, and will start working on the project. At the end of the course each group will be required to submit a project report and give a short presentation. The projects should be implemented in Matlab or C/C++. If you work in C/C++ you are allowed to use vision libraries for input/output and simple image processing. You will be required to show the source code you wrote and explain its structure. 

______________________________________________________________________

Important Dates:

Project Selection 

20/03/2013

Project Proposal and System Integration Design

25/04/2013

System Integration

Starts from 23/05/2013

Project Report and Presentation

TBD

           

 

Project Proposal

Prepare 15 min. presentation describing your project. Your proposal should answer the following questions:

The presentation will be given in class for all students.

 

Project Report

Your project report should address the following:

 

Project Presentation

Presentations will last about 30 minutes. Your presentation should cover the material in your project report, but in a suitable form for a talk. It should briefly describe the problem and approach, present the results, and then present the analysis of the results.  The presentation should be in ppt or pdf  format.

______________________________________________________________________

Projects

This year we will develop all modules of a face recognition system that uses representations compatible with privacy protecting mechanisms. All suggested projects are part of the system; thus the work requires close cooperation between all students in the course. Each group (two students) must choose three projects from the following list and rank them (1 most wanted and 3 least wanted). The choices and ranks should be sent by email to rita@cs.haifa.ac.il until 20/03/2013 (don't forget to send your name and ID). Project assignment will be done by the instructor following your requests but under the constraint of covering all the projects in the list. Project assignments will be published in the course web page shortly after the selection deadline. All projects require basic knowledge in image processing, the ability to read and understand a research (practical) paper, and good programming skills. The work on the project should start right after the project is assigned. All projects must be integrated into the system. The integration period starts on 23/05/2013 (meaning that your project must be mostly done by then). The interface language (C/C++ or Matlab) will be chosen at the Integration Design meeting (25/04/2013).

List of projects

1.      Building Database of Faces Nihad & Nimrod

2.      Face Registration Haim & Zahi

3.      Construction of Appearance Face Vocabularies Tony

4.      Construction of Spatial Face Vocabularies  Assaf & Omer

5.      Construction of 3D Face Vocabularies (using Kinect) Ilia & Shiran

6.      Implementation of the recognition algorithm  TBD

 

______________________________________________________________________

Resources

         Data base of faces original, here.

         Data base of faces after affine transformation, which brings 5 landmarks (left and right eye edges, left and right mouth edges, nose) to the same position in all faces, here.

         Implementation of SIFT descriptor, here.

         Code for landmark detection, here

 

 

______________________________________________________________________

Projects

Text Box:  Building a Database of Faces
 
Project Goal: 

Build a database of frontal and half profile images in controlled conditions.  The data base should contain at least 100 subjects with 6 images taken in two different sessions (at least several days a part).  The system for image acquisition will be set up in the Vision Lab (1st floor, Jacobs Building).
Project Tasks:
1.	 Set up the acquisition station (cameras, lights, person's seat…)
2.	Write an acquisition module
3.	Write a calibration module for the camera (position, illumination, color)
4.	Image acquisition
5.	Organization of the database and DB access module

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Text Box: Face Registration

 

  Project Goal: 
 	The recognition algorithm depends on careful positioning of a face into a canonical pose. A starting point to this process could be finding facial landmarks. This project deals with an implementation and testing of recent methods in face landmark detection.
 Project Tasks:
1.	Detect the face area in a given image (using face detector)
2.	Implement and test several methods in face landmark detection, choose one of them for the system.
3.	Position  a face into a canonical pose using the detected landmark.

More Details: http://gravis.cs.unibas.ch/publications/2011/ICCV2011_Amberg.pdf and http://www.ics.uci.edu/~xzhu/face/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Text Box: Construction of Appearance Face Vocabulary
   
  Project Goal: 

 Given a database of faces with the landmarks positions extract patches, extract patches and build an appearance vocabulary for each patch type.

  Project Tasks: 

1.	Choose most informative parts of a face (for frontal and half profile views).
2.	Develop a method for choosing exemplars of the patch that best span different  appearances. 

3.	Test the robustness of the representation under Hamming distance using the DB from project 1 and various image descriptors (no need to implement the descriptors).
 	More details about the approach: http://www.cs.haifa.ac.il/scifi/paper.html

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Text Box: Construction of Spatial Vocabulary

 

 Project Goal:
Given a database of faces with the landmarks positions discover discriminative spatial configuration features, and build their discretized distributions. One possible feature is the position of the facial part from the center of the face. 

Project Tasks: 
 	1.	Development of the other geometric features.
2.	Construction of the discretized distribution per feature.
3.	Testing the robustness of the representation under Hamming distance using the DB from project.
More Details: http://www.cs.haifa.ac.il/scifi/paper.html

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Text Box: Construction of 3D Face Vocabulary (using Kinect)
 
Note: The camera will NOT be provided. You can choose this project only if you have your own Kinect camera.
   Project Goal: 
   Surface information obtained from a 3D model of a face could improve the accuracy of recognition. However,  the 3D  model, used for this purpose  should be accurate. The problem is that accurate face 3D scanners are quite expensive. In this project we want to test the possibility of using a Kinect camera to obtain some 3D information which is robust enough to be used in the system in addition to the appearance and spatial features.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Text Box: Recognition Algorithm
 
    Project Goal:  
      Implement and test  face recognition algorithm described in http://www.cs.haifa.ac.il/scifi/paper.html.

   Project Tasks:
   
1.	Implement face representation by matching parts of a face (defined by the vocabularies above) and their spatial configurations to the vocabularies and concatenating the indexes of the matches into a single vector.
2.	Implement face matching by comparing the representation of the test image to the representation obtained from the registration image  of the same person using Hamming distance. 
3.	Test the recognition algorithm on a standard face database (TBD) and on the database obtained in project 1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

       

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MATLAB resources:

  Introductory Tutorials

MATLAB tutorial from Carnegie Mellon University

MATLAB tutorial from Indiana University

  Slightly more advanced Tutorials

  More complete references/tutorials/FAQs

 

Open CV library

Very useful computer vision library for C programmers:

http://www.intel.com/technology/computing/opencv/index.htm